ya-ar/support/musl-libs.nix
2026-02-10 21:24:16 +09:00

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;
}