# generated by zon2nix (https://github.com/jcollie/zon2nix) { lib, linkFarm, fetchzip, fetchurl, fetchgit, runCommandLocal, zig_0_16, zstd, name ? "zig-packages", }: let unpackZigArtifact = { name, artifact, }: runCommandLocal name { nativeBuildInputs = [ zig_0_16 ]; } '' # workaround https://codeberg.org/ziglang/zig/issues/31866 # https://github.com/Cloudef/zig2nix/issues/54 mkdir "$TMPDIR/src" "$TMPDIR/cache" touch "$TMPDIR/src/build.zig" hash="$(cd "$TMPDIR/src" && zig fetch --global-cache-dir "$TMPDIR/cache" ${artifact})" mkdir "$out" tar zxvf "$TMPDIR/cache/p/$hash.tar.gz" --directory "$out/" --strip-components=1 ''; fetchZig = { name, url, hash, unpack, }: let artifact = if unpack then fetchzip { inherit url hash; nativeBuildInputs = [ zstd ]; } else fetchurl { inherit url hash; }; in unpackZigArtifact { inherit name artifact; }; fetchGitZig = { name, url, hash, }: let parts = lib.splitString "#" url; url_base = builtins.elemAt parts 0; url_without_query = builtins.elemAt (lib.splitString "?" url_base) 0; rev_base = builtins.elemAt parts 1; rev = if builtins.match "^[a-fA-F0-9]{40}$" rev_base != null then rev_base else "refs/heads/${rev_base}"; in fetchgit { inherit name rev hash; url = url_without_query; deepClone = false; fetchSubmodules = false; }; fetchZigArtifact = { name, url, hash, unpack, }: let parts = lib.splitString "://" url; proto = builtins.elemAt parts 0; path = builtins.elemAt parts 1; fetcher = { "git+http" = fetchGitZig { inherit name hash; url = "http://${path}"; }; "git+https" = fetchGitZig { inherit name hash; url = "https://${path}"; }; http = fetchZig { inherit name hash unpack; url = "http://${path}"; }; https = fetchZig { inherit name hash unpack; url = "https://${path}"; }; }; in fetcher.${proto}; in linkFarm name [ { name = "N-V-__8AAFtMiwHRrbE2kejFyc1FTFciBTZJlJOPGt-eIVGJ"; path = fetchZigArtifact { name = "exim"; url = "https://github.com/Exim/exim/archive/13835a3c1e057efad7da269c0f93bf2eac850205.tar.gz"; hash = "sha256-mqyGOAONL1uvPWZbraGmBjzrsTRW2424lGae0x9CR1U="; unpack = false; }; } { name = "N-V-__8AAI5RBAAIsFSqnDYObnOsBo3t9cQMXnvu0vQQRSAf"; path = fetchZigArtifact { name = "isemail"; url = "https://github.com/dominicsayers/isemail/archive/cfeefc3f2f88cb195053f6a309fa4f640cd369b5.tar.gz"; hash = "sha256-bgW2Lj00UluNZWrydCU7sx9332PmbttAAER4fq5ACmo="; unpack = false; }; } { name = "tls-0.1.0-ER2e0jGpBgCkVC-Yp12NgSdHNUtZr52MleJ8roHlUa54"; path = fetchZigArtifact { name = "tls"; url = "https://github.com/ianic/tls.zig/archive/e04ae448ce7ee70c136d4d48b059314543203809.tar.gz"; hash = "sha256-afPTfauIV49IATX0szuOdKLloyqI4XKsyNk8KkasAvg="; unpack = true; }; } ]