diff options
| -rw-r--r-- | STATUS.md | 4 | ||||
| -rwxr-xr-x | bootstrap.sh | 6 | ||||
| -rwxr-xr-x | rootbuild.sh | 14 | ||||
| -rw-r--r-- | sources/bsdutils/bsdutils.spec | 82 | ||||
| -rw-r--r-- | sources/busybox/.config | 112 | ||||
| -rwxr-xr-x | sources/busybox/busybox.spec | 4 | ||||
| -rw-r--r-- | sources/editline/editline.spec | 24 | ||||
| -rw-r--r-- | sources/musl-fts/musl-fts.spec | 24 | ||||
| -rw-r--r-- | sources/ncurses/ncurses.spec | 37 |
9 files changed, 67 insertions, 240 deletions
@@ -8,12 +8,10 @@ Definitions: | ------------- | ---------- | ------------ | | `autoconf` | Yes | Yes | | `automake` | Yes | Yes | -| `bsdutils` | Yes | Yes | | `busybox` | Yes | Yes | | `byacc` | Yes | Yes | | `bzip2` | Yes | Yes | | `cmake` | Yes | Yes | -| `editline` | Yes | Yes | | `flex` | Yes | Yes | | `groff` | Yes | Yes | | `libarchive` | Yes | Yes | @@ -27,10 +25,8 @@ Definitions: | `mold` | Yes | Yes | | `muon` | Yes | Yes | | `musl` | Yes | Yes | -| `musl-fts` | Yes | Yes | | `nano` | Yes | Yes | | `nasm` | Yes | Yes | -| `ncurses` | Yes | Yes | | `perl` | Yes | Yes | | `pkgconf` | Yes | Yes | | `ruby` | Yes | Yes | diff --git a/bootstrap.sh b/bootstrap.sh index b531aa7..87704f4 100755 --- a/bootstrap.sh +++ b/bootstrap.sh @@ -239,17 +239,15 @@ cp $TREETAP $BOOTSTRAP/root/bin/ # Prepare for chroot build mkdir -p $BOOTSTRAP/root/maple/ -cp rootbuild.sh $BOOTSTRAP/root/maple/ +cp $BOOTSTRAP/../rootbuild.sh $BOOTSTRAP/root/maple/ export TT_DIR=$BOOTSTRAP/root/maple/.treetap SOURCES=( autoconf automake - bsdutils busybox byacc bzip2 cmake - editline flex libarchive libressl @@ -261,8 +259,6 @@ SOURCES=( mold muon musl - musl-fts - ncurses perl pkgconf xz diff --git a/rootbuild.sh b/rootbuild.sh index 75e424c..1fbc33b 100755 --- a/rootbuild.sh +++ b/rootbuild.sh @@ -9,8 +9,9 @@ export CXXFLAGS=$CFLAGS cd /maple treetap build sources/xz/xz.spec cd .treetap/sources/xz/*/*/xz-*/ -echo "Bootstrapping 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. @@ -18,23 +19,24 @@ make -j $(nproc) install DESTDIR=/ > /dev/null 2>&1 cd /maple treetap build sources/libarchive/libarchive.spec cd .treetap/sources/libarchive/*/*/libarchive-*/ -echo "Bootstrapping 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 needs to be built before Busybox ~ahill # 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: mold requires CMake to build. ~ahill # NOTE: flex requires byacc and m4 to build. ~ahill -# NOTE: editline requires ncurses to build. ~ahill # NOTE: autoconf requires GNU m4 and perl to build. ~ahill # NOTE: automake requires m4 to build. ~ahill -# NOTE: musl-fts requires autoconf, automake, and libtool to build. ~ahill -# NOTE: bsdutils requires musl-fts and muon to build. ~ahill +# NOTE: groff requires Perl to build. ~ahill +# NOTE: nasm requires autoconf and automake to build. ~ahill cd /maple -PACKAGES="busybox byacc bzip2 groff libressl m4 make muon musl nasm ncurses perl pkgconf xz zlib autoconf automake editline flex libarchive libtool musl-fts bsdutils cmake mold" +PACKAGES="bzip2 busybox byacc libressl m4 make muon musl perl pkgconf xz zlib autoconf automake flex groff libarchive libtool nasm cmake mold" for pkg in $PACKAGES; do treetap fetch /maple/sources/$pkg/$pkg.spec treetap build /maple/sources/$pkg/$pkg.spec diff --git a/sources/bsdutils/bsdutils.spec b/sources/bsdutils/bsdutils.spec deleted file mode 100644 index 6c2eb63..0000000 --- a/sources/bsdutils/bsdutils.spec +++ /dev/null @@ -1,82 +0,0 @@ -# Maintainer: Alexander Hill <ahill@breadpudding.dev> -SRC_FILENAME="bsdutils-13.2.tar.gz" -SRC_HASH="4547990309afe686c6f36c2a4f7ac5806e0064b182dd1f93f52dda7661979a3c" -SRC_NAME="bsdutils" -SRC_REVISION=1 -SRC_URL="https://codeberg.org/dcantrell/bsdutils/archive/v13.2.tar.gz" -SRC_VERSION="13.2" - -# NOTE: Even though the install implementation from bsdutils is being used, some -# packages may try to use -D and -t, which are only supported under -# Busybox's implementation. ~ahill - -build() { - tar xf ../$SRC_FILENAME - cd bsdutils/ - # NOTE: Before we start building bsdutils, we tell it *not* to build df/wc, - # since that requires an additional dependency (libxo) and we already - # have BusyBox's version of df and wc to replace it. ~ahill - sed -i "/libxo/d" meson.build - sed -i "/'df'/d" src/meson.build - sed -i "/'wc'/d" src/meson.build - # NOTE: Apparently, rpmatch is REQUIRED, despite meson.build stating that it - # is optional. Disabling find in favor of BusyBox to prevent another - # dependency from being introduced. ~ahill - sed -i "/'find'/d" src/meson.build - # NOTE: Finally, we have a *lot* of duplicate commands between bsdutils and - # Busybox. After reviewing *all* of the commands they share, these are - # the commands I believe Busybox should handle. ~ahill - sed -i "/'dirname'/d" src/meson.build - sed -i "/'echo'/d" src/meson.build - sed -i "/'expand'/d" src/meson.build - sed -i "/'expr'/d" src/meson.build - sed -i "/'false'/d" src/meson.build - sed -i "/'fold'/d" src/meson.build - sed -i "/'groups'/d" src/meson.build - sed -i "/'head'/d" src/meson.build - sed -i "/'hexdump'/d" src/meson.build - sed -i "/'kill'/d" src/meson.build - sed -i "/'ln'/d" src/meson.build - sed -i "/'logname'/d" src/meson.build - sed -i "/'ls'/d" src/meson.build - sed -i "/'mkdir'/d" src/meson.build - sed -i "/'mkfifo'/d" src/meson.build - sed -i "/'mknod'/d" src/meson.build - sed -i "/'mktemp'/d" src/meson.build - sed -i "/'mv'/d" src/meson.build - sed -i "/'nice'/d" src/meson.build - sed -i "/'nohup'/d" src/meson.build - sed -i "/'paste'/d" src/meson.build - sed -i "/'printenv'/d" src/meson.build - sed -i "/'printf'/d" src/meson.build - sed -i "/'pwd'/d" src/meson.build - sed -i "/'rm'/d" src/meson.build - sed -i "/'rmdir'/d" src/meson.build - sed -i "/'sed'/d" src/meson.build - sed -i "/'sleep'/d" src/meson.build - sed -i "/'stat'/d" src/meson.build - sed -i "/'stty'/d" src/meson.build - sed -i "/'sync'/d" src/meson.build - sed -i "/'tail'/d" src/meson.build - sed -i "/'tee'/d" src/meson.build - sed -i "/'test'/d" src/meson.build - sed -i "/'true'/d" src/meson.build - sed -i "/'tty'/d" src/meson.build - sed -i "/'uname'/d" src/meson.build - sed -i "/'unexpand'/d" src/meson.build - sed -i "/'uniq'/d" src/meson.build - sed -i "/'users'/d" src/meson.build - sed -i "/'whoami'/d" src/meson.build - sed -i "/'xargs'/d" src/meson.build - muon setup $TT_MESON_COMMON build - muon samu -C build -} - -clean() { - rm -rf bsdutils/ -} - -package() { - cd bsdutils/ - muon -C build install -d $TT_INSTALLDIR -} diff --git a/sources/busybox/.config b/sources/busybox/.config index 5c29f10..1d41ead 100644 --- a/sources/busybox/.config +++ b/sources/busybox/.config @@ -1,7 +1,7 @@ # # Automatically generated make config: don't edit # Busybox version: 1.36.1 -# Sun Dec 7 02:40:00 2025 +# Sat Dec 20 20:41:36 2025 # CONFIG_HAVE_DOT_CONFIG=y @@ -217,56 +217,56 @@ CONFIG_FEATURE_PRESERVE_HARDLINKS=y # CONFIG_FEATURE_HUMAN_READABLE=y CONFIG_BASENAME=y -# CONFIG_CAT is not set -# CONFIG_FEATURE_CATN is not set -# CONFIG_FEATURE_CATV is not set -# CONFIG_CHGRP is not set -# CONFIG_CHMOD is not set -# CONFIG_CHOWN is not set -# CONFIG_FEATURE_CHOWN_LONG_OPTIONS is not set -# CONFIG_CHROOT is not set -# CONFIG_CKSUM is not set +CONFIG_CAT=y +CONFIG_FEATURE_CATN=y +CONFIG_FEATURE_CATV=y +CONFIG_CHGRP=y +CONFIG_CHMOD=y +CONFIG_CHOWN=y +CONFIG_FEATURE_CHOWN_LONG_OPTIONS=y +CONFIG_CHROOT=y +CONFIG_CKSUM=y CONFIG_CRC32=y -# CONFIG_COMM is not set -# CONFIG_CP is not set -# CONFIG_FEATURE_CP_LONG_OPTIONS is not set -# CONFIG_FEATURE_CP_REFLINK is not set -# CONFIG_CUT is not set -# CONFIG_FEATURE_CUT_REGEX is not set -# CONFIG_DATE is not set -# CONFIG_FEATURE_DATE_ISOFMT is not set +CONFIG_COMM=y +CONFIG_CP=y +CONFIG_FEATURE_CP_LONG_OPTIONS=y +CONFIG_FEATURE_CP_REFLINK=y +CONFIG_CUT=y +CONFIG_FEATURE_CUT_REGEX=y +CONFIG_DATE=y +CONFIG_FEATURE_DATE_ISOFMT=y # CONFIG_FEATURE_DATE_NANO is not set -# CONFIG_FEATURE_DATE_COMPAT is not set -# CONFIG_DD is not set -# CONFIG_FEATURE_DD_SIGNAL_HANDLING is not set -# CONFIG_FEATURE_DD_THIRD_STATUS_LINE is not set -# CONFIG_FEATURE_DD_IBS_OBS is not set -# CONFIG_FEATURE_DD_STATUS is not set +CONFIG_FEATURE_DATE_COMPAT=y +CONFIG_DD=y +CONFIG_FEATURE_DD_SIGNAL_HANDLING=y +CONFIG_FEATURE_DD_THIRD_STATUS_LINE=y +CONFIG_FEATURE_DD_IBS_OBS=y +CONFIG_FEATURE_DD_STATUS=y CONFIG_DF=y CONFIG_FEATURE_DF_FANCY=y CONFIG_FEATURE_SKIP_ROOTFS=y CONFIG_DIRNAME=y CONFIG_DOS2UNIX=y CONFIG_UNIX2DOS=y -# CONFIG_DU is not set -# CONFIG_FEATURE_DU_DEFAULT_BLOCKSIZE_1K is not set +CONFIG_DU=y +CONFIG_FEATURE_DU_DEFAULT_BLOCKSIZE_1K=y CONFIG_ECHO=y CONFIG_FEATURE_FANCY_ECHO=y -# CONFIG_ENV is not set +CONFIG_ENV=y CONFIG_EXPAND=y CONFIG_UNEXPAND=y CONFIG_EXPR=y CONFIG_EXPR_MATH_SUPPORT_64=y -# CONFIG_FACTOR is not set +CONFIG_FACTOR=y CONFIG_FALSE=y CONFIG_FOLD=y CONFIG_HEAD=y CONFIG_FEATURE_FANCY_HEAD=y CONFIG_HOSTID=y -# CONFIG_ID is not set +CONFIG_ID=y CONFIG_GROUPS=y -# CONFIG_INSTALL is not set -# CONFIG_FEATURE_INSTALL_LONG_OPTIONS is not set +CONFIG_INSTALL=y +CONFIG_FEATURE_INSTALL_LONG_OPTIONS=y CONFIG_LINK=y CONFIG_LN=y CONFIG_LOGNAME=y @@ -296,7 +296,7 @@ CONFIG_MKNOD=y CONFIG_MKTEMP=y CONFIG_MV=y CONFIG_NICE=y -# CONFIG_NL is not set +CONFIG_NL=y CONFIG_NOHUP=y CONFIG_NPROC=y CONFIG_OD=y @@ -304,12 +304,12 @@ CONFIG_PASTE=y CONFIG_PRINTENV=y CONFIG_PRINTF=y CONFIG_PWD=y -# CONFIG_READLINK is not set -# CONFIG_FEATURE_READLINK_FOLLOW is not set -# CONFIG_REALPATH is not set +CONFIG_READLINK=y +CONFIG_FEATURE_READLINK_FOLLOW=y +CONFIG_REALPATH=y CONFIG_RM=y CONFIG_RMDIR=y -# CONFIG_SEQ is not set +CONFIG_SEQ=y CONFIG_SHRED=y CONFIG_SHUF=y CONFIG_SLEEP=y @@ -317,8 +317,8 @@ CONFIG_FEATURE_FANCY_SLEEP=y CONFIG_SORT=y CONFIG_FEATURE_SORT_BIG=y # CONFIG_FEATURE_SORT_OPTIMIZE_MEMORY is not set -# CONFIG_SPLIT is not set -# CONFIG_FEATURE_SPLIT_FANCY is not set +CONFIG_SPLIT=y +CONFIG_FEATURE_SPLIT_FANCY=y CONFIG_STAT=y CONFIG_FEATURE_STAT_FORMAT=y CONFIG_FEATURE_STAT_FILESYSTEM=y @@ -336,21 +336,21 @@ CONFIG_TEST=y CONFIG_TEST1=y CONFIG_TEST2=y CONFIG_FEATURE_TEST_64=y -# CONFIG_TIMEOUT is not set -# CONFIG_TOUCH is not set -# CONFIG_FEATURE_TOUCH_SUSV3 is not set -# CONFIG_TR is not set -# CONFIG_FEATURE_TR_CLASSES is not set -# CONFIG_FEATURE_TR_EQUIV is not set +CONFIG_TIMEOUT=y +CONFIG_TOUCH=y +CONFIG_FEATURE_TOUCH_SUSV3=y +CONFIG_TR=y +CONFIG_FEATURE_TR_CLASSES=y +CONFIG_FEATURE_TR_EQUIV=y CONFIG_TRUE=y -# CONFIG_TRUNCATE is not set -# CONFIG_TSORT is not set +CONFIG_TRUNCATE=y +CONFIG_TSORT=y CONFIG_TTY=y CONFIG_UNAME=y CONFIG_UNAME_OSNAME="GNU/Linux" CONFIG_BB_ARCH=y CONFIG_UNIQ=y -# CONFIG_UNLINK is not set +CONFIG_UNLINK=y CONFIG_USLEEP=y CONFIG_UUDECODE=y CONFIG_BASE32=y @@ -358,11 +358,11 @@ CONFIG_BASE64=y CONFIG_UUENCODE=y CONFIG_WC=y CONFIG_FEATURE_WC_LARGE=y -# CONFIG_WHO is not set +CONFIG_WHO=y CONFIG_W=y CONFIG_USERS=y CONFIG_WHOAMI=y -# CONFIG_YES is not set +CONFIG_YES=y # # Console Utilities @@ -404,7 +404,7 @@ CONFIG_FEATURE_RUN_PARTS_FANCY=y CONFIG_START_STOP_DAEMON=y CONFIG_FEATURE_START_STOP_DAEMON_LONG_OPTIONS=y CONFIG_FEATURE_START_STOP_DAEMON_FANCY=y -# CONFIG_WHICH is not set +CONFIG_WHICH=y # # klibc-utils @@ -760,12 +760,12 @@ CONFIG_ADJTIMEX=y CONFIG_ASCII=y # CONFIG_BBCONFIG is not set # CONFIG_FEATURE_COMPRESS_BBCONFIG is not set -# CONFIG_BC is not set -# CONFIG_DC is not set -# CONFIG_FEATURE_DC_BIG is not set +CONFIG_BC=y +CONFIG_DC=y +CONFIG_FEATURE_DC_BIG=y # CONFIG_FEATURE_DC_LIBM is not set -# CONFIG_FEATURE_BC_INTERACTIVE is not set -# CONFIG_FEATURE_BC_LONG_OPTIONS is not set +CONFIG_FEATURE_BC_INTERACTIVE=y +CONFIG_FEATURE_BC_LONG_OPTIONS=y CONFIG_BEEP=y CONFIG_FEATURE_BEEP_FREQ=4000 CONFIG_FEATURE_BEEP_LENGTH_MS=30 @@ -882,7 +882,7 @@ CONFIG_FEATURE_FTPD_AUTHENTICATION=y CONFIG_FTPGET=y CONFIG_FTPPUT=y CONFIG_FEATURE_FTPGETPUT_LONG_OPTIONS=y -# CONFIG_HOSTNAME is not set +CONFIG_HOSTNAME=y CONFIG_DNSDOMAINNAME=y CONFIG_HTTPD=y CONFIG_FEATURE_HTTPD_PORT_DEFAULT=80 diff --git a/sources/busybox/busybox.spec b/sources/busybox/busybox.spec index d7e2746..c261557 100755 --- a/sources/busybox/busybox.spec +++ b/sources/busybox/busybox.spec @@ -2,9 +2,9 @@ SRC_HASH="b8cc24c9574d809e7279c3be349795c5d5ceb6fdf19ca709f80cde50e47de314" SRC_NAME="busybox" SRC_PATCHES=" -59d4edffe7f191fa3c8ae519ca62ea6cff77e5c9ae0945fd381570e884065975 .config +a35fa3d6687d7cbcaa2d8675208392086d56df0c8719ddbde9f46373b189d0d4 .config " -SRC_REVISION=3 +SRC_REVISION=4 SRC_URL="https://busybox.net/downloads/busybox-1.36.1.tar.bz2" SRC_VERSION="1.36.1" diff --git a/sources/editline/editline.spec b/sources/editline/editline.spec deleted file mode 100644 index bbca7dd..0000000 --- a/sources/editline/editline.spec +++ /dev/null @@ -1,24 +0,0 @@ -# Maintainer: Alexander Hill <ahill@breadpudding.dev> -SRC_HASH="21362b00653bbfc1c71f71a7578da66b5b5203559d43134d2dd7719e313ce041" -SRC_NAME="editline" -SRC_URL="https://thrysoee.dk/editline/libedit-20251016-3.1.tar.gz" -SRC_VERSION="20251016-3.1" - -build() { - tar xf ../$SRC_FILENAME - cd libedit-*/ - ./configure $TT_AUTOCONF_COMMON --disable-static - # NOTE: wchar_t isn't defined correctly due to a bug in clang, preventing - # libedit from building properly. ~ahill - # See also: https://bugs.gentoo.org/870001 - make -O -j $TT_PROCS CFLAGS="$CFLAGS -include stdc-predef.h" -} - -clean() { - rm -rf libedit-*/ -} - -package() { - cd libedit-*/ - make -O -j $TT_PROCS install DESTDIR=$TT_INSTALLDIR -}
\ No newline at end of file diff --git a/sources/musl-fts/musl-fts.spec b/sources/musl-fts/musl-fts.spec deleted file mode 100644 index 35f9df7..0000000 --- a/sources/musl-fts/musl-fts.spec +++ /dev/null @@ -1,24 +0,0 @@ -# Maintainer: Alexander Hill <ahill@breadpudding.dev> -SRC_FILENAME="musl_fts-1.2.7.tar.gz" -SRC_HASH="49ae567a96dbab22823d045ffebe0d6b14b9b799925e9ca9274d47d26ff482a6" -SRC_NAME="musl-fts" -SRC_URL="https://github.com/void-linux/musl-fts/archive/refs/tags/v1.2.7.tar.gz" -SRC_VERSION="1.2.7" - -build() { - tar xf ../$SRC_FILENAME - cd musl-fts-*/ - # TODO: Can we rewrite this to not rely on libtool going forward? ~ahill - ./bootstrap.sh - ./configure $TT_AUTOCONF_COMMON --disable-static - make -j $TT_PROCS -} - -clean() { - rm -rf musl-fts-*/ -} - -package() { - cd musl-fts-*/ - make -j $TT_PROCS install DESTDIR=$TT_INSTALLDIR -}
\ No newline at end of file diff --git a/sources/ncurses/ncurses.spec b/sources/ncurses/ncurses.spec deleted file mode 100644 index 0128c50..0000000 --- a/sources/ncurses/ncurses.spec +++ /dev/null @@ -1,37 +0,0 @@ -# Maintainer: Alexander Hill <ahill@breadpudding.dev> -SRC_HASH="136d91bc269a9a5785e5f9e980bc76ab57428f604ce3e5a5a90cebc767971cc6" -SRC_NAME="ncurses" -SRC_REVISION=1 -SRC_URL="https://invisible-island.net/archives/ncurses/ncurses-6.5.tar.gz" -SRC_VERSION="6.5" - -# TODO: Remove the target triple prefix from all of ncurses' executables ~ahill - -build() { - tar xf ../$SRC_FILENAME - cd ncurses-*/ - ./configure $TT_AUTOCONF_COMMON \ - --enable-pc-files \ - --program-prefix="" \ - --with-cxx-shared \ - --with-pkg-config-libdir=$TT_LIBDIR/pkgconfig \ - --with-shared \ - --without-ada \ - --without-debug \ - --without-normal \ - --without-tests - make -O -j $TT_PROCS -} - -clean() { - rm -rf ncurses-*/ -} - -package() { - cd ncurses-*/ - make -O -j $TT_PROCS install DESTDIR=$TT_INSTALLDIR - # NOTE: These symlinks exist for compatibility's sake, since some libraries - # will only look for "ncurses" and not "ncursesw". ~ahill - ln -s libncursesw.so $TT_INSTALLDIR/lib/libncurses.so - ln -s libncurses++w.so $TT_INSTALLDIR/lib/libncurses++.so -} |
