Compare commits

...

2 commits

Author SHA1 Message Date
Samuel Tyler
984b832224
Merge pull request #575 from fosslinux/guile-update
Some checks failed
Linters / Lint shell files (push) Has been cancelled
Linters / Lint reuse information (push) Has been cancelled
Run under bubblewrap / Run up to Linux build under bubblewrap (push) Has been cancelled
Run under bubblewrap / Run up to Python bootstrap under bubblewrap (push) Has been cancelled
Run under bubblewrap / Run remaining builds under bubblewrap (push) Has been cancelled
Linters / Lint Python files (push) Has been cancelled
Guile update
2026-02-14 10:19:29 +11:00
Samuel Tyler
c6917ede1e
guile: update to 3.0.11 2026-02-11 19:09:53 +11:00
7 changed files with 363 additions and 6 deletions

View file

@ -1363,8 +1363,8 @@ boehm-gc 8.2.12
The Boehm-Demers-Weiser conservative garbage collector can be used as a garbage The Boehm-Demers-Weiser conservative garbage collector can be used as a garbage
collecting replacement for C malloc or C++ new. collecting replacement for C malloc or C++ new.
guile 3.0.9 guile 3.0.11
=========== ============
GNU Ubiquitous Intelligent Language for Extensions (GNU Guile) is the preferred GNU Ubiquitous Intelligent Language for Extensions (GNU Guile) is the preferred
extension language system for the GNU Project and features an implementation extension language system for the GNU Project and features an implementation
@ -1372,7 +1372,7 @@ of the programming language Scheme.
We use ``guile-psyntax-bootstrapping`` project on Guile 3.0.7 to bootstrap We use ``guile-psyntax-bootstrapping`` project on Guile 3.0.7 to bootstrap
Guile's ``psyntax.pp`` without relying on pre-expanded code. This is then Guile's ``psyntax.pp`` without relying on pre-expanded code. This is then
transplanted into Guile 3.0.9. transplanted into Guile 3.0.11.
which 2.21 which 2.21
========== ==========

View file

@ -9,7 +9,7 @@ b687370caaa654ba2fc622188240f50ea305a1c926accbced153df9179697adf autoconf-2.53_
b363f22b42418fb2507bf722b0a6b5b03410ac58c44c400767d650d828696eaa autoconf-2.69_0.tar.bz2 b363f22b42418fb2507bf722b0a6b5b03410ac58c44c400767d650d828696eaa autoconf-2.69_0.tar.bz2
cde51b816fcce47742064f9dc0b4871e4194190be5065dc1852b39339cc9115b autoconf-2.71_0.tar.bz2 cde51b816fcce47742064f9dc0b4871e4194190be5065dc1852b39339cc9115b autoconf-2.71_0.tar.bz2
6ff691e3ddd4f3d1796d28b07a2a96691dbd9801844c99ccbe660da59dabd74b autoconf-archive-2021.02.19_0.tar.bz2 6ff691e3ddd4f3d1796d28b07a2a96691dbd9801844c99ccbe660da59dabd74b autoconf-archive-2021.02.19_0.tar.bz2
496e6875aea87287da0a280676cdb4e9efaa5c0acaadba97b3045e9324dfb527 autogen-5.18.16_0.tar.bz2 24be819cf412b1acf04cdc361c68a19b31762f0c374e2421c31d22249b9b0271 autogen-5.18.16_0.tar.bz2
02a426e82a52d4a2cd7e73fe3dc5a2c58b3ed100f24a92c57e42511fd86e247c automake-1.10.3_0.tar.bz2 02a426e82a52d4a2cd7e73fe3dc5a2c58b3ed100f24a92c57e42511fd86e247c automake-1.10.3_0.tar.bz2
34925adeaa2876a5e068adeb17b71fe7c7105244c3cb5439d33f7406310674da automake-1.11.2_0.tar.bz2 34925adeaa2876a5e068adeb17b71fe7c7105244c3cb5439d33f7406310674da automake-1.11.2_0.tar.bz2
7e36e9e4b3957c95b6de8ff475c9b37aa007e2f9735b01c0eaf14b711fdd112f automake-1.15.1_0.tar.bz2 7e36e9e4b3957c95b6de8ff475c9b37aa007e2f9735b01c0eaf14b711fdd112f automake-1.15.1_0.tar.bz2
@ -64,7 +64,7 @@ d34de902de6de9204abedb834c4c39fbb95b993e545fbb090de2b028fa1d4a61 gcc-4.0.4_0.ta
c1989fc2855dbb0350c4e5b677028306614a9f4b5cb6c01fd459c5e1abf592b9 grep-2.4_0.tar.bz2 c1989fc2855dbb0350c4e5b677028306614a9f4b5cb6c01fd459c5e1abf592b9 grep-2.4_0.tar.bz2
3f3247c7d05fcef0d9f624a523afa01257207584045eb7efb7fb8f29fc782c7a grep-3.7_0.tar.bz2 3f3247c7d05fcef0d9f624a523afa01257207584045eb7efb7fb8f29fc782c7a grep-3.7_0.tar.bz2
39320fce205c3d53209351c48c7cc59c6157373f940bd9f425cf3c51558fb09f grub-2.06_0.tar.bz2 39320fce205c3d53209351c48c7cc59c6157373f940bd9f425cf3c51558fb09f grub-2.06_0.tar.bz2
a45b0b301268a216af09d1bac26146da2c58809f4fb90c073f2d217af041d565 guile-3.0.9_0.tar.bz2 9a5a816925d408967664e82b22b3280db77d940411b0730415dc44f8c9ec09eb guile-3.0.11_0.tar.bz2
893bb26efb8b1789702b8fd1a3ed72951990c8e38ab650c5220992405e79b96e gzip-1.13_0.tar.bz2 893bb26efb8b1789702b8fd1a3ed72951990c8e38ab650c5220992405e79b96e gzip-1.13_0.tar.bz2
f27e1eaafa7ab198d2ed549aecfd8a1205d960f59a509789a159997565abd6d4 heirloom-devtools-070527_0.tar.bz2 f27e1eaafa7ab198d2ed549aecfd8a1205d960f59a509789a159997565abd6d4 heirloom-devtools-070527_0.tar.bz2
8d2015b87337abbf287f7a39ee4cf53514120b5d3e90a93fe7d533dcc43f14fa help2man-1.36.4_0.tar.bz2 8d2015b87337abbf287f7a39ee4cf53514120b5d3e90a93fe7d533dcc43f14fa help2man-1.36.4_0.tar.bz2

View file

@ -0,0 +1,122 @@
#!/bin/sh
# SPDX-FileCopyrightText: 2021 Andrius Štikonas <andrius@stikonas.eu>
#
# SPDX-License-Identifier: GPL-3.0-or-later
rm gnulib-local/m4/clock_time.m4.diff
../gnulib-901694b9/gnulib-tool --import --local-dir=gnulib-local \
--lib=libgnu \
--source-base=lib \
--m4-base=m4 \
--doc-base=doc \
--tests-base=tests \
--aux-dir=build-aux \
--lgpl=3 \
--conditional-dependencies \
--libtool \
--macro-prefix=gl \
--no-vc-files \
--avoid=lock \
--avoid=unistr/base \
--avoid=unistr/u8-mbtouc \
--avoid=unistr/u8-mbtouc-unsafe \
--avoid=unistr/u8-mbtoucr \
--avoid=unistr/u8-prev \
--avoid=unistr/u8-uctomb \
--avoid=unitypes \
accept4 \
alignof \
alloca-opt \
announce-gen \
autobuild \
bind \
byteswap \
c-strcase \
canonicalize-lgpl \
ceil \
clock-time \
close \
connect \
copysign \
dirfd \
dirname-lgpl \
duplocale \
environ \
extensions \
flexmember \
flock \
floor \
fpieee \
frexp \
fstat \
fsync \
full-read \
full-write \
func \
gendocs \
getaddrinfo \
getlogin \
getpeername \
getsockname \
getsockopt \
git-version-gen \
gitlog-to-changelog \
gnu-web-doc-update \
gnupload \
havelib \
iconv_open-utf \
inet_ntop \
inet_pton \
isfinite \
isinf \
isnan \
ldexp \
lib-symbol-versions \
lib-symbol-visibility \
libunistring \
link \
listen \
localcharset \
locale \
log1p \
lstat \
maintainer-makefile \
malloc-gnu \
malloca \
mkdir \
mkostemp \
nl_langinfo \
nproc \
nstrftime \
open \
pipe-posix \
pipe2 \
poll \
putenv \
readlink \
recv \
recvfrom \
regex \
rename \
rmdir \
select \
send \
sendto \
setenv \
setsockopt \
shutdown \
socket \
stat-time \
stdlib \
striconveh \
string \
sys_stat \
time \
times \
trunc \
unistd \
verify \
vsnprintf \
warnings \
wchar

View file

@ -0,0 +1,132 @@
#!/bin/sh
# SPDX-FileCopyrightText: 2023 Samuel Tyler <samuel@samuelt.me>
#
# SPDX-License-Identifier: GPL-3.0-or-later
rm lib/iconv_open-*.h
../gnulib-356a414e/gnulib-tool --import --local-dir=gnulib-local \
--lib=libgnu \
--source-base=lib \
--m4-base=m4 \
--doc-base=doc \
--tests-base=tests \
--aux-dir=build-aux \
--lgpl=3 \
--conditional-dependencies \
--libtool \
--macro-prefix=gl \
--no-vc-files \
--avoid=lock \
--avoid=unistr/base \
--avoid=unistr/u8-mbtouc \
--avoid=unistr/u8-mbtouc-unsafe \
--avoid=unistr/u8-mbtoucr \
--avoid=unistr/u8-prev \
--avoid=unistr/u8-uctomb \
--avoid=unitypes \
accept4 \
alignof \
alloca-opt \
announce-gen \
autobuild \
bind \
byteswap \
c-strcase \
canonicalize-lgpl \
ceil \
clock-time \
close \
connect \
copysign \
dirfd \
dirname-lgpl \
duplocale \
environ \
extensions \
flexmember \
flock \
floor \
fpieee \
frexp \
fstat \
fsync \
full-read \
full-write \
func \
gendocs \
getaddrinfo \
gethostname \
getlogin \
getpeername \
getsockname \
getsockopt \
git-version-gen \
gitlog-to-changelog \
gnu-web-doc-update \
gnupload \
havelib \
iconv_open-utf \
inet_ntop \
inet_pton \
isfinite \
isinf \
isnan \
ldexp \
lib-symbol-versions \
lib-symbol-visibility \
libunistring \
link \
listen \
localcharset \
locale \
log1p \
lstat \
maintainer-makefile \
malloc-gnu \
malloca \
mkdir \
mkostemp \
nl_langinfo \
nproc \
nstrftime \
open \
pipe-posix \
pipe2 \
poll \
posix_spawn \
posix_spawn_file_actions_addclose \
posix_spawn_file_actions_adddup2 \
posix_spawn_file_actions_addopen \
posix_spawn_file_actions_destroy \
posix_spawn_file_actions_init \
posix_spawnp \
putenv \
readlink \
recv \
recvfrom \
regex \
rename \
rmdir \
select \
send \
sendto \
setenv \
setsockopt \
shutdown \
socket \
stat-time \
stdlib \
striconveh \
string \
sys_select \
sys_stat \
time \
times \
trunc \
unistd \
verify \
vsnprintf \
warnings \
wchar

97
steps/guile-3.0.11/pass1.sh Executable file
View file

@ -0,0 +1,97 @@
# SPDX-FileCopyrightText: 2022 Andrius Štikonas <andrius@stikonas.eu>
# SPDX-FileCopyrightText: 2021 Michael Schierl <schierlm@gmx.de>
# SPDX-FileCopyrightText: 2022 Samuel Tyler <samuel@samuelt.me>
#
# SPDX-License-Identifier: GPL-3.0-or-later
# guile-psyntax-bootstrapping only supports Guile 3.0.7
# We need Guile 3.0.8 or later in order to have reproducible builds when
# parallelism (-jX) is enabled.
#
# To work around this issue, we;
# 1. run guile-psyntax-bootstrapping on Guile 3.0.7
# 2. take psyntax-pp.scm from Guile 3.0.7 and transplant into 3.0.11
# 3. compile guile 3.0.11
common_prepare() {
find . -name '*.info*' -delete
for f in doc/ref/*.{pdf,eps}; do
rm "$f"
touch "$f"
done
rm -r prebuilt/*/ice-9
rm libguile/c-tokenize.c libguile/vm-operations.h
# Remove buildstamp
sed -i "s/\`date -u +'%Y-%m-%d %T'.*\`/1970-01-01 00:00:00/" libguile/Makefile.am
autoreconf-2.71 -fi
}
src_prepare() {
# First, prepare Guile 3.0.7
pushd ../guile-3.0.7
rm libguile/srfi-14.i.c
pushd libguile
mv ../../UnicodeData-13.0.0.txt UnicodeData.txt
# Automatically indents the code by default.
# We don't need that and don't have the program.
sed -i '/indent /d' unidata_to_charset.pl
perl unidata_to_charset.pl
popd
../../import-gnulib-3.0.7.sh
common_prepare
# pp-syntax bootstrap: remove pre-gen file
sha256sum module/ice-9/psyntax-pp.scm | tee psyntax-pp.sha256
rm module/ice-9/psyntax-pp.scm
## now let us prepare to rebuild it
echo '(primitive-load-path "psyntax-bootstrap/allsteps")' > module/ice-9/psyntax-pp.scm
mkdir -p module/psyntax-bootstrap
cp ../guile-psyntax-bootstrapping-guile-3.0.7/psyntax-bootstrap/*.scm module/psyntax-bootstrap
pushd module/ice-9
cp psyntax.scm psyntax-patched.scm
patch <../../../guile-psyntax-bootstrapping-guile-3.0.7/stage2.patch
popd
popd
# Now, main version
default
../../import-gnulib.sh
common_prepare
}
src_configure() {
for d in . ../guile-3.0.7; do
pushd "${d}"
PKG_CONFIG_PATH="${LIBDIR}/pkgconfig" ./configure \
--prefix="${PREFIX}" \
--libdir="${LIBDIR}" \
--build="${TARGET}" \
--disable-shared \
--disable-jit
popd
done
}
src_compile() {
# pp-syntax: rebuild
pushd ../guile-3.0.7
make config.h
make libguile/scmconfig.h
make .version
make -C lib all
make -C meta all
make -C libguile all
make -C module ice-9/psyntax-pp.scm.gen
# Note that on 32-bit systems psyntax-pp is not identical to the original
# and some identifier names are different.
popd
# Transplant psyntax-pp.scm
cp -f ../guile-3.0.7/module/ice-9/psyntax-pp.scm module/ice-9/
# Now proceed with the build
default
}

View file

@ -0,0 +1,6 @@
f https://mirrors.kernel.org/gnu/guile/guile-3.0.11.tar.xz 818c79d236657a7fa96fb364137cc7b41b3bdee0d65c6174ca03769559579460
f https://mirrors.kernel.org/gnu/guile/guile-3.0.7.tar.xz f57d86c70620271bfceb7a9be0c81744a033f08adc7ceba832c9917ab3e691b7
g https://https.git.savannah.gnu.org/git/gnulib.git~901694b9 _ f9aad85de1f41d57c9368d304020ffbf354a5e56db1297f022c3d12181134e56 gnulib-901694b9.tar.gz
g https://https.git.savannah.gnu.org/git/gnulib.git~356a414e _ fc9973f1a9243fdc4b98d33d7704f3c71bfdc4c2ef96899b8f28cade7290a714 gnulib-356a414e.tar.gz
g https://github.com/schierlm/guile-psyntax-bootstrapping~guile-3.0.7 https://github.com/schierlm/guile-psyntax-bootstrapping/archive/refs/tags/guile-3.0.7.tar.gz 14cda9c416506dfadf60c14fc623ff01ef99b87564a78d0a29c5d17143c97609
f http://ftp.unicode.org/Public/13.0.0/ucd/UnicodeData.txt bdbffbbfc8ad4d3a6d01b5891510458f3d36f7170422af4ea2bed3211a73e8bb UnicodeData-13.0.0.txt

View file

@ -212,7 +212,7 @@ build: python-3.11.1
uninstall: python-2.0.1 python-2.3.7 python-3.1.5 python-3.3.7 python-3.4.10 python-3.8.16 uninstall: python-2.0.1 python-2.3.7 python-3.1.5 python-3.3.7 python-3.4.10 python-3.8.16
build: libunistring-1.4.1 build: libunistring-1.4.1
build: gc-8.2.12 build: gc-8.2.12
build: guile-3.0.9 build: guile-3.0.11
build: which-2.21 build: which-2.21
build: grep-3.7 build: grep-3.7
build: sed-4.8 build: sed-4.8