commit: 2e6f33056755a90873962b2996bb03ec4d451698
parent 7588bddd8e24df90bc140dcb906d46a4d287d836
Author: fosslinux <fosslinux@aussies.space>
Date: Fri, 30 Sep 2022 22:27:48 +1000
Merge pull request #206 from stikonas/autogen
Autogen
Diffstat:
8 files changed, 204 insertions(+), 0 deletions(-)
diff --git a/parts.rst b/parts.rst
@@ -848,3 +848,18 @@ grep 3.7
========
Newer ``grep`` will be needed to bootstrap ``autogen``.
+
+sed 4.8
+=======
+
+Earlier ``sed`` was built with manual makefile with most features compiled out.
+Build a newer ``sed`` using GNU Autotools build system. In particular this will let
+sed keep executable bit on after in place editing.
+
+autogen 5.18.16
+===============
+
+GNU Autogen is a tool designed to simplify the creation and maintenance of programs that contain large amounts of repetitious text. Unfortunately, the source is full of pregenerated files that require ``autogen`` to rebuild.
+
+We will use `gnu-autogen-bootstrapping <https://github.com/schierlm/gnu-autogen-bootstrapping>`_ project to rebuild
+those and create slightly crippled ``autogen`` that is then able to build full-featured version.
diff --git a/sysa/SHA256SUMS.pkgs b/sysa/SHA256SUMS.pkgs
@@ -12,6 +12,7 @@ d5fcce4baea5e11f983a7e4b7148545ab6720bb4e010898c73387f6711be67f4 autoconf-2.64_
298dcf17a439adb306237b308e3c4ed3d376cb863ae0f0f08bfdf1f3199a548b autoconf-2.69_0.tar.bz2
d713ac1840e82250414ee4f7cd75c79ee44ecb4e8dfc659704eed3d75e7d348c autoconf-2.71_0.x86.xbps
6ff691e3ddd4f3d1796d28b07a2a96691dbd9801844c99ccbe660da59dabd74b autoconf-archive-2021.02.19_0.tar.bz2
+14c4f0277ece4291347344cc86d8d5a2e67ae9802933b466bc4b181f646418fe autogen-5.18.16_0.x86.xbps
fbd8739c8f69b388e2c54893faa1180cc38f2718339da82788312adb0201c5d0 automake-1.10.3_0.tar.bz2
e5eae329b2f6854c18844df70fe13975d3c5394708e274616bc4168e55801b41 automake-1.11.2_0.tar.bz2
732d12fdeea2c234750c8e91c90a90934d279283839cdabe0343fa765ba24168 automake-1.15.1_0.tar.bz2
@@ -91,6 +92,7 @@ df12820e27abfe07c4c27bb2f9abf2e0758b797d5d3036e29d6c57cfb5aa12d6 openssl-1.1.1l
041aed738c039a8c437c6d29530fe44f55bd5fc9ac2bb54f793f6fe3a9df16fd perl5.005-03_0.tar.bz2
c69e0197ebc1bf9f9fc68a06d4c649c934784077058c24a484da59a153132816 pkg-config-0.29.2_0.tar.bz2
8a0248fbf8fe1764580698415cc3628585d4dd054ddf63040f400e18cbaef7a4 sed-4.0.9_0.tar.bz2
+af951f34f57d5920ee3b408f64bc8594d88d26cfd9a71ea465a0dba7b10600e8 sed-4.8_0.x86.xbps
1245905d8942a10cccf21850a521db19c9a65ab35cef4c6bbb72672773851048 tar-1.34_0.tar.bz2
42b8eabbd299737541b57b3aa362eeeb20499449901fc2a4895302ce0117080c tcc-0.9.27_0.tar.bz2
db57c6ef39965f0562d2aefe3c06571df50ba1265446d97f2714d80518862cef tcc-0.9.27_1.tar.bz2
diff --git a/sysc.py b/sysc.py
@@ -219,3 +219,13 @@ class SysC(SysGeneral):
# grep 3.7
self.get_file(["https://mirrors.kernel.org/gnu/grep/grep-3.7.tar.xz",
"https://git.savannah.gnu.org/cgit/gnulib.git/snapshot/gnulib-8f4538a5.tar.gz"])
+
+ # sed 4.8
+ self.get_file(["https://mirrors.kernel.org/gnu/sed/sed-4.8.tar.xz",
+ "http://git.savannah.gnu.org/cgit/gnulib.git/snapshot/gnulib-d279bc.tar.gz"])
+
+ # autogen 5.18.16
+ self.get_file(["https://mirrors.kernel.org/gnu/autogen/rel5.18.16/autogen-5.18.16.tar.xz",
+ "https://git.savannah.gnu.org/cgit/autogen.git/snapshot/autogen-5.18.16.tar.gz",
+ "https://github.com/schierlm/gnu-autogen-bootstrapping/archive/refs/tags/autogen-5.18.16-v1.0.tar.gz",
+ "http://git.savannah.gnu.org/cgit/gnulib.git/snapshot/gnulib-8f4538a5.tar.gz"])
diff --git a/sysc/SHA256SUMS.sources b/sysc/SHA256SUMS.sources
@@ -2,6 +2,9 @@
64ebcec9f8ac5b2487125a86a7760d2591ac9e1d3dbd59489633f9de62a57684 autoconf-2.69.tar.xz
f14c83cfebcc9427f2c3cea7258bd90df972d92eb26752da4ddad81c87a0faa4 autoconf-2.71.tar.xz
e8a6eb9d28ddcba8ffef3fa211653239e9bf239aba6a01a6b7cfc7ceaec69cbd autoconf-archive-2021.02.19.tar.xz
+0c04ab2f7ce13c4a1c06c4abc7dfe75312aad89b8b0a1068e5e563787eb56632 autogen-5.18.16.tar.gz
+f8a13466b48faa3ba99fe17a069e71c9ab006d9b1cfabe699f8c60a47d5bb49a autogen-5.18.16.tar.xz
+98ff63400dff5282017c33e4ec3c93da8a92a5260340da253e59bd6eef18d116 autogen-5.18.16-v1.0.tar.gz
4f46d1f9380c8a3506280750f630e9fc915cb1a435b724be56b499d016368718 automake-1.11.2.tar.bz2
af6ba39142220687c500f79b4aa2f181d9b24e4f8d8ec497cea4ba26c64bedaf automake-1.15.1.tar.xz
ff2bf7656c4d1c6fdda3b8bebb21f09153a736bcba169aaf65eab25fa113bf3a automake-1.16.3.tar.xz
@@ -48,6 +51,7 @@ ac610bda97abe0d9f6b7c963255a11dcb196c25e337c61f94e4778d632f1d8fd patch-2.7.6.ta
1d179b41283f12ad83f9758430f6ddc49bdf20db5c396aeae7e51ebb4e4afd29 perl_5.32.1.orig-regen-configure.tar.gz
57cc47c735c8300a8ce2fa0643507b44c4ae59012bfdad0121313db639e02309 perl-5.32.1.tar.xz
6fc69c01688c9458a57eb9a1664c9aba372ccda420a02bf4429fe610e7e7d591 pkg-config-0.29.2.tar.gz
+f79b0cfea71b37a8eeec8490db6c5f7ae7719c35587f21edb0617f370eeff633 sed-4.8.tar.xz
63bebd26879c5e1eea4352f0d03c991f966aeb3ddeb3c7445c902568d5411d28 tar-1.34.tar.xz
988403c1542d15ad044600b909997ba3079b10e03224c61188117f3676b02caa texinfo-6.7.tar.xz
f4a245b94124b377d8b49646bf421f9155d36aa7614b6ebf83705d3ffc76eaad which-2.21.tar.gz
diff --git a/sysc/autogen-5.18.16/autogen-5.18.16.sh b/sysc/autogen-5.18.16/autogen-5.18.16.sh
@@ -0,0 +1,80 @@
+# SPDX-FileCopyrightText: 2022 Andrius Štikonas <andrius@stikonas.eu>
+#
+# SPDX-License-Identifier: GPL-3.0-or-later
+
+urls="https://mirrors.kernel.org/gnu/autogen/rel5.18.16/autogen-5.18.16.tar.xz
+ https://git.savannah.gnu.org/cgit/autogen.git/snapshot/autogen-5.18.16.tar.gz
+ https://github.com/schierlm/gnu-autogen-bootstrapping/archive/refs/tags/autogen-5.18.16-v1.0.tar.gz
+ http://git.savannah.gnu.org/cgit/gnulib.git/snapshot/gnulib-8f4538a5.tar.gz"
+
+src_unpack() {
+ tar --no-same-owner -xf "${DISTFILES}/autogen-5.18.16-v1.0.tar.gz"
+ tar --no-same-owner -xf "${DISTFILES}/gnulib-8f4538a5.tar.gz"
+ local build_dir=gnu-autogen-bootstrapping-autogen-5.18.16-v1.0/build
+ mkdir -p "${build_dir}"
+ cp "${DISTFILES}/autogen-5.18.16.tar.xz" "${build_dir}"
+ cp "${DISTFILES}/autogen-5.18.16.tar.gz" "${build_dir}"
+ pushd "${build_dir}"
+ tar --no-same-owner -xf autogen-5.18.16.tar.gz
+ mv autogen-5.18.16 src
+ rm -f src/add-on/char-mapper/cm.tar
+ popd
+}
+
+src_prepare() {
+ :
+}
+
+src_compile() {
+(
+ set -e
+ export PKG_CONFIG_PATH="${PREFIX}/lib/musl/pkgconfig"
+ sed -i "s/make install/make install DESTDIR=\${DESTDIR}/" bootstrap_tarball.sh
+ sed -i "/make check/d" bootstrap_tarball.sh
+ export FINALPREFIX="${PREFIX}"
+ export GUILE_STATIC="--static"
+ export GNULIBDIR="${PWD}"/../gnulib-8f4538a5
+ export MAN_PAGE_DATE=1970-01-01
+
+ SKIP_MAIN=1 . ./bootstrap_tarball.sh
+ prepare_tarball
+ bootstrap_columns
+ bootstrap_getdefs
+ bootstrap_autogen
+ bootstrap_tpl_config
+
+ # Build stage2 autogen (stage1 autogen is not easy to install into /usr)
+ rm -R build/tarball
+ cp -ar build/autogen-5.18.16 build/tarball
+ cd build/tarball
+
+ # These files does not respect MAN_PAGE_DATE
+ sed -i "s/+%Y/+1970/; s/%m/01/; s/%d'/01'/; s/%Y/2018/" autoopts/aoconf.tpl
+ sed -i 's/%Y/2018/' autoopts/options_h.tpl
+
+ SOURCE_DIR="$PWD" ./config/bootstrap
+ # Specify timeout to avoid non-reproducibility
+ ./configure \
+ --prefix="${FINALPREFIX}" \
+ --libdir="${FINALPREFIX}/lib/musl" \
+ --enable-timeout=15
+ touch doc/agdoc.texi # build later
+ make CFLAGS=-Wno-error
+
+ # Fix non-reproducible man-page
+ awk '{gsub("\\(/tmp/.*", "", $7); print}' agen5/autogen.1 > autogen.1
+ mv autogen.1 agen5/autogen.1
+
+ cd ../..
+)
+}
+
+src_install() {
+ cd build/tarball
+ make DESTDIR="${DESTDIR}" install MAN_PAGE_DATE=1970-01-01
+
+ # Some reproducibility issues and generally not useful for bootstrapping
+ rm "${DESTDIR}${PREFIX}/share/autogen/libopts-"*.tar.gz
+
+ cd ../..
+}
diff --git a/sysc/run2.sh b/sysc/run2.sh
@@ -102,6 +102,10 @@ build which-2.21
build grep-3.7
+build sed-4.8
+
+build autogen-5.18.16 autogen-5.18.16.sh '' gnu-autogen-bootstrapping-autogen-5.18.16-v1.0
+
if [ "$FORCE_TIMESTAMPS" = True ] ; then
echo 'Forcing all files timestamps to be 0 unix time.'
canonicalise_all_files_timestamp
diff --git a/sysc/sed-4.8/import-gnulib.sh b/sysc/sed-4.8/import-gnulib.sh
@@ -0,0 +1,66 @@
+#!/bin/sh
+
+# SPDX-FileCopyrightText: 2022 Andrius Štikonas <andrius@stikonas.eu>
+#
+# SPDX-License-Identifier: GPL-3.0-or-later
+
+../gnulib-d279bc/gnulib-tool --import --local-dir=gl \
+ --lib=libsed \
+ --source-base=lib \
+ --m4-base=m4 \
+ --doc-base=doc \
+ --tests-base=gnulib-tests \
+ --aux-dir=build-aux \
+ --with-tests \
+ --makefile-name=gnulib.mk \
+ --no-conditional-dependencies \
+ --no-libtool \
+ --macro-prefix=gl \
+ --avoid=lock-tests \
+ acl \
+ alloca \
+ binary-io \
+ btowc \
+ c-ctype \
+ closeout \
+ dfa \
+ extensions \
+ fdl \
+ fwriting \
+ getdelim \
+ getopt \
+ gettext-h \
+ git-version-gen \
+ gitlog-to-changelog \
+ ignore-value \
+ localcharset \
+ manywarnings \
+ mbrlen \
+ mbrtowc \
+ mbsinit \
+ memchr \
+ memrchr \
+ mkostemp \
+ non-recursive-gnulib-prefix-hack \
+ obstack \
+ perl \
+ progname \
+ readme-release \
+ regex \
+ rename \
+ selinux-h \
+ ssize_t \
+ stat-macros \
+ stdalign \
+ stdbool \
+ strerror \
+ strverscmp \
+ unlocked-io \
+ update-copyright \
+ verify \
+ version-etc-fsf \
+ wcrtomb \
+ wctob \
+ xalloc
+
+./build-aux/prefix-gnulib-mk --lib-name=libsed lib/gnulib.mk
diff --git a/sysc/sed-4.8/sed-4.8.sh b/sysc/sed-4.8/sed-4.8.sh
@@ -0,0 +1,23 @@
+# SPDX-FileCopyrightText: 2022 Andrius Štikonas <andrius@stikonas.eu>
+#
+# SPDX-License-Identifier: GPL-3.0-or-later
+
+urls="https://mirrors.kernel.org/gnu/sed/sed-4.8.tar.xz
+ http://git.savannah.gnu.org/cgit/gnulib.git/snapshot/gnulib-d279bc.tar.gz"
+
+src_prepare() {
+ rm configure
+ find . -name 'Makefile.in' -delete
+
+ ../../import-gnulib.sh
+
+ autoreconf-2.69 -fi
+}
+
+src_configure() {
+ GL_GENERATE_ALLOCA_H_TRUE=0 LDFLAGS="-static" ./configure --prefix="${PREFIX}"
+}
+
+src_install() {
+ default
+}