summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorZach van Rijn <me@zv.io>2023-12-01 17:12:48 -0600
committerZach van Rijn <me@zv.io>2023-12-01 17:55:44 -0600
commitec2ce3515c9d7785ede8f0e64db011ed20088e97 (patch)
tree31174be6042e146e773a6c83f44fb211df2393cc
parent1c36ca44c5ba757f8dde36a3b3fd516f8ed66514 (diff)
downloadpackages-ec2ce3515c9d7785ede8f0e64db011ed20088e97.tar.gz
packages-ec2ce3515c9d7785ede8f0e64db011ed20088e97.tar.bz2
packages-ec2ce3515c9d7785ede8f0e64db011ed20088e97.tar.xz
packages-ec2ce3515c9d7785ede8f0e64db011ed20088e97.zip
user/gambit-c: bump { 4.9.4 --> 4.9.5 }.
This provides SRFI 231, which "greatly improves upon" SRFI 179, but also experiences the same build failures, so we disable it. Ref: #934
-rw-r--r--user/gambit-c/0001-Avoid-fixnum-overflow-on-32-bit-machines-in-port-set.patch439
-rw-r--r--user/gambit-c/APKBUILD28
-rw-r--r--user/gambit-c/disable-srfi-179.patch21
-rw-r--r--user/gambit-c/remove-non-ascii-character-from-gambit-txi.patch22
-rw-r--r--user/gambit-c/s390.patch46
5 files changed, 14 insertions, 542 deletions
diff --git a/user/gambit-c/0001-Avoid-fixnum-overflow-on-32-bit-machines-in-port-set.patch b/user/gambit-c/0001-Avoid-fixnum-overflow-on-32-bit-machines-in-port-set.patch
deleted file mode 100644
index 9432f10a7..000000000
--- a/user/gambit-c/0001-Avoid-fixnum-overflow-on-32-bit-machines-in-port-set.patch
+++ /dev/null
@@ -1,439 +0,0 @@
-Patch requires bootstrap to regenerate C source file(s).
-
-See also:
-
- * https://git.adelielinux.org/adelie/packages/-/issues/926
- * https://github.com/gambit/gambit/issues/806
-
-From eb287205c10b3bcf5f497b33b520f468837a18ec Mon Sep 17 00:00:00 2001
-From: Marc Feeley <feeley@iro.umontreal.ca>
-Date: Sun, 18 Dec 2022 07:39:38 -0500
-Subject: [PATCH] Avoid fixnum overflow on 32 bit machines in
- port-settings-set!
-
-
-diff --git a/lib/_io#.scm b/lib/_io#.scm
-index e205e8ad..f55124dc 100644
---- a/lib/_io#.scm
-+++ b/lib/_io#.scm
-@@ -2,7 +2,7 @@
-
- ;;; File: "_io#.scm"
-
--;;; Copyright (c) 1994-2021 by Marc Feeley, All Rights Reserved.
-+;;; Copyright (c) 1994-2022 by Marc Feeley, All Rights Reserved.
-
- ;;;============================================================================
-
-@@ -817,36 +817,37 @@
-
- (##define-macro (macro-default-readtable) #f)
-
--(##define-macro (macro-char-encoding-shift) 1)
--(##define-macro (macro-char-encoding-range) 32)
--(##define-macro (macro-default-char-encoding) 0)
--(##define-macro (macro-char-encoding-ASCII) 1)
--(##define-macro (macro-char-encoding-ISO-8859-1) 2)
--(##define-macro (macro-char-encoding-UTF-8) 3)
--(##define-macro (macro-char-encoding-UTF-16) 4)
--(##define-macro (macro-char-encoding-UTF-16BE) 5)
--(##define-macro (macro-char-encoding-UTF-16LE) 6)
--(##define-macro (macro-char-encoding-UTF-fallback-ASCII) 7)
--(##define-macro (macro-char-encoding-UTF-fallback-ISO-8859-1) 8)
--(##define-macro (macro-char-encoding-UTF-fallback-UTF-8) 9)
--(##define-macro (macro-char-encoding-UTF-fallback-UTF-16) 10)
--(##define-macro (macro-char-encoding-UTF-fallback-UTF-16BE) 11)
--(##define-macro (macro-char-encoding-UTF-fallback-UTF-16LE) 12)
--(##define-macro (macro-char-encoding-UCS-2) 13)
--(##define-macro (macro-char-encoding-UCS-2BE) 14)
--(##define-macro (macro-char-encoding-UCS-2LE) 15)
--(##define-macro (macro-char-encoding-UCS-4) 16)
--(##define-macro (macro-char-encoding-UCS-4BE) 17)
--(##define-macro (macro-char-encoding-UCS-4LE) 18)
--(##define-macro (macro-char-encoding-wchar) 19)
--(##define-macro (macro-char-encoding-native) 20)
-+(##define-macro (macro-char-encoding-shift) 0)
-+(##define-macro (macro-char-encoding-mask) (* 31 (expt 2 0)))
-+(##define-macro (macro-default-char-encoding) 0)
-+(##define-macro (macro-char-encoding-ASCII) 1)
-+(##define-macro (macro-char-encoding-ISO-8859-1) 2)
-+(##define-macro (macro-char-encoding-UTF-8) 3)
-+(##define-macro (macro-char-encoding-UTF-16) 4)
-+(##define-macro (macro-char-encoding-UTF-16BE) 5)
-+(##define-macro (macro-char-encoding-UTF-16LE) 6)
-+(##define-macro (macro-char-encoding-UTF-fallback-ASCII) 7)
-+(##define-macro (macro-char-encoding-UTF-fallback-ISO-8859-1)8)
-+(##define-macro (macro-char-encoding-UTF-fallback-UTF-8) 9)
-+(##define-macro (macro-char-encoding-UTF-fallback-UTF-16) 10)
-+(##define-macro (macro-char-encoding-UTF-fallback-UTF-16BE) 11)
-+(##define-macro (macro-char-encoding-UTF-fallback-UTF-16LE) 12)
-+(##define-macro (macro-char-encoding-UCS-2) 13)
-+(##define-macro (macro-char-encoding-UCS-2BE) 14)
-+(##define-macro (macro-char-encoding-UCS-2LE) 15)
-+(##define-macro (macro-char-encoding-UCS-4) 16)
-+(##define-macro (macro-char-encoding-UCS-4BE) 17)
-+(##define-macro (macro-char-encoding-UCS-4LE) 18)
-+(##define-macro (macro-char-encoding-wchar) 19)
-+(##define-macro (macro-char-encoding-native) 20)
-
- (##define-macro (macro-char-encoding-UTF)
- `(macro-char-encoding-UTF-fallback-UTF-8))
-
- (##define-macro (macro-max-unescaped-char options)
-- `(let ((e (##fxmodulo (##fxquotient ,options (macro-char-encoding-shift))
-- (macro-char-encoding-range))))
-+ `(let ((e (##fxarithmetic-shift-right
-+ (##fxand ,options (macro-char-encoding-mask))
-+ (macro-char-encoding-shift))))
- (cond ((##fx<= e (macro-char-encoding-ISO-8859-1))
- (if (##fx= e (macro-char-encoding-ISO-8859-1))
- (##integer->char #xff)
-@@ -857,21 +858,21 @@
- (else
- (##integer->char #x10ffff)))))
-
--(##define-macro (macro-char-encoding-errors-shift) 32)
--(##define-macro (macro-char-encoding-errors-range) 4)
-+(##define-macro (macro-char-encoding-errors-shift) 5)
-+(##define-macro (macro-char-encoding-errors-mask) (* 3 (expt 2 5)))
- (##define-macro (macro-default-char-encoding-errors) 0)
- (##define-macro (macro-char-encoding-errors-on) 1)
- (##define-macro (macro-char-encoding-errors-off) 2)
-
--(##define-macro (macro-eol-encoding-shift) 128)
--(##define-macro (macro-eol-encoding-range) 4)
-+(##define-macro (macro-eol-encoding-shift) 7)
-+(##define-macro (macro-eol-encoding-mask) (* 3 (expt 2 7)))
- (##define-macro (macro-default-eol-encoding) 0)
- (##define-macro (macro-eol-encoding-lf) 1)
- (##define-macro (macro-eol-encoding-cr) 2)
- (##define-macro (macro-eol-encoding-crlf) 3)
-
--(##define-macro (macro-buffering-shift) 512)
--(##define-macro (macro-buffering-range) 4)
-+(##define-macro (macro-buffering-shift) 9)
-+(##define-macro (macro-buffering-mask) (* 3 (expt 2 9)))
- (##define-macro (macro-default-buffering) 0)
- (##define-macro (macro-no-buffering) 1)
- (##define-macro (macro-line-buffering) 2)
-@@ -883,14 +884,14 @@
- (##define-macro (macro-fully-buffered? options)
- `(##not (##fx< (##fxand ,options 2047) 1536)))
-
--(##define-macro (macro-decode-state-shift) 2048)
--(##define-macro (macro-decode-state-range) 4)
-+(##define-macro (macro-decode-state-shift) 11)
-+(##define-macro (macro-decode-state-mask) (* 3 (expt 2 11)))
- (##define-macro (macro-decode-state-none) 0)
- (##define-macro (macro-decode-state-lf) 1)
- (##define-macro (macro-decode-state-cr) 2)
-
--(##define-macro (macro-open-state-shift) 8192)
--(##define-macro (macro-open-state-range) 2)
-+(##define-macro (macro-open-state-shift) 13)
-+(##define-macro (macro-open-state-mask) (* 1 (expt 2 13)))
- (##define-macro (macro-open-state-open) 0)
- (##define-macro (macro-open-state-closed) 1)
-
-@@ -903,15 +904,15 @@
- (##define-macro (macro-unclose! options)
- `(##fxand ,options -8193))
-
--(##define-macro (macro-permanent-close-shift) 16384)
--(##define-macro (macro-permanent-close-range) 2)
-+(##define-macro (macro-permanent-close-shift) 14)
-+(##define-macro (macro-permanent-close-mask) (* 1 (expt 2 14)))
- (##define-macro (macro-permanent-close-no) 0)
- (##define-macro (macro-permanent-close-yes) 1)
-
- (##define-macro (macro-perm-close? options)
- `(##not (##fx= (##fxand ,options 16384) 0)))
-
--(##define-macro (macro-direction-shift) 16)
-+(##define-macro (macro-direction-shift) 4)
- (##define-macro (macro-direction-in) 1)
- (##define-macro (macro-direction-out) 2)
- (##define-macro (macro-direction-inout) 3)
-@@ -926,18 +927,18 @@
-
- (##define-macro (macro-default-directory) #f)
-
--(##define-macro (macro-append-shift) 8)
-+(##define-macro (macro-append-shift) 3)
- (##define-macro (macro-no-append) 0)
- (##define-macro (macro-append) 1)
- (##define-macro (macro-default-append) 2)
-
--(##define-macro (macro-create-shift) 2)
-+(##define-macro (macro-create-shift) 1)
- (##define-macro (macro-no-create) 0)
- (##define-macro (macro-maybe-create) 1)
- (##define-macro (macro-create) 2)
- (##define-macro (macro-default-create) 3)
-
--(##define-macro (macro-truncate-shift) 1)
-+(##define-macro (macro-truncate-shift) 0)
- (##define-macro (macro-no-truncate) 0)
- (##define-macro (macro-truncate) 1)
- (##define-macro (macro-default-truncate) 2)
-diff --git a/lib/_io.scm b/lib/_io.scm
-index d9387536..563d9664 100644
---- a/lib/_io.scm
-+++ b/lib/_io.scm
-@@ -1046,17 +1046,22 @@
- (else
- (error-improper-list))))))
-
--(##define-macro (macro-stream-options-output-shift) 32768)
-+(##define-macro (macro-stream-options-output-shift) 15)
-+(##define-macro (macro-stream-options-input-mask) 32767)
-
- (define-prim (##psettings->roptions psettings default-options)
- (##psettings-options->options
- (macro-psettings-roptions psettings)
-- (##fxmodulo default-options (macro-stream-options-output-shift))))
-+ (##fxand
-+ default-options
-+ (macro-stream-options-input-mask))))
-
- (define-prim (##psettings->woptions psettings default-options)
- (##psettings-options->options
- (macro-psettings-woptions psettings)
-- (##fxquotient default-options (macro-stream-options-output-shift))))
-+ (##fxwraplogical-shift-right
-+ default-options
-+ (macro-stream-options-output-shift))))
-
- (define-prim (##psettings->input-readtable psettings)
- (or (macro-psettings-options-readtable
-@@ -1081,45 +1086,52 @@
- (macro-psettings-options-char-encoding-errors options)))
- (##fx+
- (##fx+
-- (##fx* (macro-char-encoding-shift)
-- (if (##fx= char-encoding (macro-default-char-encoding))
-- (##fxmodulo
-- (##fxquotient default-options
-- (macro-char-encoding-shift))
-- (macro-char-encoding-range))
-- char-encoding))
-- (##fx* (macro-char-encoding-errors-shift)
-- (if (##fx= char-encoding-errors (macro-default-char-encoding-errors))
-- (##fxmodulo
-- (##fxquotient default-options
-- (macro-char-encoding-errors-shift))
-- (macro-char-encoding-errors-range))
-- char-encoding-errors))
-+ (##fxarithmetic-shift-left
-+ (if (##fx= char-encoding (macro-default-char-encoding))
-+ (##fxarithmetic-shift-right
-+ (##fxand
-+ default-options
-+ (macro-char-encoding-mask))
-+ (macro-char-encoding-shift))
-+ char-encoding)
-+ (macro-char-encoding-shift))
-+ (##fxarithmetic-shift-left
-+ (if (##fx= char-encoding-errors (macro-default-char-encoding-errors))
-+ (##fxarithmetic-shift-right
-+ (##fxand
-+ default-options
-+ (macro-char-encoding-errors-mask))
-+ (macro-char-encoding-errors-shift))
-+ char-encoding-errors)
-+ (macro-char-encoding-errors-shift))
- (##fx+
- (##fx+
-- (##fx* (macro-eol-encoding-shift)
-- (if (##fx= eol-encoding (macro-default-eol-encoding))
-- (##fxmodulo
-- (##fxquotient default-options
-- (macro-eol-encoding-shift))
-- (macro-eol-encoding-range))
-- eol-encoding))
-+ (##fxarithmetic-shift-left
-+ (if (##fx= eol-encoding (macro-default-eol-encoding))
-+ (##fxarithmetic-shift-right
-+ (##fxand
-+ default-options
-+ (macro-eol-encoding-mask))
-+ (macro-eol-encoding-shift))
-+ eol-encoding)
-+ (macro-eol-encoding-shift))
- (##fx+
-- (##fx* (macro-open-state-shift)
-- (##fxmodulo
-- (##fxquotient default-options
-- (macro-open-state-shift))
-- (macro-open-state-range)))
-+ (##fxand
-+ default-options
-+ (macro-open-state-mask))
- (##fx+
-- (##fx* (macro-permanent-close-shift)
-- permanent-close)
-- (##fx* (macro-buffering-shift)
-- (if (##fx= buffering (macro-default-buffering))
-- (##fxmodulo
-- (##fxquotient default-options
-- (macro-buffering-shift))
-- (macro-buffering-range))
-- buffering))))))))))
-+ (##fxarithmetic-shift-left
-+ permanent-close
-+ (macro-permanent-close-shift))
-+ (##fxarithmetic-shift-left
-+ (if (##fx= buffering (macro-default-buffering))
-+ (##fxarithmetic-shift-right
-+ (##fxand
-+ default-options
-+ (macro-buffering-mask))
-+ (macro-buffering-shift))
-+ buffering)
-+ (macro-buffering-shift))))))))))
-
- (define-prim (##psettings->device-flags psettings)
- (let ((direction
-@@ -1131,30 +1143,34 @@
- (truncate
- (macro-psettings-truncate psettings)))
- (##fx+
-- (##fx* (macro-direction-shift)
-- direction)
-+ (##fxarithmetic-shift-left
-+ direction
-+ (macro-direction-shift))
- (##fx+
-- (##fx* (macro-append-shift)
-- (if (##not (##fx= append (macro-default-append)))
-- append
-- (macro-no-append)))
-+ (##fxarithmetic-shift-left
-+ (if (##not (##fx= append (macro-default-append)))
-+ append
-+ (macro-no-append))
-+ (macro-append-shift))
- (##fx+
-- (##fx* (macro-create-shift)
-- (cond ((##not (##fx= create (macro-default-create)))
-- create)
-- ((##fx= direction (macro-direction-out))
-- (macro-maybe-create))
-- (else
-- (macro-no-create))))
-- (##fx* (macro-truncate-shift)
-- (cond ((##not (##fx= truncate (macro-default-truncate)))
-- truncate)
-- ((##fx= direction (macro-direction-out))
-- (if (##fx= append (macro-append))
-- (macro-no-truncate)
-- (macro-truncate)))
-- (else
-- (macro-no-truncate)))))))))
-+ (##fxarithmetic-shift-left
-+ (cond ((##not (##fx= create (macro-default-create)))
-+ create)
-+ ((##fx= direction (macro-direction-out))
-+ (macro-maybe-create))
-+ (else
-+ (macro-no-create)))
-+ (macro-create-shift))
-+ (##fxarithmetic-shift-left
-+ (cond ((##not (##fx= truncate (macro-default-truncate)))
-+ truncate)
-+ ((##fx= direction (macro-direction-out))
-+ (if (##fx= append (macro-append))
-+ (macro-no-truncate)
-+ (macro-truncate)))
-+ (else
-+ (macro-no-truncate)))
-+ (macro-truncate-shift)))))))
-
- (define-prim (##psettings->permissions psettings default-permissions)
- (let ((permissions (macro-psettings-permissions psettings)))
-@@ -3282,12 +3298,14 @@
- (##psettings-options->options
- options
- (##fx+
-- (##fx* (macro-open-state-shift)
-- (if (##fx= kind (macro-none-kind))
-- (macro-open-state-closed)
-- (macro-open-state-open)))
-- (##fx* (macro-buffering-shift)
-- buffering))))
-+ (##fxarithmetic-shift-left
-+ (if (##fx= kind (macro-none-kind))
-+ (macro-open-state-closed)
-+ (macro-open-state-open))
-+ (macro-open-state-shift))
-+ (##fxarithmetic-shift-left
-+ buffering
-+ (macro-buffering-shift)))))
-
- ;;;----------------------------------------------------------------------------
-
-@@ -6690,8 +6708,9 @@
- (macro-port-woptions port))
- (woptions
- (##psettings->woptions psettings
-- (##fx* old-woptions
-- (macro-stream-options-output-shift)))))
-+ (##fxarithmetic-shift-left
-+ old-woptions
-+ (macro-stream-options-output-shift)))))
- (let ((code
- (and (macro-output-port? port)
- (##not (##fx= woptions old-woptions))
-@@ -6716,8 +6735,9 @@
- (##options-set!
- port
- (##fx+ roptions
-- (##fx* woptions
-- (macro-stream-options-output-shift)))))))
-+ (##fxarithmetic-shift-left
-+ woptions
-+ (macro-stream-options-output-shift)))))))
- (if (##fixnum? result)
- (begin
- (macro-port-mutex-unlock! port)
-diff --git a/lib/_kernel#.scm b/lib/_kernel#.scm
-index 9d3578f2..e00a4bba 100644
---- a/lib/_kernel#.scm
-+++ b/lib/_kernel#.scm
-@@ -249,28 +249,28 @@
-
- ;;; Debug settings.
-
--(##define-macro (macro-debug-settings-level-mask) 15)
-+(##define-macro (macro-debug-settings-level-mask) (* 15 (expt 2 0)))
- (##define-macro (macro-debug-settings-level-shift) 0)
-
--(##define-macro (macro-debug-settings-uncaught-mask) 16)
-+(##define-macro (macro-debug-settings-uncaught-mask) (* 1 (expt 2 4)))
- (##define-macro (macro-debug-settings-uncaught-primordial) 0)
- (##define-macro (macro-debug-settings-uncaught-all) 1)
- (##define-macro (macro-debug-settings-uncaught-shift) 4)
-
--(##define-macro (macro-debug-settings-error-mask) 96)
-+(##define-macro (macro-debug-settings-error-mask) (* 3 (expt 2 5)))
- (##define-macro (macro-debug-settings-error-repl) 0)
- (##define-macro (macro-debug-settings-error-single-step) 1)
- (##define-macro (macro-debug-settings-error-quit) 2)
- (##define-macro (macro-debug-settings-error-shift) 5)
-
--(##define-macro (macro-debug-settings-repl-mask) 896)
-+(##define-macro (macro-debug-settings-repl-mask) (* 7 (expt 2 7)))
- (##define-macro (macro-debug-settings-repl-console) 0)
- (##define-macro (macro-debug-settings-repl-stdio) 1)
- (##define-macro (macro-debug-settings-repl-stdio-and-err) 2)
- (##define-macro (macro-debug-settings-repl-client) 3)
- (##define-macro (macro-debug-settings-repl-shift) 7)
-
--(##define-macro (macro-debug-settings-user-intr-mask) 3072)
-+(##define-macro (macro-debug-settings-user-intr-mask) (* 3 (expt 2 10)))
- (##define-macro (macro-debug-settings-user-intr-repl) 0)
- (##define-macro (macro-debug-settings-user-intr-defer) 1)
- (##define-macro (macro-debug-settings-user-intr-quit) 2)
---
-2.25.1
-
diff --git a/user/gambit-c/APKBUILD b/user/gambit-c/APKBUILD
index 2104608b9..225984528 100644
--- a/user/gambit-c/APKBUILD
+++ b/user/gambit-c/APKBUILD
@@ -1,9 +1,9 @@
# Contributor: Zach van Rijn <me@zv.io>
# Maintainer: Zach van Rijn <me@zv.io>
pkgname=gambit-c
-pkgver=4.9.4
+pkgver=4.9.5
_pkgver=$(printf "%s" "${pkgver}" | tr . _)
-pkgrel=4
+pkgrel=0
pkgdesc="An efficient implementation of the Scheme programming language."
url="https://gambitscheme.org/"
arch="all"
@@ -13,14 +13,18 @@ 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
- remove-non-ascii-character-from-gambit-txi.patch
reproducibility.patch
- 0001-Avoid-fixnum-overflow-on-32-bit-machines-in-port-set.patch
- s390.patch
-
- disable-srfi-179.patch
"
-builddir="$srcdir/gambit-$pkgver"
+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
@@ -76,10 +80,6 @@ package() {
make -j1 DESTDIR="$pkgdir" install
}
-sha512sums="3471062618949fe4e1eba19ca3170b8334065797d0c2f440050520ebca2af8bb6d57d9434b1756e5d67d4d4ec108c8e6a0c2900f01d8a35b71c979d776995ab1 gambit-v4_9_4.tgz
+sha512sums="5b5a6fc783851eac140590ef81e017de8301490095d56afa9e670d1a00ed0a31c621b6d48215af8ace9682ca21cd317200167cb95bfdc01a7312394c944597ff gambit-v4_9_5.tgz
a878994ea7c40b301d30b4d05879c335ad42e1ca8c25387556691192b6945276d6d6ff017ff568302558b23c42c61f223bddb3596b8203fbee8edbf4fdd9b813 fix-incompatible-stat-usage.patch
-45336179d3f61fa3d70c3517f368fd8ccd744b5981c4bbc2091ed0016e10940c1b24dd58ee4c8d59637d89865a4c6f0ea80dc49a8859b7a900331fdb0e1efe49 remove-non-ascii-character-from-gambit-txi.patch
-133ef5442c1bfe51e57caecd509c12cdecd86cfb941114a5038fad2c3e2bda1770fde7e367561039d523db5ea9cba5cebae7a9ed9daca699863267e7224f1ad6 reproducibility.patch
-2b11fe9957c22a4410070f887f507215703e7476f050ef90ee8ea04e66f0f602f5cf2877a6efb71e7355a767e50a4f2fa4ecdc7b4bd9b1971f3d1234ca980b8c 0001-Avoid-fixnum-overflow-on-32-bit-machines-in-port-set.patch
-a47db8bc273b7133647aac986339569cf5cd6724064634caeee9e90976265ff40983869960f8ccfd44600b8d357b4bd25f49567aee7e9e3ff429d4881512aae3 s390.patch
-d0da7949db7a83020fc7e4e139c7df292b4671adf0ba42fdfee4448915e6b697fbcecb3ca206507a3756dc39506e0d0c1f8d07ea5906bb5ce6ab6b42c18f0781 disable-srfi-179.patch"
+133ef5442c1bfe51e57caecd509c12cdecd86cfb941114a5038fad2c3e2bda1770fde7e367561039d523db5ea9cba5cebae7a9ed9daca699863267e7224f1ad6 reproducibility.patch"
diff --git a/user/gambit-c/disable-srfi-179.patch b/user/gambit-c/disable-srfi-179.patch
deleted file mode 100644
index 5ae78c31c..000000000
--- a/user/gambit-c/disable-srfi-179.patch
+++ /dev/null
@@ -1,21 +0,0 @@
-This patch disables SRFI 179 because it may fail
-to compile on 32-bit systems due to exceeding the
-limit of addressable memory.
-
-Adjusting compilation flags or other parameters
-may be a viable alternative, but it is easier to
-disable it wholesale until a better fix is found.
-
-diff --git a/lib/srfi/makefile b/lib/srfi/makefile
-index fd13fbb6..dd4d8c99 100644
---- a/lib/srfi/makefile
-+++ b/lib/srfi/makefile
-@@ -2,7 +2,7 @@
-
- herefromlib = srfi
- libfromhere = ..
--SUBDIRS = 179 132 41 158 69 \
-+SUBDIRS = 132 41 158 69 \
- 0 1 2 4 5 6 8 9 13 14 23 26 27 28 31 33 45 64 111 124 193 219
- HEADERS_SCM =
- MODULES_SCM =
diff --git a/user/gambit-c/remove-non-ascii-character-from-gambit-txi.patch b/user/gambit-c/remove-non-ascii-character-from-gambit-txi.patch
deleted file mode 100644
index 6bee6b2a1..000000000
--- a/user/gambit-c/remove-non-ascii-character-from-gambit-txi.patch
+++ /dev/null
@@ -1,22 +0,0 @@
-From 9c01e39351ae958541b983961851a2474dabeb8d Mon Sep 17 00:00:00 2001
-From: Marc Feeley <feeley@iro.umontreal.ca>
-Date: Tue, 4 Jan 2022 09:19:32 -0500
-Subject: [PATCH] Remove non-ASCII character from gambit.txi
-
----
- doc/gambit.txi | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/doc/gambit.txi b/doc/gambit.txi
-index 56187714b..a6a4caa90 100644
---- a/doc/gambit.txi
-+++ b/doc/gambit.txi
-@@ -6658,7 +6658,7 @@ For example:
- $ @b{gsi github.com/gambit/hello/demo @r{@i{# auto-install of github.com/gambit/hello package}}}
- People customarily greet each other when they meet.
- In English you can say: hello Bob, nice to see you!
--In French you can say: bonjour Bob, je suis enchanté!
-+In French you can say: bonjour Bob, je suis enchant@'e!
- Demo source code: /Users/feeley/.gambit_userlib/github.com/gambit/hello/@@/demo.scm
- $ @b{gsi github.com/feeley/roman/demo @r{@i{# no auto-install because not on whitelist}}}
- *** ERROR IN ##main -- No such file or directory
diff --git a/user/gambit-c/s390.patch b/user/gambit-c/s390.patch
deleted file mode 100644
index 9580f2e75..000000000
--- a/user/gambit-c/s390.patch
+++ /dev/null
@@ -1,46 +0,0 @@
-diff --git a/include/gambit.h.in b/include/gambit.h.in
-index 71e712a7..f8eeb2ea 100644
---- a/include/gambit.h.in
-+++ b/include/gambit.h.in
-@@ -443,11 +443,27 @@
- #endif
- #endif
-
-+#ifndef ___CPU_s390
-+
-+#ifdef __s390__
-+#define ___CPU_s390
-+#else
-+#ifdef __s390x__
-+#define ___CPU_s390
-+#else
-+#ifdef __zarch__
-+#define ___CPU_s390
-+#endif
-+#endif
-+#endif
-+
-+#endif
-+
- /*
- * Determine the byte order endianness based on the processor type.
-- * We assume that all processors are little-endian, except the sparc and
-- * m68k. The PowerPC, MIPS, ARM and Itanium can be either big-endian or
-- * little-endian so extra tests are needed.
-+ * We assume that all processors are little-endian, except the sparc,
-+ * m68k, and s390. The PowerPC, MIPS, ARM and Itanium can be either
-+ * big-endian or little-endian so extra tests are needed.
- */
-
- #ifndef ___BIG_ENDIAN
-@@ -484,6 +500,10 @@
- #define ___BIG_ENDIAN
- #endif
-
-+#ifdef ___CPU_s390
-+#define ___BIG_ENDIAN
-+#endif
-+
- #ifdef ___CPU_mips
- #ifdef _MIPSEL
- #define ___LITTLE_ENDIAN