Added byacc, editline, flex, m4, muon, and ncurses

...and updated treetap
This commit is contained in:
Alexander Hill
2025-11-24 10:36:57 -05:00
parent 0a5a1839bc
commit 38329ef5fd
10 changed files with 211 additions and 12 deletions

57
treetap
View File

@@ -18,6 +18,15 @@
# Changelog #
#############
# November 24, 2025 (1.3.0)
# + Added TT_DATADIR [ahill]
# + Added TT_MESON_COMMON for easy Meson integration [ahill]
# + Added TT_RUNDIR [ahill]
# + Added TT_STATEDIR [ahill]
# * Fixed a bug where applying TT_AUTOCONF_COMMON with some versions of autoconf
# cause it to think we're cross-compiling when we're not. [ahill]
# * Switched from GNU cpio to bsdcpio to function on Maple Linux [ahill]
# November 22, 2025 (1.2.0)
# + Added support for the CCACHE environment variable [ahill]
# + Added TT_ARCH [ahill]
@@ -82,6 +91,8 @@
# [scope: source]
# TT_CONFDIR - The desired path for configuration files
# [scope: source] [default: /etc]
# TT_DATADIR - The desired path for data files
# [scope: source] [default: /usr/share]
# TT_DIR - The path to the treetap directory
# [scope: global]
# TT_INCLUDEDIR - The desired path for header files
@@ -90,6 +101,8 @@
# [scope: source]
# TT_LIBDIR - The desired path for libraries
# [scope: source] [default: /lib]
# TT_MESON_COMMON - The default meson arguments based on the environment
# [scope: source]
# TT_MICROARCH - The microarchitecture to optimize for
# [scope: source]
# TT_PKGDIR - The path to the package directory
@@ -98,6 +111,10 @@
# [scope: source] [default: /]
# TT_PROCS - The number of processors on the build system
# [scope: source]
# TT_RUNDIR - The desired path for temporary runtime information
# [scope: source] [default: /run]
# TT_STATEDIR - The desired path for persistent runtime information
# [scope: source] [default: /var]
# TT_SYSROOT - The sysroot of the target system
# [scope: global]
# TT_TARGET - The target triple of the target system
@@ -112,7 +129,7 @@
[ -z "$TT_DIR" ] && TT_DIR="$(pwd)/.treetap"
[ -z "$TT_PKGDIR" ] && TT_PKGDIR="$TT_DIR/packages"
[ -z "$TT_SYSROOT" ] && TT_SYSROOT=/
TT_VERSION="1.2.0"
TT_VERSION="1.3.0"
#####################
# Utility Functions #
@@ -171,10 +188,13 @@ source_spec() {
TT_BUILD=$(clang -dumpmachine)
[ -z "$TT_TARGET" ] && TT_TARGET=$TT_BUILD
[ -z "$TT_CONFDIR" ] && TT_CONFDIR=/etc
[ -z "$TT_DATADIR" ] && TT_DATADIR=/usr/share
[ -z "$TT_INCLUDEDIR" ] && TT_INCLUDEDIR=/usr/include
[ -z "$TT_LIBDIR" ] && TT_LIBDIR=/lib
[ -z "$TT_PREFIX" ] && TT_PREFIX=/
[ -z "$TT_PROCS" ] && TT_PROCS=$(nproc)
[ -z "$TT_RUNDIR" ] && TT_RUNDIR=/run
[ -z "$TT_STATEDIR" ] && TT_STATEDIR=/var
# Attempt to guess TT_MICROARCH if it isn't defined
TT_ARCH=$(echo $TT_TARGET | cut -d"-" -f1)
@@ -200,19 +220,25 @@ source_spec() {
# Create convenience variables
TT_AUTOCONF_COMMON=$(echo "--bindir=$TT_BINDIR \
--build=$TT_BUILD \
--datarootdir=/usr/share \
--host=$TT_TARGET \
--datarootdir=$TT_DATADIR \
--includedir=$TT_INCLUDEDIR \
--libdir=$TT_LIBDIR \
--libexecdir=$TT_LIBDIR \
--localstatedir=/var \
--localstatedir=$TT_STATEDIR \
--prefix=$TT_PREFIX \
--runstatedir=/run \
--runstatedir=$TT_RUNDIR \
--sbindir=$TT_BINDIR \
--sysconfdir=$TT_CONFDIR \
--target=$TT_TARGET \
--with-sysroot=$TT_SYSROOT" | xargs)
# NOTE: Some versions of autoconf does not like having host/target set
# unless we're actually cross-compiling.
if [ ! "$TT_BUILD" = "$TT_TARGET" ]; then
TT_AUTOCONF_COMMON=$(echo "$TT_AUTOCONF_COMMON \
--host=$TT_TARGET \
--target=$TT_TARGET" | xargs)
fi
TT_CMAKE_COMMON=$(echo "-DCMAKE_ASM_COMPILER_TARGET=$TT_TARGET \
-DCMAKE_C_COMPILER_TARGET=$TT_TARGET \
-DCMAKE_CXX_COMPILER_TARGET=$TT_TARGET \
@@ -229,6 +255,19 @@ source_spec() {
-DCMAKE_CXX_COMPILER_LAUNCHER=$CCACHE" | xargs)
fi
TT_MESON_COMMON=$(echo "-Dbindir=$TT_BINDIR \
-Ddatadir=$TT_DATADIR \
-Dincludedir=$TT_INCLUDEDIR \
-Dinfodir=$TT_DATADIR/info \
-Dlibdir=$TT_LIBDIR \
-Dlibexecdir=$TT_LIBDIR \
-Dlocaledir=$TT_DATADIR/locale \
-Dlocalstatedir=$TT_STATEDIR \
-Dmandir=$TT_DATADIR/man \
-Dprefix=$TT_PREFIX \
-Dsbindir=$TT_BINDIR \
-Dsysconfdir=$TT_CONFDIR" | xargs)
true
}
@@ -243,7 +282,7 @@ package_install() {
echo "Installing $(basename $1)"
PUSHD=$(pwd)
cd $TT_SYSROOT
xz -cdk $PKG_FULLPATH | cpio -idmu --quiet
bsdcpio -iJ < $PKG_FULLPATH
cd $PUSHD
exit 0
}
@@ -255,7 +294,7 @@ package_uninstall() {
echo "Uninstalling $(basename $1)"
PUSHD=$(pwd)
cd $TT_SYSROOT
xz -cdk $PKG_FULLPATH | cpio -it --quiet | tail -n +2 | sort -r | while read path; do
bsdcpio -iJt < $PKG_FULLPATH | tail -n +2 | sort -r | while read path; do
if [ -d $path ]; then
rmdir --ignore-fail-on-non-empty $path
else
@@ -342,7 +381,7 @@ source_package() {
echo "Archiving $SRC_NAME $SRC_VERSION for $TT_MICROARCH"
package > package-$(date +%Y%m%d%H%M%S).log
cd $TT_INSTALLDIR
find | cpio -o --quiet | xz -cz > "$TT_PKGDIR/$TT_MICROARCH/$SRC_NAME-$SRC_VERSION-$TT_MICROARCH.cpio.xz"
find | bsdcpio -Jo > "$TT_PKGDIR/$TT_MICROARCH/$SRC_NAME-$SRC_VERSION-$TT_MICROARCH.cpio.xz"
rm -rf $TT_INSTALLDIR
cd $PUSHD
exit 0