Integrated Treetap into Maple Linux #1

Merged
ahill merged 74 commits from treetap into main 2026-01-25 22:51:04 +00:00
4 changed files with 28 additions and 13 deletions
Showing only changes of commit 25bd0eb0b4 - Show all commits

View File

@ -1,5 +1,7 @@
#!/bin/sh -e
export CC=clang
export CFLAGS="-O3 -pipe"
export CXX=clang++
export CXXFLAGS=$CFLAGS
# xz Build
@ -7,7 +9,8 @@ export CXXFLAGS=$CFLAGS
cd /maple
treetap build sources/xz/xz.spec
cd .treetap/sources/xz/*/*/xz-*/
make -j $(nproc) install DESTDIR=/
echo "Bootstrapping xz"
make -j $(nproc) install DESTDIR=/ > /dev/null 2>&1
# libarchive Build
# NOTE: bsdcpio is needed to run "treetap package", so we manually install.
@ -15,7 +18,8 @@ make -j $(nproc) install DESTDIR=/
cd /maple
treetap build sources/libarchive/libarchive.spec
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
# 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
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
treetap fetch sources/$pkg/$pkg.spec
treetap build sources/$pkg/$pkg.spec
treetap package sources/$pkg/$pkg.spec
treetap install .treetap/packages/*/$pkg-*.cpio.xz
done
treetap fetch /maple/sources/$pkg/$pkg.spec
treetap build /maple/sources/$pkg/$pkg.spec
treetap package /maple/sources/$pkg/$pkg.spec
treetap install /maple/.treetap/packages/*/$pkg-*.cpio.xz
done

View File

@ -14,7 +14,7 @@ build() {
# which requires musl-fts to function, which we can't build without
# libtoolize. Strangely enough, libtool is hard-coded to /bin/sh, so
# 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() {
@ -24,4 +24,4 @@ clean() {
package() {
cd libtool-*/
make -j $TT_PROCS install DESTDIR=$TT_INSTALLDIR
}
}

View File

@ -28,5 +28,6 @@ package() {
DESTDIR=$TT_INSTALLDIR make install
# NOTE: Apparently, the linker library has an entry point that we can use as
# 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
}

View File

@ -2,12 +2,22 @@
SRC_HASH="e093ef184d7f9a1b9797e2465296f55510adb6dab8842b0c3ed53329663096dc"
SRC_NAME="perl"
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() {
tar xf ../$SRC_FILENAME
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
}
@ -17,5 +27,5 @@ clean() {
package() {
cd perl-*/
make -O -j $TT_PROCS DESTDIR=$TT_INSTALLDIR
}
make -O -j $TT_PROCS install.perl DESTDIR=$TT_INSTALLDIR
}