Successfully bootstrapped with the GNU userspace

This commit is contained in:
Alexander Hill
2026-01-11 15:48:51 -05:00
parent c496159c26
commit 788a62091e
10 changed files with 122 additions and 154 deletions

View File

@@ -0,0 +1,23 @@
# Maintainer: Alexander Hill <ahill@breadpudding.dev>
SRC_HASH="7c8b7f9fc8609141fdea9cece85249d308624391ff61dedaf528fcb337727dfd"
SRC_NAME="diffutils"
SRC_URL="https://ftp.gnu.org/gnu/diffutils/diffutils-3.12.tar.xz"
SRC_VERSION="3.12"
build() {
tar xf ../$SRC_FILENAME
cd diffutils-$SRC_VERSION/
# NOTE: GNU Diffutils 3.12 has a bug when cross-compiling, stating that it
# can't run a test because it is cross-compiling. Rather than ignore
# the issue, the configure script simply dies, preventing the build
# from proceeding. Adding gl_cv_func_strcasecmp_works fixes the issue
# without the need for a patch. ~ahill
# See also: https://lists.gnu.org/archive/html/bug-gnulib/2025-04/msg00056.html
./configure $TT_AUTOCONF_COMMON gl_cv_func_strcasecmp_works=y
make -j $TT_PROCS
}
package() {
cd diffutils-$SRC_VERSION/
make -j $TT_PROCS install DESTDIR=$TT_INSTALLDIR
}

View File

@@ -1,8 +1,8 @@
# Maintainer: Alexander Hill <ahill@breadpudding.dev>
SRC_HASH="7a8879167b89c4bae077d6f39c4f2130769f05dbdad2aad914adab9afb7d7f9a"
SRC_HASH="f850139ca5f79c1bf6bb8b32f92e212aadca97bdaef8a83a7cf4ac4d6a525fab"
SRC_NAME="linux"
SRC_URL="https://cdn.kernel.org/pub/linux/kernel/v6.x/linux-6.18.3.tar.xz"
SRC_VERSION="6.18.3"
SRC_URL="https://cdn.kernel.org/pub/linux/kernel/v6.x/linux-6.18.4.tar.xz"
SRC_VERSION="6.18.4"
build() {
tar xf ../$SRC_FILENAME

View File

@@ -1,6 +1,7 @@
# Maintainer: Alexander Hill <ahill@breadpudding.dev>
SRC_HASH="51bcb82d577b141d896d9d9c3077d7aaa209490132e9f2b9573ba8511b3835be"
SRC_NAME="mawk"
SRC_REVISION=1
SRC_URL="https://invisible-island.net/archives/mawk/mawk-1.3.4-20250131.tgz"
SRC_VERSION="1.3.4-20250131"
@@ -14,4 +15,5 @@ build() {
package() {
cd mawk-$SRC_VERSION/
make -O -j $TT_PROCS install DESTDIR=$TT_INSTALLDIR
ln -s mawk $TT_INSTALLDIR/bin/awk
}

17
sources/patch/patch.spec Normal file
View File

@@ -0,0 +1,17 @@
# Maintainer: Alexander Hill <ahill@breadpudding.dev>
SRC_HASH="f87cee69eec2b4fcbf60a396b030ad6aa3415f192aa5f7ee84cad5e11f7f5ae3"
SRC_NAME="patch"
SRC_URL="https://ftp.gnu.org/gnu/patch/patch-2.8.tar.xz"
SRC_VERSION="2.8"
build() {
tar xf ../$SRC_FILENAME
cd patch-$SRC_VERSION/
./configure $TT_AUTOCONF_COMMON
make -j $TT_PROCS
}
package() {
cd patch-$SRC_VERSION/
make -j $TT_PROCS install DESTDIR=$TT_INSTALLDIR
}

View File

@@ -1,14 +1,22 @@
# Maintainer: Alexander Hill <ahill@breadpudding.dev>
SRC_HASH="38ef96b8dfe510d42707d9c781877914792541133e1870841463bfa73f883e32"
SRC_NAME="zlib"
SRC_REVISION=1
SRC_URL="https://www.zlib.net/zlib-1.3.1.tar.xz"
SRC_VERSION="1.3.1"
build() {
tar xf ../$SRC_FILENAME
cd zlib-*/
cd zlib-$SRC_VERSION/
# NOTE: The prefix is set to /usr because man pages are stored under the
# prefix whether you like it or not. ~ahill
# NOTE: Zlib refuses to build a shared library if it can't pass the test.
# Rather than stopping the build, it simply proceeds to build a static
# library, which causes issues when building libarchive. The test is
# failing due to it relying on undefined symbols that are referenced
# in the linker script, which LLVM doesn't like at all. To tell LLVM
# to ignore it, we pass --undefined-version to the linker. ~ahill
CFLAGS="-Wl,--undefined-version $CFLAGS" \
./configure \
--eprefix=$TT_PREFIX \
--includedir=$TT_INCLUDEDIR \
@@ -18,11 +26,7 @@ build() {
make -O -j $TT_PROCS
}
clean() {
rm -rf zlib-*/
}
package() {
cd zlib-*/
cd zlib-$SRC_VERSION/
make -O -j $TT_PROCS install DESTDIR=$TT_INSTALLDIR
}