From c1a0e67c304c8c756bede7e3b3821e25b540c937 Mon Sep 17 00:00:00 2001 From: Alexander Hill Date: Sat, 29 Nov 2025 16:52:24 -0500 Subject: Fixed bzip2 (excluding man pages) --- STATUS.md | 2 +- sources/bzip2/bzip2.spec | 39 +++++++++++++++++++++++++++------------ 2 files changed, 28 insertions(+), 13 deletions(-) diff --git a/STATUS.md b/STATUS.md index 6fcde36..3debb8c 100644 --- a/STATUS.md +++ b/STATUS.md @@ -11,7 +11,7 @@ Definitions: | `bsdutils` | Yes | No | | `busybox` | No | No | | `byacc` | Yes | Yes | -| `bzip2` | Yes | No | +| `bzip2` | Yes | Yes | | `cmake` | Yes | No | | `editline` | Yes | Yes | | `flex` | Yes | Yes | diff --git a/sources/bzip2/bzip2.spec b/sources/bzip2/bzip2.spec index f7c3ab2..616986d 100644 --- a/sources/bzip2/bzip2.spec +++ b/sources/bzip2/bzip2.spec @@ -2,10 +2,9 @@ SRC_HASH="ab5a03176ee106d3f0fa90e381da478ddae405918153cca248e682cd0c4a2269" SRC_NAME="bzip2" SRC_URL="https://sourceware.org/pub/bzip2/bzip2-1.0.8.tar.gz" -SRC_VERSION="1.0.8" +SRC_VERSION="1.0.8r1" -# TODO: Move bzlib.h to $TT_INCLUDEDIR ~ahill -# TODO: Prevent the static library from being installed ~ahill +# TODO: Install the man pages ~ahill build() { tar xf ../$SRC_FILENAME @@ -15,11 +14,10 @@ build() { # NOTE: -D_FILE_OFFSET_BITS is present because it's present in the Makefile # and we're completely overriding its defaults. I don't actually know # if this will cause any issues if it's missing. ~ahill - make -O -j $TT_PROCS CC=$CC CFLAGS="$CFLAGS -D_FILE_OFFSET_BITS=64" PREFIX=/ - # NOTE: I'm not sure if it's possible to build bzip2 without building a - # static library, since the executable links with the static library - # and the shared library is isolated in a separate Makefile. ~ahill - make -O -f Makefile-libbz2_so -j $TT_PROCS CC=$CC CFLAGS="$CFLAGS -D_FILE_OFFSET_BITS=64" PREFIX=/ + make -O -f Makefile-libbz2_so -j $TT_PROCS CC=$CC CFLAGS="$CFLAGS -D_FILE_OFFSET_BITS=64" + # NOTE: bzip2recover is part of the first Makefile, so we need to invoke + # that to build the command. ~ahill + make -O -j $TT_PROCS bzip2recover CC=$CC CFLAGS="$CFLAGS -D_FILE_OFFSET_BITS=64" } clean() { @@ -28,8 +26,25 @@ clean() { package() { cd bzip2-*/ - make -O -j $TT_PROCS install PREFIX=$TT_INSTALLDIR - # NOTE: The second Makefile doesn't have an "install" target, so we just - # toss the shared object into /lib and call it a day! ~ahill - cp libbz2.so* $TT_INSTALLDIR/lib/ + # NOTE: The shared Makefile doesn't have an "install" target, so we just + # copy the files over ourselves. ~ahill + mkdir -p $TT_INSTALLDIR$TT_BINDIR + cp bzdiff $TT_INSTALLDIR$TT_BINDIR/ + chmod +x $TT_INSTALLDIR$TT_BINDIR/bzdiff + ln -sf bzdiff $TT_INSTALLDIR$TT_BINDIR/bzcmp + cp bzgrep $TT_INSTALLDIR$TT_BINDIR/ + chmod +x $TT_INSTALLDIR$TT_BINDIR/bzgrep + ln -sf bzgrep $TT_INSTALLDIR$TT_BINDIR/bzegrep + ln -sf bzgrep $TT_INSTALLDIR$TT_BINDIR/bzfgrep + cp bzip2recover $TT_INSTALLDIR$TT_BINDIR/ + cp bzmore $TT_INSTALLDIR$TT_BINDIR/ + chmod +x $TT_INSTALLDIR$TT_BINDIR/bzmore + ln -sf bzmore $TT_INSTALLDIR$TT_BINDIR/bzless + cp bzip2-shared $TT_INSTALLDIR$TT_BINDIR/bzip2 + ln -sf bzip2 $TT_INSTALLDIR$TT_BINDIR/bunzip2 + ln -sf bzip2 $TT_INSTALLDIR$TT_BINDIR/bzcat + mkdir -p $TT_INSTALLDIR$TT_LIBDIR + cp libbz2.so* $TT_INSTALLDIR$TT_LIBDIR/ + mkdir -p $TT_INSTALLDIR$TT_INCLUDEDIR + cp bzlib.h $TT_INSTALLDIR$TT_INCLUDEDIR/ } -- cgit v1.2.3