Splux Linux

source-based Linux using SPS

sps-core · log · files · refs · tags · releases · people · languages · GitHub · commit

55a5f5b


Declare Python's compression libraries and ship a shared libbz2 in lib64.

Date
Commit55a5f5bd5d83a9142e8ac1269fc6a084c1139df6
GitHubmirror

Parents

Stat

 base/bzip2/recipe     | 16 +++++++++++++++-
 base/file/recipe      |  8 ++++++--
 base/kmod/recipe      |  4 ++--
 base/pciutils/recipe  |  6 +++---
 base/usbutils/recipe  |  2 ++
 base/zstd/recipe      |  6 +++---
 fs/btrfs-progs/recipe |  2 ++
 lang/python/recipe    | 11 +++++++++--
 libs/dbus/recipe      |  2 ++
 libs/glib/recipe      |  2 ++
 libs/libargon2/recipe |  6 +++---
 libs/libpng/recipe    |  4 ++--
 libs/libxml2/recipe   |  2 ++
 libs/libxslt/recipe   |  4 ++--
 net/curl/recipe       |  5 +++--
 net/iputils/recipe    |  2 ++
 net/wget/recipe       |  5 +++--
 17 files changed, 63 insertions(+), 24 deletions(-)

Diff

diff --git a/base/bzip2/recipe b/base/bzip2/recipe
index 6c7cd7e..e27f647 100644
--- a/base/bzip2/recipe
+++ b/base/bzip2/recipe
@@ -1,6 +1,6 @@
 name        bzip2
 version     1.0.8
-release     1
+release     2
 description bzip2: block-sorting file compressor
 
 source      https://sourceware.org/pub/bzip2/bzip2-${version}.tar.gz
@@ -8,5 +8,19 @@ hash        sha256:ab5a03176ee106d3f0fa90e381da478ddae405918153cca248e682cd0c4a2
 
 depend      filesystem
 
+# Stock `make install PREFIX=` only ships a static library under usr/lib.
+# Isolated Python and other -lbz2 users look in lib64 for a shared object.
+prepare     sed -i 's@\(ln -s -f \)$(PREFIX)/bin/@\1@' Makefile
+prepare     sed -i 's@(PREFIX)/man@(PREFIX)/share/man@g' Makefile
+build       make -f Makefile-libbz2_so
 build       make -j"$MAKEJOBS"
 install     make install PREFIX="$PKG/usr"
+install     mkdir -p "$PKG/usr/lib64"
+install     cp -a libbz2.so.1.0.8 "$PKG/usr/lib64/"
+install     ln -sf libbz2.so.1.0.8 "$PKG/usr/lib64/libbz2.so.1.0"
+install     ln -sf libbz2.so.1.0.8 "$PKG/usr/lib64/libbz2.so"
+install     if [ -f bzip2-shared ]; then cp bzip2-shared "$PKG/usr/bin/bzip2"; chmod 755 "$PKG/usr/bin/bzip2"; fi
+install     ln -sf bzip2 "$PKG/usr/bin/bzcat"
+install     ln -sf bzip2 "$PKG/usr/bin/bunzip2"
+install     rm -f "$PKG/usr/lib/libbz2.a"
+install     rmdir "$PKG/usr/lib" 2>/dev/null || true
diff --git a/base/file/recipe b/base/file/recipe
index 2dfc9a0..a093851 100644
--- a/base/file/recipe
+++ b/base/file/recipe
@@ -1,13 +1,17 @@
 name        file
 version     5.48
-release     1
+release     2
 description file: identify file types
 
 source      https://astron.com/pub/file/file-${version}.tar.gz
 hash        sha256:ed14656883b23a364b4057c05595d93252da9bc473d30106519519d0da141283
 
 depend      filesystem
+depend      zlib
+depend      bzip2
+depend      xz
+depend      zstd
 
-configure   ./configure --prefix=/usr
+configure   ./configure --prefix=/usr --libdir=/usr/lib64 --enable-zlib --enable-bzlib --enable-xzlib --enable-zstdlib
 build       make -j"$MAKEJOBS"
 install     make install DESTDIR="$PKG"
diff --git a/base/kmod/recipe b/base/kmod/recipe
index ac929b0..3af936f 100644
--- a/base/kmod/recipe
+++ b/base/kmod/recipe
@@ -1,6 +1,6 @@
 name        kmod
 version     34.2
-release     1
+release     2
 description kmod: kernel module tools
 
 source      https://mirrors.edge.kernel.org/pub/linux/utils/kernel/kmod/kmod-34.2.tar.xz
@@ -11,6 +11,6 @@ depend      zlib
 depend      xz
 depend      zstd
 
-configure   ./configure --prefix=/usr
+configure   ./configure --prefix=/usr --libdir=/usr/lib64
 build       make -j"$MAKEJOBS"
 install     make install DESTDIR="$PKG"
diff --git a/base/pciutils/recipe b/base/pciutils/recipe
index a842769..91cad46 100644
--- a/base/pciutils/recipe
+++ b/base/pciutils/recipe
@@ -1,6 +1,6 @@
 name        pciutils
 version     3.13.0
-release     1
+release     2
 description pciutils: lspci and setpci
 
 source      https://mirrors.edge.kernel.org/pub/software/utils/pciutils/pciutils-3.13.0.tar.xz
@@ -9,5 +9,5 @@ hash        sha256:77f11f78298502634d1af50308f15a5788629f6cf45cba376f5009aea4cb4
 depend      filesystem
 depend      zlib
 
-build       make -j"$MAKEJOBS" PREFIX=/usr SHAREDIR=/usr/share/hwdata SHARED=yes
-install     make PREFIX=/usr SHAREDIR=/usr/share/hwdata SHARED=yes DESTDIR="$PKG" install install-lib
+build       make -j"$MAKEJOBS" PREFIX=/usr LIBDIR=/usr/lib64 SHAREDIR=/usr/share/hwdata SHARED=yes
+install     make PREFIX=/usr LIBDIR=/usr/lib64 SHAREDIR=/usr/share/hwdata SHARED=yes DESTDIR="$PKG" install install-lib
diff --git a/base/usbutils/recipe b/base/usbutils/recipe
index cb7edcb..a09ec6b 100644
--- a/base/usbutils/recipe
+++ b/base/usbutils/recipe
@@ -8,6 +8,8 @@ hash        sha256:83f68b59b58547589c00266e82671864627593ab4362d8c807f50eea923ca
 
 depend      filesystem
 depend      libusb
+builddep    meson
+builddep    ninja
 
 configure   meson setup build --prefix=/usr --libdir=lib64 --buildtype=release
 build       meson compile -C build
diff --git a/base/zstd/recipe b/base/zstd/recipe
index 7b15f46..6786619 100644
--- a/base/zstd/recipe
+++ b/base/zstd/recipe
@@ -1,6 +1,6 @@
 name        zstd
 version     1.5.7
-release     1
+release     2
 description Zstandard: fast real-time compression algorithm
 
 source      https://github.com/facebook/zstd/releases/download/v${version}/zstd-${version}.tar.gz
@@ -8,5 +8,5 @@ hash        sha256:eb33e51f49a15e023950cd7825ca74a4a2b43db8354825ac24fc1b7ee09e6
 
 depend      filesystem
 
-build       make -j"$MAKEJOBS"
-install     make install PREFIX="$PKG/usr"
+build       make -j"$MAKEJOBS" PREFIX=/usr LIBDIR=/usr/lib64
+install     make PREFIX=/usr LIBDIR=/usr/lib64 DESTDIR="$PKG" install
diff --git a/fs/btrfs-progs/recipe b/fs/btrfs-progs/recipe
index 788d638..fa84ce3 100644
--- a/fs/btrfs-progs/recipe
+++ b/fs/btrfs-progs/recipe
@@ -11,6 +11,8 @@ depend      util-linux
 depend      zlib
 depend      zstd
 depend      lzo
+builddep    meson
+builddep    ninja
 
 configure   meson setup build --prefix=/usr --libdir=lib64 --buildtype=release
 build       meson compile -C build
diff --git a/lang/python/recipe b/lang/python/recipe
index e851692..c333485 100644
--- a/lang/python/recipe
+++ b/lang/python/recipe
@@ -1,6 +1,6 @@
 name        python
 version     3.14.7
-release     4
+release     5
 description python: Python interpreter
 
 source      https://www.python.org/ftp/python/3.14.7/Python-3.14.7.tar.xz
@@ -14,7 +14,11 @@ depend      readline
 depend      sqlite
 depend      libffi
 depend      expat
+depend      bzip2
+depend      xz
 
+# Cache builds install only declared depends, not base-system. CPython still
+# ships bz2.py when libbz2 is missing, then Node's configure dies on import.
 configure   ./configure --prefix=/usr --libdir=/usr/lib64 --with-platlibdir=lib64 \
             --enable-shared --with-ensurepip=install --with-system-expat \
             --with-system-ffi --enable-loadable-sqlite-extensions \
@@ -24,5 +28,8 @@ build       if find Modules -name '*_failed.so' | grep -q .; then \
             printf '%s\n' 'python: an extension failed to import' >&2; \
             find Modules -name '*_failed.so' >&2; \
             exit 1; fi
-build       ls Modules/_ssl.cpython-*.so >/dev/null
+build       for _pyext in _ssl _hashlib _bz2 _lzma _sqlite3 _ctypes _posixsubprocess zlib pyexpat readline _curses; do \
+            ls Modules/${_pyext}*.so >/dev/null 2>&1 || { \
+            printf '%s\n' "python: required extension ${_pyext} was not built" >&2; \
+            exit 1; }; done
 install     make install DESTDIR="$PKG"
diff --git a/libs/dbus/recipe b/libs/dbus/recipe
index bf2144a..0e94be8 100644
--- a/libs/dbus/recipe
+++ b/libs/dbus/recipe
@@ -8,6 +8,8 @@ hash        sha256:0ba2a1a4b16afe7bceb2c07e9ce99a8c2c3508e5dec290dbb643384bd6beb
 
 depend      filesystem
 depend      expat
+builddep    meson
+builddep    ninja
 
 configure   meson setup build --prefix=/usr --libdir=lib64 --buildtype=release -Dsystemd=disabled -Dselinux=disabled
 build       meson compile -C build
diff --git a/libs/glib/recipe b/libs/glib/recipe
index 5af5a1f..6504ae2 100644
--- a/libs/glib/recipe
+++ b/libs/glib/recipe
@@ -11,6 +11,8 @@ depend      libffi
 depend      zlib
 depend      pcre2
 depend      libxml2
+builddep    meson
+builddep    ninja
 
 configure   meson setup build --prefix=/usr --libdir=lib64 --buildtype=release -Dtests=false -Dsysprof=disabled
 build       meson compile -C build
diff --git a/libs/libargon2/recipe b/libs/libargon2/recipe
index 1ec4372..224c310 100644
--- a/libs/libargon2/recipe
+++ b/libs/libargon2/recipe
@@ -1,6 +1,6 @@
 name        libargon2
 version     20190702
-release     1
+release     2
 description libargon2: Argon2 password hashing
 
 source      https://github.com/P-H-C/phc-winner-argon2/archive/refs/tags/20190702.tar.gz
@@ -8,5 +8,5 @@ hash        sha256:daf972a89577f8772602bf2eb38b6a3dd3d922bf5724d45e7f9589b5e8304
 
 depend      filesystem
 
-build       make -j"$MAKEJOBS" LIBRARY_REL=lib
-install     make install DESTDIR="$PKG" PREFIX=/usr LIBRARY_REL=lib
+build       make -j"$MAKEJOBS" LIBRARY_REL=lib64
+install     make install DESTDIR="$PKG" PREFIX=/usr LIBRARY_REL=lib64
diff --git a/libs/libpng/recipe b/libs/libpng/recipe
index 03c87c1..ee74eef 100644
--- a/libs/libpng/recipe
+++ b/libs/libpng/recipe
@@ -1,6 +1,6 @@
 name        libpng
 version     1.6.50
-release     1
+release     2
 description libpng: PNG library
 
 source      https://download.sourceforge.net/libpng/libpng-1.6.50.tar.xz
@@ -9,6 +9,6 @@ hash        sha256:4df396518620a7aa3651443e87d1b2862e4e88cad135a8b93423e01706232
 depend      filesystem
 depend      zlib
 
-configure   ./configure --prefix=/usr --disable-static
+configure   ./configure --prefix=/usr --libdir=/usr/lib64 --disable-static
 build       make -j"$MAKEJOBS"
 install     make install DESTDIR="$PKG"
diff --git a/libs/libxml2/recipe b/libs/libxml2/recipe
index b83ba77..2176426 100644
--- a/libs/libxml2/recipe
+++ b/libs/libxml2/recipe
@@ -8,6 +8,8 @@ hash        sha256:5abc766497c5b1d6d99231f662e30c99402a90d03b06c67b62d6c1179dedd
 
 depend      filesystem
 depend      zlib
+builddep    meson
+builddep    ninja
 
 configure   meson setup build --prefix=/usr --libdir=lib64 --buildtype=release -Dpython=disabled -Ddocs=disabled -Dzlib=enabled -Dicu=disabled
 build       meson compile -C build
diff --git a/libs/libxslt/recipe b/libs/libxslt/recipe
index eef37d4..d73d207 100644
--- a/libs/libxslt/recipe
+++ b/libs/libxslt/recipe
@@ -1,6 +1,6 @@
 name        libxslt
 version     1.1.43
-release     1
+release     2
 description libxslt: XSLT library
 
 source      https://download.gnome.org/sources/libxslt/1.1/libxslt-1.1.43.tar.xz
@@ -9,6 +9,6 @@ hash        sha256:5a3d6b383ca5afc235b171118e90f5ff6aa27e9fea3303065231a6d403f01
 depend      filesystem
 depend      libxml2
 
-configure   ./configure --prefix=/usr
+configure   ./configure --prefix=/usr --libdir=/usr/lib64
 build       make -j"$MAKEJOBS"
 install     make install DESTDIR="$PKG"
diff --git a/net/curl/recipe b/net/curl/recipe
index 2c7c308..2c36a7b 100644
--- a/net/curl/recipe
+++ b/net/curl/recipe
@@ -1,6 +1,6 @@
 name        curl
 version     8.21.0
-release     1
+release     2
 description curl: command line URL transfer tool
 
 source      https://github.com/curl/curl/releases/download/curl-8_21_0/curl-${version}.tar.gz
@@ -8,7 +8,8 @@ hash        sha256:d9b327997999045a24cda50f3983e69e51c516bd8be6ef9842fc7f99135e3
 
 depend      filesystem
 depend      openssl
+depend      zlib
 
-configure   ./configure --prefix=/usr --with-openssl --without-libpsl
+configure   ./configure --prefix=/usr --libdir=/usr/lib64 --with-openssl --with-zlib --without-libpsl
 build       make -j"$MAKEJOBS"
 install     make install DESTDIR="$PKG"
diff --git a/net/iputils/recipe b/net/iputils/recipe
index 7336983..6fa38e0 100644
--- a/net/iputils/recipe
+++ b/net/iputils/recipe
@@ -7,6 +7,8 @@ source      https://github.com/iputils/iputils/archive/refs/tags/20250605.tar.gz
 hash        sha256:19e680c9eef8c079da4da37040b5f5453763205b4edfb1e2c114de77908927e4
 
 depend      filesystem
+builddep    meson
+builddep    ninja
 
 configure   meson setup build --prefix=/usr --libdir=lib64 --buildtype=release
 build       meson compile -C build
diff --git a/net/wget/recipe b/net/wget/recipe
index af57d43..4c81b96 100644
--- a/net/wget/recipe
+++ b/net/wget/recipe
@@ -1,6 +1,6 @@
 name        wget
 version     1.25.0
-release     1
+release     2
 description GNU wget: network download utility
 
 source      https://ftp.gnu.org/gnu/wget/wget-${version}.tar.gz
@@ -8,7 +8,8 @@ hash        sha256:766e48423e79359ea31e41db9e5c289675947a7fcf2efdcedb726ac9d0da3
 
 depend      filesystem
 depend      openssl
+depend      zlib
 
-configure   ./configure --prefix=/usr --with-ssl=openssl
+configure   ./configure --prefix=/usr --with-ssl=openssl --with-zlib
 build       make -j"$MAKEJOBS"
 install     make install DESTDIR="$PKG"