diff options
Diffstat (limited to 'user/gambit-c')
-rw-r--r-- | user/gambit-c/APKBUILD | 85 | ||||
-rw-r--r-- | user/gambit-c/fix-incompatible-stat-usage.patch | 21 | ||||
-rw-r--r-- | user/gambit-c/reproducibility.patch | 52 |
3 files changed, 158 insertions, 0 deletions
diff --git a/user/gambit-c/APKBUILD b/user/gambit-c/APKBUILD new file mode 100644 index 000000000..225984528 --- /dev/null +++ b/user/gambit-c/APKBUILD @@ -0,0 +1,85 @@ +# Contributor: Zach van Rijn <me@zv.io> +# Maintainer: Zach van Rijn <me@zv.io> +pkgname=gambit-c +pkgver=4.9.5 +_pkgver=$(printf "%s" "${pkgver}" | tr . _) +pkgrel=0 +pkgdesc="An efficient implementation of the Scheme programming language." +url="https://gambitscheme.org/" +arch="all" +license="Apache-2.0" +depends="" +makedepends="openssl-dev texinfo gnu-ghostscript" +subpackages="$pkgname-dev $pkgname-doc" +source="https://gambitscheme.org/$pkgver/gambit-v${_pkgver}.tgz + fix-incompatible-stat-usage.patch + reproducibility.patch + " +builddir="$srcdir/gambit-v$_pkgver" + +prepare() { + default_prepare + + #934 + for srfi in 179 231; do + sed -i lib/srfi/makefile -e "s/\b${srfi}\b//g"; + done +} + +build() { + # https://github.com/gambit/gambit/issues/249 + export CFLAGS="${CFLAGS} --param max-gcse-memory=600000000"; + + # We need to bootstrap if we patch .scm files that are + # used to generate .c files; using unpatched official + # releases should be OK if the patches are upstream. + # + # Disable versioned shlibs b/c buggy build scripts. + # + # There is no 'makefile' without an initial 'configure'. + ./configure \ + --build=$CBUILD \ + --host=$CHOST \ + --enable-single-host \ + --enable-c-opt \ + --enable-dynamic-clib \ + --enable-debug-c-backtrace \ + --enable-gcc-opts \ + ; + make bootstrap + make bootclean + + ./configure \ + --build=$CBUILD \ + --host=$CHOST \ + --prefix=/usr \ + --sysconfdir=/etc \ + --mandir=/usr/share/man \ + --localstatedir=/var \ + --enable-compiler-name=gsc${pkgver%%.*} \ + --enable-interpreter-name=gsi${pkgver%%.*} \ + --enable-single-host \ + --enable-c-opt \ + --enable-dynamic-clib \ + --enable-debug-c-backtrace \ + --enable-gcc-opts \ + --enable-shared \ + --enable-versioned-shared-libs \ + --disable-absolute-shared-libs \ + --enable-openssl \ + ; + make + make modules +} + +check() { + make check +} + +package() { + make -j1 DESTDIR="$pkgdir" install +} + +sha512sums="5b5a6fc783851eac140590ef81e017de8301490095d56afa9e670d1a00ed0a31c621b6d48215af8ace9682ca21cd317200167cb95bfdc01a7312394c944597ff gambit-v4_9_5.tgz +a878994ea7c40b301d30b4d05879c335ad42e1ca8c25387556691192b6945276d6d6ff017ff568302558b23c42c61f223bddb3596b8203fbee8edbf4fdd9b813 fix-incompatible-stat-usage.patch +133ef5442c1bfe51e57caecd509c12cdecd86cfb941114a5038fad2c3e2bda1770fde7e367561039d523db5ea9cba5cebae7a9ed9daca699863267e7224f1ad6 reproducibility.patch" diff --git a/user/gambit-c/fix-incompatible-stat-usage.patch b/user/gambit-c/fix-incompatible-stat-usage.patch new file mode 100644 index 000000000..ed046a88c --- /dev/null +++ b/user/gambit-c/fix-incompatible-stat-usage.patch @@ -0,0 +1,21 @@ +Illegal option 's'. + +diff -ur a/doc/makefile.in b/doc/makefile.in +--- a/doc/makefile.in 2022-12-01 12:16:24.110528979 -0600 ++++ b/doc/makefile.in 2022-12-01 12:41:45.384526329 -0600 +@@ -129,14 +129,7 @@ + version.txi: stamp.vti + + stamp.vti: gambit.txi $(rootfromhere)/configure.ac +- # we need this mess because "date" and "stat" +- # don't behave the same on Linux and BSD +- st_mtime="`stat -s gambit.txi | sed -e 's/.*st_mtime=//g' -e 's/ .*//g'`"; \ +- if [ "$$st_mtime" = "" ]; then \ +- mtime="`date -r gambit.txi '+%B %d, %Y'`"; \ +- else \ +- mtime="`date -r $$st_mtime '+%B %d, %Y'`"; \ +- fi; \ ++ mtime="`date -r gambit.txi '+%B %d, %Y'`"; + echo "@set EDITION $(PACKAGE_VERSION)" > version.tmp; \ + echo "@set UPDATED $$mtime" >> version.tmp; \ + echo "@set VERSION $(PACKAGE_VERSION)" >> version.tmp diff --git a/user/gambit-c/reproducibility.patch b/user/gambit-c/reproducibility.patch new file mode 100644 index 000000000..1fa480e78 --- /dev/null +++ b/user/gambit-c/reproducibility.patch @@ -0,0 +1,52 @@ +https://salsa.debian.org/abdelq/gambc/-/blob/ca233c8bd3c8279e755e34287417aafe3c649629/debian/patches/reproducibility.patch + +Workaround for reproducibility issues +--- a/doc/makefile.in ++++ b/doc/makefile.in +@@ -70,7 +70,7 @@ + + MAKEINFO = makeinfo + TEXI2DVI = texi2dvi +-TEXI2HTML = ./texi2html ++TEXI2HTML = PERL_HASH_SEED=0 ./texi2html + PDF2PS = pdf2ps + + .SUFFIXES: +--- a/doc/texi2html ++++ b/doc/texi2html +@@ -2520,7 +2520,7 @@ + print $fh <<EOT; + $DOCTYPE + <html> +-$Texi2HTML::THISDOC{'copying_comment'}<!-- Created on $Texi2HTML::THISDOC{today} by $Texi2HTML::THISDOC{program} ++$Texi2HTML::THISDOC{'copying_comment'}<!-- Created by $Texi2HTML::THISDOC{program} + $Texi2HTML::THISDOC{program_authors}--> + <head> + <title>$longtitle</title> +@@ -2543,7 +2543,7 @@ + sub T2H_DEFAULT_program_string() + { + my $user = $Texi2HTML::THISDOC{'user'}; +- my $date = $Texi2HTML::THISDOC{'today'}; ++ #my $date = $Texi2HTML::THISDOC{'today'}; + $user = '' if (!defined($user)); + $date = '' if (!defined($date)); + if (($user ne '') and ($date ne '')) +@@ -3137,7 +3137,7 @@ + print $fh <<EOT; + $DOCTYPE + <html> +-<!-- Created on $Texi2HTML::THISDOC{'today'} by $Texi2HTML::THISDOC{'program'} --> ++<!-- Created by $Texi2HTML::THISDOC{'program'} --> + <!-- + $Texi2HTML::THISDOC{'program_authors'} + --> +@@ -7403,7 +7403,7 @@ + sub t2h_default_address($$) + { + my $user = shift; +- my $date = shift; ++ #my $date = shift; + $user = '' if (!defined($user)); + $date = '' if (!defined($date)); + if (($user ne '') and ($date ne '')) |