From 2773da026c21255c5aec43e55c3f5e23beced515 Mon Sep 17 00:00:00 2001 From: Jonas Fentker Date: Sat, 17 Feb 2024 00:34:18 +0100 Subject: [PATCH 1/6] qbe: update to 1.2. --- srcpkgs/qbe/template | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/srcpkgs/qbe/template b/srcpkgs/qbe/template index e56a69ffcc107..7e8b04f615d02 100644 --- a/srcpkgs/qbe/template +++ b/srcpkgs/qbe/template @@ -1,6 +1,6 @@ # Template file for 'qbe' pkgname=qbe -version=1.1 +version=1.2 revision=1 build_style=gnu-makefile make_use_env=yes @@ -9,15 +9,19 @@ maintainer="Bryce Vandegrift " license="MIT" homepage="https://c9x.me/compile/" distfiles="https://c9x.me/compile/release/qbe-${version}.tar.xz" -checksum=7d0a53dd40df48072aae317e11ddde15d1a980673160e514e235b9ecaa1db12c +checksum=a6d50eb952525a234bf76ba151861f73b7a382ac952d985f2b9af1df5368225d -# Currently only aarch64 and x86_64 targets are supported and the checks -# test the compiled binaries. case "$XBPS_TARGET_MACHINE" in aarch64*|x86_64*) ;; + # Currently only aarch64 and x86_64 targets are supported and the checks + # test the compiled binaries. *) make_check=no ;; esac +do_configure() { + sed -i "s|^CC = cc$|CC = ${CC}|" Makefile +} + post_install() { vdoc doc/abi.txt vdoc doc/il.txt From 5a33a6e81ab762ff1e2e3a8882528abfb953aba8 Mon Sep 17 00:00:00 2001 From: Jonas Fentker Date: Sat, 17 Feb 2024 00:36:25 +0100 Subject: [PATCH 2/6] New package: harec-0.24.0 --- srcpkgs/harec/template | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) create mode 100644 srcpkgs/harec/template diff --git a/srcpkgs/harec/template b/srcpkgs/harec/template new file mode 100644 index 0000000000000..831adad5e0b9f --- /dev/null +++ b/srcpkgs/harec/template @@ -0,0 +1,20 @@ +# Template file for 'harec' +pkgname=harec +version=0.24.0 +revision=1 +build_style=configure +checkdepends="qbe" +short_desc="Hare bootstrap compiler" +maintainer="Jonas Fentker " +license="GPL-3.0-only" +homepage="https://git.sr.ht/~sircmpwn/harec" +distfiles="https://git.sr.ht/~sircmpwn/${pkgname}/archive/${version}.tar.gz" +checksum="add6a7c4cbfd130c5e9fcecd2d43bec39640ed9f9cfbe9166e4b7e945a46b7de" + +do_configure() { + sed 's|^PREFIX = /usr/local$|PREFIX = /usr|' configs/linux.mk | \ + sed "s|^ARCH = x86_64$|ARCH = ${XBPS_TARGET_MACHINE}|" | \ + sed "s|^CC = cc$|CC = ${CC}|" | \ + sed "s|^AS = as$|AS = ${AS}|" | \ + sed "s|^LD = ld$|LD = ${LD}|" > config.mk +} From db07aafbbebda0c796b0c11bb0e931ecf5e9660a Mon Sep 17 00:00:00 2001 From: Jonas Fentker Date: Sat, 17 Feb 2024 20:43:46 +0100 Subject: [PATCH 3/6] New package: hare-driver-0.24.0 --- ...-add-separate-haredoc-install-target.patch | 42 ++++++++++++++++++ srcpkgs/hare-driver/template | 44 +++++++++++++++++++ 2 files changed, 86 insertions(+) create mode 100644 srcpkgs/hare-driver/patches/01-add-separate-haredoc-install-target.patch create mode 100644 srcpkgs/hare-driver/template diff --git a/srcpkgs/hare-driver/patches/01-add-separate-haredoc-install-target.patch b/srcpkgs/hare-driver/patches/01-add-separate-haredoc-install-target.patch new file mode 100644 index 0000000000000..8019c08aa7de4 --- /dev/null +++ b/srcpkgs/hare-driver/patches/01-add-separate-haredoc-install-target.patch @@ -0,0 +1,42 @@ +diff --git a/Makefile b/Makefile +index 2482be1f..69e5ab8e 100644 +--- a/Makefile ++++ b/Makefile +@@ -82,8 +82,8 @@ docs: \ + docs/haredoc.5 \ + docs/hare-module.5 + +-MAN1 = hare hare-build hare-cache hare-deps haredoc hare-run hare-test +-MAN5 = haredoc hare-module ++MAN1 = hare hare-build hare-cache hare-deps hare-run hare-test ++MAN5 = hare-module + + bootstrap: + @BINOUT=$(BINOUT) ./scripts/genbootstrap +@@ -97,17 +97,24 @@ check: $(BINOUT)/hare + QBEFLAGS='$(QBEFLAGS)' ASFLAGS='$(ASFLAGS)' \ + LDLINKFLAGS='$(LDLINKFLAGS)' '$(BINOUT)/hare' test + +-install: install-cmd install-mods ++install: install-cmd install-haredoc install-mods + + install-cmd: + mkdir -p -- \ + '$(DESTDIR)$(BINDIR)' '$(DESTDIR)$(MANDIR)/man1' \ + '$(DESTDIR)$(BINDIR)' '$(DESTDIR)$(MANDIR)/man5' + install -m755 '$(BINOUT)/hare' '$(DESTDIR)$(BINDIR)/hare' +- install -m755 '$(BINOUT)/haredoc' '$(DESTDIR)$(BINDIR)/haredoc' + for i in $(MAN1); do install -m644 docs/$$i.1 '$(DESTDIR)$(MANDIR)'/man1/$$i.1; done + for i in $(MAN5); do install -m644 docs/$$i.5 '$(DESTDIR)$(MANDIR)'/man5/$$i.5; done + ++install-haredoc: ++ mkdir -p -- \ ++ '$(DESTDIR)$(BINDIR)' '$(DESTDIR)$(MANDIR)/man1' \ ++ '$(DESTDIR)$(BINDIR)' '$(DESTDIR)$(MANDIR)/man5' ++ install -m755 '$(BINOUT)/haredoc' '$(DESTDIR)$(BINDIR)/haredoc' ++ install -m644 docs/haredoc.1 '$(DESTDIR)$(MANDIR)'/man1/haredoc.1 ++ install -m644 docs/haredoc.5 '$(DESTDIR)$(MANDIR)'/man5/haredoc.5 ++ + install-mods: + rm -rf -- '$(DESTDIR)$(STDLIB)' + mkdir -p -- '$(DESTDIR)$(STDLIB)' diff --git a/srcpkgs/hare-driver/template b/srcpkgs/hare-driver/template new file mode 100644 index 0000000000000..7da8180767ca8 --- /dev/null +++ b/srcpkgs/hare-driver/template @@ -0,0 +1,44 @@ +# Template file for 'hare-driver' +pkgname=hare-driver +version=0.24.0 +revision=1 +build_style=configure +make_build_target=".bin/hare docs" +make_install_target="install-cmd install-mods" +hostmakedepends="qbe harec scdoc" +depends="qbe-1.2_1 harec-0.24.0_1" +short_desc="Hare build driver" +maintainer="Jonas Fentker " +license="MPL-2.0, GPL-3.0-only" +homepage="https://harelang.org/" +distfiles="https://git.sr.ht/~sircmpwn/hare/archive/${version}.tar.gz" +checksum="7061dad3c79cca51a1662a71b1c6f8ec001f52ef3053dd3c2dbb95ae9beff7bc" + +do_configure() { + case "${XBPS_LIBC}" in + glibc) lib=gnu ;; + musl) lib=musl ;; + esac + case "${XBPS_TARGET_MACHINE%-musl}" in + aarch64) target=arm64 ;; + riscv64) target=rv64 ;; + x86_64) target=amd64_sysv ;; + esac + + sed 's|^PREFIX = /usr/local$|PREFIX = /usr|' configs/linux.mk | \ + sed "s|^ARCH = x86_64$|ARCH = ${XBPS_TARGET_MACHINE%-musl}|" | \ + sed "s|^HARECFLAGS =$|HARECFLAGS = -a${XBPS_TARGET_MACHINE%-musl}|" | \ + sed "s|^QBEFLAGS =$|QBEFLAGS = -t${target}|" | \ + sed "s|^AS = as$|AS = ${AS}|" | \ + sed "s|^LD = ld$|LD = ${LD}|" | \ + sed 's|^VERSION=$$(./scripts/version)$|VERSION=0.24.0|' | \ + sed "s|^AARCH64_AS=as$|AARCH64_AS=aarch64-unknown-linux-${lib}-as|" | \ + sed "s|^AARCH64_CC=cc$|AARCH64_CC=aarch64-unknown-linux-${lib}-cc|" | \ + sed "s|^AARCH64_LD=ld$|AARCH64_LD=aarch64-unknown-linux-${lib}-ld|" | \ + sed "s|^RISCV64_AS=as$|RISCV64_AS=riscv64-unknown-linux-${lib}-as|" | \ + sed "s|^RISCV64_CC=cc$|RISCV64_CC=riscv64-unknown-linux-${lib}-cc|" | \ + sed "s|^RISCV64_LD=ld$|RISCV64_LD=riscv64-unknown-linux-${lib}-ld|" | \ + sed "s|^X86_64_AS=as$|X86_64_AS=x86_64-unknown-linux-${lib}-as|" | \ + sed "s|^X86_64_CC=cc$|X86_64_CC=x86_64-unknown-linux-${lib}-cc|" | \ + sed "s|^X86_64_LD=ld$|X86_64_LD=x86_64-unknown-linux-${lib}-ld|" > config.mk +} From 76a7a3c2f8b26e7d27a5e3113ad034249c91eb16 Mon Sep 17 00:00:00 2001 From: Jonas Fentker Date: Sat, 17 Feb 2024 20:24:10 +0100 Subject: [PATCH 4/6] New package: haredoc-0.24.0 --- ...-add-separate-haredoc-install-target.patch | 42 +++++++++++++++++++ .../02-use-native-compiler-for-haredoc.patch | 18 ++++++++ srcpkgs/haredoc/template | 22 ++++++++++ 3 files changed, 82 insertions(+) create mode 100644 srcpkgs/haredoc/patches/01-add-separate-haredoc-install-target.patch create mode 100644 srcpkgs/haredoc/patches/02-use-native-compiler-for-haredoc.patch create mode 100644 srcpkgs/haredoc/template diff --git a/srcpkgs/haredoc/patches/01-add-separate-haredoc-install-target.patch b/srcpkgs/haredoc/patches/01-add-separate-haredoc-install-target.patch new file mode 100644 index 0000000000000..8019c08aa7de4 --- /dev/null +++ b/srcpkgs/haredoc/patches/01-add-separate-haredoc-install-target.patch @@ -0,0 +1,42 @@ +diff --git a/Makefile b/Makefile +index 2482be1f..69e5ab8e 100644 +--- a/Makefile ++++ b/Makefile +@@ -82,8 +82,8 @@ docs: \ + docs/haredoc.5 \ + docs/hare-module.5 + +-MAN1 = hare hare-build hare-cache hare-deps haredoc hare-run hare-test +-MAN5 = haredoc hare-module ++MAN1 = hare hare-build hare-cache hare-deps hare-run hare-test ++MAN5 = hare-module + + bootstrap: + @BINOUT=$(BINOUT) ./scripts/genbootstrap +@@ -97,17 +97,24 @@ check: $(BINOUT)/hare + QBEFLAGS='$(QBEFLAGS)' ASFLAGS='$(ASFLAGS)' \ + LDLINKFLAGS='$(LDLINKFLAGS)' '$(BINOUT)/hare' test + +-install: install-cmd install-mods ++install: install-cmd install-haredoc install-mods + + install-cmd: + mkdir -p -- \ + '$(DESTDIR)$(BINDIR)' '$(DESTDIR)$(MANDIR)/man1' \ + '$(DESTDIR)$(BINDIR)' '$(DESTDIR)$(MANDIR)/man5' + install -m755 '$(BINOUT)/hare' '$(DESTDIR)$(BINDIR)/hare' +- install -m755 '$(BINOUT)/haredoc' '$(DESTDIR)$(BINDIR)/haredoc' + for i in $(MAN1); do install -m644 docs/$$i.1 '$(DESTDIR)$(MANDIR)'/man1/$$i.1; done + for i in $(MAN5); do install -m644 docs/$$i.5 '$(DESTDIR)$(MANDIR)'/man5/$$i.5; done + ++install-haredoc: ++ mkdir -p -- \ ++ '$(DESTDIR)$(BINDIR)' '$(DESTDIR)$(MANDIR)/man1' \ ++ '$(DESTDIR)$(BINDIR)' '$(DESTDIR)$(MANDIR)/man5' ++ install -m755 '$(BINOUT)/haredoc' '$(DESTDIR)$(BINDIR)/haredoc' ++ install -m644 docs/haredoc.1 '$(DESTDIR)$(MANDIR)'/man1/haredoc.1 ++ install -m644 docs/haredoc.5 '$(DESTDIR)$(MANDIR)'/man5/haredoc.5 ++ + install-mods: + rm -rf -- '$(DESTDIR)$(STDLIB)' + mkdir -p -- '$(DESTDIR)$(STDLIB)' diff --git a/srcpkgs/haredoc/patches/02-use-native-compiler-for-haredoc.patch b/srcpkgs/haredoc/patches/02-use-native-compiler-for-haredoc.patch new file mode 100644 index 0000000000000..eb88a7184547c --- /dev/null +++ b/srcpkgs/haredoc/patches/02-use-native-compiler-for-haredoc.patch @@ -0,0 +1,18 @@ +diff --git a/Makefile b/Makefile +index 2482be1f..407c6d2c 100644 +--- a/Makefile ++++ b/Makefile +@@ -52,11 +52,10 @@ $(BINOUT)/harec2: $(BINOUT)/hare + LDLINKFLAGS="$(LDLINKFLAGS)" \ + $(BINOUT)/hare build $(HARE_DEFINES) -o $(BINOUT)/harec2 cmd/harec + +-$(BINOUT)/haredoc: $(BINOUT)/hare ++$(BINOUT)/haredoc: + @mkdir -p $(BINOUT) + @printf 'HARE\t%s\n' "$@" +- @env HAREPATH=. HAREC="$(HAREC)" QBE="$(QBE)" $(BINOUT)/hare build \ +- $(HARE_DEFINES) -o $(BINOUT)/haredoc ./cmd/haredoc ++ @hare build $(HAREFLAGS) $(HARE_DEFINES) -o $(BINOUT)/haredoc ./cmd/haredoc + + docs/html: $(BINOUT)/haredoc + mkdir -p docs/html diff --git a/srcpkgs/haredoc/template b/srcpkgs/haredoc/template new file mode 100644 index 0000000000000..e91ffd93182f4 --- /dev/null +++ b/srcpkgs/haredoc/template @@ -0,0 +1,22 @@ +# Template file for 'haredoc' +pkgname=haredoc +version=0.24.0 +revision=1 +build_style=configure +make_build_target=".bin/haredoc docs" +make_install_target="install-haredoc" +hostmakedepends="hare-driver scdoc" +short_desc="Hare documentation reader and formatter" +maintainer="Jonas Fentker " +license="MPL-2.0, GPL-3.0-only" +homepage="https://harelang.org/" +distfiles="https://git.sr.ht/~sircmpwn/hare/archive/${version}.tar.gz" +checksum="7061dad3c79cca51a1662a71b1c6f8ec001f52ef3053dd3c2dbb95ae9beff7bc" + +do_configure() { + sed 's|^PREFIX = /usr/local$|PREFIX = /usr|' configs/linux.mk | \ + sed "s|^HAREFLAGS =$|HAREFLAGS = -a${XBPS_TARGET_MACHINE%-musl}|" | \ + sed "s|^HARECFLAGS =$|HARECFLAGS = -a${XBPS_TARGET_MACHINE%-musl}|" | \ + sed "s|^AS = as$|AS = ${AS}|" | \ + sed "s|^LD = ld$|LD = ${LD}|" > config.mk +} From 75448744b901596f7b2fdcecc335b9ef5971cf12 Mon Sep 17 00:00:00 2001 From: Jonas Fentker Date: Sat, 17 Feb 2024 00:37:22 +0100 Subject: [PATCH 5/6] New package: hare-0.24.0 --- srcpkgs/hare/template | 10 ++++++++++ 1 file changed, 10 insertions(+) create mode 100644 srcpkgs/hare/template diff --git a/srcpkgs/hare/template b/srcpkgs/hare/template new file mode 100644 index 0000000000000..5760c39b5d33f --- /dev/null +++ b/srcpkgs/hare/template @@ -0,0 +1,10 @@ +# Template file for 'hare' +pkgname=hare +version=0.24.0 +revision=1 +build_style=meta +depends="hare-driver-0.24.0_1 haredoc-0.24.0_1" +short_desc="Systems programming language" +maintainer="Jonas Fentker " +license="MPL-2.0, GPL-3.0-only" +homepage="https://harelang.org/" From 8674b2ad6576471cf5de3e17402b0d02133eea38 Mon Sep 17 00:00:00 2001 From: Jonas Fentker Date: Sat, 17 Feb 2024 01:44:02 +0100 Subject: [PATCH 6/6] New package: himitsu-0.6 --- .../himitsu/patches/01-use-hareflags.patch | 25 +++++++++++++++++++ srcpkgs/himitsu/template | 17 +++++++++++++ 2 files changed, 42 insertions(+) create mode 100644 srcpkgs/himitsu/patches/01-use-hareflags.patch create mode 100644 srcpkgs/himitsu/template diff --git a/srcpkgs/himitsu/patches/01-use-hareflags.patch b/srcpkgs/himitsu/patches/01-use-hareflags.patch new file mode 100644 index 0000000000000..42aa37b20a23c --- /dev/null +++ b/srcpkgs/himitsu/patches/01-use-hareflags.patch @@ -0,0 +1,25 @@ +diff --git a/Makefile b/Makefile +index c861fef..6668520 100644 +--- a/Makefile ++++ b/Makefile +@@ -15,16 +15,16 @@ THIRDPARTYDIR=$(HARESRCDIR)/third-party + all: himitsud himitsu-store hiq hiprompt-tty docs + + himitsud: +- hare build -o $@ cmd/$@/ ++ hare build $(HAREFLAGS) -o $@ cmd/$@/ + + himitsu-store: +- hare build -o $@ cmd/$@/ ++ hare build $(HAREFLAGS) -o $@ cmd/$@/ + + hiprompt-tty: +- hare build -o $@ cmd/$@/ ++ hare build $(HAREFLAGS) -o $@ cmd/$@/ + + hiq: +- hare build -o $@ cmd/$@/ ++ hare build $(HAREFLAGS) -o $@ cmd/$@/ + + check: + hare test diff --git a/srcpkgs/himitsu/template b/srcpkgs/himitsu/template new file mode 100644 index 0000000000000..5e49b75ef7da4 --- /dev/null +++ b/srcpkgs/himitsu/template @@ -0,0 +1,17 @@ +# Template file for 'himitsu' +pkgname=himitsu +version=0.6 +revision=1 +build_style=configure +hostmakedepends="hare-driver scdoc" +short_desc="Secret storage manager" +maintainer="Jonas Fentker " +license="GPL-3.0-only" +homepage="https://himitsustore.org/" +distfiles="https://git.sr.ht/~sircmpwn/${pkgname}/archive/${version}.tar.gz" +checksum="a71c9a9b4cb41946261ca84bf8f6e252149e1c12cf106cdbd6644d8952b64b3e" + +do_configure() { + sed -i 's|^PREFIX=/usr/local$|PREFIX=/usr|' Makefile + sed -i "s|^HAREFLAGS=$|HAREFLAGS= -a${XBPS_TARGET_MACHINE%-musl} -R|" Makefile +}