commit
2e6f330567
15
parts.rst
15
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.
|
||||
|
|
|
@ -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
|
||||
|
|
10
sysc.py
10
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"])
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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 ../..
|
||||
}
|
|
@ -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
|
||||
|
|
|
@ -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
|
|
@ -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
|
||||
}
|
Loading…
Reference in New Issue