Replaced util-linux with ubase

This commit is contained in:
Alexander Hill
2026-02-08 07:10:59 -05:00
parent 4008f26846
commit 87d540f7d6
7 changed files with 47 additions and 59 deletions

28
sources/ubase/ubase.spec Normal file
View File

@@ -0,0 +1,28 @@
# Maintainer: Alexander Hill <ahill@breadpudding.dev>
SRC_HASH="962ea0f6e91f9557121bc1c9e44fb9b303dd33a4ba39c3ac0d18c5eb0db3d1c6"
SRC_NAME="ubase"
SRC_URL="https://linux.maple.camp/git/mirror/ubase/archive/e8249b49ca3e02032dece5e0cdac3d236667a6d9.tar.gz"
SRC_VERSION="e8249b4"
# NOTE: ubase hasn't had a tag created in twelve years, and significant progress
# has been made since then. To get the version number, I'm using:
# git describe --always --tags
# This seems to work well, but I'm not sure why it doesn't detect the last
# tag that was created. Doing a deeper dive reveals a different commit
# hash for the tagged version, despite being the same thing. Maybe someone
# smarter than me can figure it out?
# https://linux.maple.camp/git/mirror/ubase/commit/c3341ac588dd6675f8e8725b72ab214c1042721d
# https://linux.maple.camp/git/mirror/ubase/commit/fffdb91ada0cc1af981ad8a36a4f5a64b5fa819d
SRC_FILENAME="ubase-$SRC_VERSION.tar.gz"
build() {
tar xf ../$SRC_FILENAME
cd ubase/
sed -E -i "s|^PREFIX.+|PREFIX = $TT_PREFIX|" config.mk
sed -E -i "s|^MANPREFIX.+|MANPREFIX = $TT_DATADIR/man|" config.mk
# NOTE: Basic system utilities should be statically linked anyways. ~ahill
sed -E -i "/^(C|LD)FLAGS/s/$/ -static/" config.mk
make -j $TT_PROCS
make -j $TT_PROCS install DESTDIR=$TT_INSTALLDIR
}

View File

@@ -1,20 +0,0 @@
--- vanilla/meson.build 2025-12-15 07:50:01.000000000 -0500
+++ maple/meson.build 2026-02-06 21:58:53.463319033 -0500
@@ -952,7 +952,7 @@
have = get_option('use-tty-group')
conf.set('USE_TTY_GROUP', have ? 1 : false)
-bison = find_program('bison')
+bison = find_program('byacc')
flex = find_program('flex')
sed = find_program('sed')
@@ -960,7 +960,7 @@
bison_gen = generator(
bison,
output : ['@BASENAME@.tab.c', '@BASENAME@.tab.h'],
- arguments : ['@INPUT@', '--defines=@OUTPUT1@', '--output=@OUTPUT0@'])
+ arguments : ['--defines', '@OUTPUT1@', '--output', '@OUTPUT0@', '@INPUT@'])
python_program = find_program('python3', 'python', native : true)

View File

@@ -1,34 +0,0 @@
# Maintainer: Alexander Hill <ahill@breadpudding.dev>
SRC_HASH="25dc2fd70c6b6bec1c0c97cb11636edd2d5b2645df2324eef4820db3677bd412"
SRC_NAME="util-linux"
SRC_URL="https://github.com/util-linux/util-linux/archive/refs/tags/v2.41.3.tar.gz"
SRC_VERSION="2.41.3"
SRC_FILENAME="util-linux-$SRC_VERSION.tar.gz"
SRC_PATCHES="
64867fc3cd34263137f8db91839fad44f0096f76602a4281b3e542e344ae97cc util-linux-byacc.patch
"
build() {
tar xf ../$SRC_FILENAME
cd util-linux-$SRC_VERSION/
# NOTE: util-linux is hard-coded to use bison, so we need to patch the build
# script to use byacc. In addition to the difference in name, byacc
# has slightly different arguments, resulting in an error later on in
# the build. Because of this, the command line arguments are patched
# as well. ~ahill
patch -p1 < ../util-linux-byacc.patch
# NOTE: I'm not sure why, but muon doesn't seem to be able to build libfdisk
# and libmount, so they are disabled for now. ~ahill
# NOTE: libsmartcols appears to rely on some bison-specific behavior that
# byacc seems to lack, so we aren't able to build the software at this
# time. ~ahill
muon setup $TT_MESON_COMMON \
-Dbuild-libfdisk=disabled \
-Dbuild-libmount=disabled \
-Dbuild-libsmartcols=disabled \
-Dbuild-python=disabled \
build
muon samu -C build
muon -C build install -d $TT_INSTALLDIR
}