Merged bsdutils/Busybox and updated treetap
This commit is contained in:
parent
cdbbc7ce28
commit
70055d5bc8
@ -9,7 +9,7 @@ Definitions:
|
||||
| `autoconf` | Yes | Yes |
|
||||
| `automake` | Yes | Yes |
|
||||
| `bsdutils` | Yes | Yes |
|
||||
| `busybox` | No | No |
|
||||
| `busybox` | Yes | Yes |
|
||||
| `byacc` | Yes | Yes |
|
||||
| `bzip2` | Yes | Yes |
|
||||
| `cmake` | Yes | Yes |
|
||||
|
||||
@ -271,4 +271,4 @@ SOURCES=(
|
||||
for name in $SOURCES; do
|
||||
$TREETAP fetch $SPEC/$name/$name.spec
|
||||
done
|
||||
cp -r $SPEC $BOOTSTRAP/root/maple/
|
||||
cp -r $SPEC $BOOTSTRAP/root/maple/
|
||||
|
||||
@ -32,8 +32,9 @@ make -j $(nproc) install DESTDIR=/ > /dev/null 2>&1
|
||||
# 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
|
||||
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="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"
|
||||
for pkg in $PACKAGES; do
|
||||
treetap fetch /maple/sources/$pkg/$pkg.spec
|
||||
treetap build /maple/sources/$pkg/$pkg.spec
|
||||
|
||||
@ -2,93 +2,13 @@
|
||||
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"
|
||||
|
||||
# TODO: Determine which utilities should be moved to bsdutils and which should
|
||||
# stick with Busybox. ~ahill
|
||||
# [
|
||||
# bc
|
||||
# cat
|
||||
# chgrp
|
||||
# chmod
|
||||
# chown
|
||||
# chroot
|
||||
# cksum
|
||||
# comm
|
||||
# cp
|
||||
# csplit
|
||||
# cut
|
||||
# date
|
||||
# dc
|
||||
# dd
|
||||
# dirname
|
||||
# du
|
||||
# echo
|
||||
# env
|
||||
# expand
|
||||
# expr
|
||||
# factor
|
||||
# false
|
||||
# fmt
|
||||
# fold
|
||||
# groups
|
||||
# head
|
||||
# hexdump
|
||||
# hostname
|
||||
# id
|
||||
# install
|
||||
# join
|
||||
# kill
|
||||
# ln
|
||||
# logname
|
||||
# ls
|
||||
# mkdir
|
||||
# mkfifo
|
||||
# mknod
|
||||
# mktemp
|
||||
# mv
|
||||
# nice
|
||||
# nl
|
||||
# nohup
|
||||
# paste
|
||||
# pathchk
|
||||
# pr
|
||||
# printenv
|
||||
# printf
|
||||
# pwd
|
||||
# readlink
|
||||
# realpath
|
||||
# rm
|
||||
# rmdir
|
||||
# sed
|
||||
# seq
|
||||
# sleep
|
||||
# split
|
||||
# stat
|
||||
# stdbuf
|
||||
# stty
|
||||
# sync
|
||||
# tail
|
||||
# tee
|
||||
# test
|
||||
# timeout
|
||||
# touch
|
||||
# tr
|
||||
# true
|
||||
# truncate
|
||||
# tsort
|
||||
# tty
|
||||
# uname
|
||||
# unexpand
|
||||
# uniq
|
||||
# unlink
|
||||
# users
|
||||
# which
|
||||
# who
|
||||
# whoami
|
||||
# xargs
|
||||
# yes
|
||||
# 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
|
||||
@ -104,9 +24,50 @@ build() {
|
||||
# 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. Busybox takes priority unless the bsdutils version has more
|
||||
# functionality. ~ahill
|
||||
# ...
|
||||
# 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
|
||||
}
|
||||
@ -118,4 +79,4 @@ clean() {
|
||||
package() {
|
||||
cd bsdutils/
|
||||
muon -C build install -d $TT_INSTALLDIR
|
||||
}
|
||||
}
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
#
|
||||
# Automatically generated make config: don't edit
|
||||
# Busybox version: 1.36.1
|
||||
# Sun Nov 23 09:24:20 2025
|
||||
# Sun Dec 7 02:40:00 2025
|
||||
#
|
||||
CONFIG_HAVE_DOT_CONFIG=y
|
||||
|
||||
@ -54,7 +54,7 @@ CONFIG_EXTRA_LDFLAGS=""
|
||||
CONFIG_EXTRA_LDLIBS=""
|
||||
# CONFIG_USE_PORTABLE_CODE is not set
|
||||
CONFIG_STACK_OPTIMIZATION_386=y
|
||||
CONFIG_STATIC_LIBGCC=y
|
||||
# CONFIG_STATIC_LIBGCC is not set
|
||||
|
||||
#
|
||||
# Installation Options ("make install" behavior)
|
||||
@ -149,17 +149,17 @@ CONFIG_FEATURE_SEAMLESS_GZ=y
|
||||
CONFIG_GUNZIP=y
|
||||
CONFIG_ZCAT=y
|
||||
CONFIG_FEATURE_GUNZIP_LONG_OPTIONS=y
|
||||
CONFIG_BUNZIP2=y
|
||||
CONFIG_BZCAT=y
|
||||
# CONFIG_BUNZIP2 is not set
|
||||
# CONFIG_BZCAT is not set
|
||||
# CONFIG_UNLZMA is not set
|
||||
# CONFIG_LZCAT is not set
|
||||
# CONFIG_LZMA is not set
|
||||
# CONFIG_UNXZ is not set
|
||||
# CONFIG_XZCAT is not set
|
||||
# CONFIG_XZ is not set
|
||||
CONFIG_BZIP2=y
|
||||
CONFIG_BZIP2_SMALL=8
|
||||
CONFIG_FEATURE_BZIP2_DECOMPRESS=y
|
||||
# CONFIG_BZIP2 is not set
|
||||
CONFIG_BZIP2_SMALL=0
|
||||
# CONFIG_FEATURE_BZIP2_DECOMPRESS is not set
|
||||
# CONFIG_CPIO is not set
|
||||
# CONFIG_FEATURE_CPIO_O is not set
|
||||
# CONFIG_FEATURE_CPIO_P is not set
|
||||
@ -217,56 +217,56 @@ CONFIG_FEATURE_PRESERVE_HARDLINKS=y
|
||||
#
|
||||
CONFIG_FEATURE_HUMAN_READABLE=y
|
||||
CONFIG_BASENAME=y
|
||||
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_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_CRC32=y
|
||||
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_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_FEATURE_DATE_NANO 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_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_DF=y
|
||||
CONFIG_FEATURE_DF_FANCY=y
|
||||
CONFIG_FEATURE_SKIP_ROOTFS=y
|
||||
CONFIG_DIRNAME=y
|
||||
CONFIG_DOS2UNIX=y
|
||||
CONFIG_UNIX2DOS=y
|
||||
CONFIG_DU=y
|
||||
CONFIG_FEATURE_DU_DEFAULT_BLOCKSIZE_1K=y
|
||||
# CONFIG_DU is not set
|
||||
# CONFIG_FEATURE_DU_DEFAULT_BLOCKSIZE_1K is not set
|
||||
CONFIG_ECHO=y
|
||||
CONFIG_FEATURE_FANCY_ECHO=y
|
||||
CONFIG_ENV=y
|
||||
# CONFIG_ENV is not set
|
||||
CONFIG_EXPAND=y
|
||||
CONFIG_UNEXPAND=y
|
||||
CONFIG_EXPR=y
|
||||
CONFIG_EXPR_MATH_SUPPORT_64=y
|
||||
CONFIG_FACTOR=y
|
||||
# CONFIG_FACTOR is not set
|
||||
CONFIG_FALSE=y
|
||||
CONFIG_FOLD=y
|
||||
CONFIG_HEAD=y
|
||||
CONFIG_FEATURE_FANCY_HEAD=y
|
||||
CONFIG_HOSTID=y
|
||||
CONFIG_ID=y
|
||||
# CONFIG_ID is not set
|
||||
CONFIG_GROUPS=y
|
||||
CONFIG_INSTALL=y
|
||||
CONFIG_FEATURE_INSTALL_LONG_OPTIONS=y
|
||||
# CONFIG_INSTALL is not set
|
||||
# CONFIG_FEATURE_INSTALL_LONG_OPTIONS is not set
|
||||
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=y
|
||||
# CONFIG_NL is not set
|
||||
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=y
|
||||
CONFIG_FEATURE_READLINK_FOLLOW=y
|
||||
CONFIG_REALPATH=y
|
||||
# CONFIG_READLINK is not set
|
||||
# CONFIG_FEATURE_READLINK_FOLLOW is not set
|
||||
# CONFIG_REALPATH is not set
|
||||
CONFIG_RM=y
|
||||
CONFIG_RMDIR=y
|
||||
CONFIG_SEQ=y
|
||||
# CONFIG_SEQ is not set
|
||||
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=y
|
||||
CONFIG_FEATURE_SPLIT_FANCY=y
|
||||
# CONFIG_SPLIT is not set
|
||||
# CONFIG_FEATURE_SPLIT_FANCY is not set
|
||||
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=y
|
||||
CONFIG_TOUCH=y
|
||||
CONFIG_FEATURE_TOUCH_SUSV3=y
|
||||
CONFIG_TR=y
|
||||
CONFIG_FEATURE_TR_CLASSES=y
|
||||
CONFIG_FEATURE_TR_EQUIV=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_TRUE=y
|
||||
CONFIG_TRUNCATE=y
|
||||
CONFIG_TSORT=y
|
||||
# CONFIG_TRUNCATE is not set
|
||||
# CONFIG_TSORT is not set
|
||||
CONFIG_TTY=y
|
||||
CONFIG_UNAME=y
|
||||
CONFIG_UNAME_OSNAME="GNU/Linux"
|
||||
CONFIG_BB_ARCH=y
|
||||
CONFIG_UNIQ=y
|
||||
CONFIG_UNLINK=y
|
||||
# CONFIG_UNLINK is not set
|
||||
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=y
|
||||
# CONFIG_WHO is not set
|
||||
CONFIG_W=y
|
||||
CONFIG_USERS=y
|
||||
CONFIG_WHOAMI=y
|
||||
CONFIG_YES=y
|
||||
# CONFIG_YES is not set
|
||||
|
||||
#
|
||||
# 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=y
|
||||
# CONFIG_WHICH is not set
|
||||
|
||||
#
|
||||
# klibc-utils
|
||||
@ -509,7 +509,7 @@ CONFIG_FEATURE_WAIT_FOR_INIT=y
|
||||
# CONFIG_FEATURE_CALL_TELINIT is not set
|
||||
CONFIG_TELINIT_PATH=""
|
||||
CONFIG_INIT=y
|
||||
CONFIG_LINUXRC=y
|
||||
# CONFIG_LINUXRC is not set
|
||||
CONFIG_FEATURE_USE_INITTAB=y
|
||||
# CONFIG_FEATURE_KILL_REMOVED is not set
|
||||
CONFIG_FEATURE_KILL_DELAY=0
|
||||
@ -760,12 +760,12 @@ CONFIG_ADJTIMEX=y
|
||||
CONFIG_ASCII=y
|
||||
# CONFIG_BBCONFIG is not set
|
||||
# CONFIG_FEATURE_COMPRESS_BBCONFIG is not set
|
||||
CONFIG_BC=y
|
||||
CONFIG_DC=y
|
||||
CONFIG_FEATURE_DC_BIG=y
|
||||
# CONFIG_BC is not set
|
||||
# CONFIG_DC is not set
|
||||
# CONFIG_FEATURE_DC_BIG is not set
|
||||
# CONFIG_FEATURE_DC_LIBM is not set
|
||||
CONFIG_FEATURE_BC_INTERACTIVE=y
|
||||
CONFIG_FEATURE_BC_LONG_OPTIONS=y
|
||||
# CONFIG_FEATURE_BC_INTERACTIVE is not set
|
||||
# CONFIG_FEATURE_BC_LONG_OPTIONS is not set
|
||||
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=y
|
||||
# CONFIG_HOSTNAME is not set
|
||||
CONFIG_DNSDOMAINNAME=y
|
||||
CONFIG_HTTPD=y
|
||||
CONFIG_FEATURE_HTTPD_PORT_DEFAULT=80
|
||||
|
||||
@ -2,14 +2,15 @@
|
||||
SRC_HASH="b8cc24c9574d809e7279c3be349795c5d5ceb6fdf19ca709f80cde50e47de314"
|
||||
SRC_NAME="busybox"
|
||||
SRC_PATCHES="
|
||||
63478e21fdb8a1aa13d5f98c6a599e6ed040deb79707677f6186083c826a2824 .config
|
||||
59d4edffe7f191fa3c8ae519ca62ea6cff77e5c9ae0945fd381570e884065975 .config
|
||||
"
|
||||
SRC_REVISION=3
|
||||
SRC_URL="https://busybox.net/downloads/busybox-1.36.1.tar.bz2"
|
||||
SRC_VERSION="1.36.1r2"
|
||||
SRC_VERSION="1.36.1"
|
||||
|
||||
build() {
|
||||
tar xf ../$SRC_FILENAME
|
||||
cd busybox-*/
|
||||
cd busybox-$SRC_VERSION/
|
||||
cp ../.config .
|
||||
# NOTE: Like we did with musl before, we don't set CROSS_COMPILE because
|
||||
# LLVM is smart and doesn't need a compiler to cross-compile code.
|
||||
@ -24,16 +25,19 @@ build() {
|
||||
# returned type "void". This doesn't actually affect the build, but
|
||||
# I'm not sure where else to put this. ~ahill
|
||||
sed -i "s/main()/void main()/" scripts/kconfig/lxdialog/check-lxdialog.sh
|
||||
make -O -j $TT_PROCS
|
||||
# NOTE: AR, CC, and HOSTCC are required here due to GNU dependencies. ~ahill
|
||||
make -O -j $TT_PROCS AR=ar CC=clang HOSTCC=clang
|
||||
}
|
||||
|
||||
clean() {
|
||||
rm -rf busybox-*/
|
||||
rm -rf busybox-$SRC_VERSION/
|
||||
}
|
||||
|
||||
package() {
|
||||
cd busybox-*/
|
||||
cd busybox-$SRC_VERSION/
|
||||
# NOTE: Busybox doesn't have a proper DESTDIR, so we just set CONFIG_PREFIX
|
||||
# during the install to work around this limitation. ~ahill
|
||||
make -O -j $TT_PROCS install CONFIG_PREFIX=$TT_INSTALLDIR
|
||||
}
|
||||
# NOTE: Once again, AR, CC, and HOSTCC are set because we're using LLVM and
|
||||
# not GCC. ~ahill
|
||||
make -O -j $TT_PROCS install AR=ar CC=clang CONFIG_PREFIX=$TT_INSTALLDIR HOSTCC=$CC
|
||||
}
|
||||
|
||||
@ -1,8 +1,9 @@
|
||||
# Maintainer: Alexander Hill <ahill@breadpudding.dev>
|
||||
SRC_HASH="ab5a03176ee106d3f0fa90e381da478ddae405918153cca248e682cd0c4a2269"
|
||||
SRC_NAME="bzip2"
|
||||
SRC_REVISION=2
|
||||
SRC_URL="https://sourceware.org/pub/bzip2/bzip2-1.0.8.tar.gz"
|
||||
SRC_VERSION="1.0.8r2"
|
||||
SRC_VERSION="1.0.8"
|
||||
|
||||
# TODO: Install the man pages ~ahill
|
||||
|
||||
|
||||
@ -1,8 +1,9 @@
|
||||
# Maintainer: Alexander Hill <ahill@breadpudding.dev>
|
||||
SRC_HASH="4104e94657d247c811cb29985405a360b78130b5d51e7f6daceb2447830bd579"
|
||||
SRC_NAME="cmake"
|
||||
SRC_REVISION=1
|
||||
SRC_URL="https://github.com/Kitware/CMake/releases/download/v4.2.0/cmake-4.2.0.tar.gz"
|
||||
SRC_VERSION="4.2.0r1"
|
||||
SRC_VERSION="4.2.0"
|
||||
|
||||
build() {
|
||||
tar xf ../$SRC_FILENAME
|
||||
|
||||
@ -2,8 +2,9 @@
|
||||
SRC_FILENAME="muon-0.5.0.tar.gz"
|
||||
SRC_HASH="565c1b6e1e58f7e90d8813fda0e2102df69fb493ddab4cf6a84ce3647466bee5"
|
||||
SRC_NAME="muon"
|
||||
SRC_REVISION=1
|
||||
SRC_URL="https://git.sr.ht/~lattis/muon/archive/0.5.0.tar.gz"
|
||||
SRC_VERSION="0.5.0r1"
|
||||
SRC_VERSION="0.5.0"
|
||||
|
||||
build() {
|
||||
tar xf ../$SRC_FILENAME
|
||||
|
||||
@ -4,8 +4,9 @@ SRC_NAME="musl"
|
||||
SRC_PATCHES="
|
||||
c0ffd0493dcde91850e39428a31577892aad20e83bc4bf4a5c37350649ce7932 CVE-2025-26519.patch
|
||||
"
|
||||
SRC_REVISION=1
|
||||
SRC_URL="https://musl.libc.org/releases/musl-1.2.5.tar.gz"
|
||||
SRC_VERSION="1.2.5r1"
|
||||
SRC_VERSION="1.2.5"
|
||||
|
||||
build() {
|
||||
tar xf ../$SRC_FILENAME
|
||||
|
||||
@ -1,8 +1,9 @@
|
||||
# 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.5r1"
|
||||
SRC_VERSION="6.5"
|
||||
|
||||
# TODO: Remove the target triple prefix from all of ncurses' executables ~ahill
|
||||
|
||||
|
||||
@ -1,8 +1,9 @@
|
||||
# Maintainer: Alexander Hill <ahill@breadpudding.dev>
|
||||
SRC_HASH="e093ef184d7f9a1b9797e2465296f55510adb6dab8842b0c3ed53329663096dc"
|
||||
SRC_NAME="perl"
|
||||
SRC_REVISION=1
|
||||
SRC_URL="https://www.cpan.org/src/5.0/perl-5.42.0.tar.gz"
|
||||
SRC_VERSION="5.42.0r1"
|
||||
SRC_VERSION="5.42.0"
|
||||
|
||||
build() {
|
||||
tar xf ../$SRC_FILENAME
|
||||
|
||||
64
treetap
64
treetap
@ -18,6 +18,12 @@
|
||||
# Changelog #
|
||||
#############
|
||||
|
||||
# December 6, 2025 (1.4.0)
|
||||
# + Added sane defaults for the environment if they are not defined [ahill]
|
||||
# + Added SRC_REVISION and SRC_FULLVERSION to prevent issues related to
|
||||
# SRC_VERSION [ahill]
|
||||
# * Fixed an issue where uninstalls fail due to spaces in the filename [ahill]
|
||||
|
||||
# November 29, 2025 (1.3.1)
|
||||
# + Added GNUInstallDirs to TT_CMAKE_COMMON [ahill]
|
||||
# * Tweaked the messages to make it easier to see that treetap exited
|
||||
@ -73,13 +79,19 @@
|
||||
# package - Installs the package contents to $TT_INSTALLDIR
|
||||
|
||||
# Specification Variables:
|
||||
# SRC_FILENAME - The name of the tarball to extract (optional)
|
||||
# SRC_HASH - The hash of the tarball for verification purposes (required)
|
||||
# SRC_NAME - The name of the package being built (required)
|
||||
# SRC_PATCHES - A list of SHA256 hashes followed by their filenames to be
|
||||
# SRC_FILENAME - The name of the tarball to extract (optional)
|
||||
# SRC_FULLVERSION - The full version of the package, which is automatically
|
||||
# set to SRC_VERSION, or "(SRC_VERSION)r(SRC_REVISION)" if
|
||||
# SRC_REVISION is set.
|
||||
# SRC_HASH - The hash of the tarball for verification purposes
|
||||
# (required)
|
||||
# SRC_NAME - The name of the package being built (required)
|
||||
# SRC_PATCHES - A list of SHA256 hashes followed by their filenames to be
|
||||
# copied to the build directory (optional)
|
||||
# SRC_URL - The URL of the tarball to be downloaded (required)
|
||||
# SRC_VERSION - The version of the package being built (required)
|
||||
# SRC_REVISION - The package revision number to denote changes specifically
|
||||
# made for Maple Linux (optional)
|
||||
# SRC_URL - The URL of the tarball to be downloaded (required)
|
||||
# SRC_VERSION - The version of the package being built (required)
|
||||
|
||||
# Treetap Variables:
|
||||
# TT_ARCH - The architecture portion of TT_TARGET
|
||||
@ -134,7 +146,22 @@
|
||||
[ -z "$TT_DIR" ] && TT_DIR="$(pwd)/.treetap"
|
||||
[ -z "$TT_PKGDIR" ] && TT_PKGDIR="$TT_DIR/packages"
|
||||
[ -z "$TT_SYSROOT" ] && TT_SYSROOT=/
|
||||
TT_VERSION="1.3.1"
|
||||
TT_VERSION="1.4.0"
|
||||
|
||||
#########################
|
||||
# Environment Variables #
|
||||
#########################
|
||||
|
||||
[ -z "$AR" ] && export AR=ar
|
||||
[ -z "$AS" ] && export AS=nasm
|
||||
[ -z "$CC" ] && export CC=clang
|
||||
[ -z "$CXX" ] && export CXX=clang++
|
||||
[ -z "$LD" ] && export LD=mold
|
||||
[ -z "$NM" ] && export NM=nm
|
||||
[ -z "$OBJCOPY" ] && export OBJCOPY=objcopy
|
||||
[ -z "$OBJDUMP" ] && export OBJDUMP=objdump
|
||||
[ -z "$PKG_CONFIG" ] && export PKG_CONFIG=pkgconf
|
||||
[ -z "$STRIP" ] && export STRIP=strip
|
||||
|
||||
#####################
|
||||
# Utility Functions #
|
||||
@ -184,6 +211,11 @@ source_spec() {
|
||||
[ -z "$SRC_NAME" ] && (echo "source_spec: SRC_NAME is required but not defined"; exit 1)
|
||||
[ -z "$SRC_URL" ] && (echo "source_spec: SRC_URL is required but not defined"; exit 1)
|
||||
[ -z "$SRC_VERSION" ] && (echo "source_spec: SRC_VERSION is required but not defined"; exit 1)
|
||||
if [ -z "$SRC_REVISION" ]; then
|
||||
SRC_FULLVERSION=$SRC_VERSION
|
||||
else
|
||||
SRC_FULLVERSION="${SRC_VERSION}r${SRC_REVISION}"
|
||||
fi
|
||||
|
||||
# Optional Fields
|
||||
[ -z "$SRC_FILENAME" ] && SRC_FILENAME=$(basename $SRC_URL)
|
||||
@ -314,10 +346,10 @@ package_uninstall() {
|
||||
PUSHD=$(pwd)
|
||||
cd $TT_SYSROOT
|
||||
bsdcpio -iJt < $PKG_FULLPATH | tail -n +2 | sort -r | while read path; do
|
||||
if [ -d $path ]; then
|
||||
rmdir --ignore-fail-on-non-empty $path
|
||||
if [ -d "$path" ]; then
|
||||
rmdir --ignore-fail-on-non-empty "$path"
|
||||
else
|
||||
rm -f $path
|
||||
rm -f "$path"
|
||||
fi
|
||||
done
|
||||
cd $PUSHD
|
||||
@ -329,12 +361,12 @@ source_build() {
|
||||
source_spec $1
|
||||
mkdir -p $TT_BUILDDIR
|
||||
if [ ! -z "$SRC_PATCHES" ]; then
|
||||
echo -n "Validating patches for $SRC_NAME $SRC_VERSION... "
|
||||
echo -n "Validating patches for $SRC_NAME $SRC_FULLVERSION... "
|
||||
cd $(dirname $1)
|
||||
echo $SRC_PATCHES | sha256sum -c - > /dev/null
|
||||
# Is this even the right way to check a return value? ~ahill
|
||||
if [ ! "$?" = "0" ]; then
|
||||
echo "Failed to validate patches for $SRC_NAME $SRC_VERSION for $TT_MICROARCH ($TT_TARGET)"
|
||||
echo "Failed to validate patches for $SRC_NAME $SRC_FULLVERSION for $TT_MICROARCH ($TT_TARGET)"
|
||||
exit 1
|
||||
fi
|
||||
echo $SRC_PATCHES | while read line; do
|
||||
@ -342,7 +374,7 @@ source_build() {
|
||||
done
|
||||
echo "Done!"
|
||||
fi
|
||||
echo -n "Building $SRC_NAME $SRC_VERSION for $TT_MICROARCH... "
|
||||
echo -n "Building $SRC_NAME $SRC_FULLVERSION for $TT_MICROARCH... "
|
||||
PUSHD=$(pwd)
|
||||
cd $TT_BUILDDIR
|
||||
# Please don't use this in your build script. This is meant for
|
||||
@ -362,7 +394,7 @@ source_clean() {
|
||||
mkdir -p $TT_BUILDDIR
|
||||
PUSHD=$(pwd)
|
||||
cd $TT_BUILDDIR
|
||||
echo -n "Cleaning $SRC_NAME $SRC_VERSION for $TT_MICROARCH... "
|
||||
echo -n "Cleaning $SRC_NAME $SRC_FULLVERSION for $TT_MICROARCH... "
|
||||
clean
|
||||
rm -rf $TT_INSTALLDIR
|
||||
cd $PUSHD
|
||||
@ -402,10 +434,10 @@ source_package() {
|
||||
mkdir -p $TT_PKGDIR/$TT_MICROARCH
|
||||
PUSHD=$(pwd)
|
||||
cd $TT_BUILDDIR
|
||||
echo -n "Archiving $SRC_NAME $SRC_VERSION for $TT_MICROARCH... "
|
||||
echo -n "Archiving $SRC_NAME $SRC_FULLVERSION for $TT_MICROARCH... "
|
||||
package > package-$(date +%Y%m%d%H%M%S).log
|
||||
cd $TT_INSTALLDIR
|
||||
find | bsdcpio -Jo > "$TT_PKGDIR/$TT_MICROARCH/$SRC_NAME-$SRC_VERSION-$TT_MICROARCH.cpio.xz"
|
||||
find | bsdcpio -Jo > "$TT_PKGDIR/$TT_MICROARCH/$SRC_NAME-$SRC_FULLVERSION-$TT_MICROARCH.cpio.xz"
|
||||
rm -rf $TT_INSTALLDIR
|
||||
cd $PUSHD
|
||||
exit 0
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user