44 lines
1.6 KiB
Bash
Executable File
44 lines
1.6 KiB
Bash
Executable File
#!/bin/sh -e
|
|
export CC=clang
|
|
export CFLAGS="-O3 -pipe"
|
|
export CXX=clang++
|
|
export CXXFLAGS=$CFLAGS
|
|
|
|
# xz Build
|
|
# NOTE: xz is needed to run "treetap package", so we manually install. ~ahill
|
|
cd /maple
|
|
treetap build sources/xz/xz.spec
|
|
cd .treetap/sources/xz/*/*/xz-*/
|
|
echo -n "Bootstrapping xz... "
|
|
make -j $(nproc) install DESTDIR=/ > /dev/null 2>&1
|
|
echo "Done!"
|
|
|
|
# libarchive Build
|
|
# NOTE: bsdcpio is needed to run "treetap package", so we manually install.
|
|
# ~ahill
|
|
cd /maple
|
|
treetap build sources/libarchive/libarchive.spec
|
|
cd .treetap/sources/libarchive/*/*/libarchive-*/
|
|
echo -n "Bootstrapping libarchive... "
|
|
make -j $(nproc) install DESTDIR=/ > /dev/null 2>&1
|
|
echo "Done!"
|
|
|
|
# Now we can build stuff exclusively with treetap
|
|
# NOTE: bzip2, xz, and zlib need to be built before libarchive or we will be
|
|
# missing functionality! ~ahill
|
|
# NOTE: CMake requires LibreSSL and libarchive to function properly so it is
|
|
# built after them. ~ahill
|
|
# NOTE: flex requires byacc and m4 to build. ~ahill
|
|
# NOTE: autoconf requires GNU m4 and perl to build. ~ahill
|
|
# NOTE: automake requires m4 to build. ~ahill
|
|
# NOTE: groff requires Perl to build. ~ahill
|
|
# NOTE: nasm requires autoconf and automake to build. ~ahill
|
|
cd /maple
|
|
PACKAGES="byacc bzip2 coreutils dash findutils grep gzip libelf libressl m4 make mawk muon musl perl pkgconf sed tar xz zlib autoconf automake flex groff libarchive libtool nasm cmake"
|
|
for pkg in $PACKAGES; do
|
|
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
|