From 83dae02dbf43ae560200bcb32f09898385656f8f Mon Sep 17 00:00:00 2001 From: Samuel Tyler Date: Mon, 29 Dec 2025 21:50:02 +1100 Subject: [PATCH 1/4] Support gitlab --- mirror.sh | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/mirror.sh b/mirror.sh index 41df934d..65a20f13 100755 --- a/mirror.sh +++ b/mirror.sh @@ -156,7 +156,8 @@ do_file() { prefix_ref=${reference} # All git repositories we already use remove "v"s from the beginning # of branch/tag names in the tarball prefix - if echo "${reference}" | grep -Eq "^v[0-9]"; then + # except for gitlab + if echo "${reference}" | grep -Eq "^v[0-9]" | grep -vq gitlab; then prefix_ref=$(echo "${reference}" | sed "s/^v//") fi prefix=$(basename "${repo}" | sed "s/.git$//")-${prefix_ref} From cf611391266339b6d539cc3a72f7511b2a110c77 Mon Sep 17 00:00:00 2001 From: Samuel Tyler Date: Wed, 31 Dec 2025 17:13:23 +1100 Subject: [PATCH 2/4] Move some things around for the sake of gettext Gettext needs - gperf - python 2.3+ to regenerate files --- parts.rst | 117 ++++++++++++++++++----------------- steps/SHA256SUMS.pkgs | 8 +-- steps/binutils-2.41/pass1.sh | 4 +- steps/gcc-4.7.4/pass1.sh | 1 - steps/gperf-3.1/pass1.sh | 10 ++- steps/manifest | 12 ++-- 6 files changed, 81 insertions(+), 71 deletions(-) diff --git a/parts.rst b/parts.rst index d4555bcf..d93024ee 100644 --- a/parts.rst +++ b/parts.rst @@ -1074,18 +1074,6 @@ patch 2.7.6 Our old patch was built with manual makefile and used mes libc. This is a newer version which we need in order to import gnulib into gettext. -gettext 0.21 -============ - -GNU Gettext is an internationalization and localization system used for writing -multilingual programs. - -texinfo 6.7 -=========== - -Texinfo is a typesetting syntax used for generating documentation. We can now use -``makeinfo`` script to convert ``.texi`` files into ``.info`` documentation format. - gcc 4.7.4 ========= @@ -1104,6 +1092,65 @@ This version of binutils provides a more comprehensive set of programming tools creating and managing binary programs. It also includes modern versions of the ``ld`` linker, the ``as`` assembler and the ``ar`` program. +musl 1.2.5 +========== + +With GCC and binutils supporting a musl-based toolchain natively, musl itself is rebuilt +with support for dynamic linking. + +python 2.0.1 +============ + +Everything is in place to bootstrap the useful programming language/utility +Python. While Python is largely written in C, many parts of the codebase are +generated from Python scripts, which only increases as Python matured over time. + +We begin with Python 2.0.1, which has minimal generated code, most of which can +be removed. Lib/{keyword,token,symbol} scripts are rewritten in C and used to +regenerate parts of the standard library. Unicode support and sre (regex) +support is stripped out. + +Using the stripped-down first version of Python 2.0.1, Python 2.0.1 is rebuilt, +including Unicode and regex support (required for future Python builds). The +first version is insufficient to run the Lib/{keyword,token,symbol} scripts, so +those continue to use the C versions. + +Precompiled Python code at this point is highly unreproducible, so it is +deleted (JIT compiled instead). This makes Python itself slower, but this is of +little consequence. + +python 2.3.7 +============ + +Python 2.0.1 is sufficient to build Python 2.3.7. + +Differences to 2.0.1: + +* The new "ast" module, performing parsing of Python, is generated from a + parsing specification using Python code. +* 2.0.1 is insufficient to run 2.3.7's unicode regeneration, so Unicode + support is again stripped out. + +Python 2.3.7 is then rebuilt to include Unicode support. + +gperf 3.1 +========= + +``gperf`` is a perfect hash function generator (hash function is injective). + +gettext 0.21 +============ + +GNU Gettext is an internationalization and localization system used for writing +multilingual programs. Now that we have Python 2.3 and gperf, we can regenerate +all the pregenerated files in Gettext and so build it. + +texinfo 6.7 +=========== + +Texinfo is a typesetting syntax used for generating documentation. We can now use +``makeinfo`` script to convert ``.texi`` files into ``.info`` documentation format. + perl 5.15.7 =========== @@ -1209,11 +1256,6 @@ perl 5.42.0 5.42 is the latest version of Perl! The Perl bootstrap is complete. -gperf 3.1 -========= - -``gperf`` is a perfect hash function generator (hash function is injective). - libunistring 0.9.10 =================== @@ -1279,47 +1321,6 @@ We use the `gnu-autogen-bootstrapping Date: Mon, 29 Dec 2025 21:50:45 +1100 Subject: [PATCH 3/4] Update to gettext 0.26 gettext: Update to 0.26 + regenerate pregened files A lot of silly pregenerated files in this one, and very slow too :( --- parts.rst | 2 +- steps/gettext-0.21/pass1.sh | 35 -- steps/gettext-0.21/sources | 2 - .../files/post-global-regen.patch | 398 ++++++++++++++++++ steps/gettext-0.26/pass1.sh | 147 +++++++ steps/gettext-0.26/patches/build_glob.patch | 36 ++ steps/gettext-0.26/sources | 21 + steps/manifest | 9 +- 8 files changed, 609 insertions(+), 41 deletions(-) delete mode 100755 steps/gettext-0.21/pass1.sh delete mode 100644 steps/gettext-0.21/sources create mode 100644 steps/gettext-0.26/files/post-global-regen.patch create mode 100755 steps/gettext-0.26/pass1.sh create mode 100644 steps/gettext-0.26/patches/build_glob.patch create mode 100644 steps/gettext-0.26/sources diff --git a/parts.rst b/parts.rst index d93024ee..c079e0b1 100644 --- a/parts.rst +++ b/parts.rst @@ -1138,7 +1138,7 @@ gperf 3.1 ``gperf`` is a perfect hash function generator (hash function is injective). -gettext 0.21 +gettext 0.26 ============ GNU Gettext is an internationalization and localization system used for writing diff --git a/steps/gettext-0.21/pass1.sh b/steps/gettext-0.21/pass1.sh deleted file mode 100755 index 471b17f7..00000000 --- a/steps/gettext-0.21/pass1.sh +++ /dev/null @@ -1,35 +0,0 @@ -# SPDX-FileCopyrightText: 2021-22 Samuel Tyler -# SPDX-FileCopyrightText: 2021 Andrius Štikonas -# -# SPDX-License-Identifier: GPL-3.0-or-later - -src_prepare() { - find . -name '*.info*' -delete - find . -name '*.gmo' -delete - - # bison - rm gettext-runtime/intl/plural.c gettext-tools/src/{po-gram-gen,cldr-plural}.{c,h} - GNULIB_SRCDIR=$(realpath ../gnulib-7daa86f) ./autogen.sh - - # Precompiled Java class - rm gettext-tools/gnulib-lib/javaversion.class - touch gettext-tools/gnulib-lib/javaversion.class -} - -src_configure() { - INTLBISON=bison-3.6 \ - TOOLS_BISON=bison-3.6 \ - ./configure --prefix="${PREFIX}" \ - --libdir="${LIBDIR}" \ - --enable-static \ - --disable-shared \ - --disable-java -} - -src_compile() { - make "${MAKEJOBS}" MAKEINFO=true CFLAGS="-I${PWD}/libtextstyle/lib" -} - -src_install() { - make MAKEINFO=true DESTDIR="${DESTDIR}" install -} diff --git a/steps/gettext-0.21/sources b/steps/gettext-0.21/sources deleted file mode 100644 index a1580e8d..00000000 --- a/steps/gettext-0.21/sources +++ /dev/null @@ -1,2 +0,0 @@ -f https://mirrors.kernel.org/gnu/gettext/gettext-0.21.tar.xz d20fcbb537e02dcf1383197ba05bd0734ef7bf5db06bdb241eb69b7d16b73192 -g https://https.git.savannah.gnu.org/git/gnulib.git~7daa86f _ 2d911c2f2ed97b347d6d360b742abdc98aa626d4f8f847ee682c7cde12e90871 gnulib-7daa86f.tar.gz diff --git a/steps/gettext-0.26/files/post-global-regen.patch b/steps/gettext-0.26/files/post-global-regen.patch new file mode 100644 index 00000000..409a37a3 --- /dev/null +++ b/steps/gettext-0.26/files/post-global-regen.patch @@ -0,0 +1,398 @@ +SPDX-FileCopyrightText: 2019 Bruno Haible + +SPDX-License-Identifier: GPL-3.0-or-later + +This is the set of differences between the generated file and hand +modifications made for the file in gettext. + +Applied after the regenerations occur. + +--- a/include/libxml/globals.h 2025-12-31 10:27:50.432552177 +1100 ++++ b/include/libxml/globals.h 2019-12-23 22:21:12.000000000 +1100 +@@ -62,6 +91,8 @@ + XMLPUBFUN xmlOutputBufferCreateFilenameFunc + XMLCALL xmlOutputBufferCreateFilenameDefault (xmlOutputBufferCreateFilenameFunc func); + ++#if !defined IN_LIBTEXTSTYLE ++ + /* + * Externally global symbols which need to be protected for backwards + * compatibility support. +@@ -101,6 +132,8 @@ + #undef xmlParserInputBufferCreateFilenameValue + #undef xmlOutputBufferCreateFilenameValue + ++#endif ++ + /** + * xmlRegisterNodeFunc: + * @node: the current node +--- a/globals.c 2025-12-31 10:42:52.577486689 +1100 ++++ b/globals.c 2019-12-23 22:21:12.000000000 +1100 +@@ -70,6 +99,8 @@ + * * + ************************************************************************/ + ++#if !defined IN_LIBTEXTSTYLE ++ + /* + * Memory allocation routines + */ +@@ -79,6 +110,8 @@ + #undef xmlMemStrdup + #undef xmlRealloc + ++#endif ++ + #if defined(DEBUG_MEMORY_LOCATION) || defined(DEBUG_MEMORY) + xmlFreeFunc xmlFree = (xmlFreeFunc) xmlMemFree; + xmlMallocFunc xmlMalloc = (xmlMallocFunc) xmlMemMalloc; +@@ -150,6 +183,8 @@ + #include + #include + ++#if !defined IN_LIBTEXTSTYLE ++ + #undef docbDefaultSAXHandler + #undef htmlDefaultSAXHandler + #undef oldXMLWDcompatibility +@@ -179,6 +214,9 @@ + + #undef xmlParserInputBufferCreateFilenameValue + #undef xmlOutputBufferCreateFilenameValue ++ ++#endif ++ + /** + * xmlParserVersion: + * +@@ -702,7 +740,9 @@ + } + + #ifdef LIBXML_DOCB_ENABLED ++#if !defined IN_LIBTEXTSTYLE + #undef docbDefaultSAXHandler ++#endif + xmlSAXHandlerV1 * + __docbDefaultSAXHandler(void) { + if (IS_MAIN_THREAD) +@@ -713,7 +753,9 @@ + #endif + + #ifdef LIBXML_HTML_ENABLED ++#if !defined IN_LIBTEXTSTYLE + #undef htmlDefaultSAXHandler ++#endif + xmlSAXHandlerV1 * + __htmlDefaultSAXHandler(void) { + if (IS_MAIN_THREAD) +@@ -723,7 +765,9 @@ + } + #endif + ++#if !defined IN_LIBTEXTSTYLE + #undef xmlLastError ++#endif + xmlError * + __xmlLastError(void) { + if (IS_MAIN_THREAD) +@@ -738,7 +782,9 @@ + * the right place for them :-) + */ + #if defined(LIBXML_THREAD_ALLOC_ENABLED) && defined(LIBXML_THREAD_ENABLED) ++#if !defined IN_LIBTEXTSTYLE + #undef xmlMalloc ++#endif + xmlMallocFunc * + __xmlMalloc(void){ + if (IS_MAIN_THREAD) +@@ -747,7 +793,9 @@ + return (&xmlGetGlobalState()->xmlMalloc); + } + ++#if !defined IN_LIBTEXTSTYLE + #undef xmlMallocAtomic ++#endif + xmlMallocFunc * + __xmlMallocAtomic(void){ + if (IS_MAIN_THREAD) +@@ -756,7 +804,9 @@ + return (&xmlGetGlobalState()->xmlMallocAtomic); + } + ++#if !defined IN_LIBTEXTSTYLE + #undef xmlRealloc ++#endif + xmlReallocFunc * + __xmlRealloc(void){ + if (IS_MAIN_THREAD) +@@ -765,7 +815,9 @@ + return (&xmlGetGlobalState()->xmlRealloc); + } + ++#if !defined IN_LIBTEXTSTYLE + #undef xmlFree ++#endif + xmlFreeFunc * + __xmlFree(void){ + if (IS_MAIN_THREAD) +@@ -791,7 +843,9 @@ + */ + + ++#if !defined IN_LIBTEXTSTYLE + #undef oldXMLWDcompatibility ++#endif + int * + __oldXMLWDcompatibility(void) { + if (IS_MAIN_THREAD) +@@ -800,7 +854,9 @@ + return (&xmlGetGlobalState()->oldXMLWDcompatibility); + } + ++#if !defined IN_LIBTEXTSTYLE + #undef xmlBufferAllocScheme ++#endif + xmlBufferAllocationScheme * + __xmlBufferAllocScheme(void) { + if (IS_MAIN_THREAD) +@@ -817,7 +873,9 @@ + return ret; + } + ++#if !defined IN_LIBTEXTSTYLE + #undef xmlDefaultBufferSize ++#endif + int * + __xmlDefaultBufferSize(void) { + if (IS_MAIN_THREAD) +@@ -834,7 +892,10 @@ + return ret; + } + ++#ifdef LIBXML_SAX1_ENABLED ++#if !defined IN_LIBTEXTSTYLE + #undef xmlDefaultSAXHandler ++#endif + xmlSAXHandlerV1 * + __xmlDefaultSAXHandler(void) { + if (IS_MAIN_THREAD) +@@ -842,8 +903,11 @@ + else + return (&xmlGetGlobalState()->xmlDefaultSAXHandler); + } ++#endif /* LIBXML_SAX1_ENABLED */ + ++#if !defined IN_LIBTEXTSTYLE + #undef xmlDefaultSAXLocator ++#endif + xmlSAXLocator * + __xmlDefaultSAXLocator(void) { + if (IS_MAIN_THREAD) +@@ -852,7 +916,9 @@ + return (&xmlGetGlobalState()->xmlDefaultSAXLocator); + } + ++#if !defined IN_LIBTEXTSTYLE + #undef xmlDoValidityCheckingDefaultValue ++#endif + int * + __xmlDoValidityCheckingDefaultValue(void) { + if (IS_MAIN_THREAD) +@@ -869,7 +935,9 @@ + return ret; + } + ++#if !defined IN_LIBTEXTSTYLE + #undef xmlGenericError ++#endif + xmlGenericErrorFunc * + __xmlGenericError(void) { + if (IS_MAIN_THREAD) +@@ -878,7 +946,9 @@ + return (&xmlGetGlobalState()->xmlGenericError); + } + ++#if !defined IN_LIBTEXTSTYLE + #undef xmlStructuredError ++#endif + xmlStructuredErrorFunc * + __xmlStructuredError(void) { + if (IS_MAIN_THREAD) +@@ -887,7 +957,9 @@ + return (&xmlGetGlobalState()->xmlStructuredError); + } + ++#if !defined IN_LIBTEXTSTYLE + #undef xmlGenericErrorContext ++#endif + void * * + __xmlGenericErrorContext(void) { + if (IS_MAIN_THREAD) +@@ -896,7 +968,9 @@ + return (&xmlGetGlobalState()->xmlGenericErrorContext); + } + ++#if !defined IN_LIBTEXTSTYLE + #undef xmlStructuredErrorContext ++#endif + void * * + __xmlStructuredErrorContext(void) { + if (IS_MAIN_THREAD) +@@ -905,7 +979,9 @@ + return (&xmlGetGlobalState()->xmlStructuredErrorContext); + } + ++#if !defined IN_LIBTEXTSTYLE + #undef xmlGetWarningsDefaultValue ++#endif + int * + __xmlGetWarningsDefaultValue(void) { + if (IS_MAIN_THREAD) +@@ -922,7 +998,9 @@ + return ret; + } + ++#if !defined IN_LIBTEXTSTYLE + #undef xmlIndentTreeOutput ++#endif + int * + __xmlIndentTreeOutput(void) { + if (IS_MAIN_THREAD) +@@ -939,7 +1017,9 @@ + return ret; + } + ++#if !defined IN_LIBTEXTSTYLE + #undef xmlTreeIndentString ++#endif + const char * * + __xmlTreeIndentString(void) { + if (IS_MAIN_THREAD) +@@ -956,7 +1036,9 @@ + return ret; + } + ++#if !defined IN_LIBTEXTSTYLE + #undef xmlKeepBlanksDefaultValue ++#endif + int * + __xmlKeepBlanksDefaultValue(void) { + if (IS_MAIN_THREAD) +@@ -973,7 +1055,9 @@ + return ret; + } + ++#if !defined IN_LIBTEXTSTYLE + #undef xmlLineNumbersDefaultValue ++#endif + int * + __xmlLineNumbersDefaultValue(void) { + if (IS_MAIN_THREAD) +@@ -990,7 +1074,9 @@ + return ret; + } + ++#if !defined IN_LIBTEXTSTYLE + #undef xmlLoadExtDtdDefaultValue ++#endif + int * + __xmlLoadExtDtdDefaultValue(void) { + if (IS_MAIN_THREAD) +@@ -1007,7 +1093,9 @@ + return ret; + } + ++#if !defined IN_LIBTEXTSTYLE + #undef xmlParserDebugEntities ++#endif + int * + __xmlParserDebugEntities(void) { + if (IS_MAIN_THREAD) +@@ -1024,7 +1112,9 @@ + return ret; + } + ++#if !defined IN_LIBTEXTSTYLE + #undef xmlParserVersion ++#endif + const char * * + __xmlParserVersion(void) { + if (IS_MAIN_THREAD) +@@ -1033,7 +1123,9 @@ + return (&xmlGetGlobalState()->xmlParserVersion); + } + ++#if !defined IN_LIBTEXTSTYLE + #undef xmlPedanticParserDefaultValue ++#endif + int * + __xmlPedanticParserDefaultValue(void) { + if (IS_MAIN_THREAD) +@@ -1050,7 +1142,9 @@ + return ret; + } + ++#if !defined IN_LIBTEXTSTYLE + #undef xmlSaveNoEmptyTags ++#endif + int * + __xmlSaveNoEmptyTags(void) { + if (IS_MAIN_THREAD) +@@ -1067,7 +1161,9 @@ + return ret; + } + ++#if !defined IN_LIBTEXTSTYLE + #undef xmlSubstituteEntitiesDefaultValue ++#endif + int * + __xmlSubstituteEntitiesDefaultValue(void) { + if (IS_MAIN_THREAD) +@@ -1084,7 +1180,9 @@ + return ret; + } + ++#if !defined IN_LIBTEXTSTYLE + #undef xmlRegisterNodeDefaultValue ++#endif + xmlRegisterNodeFunc * + __xmlRegisterNodeDefaultValue(void) { + if (IS_MAIN_THREAD) +@@ -1093,7 +1191,9 @@ + return (&xmlGetGlobalState()->xmlRegisterNodeDefaultValue); + } + ++#if !defined IN_LIBTEXTSTYLE + #undef xmlDeregisterNodeDefaultValue ++#endif + xmlDeregisterNodeFunc * + __xmlDeregisterNodeDefaultValue(void) { + if (IS_MAIN_THREAD) +@@ -1102,7 +1202,9 @@ + return (&xmlGetGlobalState()->xmlDeregisterNodeDefaultValue); + } + ++#if !defined IN_LIBTEXTSTYLE + #undef xmlParserInputBufferCreateFilenameValue ++#endif + xmlParserInputBufferCreateFilenameFunc * + __xmlParserInputBufferCreateFilenameValue(void) { + if (IS_MAIN_THREAD) +@@ -1111,7 +1213,9 @@ + return (&xmlGetGlobalState()->xmlParserInputBufferCreateFilenameValue); + } + ++#if !defined IN_LIBTEXTSTYLE + #undef xmlOutputBufferCreateFilenameValue ++#endif + xmlOutputBufferCreateFilenameFunc * + __xmlOutputBufferCreateFilenameValue(void) { + if (IS_MAIN_THREAD) +@@ -1119,3 +1223,6 @@ + else + return (&xmlGetGlobalState()->xmlOutputBufferCreateFilenameValue); + } ++ ++#define bottom_globals ++#include "elfgcchack.h" diff --git a/steps/gettext-0.26/pass1.sh b/steps/gettext-0.26/pass1.sh new file mode 100755 index 00000000..98ed3152 --- /dev/null +++ b/steps/gettext-0.26/pass1.sh @@ -0,0 +1,147 @@ +# SPDX-FileCopyrightText: 2021-22 Samuel Tyler +# SPDX-FileCopyrightText: 2021 Andrius Štikonas +# +# SPDX-License-Identifier: GPL-3.0-or-later + +src_prepare() { + default + + find . \( -name '*.info*' \ + -o -name '*.gmo' \ + -o -name '*.mo' \) -delete + find . \( -name '*.html*' -o -name '*.1*' \) \ + -not -path "./gettext-runtime/intl-csharp/doc/*" \ + -not -path "./gettext-tools/doc/tutorial.html" \ + -not -path "./gettext-tools/doc/FAQ.html" \ + -delete \ + -exec touch {} + + + # bison + rm gettext-runtime/intl/plural.{c,h} \ + gettext-tools/src/{read-po-gram,cldr-plural}.{c,h} + + # Misc files + find . -name "*.class" -delete -exec touch {} + + touch gettext-tools/gnulib-lib/javaversion.class + rm gettext-tools/m4/csharpexec-test.exe + touch gettext-tools/m4/csharpexec-test.exe + rm -r gettext-tools/tests/testdata/repo.tar.gz \ + gettext-tools/tests/testdata/dprog.*.d \ + gettext-tools/tests/mm-viet.comp.po \ + gettext-tools/tests/qttest*.qm \ + libtextstyle/{,gnulib-local}/tests/test-term-ostream-xterm-xf86-v32.out + touch libtextstyle/{,gnulib-local}/tests/test-term-ostream-xterm-xf86-v32.out + + # gnulib-local/lib/libxml + local libxml2 + libxml2=$(realpath ../libxml2-v2.9.9) + mv post-global-regen.patch "$libxml2" + pushd "$libxml2" + for i in include/libxml/globals.h globals.c; do + sed "/Everything starting from the line below/q" $i > $i.top + mv $i.top $i + done + rm include/libxml/xmlunicode.h xmlunicode.c \ + include/libxml/chvalid.h chvalid.c + mv ../*-4.0.1.txt . + python2.3 genUnicode.py + python2.3 genChRanges.py + python2.3 build_glob.py + patch -Np1 -i post-global-regen.patch + popd + + pushd gnulib-local/lib/libxml + for f in xmlunicode chvalid globals; do + cp "$libxml2/$f.c" "$f.c" + cp "$libxml2/include/libxml/$f.h" "$f.in.h" + done + popd + + # Regenerate gnulib files + rm {gettext-runtime,gettext-runtime/intl,gettext-runtime/libasprintf,gettext-tools}/gnulib-lib/uniwidth/width*.h \ + {gettext-runtime,gettext-runtime/intl,gettext-runtime/libasprintf,gettext-tools}/gnulib-lib/unictype/ctype*.h \ + {gettext-runtime,gettext-runtime/intl,gettext-runtime/libasprintf,gettext-tools}/gnulib-lib/unicase/tolower.h \ + gettext-tools/libgettextpo/uniwidth/width*.h \ + gettext-tools/libgettextpo/unictype/ctype*.h \ + gettext-tools/libgettextpo/unicase/tolower.h \ + gettext-tools/gnulib-lib/unicase/{tocasefold,ignorable,cased}.h \ + gettext-tools/gnulib-lib/unicase/special-casing-table.* \ + gettext-tools/gnulib-lib/unictype/combiningclass.h \ + gettext-tools/{gnulib-lib,libgettextpo}/unictype/pr_*.h \ + gettext-tools/{gnulib-lib,libgettextpo}/unilbrk/{lbrktables.c,lbrkprop*.h} \ + gettext-tools/gnulib-lib/uniname/{uninames.h,gen-uninames.lisp} \ + gettext-tools/gnulib-lib/uninorm/{de,}composition-table* \ + gettext-tools/gnulib-tests/unicase/test-{uc_tolower,ignorable,cased}.c \ + gettext-tools/gnulib-tests/unictype/test-{ctype,pr,sy}_*.c + rm libtextstyle/lib/uniwidth/width*.h \ + libtextstyle/lib/unictype/ctype_*.h \ + libtextstyle/lib/unicase/tolower.h \ + libtextstyle/lib/*-ostream.{c,h} \ + libtextstyle/lib/*_ostream.* \ + libtextstyle/lib/ostream.{c,h,vt.h,priv.h} + rm -r gettext-tools/gnulib-lib/libxml libtextstyle/lib/libxml + + pushd ../gnulib-b5eb878 + rm lib/unictype/ctype*.h \ + lib/unicase/tolower.h \ + lib/uniwidth/width*.h + + pushd lib + gcc -Iunictype -o gen-uni-tables gen-uni-tables.c + mv ../../*-16.0.0.txt ../../PropList-3.0.1.txt . + ./gen-uni-tables UnicodeData-16.0.0.txt \ + PropList-16.0.0.txt \ + DerivedCoreProperties-16.0.0.txt \ + emoji-data-16.0.0.txt \ + ArabicShaping-16.0.0.txt \ + Scripts-16.0.0.txt \ + Blocks-16.0.0.txt \ + PropList-3.0.1.txt \ + BidiMirroring-16.0.0.txt \ + EastAsianWidth-16.0.0.txt \ + LineBreak-16.0.0.txt \ + WordBreakProperty-16.0.0.txt \ + GraphemeBreakProperty-16.0.0.txt \ + CompositionExclusions-16.0.0.txt \ + SpecialCasing-16.0.0.txt \ + CaseFolding-16.0.0.txt \ + 16.0.0 + popd + popd + + # gnulib + autotools + GNULIB_SRCDIR=$(realpath ../gnulib-b5eb878) ./autogen.sh + + # archive.dir.tar + local archive temp + archive="$(realpath gettext-tools/misc/archive.dir.tar)" + temp="$(mktemp -d)" + pushd "$temp" + tar -xf "$archive" + sed -i "s/%expect 10/%expect 7/" gettext-0.10.*/intl/plural.y + find . -path "*/intl/plural.c" | while read -r file; do + pushd "$(dirname "$file")" + rm plural.c + bison -o plural.c plural.y + popd + done + tar -cf "$archive" gettext-* + popd + rm -rf "$temp" +} + +src_configure() { + ./configure --prefix="${PREFIX}" \ + --libdir="${LIBDIR}" \ + --enable-static \ + --disable-shared \ + --disable-java +} + +src_compile() { + make "${MAKEJOBS}" MAKEINFO=true +} + +src_install() { + make MAKEINFO=true DESTDIR="${DESTDIR}" install +} diff --git a/steps/gettext-0.26/patches/build_glob.patch b/steps/gettext-0.26/patches/build_glob.patch new file mode 100644 index 00000000..6ca76a58 --- /dev/null +++ b/steps/gettext-0.26/patches/build_glob.patch @@ -0,0 +1,36 @@ +SPDX-FileCopyrightText: 2025 Samuel Tyler + +SPDX-License-Identifier: MIT + +For whatever reason, the regeneration script for globals.{c,h} does not match +what it should be. This is probably because the files were hand edited +afterward. We do the proper fix and update the generation script. + +--- libxml2-v2.9.9/build_glob.py 2019-01-04 05:14:17.000000000 +1100 ++++ libxml2-v2.9.9/build_glob.py 2025-12-31 10:30:55.384538752 +1100 +@@ -68,7 +68,7 @@ + fields = string.split(line, ",") + # Update the header file + writeline(global_functions_hdr) +- global_functions_hdr.write("extern "+fields[0]+" *") ++ global_functions_hdr.write("XMLPUBFUN "+fields[0]+" * XMLCALL ") + if fields[2]: + global_functions_hdr.write("(*") + global_functions_hdr.write("__"+fields[1]+"(void)") +@@ -80,13 +80,13 @@ + writeline(global_functions_hdr,"(*(__"+fields[1]+"()))") + writeline(global_functions_hdr,"#else") + if fields[2]: +- writeline(global_functions_hdr,"LIBXML_DLL_IMPORT extern "+fields[0]+" "+fields[1]+fields[2]+";") ++ writeline(global_functions_hdr,"XMLPUBVAR "+fields[0]+" "+fields[1]+fields[2]+";") + else: +- writeline(global_functions_hdr,"LIBXML_DLL_IMPORT extern "+fields[0]+" "+fields[1]+";") ++ writeline(global_functions_hdr,"XMLPUBVAR "+fields[0]+" "+fields[1]+";") + writeline(global_functions_hdr,"#endif") + # set/get for per-thread global defaults + if fields[3]: +- writeline(global_functions_hdr,fields[0]+" "+fields[1][:3]+"ThrDef"+fields[1][3:]+"("+fields[0]+" v);") ++ writeline(global_functions_hdr,"XMLPUBFUN "+fields[0]+" XMLCALL "+fields[1][:3]+"ThrDef"+fields[1][3:]+"("+fields[0]+" v);") + # Update the implementation file + writeline(global_functions_impl) + # writeline(global_functions_impl, "extern "+fields[0]+" "+fields[1]+";") diff --git a/steps/gettext-0.26/sources b/steps/gettext-0.26/sources new file mode 100644 index 00000000..09b246b8 --- /dev/null +++ b/steps/gettext-0.26/sources @@ -0,0 +1,21 @@ +f https://mirrors.kernel.org/gnu/gettext/gettext-0.26.tar.xz d1fb86e260cfe7da6031f94d2e44c0da55903dbae0a2fa0fae78c91ae1b56f00 +g https://https.git.savannah.gnu.org/git/gnulib.git~b5eb878 _ 02fa193c8b8242dcae324c9bb2d694633d891d32d50e5a8cf79f4053323aec70 gnulib-b5eb878.tar.gz +g https://gitlab.gnome.org/GNOME/libxml2.git~v2.9.9 https://gitlab.gnome.org/GNOME/libxml2/-/archive/v2.9.9/libxml2-v2.9.9.tar.gz d490df9133f8871d4678eb9e899313c3b238e455d45aaf64c9b10b76495b19e7 libxml2-v2.9.9.tar.gz +f http://ftp.unicode.org/Public/16.0.0/ucd/UnicodeData.txt ff58e5823bd095166564a006e47d111130813dcf8bf234ef79fa51a870edb48f UnicodeData-16.0.0.txt +f http://ftp.unicode.org/Public/16.0.0/ucd/PropList.txt 53d614508e2a0b2305a8aa21cd60d993de9326cdf65993660dfcce4503548583 PropList-16.0.0.txt +f http://ftp.unicode.org/Public/16.0.0/ucd/DerivedCoreProperties.txt 39d35161f2954497f69e08bdb9e701493f476a3d30222de20028feda36c1dabd DerivedCoreProperties-16.0.0.txt +f http://ftp.unicode.org/Public/16.0.0/ucd/emoji/emoji-data.txt f1365a5173eee18e1f98b240cdc492e84a25f1ce7e0c9d1094eb29c41a22696a emoji-data-16.0.0.txt +f http://ftp.unicode.org/Public/16.0.0/ucd/ArabicShaping.txt 764f420cedfc8b43d9fec251c957a5d55fc45d40f6573f162990ed1dce7e36e0 ArabicShaping-16.0.0.txt +f http://ftp.unicode.org/Public/16.0.0/ucd/Scripts.txt 9e88f0a677df47311106340be8ede2ecdacd9c1c931831218d2be6d5508e0039 Scripts-16.0.0.txt +f http://ftp.unicode.org/Public/16.0.0/ucd/Blocks.txt f3907b395d410f1b97342292ca6bc83dd12eb4b205f2a0c48efdef99e517d7b0 Blocks-16.0.0.txt +f http://ftp.unicode.org/Public/3.0-Update1/PropList-3.0.1.txt 909eef4adbeddbdddcd9487c856fe8cdbb8912aa8eb315ed7885b6ef65f4dc4c +f http://ftp.unicode.org/Public/16.0.0/ucd/BidiMirroring.txt d7afdadd1bbd66f5a663ac0e8f7958f18fd9491fc0bc59ec5877cb82db71db7d BidiMirroring-16.0.0.txt +f http://ftp.unicode.org/Public/16.0.0/ucd/EastAsianWidth.txt 43adc76c0686a42cb370764eb8cfe2b2a45b10b855e5572a2db4a0eecce15d5b EastAsianWidth-16.0.0.txt +f http://ftp.unicode.org/Public/16.0.0/ucd/LineBreak.txt e97e4259d0d20fab150b9c7b4b28abfae5cd78ca97e7f4ac6ed20d685d5f4a7c LineBreak-16.0.0.txt +f http://ftp.unicode.org/Public/16.0.0/ucd/auxiliary/WordBreakProperty.txt 476464e71a4b7b779b8ba7c5671f4338fea77da8e6b6b05fb82b3fdd14603779 WordBreakProperty-16.0.0.txt +f http://ftp.unicode.org/Public/16.0.0/ucd/auxiliary/GraphemeBreakProperty.txt c29360bd6f7132811d701d29069541e827eb44bfc4c8fbde8c370d6982689dc1 GraphemeBreakProperty-16.0.0.txt +f http://ftp.unicode.org/Public/16.0.0/ucd/CompositionExclusions.txt 89e83cf9cc8bef6c1f8bf77e42cf6f0341dfa42e66261f4dbe9b492e7a23c8ee CompositionExclusions-16.0.0.txt +f http://ftp.unicode.org/Public/16.0.0/ucd/SpecialCasing.txt 8d5de354eef79f2395a54c9c7dcebbaf3d30fc962d0f85611ea97aa973a0c451 SpecialCasing-16.0.0.txt +f http://ftp.unicode.org/Public/16.0.0/ucd/CaseFolding.txt 6f1f9c588eb4a5c718d9e8f93b782685e5c7fec872cf05e8e6878053599e09bb CaseFolding-16.0.0.txt +f http://ftp.unicode.org/Public/4.0-Update1/Blocks-4.0.1.txt c9dba71655b8787c381b3421ba2bf9a3df9e6168b5835f93fd3931c1eeff90cf Blocks-4.0.1.txt +f http://ftp.unicode.org/Public/4.0-Update1/UnicodeData-4.0.1.txt de54d68f2df927a20ea4a83dfd74a543ca7f3e3df2441576e7f6a185ec6fa217 UnicodeData-4.0.1.txt diff --git a/steps/manifest b/steps/manifest index faaf6d55..ec15ad16 100644 --- a/steps/manifest +++ b/steps/manifest @@ -190,8 +190,11 @@ build: openssl-3.6.0 build: ca-certificates-3.119.1 build: curl-8.17.0 build: patch-2.8 -build: gettext-0.21 -build: texinfo-6.7 +build: python-2.0.1 +build: python-2.0.1 +build: python-2.3.7 +build: python-2.3.7 +build: python-2.5.6 build: gcc-4.7.4 build: binutils-2.41 build: musl-1.2.5 @@ -200,7 +203,7 @@ build: python-2.0.1 build: python-2.3.7 build: python-2.3.7 build: gperf-3.1 -build: gettext-0.21 +build: gettext-0.26 build: texinfo-6.7 build: libunistring-0.9.10 build: libffi-3.3 From ef3bea2386664ba7c22167706d47932f44baf9d7 Mon Sep 17 00:00:00 2001 From: Samuel Tyler Date: Wed, 31 Dec 2025 19:45:10 +1100 Subject: [PATCH 4/4] Update checksums --- steps/SHA256SUMS.pkgs | 14 +++++++------- steps/manifest | 5 ----- 2 files changed, 7 insertions(+), 12 deletions(-) diff --git a/steps/SHA256SUMS.pkgs b/steps/SHA256SUMS.pkgs index 0242f8c3..91d6bd11 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 -df5afd05f14dcc23fba79c5fbfda9694f85e5eae10b842b5cc0b58f0dbac5153 autogen-5.18.16_0.tar.bz2 +8d0a3f35b7f67cfd5a5963ae08bf25282aed718466200f16c526b3c957385f5a 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 @@ -58,13 +58,13 @@ cb31f4298edf591b8c27ea76f35c5c97794629187f3e08169a8ef54cc738f2fb gcc-15.2.0_0.t d34de902de6de9204abedb834c4c39fbb95b993e545fbb090de2b028fa1d4a61 gcc-4.0.4_0.tar.bz2 2f13b3306832d882536c97d0302f2ec1801193086dbbe62388f930858e5728a3 gcc-4.0.4_1.tar.bz2 931f105104b446dff5be30927e6e98d798844e6cd446b246f30def11984a9587 gcc-4.7.4_0.tar.bz2 -21f97b2346b80ed82bf8cfb3d4f996763a9deb716797939ec4ce0b1439523776 gettext-0.26_0.tar.bz2 +5d8ad088f1a4fbd70545f777866c6c0b219fbfb425b82187e2705f365c1dd81f gettext-0.26_0.tar.bz2 96f33b53c24f5f46a23c2b9eef8147e684c796889a83bdd39254a73393594a49 gmp-6.2.1_0.tar.bz2 8fb02e7145c2befab10bace272ef3004700b6ef0ef58d3573bd69de25e0c9e1b gperf-3.1_0.tar.bz2 c1989fc2855dbb0350c4e5b677028306614a9f4b5cb6c01fd459c5e1abf592b9 grep-2.4_0.tar.bz2 -69a57d4a696f3559f821b50b9d5d4174e81801767ed8d0d00f1f3234e92ec251 grep-3.7_0.tar.bz2 +3f3247c7d05fcef0d9f624a523afa01257207584045eb7efb7fb8f29fc782c7a grep-3.7_0.tar.bz2 d7a28778c1199604ba7af0e706c56c65fa345cae7e80646956f1be71ae30b448 grub-2.06_0.tar.bz2 -9d6732935e6eb800b03f54c37e173d6a862fa1008aad51b7bf95fb6018599eb7 guile-3.0.9_0.tar.bz2 +16c4e88be3f88314205f0296e77a0e7c81026eccdc5764bd2b91dec4bfdcbca0 guile-3.0.9_0.tar.bz2 893bb26efb8b1789702b8fd1a3ed72951990c8e38ab650c5220992405e79b96e gzip-1.13_0.tar.bz2 f27e1eaafa7ab198d2ed549aecfd8a1205d960f59a509789a159997565abd6d4 heirloom-devtools-070527_0.tar.bz2 8d2015b87337abbf287f7a39ee4cf53514120b5d3e90a93fe7d533dcc43f14fa help2man-1.36.4_0.tar.bz2 @@ -78,7 +78,7 @@ de10b5b3d1b721c8d8365d524c13f524b2c9cb5eff1f891698b1aa4915a73092 libffi-3.3_0.t 9e1932db252894478dc98985f931312cbe5ee0eb40db251c75c79dd01294b15b libmd-1.1.0_0.tar.bz2 311cc3a5ad4126b030b32bc1e9e787bd55caa861626d210bab4eb81e50244125 libtool-2.2.4_0.tar.bz2 a9ddd248e490623caeb0380089d03bc638e78af5c4fb65426f3b7f73521af604 libtool-2.4.7_0.tar.bz2 -4f05d64d4504c03f13a3045f4db85c12bd456944bc9159f381b00fda4daced9d libunistring-0.9.10_0.tar.bz2 +dc71ee51f5da2211b4e49f10375a0600b7d85f8ed581fe98d3b825ab1447b221 libunistring-0.9.10_0.tar.bz2 e34195462aa376c9ad92d77d68ef519c911100c06fe2f3929b260d0a811a4288 linux-4.14.341-openela_0.tar.bz2 c97644d0db5b3de127b048683afee6d31453441d97ba5dea71df5838b13542a4 linux-headers-4.14.341-openela_0.tar.bz2 748aafe25363c9777b2970b54d29d3f60d7ed3a07b0839415de37061f13358ff m4-1.4.19_0.tar.bz2 @@ -139,7 +139,7 @@ c040926b75186c69914713973cf5c198813a51808663666fd3fca32f989ebbff python-3.1.5_1 cbb181be22b304f76a286300e3324f7e03e0316bf5662e0d6e416d68fb6514e4 python-3.4.10_0.tar.bz2 59fc4a344f0ee270b72a9cf21e9a03087520c2b1563be8b42470cf723941ef64 python-3.8.16_0.tar.bz2 18d517fa1195aa82e3e0eb7f261eb3addb9a43492040b16be04571639781577e sed-4.0.9_0.tar.bz2 -3e7c9ab6da24fa44e115af66e077b5692f5293ffb7bc82c54fb91663900867d3 sed-4.8_0.tar.bz2 +24519735491cf6e8fa79f1c3e123c830ca3529ddb61dfe393584dad32732a594 sed-4.8_0.tar.bz2 fe8bbc246d82e99c482337f1443c5313268823667dccebca6cd004e6cf6b4a7c shadow-4.14.3_0.tar.bz2 daf24af74bf78e7e0d1351113a76aea7aff1effd5219ee6fc775f59eff6d2437 tar-1.34_0.tar.bz2 b3675b0d72677f30559386e1756e85a0a5065d738bb6206457a5a8d51b8bd0ce tcc-0.9.27_0.tar.bz2 @@ -148,6 +148,6 @@ ab49972345d0c05f79b9370530829792e8c5c3b7fe283fc90e1dff26c2d0f6db tcc-0.9.27_2.t 8576a7c99802bb462dd044ef7df7263192f1acfabde47462afd6145ffec1e4f1 tcc-0.9.27_3.tar.bz2 ac74bde2c277d6eb25125e0abfd353ad268a61b8f4a5308adfd6638046b409ac texinfo-6.7_0.tar.bz2 b54b1aa40dc08eec51982fd581a64a900e2598ba29acc6ca9c2b1b2321603b49 util-linux-2.19.1_0.tar.bz2 -29572bca4d4d404cb9fa542462e3d167367448dba263970282cae11df2aa3879 which-2.21_0.tar.bz2 +9075b6832d8d7b094775c8e6ead763851aec96f4559d8cd62ce0a25e7a8a70ab which-2.21_0.tar.bz2 d7357c5a73e4a0adb07220392316185716c42003fe7e63b63ba8493f12f3621b xz-5.6.4_0.tar.bz2 9b10db90e06129fd174d48edb60a6d1e2fa72944fccef420431f8e836adcf972 zlib-1.3.1_0.tar.bz2 diff --git a/steps/manifest b/steps/manifest index ec15ad16..b7fa5793 100644 --- a/steps/manifest +++ b/steps/manifest @@ -190,11 +190,6 @@ build: openssl-3.6.0 build: ca-certificates-3.119.1 build: curl-8.17.0 build: patch-2.8 -build: python-2.0.1 -build: python-2.0.1 -build: python-2.3.7 -build: python-2.3.7 -build: python-2.5.6 build: gcc-4.7.4 build: binutils-2.41 build: musl-1.2.5