From 35a83169cc6cbeb7e799eb16eee51fe3ccec7cc4 Mon Sep 17 00:00:00 2001 From: Samuel Tyler Date: Tue, 13 Jan 2026 20:59:40 +1100 Subject: [PATCH] autogen: build with gperf 3.3 --- steps/SHA256SUMS.pkgs | 2 +- steps/autogen-5.18.16/files/gperf-3.3.patch | 21 +++++++++++++++++++++ steps/autogen-5.18.16/pass1.sh | 11 +++++++---- 3 files changed, 29 insertions(+), 5 deletions(-) create mode 100644 steps/autogen-5.18.16/files/gperf-3.3.patch diff --git a/steps/SHA256SUMS.pkgs b/steps/SHA256SUMS.pkgs index 91c61ab0..e602eb83 100644 --- a/steps/SHA256SUMS.pkgs +++ b/steps/SHA256SUMS.pkgs @@ -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 diff --git a/steps/autogen-5.18.16/files/gperf-3.3.patch b/steps/autogen-5.18.16/files/gperf-3.3.patch new file mode 100644 index 00000000..dbf08702 --- /dev/null +++ b/steps/autogen-5.18.16/files/gperf-3.3.patch @@ -0,0 +1,21 @@ +SPDX-FileCopyrightText: Samuel Tyler + +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 diff --git a/steps/autogen-5.18.16/pass1.sh b/steps/autogen-5.18.16/pass1.sh index afa269fa..f7b68b2d 100755 --- a/steps/autogen-5.18.16/pass1.sh +++ b/steps/autogen-5.18.16/pass1.sh @@ -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/ @@ -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 @@ -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