53 lines
1.7 KiB
Nix
53 lines
1.7 KiB
Nix
{ mkMuslLib, pkgs, zigCC, zigAR, zigRANLIB, autotoolsHost, ... }:
|
|
let
|
|
ctx = { inherit mkMuslLib pkgs zigCC zigAR zigRANLIB autotoolsHost; };
|
|
zlib = import ./lib-zlib.nix ctx;
|
|
bzip2 = import ./lib-bzip2.nix ctx;
|
|
xz = import ./lib-xz.nix ctx;
|
|
lz4 = import ./lib-lz4.nix ctx;
|
|
zstd = import ./lib-zstd.nix ctx;
|
|
libxml2 = import ./lib-libxml2.nix ctx;
|
|
in
|
|
{
|
|
libarchive = mkMuslLib {
|
|
pname = "libarchive-musl-static";
|
|
src = pkgs.libarchive.src;
|
|
nativeBuildInputs = [ pkgs.cmake pkgs.pkg-config ];
|
|
configurePhase = ''
|
|
cmake -B builddir \
|
|
-DCMAKE_C_COMPILER="${zigCC}" \
|
|
-DCMAKE_CXX_COMPILER="${zigCC}" \
|
|
-DCMAKE_AR="${zigAR}" \
|
|
-DCMAKE_RANLIB="${zigRANLIB}" \
|
|
-DBUILD_SHARED_LIBS=OFF \
|
|
-DENABLE_TEST=OFF \
|
|
-DENABLE_TAR=OFF \
|
|
-DENABLE_CPIO=OFF \
|
|
-DENABLE_CAT=OFF \
|
|
-DENABLE_UNZIP=OFF \
|
|
-DENABLE_OPENSSL=OFF \
|
|
-DENABLE_LIBB2=OFF \
|
|
-DENABLE_ICONV=OFF \
|
|
-DENABLE_EXPAT=OFF \
|
|
-DENABLE_PCRE2POSIX=OFF \
|
|
-DENABLE_PCREPOSIX=OFF \
|
|
-DENABLE_LIBXML2=ON \
|
|
-DENABLE_ZLIB=ON \
|
|
-DENABLE_BZip2=ON \
|
|
-DENABLE_LZMA=ON \
|
|
-DENABLE_ZSTD=ON \
|
|
-DENABLE_LZ4=ON \
|
|
-DENABLE_ACL=OFF \
|
|
-DENABLE_XATTR=OFF \
|
|
-DCMAKE_PREFIX_PATH="${zlib};${bzip2};${xz};${lz4};${zstd};${libxml2}" \
|
|
-DCMAKE_FIND_ROOT_PATH="${zlib};${bzip2};${xz};${lz4};${zstd};${libxml2}" \
|
|
-DCMAKE_INSTALL_PREFIX=$out \
|
|
-DCMAKE_INSTALL_LIBDIR=lib
|
|
'';
|
|
buildPhase = "cmake --build builddir -j$NIX_BUILD_CORES";
|
|
installPhase = "cmake --install builddir";
|
|
};
|
|
|
|
# All libs needed for static linking (libarchive + its deps)
|
|
allLibs = [ zlib bzip2 xz lz4 zstd libxml2 ];
|
|
}
|