diff --git a/SHA256SUMS.sources b/SHA256SUMS.sources index 99c2d74..9c0a6e5 100644 --- a/SHA256SUMS.sources +++ b/SHA256SUMS.sources @@ -38,6 +38,7 @@ c40385e142989c91989413f3c5a31282b2ffdca16b69cd3ecfde537b8a474921 flex-2.5.33.ta e87aae032bf07c26f85ac0ed3250998c37621d95f8bd748b31f15b33c45ee995 flex-2.6.4.tar.gz 5cc35def1ff4375a8b9a98c2ff79e95e80987d24f0d42fdbb7b7039b3ddb3fb0 gawk-3.0.4.tar.gz e9bf58c761a4f988311aef6b41f12fd5c7e51d09477468fb73826aecc1be32e7 gcc-4.0.4.tar.bz2 +92e61c6dc3a0a449e62d72a38185fda550168a86702dea07125ebd3ec3996282 gcc-4.7.4.tar.bz2 d20fcbb537e02dcf1383197ba05bd0734ef7bf5db06bdb241eb69b7d16b73192 gettext-0.21.tar.xz fd4829912cddd12f84181c3451cc752be224643e87fac497b69edddadc49b4f2 gmp-6.2.1.tar.xz df807e694deea2dcba0c43af318394f3e3fcd52658c3b71b61dad0ce0c0cfb77 gnulib-30820c.tar.gz diff --git a/parts.rst b/parts.rst index 6f228b2..8b92f5b 100644 --- a/parts.rst +++ b/parts.rst @@ -695,6 +695,12 @@ zlib 1.2.11 zlib is a software library used for data compression and implements an abstraction of DEFLATE algorithm that is also used in ``gzip``. +gcc 4.7.4 +========= + +GCC 4.7.4 is the last version written in C. We again build just C frontent but this +time it supports C11 that we need to build GNU Guile. + libunistring 0.9.10 =================== diff --git a/sysa.py b/sysa.py index 08d3f1d..9ed8c04 100755 --- a/sysa.py +++ b/sysa.py @@ -455,6 +455,9 @@ class SysA: # zlib 1.2.11 self.get_file("https://www.zlib.net/zlib-1.2.11.tar.xz") + # gcc 4.7.4 + self.get_file("https://mirrors.kernel.org/gnu/gcc/gcc-4.7.4/gcc-4.7.4.tar.bz2") + # libunistring 0.9.10 self.get_file(["https://mirrors.kernel.org/gnu/libunistring/libunistring-0.9.10.tar.xz", "https://git.savannah.gnu.org/cgit/gnulib.git/snapshot/gnulib-52a06cb3.tar.gz"]) diff --git a/sysa/gcc-4.7.4/checksums/pass1 b/sysa/gcc-4.7.4/checksums/pass1 new file mode 100644 index 0000000..0b2669e --- /dev/null +++ b/sysa/gcc-4.7.4/checksums/pass1 @@ -0,0 +1,24 @@ +3c3aa0e9f2aa389f357a5a2bad6e23d61f0a85e90a945ed16a558727fd94b290 /image/bin/cpp +76c3b9a3f9b90a5ca919c118b7ddb4b09f3e45ac3b4c44e9e97b8829884151ab /image/bin/gcc +266c4fe1a3e1bd4f71a6e7ab219f328205182372f1c1a400e76e7ec63dbc356f /image/bin/gcc-ar +8c6d77f879721f9a5da818cf63ba7b0e474973249639805fa3a1f658c445afe9 /image/bin/gcc-nm +41e22f3d521416fd48a6a3c6e795542aa0bff7a2e96e387eba34e0061c2e67f8 /image/bin/gcc-ranlib +1657ba8afdac845ddfa8842efa5e7bf3cfc9be23aa31f6265e3f43eead1316d4 /image/bin/gcov +76c3b9a3f9b90a5ca919c118b7ddb4b09f3e45ac3b4c44e9e97b8829884151ab /image/bin/i386-unknown-linux-gnu-gcc-4.7.4 +266c4fe1a3e1bd4f71a6e7ab219f328205182372f1c1a400e76e7ec63dbc356f /image/bin/i386-unknown-linux-gnu-gcc-ar +8c6d77f879721f9a5da818cf63ba7b0e474973249639805fa3a1f658c445afe9 /image/bin/i386-unknown-linux-gnu-gcc-nm +41e22f3d521416fd48a6a3c6e795542aa0bff7a2e96e387eba34e0061c2e67f8 /image/bin/i386-unknown-linux-gnu-gcc-ranlib +f191c9027f540bca927fcd4829e0dd96546500c17fe7eb477764aa6998b3a9ac /image/libexec/gcc/i386-unknown-linux-gnu/4.7.4/cc1 +a96e1cd5eff7904cfcd260e859a65bf38c45eafe3f81b7df537e0bb68543e856 /image/libexec/gcc/i386-unknown-linux-gnu/4.7.4/collect2 +4dd787d729d8d57434fb7cfaf2a7a42dfca2bdf665e6e5246fb56e4cee0f10fd /image/libexec/gcc/i386-unknown-linux-gnu/4.7.4/lto-wrapper +b85d6aabe0ffa30cc2fa1f6a1c899256b4051086c566d9c75299c6b2f6cbd618 /image/lib/musl/gcc/i386-unknown-linux-gnu/4.7.4/crtbegin.o +db6caa96b09785d820b2b5a6fc0e2c49dc1980a18b6a6472aa2ccdb5f38fef57 /image/lib/musl/gcc/i386-unknown-linux-gnu/4.7.4/crtbeginS.o +b85d6aabe0ffa30cc2fa1f6a1c899256b4051086c566d9c75299c6b2f6cbd618 /image/lib/musl/gcc/i386-unknown-linux-gnu/4.7.4/crtbeginT.o +42a533b816b6c060f4269a310112bde2e07329cb3c2fa5b21bbad6d2d03e90b5 /image/lib/musl/gcc/i386-unknown-linux-gnu/4.7.4/crtend.o +e5059cb3aaec30653dfb2cbc09ee555218d276d6b49b1ddc05ba8c4d63e3edfb /image/lib/musl/gcc/i386-unknown-linux-gnu/4.7.4/crtendS.o +042ed2a9c7c8ea05291f79d30ad6f2bb61a9d1a58494ee835e1cb5473b5b5b4b /image/lib/musl/gcc/i386-unknown-linux-gnu/4.7.4/crtfastmath.o +135b6793737d181031ac9042fd42c38f7c627468447f9c90f687156968282c6f /image/lib/musl/gcc/i386-unknown-linux-gnu/4.7.4/crtprec32.o +67ea5a6dc10582c4b4c3f53763c7408874c625e054dc4f7137206a1c927bc0b5 /image/lib/musl/gcc/i386-unknown-linux-gnu/4.7.4/crtprec64.o +412c06a772f2bceaef31514685c7634358b9d7a5e01b30c3b1aef2dd24ad68f9 /image/lib/musl/gcc/i386-unknown-linux-gnu/4.7.4/crtprec80.o +65082b00fb62e18e816e99a533835a5025794907b8f4d8b5075d3a607249ab08 /image/lib/musl/gcc/i386-unknown-linux-gnu/4.7.4/libgcc.a +af7c0180e5f5854947414ff8f4dac6dcc8b853cb56e592be367760fd4869829d /image/lib/musl/gcc/i386-unknown-linux-gnu/4.7.4/libgcov.a diff --git a/sysa/gcc-4.7.4/pass1.sh b/sysa/gcc-4.7.4/pass1.sh new file mode 100755 index 0000000..5cb5ec5 --- /dev/null +++ b/sysa/gcc-4.7.4/pass1.sh @@ -0,0 +1,117 @@ +# SPDX-FileCopyrightText: 2021 Andrius Štikonas +# SPDX-FileCopyrightText: 2021 Paul Dersey + +# SPDX-License-Identifier: GPL-3.0-or-later + +src_prepare() { + default + + # Needed for musl + sed -i 's/struct siginfo/siginfo_t/' libgcc/config/i386/linux-unwind.h + + # Regenerating top level Makefile requires GNU Autogen and hence Guile, + # but it is not essential for building gcc. + rm configure Makefile.in fixincludes/fixincl.x + + # Regenerate aclocal.m4 files + # grep "generated automatically by aclocal" */aclocal.m4 -l | sed -e 's#/aclocal.m4##' | tr "\n" " " | sed -e 's/ $/\n/' + for dir in intl libcpp libdecnumber; do + cd $dir + rm aclocal.m4 + AUTOCONF=autoconf-2.64 AUTOM4TE=autom4te-2.64 aclocal-1.11 --acdir=../config + cd .. + done + cd gcc + rm aclocal.m4 + AUTOCONF=autoconf-2.64 AUTOM4TE=autom4te-2.64 aclocal-1.11 --acdir=../config #AM_PROG_CC_C_O + cd .. + cd fixincludes + rm aclocal.m4 + AUTOCONF=autoconf-2.64 AUTOM4TE=autom4te-2.64 aclocal-1.11 --acdir=../gcc + cd .. + #libjava warning + for dir in boehm-gc libffi libgfortran libgo libgomp libitm libjava libmudflap libobjc libquadmath libssp libstdc++-v3 lto-plugin zlib; do + cd $dir + rm aclocal.m4 + AUTOCONF=autoconf-2.64 AUTOM4TE=autom4te-2.64 aclocal-1.11 + cd .. + done + + # Regenerate configure scripts + for dir in $(ls */configure | sed 's#/configure##' | tr "\n" " " | sed -e 's/ $/\n/' -e 's/^boehm-gc //'); do + cd $dir + rm configure + autoconf-2.64 || autoconf-2.64 + cd .. + done + + # Regenerate Makefile.in + for dir in $(ls */Makefile.am | sed 's#/Makefile.am##' | tr "\n" " " | sed -e 's/ $/\n/' -e 's/^boehm-gc //'); do + cd $dir + rm Makefile.in + AUTOCONF=autoconf-2.64 AUTOM4TE=autom4te-2.64 automake-1.11 + cd .. + done + + for dir in libdecnumber libcpp libiberty gcc; do + cd $dir + rm -f config.in + autoheader-2.64 + cd .. + done + + # Rebuild libtool files + rm config.guess config.sub ltmain.sh + libtoolize + cp "${PREFIX}/"/share/automake-1.9/config.sub . + + # Workaround for bison being too new + rm intl/plural.c + + # Rebuild flex generated files + rm gcc/gengtype-lex.c + + # Remove translation catalogs + find . -name '*.gmo' -delete + + # Pre-built texinfo files + find . -name '*.info' -delete +} + +src_configure() { + mkdir build + cd build + + for dir in libiberty libcpp libdecnumber gcc libgcc; do + mkdir $dir + cd $dir + ../../$dir/configure \ + --prefix="${PREFIX}" \ + --libdir="${PREFIX}"/lib/musl \ + --build=i386-unknown-linux-gnu \ + --target=i386-unknown-linux-gnu \ + --host=i386-unknown-linux-gnu \ + --disable-shared \ + --program-transform-name= + cd .. + done + cd .. +} + +src_compile() { + ln -s . build/build-i386-unknown-linux-gnu + for dir in libiberty libcpp libdecnumber gcc; do + # We have makeinfo now but it is not happy with gcc .info files, so skip it + make -C build/$dir LIBGCC2_INCLUDES=-I"${PREFIX}/include" \ + STMP_FIXINC= GMPLIBS="-lmpc -lmpfr -lgmp" MAKEINFO=true + done + + # host_subdir is necessary because we have slightly different build directory layout + make -C build/libgcc PATH="${PATH}:../gcc" CC=../gcc/xgcc \ + host_subdir=build CFLAGS="-I../gcc/include -I/${PREFIX}/include" +} + +src_install() { + make -C build/gcc install STMP_FIXINC= DESTDIR="${DESTDIR}" MAKEINFO=true + make -C build/libgcc install DESTDIR="${DESTDIR}" host_subdir=build +} diff --git a/sysa/libunistring-0.9.10/checksums b/sysa/libunistring-0.9.10/checksums index bba0742..3ee86ab 100644 --- a/sysa/libunistring-0.9.10/checksums +++ b/sysa/libunistring-0.9.10/checksums @@ -1,2 +1,2 @@ -41a415de1416cb8d8f325c5b4668ea080e6426f5700daa725268835f47714f9b /image/lib/musl/libunistring.a +223a0ddeae31170abb032ae31f015ba5a13c7bf1b676f6796f9ed7a38c417afa /image/lib/musl/libunistring.a 92fdc350d4141210cf1d01d271dd5a564ff6b4337b4de2f1f135a91a6541e0c2 /image/lib/musl/libunistring.la diff --git a/sysa/run2.sh b/sysa/run2.sh index ea73479..5f228cf 100755 --- a/sysa/run2.sh +++ b/sysa/run2.sh @@ -60,6 +60,8 @@ build texinfo-6.7 build zlib-1.2.11 +build gcc-4.7.4 pass1.sh checksums/pass1 + build libunistring-0.9.10 if [ "$FORCE_TIMESTAMPS" = True ] ; then