2022-08-22 15:56:44 -07:00
|
|
|
{ pkgs ? import <nixpkgs> {},
|
|
|
|
system ? builtins.currentSystem }:
|
|
|
|
|
2022-08-22 17:38:53 -07:00
|
|
|
let
|
|
|
|
inherit (pkgs) lib;
|
2022-08-22 16:04:10 -07:00
|
|
|
releases = builtins.fromJSON (lib.strings.fileContents ./sources.json);
|
2022-08-22 17:50:25 -07:00
|
|
|
mkDerivation = { url, version, sha256 }: pkgs.stdenv.mkDerivation {
|
|
|
|
inherit version;
|
|
|
|
|
|
|
|
pname = "zig";
|
|
|
|
src = pkgs.fetchurl { inherit url sha256; };
|
|
|
|
dontConfigure = true;
|
|
|
|
dontBuild = true;
|
|
|
|
dontFixup = true;
|
|
|
|
installPhase = ''
|
|
|
|
mkdir -p $out/{doc,bin,lib}
|
|
|
|
[ -d docs ] && cp -r docs/* $out/doc
|
|
|
|
[ -d doc ] && cp -r doc/* $out/doc
|
|
|
|
cp -r lib/* $out/lib
|
|
|
|
cp zig $out/bin/zig
|
|
|
|
'';
|
|
|
|
};
|
2022-08-22 17:38:53 -07:00
|
|
|
in lib.attrsets.mapAttrs (k: v:
|
2022-08-22 15:56:44 -07:00
|
|
|
if k == "master" then
|
2022-08-22 17:50:25 -07:00
|
|
|
lib.attrsets.mapAttrs (k: v: (mkDerivation {
|
|
|
|
inherit (v.${system}) version url sha256;
|
|
|
|
})) v
|
2022-08-22 15:56:44 -07:00
|
|
|
else
|
2022-08-22 17:50:25 -07:00
|
|
|
mkDerivation {
|
|
|
|
inherit (v.${system}) version url sha256;
|
2022-08-22 15:56:44 -07:00
|
|
|
})
|
2022-08-22 17:38:53 -07:00
|
|
|
releases
|