Fixed libtool, musl, and perl for rootbuild

This commit is contained in:
Alexander Hill 2025-11-28 10:53:37 -05:00
parent 679f263c2f
commit 25bd0eb0b4
4 changed files with 28 additions and 13 deletions

View File

@ -1,5 +1,7 @@
#!/bin/sh -e #!/bin/sh -e
export CC=clang
export CFLAGS="-O3 -pipe" export CFLAGS="-O3 -pipe"
export CXX=clang++
export CXXFLAGS=$CFLAGS export CXXFLAGS=$CFLAGS
# xz Build # xz Build
@ -7,7 +9,8 @@ export CXXFLAGS=$CFLAGS
cd /maple cd /maple
treetap build sources/xz/xz.spec treetap build sources/xz/xz.spec
cd .treetap/sources/xz/*/*/xz-*/ cd .treetap/sources/xz/*/*/xz-*/
make -j $(nproc) install DESTDIR=/ echo "Bootstrapping xz"
make -j $(nproc) install DESTDIR=/ > /dev/null 2>&1
# libarchive Build # libarchive Build
# NOTE: bsdcpio is needed to run "treetap package", so we manually install. # NOTE: bsdcpio is needed to run "treetap package", so we manually install.
@ -15,7 +18,8 @@ make -j $(nproc) install DESTDIR=/
cd /maple cd /maple
treetap build sources/libarchive/libarchive.spec treetap build sources/libarchive/libarchive.spec
cd .treetap/sources/libarchive/*/*/libarchive-*/ cd .treetap/sources/libarchive/*/*/libarchive-*/
make -j $(nproc) install DESTDIR=/ echo "Bootstrapping libarchive"
make -j $(nproc) install DESTDIR=/ > /dev/null 2>&1
# Now we can build stuff exclusively with treetap # Now we can build stuff exclusively with treetap
# NOTE: bzip2, xz, and zlib need to be built before libarchive or we will be # NOTE: bzip2, xz, and zlib need to be built before libarchive or we will be
@ -31,8 +35,8 @@ make -j $(nproc) install DESTDIR=/
cd /maple cd /maple
PACKAGES="byacc bzip2 libressl m4 make muon musl ncurses perl pkgconf xz zlib autoconf automake editline flex libarchive libtool musl-fts cmake mold" PACKAGES="byacc bzip2 libressl m4 make muon musl ncurses perl pkgconf xz zlib autoconf automake editline flex libarchive libtool musl-fts cmake mold"
for pkg in $PACKAGES; do for pkg in $PACKAGES; do
treetap fetch sources/$pkg/$pkg.spec treetap fetch /maple/sources/$pkg/$pkg.spec
treetap build sources/$pkg/$pkg.spec treetap build /maple/sources/$pkg/$pkg.spec
treetap package sources/$pkg/$pkg.spec treetap package /maple/sources/$pkg/$pkg.spec
treetap install .treetap/packages/*/$pkg-*.cpio.xz treetap install /maple/.treetap/packages/*/$pkg-*.cpio.xz
done done

View File

@ -14,7 +14,7 @@ build() {
# which requires musl-fts to function, which we can't build without # which requires musl-fts to function, which we can't build without
# libtoolize. Strangely enough, libtool is hard-coded to /bin/sh, so # libtoolize. Strangely enough, libtool is hard-coded to /bin/sh, so
# I don't know why libtoolize uses /usr/bin/env. ~ahill # I don't know why libtoolize uses /usr/bin/env. ~ahill
sed -i "s|/usr/bin/env sh|/bin/sh" libtoolize sed -i "s|/usr/bin/env sh|/bin/sh|" libtoolize
} }
clean() { clean() {

View File

@ -28,5 +28,6 @@ package() {
DESTDIR=$TT_INSTALLDIR make install DESTDIR=$TT_INSTALLDIR make install
# NOTE: Apparently, the linker library has an entry point that we can use as # NOTE: Apparently, the linker library has an entry point that we can use as
# ldd. What kind of black magic is this? ~ahill # ldd. What kind of black magic is this? ~ahill
mkdir -p $TT_INSTALLDIR/bin
ln -sf /lib/ld-musl-$TT_ARCH.so.1 $TT_INSTALLDIR/bin/ldd ln -sf /lib/ld-musl-$TT_ARCH.so.1 $TT_INSTALLDIR/bin/ldd
} }

View File

@ -2,12 +2,22 @@
SRC_HASH="e093ef184d7f9a1b9797e2465296f55510adb6dab8842b0c3ed53329663096dc" SRC_HASH="e093ef184d7f9a1b9797e2465296f55510adb6dab8842b0c3ed53329663096dc"
SRC_NAME="perl" SRC_NAME="perl"
SRC_URL="https://www.cpan.org/src/5.0/perl-5.42.0.tar.gz" SRC_URL="https://www.cpan.org/src/5.0/perl-5.42.0.tar.gz"
SRC_VERSION="5.42.0" SRC_VERSION="5.42.0r1"
build() { build() {
tar xf ../$SRC_FILENAME tar xf ../$SRC_FILENAME
cd perl-*/ cd perl-*/
./Configure -des # NOTE: Not a Perl user, so I hope I don't screw this up. ~ahill
./Configure -des \
-D bin=$TT_BINDIR \
-D installstyle=lib/perl5 \
-D prefix=$TT_PREFIX \
-D scriptdir=$TT_BINDIR \
-D sysroot=$TT_SYSROOT \
-D useshrplib \
-D usethreads \
-D usrinc=$TT_INCLUDEDIR \
-D vendorprefix=$TT_PREFIX
make -O -j $TT_PROCS make -O -j $TT_PROCS
} }
@ -17,5 +27,5 @@ clean() {
package() { package() {
cd perl-*/ cd perl-*/
make -O -j $TT_PROCS DESTDIR=$TT_INSTALLDIR make -O -j $TT_PROCS install.perl DESTDIR=$TT_INSTALLDIR
} }