Merge pull request #72 from stikonas/autotools

Autotools
This commit is contained in:
fosslinux 2021-03-20 10:38:23 +11:00 committed by GitHub
commit 31410ab234
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
24 changed files with 430 additions and 3 deletions

View File

@ -2,8 +2,17 @@
f0611136bee505811e9ca11ca7ac188ef5323a8e2ef19cffd3edb3cf08fd791e autoconf-2.13.tar.gz
4681bcbb9c9298c506f6405a7deb62c54fc3b339d3239a8f36a5df83daaec94f autoconf-2.52.tar.bz2
6b217a064c6d06603d50a3ad05129aef9435367810c10894210b8dad965d2306 autoconf-2.53.tar.bz2
a74aea954f36c7beeb6cc47b96a408c3e04e7ad635f614e65250dbcd8ec0bd28 autoconf-2.54.tar.bz2
f757158a04889b265203eecd8ca92568e2a67c3b9062fa6bff7a0a6efd2244ac autoconf-2.55.tar.bz2
e1035aa2c21fae2a934d1ab56c774ce9d22717881dab8a1a5b16d294fb793489 autoconf-2.57.tar.bz2
f0cde70a8f135098a6a3e85869f2e1cc3f141beea766fa3d6636e086cd8b90a7 autoconf-2.59.tar.bz2
93a2ceab963618b021db153f0c881a2de82455c1dc7422be436fcd5c554085a1 autoconf-2.61.tar.bz2
503cdc2b0992a4309545d17f462cb15f99bb57b7161dfc4082b2e7188f2bcc0f automake-1.4-p6.tar.gz
0dbafacaf21e135cab35d357a14bdcd981d2f2d00e1387801be8091a31b7bb81 automake-1.6.3.tar.bz2
2dddc3b51506e702647ccc6757e15c05323fa67245d2d53e81ed36a832f9be42 automake-1.7.8.tar.bz2
6633ee1202375e3c8798a92e1b7f46894f78d541aeea7f49654503fdc0b28835 automake-1.7.tar.bz2
84c93aaa3c3651a9e7474b721b0e6788318592509e7de604bafe4ea8049dc410 automake-1.8.5.tar.bz2
8eccaa98e1863d10e4a5f861d8e2ec349a23e88cb12ad10f6b6f79022ad2bb8d automake-1.9.6.tar.bz2
ba03d412998cc54bd0b0f2d6c32100967d3137098affdc2d32e6e7c11b163fe4 bash-2.05b.tar.gz
3fa9daf85ebf35068f090ce51283ddeeb3c75eb5bc70b1a4a7cb05868bfe06a4 bash-3.2.57.tar.gz
e20bdd49a0fb317959b410c1fe81269a620ec21207045d8a37cadea621be4b59 binutils-2.14.tar.bz2
@ -18,6 +27,7 @@ e87aae032bf07c26f85ac0ed3250998c37621d95f8bd748b31f15b33c45ee995 flex-2.6.4.tar
a32032bab36208509466654df12f507600dfe0313feebbcd218c32a70bf72a16 grep-2.4.tar.gz
4d2ce9f314f39c9575f913503b0178d6fb2c92920db8e7b7b176b7bab7980fe6 gzip-1.2.4.tar
9f233d8b78e4351fe9dd2d50d83958a0e5af36f54e9818521458a08e058691ba heirloom-devtools-070527.tar.bz2
a4adadf76b496a6bc50795702253ecfcb6f0d159b68038f31a5362009340bca2 help2man-1.36.4.tar.gz
8e8ce6175d435e7df8c9bbb0e5fd5357691cdc28c1a2d00fdd9b47b7643bec3a libtool-1.4.tar.gz
093c993767f563a11e41c1cf887f4e9065247129679d4c1e213d0544d16d8303 m4-1.4.7.tar.gz
64b30b41fde2ebf669e6af489883fb1df6a06ac30555a96cfa3c39ecce7267dd make-3.80.tar.gz

View File

@ -446,11 +446,73 @@ We now start bootstrapping newer versions of autoconf. Version 2.53 now uses ``p
In order to build it with ``autoconf-2.52`` we have to patch it a bit and then do
a second unpatched build with newly built ``autoconf-2.53``.
automake 1.7
============
Automake 1.7 and Autoconf 2.54 depend on each other, so we patch out two offending
autoconf macros to make it build with ``autoconf-2.53``.
autoconf 2.54
=============
More ``autoconf``.
automake 1.7
============
Rebuild ``automake`` with ``autoconf-2.54``.
autoconf 2.55
=============
Even newer ``autoconf``. This is the last version of ``autoconf`` that is buildable
with ``automake-1.7``.
automake 1.7.8
==============
Newer ``automake``. This is the latest ``automake`` that is buildable with ``autoconf-2.55``.
autoconf 2.57
=============
Newer ``autoconf``. This time we were able to skip version 2.56.
autoconf 2.59
=============
Again, we managed to skip one version.
automake 1.8.5
==============
We need newer ``automake`` to proceed to newer ``autoconf`` versions. This is the latest
automake version from 1.8 release series.
help2man 1.36.4
===============
``help2man`` automatically generates manpages from programs ``--help`` and ``--version``
outputs. This is not strictly required for bootstrapping but will help us to avoid patching
build process to skip generation of manpages. This is the newest version of ``help2man`` that
does not require Perl 5.8.
autoconf 2.61
=============
Yet another version of ``autoconf``.
automake 1.9.6
==============
Latest GNU Automake from 1.9 series. Slightly annoyingly depends itself but it is easy to patch
to make it buildable with 1.8.5. Then we rebuild ``automake-1.9`` with itself.
bash 3.2.57
===========
Up to this point, our build of ``bash`` could run scripts but could not be used
interactively. This newer version of ``bash`` compiles without any patches,
provides new features, and is built with GNU readline support so it can be used
as an interactive shell. autoconf 2.52 is used to regenerate the configure
as an interactive shell. ``autoconf-2.57`` is used to regenerate the configure
script and bison is used to recreate some included generated files.

View File

@ -228,9 +228,39 @@ get_file https://ftp.gnu.org/gnu/binutils/binutils-2.14.tar.bz2
# autoconf 2.53
get_file https://ftp.gnu.org/gnu/autoconf/autoconf-2.53.tar.bz2
# automake 1.7
get_file https://ftp.gnu.org/gnu/automake/automake-1.7.tar.bz2
# autoconf 2.54
get_file https://ftp.gnu.org/gnu/autoconf/autoconf-2.54.tar.bz2
# autoconf 2.55
get_file https://ftp.gnu.org/gnu/autoconf/autoconf-2.55.tar.bz2
# automake 1.7.8
get_file https://ftp.gnu.org/gnu/automake/automake-1.7.8.tar.bz2
# autoconf 2.57
get_file https://ftp.gnu.org/gnu/autoconf/autoconf-2.57.tar.bz2
# autoconf 2.59
get_file https://ftp.gnu.org/gnu/autoconf/autoconf-2.59.tar.bz2
# automake 1.8.5
get_file https://ftp.gnu.org/gnu/automake/automake-1.8.5.tar.bz2
# help2man 1.36.4
get_file https://ftp.gnu.org/gnu/help2man/help2man-1.36.4.tar.gz
# autoconf 2.61
get_file https://ftp.gnu.org/gnu/autoconf/autoconf-2.61.tar.bz2
# bash 3.2.57
get_file https://ftp.gnu.org/gnu/bash/bash-3.2.57.tar.gz
# automake 1.9.6
get_file https://ftp.gnu.org/gnu/automake/automake-1.9.6.tar.bz2
# General cleanup
find tmp -name .git -exec rm -rf \;

View File

@ -16,3 +16,7 @@ src_configure() {
src_compile() {
make MAKEINFO=true
}
src_install() {
make install MAKEINFO=true
}

View File

@ -16,3 +16,7 @@ src_configure() {
src_compile() {
make MAKEINFO=true
}
src_install() {
make install MAKEINFO=true
}

30
sysa/autoconf-2.54/stage1.sh Executable file
View File

@ -0,0 +1,30 @@
# SPDX-FileCopyrightText: 2021 Andrius Štikonas <andrius@stikonas.eu>
#
# SPDX-License-Identifier: GPL-3.0-or-later
src_prepare() {
rm Makefile.in */Makefile.in */*/Makefile.in aclocal.m4 configure
aclocal-1.7
sed -i 's/2.54/2.53/' aclocal.m4
cat config/m4.m4 >> aclocal.m4
autoconf-2.53
# Otherwise automake-1.7 fails to find autoconf
ln -s "${PREFIX}"/bin/autoconf-2.53 "${PREFIX}"/bin/autoconf
automake-1.7
# Install autoconf data files into versioned directory
for file in */*/Makefile.in */Makefile.in Makefile.in; do
sed -i '/^pkgdatadir/s:$:-@VERSION@:' $file
done
}
src_configure() {
./configure --prefix="${PREFIX}" --program-suffix=-2.54
}
src_install() {
default_src_install
ln -sf "${PREFIX}"/bin/autoconf-2.54 "${PREFIX}"/bin/autoconf
}

18
sysa/autoconf-2.54/stage2.sh Executable file
View File

@ -0,0 +1,18 @@
# SPDX-FileCopyrightText: 2021 Andrius Štikonas <andrius@stikonas.eu>
#
# SPDX-License-Identifier: GPL-3.0-or-later
src_prepare() {
rm Makefile.in */Makefile.in */*/Makefile.in aclocal.m4 configure
autoreconf-2.54
# Install autoconf data files into versioned directory
for file in */*/Makefile.in */Makefile.in Makefile.in; do
sed -i '/^pkgdatadir/s:$:-@VERSION@:' $file
done
}
src_configure() {
./configure --prefix="${PREFIX}" --program-suffix=-2.54
}

View File

@ -0,0 +1,24 @@
# SPDX-FileCopyrightText: 2021 Andrius Štikonas <andrius@stikonas.eu>
#
# SPDX-License-Identifier: GPL-3.0-or-later
src_prepare() {
rm Makefile.in */Makefile.in */*/Makefile.in aclocal.m4 configure
autoreconf-2.54
# Install autoconf data files into versioned directory
for file in */*/Makefile.in */Makefile.in Makefile.in; do
sed -i '/^pkgdatadir/s:$:-@VERSION@:' $file
done
}
src_configure() {
./configure --prefix="${PREFIX}" --program-suffix=-2.55
}
src_install() {
default_src_install
ln -sf "${PREFIX}/bin/autoconf-2.55" "${PREFIX}/bin/autoconf"
}

View File

@ -0,0 +1,22 @@
# SPDX-FileCopyrightText: 2021 Andrius Štikonas <andrius@stikonas.eu>
#
# SPDX-License-Identifier: GPL-3.0-or-later
src_prepare() {
autoreconf-2.55 -f
# Install autoconf data files into versioned directory
for file in */*/Makefile.in */Makefile.in Makefile.in; do
sed -i '/^pkgdatadir/s:$:-@VERSION@:' $file
done
}
src_configure() {
./configure --prefix="${PREFIX}" --program-suffix=-2.57
}
src_install() {
default_src_install
ln -sf "${PREFIX}/bin/autoconf-2.57" "${PREFIX}/bin/autoconf"
}

View File

@ -0,0 +1,23 @@
# SPDX-FileCopyrightText: 2021 Andrius Štikonas <andrius@stikonas.eu>
#
# SPDX-License-Identifier: GPL-3.0-or-later
src_prepare() {
autoreconf-2.57 -f
# Install autoconf data files into versioned directory
for file in */*/Makefile.in */Makefile.in Makefile.in; do
sed -i '/^pkgdatadir/s:$:-@VERSION@:' $file
done
}
src_configure() {
./configure --prefix="${PREFIX}" --program-suffix=-2.59
}
src_install() {
default_src_install
ln -sf "${PREFIX}/bin/autoconf-2.59" "${PREFIX}/bin/autoconf"
ln -sf "${PREFIX}/bin/autom4te-2.59" "${PREFIX}/bin/autom4te"
}

30
sysa/autoconf-2.61/stage1.sh Executable file
View File

@ -0,0 +1,30 @@
# SPDX-FileCopyrightText: 2021 Andrius Štikonas <andrius@stikonas.eu>
#
# SPDX-License-Identifier: GPL-3.0-or-later
src_prepare() {
sed -i -e '/AC_PROG_GREP/d' -e '/AC_PROG_SED/d' configure.ac
autoreconf-2.59 -f
# Install autoconf data files into versioned directory
for file in */*/Makefile.in */Makefile.in Makefile.in; do
sed -i '/^pkgdatadir/s:$:-@VERSION@:' $file
done
}
src_configure() {
./configure --prefix="${PREFIX}" --program-suffix=-2.61
}
src_compile() {
make MAKEINFO=true
}
src_install() {
make install MAKEINFO=true
ln -sf "${PREFIX}/bin/autoconf-2.61" "${PREFIX}/bin/autoconf"
ln -sf "${PREFIX}/bin/autoheader-2.61" "${PREFIX}/bin/autoheader"
ln -sf "${PREFIX}/bin/autom4te-2.61" "${PREFIX}/bin/autom4te"
ln -sf "${PREFIX}/bin/autoreconf-2.61" "${PREFIX}/bin/autoreconf"
}

25
sysa/autoconf-2.61/stage2.sh Executable file
View File

@ -0,0 +1,25 @@
# SPDX-FileCopyrightText: 2021 Andrius Štikonas <andrius@stikonas.eu>
#
# SPDX-License-Identifier: GPL-3.0-or-later
src_prepare() {
sed -i -e '/AC_PROG_GREP/d' -e '/AC_PROG_SED/d' configure.ac
autoreconf-2.61 -f
# Install autoconf data files into versioned directory
for file in */*/Makefile.in */Makefile.in Makefile.in; do
sed -i '/^pkgdatadir/s:$:-@VERSION@:' $file
done
}
src_configure() {
./configure --prefix="${PREFIX}" --program-suffix=-2.61
}
src_compile() {
make MAKEINFO=true
}
src_install() {
make install MAKEINFO=true
}

View File

@ -15,3 +15,11 @@ src_prepare() {
src_configure() {
./configure --prefix=/after
}
src_compile() {
make MAKEINFO=true
}
src_install() {
make install MAKEINFO=true
}

View File

@ -0,0 +1,13 @@
# SPDX-FileCopyrightText: 2021 Andrius Štikonas <andrius@stikonas.eu>
#
# SPDX-License-Identifier: GPL-3.0-or-later
src_prepare() {
rm configure Makefile.in */Makefile.in */*/Makefile.in aclocal.m4
autoreconf-2.55
}
src_configure() {
./configure --prefix=/after
}

15
sysa/automake-1.7/stage1.sh Executable file
View File

@ -0,0 +1,15 @@
# SPDX-FileCopyrightText: 2021 Andrius Štikonas <andrius@stikonas.eu>
#
# SPDX-License-Identifier: GPL-3.0-or-later
src_prepare() {
rm configure Makefile.in */Makefile.in */*/Makefile.in aclocal.m4
sed -i -e 's/2.54/2.53/' -e '/AC_PROG_EGREP/d' -e '/AC_PROG_FGREP/d' configure.in
aclocal-1.6
autoconf-2.53
automake-1.6
}
src_configure() {
./configure --prefix=/after
}

13
sysa/automake-1.7/stage2.sh Executable file
View File

@ -0,0 +1,13 @@
# SPDX-FileCopyrightText: 2021 Andrius Štikonas <andrius@stikonas.eu>
#
# SPDX-License-Identifier: GPL-3.0-or-later
src_prepare() {
rm configure Makefile.in */Makefile.in */*/Makefile.in aclocal.m4
autoreconf-2.54
}
src_configure() {
./configure --prefix=/after
}

View File

@ -0,0 +1,11 @@
# SPDX-FileCopyrightText: 2021 Andrius Štikonas <andrius@stikonas.eu>
#
# SPDX-License-Identifier: GPL-3.0-or-later
src_prepare() {
autoreconf-2.59 -f
}
src_configure() {
./configure --prefix=/after
}

20
sysa/automake-1.9.6/stage1.sh Executable file
View File

@ -0,0 +1,20 @@
# SPDX-FileCopyrightText: 2021 Andrius Štikonas <andrius@stikonas.eu>
#
# SPDX-License-Identifier: GPL-3.0-or-later
src_prepare() {
sed -i 's/1.8a/1.8.5/; s/ filename-length-max=99//' configure.ac
autoreconf-2.61 -f
}
src_configure() {
./configure --prefix=/after
}
src_compile() {
make MAKEINFO=true
}
src_install() {
make install MAKEINFO=true
}

19
sysa/automake-1.9.6/stage2.sh Executable file
View File

@ -0,0 +1,19 @@
# SPDX-FileCopyrightText: 2021 Andrius Štikonas <andrius@stikonas.eu>
#
# SPDX-License-Identifier: GPL-3.0-or-later
src_prepare() {
autoreconf-2.61 -f
}
src_configure() {
./configure --prefix=/after
}
src_compile() {
make MAKEINFO=true
}
src_install() {
make install MAKEINFO=true
}

View File

@ -9,7 +9,7 @@ src_prepare() {
# Rebuild configure script
# Ignore harmless error from autoconf for now
rm configure
autoconf-2.52 || true
autoconf-2.57
}
src_configure() {

View File

@ -1 +1 @@
0d6cbaa5f93fa4c2186ef40dd834b47841b3bf70f6183cfdb6ada38fdb835c5a /after/bin/bash
62c5acf91b425c3587b498ce7af14fcfed6735db1bfd8d94055a4795aff57b09 /after/bin/bash

View File

@ -0,0 +1,21 @@
# SPDX-FileCopyrightText: 2021 Andrius Štikonas <andrius@stikonas.eu>
#
# SPDX-License-Identifier: GPL-3.0-or-later
src_prepare() {
autoreconf-2.59 -f
}
src_configure() {
CC=tcc ./configure --prefix="${PREFIX}" --disable-nls
}
src_compile() {
make
# fix a broken shebang
tail -n +6 help2man > help2man.tmp
echo "#!/${PREFIX}/bin/perl" > help2man
cat help2man.tmp >> help2man
rm help2man.tmp
}

View File

@ -104,6 +104,28 @@ build tcc-0.9.27 tcc-musl-pass3.sh checksums/tcc-musl-pass3
build autoconf-2.53 stage1.sh
build autoconf-2.53 stage2.sh
build automake-1.7 stage1.sh
build autoconf-2.54 stage1.sh
build autoconf-2.54 stage2.sh
build automake-1.7 stage2.sh
build autoconf-2.55
build automake-1.7.8
build autoconf-2.57
build autoconf-2.59
build automake-1.8.5
build help2man-1.36.4
build autoconf-2.61 stage1.sh
build autoconf-2.61 stage2.sh
build bash-3.2.57
exec bash run2.sh

View File

@ -9,6 +9,9 @@
set -e
. helpers.sh
build automake-1.9.6 stage1.sh
build automake-1.9.6 stage2.sh
echo "Bootstrapping completed."
exec env - PATH=/after/bin PS1="\w # " bash -i