hare

[hare] The Hare programming language
git clone https://git.torresjrjr.com/hare.git
Log | Files | Refs | README | LICENSE

commit cda5dc501bd4cee08fd24d08208a16547ba44bc1
parent 347529391e4198744e984f99d148fa6a1aefc962
Author: Ember Sawady <ecs@d2evs.net>
Date:   Fri, 29 Sep 2023 23:30:08 +0000

simplify copyright headers

use SPDX-License-Identifier and only provide a (c) Hare authors (with
the goal of helping people get back to the stdlib from a vendored copy)
rather than trying to keep an author list up to date. also enforce that
the headers exist and have the right format in ci

Signed-off-by: Ember Sawady <ecs@d2evs.net>

Diffstat:
M.builds/alpine.yml | 3+++
Mascii/ctype.ha | 5++---
Mascii/string.ha | 6+++---
Mascii/valid.ha | 6+++---
Mbufio/scanner.ha | 7+++----
Mbufio/scanner_test+test.ha | 3+++
Mbufio/stream.ha | 8+++-----
Mbufio/stream_test+test.ha | 3+++
Mbytes/contains.ha | 6++----
Mbytes/equal.ha | 4++--
Mbytes/index.ha | 6++----
Mbytes/reverse.ha | 4++--
Mbytes/tokenize.ha | 7+++----
Mbytes/trim.ha | 3+++
Mbytes/two_way.ha | 5+++--
Mbytes/zero.ha | 5+++--
Mcmd/hare/arch.ha | 3+++
Mcmd/hare/build.ha | 3+++
Mcmd/hare/build/gather.ha | 3+++
Mcmd/hare/build/queue.ha | 3+++
Mcmd/hare/build/types.ha | 3+++
Mcmd/hare/build/util.ha | 3+++
Mcmd/hare/cache.ha | 3+++
Mcmd/hare/deps.ha | 3+++
Mcmd/hare/error.ha | 3+++
Mcmd/hare/main.ha | 6+++---
Mcmd/hare/util.ha | 3+++
Mcmd/hare/version.ha | 3+++
Mcmd/harec/context.ha | 6+++---
Mcmd/harec/errors.ha | 6+++---
Mcmd/harec/gen.ha | 7+++----
Mcmd/harec/genutil.ha | 5+++--
Mcmd/harec/main.ha | 7+++----
Mcmd/harec/qbe.ha | 6+++---
Mcmd/harec/qtype.ha | 6+++---
Mcmd/haredoc/arch.ha | 3+++
Mcmd/haredoc/doc/color.ha | 5+++--
Mcmd/haredoc/doc/hare.ha | 7+++----
Mcmd/haredoc/doc/html.ha | 9++-------
Mcmd/haredoc/doc/resolve.ha | 7+++----
Mcmd/haredoc/doc/sort.ha | 6+++---
Mcmd/haredoc/doc/tty.ha | 7+++----
Mcmd/haredoc/doc/types.ha | 6+++---
Mcmd/haredoc/doc/util.ha | 6+++---
Mcmd/haredoc/error.ha | 3+++
Mcmd/haredoc/main.ha | 8+++-----
Mcmd/haredoc/util.ha | 3+++
Mcmd/haretype/main.ha | 5+++--
Mcmd/ioctlgen/main.ha | 3+++
Dcontrib/contributors.sh | 48------------------------------------------------
Mcrypto/+test/authenc_test.ha | 5+++--
Mcrypto/aes/+test/gcm.ha | 3+++
Mcrypto/aes/+test/ni_test+x86_64.ha | 3+++
Mcrypto/aes/+x86_64/ni.ha | 3+++
Mcrypto/aes/aes+x86_64.ha | 5+++--
Mcrypto/aes/aes.ha | 5+++--
Mcrypto/aes/aes_ct64.ha | 5++---
Mcrypto/aes/block.ha | 5+++--
Mcrypto/aes/cbc+test.ha | 6+++---
Mcrypto/aes/ct64+test.ha | 6+++---
Mcrypto/aes/ctr+test.ha | 6+++---
Mcrypto/aes/rt+test.ha | 6+++---
Mcrypto/aes/xts/+test.ha | 5+++--
Mcrypto/aes/xts/xts.ha | 5+++--
Mcrypto/argon2/+test.ha | 6+++---
Mcrypto/argon2/argon2.ha | 3+++
Mcrypto/authenc.ha | 6+++---
Mcrypto/bcrypt/+test.ha | 3+++
Mcrypto/bcrypt/base64.ha | 7+++----
Mcrypto/bcrypt/bcrypt.ha | 7+++----
Mcrypto/bigint/+test/arithm_test.ha | 3+++
Mcrypto/bigint/+test/encoding_test.ha | 3+++
Mcrypto/bigint/+test/monty_test.ha | 2++
Mcrypto/bigint/+test/utils.ha | 3+++
Mcrypto/bigint/arithm.ha | 3+++
Mcrypto/bigint/encoding.ha | 3+++
Mcrypto/bigint/monty.ha | 3+++
Mcrypto/bigint/types.ha | 3+++
Mcrypto/bigint/util.ha | 3+++
Mcrypto/blake2b/+test.ha | 8+++-----
Mcrypto/blake2b/blake2b.ha | 7+++----
Mcrypto/blake2b/vectors+test.ha | 4++--
Mcrypto/blowfish/+test.ha | 3+++
Mcrypto/blowfish/blowfish.ha | 6+++---
Mcrypto/blowfish/const.ha | 5++---
Mcrypto/chacha/+test.ha | 5+++--
Mcrypto/chacha/chacha20.ha | 5+++--
Mcrypto/chachapoly/chachapoly.ha | 5+++--
Mcrypto/chachapoly/encryption+test.ha | 5+++--
Mcrypto/cipher/block.ha | 5++---
Mcrypto/cipher/cbc.ha | 6+++---
Mcrypto/cipher/cipher.ha | 4++--
Mcrypto/cipher/ctr.ha | 6+++---
Mcrypto/cipher/gcm.ha | 5+++--
Mcrypto/cipher/ghash.ha | 3+++
Mcrypto/cipher/stream.ha | 5+++--
Mcrypto/curve25519/+test.ha | 5+++--
Mcrypto/curve25519/curve25519.ha | 5+++--
Mcrypto/ed25519/+test.ha | 5+++--
Mcrypto/ed25519/ed25519.ha | 4++--
Mcrypto/ed25519/edwards25519.ha | 4++--
Mcrypto/hkdf/+test.ha | 5+++--
Mcrypto/hkdf/hkdf.ha | 5+++--
Mcrypto/hmac/+test.ha | 5+++--
Mcrypto/hmac/hmac.ha | 6+++---
Mcrypto/hmac/sha1.ha | 5+++--
Mcrypto/hmac/sha256.ha | 5+++--
Mcrypto/keyderiv.ha | 5+++--
Mcrypto/keystore/impl+linux.ha | 3+++
Mcrypto/keystore/impl.ha | 3+++
Mcrypto/mac/mac.ha | 5+++--
Mcrypto/math/arithm.ha | 6+++---
Mcrypto/math/bits.ha | 6++----
Mcrypto/poly1305/+test.ha | 5+++--
Mcrypto/poly1305/poly1305.ha | 4++--
Mcrypto/random/+freebsd.ha | 6+++---
Mcrypto/random/+linux.ha | 6+++---
Mcrypto/random/random.ha | 6+++---
Mcrypto/rsa/+test/core_test.ha | 5+++--
Mcrypto/rsa/+test/keys_test.ha | 5+++--
Mcrypto/rsa/+test/pkcs1_test.ha | 5+++--
Mcrypto/rsa/core.ha | 3+++
Mcrypto/rsa/errors.ha | 5+++--
Mcrypto/rsa/keys.ha | 5+++--
Mcrypto/rsa/pkcs1.ha | 5+++--
Mcrypto/salsa/+test.ha | 5+++--
Mcrypto/salsa/salsa20.ha | 5+++--
Mcrypto/sha1/+test.ha | 7+++----
Mcrypto/sha1/sha1.ha | 8+++-----
Mcrypto/sha256/+test.ha | 7+++----
Mcrypto/sha256/sha256.ha | 7+++----
Mcrypto/sha512/+test.ha | 7+++----
Mcrypto/sha512/sha512.ha | 9+++------
Mcrypto/x25519/+test.ha | 5+++--
Mcrypto/x25519/x25519.ha | 5+++--
Mdirs/xdg.ha | 9+++------
Mencoding/base32/base32.ha | 5+++--
Mencoding/base64/base64.ha | 10+++-------
Mencoding/hex/hex.ha | 8+++-----
Mencoding/pem/+test.ha | 5+++--
Mencoding/pem/pem.ha | 5+++--
Mencoding/utf8/decode.ha | 6++----
Mencoding/utf8/decodetable.ha | 3+++
Mencoding/utf8/encode.ha | 4++--
Mencoding/utf8/rune.ha | 4++--
Mendian/big.ha | 5++---
Mendian/endian.ha | 5++---
Mendian/host+aarch64.ha | 4++--
Mendian/host+riscv64.ha | 4++--
Mendian/host+x86_64.ha | 4++--
Mendian/little.ha | 5++---
Mendian/network.ha | 4++--
Merrors/common.ha | 6++----
Merrors/opaque.ha | 5++---
Merrors/rt.ha | 5+++--
Merrors/string.ha | 5++---
Mfmt/fmt.ha | 10+++-------
Mfnmatch/+test.ha | 4++--
Mfnmatch/fnmatch.ha | 10+++-------
Mformat/elf/arch+aarch64.ha | 4++--
Mformat/elf/arch+riscv64.ha | 4++--
Mformat/elf/arch+x86_64.ha | 4++--
Mformat/elf/platform+freebsd.ha | 4++--
Mformat/elf/platform+linux.ha | 4++--
Mformat/elf/types.ha | 6++----
Mformat/ini/+test.ha | 5+++--
Mformat/ini/scan.ha | 8+++-----
Mformat/ini/types.ha | 7+++----
Mformat/tar/reader.ha | 5+++--
Mformat/tar/types.ha | 5+++--
Mfs/fs.ha | 11+++--------
Mfs/types.ha | 8+++-----
Mfs/util.ha | 8+++-----
Mgetopt/getopts.ha | 10+++-------
Mglob/+test.ha | 3+++
Mglob/glob.ha | 5+++--
Mhare/ast/decl.ha | 6+++---
Mhare/ast/expr.ha | 7+++----
Mhare/ast/ident.ha | 7+++----
Mhare/ast/import.ha | 6+++---
Mhare/ast/type.ha | 7+++----
Mhare/ast/unit.ha | 5++---
Mhare/lex/+test.ha | 10+++-------
Mhare/lex/lex.ha | 10+++-------
Mhare/lex/token.ha | 7+++----
Mhare/module/cache.ha | 3+++
Mhare/module/deps.ha | 3+++
Mhare/module/format.ha | 3+++
Mhare/module/srcs.ha | 3+++
Mhare/module/types.ha | 3+++
Mhare/module/util.ha | 3+++
Mhare/parse/+test/expr_test.ha | 8++------
Mhare/parse/+test/ident_test.ha | 6+++---
Mhare/parse/+test/loc.ha | 7+++----
Mhare/parse/+test/roundtrip.ha | 8+++-----
Mhare/parse/+test/types.ha | 4++--
Mhare/parse/+test/unit_test.ha | 9+++------
Mhare/parse/decl.ha | 6+++---
Mhare/parse/doc/doc.ha | 9+++------
Mhare/parse/expr.ha | 9+++------
Mhare/parse/ident.ha | 7+++----
Mhare/parse/import.ha | 6+++---
Mhare/parse/parse.ha | 8+++-----
Mhare/parse/type.ha | 7+++----
Mhare/parse/unit.ha | 6+++---
Mhare/types/+aarch64/writesize.ha | 3+++
Mhare/types/+riscv64/writesize.ha | 3+++
Mhare/types/+test.ha | 9+++------
Mhare/types/+x86_64/writesize.ha | 3+++
Mhare/types/arch.ha | 4++--
Mhare/types/builtins.ha | 4++--
Mhare/types/class.ha | 5++---
Mhare/types/hash.ha | 6+++---
Mhare/types/lookup.ha | 6+++---
Mhare/types/store.ha | 7+++----
Mhare/types/types.ha | 7+++----
Mhare/unit/+test.ha | 6+++---
Mhare/unit/check.ha | 6+++---
Mhare/unit/context.ha | 5+++--
Mhare/unit/errors.ha | 5+++--
Mhare/unit/expr.ha | 5+++--
Mhare/unit/process.ha | 9+++------
Mhare/unit/scan.ha | 7+++----
Mhare/unit/scope.ha | 6+++---
Mhare/unit/unit.ha | 5+++--
Mhare/unparse/decl.ha | 8+++-----
Mhare/unparse/expr.ha | 8+++-----
Mhare/unparse/ident.ha | 7+++----
Mhare/unparse/import.ha | 7+++----
Mhare/unparse/type.ha | 7+++----
Mhare/unparse/unit.ha | 6+++---
Mhare/unparse/util.ha | 6+++---
Mhash/adler32/adler32.ha | 7+++----
Mhash/crc16/crc16.ha | 7+++----
Mhash/crc32/crc32.ha | 7+++----
Mhash/crc64/crc64.ha | 7+++----
Mhash/fnv/+aarch64.ha | 5++---
Mhash/fnv/+riscv64.ha | 5++---
Mhash/fnv/+x86_64.ha | 5++---
Mhash/fnv/fnv.ha | 6+++---
Mhash/hash.ha | 7+++----
Mhash/siphash/+test.ha | 3+++
Mhash/siphash/siphash.ha | 3+++
Mio/+freebsd/mmap.ha | 6+++---
Mio/+freebsd/platform_file.ha | 6+++---
Mio/+freebsd/vector.ha | 5+++--
Mio/+linux/mmap.ha | 6+++---
Mio/+linux/platform_file.ha | 7+++----
Mio/+linux/vector.ha | 5+++--
Mio/+test/limit_test.ha | 7+++----
Mio/+test/stream_test.ha | 5++---
Mio/arch+aarch64.ha | 4++--
Mio/arch+riscv64.ha | 4++--
Mio/arch+x86_64.ha | 4++--
Mio/copy.ha | 6+++---
Mio/drain.ha | 6++----
Mio/empty.ha | 5++---
Mio/file.ha | 4+++-
Mio/handle.ha | 5++---
Mio/limit.ha | 6++----
Mio/stream.ha | 7+++----
Mio/tee.ha | 5++---
Mio/types.ha | 6+++---
Mio/util.ha | 6++----
Mio/zero.ha | 6+++---
Mlinux/env.ha | 5+++--
Mlinux/keyctl/keyctl.ha | 3+++
Mlinux/keyctl/types.ha | 3+++
Mlinux/start+libc.ha | 5+++--
Mlinux/start.ha | 5+++--
Mlinux/timerfd/timerfd.ha | 4++--
Mlinux/vdso/vdso.ha | 7+++----
Mlog/funcs.ha | 3+++
Mlog/global.ha | 3+++
Mlog/logger.ha | 3+++
Mlog/silent.ha | 3+++
Mmath/+test/data.ha | 5++---
Mmath/+test/floats_test.ha | 3+++
Mmath/+test/math_test.ha | 3+++
Mmath/+test/trig_test.ha | 3+++
Mmath/checked/checked.ha | 3+++
Mmath/complex/+test.ha | 5++---
Mmath/complex/complex.ha | 5++---
Mmath/fenv+aarch64.ha | 4++--
Mmath/fenv+riscv64.ha | 5++---
Mmath/fenv+x86_64.ha | 4++--
Mmath/fenv_func.ha | 5+++--
Mmath/floats.ha | 9+++------
Mmath/ints.ha | 8+++-----
Mmath/math.ha | 6++----
Mmath/random/random.ha | 4++--
Mmath/trig.ha | 4++--
Mmath/uints.ha | 4++--
Mmemio/ops.ha | 7+++----
Mmemio/stream.ha | 8+++-----
Mmime/database.ha | 5+++--
Mmime/entries+test.ha | 3++-
Mmime/lookup.ha | 5+++--
Mmime/parse.ha | 5+++--
Mmime/system.ha | 5+++--
Mnet/+freebsd.ha | 7+++----
Mnet/+linux.ha | 7+++----
Mnet/dial/dial.ha | 5+++--
Mnet/dial/ip.ha | 6++----
Mnet/dial/registry.ha | 6+++---
Mnet/dial/resolve.ha | 6+++---
Mnet/dns/decode.ha | 6+++---
Mnet/dns/encode.ha | 5+++--
Mnet/dns/error.ha | 6+++---
Mnet/dns/query.ha | 5+++--
Mnet/dns/strdomain.ha | 5+++--
Mnet/dns/types.ha | 8+++-----
Mnet/errors.ha | 7+++----
Mnet/ip/+freebsd.ha | 6+++---
Mnet/ip/+linux.ha | 7+++----
Mnet/ip/ip.ha | 12+++---------
Mnet/ip/test+test.ha | 9+++------
Mnet/msg.ha | 4++--
Mnet/tcp/+freebsd.ha | 6+++---
Mnet/tcp/+linux.ha | 6+++---
Mnet/tcp/listener.ha | 5+++--
Mnet/tcp/options.ha | 5+++--
Mnet/types.ha | 3+++
Mnet/udp/+freebsd.ha | 6+++---
Mnet/udp/+linux.ha | 6+++---
Mnet/udp/options.ha | 5+++--
Mnet/unix/+freebsd.ha | 6+++---
Mnet/unix/+linux.ha | 7+++----
Mnet/unix/addr.ha | 5++---
Mnet/unix/cmsg.ha | 5+++--
Mnet/unix/dial.ha | 6+++---
Mnet/unix/listener.ha | 5+++--
Mnet/unix/options.ha | 5+++--
Mnet/unix/socketpair.ha | 6+++---
Mnet/uri/+test.ha | 3+++
Mnet/uri/fmt.ha | 3+++
Mnet/uri/parse.ha | 6+++---
Mnet/uri/query.ha | 3+++
Mnet/uri/uri.ha | 3+++
Mos/+freebsd/dirfdfs.ha | 7+++----
Mos/+freebsd/exit+libc-test.ha | 3+++
Mos/+freebsd/exit+test.ha | 4++--
Mos/+freebsd/exit.ha | 5+++--
Mos/+freebsd/fs.ha | 6+++---
Mos/+freebsd/platform_environ.ha | 6+++---
Mos/+freebsd/status.ha | 3+++
Mos/+freebsd/stdfd.ha | 6+++---
Mos/+linux/dirfdfs.ha | 9+++------
Mos/+linux/exit+libc-test.ha | 3+++
Mos/+linux/exit+test.ha | 4++--
Mos/+linux/exit.ha | 5+++--
Mos/+linux/fs.ha | 6+++---
Mos/+linux/memory.ha | 3+++
Mos/+linux/platform_environ.ha | 6+++---
Mos/+linux/status.ha | 3+++
Mos/+linux/stdfd.ha | 6+++---
Mos/environ.ha | 3+++
Mos/exec/cmd.ha | 7+++----
Mos/exec/exec+freebsd.ha | 6+++---
Mos/exec/exec+linux.ha | 6+++---
Mos/exec/process+freebsd.ha | 7+++----
Mos/exec/process+linux.ha | 7+++----
Mos/exec/types.ha | 6+++---
Mos/os.ha | 8+++-----
Mpath/+freebsd.ha | 4++--
Mpath/+linux.ha | 4++--
Mpath/buffer.ha | 6+++---
Mpath/error.ha | 3+++
Mpath/ext_stack.ha | 4+++-
Mpath/iter.ha | 7+++----
Mpath/posix.ha | 7+++----
Mpath/prefix.ha | 3+++
Mpath/stack.ha | 5+++--
Mregex/+test.ha | 5+++--
Mregex/regex.ha | 5+++--
Mrt/+aarch64/arch_jmp.ha | 4++--
Mrt/+aarch64/backtrace.ha | 6++----
Mrt/+aarch64/cpuid.ha | 3+++
Mrt/+freebsd/+aarch64.ha | 3+++
Mrt/+freebsd/+riscv64.ha | 3+++
Mrt/+freebsd/+x86_64.ha | 3+++
Mrt/+freebsd/env.ha | 4++--
Mrt/+freebsd/errno.ha | 4++--
Mrt/+freebsd/platform_abort.ha | 4++--
Mrt/+freebsd/platformstart.ha | 4++--
Mrt/+freebsd/segmalloc.ha | 5++---
Mrt/+freebsd/signal.ha | 4++--
Mrt/+freebsd/socket.ha | 5++---
Mrt/+freebsd/syscallno.ha | 4++--
Mrt/+freebsd/syscalls.ha | 6++----
Mrt/+freebsd/types.ha | 7++-----
Mrt/+linux/+aarch64.ha | 6++----
Mrt/+linux/+riscv64.ha | 6++----
Mrt/+linux/+x86_64.ha | 5++---
Mrt/+linux/env.ha | 4++--
Mrt/+linux/errno.ha | 5++---
Mrt/+linux/platform_abort.ha | 4++--
Mrt/+linux/platformstart-libc.ha | 5++---
Mrt/+linux/prctl.ha | 4++--
Mrt/+linux/segmalloc.ha | 5++---
Mrt/+linux/signal.ha | 4++--
Mrt/+linux/socket.ha | 5++---
Mrt/+linux/stat.ha | 4++--
Mrt/+linux/syscallno+aarch64.ha | 4++--
Mrt/+linux/syscallno+riscv64.ha | 4++--
Mrt/+linux/syscallno+x86_64.ha | 4++--
Mrt/+linux/syscalls.ha | 9++-------
Mrt/+linux/types.ha | 11++---------
Mrt/+riscv64/arch_jmp.ha | 4++--
Mrt/+riscv64/backtrace.ha | 5++---
Mrt/+riscv64/cpuid.ha | 3+++
Mrt/+riscv64/fenv.s | 3---
Mrt/+test/signal_test.ha | 4++--
Mrt/+x86_64/arch_jmp.ha | 4++--
Mrt/+x86_64/backtrace.ha | 6++----
Mrt/+x86_64/cpuid.ha | 3+++
Mrt/abort+test.ha | 5++---
Mrt/abort.ha | 4++--
Mrt/ensure.ha | 5++---
Mrt/fenv_defs.ha | 4++--
Mrt/jmp.ha | 4++--
Mrt/malloc+debug.ha | 4++--
Mrt/malloc+libc.ha | 4++--
Mrt/malloc.ha | 3+++
Mrt/memcpy.ha | 4++--
Mrt/memfunc_ptr.ha | 3++-
Mrt/memmove.ha | 4++--
Mrt/memset.ha | 4++--
Mrt/start+libc.ha | 4++--
Mrt/start+test+libc.ha | 4++--
Mrt/start+test.ha | 4++--
Mrt/start.ha | 5++---
Mrt/strcmp.ha | 4++--
Mrt/u64tos.ha | 3+++
Mrt/unknown_errno.ha | 3+++
Ascripts/copyright.sh | 38++++++++++++++++++++++++++++++++++++++
Mshlex/+test.ha | 6+++---
Mshlex/escape.ha | 6+++---
Mshlex/split.ha | 6+++---
Msort/+test.ha | 5++---
Msort/bisect.ha | 4++--
Msort/cmp/cmp.ha | 3+++
Msort/search.ha | 4++--
Msort/sort.ha | 5++---
Msort/types.ha | 4++--
Mstrconv/+test/stoi_test.ha | 8+++-----
Mstrconv/+test/stou_test.ha | 6++----
Mstrconv/ftos.ha | 9++-------
Mstrconv/ftostof+test.ha | 3+++
Mstrconv/itos.ha | 7+++----
Mstrconv/numeric.ha | 6+++---
Mstrconv/stof.ha | 6++----
Mstrconv/stof_data.ha | 4++--
Mstrconv/stoi.ha | 8+++-----
Mstrconv/stou.ha | 7+++----
Mstrconv/types.ha | 6++----
Mstrconv/utos.ha | 7+++----
Mstrings/compare.ha | 3+++
Mstrings/concat.ha | 4++--
Mstrings/contains.ha | 7+++----
Mstrings/dup.ha | 8+++-----
Mstrings/index.ha | 7+++----
Mstrings/iter.ha | 9+++------
Mstrings/pad.ha | 5+++--
Mstrings/replace.ha | 5++---
Mstrings/runes.ha | 5+++--
Mstrings/sub.ha | 8+++-----
Mstrings/suffix.ha | 7+++----
Mstrings/template/template.ha | 5+++--
Mstrings/tokenize.ha | 8+++-----
Mstrings/trim.ha | 8+++-----
Mstrings/utf8.ha | 5+++--
Mtemp/+freebsd.ha | 8+++-----
Mtemp/+linux.ha | 8+++-----
Mtest/+test.ha | 3+++
Mtest/common.ha | 3+++
Mtest/fail+test.ha | 3+++
Mtime/+freebsd/functions.ha | 6+++---
Mtime/+linux/+aarch64.ha | 4++--
Mtime/+linux/+riscv64.ha | 4++--
Mtime/+linux/+x86_64.ha | 4++--
Mtime/+linux/functions.ha | 7+++----
Mtime/arithm.ha | 6+++---
Mtime/chrono/+freebsd.ha | 4++--
Mtime/chrono/+linux.ha | 4++--
Mtime/chrono/arithmetic.ha | 5+++--
Mtime/chrono/chronology.ha | 5+++--
Mtime/chrono/error.ha | 5+++--
Mtime/chrono/leapsec.ha | 5+++--
Mtime/chrono/timescale.ha | 5+++--
Mtime/chrono/timezone.ha | 5+++--
Mtime/chrono/tzdb.ha | 5+++--
Mtime/conv.ha | 3+++
Mtime/date/date.ha | 6+++---
Mtime/date/daydate.ha | 5++---
Mtime/date/daytime.ha | 5+++--
Mtime/date/error.ha | 4++--
Mtime/date/format.ha | 7+++----
Mtime/date/locality.ha | 6+++---
Mtime/date/observe.ha | 5+++--
Mtime/date/parithm.ha | 7+++----
Mtime/date/parse.ha | 7+++----
Mtime/date/period.ha | 4++--
Mtime/date/reckon.ha | 5+++--
Mtime/date/tarithm.ha | 5+++--
Mtime/date/virtual.ha | 5+++--
Mtime/types.ha | 6+++---
Mtypes/arch+aarch64.ha | 4++--
Mtypes/arch+riscv64.ha | 4++--
Mtypes/arch+x86_64.ha | 4++--
Mtypes/c/+test.ha | 3+++
Mtypes/c/arch+aarch64.ha | 3+++
Mtypes/c/arch+riscv64.ha | 3+++
Mtypes/c/arch+x86_64.ha | 3+++
Mtypes/c/strings.ha | 3+++
Mtypes/c/types.ha | 3+++
Mtypes/classes.ha | 4++--
Mtypes/limits.ha | 5++---
Munix/+freebsd/getuid.ha | 5+++--
Munix/+freebsd/groups.ha | 3+++
Munix/+freebsd/nice.ha | 6+++---
Munix/+freebsd/pipe.ha | 6+++---
Munix/+freebsd/setuid.ha | 6+++---
Munix/+freebsd/umask.ha | 5+++--
Munix/+linux/getuid.ha | 5+++--
Munix/+linux/groups.ha | 3+++
Munix/+linux/nice.ha | 6+++---
Munix/+linux/pipe.ha | 5+++--
Munix/+linux/setuid.ha | 6+++---
Munix/+linux/umask.ha | 6+++---
Munix/hosts/+freebsd.ha | 4++--
Munix/hosts/+linux.ha | 4++--
Munix/hosts/hosts.ha | 8+++-----
Munix/hosts/test+test.ha | 5+++--
Munix/passwd/group.ha | 7+++----
Munix/passwd/passwd.ha | 7+++----
Munix/passwd/types.ha | 5++---
Munix/poll/+freebsd.ha | 6+++---
Munix/poll/+linux.ha | 6+++---
Munix/poll/types.ha | 3+++
Munix/resolvconf/+freebsd.ha | 4++--
Munix/resolvconf/+linux.ha | 4++--
Munix/resolvconf/load.ha | 7+++----
Munix/signal/+freebsd.ha | 3+++
Munix/signal/+linux.ha | 5+++--
Munix/signal/types.ha | 4++--
Munix/tty/+freebsd/isatty.ha | 6+++---
Munix/tty/+freebsd/open.ha | 6+++---
Munix/tty/+freebsd/pty.ha | 5+++--
Munix/tty/+freebsd/termios.ha | 6+++---
Munix/tty/+freebsd/winsize.ha | 6+++---
Munix/tty/+linux/isatty.ha | 8+++-----
Munix/tty/+linux/open.ha | 8+++-----
Munix/tty/+linux/pty.ha | 5+++--
Munix/tty/+linux/termios.ha | 6+++---
Munix/tty/+linux/winsize.ha | 7+++----
Munix/tty/pty_common.ha | 3+++
Munix/tty/types.ha | 7+++----
Muuid/uuid.ha | 7+++----
559 files changed, 1551 insertions(+), 1451 deletions(-)

diff --git a/.builds/alpine.yml b/.builds/alpine.yml @@ -44,6 +44,9 @@ tasks: - check_with_libc: | cd hare .bin/hare-tests-libc +- copyright: | + cd hare + ./scripts/copyright.sh - docs: | if [ $BUILD_SUBMITTER != "git.sr.ht" ] then diff --git a/ascii/ctype.ha b/ascii/ctype.ha @@ -1,6 +1,5 @@ -// License: MPL-2.0 -// (c) 2021 Bor Grošelj Simić <bor.groseljsimic@telemach.net> -// (c) 2021 Drew DeVault <sir@cmpwn.com> +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> def U: u8 = 0o1; def L: u8 = 0o2; diff --git a/ascii/string.ha b/ascii/string.ha @@ -1,6 +1,6 @@ -// License: MPL-2.0 -// (c) 2021 Drew DeVault <sir@cmpwn.com> -// (c) 2021 Ember Sawady <ecs@d2evs.net> +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> + use encoding::utf8; use strings; diff --git a/ascii/valid.ha b/ascii/valid.ha @@ -1,6 +1,6 @@ -// License: MPL-2.0 -// (c) 2022 Sebastian <sebastian@sebsite.pw> -// (c) 2021 Drew Devault <sir@cmpwn.com> +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> + use strings; // Returns true if a rune is a valid ASCII character. diff --git a/bufio/scanner.ha b/bufio/scanner.ha @@ -1,7 +1,6 @@ -// License: MPL-2.0 -// (c) 2021-2023 Alexey Yerin <yyp@disroot.org> -// (c) 2021-2023 Drew DeVault <sir@cmpwn.com> -// (c) 2021 Ember Sawady <ecs@d2evs.net> +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> + use bytes; use encoding::utf8; use errors; diff --git a/bufio/scanner_test+test.ha b/bufio/scanner_test+test.ha @@ -1,3 +1,6 @@ +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> + use bytes; use encoding::utf8; use io; diff --git a/bufio/stream.ha b/bufio/stream.ha @@ -1,8 +1,6 @@ -// License: MPL-2.0 -// (c) 2022 Alexey Yerin <yyp@disroot.org> -// (c) 2021 Byron Torres <b@torresjrjr.com> -// (c) 2021 Drew DeVault <sir@cmpwn.com> -// (c) 2021 Ember Sawady <ecs@d2evs.net> +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> + use bytes; use encoding::utf8; use errors; diff --git a/bufio/stream_test+test.ha b/bufio/stream_test+test.ha @@ -1,3 +1,6 @@ +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> + use bytes; use io; use memio; diff --git a/bytes/contains.ha b/bytes/contains.ha @@ -1,7 +1,5 @@ -// License: MPL-2.0 -// (c) 2021 Drew DeVault <sir@cmpwn.com> -// (c) 2021 Ember Sawady <ecs@d2evs.net> -// (c) 2021 Thomas Bracht Laumann Jespersen <t@laumann.xyz> +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> // Returns true if a byte slice contains a byte or a sequence of bytes. export fn contains(haystack: []u8, needles: (u8 | []u8)...) bool = { diff --git a/bytes/equal.ha b/bytes/equal.ha @@ -1,5 +1,5 @@ -// License: MPL-2.0 -// (c) 2021 Drew DeVault <sir@cmpwn.com> +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> // Returns true if the two byte sequences are identical. // diff --git a/bytes/index.ha b/bytes/index.ha @@ -1,7 +1,5 @@ -// License: MPL-2.0 -// (c) 2021 Bor Grošelj Simić <bor.groseljsimic@telemach.net> -// (c) 2021 Drew DeVault <sir@cmpwn.com> -// (c) 2021 Ember Sawady <ecs@d2evs.net> +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> // Returns the offset of the first instance of "needle" in a "haystack" of // bytes, or void if it is not found. diff --git a/bytes/reverse.ha b/bytes/reverse.ha @@ -1,5 +1,5 @@ -// License: MPL-2.0 -// (c) 2021 Drew DeVault <sir@cmpwn.com> +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> // Reverses a slice of bytes. export fn reverse(b: []u8) void = { diff --git a/bytes/tokenize.ha b/bytes/tokenize.ha @@ -1,7 +1,6 @@ -// License: MPL-2.0 -// (c) 2021 Bor Grošelj Simić <bor.groseljsimic@telemach.net> -// (c) 2021 Drew DeVault <sir@cmpwn.com> -// (c) 2021 Ember Sawady <ecs@d2evs.net> +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> + use types; export type tokenizer = struct { diff --git a/bytes/trim.ha b/bytes/trim.ha @@ -1,3 +1,6 @@ +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> + // Returns a slice (borrowed from given input slice) after trimming off of // the start of the input slice the bytes in the given list. export fn ltrim(in: []u8, trim: u8...) []u8 = { diff --git a/bytes/two_way.ha b/bytes/two_way.ha @@ -1,5 +1,6 @@ -// License: MPL-2.0 -// (c) 2021 Bor Grošelj Simić <bor.groseljsimic@telemach.net> +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> + use types; // Implements the so called Two-way string matching algorithm by Crochemore and diff --git a/bytes/zero.ha b/bytes/zero.ha @@ -1,5 +1,6 @@ -// License: MPL-2.0 -// (c) 2021 Drew DeVault <sir@cmpwn.com> +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> + use rt; // Sets all bytes in a slice to zero. This is suitable for erasing private data diff --git a/cmd/hare/arch.ha b/cmd/hare/arch.ha @@ -1,3 +1,6 @@ +// SPDX-License-Identifier: GPL-3.0-only +// (c) Hare authors <https://harelang.org> + use hare::module; use os; use strings; diff --git a/cmd/hare/build.ha b/cmd/hare/build.ha @@ -1,3 +1,6 @@ +// SPDX-License-Identifier: GPL-3.0-only +// (c) Hare authors <https://harelang.org> + use cmd::hare::build; use errors; use fmt; diff --git a/cmd/hare/build/gather.ha b/cmd/hare/build/gather.ha @@ -1,3 +1,6 @@ +// SPDX-License-Identifier: GPL-3.0-only +// (c) Hare authors <https://harelang.org> + use fs; use hare::ast; use hare::module; diff --git a/cmd/hare/build/queue.ha b/cmd/hare/build/queue.ha @@ -1,3 +1,6 @@ +// SPDX-License-Identifier: GPL-3.0-only +// (c) Hare authors <https://harelang.org> + use crypto::sha256; use encoding::hex; use errors; diff --git a/cmd/hare/build/types.ha b/cmd/hare/build/types.ha @@ -1,3 +1,6 @@ +// SPDX-License-Identifier: GPL-3.0-only +// (c) Hare authors <https://harelang.org> + use crypto::sha256; use fs; use hare::ast; diff --git a/cmd/hare/build/util.ha b/cmd/hare/build/util.ha @@ -1,3 +1,6 @@ +// SPDX-License-Identifier: GPL-3.0-only +// (c) Hare authors <https://harelang.org> + use crypto::sha256; use fmt; use hare::ast; diff --git a/cmd/hare/cache.ha b/cmd/hare/cache.ha @@ -1,3 +1,6 @@ +// SPDX-License-Identifier: GPL-3.0-only +// (c) Hare authors <https://harelang.org> + use fmt; use fs; use getopt; diff --git a/cmd/hare/deps.ha b/cmd/hare/deps.ha @@ -1,3 +1,6 @@ +// SPDX-License-Identifier: GPL-3.0-only +// (c) Hare authors <https://harelang.org> + use fmt; use getopt; use hare::ast; diff --git a/cmd/hare/error.ha b/cmd/hare/error.ha @@ -1,3 +1,6 @@ +// SPDX-License-Identifier: GPL-3.0-only +// (c) Hare authors <https://harelang.org> + use fs; use hare::module; use hare::parse; diff --git a/cmd/hare/main.ha b/cmd/hare/main.ha @@ -1,6 +1,6 @@ -// License: GPL-3.0 -// (c) 2021 Drew DeVault <sir@cmpwn.com> -// (c) 2021 Ember Sawady <ecs@d2evs.net> +// SPDX-License-Identifier: GPL-3.0-only +// (c) Hare authors <https://harelang.org> + use fmt; use fs; use getopt; diff --git a/cmd/hare/util.ha b/cmd/hare/util.ha @@ -1,3 +1,6 @@ +// SPDX-License-Identifier: GPL-3.0-only +// (c) Hare authors <https://harelang.org> + use ascii; use dirs; use errors; diff --git a/cmd/hare/version.ha b/cmd/hare/version.ha @@ -1,3 +1,6 @@ +// SPDX-License-Identifier: GPL-3.0-only +// (c) Hare authors <https://harelang.org> + use ascii; use bufio; use fmt; diff --git a/cmd/harec/context.ha b/cmd/harec/context.ha @@ -1,6 +1,6 @@ -// License: GPL-3.0 -// (c) 2022 Alexey Yerin <yyp@disroot.org> -// (c) 2021 Drew DeVault <sir@cmpwn.com> +// SPDX-License-Identifier: GPL-3.0-only +// (c) Hare authors <https://harelang.org> + use io; use hare::types; use hare::unit; diff --git a/cmd/harec/errors.ha b/cmd/harec/errors.ha @@ -1,6 +1,6 @@ -// License: GPL-3.0 -// (c) 2021 Drew DeVault <sir@cmpwn.com> -// (c) 2021 Ember Sawady <ecs@d2evs.net> +// SPDX-License-Identifier: GPL-3.0-only +// (c) Hare authors <https://harelang.org> + use bufio; use fmt; use hare::lex; diff --git a/cmd/harec/gen.ha b/cmd/harec/gen.ha @@ -1,7 +1,6 @@ -// License: GPL-3.0 -// (c) 2022 Alexey Yerin <yyp@disroot.org> -// (c) 2021 Drew DeVault <sir@cmpwn.com> -// (c) 2021 Ember Sawady <ecs@d2evs.net> +// SPDX-License-Identifier: GPL-3.0-only +// (c) Hare authors <https://harelang.org> + use fmt; use hare::ast; use hare::lex; diff --git a/cmd/harec/genutil.ha b/cmd/harec/genutil.ha @@ -1,5 +1,6 @@ -// License: GPL-3.0 -// (c) 2021 Drew DeVault <sir@cmpwn.com> +// SPDX-License-Identifier: GPL-3.0-only +// (c) Hare authors <https://harelang.org> + use fmt; fn mklabel(ctx: *context, name: str) str = { diff --git a/cmd/harec/main.ha b/cmd/harec/main.ha @@ -1,7 +1,6 @@ -// License: GPL-3.0 -// (c) 2022 Alexey Yerin <yyp@disroot.org> -// (c) 2021 Drew DeVault <sir@cmpwn.com> -// (c) 2021 Ember Sawady <ecs@d2evs.net> +// SPDX-License-Identifier: GPL-3.0-only +// (c) Hare authors <https://harelang.org> + use bufio; use fmt; use fs; diff --git a/cmd/harec/qbe.ha b/cmd/harec/qbe.ha @@ -1,6 +1,6 @@ -// License: GPL-3.0 -// (c) 2021 Drew DeVault <sir@cmpwn.com> -// (c) 2021 Ember Sawady <ecs@d2evs.net> +// SPDX-License-Identifier: GPL-3.0-only +// (c) Hare authors <https://harelang.org> + use fmt; use io; use hare::types; diff --git a/cmd/harec/qtype.ha b/cmd/harec/qtype.ha @@ -1,6 +1,6 @@ -// License: GPL-3.0 -// (c) 2021 Drew DeVault <sir@cmpwn.com> -// (c) 2021 Ember Sawady <ecs@d2evs.net> +// SPDX-License-Identifier: GPL-3.0-only +// (c) Hare authors <https://harelang.org> + use fmt; use hare::types; use hare::types::{builtin}; diff --git a/cmd/haredoc/arch.ha b/cmd/haredoc/arch.ha @@ -1,3 +1,6 @@ +// SPDX-License-Identifier: GPL-3.0-only +// (c) Hare authors <https://harelang.org> + use hare::module; use os; use strings; diff --git a/cmd/haredoc/doc/color.ha b/cmd/haredoc/doc/color.ha @@ -1,5 +1,6 @@ -// License: GPL-3.0 -// (c) 2022 Byron Torres <b@torresjrjr.com> +// SPDX-License-Identifier: GPL-3.0-only +// (c) Hare authors <https://harelang.org> + use ascii; use fmt; use io; diff --git a/cmd/haredoc/doc/hare.ha b/cmd/haredoc/doc/hare.ha @@ -1,7 +1,6 @@ -// License: GPL-3.0 -// (c) 2021 Alexey Yerin <yyp@disroot.org> -// (c) 2021 Drew DeVault <sir@cmpwn.com> -// (c) 2021 Ember Sawady <ecs@d2evs.net> +// SPDX-License-Identifier: GPL-3.0-only +// (c) Hare authors <https://harelang.org> + use bufio; use fmt; use hare::ast; diff --git a/cmd/haredoc/doc/html.ha b/cmd/haredoc/doc/html.ha @@ -1,10 +1,5 @@ -// License: GPL-3.0 -// (c) 2021-2022 Alexey Yerin <yyp@disroot.org> -// (c) 2022 Byron Torres <b@torresjrjr.com> -// (c) 2021-2022 Drew DeVault <sir@cmpwn.com> -// (c) 2021 Ember Sawady <ecs@d2evs.net> -// (c) 2021 Thomas Bracht Laumann Jespersen <t@laumann.xyz> -// (c) 2022 Umar Getagazov <umar@handlerug.me> +// SPDX-License-Identifier: GPL-3.0-only +// (c) Hare authors <https://harelang.org> // Note: ast::ident should never have to be escaped use encoding::utf8; diff --git a/cmd/haredoc/doc/resolve.ha b/cmd/haredoc/doc/resolve.ha @@ -1,7 +1,6 @@ -// License: GPL-3.0 -// (c) 2021 Drew DeVault <sir@cmpwn.com> -// (c) 2021 Ember Sawady <ecs@d2evs.net> -// (c) 2022 Alexey Yerin <yyp@disroot.org> +// SPDX-License-Identifier: GPL-3.0-only +// (c) Hare authors <https://harelang.org> + use fmt; use fs; use hare::ast; diff --git a/cmd/haredoc/doc/sort.ha b/cmd/haredoc/doc/sort.ha @@ -1,6 +1,6 @@ -// License: GPL-3.0 -// (c) 2021 Drew DeVault <sir@cmpwn.com> -// (c) 2021 Ember Sawady <ecs@d2evs.net> +// SPDX-License-Identifier: GPL-3.0-only +// (c) Hare authors <https://harelang.org> + use hare::ast; use sort; use strings; diff --git a/cmd/haredoc/doc/tty.ha b/cmd/haredoc/doc/tty.ha @@ -1,7 +1,6 @@ -// License: GPL-3.0 -// (c) 2021 Alexey Yerin <yyp@disroot.org> -// (c) 2021 Drew DeVault <sir@cmpwn.com> -// (c) 2021 Ember Sawady <ecs@d2evs.net> +// SPDX-License-Identifier: GPL-3.0-only +// (c) Hare authors <https://harelang.org> + use ascii; use bufio; use fmt; diff --git a/cmd/haredoc/doc/types.ha b/cmd/haredoc/doc/types.ha @@ -1,6 +1,6 @@ -// License: GPL-3.0 -// (c) 2021 Drew DeVault <sir@cmpwn.com> -// (c) 2021 Ember Sawady <ecs@d2evs.net> +// SPDX-License-Identifier: GPL-3.0-only +// (c) Hare authors <https://harelang.org> + use fs; use hare::ast; use hare::lex; diff --git a/cmd/haredoc/doc/util.ha b/cmd/haredoc/doc/util.ha @@ -1,6 +1,6 @@ -// License: GPL-3.0 -// (c) 2022 Byron Torres <b@torresjrjr.com> -// (c) 2022 Sebastian <sebastian@sebsite.pw> +// SPDX-License-Identifier: GPL-3.0-only +// (c) Hare authors <https://harelang.org> + use fmt; use fs; use hare::module; diff --git a/cmd/haredoc/error.ha b/cmd/haredoc/error.ha @@ -1,3 +1,6 @@ +// SPDX-License-Identifier: GPL-3.0-only +// (c) Hare authors <https://harelang.org> + use cmd::haredoc::doc; use fs; use hare::module; diff --git a/cmd/haredoc/main.ha b/cmd/haredoc/main.ha @@ -1,8 +1,6 @@ -// License: GPL-3.0 -// (c) 2021 Alexey Yerin <yyp@disroot.org> -// (c) 2021 Drew DeVault <sir@cmpwn.com> -// (c) 2021 Ember Sawady <ecs@d2evs.net> -// (c) 2022 Sebastian <sebastian@sebsite.pw> +// SPDX-License-Identifier: GPL-3.0-only +// (c) Hare authors <https://harelang.org> + use cmd::haredoc::doc; use fmt; use fs; diff --git a/cmd/haredoc/util.ha b/cmd/haredoc/util.ha @@ -1,3 +1,6 @@ +// SPDX-License-Identifier: GPL-3.0-only +// (c) Hare authors <https://harelang.org> + use ascii; use dirs; use errors; diff --git a/cmd/haretype/main.ha b/cmd/haretype/main.ha @@ -1,5 +1,6 @@ -// License: GPL-3.0 -// (c) 2021 Drew DeVault <sir@cmpwn.com> +// SPDX-License-Identifier: GPL-3.0-only +// (c) Hare authors <https://harelang.org> + use fmt; use getopt; use hare::ast; diff --git a/cmd/ioctlgen/main.ha b/cmd/ioctlgen/main.ha @@ -1,3 +1,6 @@ +// SPDX-License-Identifier: GPL-3.0-only +// (c) Hare authors <https://harelang.org> + use bufio; use fmt; use hare::ast; diff --git a/contrib/contributors.sh b/contrib/contributors.sh @@ -1,48 +0,0 @@ -#!/bin/sh -eu - -authors= -commits= - -while true; do - files=${1:-.} - if [ -d "$files" ]; then - files=$(git ls-tree -r --name-only HEAD "$files") - files=$(printf '%s' "$files" | grep -E '(\.(ha|s)|(^|/)README)$') - fi - - for file in $files; do - authorinfo=$(git blame "$file" --porcelain --incremental) - - # Format as: Author Name <test@example.com> - while read -r line; do - if printf '%s' "$line" | grep -qE '^[0-9a-f]{40} \d+ \d+ \d+$'; then - commits=$(printf '%s\n%s' "$commits" \ - "$(printf '%s' "$line" | cut -d' ' -f1)") - continue - fi - case "$line" in - "author "*) author=$(printf '%s' "$line" | sed 's/author //') ;; - "author-mail "*) mail=$(printf '%s' "$line" | sed 's/author-mail //') ;; - "filename "*) authors=$(printf '%s\n%s' "$authors" "$author $mail") ;; - *) ;; - esac - done << EOF - $authorinfo -EOF - done - - if [ $# -eq 1 ]; then - break - fi - shift 1 -done - -# Get co-authors of commits -for commit in $(printf '%s' "$commits" | sort -u); do - coauthors=$(git show "$commit" | grep '^ Co-authored-by:' \ - | sed 's/ Co-authored-by: *//g') - authors=$(printf '%s\n%s' "$authors" "$coauthors") -done - -# Get only the unique author names -printf '%s\n' "$authors" | tail -n+2 | sort -u diff --git a/crypto/+test/authenc_test.ha b/crypto/+test/authenc_test.ha @@ -1,5 +1,6 @@ -// License: MPL-2.0 -// (c) 2022 Armin Preiml <apreiml@strohwolke.at> +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> + use bytes; use errors; diff --git a/crypto/aes/+test/gcm.ha b/crypto/aes/+test/gcm.ha @@ -1,3 +1,6 @@ +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> + use bytes; use crypto::cipher; use errors; diff --git a/crypto/aes/+test/ni_test+x86_64.ha b/crypto/aes/+test/ni_test+x86_64.ha @@ -1,3 +1,6 @@ +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> + use bytes; use crypto::cipher; diff --git a/crypto/aes/+x86_64/ni.ha b/crypto/aes/+x86_64/ni.ha @@ -1,3 +1,6 @@ +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> + use bytes; use crypto::cipher; use rt; diff --git a/crypto/aes/aes+x86_64.ha b/crypto/aes/aes+x86_64.ha @@ -1,5 +1,6 @@ -// License: MPL-2.0 -// (c) 2022 Armin Preiml <apreiml@strohwolke.at> +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> + use crypto::cipher; def MAXEXPKEYSZ: size = CT64_EXPKEYSZ; diff --git a/crypto/aes/aes.ha b/crypto/aes/aes.ha @@ -1,5 +1,6 @@ -// License: MPL-2.0 -// (c) 2022 Armin Preiml <apreiml@strohwolke.at> +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> + use crypto::cipher; def MAXEXPKEYSZ: size = CT64_EXPKEYSZ; diff --git a/crypto/aes/aes_ct64.ha b/crypto/aes/aes_ct64.ha @@ -1,6 +1,5 @@ -// License: MPL-2.0 -// (c) 2021 Armin Preiml <apreiml@strohwolke.at> -// (c) 2021 Drew DeVault <sir@cmpwn.com> +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> // Constant time aes implementation optimized for 64bit CPUs. // The code was ported from BearSSL, which contained the following notice: diff --git a/crypto/aes/block.ha b/crypto/aes/block.ha @@ -1,5 +1,6 @@ -// License: MPL-2.0 -// (c) 2022 Armin Preiml <apreiml@strohwolke.at> +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> + use bytes; use crypto::cipher; diff --git a/crypto/aes/cbc+test.ha b/crypto/aes/cbc+test.ha @@ -1,6 +1,6 @@ -// License: MPL-2.0 -// (c) 2021 Armin Preiml <apreiml@strohwolke.at> -// (c) 2021 Drew DeVault <sir@cmpwn.com> +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> + use crypto::cipher; use bytes; diff --git a/crypto/aes/ct64+test.ha b/crypto/aes/ct64+test.ha @@ -1,6 +1,6 @@ -// License: MPL-2.0 -// (c) 2021 Armin Preiml <apreiml@strohwolke.at> -// (c) 2021 Drew DeVault <sir@cmpwn.com> +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> + use crypto::cipher; use bytes; diff --git a/crypto/aes/ctr+test.ha b/crypto/aes/ctr+test.ha @@ -1,6 +1,6 @@ -// License: MPL-2.0 -// (c) 2022 Armin Preiml <apreiml@strohwolke.at> -// (c) 2022 Drew DeVault <sir@cmpwn.com> +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> + use bytes; use crypto::cipher; use errors; diff --git a/crypto/aes/rt+test.ha b/crypto/aes/rt+test.ha @@ -1,6 +1,6 @@ -// License: MPL-2.0 -// (c) 2021 Armin Preiml <apreiml@strohwolke.at> -// (c) 2021 Drew DeVault <sir@cmpwn.com> +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> + use crypto::cipher; use bytes; diff --git a/crypto/aes/xts/+test.ha b/crypto/aes/xts/+test.ha @@ -1,5 +1,6 @@ -// License: MPL-2.0 -// (c) 2022 Armin Preiml <apreiml@strohwolke.at> +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> + use bytes; @test fn oneblock() void = { diff --git a/crypto/aes/xts/xts.ha b/crypto/aes/xts/xts.ha @@ -1,5 +1,6 @@ -// License: MPL-2.0 -// (c) 2022 Armin Preiml <apreiml@strohwolke.at> +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> + use crypto::aes; use bytes; use crypto::cipher; diff --git a/crypto/argon2/+test.ha b/crypto/argon2/+test.ha @@ -1,6 +1,6 @@ -// License: MPL-2.0 -// (c) 2021-2022 Armin Preiml <apreiml@strohwolke.at> -// (c) 2022 Drew DeVault <sir@cmpwn.com> +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> + use bytes; use encoding::hex; use strings; diff --git a/crypto/argon2/argon2.ha b/crypto/argon2/argon2.ha @@ -1,3 +1,6 @@ +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> + // (c) 2022 Alexey Yerin <yyp@disroot.org> // (c) 2021-2022 Armin Preiml <apreiml@strohwolke.at> // (c) 2021-2022 Drew DeVault <sir@cmpwn.com> diff --git a/crypto/authenc.ha b/crypto/authenc.ha @@ -1,6 +1,6 @@ -// License: MPL-2.0 -// (c) 2023 Armin Preiml <apreiml@strohwolke.at> -// (c) 2023 Drew DeVault <sir@cmpwn.com> +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> + use bytes; use crypto::chachapoly; use crypto::math; diff --git a/crypto/bcrypt/+test.ha b/crypto/bcrypt/+test.ha @@ -1,3 +1,6 @@ +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> + use strings; use fmt; diff --git a/crypto/bcrypt/base64.ha b/crypto/bcrypt/base64.ha @@ -1,7 +1,6 @@ -// License: MPL-2.0 -// (c) 2011 The Go Authors -// (c) 2022 Drew DeVault <sir@cmpwn.com> -// +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> + // bcrypt uses a crappy variant of base64 with its own special alphabet and no // padding. This file glues encoding::base64 to the bcrypt semantics. use encoding::base64; diff --git a/crypto/bcrypt/bcrypt.ha b/crypto/bcrypt/bcrypt.ha @@ -1,7 +1,6 @@ -// License: MPL-2.0 -// (c) 2011 The Go Authors -// (c) 2022 Drew DeVault <sir@cmpwn.com> -// +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> + // This implementation is not great, but neither is this algorithm. Mostly // ported from Go. // diff --git a/crypto/bigint/+test/arithm_test.ha b/crypto/bigint/+test/arithm_test.ha @@ -1,3 +1,6 @@ +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> + use bytes; @test fn add() void = { diff --git a/crypto/bigint/+test/encoding_test.ha b/crypto/bigint/+test/encoding_test.ha @@ -1,3 +1,6 @@ +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> + use bytes; @test fn encode() void = { diff --git a/crypto/bigint/+test/monty_test.ha b/crypto/bigint/+test/monty_test.ha @@ -1,3 +1,5 @@ +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> @test fn montyencode() void = { let m = fromhex("0010000061"); diff --git a/crypto/bigint/+test/utils.ha b/crypto/bigint/+test/utils.ha @@ -1,3 +1,6 @@ +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> + use encoding::hex; // The caller must free the result. diff --git a/crypto/bigint/arithm.ha b/crypto/bigint/arithm.ha @@ -1,3 +1,6 @@ +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> + // The following code was initially ported from BearSSL. // // Copyright (c) 2017 Thomas Pornin <pornin@bolet.org> diff --git a/crypto/bigint/encoding.ha b/crypto/bigint/encoding.ha @@ -1,3 +1,6 @@ +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> + // The following code was initially ported from BearSSL. // // Copyright (c) 2017 Thomas Pornin <pornin@bolet.org> diff --git a/crypto/bigint/monty.ha b/crypto/bigint/monty.ha @@ -1,3 +1,6 @@ +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> + // The following code was initially ported from BearSSL. // // Copyright (c) 2017 Thomas Pornin <pornin@bolet.org> diff --git a/crypto/bigint/types.ha b/crypto/bigint/types.ha @@ -1,3 +1,6 @@ +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> + // A big integer is stored in an array of words. The first word holds // information about the effective size of the big integer. The subsequend // words encode the value in little-endian order. The [[WORD_BITMASK]] masks the diff --git a/crypto/bigint/util.ha b/crypto/bigint/util.ha @@ -1,3 +1,6 @@ +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> + // The following code was initially ported from BearSSL. // // Copyright (c) 2017 Thomas Pornin <pornin@bolet.org> diff --git a/crypto/blake2b/+test.ha b/crypto/blake2b/+test.ha @@ -1,8 +1,6 @@ -// License: MPL-2.0 -// (c) 2022 Alexey Yerin <yyp@disroot.org> -// (c) 2021 Armin Preiml <apreiml@strohwolke.at> -// (c) 2021 Drew DeVault <sir@cmpwn.com> -// (c) 2021 Ember Sawady <ecs@d2evs.net> +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> + use bytes; use encoding::hex; use fmt; diff --git a/crypto/blake2b/blake2b.ha b/crypto/blake2b/blake2b.ha @@ -1,7 +1,6 @@ -// License: MPL-2.0 -// (c) 2021-2022 Armin Preiml <apreiml@strohwolke.at> -// (c) 2021 Drew DeVault <sir@cmpwn.com> -// (c) 2021 Ember Sawady <ecs@d2evs.net> +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> + use bytes; use crypto::math; use endian; diff --git a/crypto/blake2b/vectors+test.ha b/crypto/blake2b/vectors+test.ha @@ -1,5 +1,5 @@ -// License: MPL-2.0 -// (c) 2021 Ember Sawady <ecs@d2evs.net> +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> type vector = struct { in: str, diff --git a/crypto/blowfish/+test.ha b/crypto/blowfish/+test.ha @@ -1,3 +1,6 @@ +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> + use bytes; use crypto::cipher; diff --git a/crypto/blowfish/blowfish.ha b/crypto/blowfish/blowfish.ha @@ -1,7 +1,7 @@ -// License: MPL-2.0 -// License: MIT -// (c) 2022 Drew DeVault <sir@cmpwn.com> +// SPDX-License-Identifier: MIT +// (c) Hare authors <https://harelang.org> // (c) 2010 The Go Authors. All rights reserved. + use bytes; use crypto::cipher; use endian; diff --git a/crypto/blowfish/const.ha b/crypto/blowfish/const.ha @@ -1,6 +1,5 @@ -// License: MPL-2.0 -// License: MIT -// (c) 2022 Drew DeVault <sir@cmpwn.com> +// SPDX-License-Identifier: MIT +// (c) Hare authors <https://harelang.org> // (c) 2010 The Go Authors. All rights reserved. const s0: [256]u32 = [ diff --git a/crypto/chacha/+test.ha b/crypto/chacha/+test.ha @@ -1,5 +1,6 @@ -// License: MPL-2.0 -// (c) 2022 Armin Preiml <apreiml@strohwolke.at> +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> + use bytes; use crypto::cipher; use io; diff --git a/crypto/chacha/chacha20.ha b/crypto/chacha/chacha20.ha @@ -1,5 +1,6 @@ -// License: MPL-2.0 -// (c) 2022 Armin Preiml <apreiml@strohwolke.at> +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> + use bytes; use crypto::cipher; use crypto::math::{rotl32, xor}; diff --git a/crypto/chachapoly/chachapoly.ha b/crypto/chachapoly/chachapoly.ha @@ -1,5 +1,6 @@ -// License: MPL-2.0 -// (c) 2023 Armin Preiml <apreiml@strohwolke.at> +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> + use bytes; use crypto::chacha; use crypto::mac; diff --git a/crypto/chachapoly/encryption+test.ha b/crypto/chachapoly/encryption+test.ha @@ -1,5 +1,6 @@ -// License: MPL-2.0 -// (c) 2023 Armin Preiml <apreiml@strohwolke.at> +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> + use bytes; use io; use memio; diff --git a/crypto/cipher/block.ha b/crypto/cipher/block.ha @@ -1,6 +1,5 @@ -// License: MPL-2.0 -// (c) 2021 Armin Preiml <apreiml@strohwolke.at> -// (c) 2021 Drew DeVault <sir@cmpwn.com> +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> // An abstract interface for implementing block ciphers. export type blockvtable = struct { diff --git a/crypto/cipher/cbc.ha b/crypto/cipher/cbc.ha @@ -1,6 +1,6 @@ -// License: MPL-2.0 -// (c) 2021 Armin Preiml <apreiml@strohwolke.at> -// (c) 2021 Drew DeVault <sir@cmpwn.com> +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> + use crypto::math; export type cbc_mode = struct { diff --git a/crypto/cipher/cipher.ha b/crypto/cipher/cipher.ha @@ -1,5 +1,5 @@ -// License: MPL-2.0 -// (c) 2021-2022 Armin Preiml <apreiml@strohwolke.at> +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> // Discards any state associated with a block or a stream cipher algorithm, // securely erasing secret data from memory. diff --git a/crypto/cipher/ctr.ha b/crypto/cipher/ctr.ha @@ -1,6 +1,6 @@ -// License: MPL-2.0 -// (c) 2022 Armin Preiml <apreiml@strohwolke.at> -// (c) 2022 Drew DeVault <sir@cmpwn.com> +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> + use bytes; use crypto::math; use crypto::math::{xor}; diff --git a/crypto/cipher/gcm.ha b/crypto/cipher/gcm.ha @@ -1,5 +1,6 @@ -// License: MPL-2.0 -// (c) 2022 Armin Preiml <apreiml@strohwolke.at> +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> + use bytes; use crypto::math::{xor,eqslice}; use endian::{beputu64, beputu32, begetu32}; diff --git a/crypto/cipher/ghash.ha b/crypto/cipher/ghash.ha @@ -1,3 +1,6 @@ +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> + // The following code was initially ported from BearSSL. // // Copyright (c) 2016 Thomas Pornin <pornin@bolet.org> diff --git a/crypto/cipher/stream.ha b/crypto/cipher/stream.ha @@ -1,5 +1,6 @@ -// License: MPL-2.0 -// (c) 2022 Armin Preiml <apreiml@strohwolke.at> +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> + use io; use crypto::math::{xor}; diff --git a/crypto/curve25519/+test.ha b/crypto/curve25519/+test.ha @@ -1,5 +1,6 @@ -// License: MPL-2.0 -// (c) 2021 Thomas Bracht Laumann Jespersen <t@laumann.xyz> +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> + use bytes; use fmt; use io; diff --git a/crypto/curve25519/curve25519.ha b/crypto/curve25519/curve25519.ha @@ -1,5 +1,6 @@ -// License: MPL-2.0 -// (c) 2021 Thomas Bracht Laumann Jespersen <t@laumann.xyz> +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> + use bytes; // Implements the curve25519 elliptic curve diff --git a/crypto/ed25519/+test.ha b/crypto/ed25519/+test.ha @@ -1,5 +1,6 @@ -// License: MPL-2.0 -// (c) 2022 Luke Champine <luke.champine@gmail.com> +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> + use bytes; use encoding::hex; use strings; diff --git a/crypto/ed25519/ed25519.ha b/crypto/ed25519/ed25519.ha @@ -1,5 +1,5 @@ -// License: MPL-2.0 -// (c) 2022 Luke Champine <luke.champine@gmail.com> +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> // Implements the Ed25519 signature scheme. // diff --git a/crypto/ed25519/edwards25519.ha b/crypto/ed25519/edwards25519.ha @@ -1,5 +1,5 @@ -// License: MPL-2.0 -// (c) 2022 Luke Champine <luke.champine@gmail.com> +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> def FIELDSZ: size = 16; type elem = [FIELDSZ]i64; diff --git a/crypto/hkdf/+test.ha b/crypto/hkdf/+test.ha @@ -1,5 +1,6 @@ -// License: MPL-2.0 -// (c) 2023 Armin Preiml <apreiml@strohwolke.at> +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> + use bytes; use crypto::sha1; use crypto::sha256; diff --git a/crypto/hkdf/hkdf.ha b/crypto/hkdf/hkdf.ha @@ -1,5 +1,6 @@ -// License: MPL-2.0 -// (c) 2023 Armin Preiml <apreiml@strohwolke.at> +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> + use bytes; use crypto::hmac; use crypto::mac; diff --git a/crypto/hmac/+test.ha b/crypto/hmac/+test.ha @@ -1,5 +1,6 @@ -// License: MPL-2.0 -// (c) 2021-2022 Armin Preiml <apreiml@strohwolke.at> +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> + use bytes; use crypto::mac; use crypto::sha1; diff --git a/crypto/hmac/hmac.ha b/crypto/hmac/hmac.ha @@ -1,6 +1,6 @@ -// License: MPL-2.0 -// (c) 2021-2022 Armin Preiml <apreiml@strohwolke.at> -// (c) 2021 Drew DeVault <sir@cmpwn.com> +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> + use bytes; use crypto::mac; use hash; diff --git a/crypto/hmac/sha1.ha b/crypto/hmac/sha1.ha @@ -1,5 +1,6 @@ -// License: MPL-2.0 -// (c) 2022 Drew DeVault <sir@cmpwn.com> +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> + use bytes; use crypto::mac; use crypto::sha1; diff --git a/crypto/hmac/sha256.ha b/crypto/hmac/sha256.ha @@ -1,5 +1,6 @@ -// License: MPL-2.0 -// (c) 2022 Armin Preiml <apreiml@strohwolke.at> +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> + use bytes; use crypto::mac; use crypto::sha256; diff --git a/crypto/keyderiv.ha b/crypto/keyderiv.ha @@ -1,5 +1,6 @@ -// License: MPL-2.0 -// (c) 2022 Drew DeVault <sir@cmpwn.com> +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> + use errors; use crypto::argon2; diff --git a/crypto/keystore/impl+linux.ha b/crypto/keystore/impl+linux.ha @@ -1,3 +1,6 @@ +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> + use errors; use linux::keyctl; diff --git a/crypto/keystore/impl.ha b/crypto/keystore/impl.ha @@ -1,3 +1,6 @@ +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> + // TODO: At least use mlock or something use bytes; use errors; diff --git a/crypto/mac/mac.ha b/crypto/mac/mac.ha @@ -1,5 +1,6 @@ -// License: MPL-2.0 -// (c) 2022 Armin Preiml <apreiml@strohwolke.at> +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> + use io; // TODO: Use a vtable-based approach like io::stream diff --git a/crypto/math/arithm.ha b/crypto/math/arithm.ha @@ -1,6 +1,6 @@ -// License: MPL-2.0 -// (c) 2022 Armin Preiml <apreiml@strohwolke.at> -// +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> + // The following code was initially ported from BearSSL. // // Copyright (c) 2017 Thomas Pornin <pornin@bolet.org> diff --git a/crypto/math/bits.ha b/crypto/math/bits.ha @@ -1,7 +1,5 @@ -// License: MPL-2.0 -// (c) 2021-2022 Armin Preiml <apreiml@strohwolke.at> -// (c) 2021 Drew DeVault <sir@cmpwn.com> -// (c) 2021 Thomas Bracht Laumann Jespersen <t@laumann.xyz> +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> // Rotates a 32-bit unsigned integer left by k bits. k may be negative to rotate // right instead, or see [[rotr32]]. diff --git a/crypto/poly1305/+test.ha b/crypto/poly1305/+test.ha @@ -1,5 +1,6 @@ -// License: MPL-2.0 -// (c) 2022 Armin Preiml <apreiml@strohwolke.at> +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> + use bytes; use crypto::mac; use encoding::hex; diff --git a/crypto/poly1305/poly1305.ha b/crypto/poly1305/poly1305.ha @@ -1,5 +1,5 @@ -// License: MPL-2.0 -// (c) 2022 Armin Preiml <apreiml@strohwolke.at> +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> // This implementation was ported from Loup Vaillant's monocypher project. diff --git a/crypto/random/+freebsd.ha b/crypto/random/+freebsd.ha @@ -1,6 +1,6 @@ -// License: MPL-2.0 -// (c) 2021 Drew DeVault <sir@cmpwn.com> -// (c) 2021 Ember Sawady <ecs@d2evs.net> +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> + use errors; use rt; use io; diff --git a/crypto/random/+linux.ha b/crypto/random/+linux.ha @@ -1,6 +1,6 @@ -// License: MPL-2.0 -// (c) 2021 Drew DeVault <sir@cmpwn.com> -// (c) 2021 Ember Sawady <ecs@d2evs.net> +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> + use errors; use rt; use io; diff --git a/crypto/random/random.ha b/crypto/random/random.ha @@ -1,6 +1,6 @@ -// License: MPL-2.0 -// (c) 2021 Drew DeVault <sir@cmpwn.com> -// (c) 2021 Ember Sawady <ecs@d2evs.net> +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> + use io; use rt; diff --git a/crypto/rsa/+test/core_test.ha b/crypto/rsa/+test/core_test.ha @@ -1,5 +1,6 @@ -// License: MPL-2.0 -// (c) 2022 Armin Preiml <apreiml@strohwolke.at> +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> + use bytes; use crypto::bigint::*; diff --git a/crypto/rsa/+test/keys_test.ha b/crypto/rsa/+test/keys_test.ha @@ -1,5 +1,6 @@ -// License: MPL-2.0 -// (c) 2022 Armin Preiml <apreiml@strohwolke.at> +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> + use bytes; type keypair = struct { diff --git a/crypto/rsa/+test/pkcs1_test.ha b/crypto/rsa/+test/pkcs1_test.ha @@ -1,5 +1,6 @@ -// License: MPL-2.0 -// (c) 2022 Armin Preiml <apreiml@strohwolke.at> +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> + use bytes; use crypto::sha1; use crypto::sha256; diff --git a/crypto/rsa/core.ha b/crypto/rsa/core.ha @@ -1,3 +1,6 @@ +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> + // The following code was initially ported from BearSSL. // // Copyright (c) 2016 Thomas Pornin <pornin@bolet.org> diff --git a/crypto/rsa/errors.ha b/crypto/rsa/errors.ha @@ -1,5 +1,6 @@ -// License: MPL-2.0 -// (c) 2022 Armin Preiml <apreiml@strohwolke.at> +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> + use errors; // Signature verification failed. diff --git a/crypto/rsa/keys.ha b/crypto/rsa/keys.ha @@ -1,5 +1,6 @@ -// License: MPL-2.0 -// (c) 2022 Armin Preiml <apreiml@strohwolke.at> +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> + use bytes; use crypto::bigint; use crypto::math::*; diff --git a/crypto/rsa/pkcs1.ha b/crypto/rsa/pkcs1.ha @@ -1,5 +1,6 @@ -// License: MPL-2.0 -// (c) 2022 Armin Preiml <apreiml@strohwolke.at> +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> + use bufio; use crypto::sha1; use crypto::sha256; diff --git a/crypto/salsa/+test.ha b/crypto/salsa/+test.ha @@ -1,5 +1,6 @@ -// License: MPL-2.0 -// (c) 2021 Armin Preiml <apreiml@strohwolke.at> +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> + use bytes; use crypto::cipher; use io; diff --git a/crypto/salsa/salsa20.ha b/crypto/salsa/salsa20.ha @@ -1,5 +1,6 @@ -// License: MPL-2.0 -// (c) 2021-2022 Armin Preiml <apreiml@strohwolke.at> +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> + use bytes; use crypto::cipher; use crypto::math::{rotl32, xor}; diff --git a/crypto/sha1/+test.ha b/crypto/sha1/+test.ha @@ -1,7 +1,6 @@ -// License: MPL-2.0 -// (c) 2021 Drew DeVault <sir@cmpwn.com> -// (c) 2021 Kiëd Llaentenn <kiedtl@tilde.team> -// (c) 2021 Thomas Bracht Laumann Jespersen <t@laumann.xyz> +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> + use fmt; use hash; use strings; diff --git a/crypto/sha1/sha1.ha b/crypto/sha1/sha1.ha @@ -1,8 +1,6 @@ -// License: MPL-2.0 -// (c) 2021-2022 Armin Preiml <apreiml@strohwolke.at> -// (c) 2021 Drew DeVault <sir@cmpwn.com> -// (c) 2021 Kiëd Llaentenn <kiedtl@tilde.team> -// (c) 2021 Thomas Bracht Laumann Jespersen <t@laumann.xyz> +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> + use hash; use io; use bytes; diff --git a/crypto/sha256/+test.ha b/crypto/sha256/+test.ha @@ -1,7 +1,6 @@ -// License: MPL-2.0 -// (c) 2021 Drew DeVault <sir@cmpwn.com> -// (c) 2021 Kiëd Llaentenn <kiedtl@tilde.team> -// (c) 2021 Thomas Bracht Laumann Jespersen <t@laumann.xyz> +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> + use fmt; use hash; use strings; diff --git a/crypto/sha256/sha256.ha b/crypto/sha256/sha256.ha @@ -1,7 +1,6 @@ -// License: MPL-2.0 -// (c) 2022 Armin Preiml <apreiml@strohwolke.at> -// (c) 2021 Drew DeVault <sir@cmpwn.com> -// (c) 2021 Kiëd Llaentenn <kiedtl@tilde.team> +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> + use crypto::math; use bytes; use endian; diff --git a/crypto/sha512/+test.ha b/crypto/sha512/+test.ha @@ -1,7 +1,6 @@ -// License: MPL-2.0 -// (c) 2021 Drew DeVault <sir@cmpwn.com> -// (c) 2021 Kiëd Llaentenn <kiedtl@tilde.team> -// (c) 2021 Thomas Bracht Laumann Jespersen <t@laumann.xyz> +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> + use fmt; use hash; use strings; diff --git a/crypto/sha512/sha512.ha b/crypto/sha512/sha512.ha @@ -1,9 +1,6 @@ -// License: MPL-2.0 -// (c) 2021-2022 Armin Preiml <apreiml@strohwolke.at> -// (c) 2021 Drew DeVault <sir@cmpwn.com> -// (c) 2021 Ember Sawady <ecs@d2evs.net> -// (c) 2021 Kiëd Llaentenn <kiedtl@tilde.team> -// (c) 2021 Thomas Bracht Laumann Jespersen <t@laumann.xyz> +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> + use bytes; use crypto::math; use endian; diff --git a/crypto/x25519/+test.ha b/crypto/x25519/+test.ha @@ -1,5 +1,6 @@ -// License: MPL-2.0 -// (c) 2022 Armin Preiml <apreiml@strohwolke.at> +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> + use bytes; use encoding::hex; use crypto::random; diff --git a/crypto/x25519/x25519.ha b/crypto/x25519/x25519.ha @@ -1,5 +1,6 @@ -// License: MPL-2.0 -// (c) 2022 Armin Preiml <apreiml@strohwolke.at> +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> + use crypto::curve25519; // Type for private, public or shared keys. diff --git a/dirs/xdg.ha b/dirs/xdg.ha @@ -1,9 +1,6 @@ -// License: MPL-2.0 -// (c) 2021-2022 Drew DeVault <sir@cmpwn.com> -// (c) 2021 Ember Sawady <ecs@d2evs.net> -// (c) 2022 Sebastian <sebastian@sebsite.pw> -// (c) 2022 Jon Eskin <eskinjp@gmail.com> -// (c) 2022 Simon Ser <contact@emersion.fr> +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> + use errors; use fmt; use fs; diff --git a/encoding/base32/base32.ha b/encoding/base32/base32.ha @@ -1,5 +1,6 @@ -// License: MPL-2.0 -// (c) 2022 Ajay R <ar324@protonmail.com> +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> + use ascii; use bytes; use errors; diff --git a/encoding/base64/base64.ha b/encoding/base64/base64.ha @@ -1,10 +1,6 @@ -// License: MPL-2.0 -// (c) 2022 Ajay R <ar324@protonmail.com> -// (c) 2021 Drew DeVault <sir@cmpwn.com> -// (c) 2021 Ember Sawady <ecs@d2evs.net> -// (c) 2021 Steven Guikal <void@fluix.one> -// (c) 2021 Thomas Bracht Laumann Jespersen <t@laumann.xyz> -// (c) 2023 Armin Preiml <apreiml@strohwolke.at> +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> + use ascii; use bytes; use errors; diff --git a/encoding/hex/hex.ha b/encoding/hex/hex.ha @@ -1,8 +1,6 @@ -// License: MPL-2.0 -// (c) 2021-2022 Alexey Yerin <yyp@disroot.org> -// (c) 2021 Drew DeVault <sir@cmpwn.com> -// (c) 2021 Ember Sawady <ecs@d2evs.net> -// (c) 2022 Sebastian <sebastian@sebsite.pw> +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> + use ascii; use bytes; use errors; diff --git a/encoding/pem/+test.ha b/encoding/pem/+test.ha @@ -1,5 +1,6 @@ -// License: MPL-2.0 -// (c) 2022 Drew DeVault <sir@cmpwn.com> +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> + use bytes; use io; use fmt; diff --git a/encoding/pem/pem.ha b/encoding/pem/pem.ha @@ -1,5 +1,6 @@ -// License: MPL-2.0 -// (c) 2022 Drew DeVault <sir@cmpwn.com> +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> + use ascii; use bufio; use encoding::base64; diff --git a/encoding/utf8/decode.ha b/encoding/utf8/decode.ha @@ -1,7 +1,5 @@ -// License: MPL-2.0 -// (c) 2021 Bor Grošelj Simić <bor.groseljsimic@telemach.net> -// (c) 2021 Drew DeVault <sir@cmpwn.com> -// (c) 2021 Ember Sawady <ecs@d2evs.net> +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> fn toutf8(in: str) []u8 = *(&in: *[]u8); diff --git a/encoding/utf8/decodetable.ha b/encoding/utf8/decodetable.ha @@ -1,3 +1,6 @@ +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> + let table: [8][256]i8 = [ [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, diff --git a/encoding/utf8/encode.ha b/encoding/utf8/encode.ha @@ -1,5 +1,5 @@ -// License: MPL-2.0 -// (c) 2021 Drew DeVault <sir@cmpwn.com> +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> // Encodes a rune as UTF-8 and returns the result as a slice. The return value // is statically allocated, and will not be consistent after subsequent calls to diff --git a/encoding/utf8/rune.ha b/encoding/utf8/rune.ha @@ -1,5 +1,5 @@ -// License: MPL-2.0 -// (c) 2021 Drew DeVault <sir@cmpwn.com> +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> type rsize = struct { mask: u8, diff --git a/endian/big.ha b/endian/big.ha @@ -1,6 +1,5 @@ -// License: MPL-2.0 -// (c) 2021 Armin Weigl <tb46305@gmail.com> -// (c) 2021 Drew DeVault <sir@cmpwn.com> +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> // Reads a u16 from a buffer in big-endian order. export fn begetu16(buf: []u8) u16 = { diff --git a/endian/endian.ha b/endian/endian.ha @@ -1,6 +1,5 @@ -// License: MPL-2.0 -// (c) 2021 Armin Weigl <tb46305@gmail.com> -// (c) 2021 Drew DeVault <sir@cmpwn.com> +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> // The set of functions used for endian-aware encoding. export type endian = struct { diff --git a/endian/host+aarch64.ha b/endian/host+aarch64.ha @@ -1,5 +1,5 @@ -// License: MPL-2.0 -// (c) 2021 Drew DeVault <sir@cmpwn.com> +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> // The [[endian]] functions which map to the host architecture. export const host: *endian = &little; diff --git a/endian/host+riscv64.ha b/endian/host+riscv64.ha @@ -1,5 +1,5 @@ -// License: MPL-2.0 -// (c) 2021 Drew DeVault <sir@cmpwn.com> +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> // The [[endian]] functions which map to the host architecture. export const host: *endian = &little; diff --git a/endian/host+x86_64.ha b/endian/host+x86_64.ha @@ -1,5 +1,5 @@ -// License: MPL-2.0 -// (c) 2021 Drew DeVault <sir@cmpwn.com> +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> // The [[endian]] functions which map to the host architecture. export const host: *endian = &little; diff --git a/endian/little.ha b/endian/little.ha @@ -1,6 +1,5 @@ -// License: MPL-2.0 -// (c) 2021 Armin Weigl <tb46305@gmail.com> -// (c) 2021 Drew DeVault <sir@cmpwn.com> +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> // Reads a u16 from a buffer in little-endian order. export fn legetu16(buf: []u8) u16 = { diff --git a/endian/network.ha b/endian/network.ha @@ -1,5 +1,5 @@ -// License: MPL-2.0 -// (c) 2021 Drew DeVault <sir@cmpwn.com> +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> // Converts a u16 from host order to network order. export fn htonu16(in: u16) u16 = { diff --git a/errors/common.ha b/errors/common.ha @@ -1,7 +1,5 @@ -// License: MPL-2.0 -// (c) 2021 Drew DeVault <sir@cmpwn.com> -// (c) 2021 Ember Sawady <ecs@d2evs.net> -// (c) 2021 Noah Altunian <nbaltunian@gmail.com> +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> // The requested resource is not available. export type busy = !void; diff --git a/errors/opaque.ha b/errors/opaque.ha @@ -1,6 +1,5 @@ -// License: MPL-2.0 -// (c) 2021 Drew DeVault <sir@cmpwn.com> -// (c) 2021 Ember Sawady <ecs@d2evs.net> +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> // An "opaque" error is used as a portable error type for an underlying error // which is implementation-specific. It provides a function which can be used to diff --git a/errors/rt.ha b/errors/rt.ha @@ -1,5 +1,6 @@ -// License: MPL-2.0 -// (c) 2021 Drew DeVault <sir@cmpwn.com> +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> + use rt; // Wraps an [[rt::errno]] to produce an [[errors::opaque_]]. This is a non-portable diff --git a/errors/string.ha b/errors/string.ha @@ -1,6 +1,5 @@ -// License: MPL-2.0 -// (c) 2021 Drew DeVault <sir@cmpwn.com> -// (c) 2021 Ember Sawady <ecs@d2evs.net> +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> // Converts an [[error]] into a human-friendly string representation. // diff --git a/fmt/fmt.ha b/fmt/fmt.ha @@ -1,10 +1,6 @@ -// License: MPL-2.0 -// (c) 2022 Alexey Yerin <yyp@disroot.org> -// (c) 2021 Andri Yngvason <andri@yngvason.is> -// (c) 2021-2022 Bor Grošelj Simić <bor.groseljsimic@telemach.net> -// (c) 2021 Byron Torres <b@torresjrjr.com> -// (c) 2021 Drew DeVault <sir@cmpwn.com> -// (c) 2021 Ember Sawady <ecs@d2evs.net> +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> + use ascii; use encoding::utf8; use io; diff --git a/fnmatch/+test.ha b/fnmatch/+test.ha @@ -1,5 +1,5 @@ -// License: MPL-2.0 -// (c) 2021 Bor Grošelj Simić <bor.groseljsimic@telemach.net> +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> type testcase = (str, str, bool, []flag); diff --git a/fnmatch/fnmatch.ha b/fnmatch/fnmatch.ha @@ -1,10 +1,6 @@ -// License: MPL-2.0 -// (c) 2021 Alexey Yerin <yyp@disroot.org> -// (c) 2021 Bor Grošelj Simić <bor.groseljsimic@telemach.net> -// (c) 2021 Drew DeVault <sir@cmpwn.com> -// (c) 2021 Ember Sawady <ecs@d2evs.net> -// (c) 2021 Miccah Castorina <contact@miccah.io> -// (c) 2021 Thomas Bracht Laumann Jespersen <t@laumann.xyz> +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> + use ascii; use errors; use strings; diff --git a/format/elf/arch+aarch64.ha b/format/elf/arch+aarch64.ha @@ -1,5 +1,5 @@ -// License: MPL-2.0 -// (c) 2021 Drew DeVault <sir@cmpwn.com> +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> // The machine (architecture) of the target. export def TARGET_MACHINE: elf_machine = elf_machine::AARCH64; diff --git a/format/elf/arch+riscv64.ha b/format/elf/arch+riscv64.ha @@ -1,5 +1,5 @@ -// License: MPL-2.0 -// (c) 2021 Drew DeVault <sir@cmpwn.com> +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> // The machine (architecture) of the target. export def TARGET_MACHINE: elf_machine = elf_machine::RISCV; diff --git a/format/elf/arch+x86_64.ha b/format/elf/arch+x86_64.ha @@ -1,5 +1,5 @@ -// License: MPL-2.0 -// (c) 2021 Drew DeVault <sir@cmpwn.com> +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> // The machine (architecture) of the target. export def TARGET_MACHINE: elf_machine = elf_machine::X86_64; diff --git a/format/elf/platform+freebsd.ha b/format/elf/platform+freebsd.ha @@ -1,5 +1,5 @@ -// License: MPL-2.0 -// (c) 2021 Drew DeVault <sir@cmpwn.com> +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> // The ABI of the target. export def TARGET_ABI: ident_abi = ident_abi::SYSV; diff --git a/format/elf/platform+linux.ha b/format/elf/platform+linux.ha @@ -1,5 +1,5 @@ -// License: MPL-2.0 -// (c) 2021 Drew DeVault <sir@cmpwn.com> +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> // The ABI of the target. export def TARGET_ABI: ident_abi = ident_abi::SYSV; diff --git a/format/elf/types.ha b/format/elf/types.ha @@ -1,7 +1,5 @@ -// License: MPL-2.0 -// (c) 2021-2022 Alexey Yerin <yyp@disroot.org> -// (c) 2021 Drew DeVault <sir@cmpwn.com> -// (c) 2021 Mykyta Holubakha <hilobakho@gmail.com> +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> // TODO: // - Flesh out ELF32 structures diff --git a/format/ini/+test.ha b/format/ini/+test.ha @@ -1,5 +1,6 @@ -// License: MPL-2.0 -// (c) 2021-2022 Alexey Yerin <yyp@disroot.org> +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> + use io; use memio; use strings; diff --git a/format/ini/scan.ha b/format/ini/scan.ha @@ -1,8 +1,6 @@ -// License: MPL-2.0 -// (c) 2021 Alexey Yerin <yyp@disroot.org> -// (c) 2021 Drew DeVault <sir@cmpwn.com> -// (c) 2021 Ember Sawady <ecs@d2evs.net> -// (c) 2021 Thomas Bracht Laumann Jespersen <t@laumann.xyz> +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> + use bufio; use encoding::utf8; use fmt; diff --git a/format/ini/types.ha b/format/ini/types.ha @@ -1,7 +1,6 @@ -// License: MPL-2.0 -// (c) 2021 Alexey Yerin <yyp@disroot.org> -// (c) 2021 Drew DeVault <sir@cmpwn.com> -// (c) 2021 Ember Sawady <ecs@d2evs.net> +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> + use encoding::utf8; use fmt; use io; diff --git a/format/tar/reader.ha b/format/tar/reader.ha @@ -1,5 +1,6 @@ -// License: MPL-2.0 -// (c) 2022 Drew DeVault <sir@cmpwn.com> +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> + use bytes; use endian; use io; diff --git a/format/tar/types.ha b/format/tar/types.ha @@ -1,5 +1,6 @@ -// License: MPL-2.0 -// (c) 2022 Drew DeVault <sir@cmpwn.com> +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> + use io; // The size of each block in a tar file. diff --git a/fs/fs.ha b/fs/fs.ha @@ -1,11 +1,6 @@ -// License: MPL-2.0 -// (c) 2021 Alexey Yerin <yyp@disroot.org> -// (c) 2021-2022 Bor Grošelj Simić <bor.groseljsimic@telemach.net> -// (c) 2021-2022 Drew DeVault <sir@cmpwn.com> -// (c) 2021 Ember Sawady <ecs@d2evs.net> -// (c) 2021 Thomas Bracht Laumann Jespersen <t@laumann.xyz> -// (c) 2021 Umar Getagazov <umar@handlerug.me> -// (c) 2022 Jon Eskin <eskinjp@gmail.com> +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> + use errors; use io; use path; diff --git a/fs/types.ha b/fs/types.ha @@ -1,8 +1,6 @@ -// License: MPL-2.0 -// (c) 2021 Alexey Yerin <yyp@disroot.org> -// (c) 2021 Drew DeVault <sir@cmpwn.com> -// (c) 2021 Ember Sawady <ecs@d2evs.net> -// (c) 2022 Jon Eskin <eskinjp@gmail.com> +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> + use errors; use io; use path; diff --git a/fs/util.ha b/fs/util.ha @@ -1,8 +1,6 @@ -// License: MPL-2.0 -// (c) 2022 Bor Grošelj Simić <bor.groseljsimic@telemach.net> -// (c) 2021-2022 Drew DeVault <sir@cmpwn.com> -// (c) 2021 Ember Sawady <ecs@d2evs.net> -// (c) 2021 Thomas Bracht Laumann Jespersen <t@laumann.xyz> +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> + use io; use path; use strings; diff --git a/getopt/getopts.ha b/getopt/getopts.ha @@ -1,10 +1,6 @@ -// License: MPL-2.0 -// (c) 2021 Alexey Yerin <yyp@disroot.org> -// (c) 2021 Byron Torres <b@torresjrjr.com> -// (c) 2021 Drew DeVault <sir@cmpwn.com> -// (c) 2021 Ember Sawady <ecs@d2evs.net> -// (c) 2021 Jonathan Halmen <slowjo@halmen.xyz> -// (c) 2021 Thomas Bracht Laumann Jespersen <t@laumann.xyz> +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> + use fmt; use io; use os; diff --git a/glob/+test.ha b/glob/+test.ha @@ -1,3 +1,6 @@ +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> + use fnmatch; use strings; diff --git a/glob/glob.ha b/glob/glob.ha @@ -1,5 +1,6 @@ -// License: MPL-2.0 -// (c) 2022 Yasumasa Tada <ytada@spartan.dev> +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> + use fnmatch; use fs; use io; diff --git a/hare/ast/decl.ha b/hare/ast/decl.ha @@ -1,6 +1,6 @@ -// License: MPL-2.0 -// (c) 2021 Drew DeVault <sir@cmpwn.com> -// (c) 2021 Ember Sawady <ecs@d2evs.net> +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> + use hare::lex; // A constant declaration. diff --git a/hare/ast/expr.ha b/hare/ast/expr.ha @@ -1,7 +1,6 @@ -// License: MPL-2.0 -// (c) 2021 Drew DeVault <sir@cmpwn.com> -// (c) 2021 Ember Sawady <ecs@d2evs.net> -// (c) 2022 Sebastian <sebastian@sebsite.pw> +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> + use hare::lex; // An identifier access expression. diff --git a/hare/ast/ident.ha b/hare/ast/ident.ha @@ -1,7 +1,6 @@ -// License: MPL-2.0 -// (c) 2022 Bor Grošelj Simić <bor.groseljsimic@telemach.net> -// (c) 2021 Drew DeVault <sir@cmpwn.com> -// (c) 2021 Ember Sawady <ecs@d2evs.net> +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> + use strings; // Identifies a single object, e.g. foo::bar::baz. diff --git a/hare/ast/import.ha b/hare/ast/import.ha @@ -1,6 +1,6 @@ -// License: MPL-2.0 -// (c) 2021 Drew DeVault <sir@cmpwn.com> -// (c) 2021 Ember Sawady <ecs@d2evs.net> +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> + use hare::lex; // Variants of the import statement diff --git a/hare/ast/type.ha b/hare/ast/type.ha @@ -1,7 +1,6 @@ -// License: MPL-2.0 -// (c) 2021 Alexey Yerin <yyp@disroot.org> -// (c) 2021 Drew DeVault <sir@cmpwn.com> -// (c) 2021 Ember Sawady <ecs@d2evs.net> +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> + use hare::lex; // A type alias. diff --git a/hare/ast/unit.ha b/hare/ast/unit.ha @@ -1,6 +1,5 @@ -// License: MPL-2.0 -// (c) 2021 Drew DeVault <sir@cmpwn.com> -// (c) 2021 Ember Sawady <ecs@d2evs.net> +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> // A sub-unit, typically representing a single source file. export type subunit = struct { diff --git a/hare/lex/+test.ha b/hare/lex/+test.ha @@ -1,10 +1,6 @@ -// License: MPL-2.0 -// (c) 2022 Alexey Yerin <yyp@disroot.org> -// (c) 2021 Armin Weigl <tb46305@gmail.com> -// (c) 2021 Bor Grošelj Simić <bor.groseljsimic@telemach.net> -// (c) 2021 Drew DeVault <sir@cmpwn.com> -// (c) 2021 Ember Sawady <ecs@d2evs.net> -// (c) 2021 Sudipto Mallick <smlckz@disroot.org> +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> + use fmt; use io; use io::{mode}; diff --git a/hare/lex/lex.ha b/hare/lex/lex.ha @@ -1,10 +1,6 @@ -// License: MPL-2.0 -// (c) 2021-2022 Alexey Yerin <yyp@disroot.org> -// (c) 2021 Armin Weigl <tb46305@gmail.com> -// (c) 2021 Bor Grošelj Simić <bor.groseljsimic@telemach.net> -// (c) 2021 Drew DeVault <sir@cmpwn.com> -// (c) 2021 Ember Sawady <ecs@d2evs.net> -// (c) 2021 Sudipto Mallick <smlckz@disroot.org> +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> + use ascii; use bufio; use encoding::utf8; diff --git a/hare/lex/token.ha b/hare/lex/token.ha @@ -1,7 +1,6 @@ -// License: MPL-2.0 -// (c) 2021 Bor Grošelj Simić <bor.groseljsimic@telemach.net> -// (c) 2021 Drew DeVault <sir@cmpwn.com> -// (c) 2021 Ember Sawady <ecs@d2evs.net> +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> + use encoding::utf8; use strings; diff --git a/hare/module/cache.ha b/hare/module/cache.ha @@ -1,3 +1,6 @@ +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> + use path; // Gets the cache directory for a given module, given the value of 'harecache'. diff --git a/hare/module/deps.ha b/hare/module/deps.ha @@ -1,3 +1,6 @@ +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> + use bufio; use fmt; use fs; diff --git a/hare/module/format.ha b/hare/module/format.ha @@ -1,3 +1,6 @@ +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> + use time::date; use fmt; use hare::unparse; diff --git a/hare/module/srcs.ha b/hare/module/srcs.ha @@ -1,3 +1,6 @@ +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> + use bytes; use fs; use hare::ast; diff --git a/hare/module/types.ha b/hare/module/types.ha @@ -1,3 +1,6 @@ +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> + use encoding::utf8; use fs; use hare::ast; diff --git a/hare/module/util.ha b/hare/module/util.ha @@ -1,3 +1,6 @@ +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> + use ascii; use fs; use os; diff --git a/hare/parse/+test/expr_test.ha b/hare/parse/+test/expr_test.ha @@ -1,9 +1,5 @@ -// License: MPL-2.0 -// (c) 2021 Alexey Yerin <yyp@disroot.org> -// (c) 2021 Bor Grošelj Simić <bor.groseljsimic@telemach.net> -// (c) 2021 Drew DeVault <sir@cmpwn.com> -// (c) 2021 Ember Sawady <ecs@d2evs.net> -// (c) 2022 Sebastian <sebastian@sebsite.pw> +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> @test fn assignment() void = { roundtrip("export fn main() void = { diff --git a/hare/parse/+test/ident_test.ha b/hare/parse/+test/ident_test.ha @@ -1,6 +1,6 @@ -// License: MPL-2.0 -// (c) 2022 Alexey Yerin <yyp@disroot.org> -// (c) 2021 Drew DeVault <sir@cmpwn.com> +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> + use hare::ast; use hare::lex; use hare::lex::{ltok}; diff --git a/hare/parse/+test/loc.ha b/hare/parse/+test/loc.ha @@ -1,7 +1,6 @@ -// License: MPL-2.0 -// (c) 2022 Alexey Yerin <yyp@disroot.org> -// (c) 2021 Drew DeVault <sir@cmpwn.com> -// (c) 2021 Ember Sawady <ecs@d2evs.net> +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> + use encoding::utf8; use fmt; use hare::ast; diff --git a/hare/parse/+test/roundtrip.ha b/hare/parse/+test/roundtrip.ha @@ -1,8 +1,6 @@ -// License: MPL-2.0 -// (c) 2022 Alexey Yerin <yyp@disroot.org> -// (c) 2021 Drew DeVault <sir@cmpwn.com> -// (c) 2021 Ember Sawady <ecs@d2evs.net> -// (c) 2022 Sebastian <sebastian@sebsite.pw> +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> + use fmt; use hare::ast; use hare::lex; diff --git a/hare/parse/+test/types.ha b/hare/parse/+test/types.ha @@ -1,5 +1,5 @@ -// License: MPL-2.0 -// (c) 2021 Drew DeVault <sir@cmpwn.com> +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> @test fn struct_union() void = { roundtrip("export type foo = struct { diff --git a/hare/parse/+test/unit_test.ha b/hare/parse/+test/unit_test.ha @@ -1,9 +1,6 @@ -// License: MPL-2.0 -// (c) 2022 Alexey Yerin <yyp@disroot.org> -// (c) 2021 Armin Weigl <tb46305@gmail.com> -// (c) 2021 Drew DeVault <sir@cmpwn.com> -// (c) 2021 Ember Sawady <ecs@d2evs.net> -// (c) 2022 Sebastian <sebastian@sebsite.pw> +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> + use hare::ast; use hare::lex; use io::{mode}; diff --git a/hare/parse/decl.ha b/hare/parse/decl.ha @@ -1,6 +1,6 @@ -// License: MPL-2.0 -// (c) 2021 Drew DeVault <sir@cmpwn.com> -// (c) 2021 Ember Sawady <ecs@d2evs.net> +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> + use ascii; use hare::ast; use hare::lex::{ltok}; diff --git a/hare/parse/doc/doc.ha b/hare/parse/doc/doc.ha @@ -1,9 +1,6 @@ -// License: GPL-3.0 -// (c) 2022 Alexey Yerin <yyp@disroot.org> -// (c) 2021 Drew DeVault <sir@cmpwn.com> -// (c) 2021 Ember Sawady <ecs@d2evs.net> -// (c) 2021 Thomas Bracht Laumann Jespersen <t@laumann.xyz> -// (c) 2022 Umar Getagazov <umar@handlerug.me> +// SPDX-License-Identifier: GPL-3.0-only +// (c) Hare authors <https://harelang.org> + use ascii; use bufio; use encoding::utf8; diff --git a/hare/parse/expr.ha b/hare/parse/expr.ha @@ -1,9 +1,6 @@ -// License: MPL-2.0 -// (c) 2021 Alexey Yerin <yyp@disroot.org> -// (c) 2021 Bor Grošelj Simić <bor.groseljsimic@telemach.net> -// (c) 2021 Drew DeVault <sir@cmpwn.com> -// (c) 2021 Ember Sawady <ecs@d2evs.net> -// (c) 2022 Sebastian <sebastian@sebsite.pw> +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> + use hare::ast; use hare::lex::{ltok}; use hare::lex; diff --git a/hare/parse/ident.ha b/hare/parse/ident.ha @@ -1,7 +1,6 @@ -// License: MPL-2.0 -// (c) 2022 Alexey Yerin <yyp@disroot.org> -// (c) 2021 Drew DeVault <sir@cmpwn.com> -// (c) 2021 Ember Sawady <ecs@d2evs.net> +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> + use hare::ast; use hare::lex::{ltok}; use hare::lex; diff --git a/hare/parse/import.ha b/hare/parse/import.ha @@ -1,6 +1,6 @@ -// License: MPL-2.0 -// (c) 2021 Drew DeVault <sir@cmpwn.com> -// (c) 2021 Ember Sawady <ecs@d2evs.net> +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> + use hare::ast; use hare::lex; use hare::lex::{ltok}; diff --git a/hare/parse/parse.ha b/hare/parse/parse.ha @@ -1,8 +1,6 @@ -// License: MPL-2.0 -// (c) 2022 Alexey Yerin <yyp@disroot.org> -// (c) 2021 Byron Torres <b@torresjrjr.com> -// (c) 2021 Drew DeVault <sir@cmpwn.com> -// (c) 2021 Ember Sawady <ecs@d2evs.net> +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> + use fmt; use hare::lex::{ltok}; use hare::lex; diff --git a/hare/parse/type.ha b/hare/parse/type.ha @@ -1,7 +1,6 @@ -// License: MPL-2.0 -// (c) 2021 Alexey Yerin <yyp@disroot.org> -// (c) 2021 Drew DeVault <sir@cmpwn.com> -// (c) 2021 Ember Sawady <ecs@d2evs.net> +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> + use hare::ast; use hare::ast::{builtin_type}; use hare::lex; diff --git a/hare/parse/unit.ha b/hare/parse/unit.ha @@ -1,6 +1,6 @@ -// License: MPL-2.0 -// (c) 2021 Drew DeVault <sir@cmpwn.com> -// (c) 2021 Ember Sawady <ecs@d2evs.net> +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> + use hare::ast; use hare::lex; diff --git a/hare/types/+aarch64/writesize.ha b/hare/types/+aarch64/writesize.ha @@ -1,3 +1,6 @@ +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> + use hash; fn writesize(h: *hash::hash, u: size) void = write64(h, u); diff --git a/hare/types/+riscv64/writesize.ha b/hare/types/+riscv64/writesize.ha @@ -1,3 +1,6 @@ +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> + use hash; fn writesize(h: *hash::hash, u: size) void = write64(h, u); diff --git a/hare/types/+test.ha b/hare/types/+test.ha @@ -1,9 +1,6 @@ -// License: MPL-2.0 -// (c) 2022 Alexey Yerin <yyp@disroot.org> -// (c) 2021 Bor Grošelj Simić <bor.groseljsimic@telemach.net> -// (c) 2021 Drew DeVault <sir@cmpwn.com> -// (c) 2021 Ember Sawady <ecs@d2evs.net> -// (c) 2022 Sebastian <sebastian@sebsite.pw> +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> + use fmt; use hare::ast; use hare::lex; diff --git a/hare/types/+x86_64/writesize.ha b/hare/types/+x86_64/writesize.ha @@ -1,3 +1,6 @@ +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> + use hash; fn writesize(h: *hash::hash, u: size) void = write64(h, u); diff --git a/hare/types/arch.ha b/hare/types/arch.ha @@ -1,5 +1,5 @@ -// License: MPL-2.0 -// (c) 2021 Drew DeVault <sir@cmpwn.com> +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> // Configuration for a specific architecture. export type arch = struct { diff --git a/hare/types/builtins.ha b/hare/types/builtins.ha @@ -1,5 +1,5 @@ -// License: MPL-2.0 -// (c) 2021 Drew DeVault <sir@cmpwn.com> +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> // IDs are precomputed, but a test verifies that they match what they would be // if computed at runtime diff --git a/hare/types/class.ha b/hare/types/class.ha @@ -1,6 +1,5 @@ -// License: MPL-2.0 -// (c) 2021 Drew DeVault <sir@cmpwn.com> -// (c) 2021 Ember Sawady <ecs@d2evs.net> +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> // Returns true if the given type is a signed type. export fn is_signed(ty: const *_type) bool = { diff --git a/hare/types/hash.ha b/hare/types/hash.ha @@ -1,6 +1,6 @@ -// License: MPL-2.0 -// (c) 2021 Drew DeVault <sir@cmpwn.com> -// (c) 2021 Ember Sawady <ecs@d2evs.net> +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> + use endian; use hash::fnv; use hash; diff --git a/hare/types/lookup.ha b/hare/types/lookup.ha @@ -1,6 +1,6 @@ -// License: MPL-2.0 -// (c) 2021 Drew DeVault <sir@cmpwn.com> -// (c) 2021 Ember Sawady <ecs@d2evs.net> +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> + use hare::ast; // Unwraps a type which may be aliased and returns the underlying type. diff --git a/hare/types/store.ha b/hare/types/store.ha @@ -1,7 +1,6 @@ -// License: MPL-2.0 -// (c) 2021 Alexey Yerin <yyp@disroot.org> -// (c) 2021 Drew DeVault <sir@cmpwn.com> -// (c) 2021 Ember Sawady <ecs@d2evs.net> +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> + use errors; use hare::ast; use sort; diff --git a/hare/types/types.ha b/hare/types/types.ha @@ -1,7 +1,6 @@ -// License: MPL-2.0 -// (c) 2021 Alexey Yerin <yyp@disroot.org> -// (c) 2021 Drew DeVault <sir@cmpwn.com> -// (c) 2021 Ember Sawady <ecs@d2evs.net> +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> + use hare::ast; // A type alias. diff --git a/hare/unit/+test.ha b/hare/unit/+test.ha @@ -1,6 +1,6 @@ -// License: MPL-2.0 -// (c) 2021-2022 Alexey Yerin <yyp@disroot.org> -// (c) 2021 Drew DeVault <sir@cmpwn.com> +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> + use hare::ast; use hare::lex; use hare::parse; diff --git a/hare/unit/check.ha b/hare/unit/check.ha @@ -1,6 +1,6 @@ -// License: MPL-2.0 -// (c) 2021 Alexey Yerin <yyp@disroot.org> -// (c) 2021 Drew DeVault <sir@cmpwn.com> +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> + use hare::ast; use hare::types; diff --git a/hare/unit/context.ha b/hare/unit/context.ha @@ -1,5 +1,6 @@ -// License: MPL-2.0 -// (c) 2021 Drew DeVault <sir@cmpwn.com> +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> + use hare::types; type context = struct { diff --git a/hare/unit/errors.ha b/hare/unit/errors.ha @@ -1,5 +1,6 @@ -// License: MPL-2.0 -// (c) 2021 Drew DeVault <sir@cmpwn.com> +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> + use hare::types; // TODO: More errors diff --git a/hare/unit/expr.ha b/hare/unit/expr.ha @@ -1,5 +1,6 @@ -// License: MPL-2.0 -// (c) 2021 Drew DeVault <sir@cmpwn.com> +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> + use hare::ast; use hare::lex; use hare::types; diff --git a/hare/unit/process.ha b/hare/unit/process.ha @@ -1,9 +1,6 @@ -// License: MPL-2.0 -// (c) 2021 Alexey Yerin <yyp@disroot.org> -// (c) 2021 Bor Grošelj Simić <bor.groseljsimic@telemach.net> -// (c) 2021 Drew DeVault <sir@cmpwn.com> -// (c) 2021 Ember Sawady <ecs@d2evs.net> -// (c) 2022 Sebastian <sebastian@sebsite.pw> +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> + use hare::ast; use hare::lex; use hare::types; diff --git a/hare/unit/scan.ha b/hare/unit/scan.ha @@ -1,7 +1,6 @@ -// License: MPL-2.0 -// (c) 2021 Alexey Yerin <yyp@disroot.org> -// (c) 2021 Drew DeVault <sir@cmpwn.com> -// (c) 2021 Ember Sawady <ecs@d2evs.net> +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> + use hare::ast; use hare::types; diff --git a/hare/unit/scope.ha b/hare/unit/scope.ha @@ -1,6 +1,6 @@ -// License: MPL-2.0 -// (c) 2021 Bor Grošelj Simić <bor.groseljsimic@telemach.net> -// (c) 2021 Drew DeVault <sir@cmpwn.com> +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> + use hare::ast; use hare::types; use hash::fnv; diff --git a/hare/unit/unit.ha b/hare/unit/unit.ha @@ -1,5 +1,6 @@ -// License: MPL-2.0 -// (c) 2021 Drew DeVault <sir@cmpwn.com> +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> + use hare::ast; use hare::lex; use hare::types; diff --git a/hare/unparse/decl.ha b/hare/unparse/decl.ha @@ -1,8 +1,6 @@ -// License: MPL-2.0 -// (c) 2021-2022 Alexey Yerin <yyp@disroot.org> -// (c) 2021 Drew DeVault <sir@cmpwn.com> -// (c) 2021 Ember Sawady <ecs@d2evs.net> -// (c) 2022 Sebastian <sebastian@sebsite.pw> +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> + use io; use fmt; use hare::ast; diff --git a/hare/unparse/expr.ha b/hare/unparse/expr.ha @@ -1,8 +1,6 @@ -// License: MPL-2.0 -// (c) 2021 Alexey Yerin <yyp@disroot.org> -// (c) 2021 Drew DeVault <sir@cmpwn.com> -// (c) 2021 Ember Sawady <ecs@d2evs.net> -// (c) 2022 Sebastian <sebastian@sebsite.pw> +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> + use io; use fmt; use hare::ast; diff --git a/hare/unparse/ident.ha b/hare/unparse/ident.ha @@ -1,7 +1,6 @@ -// License: MPL-2.0 -// (c) 2022 Alexey Yerin <yyp@disroot.org> -// (c) 2021 Drew DeVault <sir@cmpwn.com> -// (c) 2021 Ember Sawady <ecs@d2evs.net> +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> + use fmt; use hare::ast; use io; diff --git a/hare/unparse/import.ha b/hare/unparse/import.ha @@ -1,7 +1,6 @@ -// License: MPL-2.0 -// (c) 2022 Alexey Yerin <yyp@disroot.org> -// (c) 2021 Drew DeVault <sir@cmpwn.com> -// (c) 2021 Ember Sawady <ecs@d2evs.net> +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> + use fmt; use io; use hare::ast; diff --git a/hare/unparse/type.ha b/hare/unparse/type.ha @@ -1,7 +1,6 @@ -// License: MPL-2.0 -// (c) 2021-2022 Alexey Yerin <yyp@disroot.org> -// (c) 2021 Drew DeVault <sir@cmpwn.com> -// (c) 2021 Ember Sawady <ecs@d2evs.net> +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> + use fmt; use io; use hare::ast; diff --git a/hare/unparse/unit.ha b/hare/unparse/unit.ha @@ -1,6 +1,6 @@ -// License: MPL-2.0 -// (c) 2021 Drew DeVault <sir@cmpwn.com> -// (c) 2021 Ember Sawady <ecs@d2evs.net> +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> + use io; use fmt; use hare::ast; diff --git a/hare/unparse/util.ha b/hare/unparse/util.ha @@ -1,6 +1,6 @@ -// License: MPL-2.0 -// (c) 2021 Drew DeVault <sir@cmpwn.com> -// (c) 2021 Ember Sawady <ecs@d2evs.net> +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> + use io; use fmt; diff --git a/hash/adler32/adler32.ha b/hash/adler32/adler32.ha @@ -1,7 +1,6 @@ -// License: MPL-2.0 -// (c) 2021 Drew DeVault <sir@cmpwn.com> -// (c) 2021 Ember Sawady <ecs@d2evs.net> -// (c) 2021 Kiëd Llaentenn <kiedtl@tilde.team> +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> + use endian; use hash; use io; diff --git a/hash/crc16/crc16.ha b/hash/crc16/crc16.ha @@ -1,7 +1,6 @@ -// License: MPL-2.0 -// (c) 2021 Drew DeVault <sir@cmpwn.com> -// (c) 2021 Ember Sawady <ecs@d2evs.net> -// (c) 2021 Kiëd Llaentenn <kiedtl@tilde.team> +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> + use endian; use hash; use io; diff --git a/hash/crc32/crc32.ha b/hash/crc32/crc32.ha @@ -1,7 +1,6 @@ -// License: MPL-2.0 -// (c) 2021 Alexey Yerin <yyp@disroot.org> -// (c) 2021 Drew DeVault <sir@cmpwn.com> -// (c) 2021 Kiëd Llaentenn <kiedtl@tilde.team> +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> + use endian; use hash; use io; diff --git a/hash/crc64/crc64.ha b/hash/crc64/crc64.ha @@ -1,7 +1,6 @@ -// License: MPL-2.0 -// (c) 2021 Drew DeVault <sir@cmpwn.com> -// (c) 2021 Ember Sawady <ecs@d2evs.net> -// (c) 2021 Kiëd Llaentenn <kiedtl@tilde.team> +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> + use endian; use hash; use io; diff --git a/hash/fnv/+aarch64.ha b/hash/fnv/+aarch64.ha @@ -1,6 +1,5 @@ -// License: MPL-2.0 -// (c) 2021 Drew DeVault <sir@cmpwn.com> -// (c) 2022 Sebastian <sebastian@sebsite.pw> +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> // Hashes a string, returning a size key, for use in a hash map. export fn string(s: str) size = string64(s): size; diff --git a/hash/fnv/+riscv64.ha b/hash/fnv/+riscv64.ha @@ -1,6 +1,5 @@ -// License: MPL-2.0 -// (c) 2021 Drew DeVault <sir@cmpwn.com> -// (c) 2022 Sebastian <sebastian@sebsite.pw> +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> // Hashes a string, returning a size key, for use in a hash map. export fn string(s: str) size = string64(s): size; diff --git a/hash/fnv/+x86_64.ha b/hash/fnv/+x86_64.ha @@ -1,6 +1,5 @@ -// License: MPL-2.0 -// (c) 2021 Drew DeVault <sir@cmpwn.com> -// (c) 2022 Sebastian <sebastian@sebsite.pw> +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> // Hashes a string, returning a size key, for use in a hash map. export fn string(s: str) size = string64(s): size; diff --git a/hash/fnv/fnv.ha b/hash/fnv/fnv.ha @@ -1,6 +1,6 @@ -// License: MPL-2.0 -// (c) 2021 Drew DeVault <sir@cmpwn.com> -// (c) 2021 Kiëd Llaentenn <kiedtl@tilde.team> +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> + use endian; use hash; use io; diff --git a/hash/hash.ha b/hash/hash.ha @@ -1,7 +1,6 @@ -// License: MPL-2.0 -// (c) 2021 Armin Preiml <apreiml@strohwolke.at> -// (c) 2021 Drew DeVault <sir@cmpwn.com> -// (c) 2021 Kiëd Llaentenn <kiedtl@tilde.team> +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> + use io; use fmt; // TODO: Use a vtable-based approach for this like io::stream diff --git a/hash/siphash/+test.ha b/hash/siphash/+test.ha @@ -1,3 +1,6 @@ +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> + use endian; use fmt; use hash; diff --git a/hash/siphash/siphash.ha b/hash/siphash/siphash.ha @@ -1,3 +1,6 @@ +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> + use crypto::math::{rotl64}; use endian::{leputu64, legetu64}; use hash; diff --git a/io/+freebsd/mmap.ha b/io/+freebsd/mmap.ha @@ -1,6 +1,6 @@ -// License: MPL-2.0 -// (c) 2021 Drew DeVault <sir@cmpwn.com> -// (c) 2021 Ember Sawady <ecs@d2evs.net> +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> + use errors; use rt; diff --git a/io/+freebsd/platform_file.ha b/io/+freebsd/platform_file.ha @@ -1,6 +1,6 @@ -// License: MPL-2.0 -// (c) 2021-2022 Drew DeVault <sir@cmpwn.com> -// (c) 2021 Ember Sawady <ecs@d2evs.net> +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> + use errors; use rt; diff --git a/io/+freebsd/vector.ha b/io/+freebsd/vector.ha @@ -1,5 +1,6 @@ -// License: MPL-2.0 -// (c) 2021 Drew DeVault <sir@cmpwn.com> +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> + use errors; use rt; diff --git a/io/+linux/mmap.ha b/io/+linux/mmap.ha @@ -1,6 +1,6 @@ -// License: MPL-2.0 -// (c) 2021 Drew DeVault <sir@cmpwn.com> -// (c) 2021 Ember Sawady <ecs@d2evs.net> +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> + use errors; use rt; diff --git a/io/+linux/platform_file.ha b/io/+linux/platform_file.ha @@ -1,7 +1,6 @@ -// License: MPL-2.0 -// (c) 2021 Bor Grošelj Simić <bor.groseljsimic@telemach.net> -// (c) 2021-2022 Drew DeVault <sir@cmpwn.com> -// (c) 2021 Ember Sawady <ecs@d2evs.net> +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> + use errors; use rt; diff --git a/io/+linux/vector.ha b/io/+linux/vector.ha @@ -1,5 +1,6 @@ -// License: MPL-2.0 -// (c) 2021 Drew DeVault <sir@cmpwn.com> +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> + use errors; use rt; diff --git a/io/+test/limit_test.ha b/io/+test/limit_test.ha @@ -1,7 +1,6 @@ -// License: MPL-2.0 -// (c) 2021-2022 Bor Grošelj Simić <bor.groseljsimic@telemach.net> -// (c) 2021-2022 Drew DeVault <sir@cmpwn.com> -// (c) 2021 Ember Sawady <ecs@d2evs.net> +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> + use errors; @test fn limit() void = { diff --git a/io/+test/stream_test.ha b/io/+test/stream_test.ha @@ -1,6 +1,5 @@ -// License: MPL-2.0 -// (c) 2021 Bor Grošelj Simić <bor.groseljsimic@telemach.net> -// (c) 2021 Drew DeVault <sir@cmpwn.com> +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> const teststream_vtable: vtable = vtable { reader = &teststream_read, diff --git a/io/arch+aarch64.ha b/io/arch+aarch64.ha @@ -1,5 +1,5 @@ -// License: MPL-2.0 -// (c) 2021 Ember Sawady <ecs@d2evs.net> +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> // An offset for a [[handle]]. export type off = i64; diff --git a/io/arch+riscv64.ha b/io/arch+riscv64.ha @@ -1,5 +1,5 @@ -// License: MPL-2.0 -// (c) 2021 Drew DeVault <sir@cmpwn.com> +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> // An offset for a [[handle]]. export type off = i64; diff --git a/io/arch+x86_64.ha b/io/arch+x86_64.ha @@ -1,5 +1,5 @@ -// License: MPL-2.0 -// (c) 2021 Ember Sawady <ecs@d2evs.net> +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> // An offset for a [[handle]]. export type off = i64; diff --git a/io/copy.ha b/io/copy.ha @@ -1,6 +1,6 @@ -// License: MPL-2.0 -// (c) 2021 Drew DeVault <sir@cmpwn.com> -// (c) 2021 Ember Sawady <ecs@d2evs.net> +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> + use errors; // Copies data from one handle into another. If reading from the source file diff --git a/io/drain.ha b/io/drain.ha @@ -1,7 +1,5 @@ -// License: MPL-2.0 -// (c) 2022 Bor Grošelj Simić <bor.groseljsimic@telemach.net> -// (c) 2021-2022 Drew DeVault <sir@cmpwn.com> -// (c) 2021 Ember Sawady <ecs@d2evs.net> +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> // Reads an entire stream into a []u8. The caller must free the return value. // Note that this function will never return if the handle is infinite. diff --git a/io/empty.ha b/io/empty.ha @@ -1,6 +1,5 @@ -// License: MPL-2.0 -// (c) 2022 Bor Grošelj Simić <bor.groseljsimic@telemach.net> -// (c) 2021 Drew DeVault <sir@cmpwn.com> +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> const _empty_vt: vtable = vtable { reader = &empty_read, diff --git a/io/file.ha b/io/file.ha @@ -1,4 +1,6 @@ -// License: MPL-2.0 +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> + use rt; // Lock operation to use with [[lock]]. diff --git a/io/handle.ha b/io/handle.ha @@ -1,6 +1,5 @@ -// License: MPL-2.0 -// (c) 2021 Drew DeVault <sir@cmpwn.com> -// (c) 2021 Ember Sawady <ecs@d2evs.net> +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> // TODO: Examine the ABI constraints of [[handle]]. Would it be better to make // stream an integer representing an internal handle into a stream table? This diff --git a/io/limit.ha b/io/limit.ha @@ -1,7 +1,5 @@ -// License: MPL-2.0 -// (c) 2021 Alexey Yerin <yyp@disroot.org> -// (c) 2021-2022 Bor Grošelj Simić <bor.groseljsimic@telemach.net> -// (c) 2021-2022 Drew DeVault <sir@cmpwn.com> +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> export type limitstream = struct { vtable: stream, diff --git a/io/stream.ha b/io/stream.ha @@ -1,7 +1,6 @@ -// License: MPL-2.0 -// (c) 2021-2022 Drew DeVault <sir@cmpwn.com> -// (c) 2021 Ember Sawady <ecs@d2evs.net> -// (c) 2021 Thomas Bracht Laumann Jespersen <t@laumann.xyz> +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> + use errors; // A stream is a pointer to a [[vtable]] which allows for user-defined I/O diff --git a/io/tee.ha b/io/tee.ha @@ -1,6 +1,5 @@ -// License: MPL-2.0 -// (c) 2021-2022 Drew DeVault <sir@cmpwn.com> -// (c) 2021 Ember Sawady <ecs@d2evs.net> +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> export type teestream = struct { vtable: stream, diff --git a/io/types.ha b/io/types.ha @@ -1,6 +1,6 @@ -// License: MPL-2.0 -// (c) 2021 Drew DeVault <sir@cmpwn.com> -// (c) 2021 Ember Sawady <ecs@d2evs.net> +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> + use errors; // Returned by [[readall]] if the I/O handle returned [[EOF]] prior to diff --git a/io/util.ha b/io/util.ha @@ -1,7 +1,5 @@ -// License: MPL-2.0 -// (c) 2022 Bor Grošelj Simić <bor.groseljsimic@telemach.net> -// (c) 2021 Drew DeVault <sir@cmpwn.com> -// (c) 2021 Ember Sawady <ecs@d2evs.net> +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> // Reads an entire buffer, perhaps issuing several [[read]] calls to do so. If // EOF is immediately encountered, it is returned; if [[EOF]] is encountered diff --git a/io/zero.ha b/io/zero.ha @@ -1,6 +1,6 @@ -// License: MPL-2.0 -// (c) 2022 Bor Grošelj Simić <bor.groseljsimic@telemach.net> -// (c) 2021-2022 Drew DeVault <sir@cmpwn.com> +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> + use bytes; const _zero_vt: vtable = vtable { diff --git a/linux/env.ha b/linux/env.ha @@ -1,5 +1,6 @@ -// License: MPL-2.0 -// (c) 2021 Mykyta Holubakha <hilobakho@gmail.com> +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> + use format::elf; // System V auxillary vector for the current process diff --git a/linux/keyctl/keyctl.ha b/linux/keyctl/keyctl.ha @@ -1,3 +1,6 @@ +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> + use bytes; use errors; use rt; diff --git a/linux/keyctl/types.ha b/linux/keyctl/types.ha @@ -1,3 +1,6 @@ +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> + use errors; use types::c; diff --git a/linux/start+libc.ha b/linux/start+libc.ha @@ -1,5 +1,6 @@ -// License: MPL-2.0 -// (c) 2022 Alexey Yerin <yyp@disroot.org> +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> + use rt; use format::elf; diff --git a/linux/start.ha b/linux/start.ha @@ -1,5 +1,6 @@ -// License: MPL-2.0 -// (c) 2021 Mykyta Holubakha <hilobakho@gmail.com> +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> + use rt; use format::elf; diff --git a/linux/timerfd/timerfd.ha b/linux/timerfd/timerfd.ha @@ -1,5 +1,5 @@ -// License: MPL-2.0 -// (c) 2021 Vincent Dagonneau <v@vda.io> +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> use errors; use rt; diff --git a/linux/vdso/vdso.ha b/linux/vdso/vdso.ha @@ -1,7 +1,6 @@ -// License: MPL-2.0 -// (c) 2021 Drew DeVault <sir@cmpwn.com> -// (c) 2021 Ember Sawady <ecs@d2evs.net> -// (c) 2021 Mykyta Holubakha <hilobakho@gmail.com> +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> + use format::elf; use linux; use types::c; diff --git a/log/funcs.ha b/log/funcs.ha @@ -1,3 +1,6 @@ +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> + use fmt; use os; diff --git a/log/global.ha b/log/global.ha @@ -1,3 +1,6 @@ +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> + use io; use os; diff --git a/log/logger.ha b/log/logger.ha @@ -1,3 +1,6 @@ +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> + use fmt; use io; use os; diff --git a/log/silent.ha b/log/silent.ha @@ -1,3 +1,6 @@ +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> + use fmt; // A logger that does not print any messages. diff --git a/math/+test/data.ha b/math/+test/data.ha @@ -1,6 +1,5 @@ -// License: MPL-2.0 -// (c) 2021 Alexey Yerin <yyp@disroot.org> -// (c) 2021 Vlad-Stefan Harbuz <vlad@vladh.net> +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> // The test data below is based on Go's implementation, and came with the // following note and copyright notice: diff --git a/math/+test/floats_test.ha b/math/+test/floats_test.ha @@ -1,3 +1,6 @@ +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> + @test fn floatbits() void = { const a: [_]f64 = [INF, -INF, 0.0, 1.0, -1.0, 123456789.0, F64_MIN, F64_MIN_NORMAL, F64_MAX_NORMAL]; diff --git a/math/+test/math_test.ha b/math/+test/math_test.ha @@ -1,3 +1,6 @@ +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> + @test fn eqwithin() void = { assert(eqwithin(1f64, 2f64, 2f64)); assert(eqwithin(1.0f32, 2.0f32, 2.0f32)); diff --git a/math/+test/trig_test.ha b/math/+test/trig_test.ha @@ -1,3 +1,6 @@ +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> + @test fn trig_reduce() void = { for (let idx = 0z; idx < 10; idx += 1) { const reduced = trig_reduce(TEST_INPUTS[idx]); diff --git a/math/checked/checked.ha b/math/checked/checked.ha @@ -1,3 +1,6 @@ +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> + use math; // Adds 'a' and 'b', returning the result and whether overflow occurred. diff --git a/math/complex/+test.ha b/math/complex/+test.ha @@ -1,6 +1,5 @@ -// License: MPL-2.0 -// (c) 2022 Sebastian <sebastian@sebsite.pw> -// (c) 2022 Carlos Une <une@fastmail.fm> +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> // The test data below is based on Go's implementation, and came with the // following note and copyright notice: diff --git a/math/complex/complex.ha b/math/complex/complex.ha @@ -1,6 +1,5 @@ -// License: MPL-2.0 -// (c) 2022 Sebastian <sebastian@sebsite.pw> -// (c) 2022 Carlos Une <une@fastmail.fm> +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> // Sections of the code below are based on Go's implementation, which is, in // turn, based on Cephes Math Library. The original C code can be found at diff --git a/math/fenv+aarch64.ha b/math/fenv+aarch64.ha @@ -1,5 +1,5 @@ -// License: MPL-2.0 -// (c) 2022 Bor Grošelj Simić <bor.groseljsimic@telemach.net> +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> // Defines flags characterizing types of floating point exceptions, // Each of the flags is only defined when the target platform supports handling diff --git a/math/fenv+riscv64.ha b/math/fenv+riscv64.ha @@ -1,6 +1,5 @@ -// License: MPL-2.0 -// (c) 2022 Alexey Yerin <yyp@disroot.org> -// (c) 2022 Bor Grošelj Simić <bor.groseljsimic@telemach.net> +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> // Defines flags characterizing types of floating point exceptions, // Each of the flags is only defined when the target platform supports handling diff --git a/math/fenv+x86_64.ha b/math/fenv+x86_64.ha @@ -1,5 +1,5 @@ -// License: MPL-2.0 -// (c) 2022 Bor Grošelj Simić <bor.groseljsimic@telemach.net> +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> // Defines flags characterizing types of floating point exceptions, // Each of the flags is only defined when the target platform supports handling diff --git a/math/fenv_func.ha b/math/fenv_func.ha @@ -1,5 +1,6 @@ -// License: MPL-2.0 -// (c) 2022 Bor Grošelj Simić <bor.groseljsimic@telemach.net> +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> + use rt; // Accepts a set of flags from [[fexcept]] ORed together and clears diff --git a/math/floats.ha b/math/floats.ha @@ -1,9 +1,6 @@ -// License: MPL-2.0 -// (c) 2022 Bor Grošelj Simić <bor.groseljsimic@telemach.net> -// (c) 2021 Drew DeVault <sir@cmpwn.com> -// (c) 2021-2022 Ember Sawady <ecs@d2evs.net> -// (c) 2021 Sudipto Mallick <smlckz@disroot.org> -// (c) 2021 Vlad-Stefan Harbuz <vlad@vladh.net> +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> + use types; // Returns the binary representation of the given f64. diff --git a/math/ints.ha b/math/ints.ha @@ -1,8 +1,6 @@ -// License: MPL-2.0 -// (c) 2021 Drew DeVault <sir@cmpwn.com> -// (c) 2021 Ember Sawady <ecs@d2evs.net> -// (c) 2022 Haelwenn (lanodan) Monnier <contact@hacktivis.me> -// (c) 2021-2022 Vlad-Stefan Harbuz <vlad@vladh.net> +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> + use types; // Returns the absolute value of signed integer n. diff --git a/math/math.ha b/math/math.ha @@ -1,7 +1,5 @@ -// License: MPL-2.0 -// (c) 2021 Drew DeVault <sir@cmpwn.com> -// (c) 2021 Ember Sawady <ecs@d2evs.net> -// (c) 2021 Vlad-Stefan Harbuz <vlad@vladh.net> +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> // Sections of the code below, in particular log() and exp(), are based on Go's // implementation, which is, in turn, based on FreeBSD's. The original C code, diff --git a/math/random/random.ha b/math/random/random.ha @@ -1,5 +1,5 @@ -// License: MPL-2.0 -// (c) 2021 Steven Guikal <void@fluix.dev> +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> // State for a pseudorandom number generator. export type random = u64; diff --git a/math/trig.ha b/math/trig.ha @@ -1,5 +1,5 @@ -// License: MPL-2.0 -// (c) 2021 Vlad-Stefan Harbuz <vlad@vladh.net> +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> // Sections of the code below are based on Go's implementation, which is, in // turn, based on: diff --git a/math/uints.ha b/math/uints.ha @@ -1,5 +1,5 @@ -// License: MPL-2.0 -// (c) 2021 Vlad-Stefan Harbuz <vlad@vladh.net> +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> // Sections of the code below are based on Go's implementation, in particular // https://raw.githubusercontent.com/golang/go/master/src/math/bits/bits.go. diff --git a/memio/ops.ha b/memio/ops.ha @@ -1,7 +1,6 @@ -// License: MPL-2.0 -// (c) 2022 Alexey Yerin <yyp@disroot.org> -// (c) 2021 Drew DeVault <sir@cmpwn.com> -// (c) 2022 Yasumasa Tada <ytada@spartan.dev> +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> + use encoding::utf8; use io; use strings; diff --git a/memio/stream.ha b/memio/stream.ha @@ -1,8 +1,6 @@ -// License: MPL-2.0 -// (c) 2022 Alexey Yerin <yyp@disroot.org> -// (c) 2021 Bor Grošelj Simić <bor.groseljsimic@telemach.net> -// (c) 2021 Drew DeVault <sir@cmpwn.com> -// (c) 2021 Ember Sawady <ecs@d2evs.net> +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> + use bytes; use encoding::utf8; use errors; diff --git a/mime/database.ha b/mime/database.ha @@ -1,5 +1,6 @@ -// License: MPL-2.0 -// (c) 2022 Drew DeVault <sir@cmpwn.com> +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> + use hash::fnv; use strings; diff --git a/mime/entries+test.ha b/mime/entries+test.ha @@ -1,4 +1,5 @@ -// License: MPL-2.0 +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> const text_plain: mimetype = mimetype { mime = "text/plain", diff --git a/mime/lookup.ha b/mime/lookup.ha @@ -1,5 +1,6 @@ -// License: MPL-2.0 -// (c) 2022 Drew DeVault <sir@cmpwn.com> +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> + use hash::fnv; use strings; diff --git a/mime/parse.ha b/mime/parse.ha @@ -1,5 +1,6 @@ -// License: MPL-2.0 -// (c) 2022 Drew DeVault <sir@cmpwn.com> +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> + use ascii; use errors; use strings; diff --git a/mime/system.ha b/mime/system.ha @@ -1,5 +1,6 @@ -// License: MPL-2.0 -// (c) 2022 Drew DeVault <sir@cmpwn.com> +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> + use bufio; use encoding::utf8; use fmt; diff --git a/net/+freebsd.ha b/net/+freebsd.ha @@ -1,7 +1,6 @@ -// License: MPL-2.0 -// (c) 2021 Drew DeVault <sir@cmpwn.com> -// (c) 2021 Ember Sawady <ecs@d2evs.net> -// (c) 2022 Noah Pederson <noah@packetlost.dev> +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> + use errors; use io; use rt; diff --git a/net/+linux.ha b/net/+linux.ha @@ -1,7 +1,6 @@ -// License: MPL-2.0 -// (c) 2021 Drew DeVault <sir@cmpwn.com> -// (c) 2021 Ember Sawady <ecs@d2evs.net> -// (c) 2022 Noah Pederson <noah@packetlost.dev> +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> + use errors; use io; use rt; diff --git a/net/dial/dial.ha b/net/dial/dial.ha @@ -1,5 +1,6 @@ -// License: MPL-2.0 -// (c) 2021 Drew DeVault <sir@cmpwn.com> +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> + use errors; use fmt; use net; diff --git a/net/dial/ip.ha b/net/dial/ip.ha @@ -1,7 +1,5 @@ -// License: MPL-2.0 -// (c) 2021 Bor Grošelj Simić <bor.groseljsimic@telemach.net> -// (c) 2021 Drew DeVault <sir@cmpwn.com> -// (c) 2021 Ember Sawady <ecs@d2evs.net> +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> // Provides default dialers for tcp and udp use net; diff --git a/net/dial/registry.ha b/net/dial/registry.ha @@ -1,6 +1,6 @@ -// License: MPL-2.0 -// (c) 2021 Drew DeVault <sir@cmpwn.com> -// (c) 2021 Ember Sawady <ecs@d2evs.net> +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> + use net; use net::dns; use unix::hosts; diff --git a/net/dial/resolve.ha b/net/dial/resolve.ha @@ -1,6 +1,6 @@ -// License: MPL-2.0 -// (c) 2021 Drew DeVault <sir@cmpwn.com> -// (c) 2021-2022 Ember Sawady <ecs@d2evs.net> +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> + use crypto::random; use net::dns; use net::ip; diff --git a/net/dns/decode.ha b/net/dns/decode.ha @@ -1,6 +1,6 @@ -// License: MPL-2.0 -// (c) 2021 Drew DeVault <sir@cmpwn.com> -// (c) 2022 Lassi Pulkkinen <lassi@pulk.fi> +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> + use ascii; use endian; use fmt; diff --git a/net/dns/encode.ha b/net/dns/encode.ha @@ -1,5 +1,6 @@ -// License: MPL-2.0 -// (c) 2021 Drew DeVault <sir@cmpwn.com> +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> + use endian; use errors; use fmt; diff --git a/net/dns/error.ha b/net/dns/error.ha @@ -1,6 +1,6 @@ -// License: MPL-2.0 -// (c) 2021 Drew DeVault <sir@cmpwn.com> -// (c) 2021 Ember Sawady <ecs@d2evs.net> +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> + use errors; use fmt; use io; diff --git a/net/dns/query.ha b/net/dns/query.ha @@ -1,5 +1,6 @@ -// License: MPL-2.0 -// (c) 2021 Drew DeVault <sir@cmpwn.com> +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> + use endian; use errors; use io; diff --git a/net/dns/strdomain.ha b/net/dns/strdomain.ha @@ -1,5 +1,6 @@ -// License: MPL-2.0 -// (c) 2021 Drew DeVault <sir@cmpwn.com> +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> + use strings; // Converts a human-readable domain name (e.g. "example.org") into a DNS-ready diff --git a/net/dns/types.ha b/net/dns/types.ha @@ -1,8 +1,6 @@ -// License: MPL-2.0 -// (c) 2021 Drew DeVault <sir@cmpwn.com> -// (c) 2021 Ember Sawady <ecs@d2evs.net> -// (c) 2021 Jonathan Halmen <slowjo@halmen.xyz> -// (c) 2022 Lassi Pulkkinen <lassi@pulk.fi> +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> + use net::ip; use strings; diff --git a/net/errors.ha b/net/errors.ha @@ -1,7 +1,6 @@ -// License: MPL-2.0 -// (c) 2021 Bor Grošelj Simić <bor.groseljsimic@telemach.net> -// (c) 2021 Drew DeVault <sir@cmpwn.com> -// (c) 2021 Ember Sawady <ecs@d2evs.net> +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> + use errors; use io; diff --git a/net/ip/+freebsd.ha b/net/ip/+freebsd.ha @@ -1,6 +1,6 @@ -// License: MPL-2.0 -// (c) 2021 Drew DeVault <sir@cmpwn.com> -// (c) 2021 Ember Sawady <ecs@d2evs.net> +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> + use rt; use endian; diff --git a/net/ip/+linux.ha b/net/ip/+linux.ha @@ -1,7 +1,6 @@ -// License: MPL-2.0 -// (c) 2021 Drew DeVault <sir@cmpwn.com> -// (c) 2021 Ember Sawady <ecs@d2evs.net> -// (c) 2021 Mykyta Holubakha <hilobakho@gmail.com> +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> + use rt; use endian; diff --git a/net/ip/ip.ha b/net/ip/ip.ha @@ -1,12 +1,6 @@ -// License: MPL-2.0 -// (c) 2022 Alexey Yerin <yyp@disroot.org> -// (c) 2021 Bor Grošelj Simić <bor.groseljsimic@telemach.net> -// (c) 2021 Byron Torres <b@torresjrjr.com> -// (c) 2021 Drew DeVault <sir@cmpwn.com> -// (c) 2021 Ember Sawady <ecs@d2evs.net> -// (c) 2021 Miccah Castorina <contact@miccah.io> -// (c) 2021 Mykyta Holubakha <hilobakho@gmail.com> -// (c) 2021 Thomas Bracht Laumann Jespersen <t@laumann.xyz> +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> + use bytes; use endian; use fmt; diff --git a/net/ip/test+test.ha b/net/ip/test+test.ha @@ -1,9 +1,6 @@ -// License: MPL-2.0 -// (c) 2021 Byron Torres <b@torresjrjr.com> -// (c) 2021 Drew DeVault <sir@cmpwn.com> -// (c) 2021 Ember Sawady <ecs@d2evs.net> -// (c) 2021 Miccah Castorina <contact@miccah.io> -// (c) 2021 Mykyta Holubakha <hilobakho@gmail.com> +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> + use strings; use fmt; diff --git a/net/msg.ha b/net/msg.ha @@ -1,5 +1,5 @@ -// License: MPL-2.0 -// (c) 2021 Drew DeVault <sir@cmpwn.com> +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> // TODO: // - Set name field diff --git a/net/tcp/+freebsd.ha b/net/tcp/+freebsd.ha @@ -1,6 +1,6 @@ -// License: MPL-2.0 -// (c) 2021 Drew DeVault <sir@cmpwn.com> -// (c) 2021 Ember Sawady <ecs@d2evs.net> +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> + use errors; use io; use net::ip; diff --git a/net/tcp/+linux.ha b/net/tcp/+linux.ha @@ -1,6 +1,6 @@ -// License: MPL-2.0 -// (c) 2021 Drew DeVault <sir@cmpwn.com> -// (c) 2021 Ember Sawady <ecs@d2evs.net> +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> + use errors; use io; use net::ip; diff --git a/net/tcp/listener.ha b/net/tcp/listener.ha @@ -1,5 +1,6 @@ -// License: MPL-2.0 -// (c) 2021 Drew DeVault <sir@cmpwn.com> +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> + use net; // Accepts the next connection from a socket. Blocks until a new connection is diff --git a/net/tcp/options.ha b/net/tcp/options.ha @@ -1,5 +1,6 @@ -// License: MPL-2.0 -// (c) 2021 Drew DeVault <sir@cmpwn.com> +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> + use net; // Enables keep-alive for a socket. diff --git a/net/types.ha b/net/types.ha @@ -1,3 +1,6 @@ +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> + // The end of the full-duplex connection that should be [[shutdown]]. export type shut = enum { RD, // Disables further receptions. diff --git a/net/udp/+freebsd.ha b/net/udp/+freebsd.ha @@ -1,6 +1,6 @@ -// License: MPL-2.0 -// (c) 2021 Drew DeVault <sir@cmpwn.com> -// (c) 2021 Ember Sawady <ecs@d2evs.net> +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> + use errors; use io; use net::ip; diff --git a/net/udp/+linux.ha b/net/udp/+linux.ha @@ -1,6 +1,6 @@ -// License: MPL-2.0 -// (c) 2021 Drew DeVault <sir@cmpwn.com> -// (c) 2021 Ember Sawady <ecs@d2evs.net> +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> + use errors; use io; use net::ip; diff --git a/net/udp/options.ha b/net/udp/options.ha @@ -1,5 +1,6 @@ -// License: MPL-2.0 -// (c) 2021 Drew DeVault <sir@cmpwn.com> +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> + use net; // Enables port re-use for a UDP listener. diff --git a/net/unix/+freebsd.ha b/net/unix/+freebsd.ha @@ -1,6 +1,6 @@ -// License: MPL-2.0 -// (c) 2021 Drew DeVault <sir@cmpwn.com> -// (c) 2021 Ember Sawady <ecs@d2evs.net> +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> + use errors; use fmt; use io; diff --git a/net/unix/+linux.ha b/net/unix/+linux.ha @@ -1,7 +1,6 @@ -// License: MPL-2.0 -// (c) 2021 Drew DeVault <sir@cmpwn.com> -// (c) 2021 Ember Sawady <ecs@d2evs.net> -// (c) 2021 Mykyta Holubakha <hilobakho@gmail.com> +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> + use errors; use fmt; use io; diff --git a/net/unix/addr.ha b/net/unix/addr.ha @@ -1,6 +1,5 @@ -// License: MPL-2.0 -// (c) 2021 Ember Sawady <ecs@d2evs.net> -// (c) 2021 Mykyta Holubakha <hilobakho@gmail.com> +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> // A UNIX socket address. export type addr = str; diff --git a/net/unix/cmsg.ha b/net/unix/cmsg.ha @@ -1,5 +1,6 @@ -// License: MPL-2.0 -// (c) 2021 Drew DeVault <sir@cmpwn.com> +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> + use net; use io; use rt; diff --git a/net/unix/dial.ha b/net/unix/dial.ha @@ -1,6 +1,6 @@ -// License: MPL-2.0 -// (c) 2021 Drew DeVault <sir@cmpwn.com> -// (c) 2021 Ember Sawady <ecs@d2evs.net> +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> + use net::dial; use net; diff --git a/net/unix/listener.ha b/net/unix/listener.ha @@ -1,5 +1,6 @@ -// License: MPL-2.0 -// (c) 2021 Drew DeVault <sir@cmpwn.com> +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> + use net; // Accepts the next connection from a socket. Blocks until a new connection is diff --git a/net/unix/options.ha b/net/unix/options.ha @@ -1,5 +1,6 @@ -// License: MPL-2.0 -// (c) 2021 Drew DeVault <sir@cmpwn.com> +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> + use net; // Configures the backlog size for a listener. If not specified, a sensible diff --git a/net/unix/socketpair.ha b/net/unix/socketpair.ha @@ -1,6 +1,6 @@ -// License: MPL-2.0 -// (c) 2021 Ember Sawady <ecs@d2evs.net> -// (c) 2021 Thomas Bracht Laumann Jespersen <t@laumann.xyz> +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> + use errors; use io; use net; diff --git a/net/uri/+test.ha b/net/uri/+test.ha @@ -1,3 +1,6 @@ +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> + use fmt; use net::ip; diff --git a/net/uri/fmt.ha b/net/uri/fmt.ha @@ -1,3 +1,6 @@ +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> + use ascii; use encoding::utf8; use fmt; diff --git a/net/uri/parse.ha b/net/uri/parse.ha @@ -1,6 +1,6 @@ -// License: MPL-2.0 -// (c) 2022 Alexey Yerin <yyp@disroot.org> -// (c) 2022 Umar Getagazov <umar@handlerug.me> +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> + use ascii; use encoding::utf8; use io; diff --git a/net/uri/query.ha b/net/uri/query.ha @@ -1,3 +1,6 @@ +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> + use io; use memio; use strings; diff --git a/net/uri/uri.ha b/net/uri/uri.ha @@ -1,3 +1,6 @@ +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> + use net::ip; use strings; diff --git a/os/+freebsd/dirfdfs.ha b/os/+freebsd/dirfdfs.ha @@ -1,7 +1,6 @@ -// License: MPL-2.0 -// (c) 2021-2022 Drew DeVault <sir@cmpwn.com> -// (c) 2021 Ember Sawady <ecs@d2evs.net> -// (c) 2022 Jon Eskin <eskinjp@gmail.com> +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> + use errors; use encoding::utf8; use fs; diff --git a/os/+freebsd/exit+libc-test.ha b/os/+freebsd/exit+libc-test.ha @@ -1,2 +1,5 @@ +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> + // Exit the program with the provided status code. export @symbol("exit") fn exit(status: int) never; diff --git a/os/+freebsd/exit+test.ha b/os/+freebsd/exit+test.ha @@ -1,5 +1,5 @@ -// License: MPL-2.0 -// (c) 2023 Sebastian <sebastian@sebsite.pw> +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> // Exit the program with the provided status code. export fn exit(status: int) never = { diff --git a/os/+freebsd/exit.ha b/os/+freebsd/exit.ha @@ -1,5 +1,6 @@ -// License: MPL-2.0 -// (c) 2021 Drew DeVault <sir@cmpwn.com> +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> + use rt; // Exit the program with the provided status code. diff --git a/os/+freebsd/fs.ha b/os/+freebsd/fs.ha @@ -1,6 +1,6 @@ -// License: MPL-2.0 -// (c) 2021 Drew DeVault <sir@cmpwn.com> -// (c) 2021 Ember Sawady <ecs@d2evs.net> +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> + use errors; use fs; use path; diff --git a/os/+freebsd/platform_environ.ha b/os/+freebsd/platform_environ.ha @@ -1,6 +1,6 @@ -// License: MPL-2.0 -// (c) 2021 Drew DeVault <sir@cmpwn.com> -// (c) 2021 Ember Sawady <ecs@d2evs.net> +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> + use errors; use rt; use strings; diff --git a/os/+freebsd/status.ha b/os/+freebsd/status.ha @@ -1,3 +1,6 @@ +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> + // Values that may be passed to [[exit]] to indicate successful or unsuccessful // termination, respectively. export type status = enum { diff --git a/os/+freebsd/stdfd.ha b/os/+freebsd/stdfd.ha @@ -1,6 +1,6 @@ -// License: MPL-2.0 -// (c) 2022 Alexey Yerin <yyp@disroot.org> -// (c) 2021 Drew DeVault <sir@cmpwn.com> +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> + use bufio; use io; use rt; diff --git a/os/+linux/dirfdfs.ha b/os/+linux/dirfdfs.ha @@ -1,9 +1,6 @@ -// License: MPL-2.0 -// (c) 2021 Alexey Yerin <yyp@disroot.org> -// (c) 2022 Bor Grošelj Simić <bor.groseljsimic@telemach.net> -// (c) 2021-2022 Drew DeVault <sir@cmpwn.com> -// (c) 2021 Ember Sawady <ecs@d2evs.net> -// (c) 2022 Jon Eskin <eskinjp@gmail.com> +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> + use errors; use encoding::utf8; use fs; diff --git a/os/+linux/exit+libc-test.ha b/os/+linux/exit+libc-test.ha @@ -1,2 +1,5 @@ +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> + // Exit the program with the provided status code. export @symbol("exit") fn exit(status: int) never; diff --git a/os/+linux/exit+test.ha b/os/+linux/exit+test.ha @@ -1,5 +1,5 @@ -// License: MPL-2.0 -// (c) 2023 Sebastian <sebastian@sebsite.pw> +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> // Exit the program with the provided status code. export fn exit(status: int) never = { diff --git a/os/+linux/exit.ha b/os/+linux/exit.ha @@ -1,5 +1,6 @@ -// License: MPL-2.0 -// (c) 2021 Drew DeVault <sir@cmpwn.com> +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> + use rt; // Exit the program with the provided status code. diff --git a/os/+linux/fs.ha b/os/+linux/fs.ha @@ -1,6 +1,6 @@ -// License: MPL-2.0 -// (c) 2021 Drew DeVault <sir@cmpwn.com> -// (c) 2021 Ember Sawady <ecs@d2evs.net> +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> + use errors; use fs; use path; diff --git a/os/+linux/memory.ha b/os/+linux/memory.ha @@ -1,3 +1,6 @@ +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> + // TODO: Implement FreeBSD version use errors; use rt; diff --git a/os/+linux/platform_environ.ha b/os/+linux/platform_environ.ha @@ -1,6 +1,6 @@ -// License: MPL-2.0 -// (c) 2021 Drew DeVault <sir@cmpwn.com> -// (c) 2021 Ember Sawady <ecs@d2evs.net> +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> + use errors; use math; use rt; diff --git a/os/+linux/status.ha b/os/+linux/status.ha @@ -1,3 +1,6 @@ +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> + // Values that may be passed to [[exit]] to indicate successful or unsuccessful // termination, respectively. export type status = enum { diff --git a/os/+linux/stdfd.ha b/os/+linux/stdfd.ha @@ -1,6 +1,6 @@ -// License: MPL-2.0 -// (c) 2022 Alexey Yerin <yyp@disroot.org> -// (c) 2021 Drew DeVault <sir@cmpwn.com> +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> + use bufio; use io; use rt; diff --git a/os/environ.ha b/os/environ.ha @@ -1,3 +1,6 @@ +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> + use errors; use strings; diff --git a/os/exec/cmd.ha b/os/exec/cmd.ha @@ -1,7 +1,6 @@ -// License: MPL-2.0 -// (c) 2021-2022 Drew DeVault <sir@cmpwn.com> -// (c) 2021 Ember Sawady <ecs@d2evs.net> -// (c) 2021 Thomas Bracht Laumann Jespersen <t@laumann.xyz> +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> + use ascii; use errors; use io; diff --git a/os/exec/exec+freebsd.ha b/os/exec/exec+freebsd.ha @@ -1,6 +1,6 @@ -// License: MPL-2.0 -// (c) 2021 Drew DeVault <sir@cmpwn.com> -// (c) 2021 Ember Sawady <ecs@d2evs.net> +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> + use errors; use io; use rt; diff --git a/os/exec/exec+linux.ha b/os/exec/exec+linux.ha @@ -1,6 +1,6 @@ -// License: MPL-2.0 -// (c) 2021 Drew DeVault <sir@cmpwn.com> -// (c) 2021 Ember Sawady <ecs@d2evs.net> +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> + use errors; use io; use os; diff --git a/os/exec/process+freebsd.ha b/os/exec/process+freebsd.ha @@ -1,7 +1,6 @@ -// License: MPL-2.0 -// (c) 2022 Bor Grošelj Simić <bor.groseljsimic@telemach.net> -// (c) 2021-2022 Drew DeVault <sir@cmpwn.com> -// (c) 2021 Ember Sawady <ecs@d2evs.net> +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> + use errors; use fmt; use rt; diff --git a/os/exec/process+linux.ha b/os/exec/process+linux.ha @@ -1,7 +1,6 @@ -// License: MPL-2.0 -// (c) 2022 Bor Grošelj Simić <bor.groseljsimic@telemach.net> -// (c) 2021-2022 Drew DeVault <sir@cmpwn.com> -// (c) 2021 Ember Sawady <ecs@d2evs.net> +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> + use errors; use fmt; use rt; diff --git a/os/exec/types.ha b/os/exec/types.ha @@ -1,6 +1,6 @@ -// License: MPL-2.0 -// (c) 2021 Drew DeVault <sir@cmpwn.com> -// (c) 2021 Ember Sawady <ecs@d2evs.net> +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> + use errors; use fs; use io; diff --git a/os/os.ha b/os/os.ha @@ -1,8 +1,6 @@ -// License: MPL-2.0 -// (c) 2021 Alexey Yerin <yyp@disroot.org> -// (c) 2021-2022 Drew DeVault <sir@cmpwn.com> -// (c) 2021 Ember Sawady <ecs@d2evs.net> -// (c) 2022 Jon Eskin <eskinjp@gmail.com> +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> + use fs; use io; use path; diff --git a/path/+freebsd.ha b/path/+freebsd.ha @@ -1,5 +1,5 @@ -// License: MPL-2.0 -// (c) 2021-2022 Drew DeVault <sir@cmpwn.com> +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> // Platform-specific path separator byte. export def SEP: u8 = '/'; diff --git a/path/+linux.ha b/path/+linux.ha @@ -1,5 +1,5 @@ -// License: MPL-2.0 -// (c) 2021-2022 Drew DeVault <sir@cmpwn.com> +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> // Platform-specific path separator byte. export def SEP: u8 = '/'; diff --git a/path/buffer.ha b/path/buffer.ha @@ -1,6 +1,6 @@ -// License: MPL-2.0 -// (c) 2022 Drew DeVault <sir@cmpwn.com> -// (c) 2022 Humm <hummsmith42@gmail.com> +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> + use bytes; use strings; diff --git a/path/error.ha b/path/error.ha @@ -1,3 +1,6 @@ +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> + // Returned when adding an extension if the path is root, or the final path // segment consists entirely of dots. export type cant_extend = !void; diff --git a/path/ext_stack.ha b/path/ext_stack.ha @@ -1,4 +1,6 @@ -// License: MPL-2.0 +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> + use bytes; use strings; diff --git a/path/iter.ha b/path/iter.ha @@ -1,7 +1,6 @@ -// License: MPL-2.0 -// (c) 2021 Bor Grošelj Simić <bor.groseljsimic@telemach.net> -// (c) 2021-2022 Drew DeVault <sir@cmpwn.com> -// (c) 2021 Ember Sawady <ecs@d2evs.net> +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> + use bytes; use strings; diff --git a/path/posix.ha b/path/posix.ha @@ -1,7 +1,6 @@ -// License: MPL-2.0 -// (c) 2022 Alexey Yerin <yyp@disroot.org> -// (c) 2021-2022 Drew DeVault <sir@cmpwn.com> -// (c) 2021 Ember Sawady <ecs@d2evs.net> +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> + use bytes; use strings; diff --git a/path/prefix.ha b/path/prefix.ha @@ -1,3 +1,6 @@ +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> + use bytes; use strings; diff --git a/path/stack.ha b/path/stack.ha @@ -1,5 +1,6 @@ -// License: MPL-2.0 -// (c) 2021-2022 Drew DeVault <sir@cmpwn.com> +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> + use bytes; use strings; diff --git a/regex/+test.ha b/regex/+test.ha @@ -1,5 +1,6 @@ -// License: MPL-2.0 -// (c) 2022 Vlad-Stefan Harbuz <vlad@vladh.net> +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> + use fmt; use strings; use types; diff --git a/regex/regex.ha b/regex/regex.ha @@ -1,5 +1,6 @@ -// License: MPL-2.0 -// (c) 2022 Vlad-Stefan Harbuz <vlad@vladh.net> +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> + use ascii; use bufio; use encoding::utf8; diff --git a/rt/+aarch64/arch_jmp.ha b/rt/+aarch64/arch_jmp.ha @@ -1,4 +1,4 @@ -// License: MPL-2.0 -// (c) 2021 Drew DeVault <sir@cmpwn.com> +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> export type arch_jmpbuf = [22]u64; diff --git a/rt/+aarch64/backtrace.ha b/rt/+aarch64/backtrace.ha @@ -1,7 +1,5 @@ -// License: MPL-2.0 -// (c) 2021 Ember Sawady <ecs@d2evs.net> -// (c) 2021 Mykyta Holubakha <hilobakho@gmail.com> -// (c) 2021 Sudipto Mallick <smlckz@disroot.org> +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> fn getfp() **opaque; diff --git a/rt/+aarch64/cpuid.ha b/rt/+aarch64/cpuid.ha @@ -1 +1,4 @@ +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> + // TODO diff --git a/rt/+freebsd/+aarch64.ha b/rt/+freebsd/+aarch64.ha @@ -1,3 +1,6 @@ +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> + export type siginfo = struct { si_signo: int, si_errno: int, diff --git a/rt/+freebsd/+riscv64.ha b/rt/+freebsd/+riscv64.ha @@ -1,3 +1,6 @@ +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> + export type siginfo = struct { si_signo: int, si_errno: int, diff --git a/rt/+freebsd/+x86_64.ha b/rt/+freebsd/+x86_64.ha @@ -1,3 +1,6 @@ +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> + export type siginfo = struct { si_signo: int, si_errno: int, diff --git a/rt/+freebsd/env.ha b/rt/+freebsd/env.ha @@ -1,5 +1,5 @@ -// License: MPL-2.0 -// (c) 2021 Drew DeVault <sir@cmpwn.com> +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> export let argc: size = 0; export let argv: *[*]*u8 = null: *[*]*u8; diff --git a/rt/+freebsd/errno.ha b/rt/+freebsd/errno.ha @@ -1,5 +1,5 @@ -// License: MPL-2.0 -// (c) 2021 Drew DeVault <sir@cmpwn.com> +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> // Represents an error returned from the FreeBSD kernel. export type errno = !int; diff --git a/rt/+freebsd/platform_abort.ha b/rt/+freebsd/platform_abort.ha @@ -1,5 +1,5 @@ -// License: MPL-2.0 -// (c) 2021 Drew DeVault <sir@cmpwn.com> +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> fn platform_abort(path: *str, line: u64, col: u64, msg: str) void = { const prefix = "Abort: "; diff --git a/rt/+freebsd/platformstart.ha b/rt/+freebsd/platformstart.ha @@ -1,5 +1,5 @@ -// License: MPL-2.0 -// (c) 2021 Drew DeVault <sir@cmpwn.com> +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> export fn start_freebsd(iv: *[*]uintptr) never = { // TODO: Find & parse auxv diff --git a/rt/+freebsd/segmalloc.ha b/rt/+freebsd/segmalloc.ha @@ -1,6 +1,5 @@ -// License: MPL-2.0 -// (c) 2021 Drew DeVault <sir@cmpwn.com> -// (c) 2021 Ember Sawady <ecs@d2evs.net> +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> // Allocates a segment. fn segmalloc(n: size) nullable *opaque = { diff --git a/rt/+freebsd/signal.ha b/rt/+freebsd/signal.ha @@ -1,5 +1,5 @@ -// License: MPL-2.0 -// (c) 2021 Drew DeVault <sir@cmpwn.com> +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> // TODO: work when _NSIG != 32 diff --git a/rt/+freebsd/socket.ha b/rt/+freebsd/socket.ha @@ -1,6 +1,5 @@ -// License: MPL-2.0 -// (c) 2021 Drew DeVault <sir@cmpwn.com> -// (c) 2022 Sebastian <sebastian@sebsite.pw> +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> export type sa_family_t = u8; export type socklen_t = u32; diff --git a/rt/+freebsd/syscallno.ha b/rt/+freebsd/syscallno.ha @@ -1,5 +1,5 @@ -// License: MPL-2.0 -// (c) 2021 Drew DeVault <sir@cmpwn.com> +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> export def SYS_syscall: u64 = 0; export def SYS_exit: u64 = 1; diff --git a/rt/+freebsd/syscalls.ha b/rt/+freebsd/syscalls.ha @@ -1,7 +1,5 @@ -// License: MPL-2.0 -// (c) 2021 Drew DeVault <sir@cmpwn.com> -// (c) 2021 Ember Sawady <ecs@d2evs.net> -// (c) 2021 Thomas Bracht Laumann Jespersen <t@laumann.xyz> +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> fn syscall0(u64) u64; fn syscall1(u64, u64) u64; diff --git a/rt/+freebsd/types.ha b/rt/+freebsd/types.ha @@ -1,8 +1,5 @@ -// License: MPL-2.0 -// (c) 2021 Alexey Yerin <yyp@disroot.org> -// (c) 2021 Bor Grošelj Simić <bor.groseljsimic@telemach.net> -// (c) 2021 Drew DeVault <sir@cmpwn.com> -// (c) 2022 Sebastian <sebastian@sebsite.pw> +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> export type time_t = i64; export type suseconds_t = i64; diff --git a/rt/+linux/+aarch64.ha b/rt/+linux/+aarch64.ha @@ -1,7 +1,5 @@ -// License: MPL-2.0 -// (c) 2021 Drew DeVault <sir@cmpwn.com> -// (c) 2021 Ember Sawady <ecs@d2evs.net> -// (c) 2021 Sudipto Mallick <smlckz@disroot.org> +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> // #define __ADDR_BND_PKEY_PAD (_Alignof(void *) < sizeof(short) ? sizeof(short) : _Alignof(void *)) def __ADDR_BND_PKEY_PAD: size = 8; diff --git a/rt/+linux/+riscv64.ha b/rt/+linux/+riscv64.ha @@ -1,7 +1,5 @@ -// License: MPL-2.0 -// (c) 2021 Drew DeVault <sir@cmpwn.com> -// (c) 2021 Ember Sawady <ecs@d2evs.net> -// (c) 2021 Michael Forney <mforney@mforney.org> +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> // #define __ADDR_BND_PKEY_PAD (_Alignof(void *) < sizeof(short) ? sizeof(short) : _Alignof(void *)) def __ADDR_BND_PKEY_PAD: size = 8; diff --git a/rt/+linux/+x86_64.ha b/rt/+linux/+x86_64.ha @@ -1,6 +1,5 @@ -// License: MPL-2.0 -// (c) 2021 Drew DeVault <sir@cmpwn.com> -// (c) 2021 Ember Sawady <ecs@d2evs.net> +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> // #define __ADDR_BND_PKEY_PAD (_Alignof(void *) < sizeof(short) ? sizeof(short) : _Alignof(void *)) def __ADDR_BND_PKEY_PAD: size = 8; diff --git a/rt/+linux/env.ha b/rt/+linux/env.ha @@ -1,5 +1,5 @@ -// License: MPL-2.0 -// (c) 2021 Drew DeVault <sir@cmpwn.com> +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> export let argc: size = 0; export let argv: *[*]*u8 = null: *[*]*u8; diff --git a/rt/+linux/errno.ha b/rt/+linux/errno.ha @@ -1,6 +1,5 @@ -// License: MPL-2.0 -// (c) 2021 Drew DeVault <sir@cmpwn.com> -// (c) 2021 Ember Sawady <ecs@d2evs.net> +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> // Represents an error returned from the Linux kernel. export type errno = !int; diff --git a/rt/+linux/platform_abort.ha b/rt/+linux/platform_abort.ha @@ -1,5 +1,5 @@ -// License: MPL-2.0 -// (c) 2021 Drew DeVault <sir@cmpwn.com> +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> fn platform_abort(path: *str, line: u64, col: u64, msg: str) void = { const prefix = "Abort: "; diff --git a/rt/+linux/platformstart-libc.ha b/rt/+linux/platformstart-libc.ha @@ -1,6 +1,5 @@ -// License: MPL-2.0 -// (c) 2021 Armin Weigl <tb46305@gmail.com> -// (c) 2021 Drew DeVault <sir@cmpwn.com> +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> export fn start_linux(iv: *[*]uintptr) never = { argc = iv[0]: size; diff --git a/rt/+linux/prctl.ha b/rt/+linux/prctl.ha @@ -1,5 +1,5 @@ -// License: MPL-2.0 -// (c) 2021 Ember Sawady <ecs@d2evs.net> +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> export def PR_SET_PDEATHSIG = 1; export def PR_GET_PDEATHSIG = 2; diff --git a/rt/+linux/segmalloc.ha b/rt/+linux/segmalloc.ha @@ -1,6 +1,5 @@ -// License: MPL-2.0 -// (c) 2021 Drew DeVault <sir@cmpwn.com> -// (c) 2021 Ember Sawady <ecs@d2evs.net> +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> // Allocates a segment. fn segmalloc(n: size) nullable *opaque = { diff --git a/rt/+linux/signal.ha b/rt/+linux/signal.ha @@ -1,5 +1,5 @@ -// License: MPL-2.0 -// (c) 2021 Mykyta Holubakha <hilobakho@gmail.com> +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> // TODO: work when _NSIG != 64 diff --git a/rt/+linux/socket.ha b/rt/+linux/socket.ha @@ -1,6 +1,5 @@ -// License: MPL-2.0 -// (c) 2021 Drew DeVault <sir@cmpwn.com> -// (c) 2021 Mykyta Holubakha <hilobakho@gmail.com> +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> export type sa_family_t = u16; export type socklen_t = uint; diff --git a/rt/+linux/stat.ha b/rt/+linux/stat.ha @@ -1,5 +1,5 @@ -// License: MPL-2.0 -// (c) 2021 Drew DeVault <sir@cmpwn.com> +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> export fn mkdev(major: u32, minor: u32) dev_t = ((major: u64 & 0xFFFFF000) << 32) | diff --git a/rt/+linux/syscallno+aarch64.ha b/rt/+linux/syscallno+aarch64.ha @@ -1,5 +1,5 @@ -// License: MPL-2.0 -// (c) 2021 Drew DeVault <sir@cmpwn.com> +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> export def SYS_io_setup: u64 = 0; export def SYS_io_destroy: u64 = 1; diff --git a/rt/+linux/syscallno+riscv64.ha b/rt/+linux/syscallno+riscv64.ha @@ -1,5 +1,5 @@ -// License: MPL-2.0 -// (c) 2021 Drew DeVault <sir@cmpwn.com> +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> export def SYS_io_setup: u64 = 0; export def SYS_io_destroy: u64 = 1; diff --git a/rt/+linux/syscallno+x86_64.ha b/rt/+linux/syscallno+x86_64.ha @@ -1,5 +1,5 @@ -// License: MPL-2.0 -// (c) 2021 Drew DeVault <sir@cmpwn.com> +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> export def SYS_read: u64 = 0; export def SYS_write: u64 = 1; diff --git a/rt/+linux/syscalls.ha b/rt/+linux/syscalls.ha @@ -1,10 +1,5 @@ -// License: MPL-2.0 -// (c) 2021 Alexey Yerin <yyp@disroot.org> -// (c) 2021 Drew DeVault <sir@cmpwn.com> -// (c) 2021 Ember Sawady <ecs@d2evs.net> -// (c) 2021 Mykyta Holubakha <hilobakho@gmail.com> -// (c) 2021 Thomas Bracht Laumann Jespersen <t@laumann.xyz> -// (c) 2022 Vincent Dagonneau <v@vda.io> +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> fn syscall0(u64) u64; fn syscall1(u64, u64) u64; diff --git a/rt/+linux/types.ha b/rt/+linux/types.ha @@ -1,12 +1,5 @@ -// License: MPL-2.0 -// (c) 2021 Alexey Yerin <yyp@disroot.org> -// (c) 2021 Bor Grošelj Simić <bor.groseljsimic@telemach.net> -// (c) 2021 Drew DeVault <sir@cmpwn.com> -// (c) 2021 Ember Sawady <ecs@d2evs.net> -// (c) 2021 Kiëd Llaentenn <kiedtl@tilde.team> -// (c) 2021 Mykyta Holubakha <hilobakho@gmail.com> -// (c) 2022 Sebastian <sebastian@sebsite.pw> -// (c) 2022 Vincent Dagonneau <v@vda.io> +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> export type off_t = u64; export type dev_t = u64; diff --git a/rt/+riscv64/arch_jmp.ha b/rt/+riscv64/arch_jmp.ha @@ -1,4 +1,4 @@ -// License: MPL-2.0 -// (c) 2021 Drew DeVault <sir@cmpwn.com> +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> export type arch_jmpbuf = [26]u64; diff --git a/rt/+riscv64/backtrace.ha b/rt/+riscv64/backtrace.ha @@ -1,6 +1,5 @@ -// License: MPL-2.0 -// (c) 2021 Drew DeVault <sir@cmpwn.com> -// (c) 2021 Ember Sawady <ecs@d2evs.net> +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> fn getfp() **opaque; diff --git a/rt/+riscv64/cpuid.ha b/rt/+riscv64/cpuid.ha @@ -1 +1,4 @@ +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> + // TODO diff --git a/rt/+riscv64/fenv.s b/rt/+riscv64/fenv.s @@ -1,6 +1,3 @@ -# License: MPL-2.0 -# (c) 2022 Alexey Yerin <yyp@disroot.org> - .section ".text.rt.feclearexcept","ax" .global rt.feclearexcept .type rt.feclearexcept,@function diff --git a/rt/+test/signal_test.ha b/rt/+test/signal_test.ha @@ -1,5 +1,5 @@ -// License: MPL-2.0 -// (c) 2022 Jose Lombera <jose@lombera.dev> +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> // Test sigset operations do not fail for valid signal numbers. @test fn sigset_valid_signum() void = { diff --git a/rt/+x86_64/arch_jmp.ha b/rt/+x86_64/arch_jmp.ha @@ -1,4 +1,4 @@ -// License: MPL-2.0 -// (c) 2021 Drew DeVault <sir@cmpwn.com> +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> export type arch_jmpbuf = [8]u64; diff --git a/rt/+x86_64/backtrace.ha b/rt/+x86_64/backtrace.ha @@ -1,7 +1,5 @@ -// License: MPL-2.0 -// (c) 2021 Drew DeVault <sir@cmpwn.com> -// (c) 2021 Ember Sawady <ecs@d2evs.net> -// (c) 2021 Mykyta Holubakha <hilobakho@gmail.com> +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> fn getfp() **opaque; diff --git a/rt/+x86_64/cpuid.ha b/rt/+x86_64/cpuid.ha @@ -1,3 +1,6 @@ +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> + export type cpuid_vendor = enum { AMD, INTEL, diff --git a/rt/abort+test.ha b/rt/abort+test.ha @@ -1,6 +1,5 @@ -// License: MPL-2.0 -// (c) 2021 Drew DeVault <sir@cmpwn.com> -// (c) 2021 Ember Sawady <ecs@d2evs.net> +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> export type abort_reason = struct { path: nullable *str, diff --git a/rt/abort.ha b/rt/abort.ha @@ -1,5 +1,5 @@ -// License: MPL-2.0 -// (c) 2021 Drew DeVault <sir@cmpwn.com> +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> export @symbol("rt.abort") fn _abort( path: *str, diff --git a/rt/ensure.ha b/rt/ensure.ha @@ -1,6 +1,5 @@ -// License: MPL-2.0 -// (c) 2021 Drew DeVault <sir@cmpwn.com> -// (c) 2021 Ember Sawady <ecs@d2evs.net> +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> export type slice = struct { data: nullable *opaque, diff --git a/rt/fenv_defs.ha b/rt/fenv_defs.ha @@ -1,5 +1,5 @@ -// License: MPL-2.0 -// (c) 2022 Bor Grošelj Simić <bor.groseljsimic@telemach.net> +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> export fn feclearexcept(ex: uint) void; export fn feraiseexcept(ex: uint) void; diff --git a/rt/jmp.ha b/rt/jmp.ha @@ -1,5 +1,5 @@ -// License: MPL-2.0 -// (c) 2021 Drew DeVault <sir@cmpwn.com> +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> export type jmpbuf = struct { __jb: arch_jmpbuf, diff --git a/rt/malloc+debug.ha b/rt/malloc+debug.ha @@ -1,5 +1,5 @@ -// License: MPL-2.0 -// (c) 2021 Drew DeVault <sir@cmpwn.com> +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> // This is a very simple "debug" allocator which works by allocating only via // mmap and returning pointers to the end of the segment such that any writes diff --git a/rt/malloc+libc.ha b/rt/malloc+libc.ha @@ -1,5 +1,5 @@ -// License: MPL-2.0 -// (c) 2021 Alexey Yerin <yyp@disroot.org> +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> // Allocates n bytes of memory and returns a pointer to them, or null if there // is insufficient memory. diff --git a/rt/malloc.ha b/rt/malloc.ha @@ -1,3 +1,6 @@ +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> + // This is a simple memory allocator, based on // Appel, Andrew W., and David A. Naumann. "Verified sequential malloc/free" // but with logarithmic bin sizing and additional safety checks. Not thread-safe diff --git a/rt/memcpy.ha b/rt/memcpy.ha @@ -1,5 +1,5 @@ -// License: MPL-2.0 -// (c) 2021 Drew DeVault <sir@cmpwn.com> +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> def MOD32 = size(u32) - 1; diff --git a/rt/memfunc_ptr.ha b/rt/memfunc_ptr.ha @@ -1,4 +1,5 @@ -// License: MPL-2.0 +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> type memfunc_ptr = union { byte: *[*]u8, diff --git a/rt/memmove.ha b/rt/memmove.ha @@ -1,5 +1,5 @@ -// License: MPL-2.0 -// (c) 2021 Drew DeVault <sir@cmpwn.com> +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> def SZSZ = size(size); def MODSZ = size(size) - 1; diff --git a/rt/memset.ha b/rt/memset.ha @@ -1,5 +1,5 @@ -// License: MPL-2.0 -// (c) 2021 Drew DeVault <sir@cmpwn.com> +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> export fn memset(dest: *opaque, val: u8, n: size) void = { // implementation adapted from musl libc diff --git a/rt/start+libc.ha b/rt/start+libc.ha @@ -1,5 +1,5 @@ -// License: MPL-2.0 -// (c) 2021 Drew DeVault <sir@cmpwn.com> +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> @symbol(".main") fn main() void; @symbol("exit") fn c_exit(status: int) never; diff --git a/rt/start+test+libc.ha b/rt/start+test+libc.ha @@ -1,5 +1,5 @@ -// License: MPL-2.0 -// (c) 2021 Alexey Yerin <yyp@disroot.org> +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> @symbol("__test_main") fn test_main() size; diff --git a/rt/start+test.ha b/rt/start+test.ha @@ -1,5 +1,5 @@ -// License: MPL-2.0 -// (c) 2021 Drew DeVault <sir@cmpwn.com> +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> @symbol("__test_main") fn test_main() size; diff --git a/rt/start.ha b/rt/start.ha @@ -1,6 +1,5 @@ -// License: MPL-2.0 -// (c) 2021 Armin Weigl <tb46305@gmail.com> -// (c) 2021 Drew DeVault <sir@cmpwn.com> +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> @symbol("main") fn main() void; diff --git a/rt/strcmp.ha b/rt/strcmp.ha @@ -1,5 +1,5 @@ -// License: MPL-2.0 -// (c) 2021 Drew DeVault <sir@cmpwn.com> +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> type string = struct { data: *[*]u8, diff --git a/rt/u64tos.ha b/rt/u64tos.ha @@ -1,3 +1,6 @@ +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> + fn u64tos(u: u64) (*const u8, size) = { static let buf: [20]u8 = [0...]; // len("18446744073709551615") let sl = buf[..0]; diff --git a/rt/unknown_errno.ha b/rt/unknown_errno.ha @@ -1,3 +1,6 @@ +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> + fn unknown_errno(err: errno) str = { static let buf: [27]u8 = [0...]; const s = *(&"[unknown errno ": *[]u8); diff --git a/scripts/copyright.sh b/scripts/copyright.sh @@ -0,0 +1,38 @@ +#!/bin/sh -eu + +# XXX: technically doesn't work with paths that have newlines in them, but +# find -exec doesn't propagate the exit status +find . -name '*.ha' | while read -r f; do + awk 'BEGIN { state = "start" } + state == "start" { + if ($0 !~ /^\/\/ SPDX-License-Identifier: /) { + print "missing copyright header in " FILENAME + exit 1 + } + state = "author" + next + } + state == "author" { + if ($0 != "// (c) Hare authors <https://harelang.org>") { + print "invalid authorship information in " FILENAME + exit 1 + } + state = "comment" + next + } + state == "comment" && $0 !~ /^\/\// { + if ($0 != "") { + print "missing empty line after copyright header in " FILENAME + exit 1 + } + state = "postheader" + next + } + state == "postheader" { + if ($0 == "") { + print "extra empty line after copyright header in " FILENAME + exit 1 + } + exit 0 + }' "$f" +done diff --git a/shlex/+test.ha b/shlex/+test.ha @@ -1,6 +1,6 @@ -// License: MPL-2.0 -// (c) 2021 Alexey Yerin <yyp@disroot.org> -// (c) 2022 Drew DeVault <sir@cmpwn.com> +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> + use io; use memio; use strings; diff --git a/shlex/escape.ha b/shlex/escape.ha @@ -1,6 +1,6 @@ -// License: MPL-2.0 -// (c) 2021 Alexey Yerin <yyp@disroot.org> -// (c) 2022 Drew DeVault <sir@cmpwn.com> +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> + use ascii; use encoding::utf8; use io; diff --git a/shlex/split.ha b/shlex/split.ha @@ -1,6 +1,6 @@ -// License: MPL-2.0 -// (c) 2021-2022 Alexey Yerin <yyp@disroot.org> -// (c) 2021 Ember Sawady <ecs@d2evs.net> +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> + use io; use memio; use strings; diff --git a/sort/+test.ha b/sort/+test.ha @@ -1,6 +1,5 @@ -// License: MPL-2.0 -// (c) 2021 Drew DeVault <sir@cmpwn.com> -// (c) 2021 Ember Sawady <ecs@d2evs.net> +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> use math::random; use sort::cmp; diff --git a/sort/bisect.ha b/sort/bisect.ha @@ -1,5 +1,5 @@ -// License: MPL-2.0 -// (c) 2022 Sebastian <sebastian@sebsite.pw> +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> // Determines the index that 'elem' should be inserted into sorted slice 'in'. // If 'elem' already appears in the slice, inserting to the returned index will diff --git a/sort/cmp/cmp.ha b/sort/cmp/cmp.ha @@ -1,3 +1,6 @@ +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> + use strings; // [[sort::cmpfunc]] for use with int. diff --git a/sort/search.ha b/sort/search.ha @@ -1,5 +1,5 @@ -// License: MPL-2.0 -// (c) 2021 Drew DeVault <sir@cmpwn.com> +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> // Performs a binary search over a sorted slice. If the key is found, index of // the matching item in the slice is returned. Otherwise, void is returned. diff --git a/sort/sort.ha b/sort/sort.ha @@ -1,6 +1,5 @@ -// License: MPL-2.0 -// (c) 2021 Drew DeVault <sir@cmpwn.com> -// (c) 2021 Steven Guikal <void@fluix.one> +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> use math; use types; diff --git a/sort/types.ha b/sort/types.ha @@ -1,5 +1,5 @@ -// License: MPL-2.0 -// (c) 2022 Sebastian <sebastian@sebsite.pw> +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> // This function type is used when sorting and searching. Given two pointers to // values, a function of this type should return an integer less than, equal to, diff --git a/strconv/+test/stoi_test.ha b/strconv/+test/stoi_test.ha @@ -1,8 +1,6 @@ -// License: MPL-2.0 -// (c) 2021 Alexey Yerin <yyp@disroot.org> -// (c) 2021 Andri Yngvason <andri@yngvason.is> -// (c) 2022 Bor Grošelj Simić <bor.groseljsimic@telemach.net> -// (c) 2021 Ember Sawady <ecs@d2evs.net> +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> + use types; @test fn stoi() void = { diff --git a/strconv/+test/stou_test.ha b/strconv/+test/stou_test.ha @@ -1,7 +1,5 @@ -// License: MPL-2.0 -// (c) 2021 Andri Yngvason <andri@yngvason.is> -// (c) 2022 Bor Grošelj Simić <bor.groseljsimic@telemach.net> -// (c) 2021 Ember Sawady <ecs@d2evs.net> +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> @test fn stou() void = { assert(stou64("") as invalid == 0: invalid); diff --git a/strconv/ftos.ha b/strconv/ftos.ha @@ -1,10 +1,5 @@ -// License: MPL-2.0 -// (c) 2021 Bor Grošelj Simić <bor.groseljsimic@telemach.net> -// (c) 2021 Drew DeVault <sir@cmpwn.com> -// (c) 2021 Ember Sawady <ecs@d2evs.net> -// (c) 2021 Sudipto Mallick <smlckz@disroot.org> -// (c) 2021 Sudipto Mallick <smlckz@envs.net> -// (c) 2021 Vlad-Stefan Harbuz <vlad@vladh.net> +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> // Using Ryū: fast float-to-string conversion algorithm by Ulf Adams. // https://doi.org/10.1145/3192366.3192369 diff --git a/strconv/ftostof+test.ha b/strconv/ftostof+test.ha @@ -1,3 +1,6 @@ +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> + use math; // test round-trip accuracy of ftos followed by stof. diff --git a/strconv/itos.ha b/strconv/itos.ha @@ -1,7 +1,6 @@ -// License: MPL-2.0 -// (c) 2021 Andri Yngvason <andri@yngvason.is> -// (c) 2021 Armin Weigl <tb46305@gmail.com> -// (c) 2021 Drew DeVault <sir@cmpwn.com> +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> + use bytes; use types; use strings; diff --git a/strconv/numeric.ha b/strconv/numeric.ha @@ -1,6 +1,6 @@ -// License: MPL-2.0 -// (c) 2021 Drew DeVault <sir@cmpwn.com> -// (c) 2021-2022 Ember Sawady <ecs@d2evs.net> +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> + use types; // Converts any [[types::signed]] to a string in a given base. The return value is diff --git a/strconv/stof.ha b/strconv/stof.ha @@ -1,7 +1,5 @@ -// License: MPL-2.0 -// (c) 2021 Drew DeVault <sir@cmpwn.com> -// (c) 2021 Sudipto Mallick <smlckz@disroot.org> -// (c) 2021 Vlad-Stefan Harbuz <vlad@vladh.net> +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> // Using the Eisel-Lemire algorithm [1] for fast parsing of floating-point // numbers, with Simple Decimal Conversion algorithm [2] as fallback. diff --git a/strconv/stof_data.ha b/strconv/stof_data.ha @@ -1,5 +1,5 @@ -// License: MPL-2.0 -// (c) 2021 Sudipto Mallick <smlckz@disroot.org> +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> const left_shift_table: [65]u16 = [ 0x0000, 0x0800, 0x0801, 0x0803, 0x1006, 0x1009, 0x100D, 0x1812, 0x1817, diff --git a/strconv/stoi.ha b/strconv/stoi.ha @@ -1,8 +1,6 @@ -// License: MPL-2.0 -// (c) 2021 Alexey Yerin <yyp@disroot.org> -// (c) 2021 Andri Yngvason <andri@yngvason.is> -// (c) 2021 Drew DeVault <sir@cmpwn.com> -// (c) 2021 Ember Sawady <ecs@d2evs.net> +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> + use types; use strings; diff --git a/strconv/stou.ha b/strconv/stou.ha @@ -1,7 +1,6 @@ -// License: MPL-2.0 -// (c) 2021 Andri Yngvason <andri@yngvason.is> -// (c) 2021 Drew DeVault <sir@cmpwn.com> -// (c) 2021 Ember Sawady <ecs@d2evs.net> +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> + use strings; use types; use ascii; diff --git a/strconv/types.ha b/strconv/types.ha @@ -1,7 +1,5 @@ -// License: MPL-2.0 -// (c) 2021 Andri Yngvason <andri@yngvason.is> -// (c) 2021 Drew DeVault <sir@cmpwn.com> -// (c) 2021 Ember Sawady <ecs@d2evs.net> +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> // Indicates that the input string doesn't have the requested number format // (integer or float). Contains the index of the first invalid rune. diff --git a/strconv/utos.ha b/strconv/utos.ha @@ -1,7 +1,6 @@ -// License: MPL-2.0 -// (c) 2021 Andri Yngvason <andri@yngvason.is> -// (c) 2021 Armin Weigl <tb46305@gmail.com> -// (c) 2021 Drew DeVault <sir@cmpwn.com> +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> + use bytes; use types; diff --git a/strings/compare.ha b/strings/compare.ha @@ -1,3 +1,6 @@ +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> + // Compares two strings by their Unicode codepoint sort order. Zero is returned // if the strings are equal, a negative value if a is less than b, or a positive // value if a is greater than b. diff --git a/strings/concat.ha b/strings/concat.ha @@ -1,5 +1,5 @@ -// License: MPL-2.0 -// (c) 2021 Drew DeVault <sir@cmpwn.com> +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> // Concatenates two or more strings. The caller must free the return value. export fn concat(strs: str...) str = { diff --git a/strings/contains.ha b/strings/contains.ha @@ -1,7 +1,6 @@ -// License: MPL-2.0 -// (c) 2021 Drew DeVault <sir@cmpwn.com> -// (c) 2021 Ember Sawady <ecs@d2evs.net> -// (c) 2022 Vlad-Stefan Harbuz <vlad@vladh.net> +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> + use bytes; use encoding::utf8; diff --git a/strings/dup.ha b/strings/dup.ha @@ -1,8 +1,6 @@ -// License: MPL-2.0 -// (c) 2021-2022 Alexey Yerin <yyp@disroot.org> -// (c) 2022 Bor Grošelj Simić <bor.groseljsimic@telemach.net> -// (c) 2021 Drew DeVault <sir@cmpwn.com> -// (c) 2021 Ember Sawady <ecs@d2evs.net> +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> + use types; // Duplicates a string. Aborts on allocation failure. diff --git a/strings/index.ha b/strings/index.ha @@ -1,7 +1,6 @@ -// License: MPL-2.0 -// (c) 2021 Drew DeVault <sir@cmpwn.com> -// (c) 2021 Ember Sawady <ecs@d2evs.net> -// (c) 2021 Vlad-Stefan Harbuz <vlad@vladh.net> +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> + use bytes; use encoding::utf8; diff --git a/strings/iter.ha b/strings/iter.ha @@ -1,9 +1,6 @@ -// License: MPL-2.0 -// (c) 2022 Ajay R <ar324@protonmail.com> -// (c) 2021 Bor Grošelj Simić <bor.groseljsimic@telemach.net> -// (c) 2021-2022 Drew DeVault <sir@cmpwn.com> -// (c) 2021 Ember Sawady <ecs@d2evs.net> -// (c) 2021 Miccah Castorina <contact@miccah.io> +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> + use encoding::utf8; export type iterator = struct { diff --git a/strings/pad.ha b/strings/pad.ha @@ -1,5 +1,6 @@ -// License: MPL-2.0 -// (c) 2021 Vlad-Stefan Harbuz <vlad@vladh.net> +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> + use encoding::utf8; // Pads a string's start with 'prefix' until it reaches length 'target_len'. diff --git a/strings/replace.ha b/strings/replace.ha @@ -1,6 +1,5 @@ -// License: MPL-2.0 -// (c) 2021 Ember Sawady <ecs@d2evs.net> -// (c) 2021 Vlad-Stefan Harbuz <vlad@vladh.net> +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> use bytes; diff --git a/strings/runes.ha b/strings/runes.ha @@ -1,5 +1,6 @@ -// License: MPL-2.0 -// (c) 2022 Byron Torres <b@torresjrjr.com> +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> + use encoding::utf8; // Returns a slice of runes for a string in O(n). The caller must free the diff --git a/strings/sub.ha b/strings/sub.ha @@ -1,8 +1,6 @@ -// License: MPL-2.0 -// (c) 2021 Andri Yngvason <andri@yngvason.is> -// (c) 2021-2022 Bor Grošelj Simić <bor.groseljsimic@telemach.net> -// (c) 2021 Drew DeVault <sir@cmpwn.com> -// (c) 2021 Ember Sawady <ecs@d2evs.net> +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> + use encoding::utf8; export type end = void; diff --git a/strings/suffix.ha b/strings/suffix.ha @@ -1,7 +1,6 @@ -// License: MPL-2.0 -// (c) 2021 Drew DeVault <sir@cmpwn.com> -// (c) 2021 Ember Sawady <ecs@d2evs.net> -// (c) 2021 Thomas Bracht Laumann Jespersen <t@laumann.xyz> +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> + use bytes; use encoding::utf8; diff --git a/strings/template/template.ha b/strings/template/template.ha @@ -1,5 +1,6 @@ -// License: MPL-2.0 -// (c) 2022 Drew DeVault <sir@cmpwn.com> +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> + use ascii; use errors; use fmt; diff --git a/strings/tokenize.ha b/strings/tokenize.ha @@ -1,8 +1,6 @@ -// License: MPL-2.0 -// (c) 2021 Bor Grošelj Simić <bor.groseljsimic@telemach.net> -// (c) 2021 Drew DeVault <sir@cmpwn.com> -// (c) 2021 Ember Sawady <ecs@d2evs.net> -// (c) 2022 Sebastian <sebastian@sebsite.pw> +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> + use bytes; use types; diff --git a/strings/trim.ha b/strings/trim.ha @@ -1,8 +1,6 @@ -// License: MPL-2.0 -// (c) 2021 Drew DeVault <sir@cmpwn.com> -// (c) 2021 Ember Sawady <ecs@d2evs.net> -// (c) 2021 Miccah Castorina <contact@miccah.io> -// (c) 2021 Sudipto Mallick <smlckz@disroot.org> +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> + use bytes; use encoding::utf8; diff --git a/strings/utf8.ha b/strings/utf8.ha @@ -1,5 +1,6 @@ -// License: MPL-2.0 -// (c) 2021-2022 Drew DeVault <sir@cmpwn.com> +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> + use encoding::utf8; use types; diff --git a/temp/+freebsd.ha b/temp/+freebsd.ha @@ -1,8 +1,6 @@ -// License: MPL-2.0 -// (c) 2022 Alexey Yerin <yyp@disroot.org> -// (c) 2021-2022 Drew DeVault <sir@cmpwn.com> -// (c) 2021 Ember Sawady <ecs@d2evs.net> -// (c) 2022 Jon Eskin <eskinjp@gmail.com> +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> + use crypto::random; use encoding::hex; use errors; diff --git a/temp/+linux.ha b/temp/+linux.ha @@ -1,8 +1,6 @@ -// License: MPL-2.0 -// (c) 2022 Alexey Yerin <yyp@disroot.org> -// (c) 2021-2022 Drew DeVault <sir@cmpwn.com> -// (c) 2021 Ember Sawady <ecs@d2evs.net> -// (c) 2022 Jon Eskin <eskinjp@gmail.com> +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> + use crypto::random; use encoding::hex; use errors; diff --git a/test/+test.ha b/test/+test.ha @@ -1,3 +1,6 @@ +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> + use bufio; use encoding::hex; use encoding::utf8; diff --git a/test/common.ha b/test/common.ha @@ -1,3 +1,6 @@ +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> + let want_abort = false; // Expect the currently running test to abort. The test will fail if it doesn't diff --git a/test/fail+test.ha b/test/fail+test.ha @@ -1,3 +1,6 @@ +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> + use os; @test fn _abort() void = { diff --git a/time/+freebsd/functions.ha b/time/+freebsd/functions.ha @@ -1,6 +1,6 @@ -// License: MPL-2.0 -// (c) 2021 Drew DeVault <sir@cmpwn.com> -// (c) 2021 Ember Sawady <ecs@d2evs.net> +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> + use rt; // Converts a [[duration]] to an [[rt::timespec]]. This function is diff --git a/time/+linux/+aarch64.ha b/time/+linux/+aarch64.ha @@ -1,5 +1,5 @@ -// License: MPL-2.0 -// (c) 2021 Mykyta Holubakha <hilobakho@gmail.com> +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> def VDSO_CGT_SYM: str = "__kernel_clock_gettime"; def VDSO_CGT_VER: str = "LINUX_2.6.39"; diff --git a/time/+linux/+riscv64.ha b/time/+linux/+riscv64.ha @@ -1,5 +1,5 @@ -// License: MPL-2.0 -// (c) 2021 Drew DeVault <sir@cmpwn.com> +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> def VDSO_CGT_SYM: str = "__kernel_clock_gettime"; def VDSO_CGT_VER: str = "LINUX_4.15"; diff --git a/time/+linux/+x86_64.ha b/time/+linux/+x86_64.ha @@ -1,5 +1,5 @@ -// License: MPL-2.0 -// (c) 2021 Mykyta Holubakha <hilobakho@gmail.com> +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> def VDSO_CGT_SYM: str = "__vdso_clock_gettime"; def VDSO_CGT_VER: str = "LINUX_2.6"; diff --git a/time/+linux/functions.ha b/time/+linux/functions.ha @@ -1,7 +1,6 @@ -// License: MPL-2.0 -// (c) 2021 Drew DeVault <sir@cmpwn.com> -// (c) 2021 Ember Sawady <ecs@d2evs.net> -// (c) 2021 Mykyta Holubakha <hilobakho@gmail.com> +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> + use rt; use linux::vdso; diff --git a/time/arithm.ha b/time/arithm.ha @@ -1,6 +1,6 @@ -// License: MPL-2.0 -// (c) 2022 Byron Torres <b@torresjrjr.com> -// (c) 2021 Drew DeVault <sir@cmpwn.com> +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> + use math; // Adds a [[duration]] to an [[instant]], returning an instant further in the diff --git a/time/chrono/+freebsd.ha b/time/chrono/+freebsd.ha @@ -1,5 +1,5 @@ -// License: MPL-2.0 -// (c) 2022 Sebastian <sebastian@sebsite.pw> +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> def LOCALTIME_PATH: str = "/etc/localtime"; def ZONEINFO_PREFIX: str = "/usr/share/zoneinfo/"; diff --git a/time/chrono/+linux.ha b/time/chrono/+linux.ha @@ -1,5 +1,5 @@ -// License: MPL-2.0 -// (c) 2022 Sebastian <sebastian@sebsite.pw> +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> def LOCALTIME_PATH: str = "/etc/localtime"; def ZONEINFO_PREFIX: str = "/usr/share/zoneinfo/"; diff --git a/time/chrono/arithmetic.ha b/time/chrono/arithmetic.ha @@ -1,5 +1,6 @@ -// License: MPL-2.0 -// (c) 2023 Byron Torres <b@torresjrjr.com> +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> + use time; // Compares two [[moment]]s. Returns -1 if a precedes b, 0 if a and b are diff --git a/time/chrono/chronology.ha b/time/chrono/chronology.ha @@ -1,5 +1,6 @@ -// License: MPL-2.0 -// (c) 2021-2022 Byron Torres <b@torresjrjr.com> +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> + use time; // Invalid [[moment]]. diff --git a/time/chrono/error.ha b/time/chrono/error.ha @@ -1,5 +1,6 @@ -// License: MPL-2.0 -// (c) 2022 Byron Torres <b@torresjrjr.com> +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> + use encoding::utf8; use fmt; use fs; diff --git a/time/chrono/leapsec.ha b/time/chrono/leapsec.ha @@ -1,5 +1,6 @@ -// License: MPL-2.0 -// (c) 2021-2022 Byron Torres <b@torresjrjr.com> +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> + use bufio; use encoding::utf8; use fs; diff --git a/time/chrono/timescale.ha b/time/chrono/timescale.ha @@ -1,5 +1,6 @@ -// License: MPL-2.0 -// (c) 2021-2022 Byron Torres <b@torresjrjr.com> +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> + use time; // Represents a scale of time; a time standard. See [[convert]]. diff --git a/time/chrono/timezone.ha b/time/chrono/timezone.ha @@ -1,5 +1,6 @@ -// License: MPL-2.0 -// (c) 2021-2022 Byron Torres <b@torresjrjr.com> +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> + use bufio; use io; use os; diff --git a/time/chrono/tzdb.ha b/time/chrono/tzdb.ha @@ -1,5 +1,6 @@ -// License: MPL-2.0 -// (c) 2021-2022 Byron Torres <b@torresjrjr.com> +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> + use bufio; use bytes; use encoding::utf8; diff --git a/time/conv.ha b/time/conv.ha @@ -1,3 +1,6 @@ +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> + // Converts a given [[instant]] to a Unix timestamp. // Note, nanosecond information is lost during conversion. export fn unix(i: instant) i64 = i.sec; diff --git a/time/date/date.ha b/time/date/date.ha @@ -1,6 +1,6 @@ -// License: MPL-2.0 -// (c) 2021-2022 Byron Torres <b@torresjrjr.com> -// (c) 2022 Drew DeVault <sir@cmpwn.com> +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> + use time; use time::chrono; diff --git a/time/date/daydate.ha b/time/date/daydate.ha @@ -1,6 +1,5 @@ -// License: MPL-2.0 -// (c) 2021-2022 Byron Torres <b@torresjrjr.com> -// (c) 2021-2022 Vlad-Stefan Harbuz <vlad@vladh.net> +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> // Hare internally uses the Unix epoch (1970-01-01) for calendrical logic. Here // we provide useful constant for working with the astronomically numbered diff --git a/time/date/daytime.ha b/time/date/daytime.ha @@ -1,5 +1,6 @@ -// License: MPL-2.0 -// (c) 2021-2022 Byron Torres <b@torresjrjr.com> +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> + use time; // Calculates the wall clock (hour, minute, second, nanosecond), diff --git a/time/date/error.ha b/time/date/error.ha @@ -1,5 +1,5 @@ -// License: MPL-2.0 -// (c) 2023 Byron Torres <b@torresjrjr.com> +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> // All possible errors returned from [[date]]. export type error = !(insufficient | invalid | parsefail); diff --git a/time/date/format.ha b/time/date/format.ha @@ -1,7 +1,6 @@ -// License: MPL-2.0 -// (c) 2021-2022 Byron Torres <b@torresjrjr.com> -// (c) 2022 Drew DeVault <sir@cmpwn.com> -// (c) 2021-2022 Vlad-Stefan Harbuz <vlad@vladh.net> +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> + use ascii; use fmt; use io; diff --git a/time/date/locality.ha b/time/date/locality.ha @@ -1,6 +1,6 @@ -// License: MPL-2.0 -// (c) 2021-2022 Byron Torres <b@torresjrjr.com> -// (c) 2022 Drew DeVault <sir@cmpwn.com> +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> + use time; use time::chrono; diff --git a/time/date/observe.ha b/time/date/observe.ha @@ -1,5 +1,6 @@ -// License: MPL-2.0 -// (c) 2021-2022 Byron Torres <b@torresjrjr.com> +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> + use time::chrono; // These functions are renamed to avoid namespace conflicts, like in the diff --git a/time/date/parithm.ha b/time/date/parithm.ha @@ -1,7 +1,6 @@ -// License: MPL-2.0 -// (c) 2021-2022 Byron Torres <b@torresjrjr.com> -// (c) 2022 Drew DeVault <sir@cmpwn.com> -// (c) 2021-2022 Vlad-Stefan Harbuz <vlad@vladh.net> +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> + use fmt; use math; use time; diff --git a/time/date/parse.ha b/time/date/parse.ha @@ -1,7 +1,6 @@ -// License: MPL-2.0 -// (c) 2021-2022 Byron Torres <b@torresjrjr.com> -// (c) 2022 Drew DeVault <sir@cmpwn.com> -// (c) 2021-2022 Vlad-Stefan Harbuz <vlad@vladh.net> +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> + use ascii; use io; use strconv; diff --git a/time/date/period.ha b/time/date/period.ha @@ -1,5 +1,5 @@ -// License: MPL-2.0 -// (c) 2023 Byron Torres <b@torresjrjr.com> +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> // Represents a span of time in the Gregorian chronology, using nominal units of // time. Used for chronological arithmetic. diff --git a/time/date/reckon.ha b/time/date/reckon.ha @@ -1,5 +1,6 @@ -// License: MPL-2.0 -// (c) 2023 Byron Torres <b@torresjrjr.com> +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> + use time; use time::chrono; diff --git a/time/date/tarithm.ha b/time/date/tarithm.ha @@ -1,5 +1,6 @@ -// License: MPL-2.0 -// (c) 2023 Byron Torres <b@torresjrjr.com> +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> + use time; // Adds a [[time::duration]] to a [[date]] with [[time::add]]. This is a diff --git a/time/date/virtual.ha b/time/date/virtual.ha @@ -1,5 +1,6 @@ -// License: MPL-2.0 -// (c) 2021-2022 Byron Torres <b@torresjrjr.com> +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> + use time; use time::chrono; diff --git a/time/types.ha b/time/types.ha @@ -1,6 +1,6 @@ -// License: MPL-2.0 -// (c) 2021 Alexey Yerin <yyp@disroot.org> -// (c) 2021 Drew DeVault <sir@cmpwn.com> +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> + use types; // The elapsed time between two instants, in nanoseconds. The largest diff --git a/types/arch+aarch64.ha b/types/arch+aarch64.ha @@ -1,5 +1,5 @@ -// License: MPL-2.0 -// (c) 2021 Drew DeVault <sir@cmpwn.com> +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> // Minimum value which can be stored in an int type. export def INT_MIN: int = I32_MIN; diff --git a/types/arch+riscv64.ha b/types/arch+riscv64.ha @@ -1,5 +1,5 @@ -// License: MPL-2.0 -// (c) 2021 Drew DeVault <sir@cmpwn.com> +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> // Minimum value which can be stored in an int type. export def INT_MIN: int = I32_MIN; diff --git a/types/arch+x86_64.ha b/types/arch+x86_64.ha @@ -1,5 +1,5 @@ -// License: MPL-2.0 -// (c) 2021 Drew DeVault <sir@cmpwn.com> +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> // Minimum value which can be stored in an int type. export def INT_MIN: int = I32_MIN; diff --git a/types/c/+test.ha b/types/c/+test.ha @@ -1,3 +1,6 @@ +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> + @test fn sizes() void = { static assert(size(char) == size(schar)); static assert(size(char) == size(uchar)); diff --git a/types/c/arch+aarch64.ha b/types/c/arch+aarch64.ha @@ -1,3 +1,6 @@ +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> + use types; // Integer type compatible with `char`, as specified by ISO/IEC 9899. diff --git a/types/c/arch+riscv64.ha b/types/c/arch+riscv64.ha @@ -1,3 +1,6 @@ +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> + use types; // Integer type compatible with `char`, as specified by ISO/IEC 9899. diff --git a/types/c/arch+x86_64.ha b/types/c/arch+x86_64.ha @@ -1,3 +1,6 @@ +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> + use types; // Integer type compatible with `char`, as specified by ISO/IEC 9899. diff --git a/types/c/strings.ha b/types/c/strings.ha @@ -1,3 +1,6 @@ +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> + use encoding::utf8; use types; diff --git a/types/c/types.ha b/types/c/types.ha @@ -1,3 +1,6 @@ +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> + use types; // Integer type compatible with `char8_t`, as defined in <uchar.h> and specified diff --git a/types/classes.ha b/types/classes.ha @@ -1,5 +1,5 @@ -// License: MPL-2.0 -// (c) 2021 Drew DeVault <sir@cmpwn.com> +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> // A tagged union of all signed integer types. export type signed = (i8 | i16 | i32 | i64 | int); diff --git a/types/limits.ha b/types/limits.ha @@ -1,6 +1,5 @@ -// License: MPL-2.0 -// (c) 2021 Drew DeVault <sir@cmpwn.com> -// (c) 2021 Sudipto Mallick <smlckz@disroot.org> +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> // Minimum value which can be stored in an i8 type. export def I8_MIN: i8 = -128; diff --git a/unix/+freebsd/getuid.ha b/unix/+freebsd/getuid.ha @@ -1,5 +1,6 @@ -// License: MPL-2.0 -// (c) 2021 Drew DeVault <sir@cmpwn.com> +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> + use rt; // Returns the current process user ID. diff --git a/unix/+freebsd/groups.ha b/unix/+freebsd/groups.ha @@ -1,3 +1,6 @@ +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> + use rt; // Returns a list of supplementary group IDs for the current process. diff --git a/unix/+freebsd/nice.ha b/unix/+freebsd/nice.ha @@ -1,6 +1,6 @@ -// License: MPL-2.0 -// (c) 2021 Drew DeVault <sir@cmpwn.com> -// (c) 2021 Ember Sawady <ecs@d2evs.net> +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> + use errors; use rt; diff --git a/unix/+freebsd/pipe.ha b/unix/+freebsd/pipe.ha @@ -1,6 +1,6 @@ -// License: MPL-2.0 -// (c) 2021 Drew DeVault <sir@cmpwn.com> -// (c) 2021 Ember Sawady <ecs@d2evs.net> +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> + use errors; use io; use rt; diff --git a/unix/+freebsd/setuid.ha b/unix/+freebsd/setuid.ha @@ -1,6 +1,6 @@ -// License: MPL-2.0 -// (c) 2021 Drew DeVault <sir@cmpwn.com> -// (c) 2021 Ember Sawady <ecs@d2evs.net> +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> + use rt; // Sets the caller's user ID to the specified value. This generally requires diff --git a/unix/+freebsd/umask.ha b/unix/+freebsd/umask.ha @@ -1,5 +1,6 @@ -// License: MPL-2.0 -// (c) 2021 Drew DeVault <sir@cmpwn.com> +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> + use fs; use rt; diff --git a/unix/+linux/getuid.ha b/unix/+linux/getuid.ha @@ -1,5 +1,6 @@ -// License: MPL-2.0 -// (c) 2021 Drew DeVault <sir@cmpwn.com> +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> + use rt; // Returns the current process user ID. diff --git a/unix/+linux/groups.ha b/unix/+linux/groups.ha @@ -1,3 +1,6 @@ +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> + use rt; // Returns a list of supplementary group IDs for the current process. diff --git a/unix/+linux/nice.ha b/unix/+linux/nice.ha @@ -1,6 +1,6 @@ -// License: MPL-2.0 -// (c) 2021 Drew DeVault <sir@cmpwn.com> -// (c) 2021 Ember Sawady <ecs@d2evs.net> +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> + use errors; use rt; diff --git a/unix/+linux/pipe.ha b/unix/+linux/pipe.ha @@ -1,5 +1,6 @@ -// License: MPL-2.0 -// (c) 2021 Ember Sawady <ecs@d2evs.net> +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> + use errors; use io; use rt; diff --git a/unix/+linux/setuid.ha b/unix/+linux/setuid.ha @@ -1,6 +1,6 @@ -// License: MPL-2.0 -// (c) 2021 Drew DeVault <sir@cmpwn.com> -// (c) 2021 Ember Sawady <ecs@d2evs.net> +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> + use rt; // Sets the caller's user ID to the specified value. This generally requires diff --git a/unix/+linux/umask.ha b/unix/+linux/umask.ha @@ -1,6 +1,6 @@ -// License: MPL-2.0 -// (c) 2021 Ember Sawady <ecs@d2evs.net> -// (c) 2021 Umar Getagazov <umar@handlerug.me> +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> + use fs; use rt; diff --git a/unix/hosts/+freebsd.ha b/unix/hosts/+freebsd.ha @@ -1,4 +1,4 @@ -// License: MPL-2.0 -// (c) 2022 Sebastian <sebastian@sebsite.pw> +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> def PATH: str = "/etc/hosts"; diff --git a/unix/hosts/+linux.ha b/unix/hosts/+linux.ha @@ -1,4 +1,4 @@ -// License: MPL-2.0 -// (c) 2022 Sebastian <sebastian@sebsite.pw> +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> def PATH: str = "/etc/hosts"; diff --git a/unix/hosts/hosts.ha b/unix/hosts/hosts.ha @@ -1,8 +1,6 @@ -// License: MPL-2.0 -// (c) 2023 Dmitry Matveyev <public@greenfork.me> -// (c) 2022 Alexey Yerin <yyp@disroot.org> -// (c) 2021 Drew DeVault <sir@cmpwn.com> -// (c) 2021 Ember Sawady <ecs@d2evs.net> +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> + use bufio; use encoding::utf8; use fs; diff --git a/unix/hosts/test+test.ha b/unix/hosts/test+test.ha @@ -1,5 +1,6 @@ -// License: MPL-2.0 -// (c) 2023 Dmitry Matveyev <public@greenfork.me> +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> + use io; use memio; use net::ip; diff --git a/unix/passwd/group.ha b/unix/passwd/group.ha @@ -1,7 +1,6 @@ -// License: MPL-2.0 -// (c) 2021-2022 Alexey Yerin <yyp@disroot.org> -// (c) 2021 Drew DeVault <sir@cmpwn.com> -// (c) 2021 Ember Sawady <ecs@d2evs.net> +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> + use bufio; use io; use memio; diff --git a/unix/passwd/passwd.ha b/unix/passwd/passwd.ha @@ -1,7 +1,6 @@ -// License: MPL-2.0 -// (c) 2021-2022 Alexey Yerin <yyp@disroot.org> -// (c) 2021 Drew DeVault <sir@cmpwn.com> -// (c) 2021 Ember Sawady <ecs@d2evs.net> +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> + use bufio; use io; use memio; diff --git a/unix/passwd/types.ha b/unix/passwd/types.ha @@ -1,6 +1,5 @@ -// License: MPL-2.0 -// (c) 2021 Alexey Yerin <yyp@disroot.org> -// (c) 2021 Ember Sawady <ecs@d2evs.net> +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> // An invalid entry was encountered during parsing. export type invalid = !void; diff --git a/unix/poll/+freebsd.ha b/unix/poll/+freebsd.ha @@ -1,6 +1,6 @@ -// License: MPL-2.0 -// (c) 2021 Drew DeVault <sir@cmpwn.com> -// (c) 2021 Ember Sawady <ecs@d2evs.net> +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> + use errors; use io; use rt; diff --git a/unix/poll/+linux.ha b/unix/poll/+linux.ha @@ -1,6 +1,6 @@ -// License: MPL-2.0 -// (c) 2021 Drew DeVault <sir@cmpwn.com> -// (c) 2021 Ember Sawady <ecs@d2evs.net> +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> + use errors; use io; use rt; diff --git a/unix/poll/types.ha b/unix/poll/types.ha @@ -1,3 +1,6 @@ +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> + use errors; // All error types that can be returned from [[poll]]. diff --git a/unix/resolvconf/+freebsd.ha b/unix/resolvconf/+freebsd.ha @@ -1,4 +1,4 @@ -// License: MPL-2.0 -// (c) 2022 Sebastian <sebastian@sebsite.pw> +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> def PATH: str = "/etc/resolv.conf"; diff --git a/unix/resolvconf/+linux.ha b/unix/resolvconf/+linux.ha @@ -1,4 +1,4 @@ -// License: MPL-2.0 -// (c) 2022 Sebastian <sebastian@sebsite.pw> +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> def PATH: str = "/etc/resolv.conf"; diff --git a/unix/resolvconf/load.ha b/unix/resolvconf/load.ha @@ -1,7 +1,6 @@ -// License: MPL-2.0 -// (c) 2022 Alexey Yerin <yyp@disroot.org> -// (c) 2021 Drew DeVault <sir@cmpwn.com> -// (c) 2021 Ember Sawady <ecs@d2evs.net> +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> + use bufio; use io; use memio; diff --git a/unix/signal/+freebsd.ha b/unix/signal/+freebsd.ha @@ -1,3 +1,6 @@ +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> + use io; use rt; diff --git a/unix/signal/+linux.ha b/unix/signal/+linux.ha @@ -1,5 +1,6 @@ -// License: MPL-2.0 -// (c) 2022 Drew DeVault <sir@cmpwn.com> +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> + use errors; use io; use rt; diff --git a/unix/signal/types.ha b/unix/signal/types.ha @@ -1,5 +1,5 @@ -// License: MPL-2.0 -// (c) 2022 Drew DeVault <sir@cmpwn.com> +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> // A function which handles a signal. The first argument is the signal number // which was caught, the second provides information about the signal, and the diff --git a/unix/tty/+freebsd/isatty.ha b/unix/tty/+freebsd/isatty.ha @@ -1,6 +1,6 @@ -// License: MPL-2.0 -// (c) 2021 Drew DeVault <sir@cmpwn.com> -// (c) 2021 Ember Sawady <ecs@d2evs.net> +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> + use rt; use io; use os; diff --git a/unix/tty/+freebsd/open.ha b/unix/tty/+freebsd/open.ha @@ -1,6 +1,6 @@ -// License: MPL-2.0 -// (c) 2021 Drew DeVault <sir@cmpwn.com> -// (c) 2021 Ember Sawady <ecs@d2evs.net> +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> + use errors; use fs; use io; diff --git a/unix/tty/+freebsd/pty.ha b/unix/tty/+freebsd/pty.ha @@ -1,5 +1,6 @@ -// License: MPL-2.0 -// (c) 2022 Re Elbertson <citrons@mondecitronne.com> +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> + use errors; use fmt; use fs; diff --git a/unix/tty/+freebsd/termios.ha b/unix/tty/+freebsd/termios.ha @@ -1,6 +1,6 @@ -// License: MPL-2.0 -// (c) 2021 Alexey Yerin <yyp@disroot.org> -// (c) 2021 Ember Sawady <ecs@d2evs.net> +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> + use io; use rt; use errors; diff --git a/unix/tty/+freebsd/winsize.ha b/unix/tty/+freebsd/winsize.ha @@ -1,6 +1,6 @@ -// License: MPL-2.0 -// (c) 2021 Drew DeVault <sir@cmpwn.com> -// (c) 2021 Ember Sawady <ecs@d2evs.net> +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> + use errors; use io; use os; diff --git a/unix/tty/+linux/isatty.ha b/unix/tty/+linux/isatty.ha @@ -1,8 +1,6 @@ -// License: MPL-2.0 -// (c) 2021 Alexey Yerin <yyp@disroot.org> -// (c) 2021 Drew DeVault <sir@cmpwn.com> -// (c) 2021 Ember Sawady <ecs@d2evs.net> -// (c) 2021 Kiëd Llaentenn <kiedtl@tilde.team> +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> + use rt; use io; use os; diff --git a/unix/tty/+linux/open.ha b/unix/tty/+linux/open.ha @@ -1,8 +1,6 @@ -// License: MPL-2.0 -// (c) 2021 Alexey Yerin <yyp@disroot.org> -// (c) 2021 Drew DeVault <sir@cmpwn.com> -// (c) 2021 Ember Sawady <ecs@d2evs.net> -// (c) 2021 Kiëd Llaentenn <kiedtl@tilde.team> +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> + use errors; use fs; use io; diff --git a/unix/tty/+linux/pty.ha b/unix/tty/+linux/pty.ha @@ -1,5 +1,6 @@ -// License: MPL-2.0 -// (c) 2022 Re Elbertson <citrons@mondecitronne.com> +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> + use errors; use fmt; use fs; diff --git a/unix/tty/+linux/termios.ha b/unix/tty/+linux/termios.ha @@ -1,6 +1,6 @@ -// License: MPL-2.0 -// (c) 2021 Alexey Yerin <yyp@disroot.org> -// (c) 2021 Ember Sawady <ecs@d2evs.net> +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> + // TODO: Not in love with this interface use io; use rt; diff --git a/unix/tty/+linux/winsize.ha b/unix/tty/+linux/winsize.ha @@ -1,7 +1,6 @@ -// License: MPL-2.0 -// (c) 2021 Drew DeVault <sir@cmpwn.com> -// (c) 2021 Ember Sawady <ecs@d2evs.net> -// (c) 2021 Kiëd Llaentenn <kiedtl@tilde.team> +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> + use errors; use io; use os; diff --git a/unix/tty/pty_common.ha b/unix/tty/pty_common.ha @@ -1,3 +1,6 @@ +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> + use bufio; use fmt; use fs; diff --git a/unix/tty/types.ha b/unix/tty/types.ha @@ -1,7 +1,6 @@ -// License: MPL-2.0 -// (c) 2021 Alexey Yerin <yyp@disroot.org> -// (c) 2021 Ember Sawady <ecs@d2evs.net> -// (c) 2021 Kiëd Llaentenn <kiedtl@tilde.team> +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> + use errors; // Any error that may occur during TTY-related tasks. diff --git a/uuid/uuid.ha b/uuid/uuid.ha @@ -1,7 +1,6 @@ -// License: MPL-2.0 -// (c) 2022 Alexey Yerin <yyp@disroot.org> -// (c) 2021 Drew DeVault <sir@cmpwn.com> -// (c) 2021 Ember Sawady <ecs@d2evs.net> +// SPDX-License-Identifier: MPL-2.0 +// (c) Hare authors <https://harelang.org> + use bytes; use crypto::random; use endian;