commit ac5f9f98bdd3e3b2e520402da64f3c1f65368fd1d43b02c682a75d85b0837f7a Author: Martin Pluskal Date: Fri Nov 10 08:52:22 2023 +0000 Accepting request 1124792 from home:uncomfyhalomacro I want to add hare to devel:tools:compiler. See sr#1124791. OBS-URL: https://build.opensuse.org/request/show/1124792 OBS-URL: https://build.opensuse.org/package/show/devel:tools:compiler/hare?expand=0&rev=1 diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..9b03811 --- /dev/null +++ b/.gitattributes @@ -0,0 +1,23 @@ +## Default LFS +*.7z filter=lfs diff=lfs merge=lfs -text +*.bsp filter=lfs diff=lfs merge=lfs -text +*.bz2 filter=lfs diff=lfs merge=lfs -text +*.gem filter=lfs diff=lfs merge=lfs -text +*.gz filter=lfs diff=lfs merge=lfs -text +*.jar filter=lfs diff=lfs merge=lfs -text +*.lz filter=lfs diff=lfs merge=lfs -text +*.lzma filter=lfs diff=lfs merge=lfs -text +*.obscpio filter=lfs diff=lfs merge=lfs -text +*.oxt filter=lfs diff=lfs merge=lfs -text +*.pdf filter=lfs diff=lfs merge=lfs -text +*.png filter=lfs diff=lfs merge=lfs -text +*.rpm filter=lfs diff=lfs merge=lfs -text +*.tbz filter=lfs diff=lfs merge=lfs -text +*.tbz2 filter=lfs diff=lfs merge=lfs -text +*.tgz filter=lfs diff=lfs merge=lfs -text +*.ttf filter=lfs diff=lfs merge=lfs -text +*.txz filter=lfs diff=lfs merge=lfs -text +*.whl filter=lfs diff=lfs merge=lfs -text +*.xz filter=lfs diff=lfs merge=lfs -text +*.zip filter=lfs diff=lfs merge=lfs -text +*.zst filter=lfs diff=lfs merge=lfs -text diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..57affb6 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +.osc diff --git a/_service b/_service new file mode 100644 index 0000000..faa7503 --- /dev/null +++ b/_service @@ -0,0 +1,17 @@ + + + https://git.sr.ht/~sircmpwn/hare + git + master + (.*) + \1 + enable + socvirnyl.estela@gmail.com + + + + *.tar + zst + + + diff --git a/_servicedata b/_servicedata new file mode 100644 index 0000000..0b02d34 --- /dev/null +++ b/_servicedata @@ -0,0 +1,4 @@ + + + https://git.sr.ht/~sircmpwn/hare + 3d06f9d20ff097d7c3a273c7059c8ca6ed4fe6db \ No newline at end of file diff --git a/hare-1699559089.3d06f9d2.obscpio b/hare-1699559089.3d06f9d2.obscpio new file mode 100644 index 0000000..fe23d14 --- /dev/null +++ b/hare-1699559089.3d06f9d2.obscpio @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e89941e089f273190c7649984ab497651d522bfa0ec606f8b318a57a43b8b372 +size 3129868 diff --git a/hare-1699559089.3d06f9d2.tar.zst b/hare-1699559089.3d06f9d2.tar.zst new file mode 100644 index 0000000..865e72c --- /dev/null +++ b/hare-1699559089.3d06f9d2.tar.zst @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7f8f90563cb3869316cbf87261bd02affe0e7f31feca6a24306c088df2b44570 +size 607493 diff --git a/hare-rpmlintrc b/hare-rpmlintrc new file mode 100644 index 0000000..3dc715a --- /dev/null +++ b/hare-rpmlintrc @@ -0,0 +1,2 @@ +addFilter("files-duplicate") +addFilter("zero-length") diff --git a/hare.changes b/hare.changes new file mode 100644 index 0000000..95a34db --- /dev/null +++ b/hare.changes @@ -0,0 +1,249 @@ +------------------------------------------------------------------- +Fri Nov 10 06:52:24 UTC 2023 - Soc Virnyl Estela + +- adopt new config.mk + +------------------------------------------------------------------- +Fri Nov 10 04:15:57 UTC 2023 - socvirnyl.estela@gmail.com + +- Update to version 1699559089.3d06f9d2: + * speed up crypto::argon2 a bit + * cmd/hare: Improve 'Command not found' error message in get_version + * crypto: use test::skip + * test: implement skip function + * test: disallow expectabort outside @test + * Move string comparison logic to sort::cmp::strs() + * all: style fix + * all: fix test failure memory leaks + * time::chrono: drop unused leapsecs parameter + * cmd/parsechk: initial commit + +------------------------------------------------------------------- +Sun Aug 20 15:06:19 UTC 2023 - Soc Virnyl Estela + +- Remove no-exec-stack.patch. Seems it's already in the latest commits + +------------------------------------------------------------------- +Sun Aug 20 14:56:03 UTC 2023 - Soc Virnyl Estela + +- Add no-exec-stack.patch + +------------------------------------------------------------------- +Sun Aug 20 14:48:25 UTC 2023 - Soc Virnyl Estela + +- Update to version 0+3206: + * crypto::ed25519: change api to take slices + * drop hare release + * pass -z noexecstack to ld + * Remove unused imports + * rt: remove syscallsarch+*.ha + * s/error/errors/ module name + * net::dns: remove obsolete reference in docs + * net::dns: fix off-by-one in encode_raw + * rt: add IPPROTO_ICMPV6 + * strings: rename runes() to torunes() + * io: make io::writeall take const []u8 + * MAINTAINERS: Add Conrad Hoffmann + * net::dns: support for basic DNSSEC RR types + * net::dns: support for OPT records (EDNS, RFC 6891) + * rt: fix off-by-one haredocs for AF_* and IPPROTO_* + * memio: truncate on reset() + * os::exec: fix TOCTOU + * os::exec+freebsd: only open() regular files + * rt+freebsd: add fstat, AT_EMPTY_PATH, S_IF* + * net::dns: enforce actual label size restriction + * net::dns: write label terminator in encode_labels + * path: fix capitalization of docstring + * malloc: improve wording in a comment + * cmd/haretype, cmd/ioctlgen: update for memio + * net::dns: add TSIG records and decoding + * net::dns: implement encoding of TXT records + * net::dns: add constants for DNS dynamic updates + * net::dns: retry over TCP on truncated response + * hare::*: remove unary + + * Stop using unary + + * test: reset environment before first test is run + * format::ini: fix and test error line numbering + * mime: fix compilation on +libc + * Don't rely on loose pointer assignability semantics + * strio,bufio: merge memstream implementation into memio + * hare::lex: add static assertion for bmap length + * hare::*: remove implicit const flag from functions + * Remove slices:: and strings::cap + * Use cap builtin + * hare::parse: allow return and yield in more places + * regex: Document when the caller must free the return value + * hare::parse: fix abort in name_list + * hare::parse: improve struct/union/enum comments + * hare::parse+test: add and use roundtrip_reparse + * net/uri: Always prefix path with a slash when there's a host + * math::checked: initial commit + * os::exec: only open() regular files + * bufio: elaborate on docs for scantok and scanline + * hkdf: add extract and expand functions + +------------------------------------------------------------------- +Sun Aug 13 13:26:57 UTC 2023 - Soc Virnyl Estela + +- Replace obsoleted `disabled` option with `manual` + +------------------------------------------------------------------- +Sat Jul 22 01:51:57 UTC 2023 - Soc Virnyl Estela + +- Update to 0+3157: + * hare::ast: add README + * math::complex: add README + * hare::unparse: add README + * hare::unparse: add newline between imports and decls + * strconv: append ".0" when float is representable as integer + * strconv: remove zch variable + * strconv: improve error messages + * strconv: recognize - and + in stou* + * types::c: add nulstr + * Correctly convert strconv::base::DEC -> 10 + * net::dns: fix opcode bitmask + * hare::parse::identstr: only parse full ident + +------------------------------------------------------------------- +Thu Jun 22 12:51:08 UTC 2023 - Soc Virnyl Estela + +- Update to 0+3145: + Alexey Yerin (3): + net: correct references of net::unix::prepfiles -> allocfiles + os::exec: fill utime and stime + +libc: include empty .init_array section + + Armin Preiml (5): + mime: move test entries into a +test file + io::teestream: implement writer + add crypto::chachapoly + crypto: refactor authenc to use crypto::chachapoly + base64: avoid infite loop in decoder + + Autumn! (3): + io: move fd-related functions into one file + all: rename 'flags' types to 'flag' + getopt: add subcommand context to errors + + Bor Grošelj Simić (3): + rt: update abort for non-constant assert changes in harec + unify fixed and non-fixed abort paths + rt: mark platform_abort as @noreturn + + Byron Torres (6): + time::date: new: use virtual interface + time::date: simplify observers + time::date: parse: fix scanners + time::date: add %e; update POSIX layout + time::chrono: fix $TZ causing TZ_LOCAL double-free + time::date: avoid tz() in tests, TZDB dependency + + Carlos Une (1): + math::complex::tan: test huge arguments + + Conrad Hoffmann (2): + net::dns: add support for PTR records + net::dns: add support for SSHFP records + + Dmitry Matveyev (1): + unix::hosts: refactor into more general interface + + Drew DeVault (2): + haredoc: set LESS to FRX if unset + docs/maintainers.md: document some maintainer bits + + Ember Sawady (17): + Improve test runner + rt: fix platform_abort + rt/abort*.ha: add missing comma in reasons + rt+freebsd: _start: don't touch first arg + rt: update for @noreturn abort + fs+freebsd::readlink: return wrongtype on EINVAL + Improve +libc argv/argc/envp initialization + io+freebsd::fd_copy: return errors::unsupported + Get rid of rt/+test/ztos.ha + Rewrite malloc + linux/*: fix fully-qualified identifiers + hare::parse::want: unlex token on failure + hare::parse::ident: disallow empty identifier + os: add setenv and unsetenv + rt: make errno constants have type rt::errno + io+linux::fd_copy: simplify + Fix chachapoly compilation + + Noah Altunian (1): + haredoc: update man page wording to be more clear + + Pinghao Wu (1): + crypto::argon2: fix zeroing of h0 + + Sebastian (21): + os: use libc exit when linking with libc + os: move status type to separate file + hare::ast: add error_assert_expr + rt: implement shutdown + net: implement shutdown + types::c: add strings test + math::random: add assertions that n != 0 + all: reorder tagged union fields to put error last + os::exec: split kill into kill and sig + ascii: allocate new string in strupper+strlower + ascii: consistent capitalization in docs + os::exec+freebsd: use unix::signal::signame + rt: fix typo + types::c: add limits + net: remove slices dependency + contributors.sh: read Co-authored-by + contributors.sh: use git ls-tree instead of find + unix::signal: replace signal type with sig enum + types::c: add tostrn and tostrn_unsafe + temp: require mode param for "file" and "named" + regex: add replacen and rawreplacen + + Tom Lebreux (1): + bufio: allow borrowedread up to last byte + + Vlad-Stefan Harbuz (1): + regex: improve README examples + + illiliti (1): + crypto::salsa20: add hsalsa20 + +------------------------------------------------------------------- +Sun May 28 03:28:04 UTC 2023 - Soc Virnyl Estela + +- Remove checks for now. + +------------------------------------------------------------------- +Sat May 27 13:12:29 UTC 2023 - Soc Virnyl Estela + +- Update to 0+3076: + * cmd/haredoc: close read end of pipe later + * time::chrono: use daydate, daytime; improve docs + * time: improve function parameter names + * time::date: rename datetime type to date + * time: rename datetime module in READMEs, docs + * cmd/haretype: fix compilation + * cmd/ioctlgen: fix compilation + * crypto/aes/*.s: use correct per-function sections + * net::unix: replace memcpy with slice assignment + +------------------------------------------------------------------- +Mon Mar 20 12:02:54 UTC 2023 - Soc Virnyl Estela + +- Configure LDFLAGS inside config.mk explicitly. + +------------------------------------------------------------------- +Mon Mar 20 02:06:13 UTC 2023 - Soc Virnyl Estela + +- Configure CFLAGS inside config.mk. + +------------------------------------------------------------------- +Fri Mar 17 12:13:44 UTC 2023 - Soc Virnyl Estela + +- Cleanup specfile + +------------------------------------------------------------------- +Wed Mar 1 00:40:34 UTC 2023 - Soc Virnyl Estela + +- Initial spec for hare 0+git2848 diff --git a/hare.obsinfo b/hare.obsinfo new file mode 100644 index 0000000..94df12b --- /dev/null +++ b/hare.obsinfo @@ -0,0 +1,4 @@ +name: hare +version: 1699559089.3d06f9d2 +mtime: 1699559089 +commit: 3d06f9d20ff097d7c3a273c7059c8ca6ed4fe6db diff --git a/hare.spec b/hare.spec new file mode 100644 index 0000000..af6bc39 --- /dev/null +++ b/hare.spec @@ -0,0 +1,124 @@ +# +# spec file for package hare +# +# Copyright (c) 2023 SUSE LLC +# +# All modifications and additions to the file contributed by third parties +# remain the property of their copyright owners, unless otherwise agreed +# upon. The license for this file, and modifications and additions to the +# file, is the same license as for the pristine package itself (unless the +# license for the pristine package is not an Open Source License, in which +# case the license is the MIT License). An "Open Source License" is a +# license that conforms to the Open Source Definition (Version 1.9) +# published by the Open Source Initiative. + +# Please submit bugfixes or comments via https://bugs.opensuse.org/ +# + + +Name: hare +Release: 0 +Version: 1699559089.3d06f9d2 +Summary: Hare system programming language +License: GPL-3.0-only +URL: https://harelang.org +Source0: %{name}-%{version}.tar.zst +BuildRequires: gcc +BuildRequires: harec +BuildRequires: make +BuildRequires: qbe +BuildRequires: binutils +BuildRequires: scdoc +BuildRequires: zstd +Requires: harec +Requires: qbe + +%description +Hare is a systems programming language designed +to be simple, stable, and robust. Hare uses a +static type system, manual memory management, +and a minimal runtime. It is well-suited to +writing operating systems, system tools, compilers, +networking software, and other low-level, high +performance tasks + +%prep +%setup -q + +rm config.example.mk +cat > config.mk <<-SH +## Install configuration +PREFIX = %{_prefix} +BINDIR = %{_bindir} +MANDIR = %{_mandir} +SRCDIR = %{_libdir} +STDLIB = %{_libdir}/%{name}/stdlib + +## Build configuration + +# variables used during the build +PLATFORM = linux +ARCH = %{_arch} +HAREFLAGS = +HARECFLAGS = +QBEFLAGS = +ASFLAGS = +LDLINKFLAGS = + + +# commands used by the build script +HAREC = harec +HAREFLAGS = +QBE = qbe +AS = as +LD = ld +AR = ar +SCDOC = scdoc + +# build locations +HARECACHE = .cache +BINOUT = .bin + +# variables that will be embedded in the binary with the -D definitions +HAREPATH = %{_libdir}/%{name}/stdlib:%{_libdir}/%{name}/third-party +VERSION = %{version} + +# Cross-compiler toolchains +AARCH64_AS=as +AARCH64_AR=ar +AARCH64_CC=cc +AARCH64_LD=ld + +RISCV64_AS=as +RISCV64_AR=ar +RISCV64_CC=cc +RISCV64_LD=ld + +X86_64_AS=as +X86_64_AR=ar +X86_64_CC=cc +X86_64_LD=ld +SH + +%build +export CFLAGS="%optflags" +make %{?_smp_mflags} + +%install +export CFLAGS="%optflags" +make DESTDIR="%{buildroot}" install + +#%%check +#export CFLAGS="%%optflags" +#make %%{?_smp_mflags} check + +%files +%license COPYING +%doc README.md +%{_bindir}/%{name} +%{_bindir}/%{name}doc +%{_mandir}/* +%dir %{_libdir}/%{name} +%{_libdir}/%{name}/* + +%changelog