Merge pull request #61 from stikonas/sed

Rebuild sed and add libtool
This commit is contained in:
fosslinux 2021-03-13 11:05:14 +11:00 committed by GitHub
commit e655cb97f5
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
14 changed files with 138 additions and 4 deletions

View File

@ -16,6 +16,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
8e8ce6175d435e7df8c9bbb0e5fd5357691cdc28c1a2d00fdd9b47b7643bec3a libtool-1.4.tar.gz
093c993767f563a11e41c1cf887f4e9065247129679d4c1e213d0544d16d8303 m4-1.4.7.tar.gz
64b30b41fde2ebf669e6af489883fb1df6a06ac30555a96cfa3c39ecce7267dd make-3.80.tar.gz
1370c9a812b2cf2a7d92802510cca0058cc37e66a7bedd70051f0a34015022a3 musl-1.1.24.tar.gz
@ -25,5 +26,6 @@ ecb5c6469d732bcf01d6ec1afe9e64f1668caba5bfdb103c28d7f537ba3cdb8a patch-2.5.9.ta
1184478b298978b164a383ed5661e3a117c48ab97d6d0ab7ef614cdbe918b9eb perl5.004_05.tar.gz
93f41cd87ab8ee83391cfa39a63b076adeb7c3501d2efa31b98d0ef037122bd1 perl5.005_03.tar.gz
a5e66f6ebf701b0567f569f57cae82abf5ce57af70a2b45ae71323b61f49134e perl-5.6.2.tar.gz
c365874794187f8444e5d22998cd5888ffa47f36def4b77517a808dec27c0600 sed-4.0.9.tar.gz
404a8d72427a559c074e581bf8f7d5a73283faf249cd3faf6dc1c6faf97d07c7 sha-2-61555d.tar.gz
c6c37e888b136ccefab903c51149f4b7bd659d69d4aea21245f61053a57aa60a tar-1.12.tar.gz

View File

@ -251,6 +251,11 @@ tcc 0.9.27 (musl v2)
Now that we have a fixed ``musl``, we now recompile ``tcc`` as ``tcc``
uses floats extensively.
sed 4.0.9
=========
A slightly newer ``sed`` is built against musl.
.. _bzip2-1.0.8-1:
bzip2 1.0.8
@ -372,8 +377,8 @@ 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.
GNU Automake is a tool for automatically generating Makefile.in files. It is another
major part of 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
@ -398,6 +403,12 @@ autoconf 2.12
Yet another old autoconf version that we will need for GNU Binutils.
libtool 1.4
===========
GNU Libtool is the final part of GNU Autotools. It is a script used to hide away differences
when compiling shared libraries on different platforms.
binutils 2.14
=============
@ -408,6 +419,11 @@ In particular we can now use full featured ``ar`` instead of ``tcc -ar``,
the GNU linker ``ld``, which allows us building shared libraries,
and the GNU assembler ``as``.
libtool 1.4
===========
Rebuild libtool, so that it uses GNU binutils when creating shared libraries.
musl 1.1.24 (v3)
================

View File

@ -216,12 +216,18 @@ 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
# libtool 1.4
get_file https://ftp.gnu.org/gnu/libtool/libtool-1.4.tar.gz
# binutils 2.14
get_file https://ftp.gnu.org/gnu/binutils/binutils-2.14.tar.bz2
# bash 3.2.57
get_file https://ftp.gnu.org/gnu/bash/bash-3.2.57.tar.gz
# sed 4.0.9
get_file ftp://ftp.gnu.org/gnu/sed/sed-4.0.9.tar.gz
# General cleanup
find tmp -name .git -exec rm -rf \;

View File

@ -12,3 +12,7 @@ src_prepare() {
src_configure() {
./configure --prefix=${PREFIX} --program-suffix=-2.13
}
src_compile() {
make MAKEINFO=true
}

View File

@ -21,6 +21,11 @@ src_prepare() {
cd ..
done
# Rebuild libtool files
rm config.guess config.sub ltmain.sh
libtoolize
cp ${PREFIX}/share/aclocal/libtool.m4 aclocal.m4
# automake errors out without this
cd gas
mv config/m68k-parse.y .

View File

@ -14,7 +14,7 @@ e49bba1ea6a61fb90f754e8de4692ed0810e7c68429f0b22fbf37670607a7807 /after/bin/od
82657d370bca61bf6a6a4cbfb621614582519f2e938be1a4d09c135344c7c889 /after/bin/strings
fe6eaa5cf6e6621356fff3cd047c7cd0051490e895915027b6d4439159707f36 /after/bin/strip
f5934b4f057018b7f14adc197460d8b238cff80294234d771a17a408d5794104 /after/lib/musl/libbfd.a
3c9ab37cff5f732bca1258879fabf3c6c734890de1d7aa6381a5945d38f31c86 /after/lib/musl/libbfd.la
cd472e56e7e9276e2d6eea4b0aecd068cdbbd7d767dd913e7d72e43457f6405a /after/lib/musl/libbfd.la
61a03b0d2eafa5ad50242a7ee8ce8664c2ef342bf727f46ceab8999b61a9a61b /after/lib/musl/libiberty.a
6530574bde4f5c57b194ae4229efb9784a97cc89cd45fc0d852e9afb5e103e4f /after/lib/musl/libopcodes.a
d3c307c7a2cd62a3fc39aa933f40bee94b94aff5db58a3652689ebfe0f616c82 /after/lib/musl/libopcodes.la
817032ae31517f4261ef997dc33a487a5801549c879dd4f4803ba7d80b3430a6 /after/lib/musl/libopcodes.la

View File

@ -0,0 +1,2 @@
99cff07a501eb0062fc49db1baec30c83afc0c92f2f8478fc0e6ca7439d2c9b6 /after/lib/musl/libltdl.a
c247c7c1516ed35414c8b038535969a67ce4bbfd2abdfed85a89941bca09d55d /after/lib/musl/libltdl.la

View File

@ -0,0 +1,2 @@
23a6e91bff3d5bac9b0317b60bd1c999f94846f62085bf4d227dfa8499120d22 /after/lib/musl/libltdl.a
c247c7c1516ed35414c8b038535969a67ce4bbfd2abdfed85a89941bca09d55d /after/lib/musl/libltdl.la

23
sysa/libtool-1.4/pass1.sh Executable file
View File

@ -0,0 +1,23 @@
# SPDX-FileCopyrightText: 2021 Andrius Štikonas <andrius@stikonas.eu>
#
# SPDX-License-Identifier: GPL-3.0-or-later
src_prepare() {
default_src_prepare
AUTOCONF=autoconf-2.13 AUTOHEADER=autoheader-2.13 ACLOCAL=aclocal-1.4 AUTOMAKE=automake-1.4 ./bootstrap
}
src_configure() {
CC=tcc LD=true AR="tcc -ar" ./configure \
--prefix="${PREFIX}" \
--libdir="${PREFIX}/lib/musl" \
--disable-shared \
--host=i386-unknown-linux \
--target=i386-unknown-linux \
--build=i386-unknown-linux
}
src_compile() {
AR="tcc -ar" AR_FLAGS="cr" make
}

19
sysa/libtool-1.4/pass2.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() {
default_src_prepare
AUTOCONF=autoconf-2.13 AUTOHEADER=autoheader-2.13 ACLOCAL=aclocal-1.4 AUTOMAKE=automake-1.4 ./bootstrap
}
src_configure() {
CC=tcc ./configure \
--prefix="${PREFIX}" \
--libdir="${PREFIX}/lib/musl" \
--disable-shared \
--host=i386-unknown-linux \
--target=i386-unknown-linux \
--build=i386-unknown-linux
}

View File

@ -36,6 +36,9 @@ build musl-1.1.24 musl-1.1.24.sh checksums/pass2
# Rebuild tcc-musl using new musl
build tcc-0.9.27 tcc-musl-pass2.sh checksums/tcc-musl-pass2
# Rebuild sed using musl
build sed-4.0.9
# Rebuild bzip2 using musl
build bzip2-1.0.8 bzip2-1.0.8.sh checksums/bzip2-pass2
@ -82,8 +85,12 @@ build autoconf-2.13
build autoconf-2.12
build libtool-1.4 pass1.sh checksums/pass1
build binutils-2.14
build libtool-1.4 pass2.sh checksums/pass2
# Build musl with fewer patches
build musl-1.1.24 binutils-rebuild.sh checksums/pass3 patches-pass3
populate_device_nodes

1
sysa/sed-4.0.9/checksums Normal file
View File

@ -0,0 +1 @@
de7d06a5c0b0a4b52307771f60dd711d0ae9ae0b14562ad6d26942785aaf0909 /after/bin/sed

33
sysa/sed-4.0.9/mk/main.mk Normal file
View File

@ -0,0 +1,33 @@
# SPDX-FileCopyrightText: 2021 Andrius Štikonas <andrius@stikonas.eu>
#
# SPDX-License-Identifier: GPL-3.0-or-later
CC = tcc
AR = tcc -ar
CPPFLAGS = -DENABLE_NLS=0 \
-DHAVE_FCNTL_H \
-DHAVE_ALLOCA_H \
-DSED_FEATURE_VERSION=\"4.0\" \
-DVERSION=\"4.0.9\" \
-DPACKAGE=\"sed\"
CFLAGS = -I . -I lib
.PHONY: all
LIB_SRC = alloca getopt1 getopt utils regex obstack strverscmp mkstemp
LIB_OBJ = $(addprefix lib/, $(addsuffix .o, $(LIB_SRC)))
SED_SRC = compile execute regexp fmt sed
SED_OBJ = $(addprefix sed/, $(addsuffix .o, $(SED_SRC)))
all: sed/sed
libsed.a: $(LIB_OBJ)
$(AR) cr $@ $^
sed/sed: $(SED_OBJ) libsed.a
$(CC) -o $@ $^
install:
install sed/sed $(PREFIX)/bin

14
sysa/sed-4.0.9/sed-4.0.9.sh Executable 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() {
default_src_prepare
cp lib/regex_.h lib/regex.h
touch config.h
}
src_install() {
default_src_install
}