autogen: build with gperf 3.3

This commit is contained in:
Samuel Tyler 2026-01-13 20:59:40 +11:00
parent e4689a9467
commit 35a83169cc
No known key found for this signature in database
GPG key ID: EB5091A5C77E8DC4
3 changed files with 29 additions and 5 deletions

View file

@ -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

View file

@ -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