Added autoconf, automake, bsdutils, libtool, musl-fts, perl, and pkgconf, and replaced m4

This commit is contained in:
Alexander Hill
2025-11-27 18:46:03 -05:00
parent 38329ef5fd
commit 679f263c2f
12 changed files with 327 additions and 7 deletions

View File

@@ -0,0 +1,21 @@
# Maintainer: Alexander Hill <ahill@breadpudding.dev>
SRC_HASH="ba885c1319578d6c94d46e9b0dceb4014caafe2490e437a0dbca3f270a223f5a"
SRC_NAME="autoconf"
SRC_URL="https://ftp.gnu.org/gnu/autoconf/autoconf-2.72.tar.xz"
SRC_VERSION="2.72"
build() {
tar xf ../$SRC_FILENAME
cd autoconf-*/
./configure $TT_AUTOCONF_COMMON
make -O -j $TT_PROCS
}
clean() {
rm -rf autoconf-*/
}
package() {
cd autoconf-*/
make -O -j $TT_PROCS install DESTDIR=$TT_INSTALLDIR
}

View File

@@ -0,0 +1,21 @@
# Maintainer: Alexander Hill <ahill@breadpudding.dev>
SRC_HASH="168aa363278351b89af56684448f525a5bce5079d0b6842bd910fdd3f1646887"
SRC_NAME="automake"
SRC_URL="https://ftp.gnu.org/gnu/automake/automake-1.18.1.tar.xz"
SRC_VERSION="1.18.1"
build() {
tar xf ../$SRC_FILENAME
cd automake-*/
./configure $TT_AUTOCONF_COMMON
make -j $TT_PROCS
}
clean() {
rm -rf automake-*/
}
package() {
cd automake-*/
make -j $TT_PROCS install DESTDIR=$TT_INSTALLDIR
}

View File

@@ -0,0 +1,121 @@
# Maintainer: Alexander Hill <ahill@breadpudding.dev>
SRC_FILENAME="bsdutils-13.2.tar.gz"
SRC_HASH="4547990309afe686c6f36c2a4f7ac5806e0064b182dd1f93f52dda7661979a3c"
SRC_NAME="bsdutils"
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
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. Busybox takes priority unless the bsdutils version has more
# functionality. ~ahill
# ...
muon setup $TT_MESON_COMMON build
muon samu -C build
}
clean() {
rm -rf bsdutils/
}
package() {
cd bsdutils/
muon -C build install -d $TT_INSTALLDIR
}

View File

@@ -0,0 +1,27 @@
# Maintainer: Alexander Hill <ahill@breadpudding.dev>
SRC_HASH="f81f5860666b0bc7d84baddefa60d1cb9fa6fceb2398cc3baca6afaa60266675"
SRC_NAME="libtool"
SRC_URL="https://ftp.gnu.org/gnu/libtool/libtool-2.5.4.tar.xz"
SRC_VERSION="2.5.4"
build() {
tar xf ../$SRC_FILENAME
cd libtool-*/
./configure $TT_AUTOCONF_COMMON --disable-static
make -j $TT_PROCS
# NOTE: For some reason, libtoolize uses the env command to locate sh, but
# we don't have the env command yet, because env is part of bsdutils,
# 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
}
clean() {
rm -rf libtool-*/
}
package() {
cd libtool-*/
make -j $TT_PROCS install DESTDIR=$TT_INSTALLDIR
}

View File

@@ -1,13 +1,14 @@
# Maintainer: Alexander Hill <ahill@breadpudding.dev>
SRC_HASH="e4315fef49b08912b1d1db3774dd98f971397b2751c648512b6c8d852590dc50"
SRC_HASH="e236ea3a1ccf5f6c270b1c4bb60726f371fa49459a8eaaebc90b216b328daf2b"
SRC_NAME="m4"
SRC_URL="http://haddonthethird.net/m4/m4-2.tar.bz2"
SRC_VERSION="2"
SRC_URL="https://ftp.gnu.org/gnu/m4/m4-1.4.20.tar.xz"
SRC_VERSION="1.4.20"
build() {
tar xf ../$SRC_FILENAME
cd m4-*/
make -O -j $TT_PROCS
./configure $TT_AUTOCONF_COMMON --enable-year2038
make -j $TT_PROCS
}
clean() {
@@ -16,5 +17,5 @@ clean() {
package() {
cd m4-*/
make -O -j $TT_PROCS install DESTDIR=$TT_INSTALLDIR
make -j $TT_PROCS install DESTDIR=$TT_INSTALLDIR
}

View File

@@ -0,0 +1,24 @@
# 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
}

21
sources/perl/perl.spec Normal file
View File

@@ -0,0 +1,21 @@
# Maintainer: Alexander Hill <ahill@breadpudding.dev>
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"
build() {
tar xf ../$SRC_FILENAME
cd perl-*/
./Configure -des
make -O -j $TT_PROCS
}
clean() {
rm -rf perl-*/
}
package() {
cd perl-*/
make -O -j $TT_PROCS DESTDIR=$TT_INSTALLDIR
}

View File

@@ -0,0 +1,24 @@
# Maintainer: Alexander Hill <ahill@breadpudding.dev>
SRC_HASH="cd05c9589b9f86ecf044c10a2269822bc9eb001eced2582cfffd658b0a50c243"
SRC_NAME="pkgconf"
SRC_URL="https://distfiles.dereferenced.org/pkgconf/pkgconf-2.5.1.tar.xz"
SRC_VERSION="2.5.1"
build() {
tar xf ../$SRC_FILENAME
cd pkgconf-*/
./configure $TT_AUTOCONF_COMMON --disable-static --enable-year2038
make -j $TT_PROCS
}
clean() {
rm -rf pkgconf-*/
}
package() {
cd pkgconf-*/
make -j $TT_PROCS install DESTDIR=$TT_INSTALLDIR
# NOTE: Symlink for compatibility's sake. Currently being used by Muon.
# ~ahill
ln -sf pkgconf $TT_INSTALLDIR/bin/pkg-config
}