diff --git a/srcpkgs/hare/files/config.mk b/srcpkgs/hare/files/config.mk new file mode 100644 index 00000000000000..1efe3fd1cac879 --- /dev/null +++ b/srcpkgs/hare/files/config.mk @@ -0,0 +1,46 @@ +# install locations +PREFIX = /usr/ +BINDIR = $(PREFIX)/bin +MANDIR = $(PREFIX)/share/man +SRCDIR = $(PREFIX)/src +STDLIB = $(SRCDIR)/hare/stdlib +LIBEXECDIR = $(PREFIX)/libexec +TOOLDIR = $(LIBEXECDIR)/hare + +# variables used during build +PLATFORM = linux +ARCH = @CARCH@ +HAREFLAGS = +HARECFLAGS = +QBEFLAGS = +ASFLAGS = +LDLINKFLAGS = --gc-sections -z noexecstack + +# commands used by the build script +HAREC = harec +QBE = qbe +AS = as +LD = ld +SCDOC = scdoc + +# build locations +HARECACHE = .cache +BINOUT = .bin + +# variables that will be embedded in the binary with -D definitions +HAREPATH = $(SRCDIR)/hare/stdlib:$(SRCDIR)/hare/third-party +VERSION = @VERSION@ + +# For cross-compilation, modify the variables below +LIBC = @LIBC@ +AARCH64_AS=aarch64-linux-$(LIBC)-as +AARCH64_CC=aarch64-linux-$(LIBC)-gcc +AARCH64_LD=aarch64-linux-$(LIBC)-ld + +RISCV64_AS=riscv64-linux-$(LIBC)-as +RISCV64_CC=riscv64-linux-$(LIBC)-gcc +RISCV64_LD=riscv64-linux-$(LIBC)-ld + +X86_64_AS=x86_64-linux-$(LIBC)-as +X86_64_CC=x86_64-linux-$(LIBC)-gcc +X86_64_LD=x86_64-linux-$(LIBC)-ld diff --git a/srcpkgs/hare/template b/srcpkgs/hare/template new file mode 100644 index 00000000000000..fd208dd05b4f4b --- /dev/null +++ b/srcpkgs/hare/template @@ -0,0 +1,35 @@ +pkgname=hare +version=0.26.0.1 +revision=1 +build_style=gnu-makefile +make_use_env=yes +short_desc="Hare programming language - standard library and build driver" +maintainer="kurth4cker " +license="GPL-3.0-only AND MPL-2.0" +homepage="https://harelang.org" +distfiles="https://git.sr.ht/~sircmpwn/hare/archive/${version}.tar.gz" +depends="harec>=0.26.0 tzdata" +hostmakedepends="harec scdoc" +archs="x86_64-* aarch64-* risvc64-*" +checksum=f76704920a2f457be4d2d6290dc10dcfb7319c1d1990f2305491644383466905 + +do_configure() { + cp "$FILESDIR"/config.mk config.mk + + libc=musl + [ $XBPS_TARGET_LIBC = glibc ] && libc=gnu + + sed -i "s/@LIBC@/$libc/g" config.mk + sed -i "s/@CARCH@/$XBPS_TARGET_MACHINE/g" config.mk + sed -i "s/@VERSION@/$version-void/g" config.mk + + # use unprefixed toolchain for local target + sed -i "s/\(${XBPS_TARGET_MACHINE}_..\)=$XBPS_TARGET_MACHINE-linux-\$(LIBC)-/\1=/Ig" config.mk +} + +do_check() { + if [ "$XBPS_CHECK_PKGS" = full ]; then + export HARETEST_INCLUDE='slow' + fi + make check +}