diff --git a/steps/SHA256SUMS.pkgs b/steps/SHA256SUMS.pkgs index e405df6b..e9e0ea7a 100644 --- a/steps/SHA256SUMS.pkgs +++ b/steps/SHA256SUMS.pkgs @@ -32,6 +32,7 @@ f7437edc081071cc3ecd3384abf4c63f33183858b8cae6b4ac3105c66f88b3b6 bison-3.4.1_1. 1d34d1576c5cf61c84929d212594e4187029339a5d37cbe0a69d73d6b2a29604 bison-3.4.2_0.tar.bz2 627b1e4b5dfb9b11fcfe1426415f1596af8bd2cb98402e8a88f66caa289efc25 bison-3.6.4_0.tar.bz2 17623e8ee72a105f6a70ce48d6a33818fc00b3fe18f11f2f424ed163f3fc4292 bison-3.7.6_0.tar.bz2 +be5ed9060623c2de17b3c338f02be236c0b62c506928c8d371dcc10bf4256da6 bison-3.8.2_0.tar.bz2 e8271c1213b6cc7c9ae2ddb018cd093cbbd5f6e842548c0747ce95b13b6b9447 bzip2-1.0.8_0.tar.bz2 fd65c11422588984bc3a440b1fd9d022307a200de182cfedfe3387a09cbece98 ca-certificates-3.99_0.tar.bz2 982a3496ce3277c562acc896ba796939fe55a37432b2c76ab16b76e051a045a2 coreutils-5.0_0.tar.bz2 diff --git a/steps/bison-3.8.2/import-gnulib.sh b/steps/bison-3.8.2/import-gnulib.sh new file mode 100755 index 00000000..30998571 --- /dev/null +++ b/steps/bison-3.8.2/import-gnulib.sh @@ -0,0 +1,107 @@ +#!/bin/bash + +# SPDX-FileCopyrightText: 2021 Samuel Tyler +# +# SPDX-License-Identifier: GPL-3.0-or-later + +../gnulib-7818455/gnulib-tool --import --local-dir=gl \ + --lib=libbison \ + --source-base=lib \ + --m4-base=m4 \ + --po-base=gnulib-po \ + --doc-base=doc \ + --tests-base=tests \ + --aux-dir=build-aux \ + --makefile-name=gnulib.mk \ + --conditional-dependencies \ + --no-libtool \ + --macro-prefix=gl \ + --po-domain=bison \ + argmatch \ + array-list \ + assert \ + assure \ + attribute \ + bitsetv \ + c-strcase \ + calloc-posix \ + close \ + closeout \ + config-h \ + configmake \ + dirname \ + error \ + execute \ + extensions \ + fdl \ + fopen-safer \ + fprintf-posix \ + fstrcmp \ + getopt-gnu \ + gettext-h \ + git-version-gen \ + gitlog-to-changelog \ + gpl-3.0 \ + hash-map \ + intprops \ + inttypes \ + isnan \ + javacomp-script \ + javaexec-script \ + ldexpl \ + libtextstyle-optional \ + linked-list \ + malloc-gnu \ + mbfile \ + mbswidth \ + non-recursive-gnulib-prefix-hack \ + obstack \ + obstack-printf \ + perror \ + printf-posix \ + progname \ + quote \ + quotearg \ + rbtreehash-list \ + readline \ + readme-release \ + realloc-posix \ + relocatable-prog \ + relocatable-script \ + rename \ + snprintf-posix \ + spawn-pipe \ + sprintf-posix \ + stdbool \ + stpcpy \ + stpncpy \ + strdup-posix \ + strerror \ + strtod \ + strverscmp \ + sys_ioctl \ + termios \ + timevar \ + unicodeio \ + unistd \ + unistd-safer \ + unlink \ + unlocked-io \ + unsetenv \ + update-copyright \ + verify \ + vsnprintf-posix \ + vsprintf-posix \ + warnings \ + winsz-ioctl \ + winsz-termios \ + xalloc \ + xalloc-die \ + xconcat-filename \ + xhash \ + xlist \ + xmap \ + xmemdup0 \ + xstrndup + +build-aux/prefix-gnulib-mk --lib-name=libbison lib/gnulib.mk diff --git a/steps/bison-3.8.2/pass1.sh b/steps/bison-3.8.2/pass1.sh new file mode 100755 index 00000000..45e012db --- /dev/null +++ b/steps/bison-3.8.2/pass1.sh @@ -0,0 +1,44 @@ +# SPDX-FileCopyrightText: 2021-22 Samuel Tyler +# SPDX-FileCopyrightText: 2022 Andrius Štikonas +# +# SPDX-License-Identifier: GPL-3.0-or-later + +src_prepare() { + default + + # Remove pre-generated flex/bison files + rm src/parse-gram.c src/parse-gram.h + rm src/scan-code.c + rm src/scan-gram.c + rm src/scan-skel.c + + # Remove pregenerated info files + rm doc/bison.info* + + # Remove gettext files + rm runtime-po/*.gmo + + # pregenerated gperf files + for f in lib/iconv_open-*.h; do + rm "$f" + touch "$f" + done + + ../../import-gnulib.sh + + AUTOPOINT=true AUTOMAKE=automake-1.15 ACLOCAL=aclocal-1.15 autoreconf-2.71 -fi +} + +src_configure() { + ./configure --prefix="${PREFIX}" \ + --libdir="${LIBDIR}" \ + --disable-nls +} + +src_compile() { + make -j1 MAKEINFO=true +} + +src_install() { + make MAKEINFO=true DESTDIR="${DESTDIR}" install +} diff --git a/steps/bison-3.8.2/patches/defines-header.patch b/steps/bison-3.8.2/patches/defines-header.patch new file mode 100644 index 00000000..c949805b --- /dev/null +++ b/steps/bison-3.8.2/patches/defines-header.patch @@ -0,0 +1,19 @@ +SPDX-FileCopyrightText: 2025 Samuel Tyler + +SPDX-License-Identifier: GPL-3.0-or-later + +Change %header to %defines, this was renamed in development cycle for 3.8. + +diff --git bison-3.8.2/src/parse-gram.y bison-3.8.2/src/parse-gram.y +index 96e95ed1..10240483 100644 +--- bison-3.8.2/src/parse-gram.y ++++ bison-3.8.2/src/parse-gram.y +@@ -152,7 +152,7 @@ + %define parse.error custom + %define parse.lac full + %define parse.trace +-%header ++%defines + %expect 0 + %verbose + diff --git a/steps/bison-3.8.2/patches/our-bison.patch b/steps/bison-3.8.2/patches/our-bison.patch new file mode 100644 index 00000000..9b4c54cc --- /dev/null +++ b/steps/bison-3.8.2/patches/our-bison.patch @@ -0,0 +1,18 @@ +SPDX-FileCopyrightText: 2021 Samuel Tyler + +SPDX-License-Identifier: GPL-3.0-or-later + +Why do they insist on using themselves to bootstrap themselves? It doesn't +exist... + +--- bison-3.8.2/Makefile.am 2021-04-15 21:29:36.596205032 +1000 ++++ bison-3.8.2/Makefile.am 2021-04-15 21:30:00.367365897 +1000 +@@ -39,7 +39,7 @@ + ## Running the bison from this tarball. To generate our own parser, + ## but also to run the tests. Of course, you ought to keep a sane + ## version of Bison nearby... +-BISON = $(top_builddir)/tests/bison ++BISON = /usr/bin/bison + BISON_IN = $(top_srcdir)/tests/bison.in + YACC = $(BISON) -o y.tab.c + AM_YFLAGS_WITH_LINES = --defines -Werror -Wall --report=all diff --git a/steps/bison-3.8.2/patches/po-files.patch b/steps/bison-3.8.2/patches/po-files.patch new file mode 100644 index 00000000..b7af9904 --- /dev/null +++ b/steps/bison-3.8.2/patches/po-files.patch @@ -0,0 +1,25 @@ +SPDX-FileCopyrightText: 2025 Samuel Tyler + +SPDX-License-Identifier: GPL-3.0-or-later + +Can't fetch PO files, no network access. + +--- gnulib-7818455/gnulib-tool 2025-12-15 21:17:35.808587084 +1100 ++++ gnulib-7818455/gnulib-tool 2025-12-15 21:17:55.399588744 +1100 +@@ -5598,16 +5598,6 @@ + fi + func_append added_files "$pobase/POTFILES.in$nl" + fi +- # Fetch PO files. +- TP_URL="https://translationproject.org/latest/" +- if $doit; then +- echo "Fetching gnulib PO files from $TP_URL" +- (cd "$destdir"/$pobase \ +- && wget --no-verbose --mirror --level=1 -nd -A.po -P . "${TP_URL}gnulib/" +- ) +- else +- echo "Fetch gnulib PO files from $TP_URL" +- fi + # Create po/LINGUAS. + if $doit; then + func_dest_tmpfilename $pobase/LINGUAS diff --git a/steps/bison-3.8.2/sources b/steps/bison-3.8.2/sources new file mode 100644 index 00000000..c4795e2b --- /dev/null +++ b/steps/bison-3.8.2/sources @@ -0,0 +1,2 @@ +f http://mirrors.kernel.org/gnu/bison/bison-3.8.2.tar.xz 9bba0214ccf7f1079c5d59210045227bcf619519840ebfa80cd3849cff5a5bf2 +g https://https.git.savannah.gnu.org/git/gnulib.git~7818455 _ 0e08a32ce38456238485cfefee0b8d0c43081c01c8e92a1d5e1e16002e4c6bcc gnulib-7818455.tar.gz diff --git a/steps/manifest b/steps/manifest index 98ef9f77..7a02f155 100644 --- a/steps/manifest +++ b/steps/manifest @@ -174,6 +174,7 @@ build: automake-1.16.3 build: autoconf-2.71 build: bison-3.6.4 build: bison-3.7.6 +build: bison-3.8.2 build: perl-Devel-Tokenizer-C-0.11 build: perl-5.22.4 build: perl-Devel-Tokenizer-C-0.11