30 lines
864 B
Nix
30 lines
864 B
Nix
{ pkgs, zig, name-target }:
|
|
let
|
|
zigCC = "${zig}/bin/zig-cc-${name-target}";
|
|
zigAR = "${zig}/bin/zig-ar";
|
|
zigRANLIB = "${zig}/bin/zig-ranlib";
|
|
|
|
autotoolsHost = {
|
|
"amd64-linux" = "x86_64-linux-musl";
|
|
"arm64-linux" = "aarch64-linux-musl";
|
|
}.${name-target};
|
|
|
|
mkMuslLib = args: pkgs.stdenvNoCC.mkDerivation ({
|
|
nativeBuildInputs = [ zig pkgs.gnumake pkgs.binutils ] ++ (args.nativeBuildInputs or []);
|
|
dontFixup = true;
|
|
CC = zigCC;
|
|
AR = zigAR;
|
|
RANLIB = zigRANLIB;
|
|
} // builtins.removeAttrs args [ "nativeBuildInputs" ] // {
|
|
name = "${args.pname}-${name-target}";
|
|
});
|
|
|
|
ctx = {
|
|
inherit pkgs zigCC zigAR zigRANLIB autotoolsHost mkMuslLib;
|
|
};
|
|
|
|
libarchiveResult = import ./lib-libarchive.nix ctx;
|
|
in {
|
|
inherit (libarchiveResult) libarchive;
|
|
allLibs = [ libarchiveResult.libarchive ] ++ libarchiveResult.allLibs;
|
|
}
|