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