Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion parts.rst
Original file line number Diff line number Diff line change
Expand Up @@ -1133,7 +1133,7 @@ Differences to 2.0.1:

Python 2.3.7 is then rebuilt to include Unicode support.

gperf 3.1
gperf 3.3
=========

``gperf`` is a perfect hash function generator (hash function is injective).
Expand Down
6 changes: 3 additions & 3 deletions steps/SHA256SUMS.pkgs
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ b687370caaa654ba2fc622188240f50ea305a1c926accbced153df9179697adf autoconf-2.53_
b363f22b42418fb2507bf722b0a6b5b03410ac58c44c400767d650d828696eaa autoconf-2.69_0.tar.bz2
cde51b816fcce47742064f9dc0b4871e4194190be5065dc1852b39339cc9115b autoconf-2.71_0.tar.bz2
6ff691e3ddd4f3d1796d28b07a2a96691dbd9801844c99ccbe660da59dabd74b autoconf-archive-2021.02.19_0.tar.bz2
8d0a3f35b7f67cfd5a5963ae08bf25282aed718466200f16c526b3c957385f5a autogen-5.18.16_0.tar.bz2
19ecb44e6de8e6cf16b1b858224214997ee14c1f05d4f1992ac40c10ca4c1e4b autogen-5.18.16_0.tar.bz2
02a426e82a52d4a2cd7e73fe3dc5a2c58b3ed100f24a92c57e42511fd86e247c automake-1.10.3_0.tar.bz2
34925adeaa2876a5e068adeb17b71fe7c7105244c3cb5439d33f7406310674da automake-1.11.2_0.tar.bz2
7e36e9e4b3957c95b6de8ff475c9b37aa007e2f9735b01c0eaf14b711fdd112f automake-1.15.1_0.tar.bz2
Expand Down Expand Up @@ -53,14 +53,14 @@ f6c65eef86aa9f5317396a8443b25ed87a18f72d07dfd2231a594aa2c1a68942 findutils-4.2.
c925739472260498342ba6dc3263da937abf5237e7e9102622bf5657ec98094a gawk-3.0.4_0.tar.bz2
e119505fb6218deaaafbf5d31e0ce3dc1e60dae8475fe2a3f9230f9e9e8c7eaf gawk-5.3.0_0.tar.bz2
b4fafdabdbd8c1f9f7c96fc4677023a8151fe2afe0702e3dee920157b30deb98 gc-8.0.4_0.tar.bz2
ad41b30f9d8ecf4daf62f221705b59f40b8dbfc6b4fd2bdd692def41b9059133 gcc-10.5.0_0.tar.bz2
4d19c0dc6b3731f7a4f9f3e183b8bc55833bb6d7671393aa78caa3238671b8fe gcc-10.5.0_0.tar.bz2
519cb272f4e819024c788b38963cf6d98b3b96c6c343ddb2e4b6d12aebb50b39 gcc-15.2.0_0.tar.bz2
d34de902de6de9204abedb834c4c39fbb95b993e545fbb090de2b028fa1d4a61 gcc-4.0.4_0.tar.bz2
2f13b3306832d882536c97d0302f2ec1801193086dbbe62388f930858e5728a3 gcc-4.0.4_1.tar.bz2
931f105104b446dff5be30927e6e98d798844e6cd446b246f30def11984a9587 gcc-4.7.4_0.tar.bz2
38b015fe07ed755377b78f8ac8815d8bb57fa8c79293110522231250a6ad8a6f gettext-0.26_0.tar.bz2
96f33b53c24f5f46a23c2b9eef8147e684c796889a83bdd39254a73393594a49 gmp-6.2.1_0.tar.bz2
8fb02e7145c2befab10bace272ef3004700b6ef0ef58d3573bd69de25e0c9e1b gperf-3.1_0.tar.bz2
f06593eb6343d5af77c82c0c8cc15efa08b491b0cc04ebb1030cdc459f9e8903 gperf-3.3_0.tar.bz2
c1989fc2855dbb0350c4e5b677028306614a9f4b5cb6c01fd459c5e1abf592b9 grep-2.4_0.tar.bz2
3f3247c7d05fcef0d9f624a523afa01257207584045eb7efb7fb8f29fc782c7a grep-3.7_0.tar.bz2
d7a28778c1199604ba7af0e706c56c65fa345cae7e80646956f1be71ae30b448 grub-2.06_0.tar.bz2
Expand Down
21 changes: 21 additions & 0 deletions steps/autogen-5.18.16/files/gperf-3.3.patch
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
SPDX-FileCopyrightText: Samuel Tyler <samuel@samuelt.me>

SPDX-License-Identifier: GPL-3.0-or-later

In gperf 3.3, a new set of #if .. #elif .. #endif is added. Obviously
this sed then breaks the C preprocessor.

It turns out these are unnecessary.

--- a/autoopts/tpl/str2enum.tpl 2026-01-13 19:48:05.623459591 +1100
+++ b/autoopts/tpl/str2enum.tpl 2026-01-13 19:47:41.613458157 +1100
@@ -811,9 +811,6 @@
-e '/GNUC_.*_INLINE/d' \
-e '/__attribute__.*inline/d' \
-e '/^#if.*== *32/,/^#endif/d' \
- -e '/^#ifdef/d' \
- -e '/^#else/d' \
- -e '/^#endif$/d' \
-e '/key = [=(. base-type-name)=]_hash/s/key = /key = (int)/' \
-e 's/^\(const [=(. base-type-name)=]_map_t\)/static inline \1/' \
> baseline
11 changes: 7 additions & 4 deletions steps/autogen-5.18.16/pass1.sh
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,8 @@
noextract="autogen-5.18.16.tar.xz"

src_prepare() {
default

mkdir build
mv ../autogen-5.18.16 build/src
mv ../autogen-5.18.16.tar.xz build/
Expand All @@ -25,6 +27,7 @@ src_compile() {

SKIP_MAIN=1 . ./bootstrap_tarball.sh
prepare_tarball
patch -Np1 -i ../../gperf-3.3.patch -d build/autogen-5.18.16
bootstrap_columns
bootstrap_getdefs
bootstrap_autogen
Expand All @@ -42,10 +45,10 @@ src_compile() {
SOURCE_DIR="$PWD" ./config/bootstrap
# Specify timeout to avoid non-reproducibility
CPPFLAGS=-D_LARGEFILE64_SOURCE=1 ./configure \
--prefix="${FINALPREFIX}" \
--libdir="${FINALPREFIX}/lib/${TARGET}" \
--disable-shared \
--enable-timeout=15
--prefix="${FINALPREFIX}" \
--libdir="${FINALPREFIX}/lib/${TARGET}" \
--disable-shared \
--enable-timeout=15
touch doc/agdoc.texi # build later
make -j1 CFLAGS=-Wno-error

Expand Down
1 change: 0 additions & 1 deletion steps/gperf-3.1/sources

This file was deleted.

18 changes: 10 additions & 8 deletions steps/gperf-3.1/pass1.sh → steps/gperf-3.3/pass1.sh
Original file line number Diff line number Diff line change
Expand Up @@ -3,15 +3,17 @@
# SPDX-License-Identifier: GPL-3.0-or-later

src_prepare() {
find . -name '*.info*' -delete -exec touch {} +
default

for d in doc tests lib src; do
cd $d
ln -s ../aclocal.m4 aclocal.m4
autoreconf-2.71 -fi
cd ..
done
autoreconf-2.71 -fi
rm doc/gperf.{1,dvi,info,pdf,ps} doc/*.html
touch doc/gperf.info doc/gperf.pdf

# Useless tests things
rm tests/*.exp tests/{languages,charsets}.gperf tests/lang-ucs2.in

GNULIB_SRCDIR=$(realpath ../gnulib-b08ee1d) \
AUTOCONF=autoconf-2.71 \
./autogen.sh
}

src_configure() {
Expand Down
19 changes: 19 additions & 0 deletions steps/gperf-3.3/patches/reproducible-docs.patch
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
SPDX-FileCopyrightText: 2026 Samuel Tyler <samuel@samuelt.me>

SPDX-License-Identifier: GPL-3.0-or-later

Make output of the vendored texi2html reproducible.

--- gperf-3.3/doc/texi2html 2026-01-15 21:18:39.886947132 +1100
+++ gperf-3.3/doc/texi2html 2026-01-15 21:22:28.937926499 +1100
@@ -1842,7 +1842,9 @@

@MoY = ('January', 'February', 'March', 'April', 'May', 'June',
'July', 'August', 'September', 'October', 'November', 'December');
- ($sec, $min, $hour, $mday, $mon, $year, $wday, $yday, $isdst) = localtime(time);
+ ($sec, $min, $hour, $mday, $mon, $year, $wday, $yday, $isdst) = defined($ENV{SOURCE_DATE_EPOCH}) ?
+ gmtime($ENV{SOURCE_DATE_EPOCH}) :
+ localtime(time);
$year += ($year < 70) ? 2000 : 1900;
return("$mday $MoY[$mon] $year");
}
2 changes: 2 additions & 0 deletions steps/gperf-3.3/sources
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
f https://mirrors.kernel.org/gnu/gperf/gperf-3.3.tar.gz fd87e0aba7e43ae054837afd6cd4db03a3f2693deb3619085e6ed9d8d9604ad8
g https://https.git.savannah.gnu.org/git/gnulib.git~b08ee1d _ b2f5ee417643f729b6c679fbc0c3cd5e448fa17d2b0a9fd612a8e203573a8757 gnulib-b08ee1d.tar.gz
2 changes: 1 addition & 1 deletion steps/manifest
Original file line number Diff line number Diff line change
Expand Up @@ -197,7 +197,7 @@ build: python-2.0.1
build: python-2.0.1
build: python-2.3.7
build: python-2.3.7
build: gperf-3.1
build: gperf-3.3
build: gettext-0.26
build: texinfo-6.7
build: libunistring-0.9.10
Expand Down