Compile minizip and split package

This commit is contained in:
2025-09-16 08:59:36 +03:00
parent 7fc1e16af8
commit cc85622cc3
2 changed files with 38 additions and 3 deletions
+6 -1
View File
@@ -1,10 +1,15 @@
name: zlib name: zlib
description: A Massively Spiffy Yet Delicately Unobtrusive Compression Library description: A Massively Spiffy Yet Delicately Unobtrusive Compression Library
version: 1.3.1 version: 1.3.1
revision: 2 revision: 3
url: https://www.zlib.net/ url: https://www.zlib.net/
license: Zlib license: Zlib
architecture: any architecture: any
depends: ["glibc"] depends: ["glibc"]
make_depends: ["bash","binutils","coreutils","gcc","glibc","make","sed"] make_depends: ["bash","binutils","coreutils","gcc","glibc","make","sed"]
type: source type: source
split_packages:
- name: zlib
- name: minizip
description: zip and unzip routines based on zlib
depends: ["glibc","zlib"]
+32 -2
View File
@@ -2,7 +2,7 @@
# BPM Expects the source code to be extracted into the automatically created 'source' directory which can be accessed using $BPM_SOURCE # BPM Expects the source code to be extracted into the automatically created 'source' directory which can be accessed using $BPM_SOURCE
# BPM Expects the output files to be present in the automatically created 'output' directory which can be accessed using $BPM_OUTPUT # BPM Expects the output files to be present in the automatically created 'output' directory which can be accessed using $BPM_OUTPUT
DOWNLOAD="https://zlib.net/fossils/zlib-${BPM_PKG_VERSION}.tar.gz" DOWNLOAD="https://github.com/madler/zlib/archive/refs/tags/v${BPM_PKG_VERSION}.tar.gz"
FILENAME="${DOWNLOAD##*/}" FILENAME="${DOWNLOAD##*/}"
# The prepare function is executed in the root of the temp directory # The prepare function is executed in the root of the temp directory
@@ -10,25 +10,55 @@ FILENAME="${DOWNLOAD##*/}"
prepare() { prepare() {
wget "$DOWNLOAD" wget "$DOWNLOAD"
tar -xvf "$FILENAME" --strip-components=1 -C "$BPM_SOURCE" tar -xvf "$FILENAME" --strip-components=1 -C "$BPM_SOURCE"
cd "$BPM_SOURCE"/contrib/minizip
# Backup Makefile to run tests
cp Makefile Makefile.orig
autoreconf -fi
} }
# The build function is executed in the source directory # The build function is executed in the source directory
# This function is used to compile the source code # This function is used to compile the source code
build() { build() {
# Compile zlib
./configure --prefix=/usr ./configure --prefix=/usr
make make
# Compile minizip
cd contrib/minizip
./configure --prefix=/usr --enable-static=no
make
} }
# The check function is executed in the source directory # The check function is executed in the source directory
# This function is used to run tests to verify the package has been compiled correctly # This function is used to run tests to verify the package has been compiled correctly
check() { check() {
# Run tests for zlib
make check make check
# Run tests for minizip
make -f Makefile.orig test -C contrib/minizip
} }
# The package function is executed in the source directory # The package function is executed in the source directory
# This function is used to move the compiled files into the output directory # This function is used to move the compiled files into the output directory
package() { package_zlib() {
make DESTDIR="$BPM_OUTPUT" install make DESTDIR="$BPM_OUTPUT" install
# Remove static library
rm -f "$BPM_OUTPUT"/usr/lib/libz.a rm -f "$BPM_OUTPUT"/usr/lib/libz.a
# Install package license
install -D -m644 "$BPM_SOURCE"/LICENSE "$BPM_OUTPUT"/usr/share/licenses/zlib/LICENSE install -D -m644 "$BPM_SOURCE"/LICENSE "$BPM_OUTPUT"/usr/share/licenses/zlib/LICENSE
} }
package_minizip() {
make DESTDIR="$BPM_OUTPUT" install -C contrib/minizip
# Remove misplaced file
rm "$BPM_OUTPUT"/usr/include/minizip/crypt.h
# Install package license
install -D -m644 "$BPM_SOURCE"/LICENSE "$BPM_OUTPUT"/usr/share/licenses/minizip/LICENSE
}