Compare commits

...

10 Commits

14 changed files with 203 additions and 1 deletions

View File

@ -1,3 +1,7 @@
66fde474e124e80c843560041cd68820c9dce56e696f388312ba30361a814a16 autoconf-2.12.tar.gz
f0611136bee505811e9ca11ca7ac188ef5323a8e2ef19cffd3edb3cf08fd791e autoconf-2.13.tar.gz
534e99b61b81e79327b6d08f1a3edb0755ac246e1249009b0e1bf5887b60d7a9 autoconf-2.52.tar.gz
503cdc2b0992a4309545d17f462cb15f99bb57b7161dfc4082b2e7188f2bcc0f automake-1.4-p6.tar.gz
ba03d412998cc54bd0b0f2d6c32100967d3137098affdc2d32e6e7c11b163fe4 bash-2.05b.tar.gz
7007fc89c216fbfaff5525359b02a7e5b612694df5168c74673f67055f015095 bison-3.4.1.tar.gz
ab5a03176ee106d3f0fa90e381da478ddae405918153cca248e682cd0c4a2269 bzip2-1.0.8.tar.gz

View File

@ -351,4 +351,44 @@ introduces the new pregenerated files ``regnodes.h`` and
perl 5.6.2
==========
Even more perl. 5.6.2 is the last version buildable with 5.004.
Even more perl. 5.6.2 is the last version buildable with 5.005.
autoconf 2.52
=============
GNU Autoconf is a tool for producing ``configure`` scripts for building, installing and
packaging software on computer systems where a Bourne shell is available.
At this stage we still do not have a working autotools system, so we manually install
``autoconf`` script and replace a few placeholder variables with ``sed``.
Version 2.52 is the newest version that runs on ``miniperl``.
automake 1.4-p6
===============
GNU Automake is a tool for automatically generating Makefile.in files. Together with
Autoconf they from GNU Autotools build system.
``automake`` again needs both ``automake`` and ``autoconf``. In order to bootstrap it
we patch ``configure.in`` file to produce ``automake`` and skip ``Makefile`` effectively
removing dependency on ``automake`` at the cost of having to install ``automake`` manually.
Then we rebuild both ``automake`` using already installed ``autoconf`` and ``automake``.
Version 1.4-p6 is again the newest version that runs on ``miniperl``.
autoconf 2.52
=============
We now properly rebuild ``autoconf`` using ``autoconf`` and ``automake``.
autoconf 2.13
=============
Different versions of autotools are not fully compatible, so build older ``autoconf`` too.
autoconf 2.12
=============
Yet another old autoconf version that we will need for GNU Binutils.

View File

@ -201,6 +201,18 @@ get_file https://www.cpan.org/src/5.0/perl5.005_03.tar.gz
# perl 5.6.2
get_file https://www.cpan.org/src/5.0/perl-5.6.2.tar.gz
# autoconf 2.52
get_file https://ftp.gnu.org/gnu/autoconf/autoconf-2.52.tar.gz
# automake 1.4-p6
get_file https://ftp.gnu.org/gnu/automake/automake-1.4-p6.tar.gz
# autoconf 2.13
get_file https://ftp.gnu.org/gnu/autoconf/autoconf-2.13.tar.gz
# autoconf 2.12
get_file https://ftp.gnu.org/gnu/autoconf/autoconf-2.12.tar.gz
# General cleanup
find tmp -name .git -exec rm -rf \;

View File

@ -0,0 +1,14 @@
# SPDX-FileCopyrightText: 2021 Andrius Štikonas <andrius@stikonas.eu>
#
# SPDX-License-Identifier: GPL-3.0-or-later
src_prepare() {
rm configure
autoconf-2.52
sed -i '/^acdatadir/s:$:-2.12:' Makefile.in
}
src_configure() {
./configure --prefix=${PREFIX} --program-suffix=-2.12
}

View File

View File

@ -0,0 +1,14 @@
# SPDX-FileCopyrightText: 2021 Andrius Štikonas <andrius@stikonas.eu>
#
# SPDX-License-Identifier: GPL-3.0-or-later
src_prepare() {
rm configure
autoconf-2.52
sed -i '/^acdatadir/s:$:-2.13:' Makefile.in
}
src_configure() {
./configure --prefix=${PREFIX} --program-suffix=-2.13
}

View File

View File

22
sysa/autoconf-2.52/stage1.sh Executable file
View File

@ -0,0 +1,22 @@
# SPDX-FileCopyrightText: 2021 Andrius Štikonas <andrius@stikonas.eu>
#
# SPDX-License-Identifier: GPL-3.0-or-later
src_compile() {
cp autoconf.in autoconf
sed -i "s# @SHELL@#/bin/sh#" autoconf
sed -i 's/@M4@/m4/' autoconf
sed -i 's/@AWK@/awk/' autoconf
sed -i 's/@PACKAGE_NAME@/Autoconf/' autoconf
sed -i 's/@VERSION@/2.52/' autoconf
sed -i "s#@datadir@#${PREFIX}/share/autoconf-2.52#" autoconf
chmod +x autoconf
m4 autoconf.m4 --freeze-state=autoconf.m4f
}
src_install() {
install autoconf ${PREFIX}/bin/autoconf-2.52
mkdir -p ${PREFIX}/share/autoconf-2.52
cp -r *.m4* ${PREFIX}/share/autoconf-2.52/
}

27
sysa/autoconf-2.52/stage2.sh Executable file
View File

@ -0,0 +1,27 @@
# SPDX-FileCopyrightText: 2021 Andrius Štikonas <andrius@stikonas.eu>
#
# SPDX-License-Identifier: GPL-3.0-or-later
src_prepare() {
rm Makefile.in */Makefile.in
rm configure
autoconf-2.52
automake-1.4
# Install autoconf data files into versioned directory
for file in */Makefile.in Makefile.in; do
sed -i '/^pkgdatadir/s:$:-@VERSION@:' $file
done
}
src_configure() {
./configure --prefix=${PREFIX} --program-suffix=-2.52
}
src_install() {
# Remove manually installed autoconf
rm ${PREFIX}/bin/autoconf-2.52
rm -rf ${PREFIX}/share/autoconf-2.52
default_src_install
}

View File

24
sysa/automake-1.4-p6/stage1.sh Executable file
View File

@ -0,0 +1,24 @@
# SPDX-FileCopyrightText: 2021 Andrius Štikonas <andrius@stikonas.eu>
#
# SPDX-License-Identifier: GPL-3.0-or-later
src_prepare() {
sed -i 's#m4/Makefile tests/Makefile##; s/Makefile //' configure.in
rm configure Makefile.in */Makefile.in
autoconf-2.52
}
src_configure() {
./configure --prefix=/after
}
src_compile() {
:
}
src_install() {
install automake ${PREFIX}/bin/automake-1.4
mkdir -p ${PREFIX}/share/automake-1.4
cp -r *.am ${PREFIX}/share/automake-1.4/
}

21
sysa/automake-1.4-p6/stage2.sh Executable file
View File

@ -0,0 +1,21 @@
# SPDX-FileCopyrightText: 2021 Andrius Štikonas <andrius@stikonas.eu>
#
# SPDX-License-Identifier: GPL-3.0-or-later
src_prepare() {
rm configure Makefile.in */Makefile.in
autoconf-2.52
automake-1.4
}
src_configure() {
./configure --prefix=/after
}
src_install() {
# cleanup old manual install
rm ${PREFIX}/bin/automake-1.4
rm -rf ${PREFIX}/share/automake-1.4
default_src_install
}

View File

@ -10,6 +10,17 @@ set -e
# shellcheck source=sysa/helpers.sh
. helpers.sh
populate_device_nodes() {
# http://www.linuxfromscratch.org/lfs/view/6.1/chapter06/devices.html
test -c /dev/console || mknod -m 622 /dev/console c 5 1
test -c /dev/null || mknod -m 666 /dev/null c 1 3
test -c /dev/zero || mknod -m 666 /dev/zero c 1 5
test -c /dev/ptmx || mknod -m 666 /dev/ptmx c 5 2
test -c /dev/tty || mknod -m 666 /dev/tty c 5 0
test -c /dev/random || mknod -m 444 /dev/random c 1 8
test -c /dev/urandom || mknod -m 444 /dev/urandom c 1 9
}
export PREFIX=/after
build flex-2.5.11
@ -55,4 +66,17 @@ build perl5.005_03
build perl-5.6.2
populate_device_nodes
build autoconf-2.52 stage1.sh
build automake-1.4-p6 stage1.sh
build automake-1.4-p6 stage2.sh
build autoconf-2.52 stage2.sh
build autoconf-2.13
build autoconf-2.12
echo "Bootstrapping completed."