1{
2 lib,
3 callPackage,
4 llvmPackages_17,
5 llvmPackages_18,
6 llvmPackages_19,
7 zigVersions ? { },
8}:
9let
10 versions = {
11 "0.12.1" = {
12 llvmPackages = llvmPackages_17;
13 hash = "sha256-C56jyVf16Co/XCloMLSRsbG9r/gBc8mzCdeEMHV2T2s=";
14 };
15 "0.13.0" = {
16 llvmPackages = llvmPackages_18;
17 hash = "sha256-5qSiTq+UWGOwjDVZMIrAt2cDKHkyNPBSAEjpRQUByFM=";
18 };
19 "0.14.1" = {
20 llvmPackages = llvmPackages_19;
21 hash = "sha256-DhVJIY/z12PJZdb5j4dnCRb7k1CmeQVOnayYRP8azDI=";
22 };
23 } // zigVersions;
24
25 mkPackage =
26 {
27 version,
28 hash,
29 llvmPackages,
30 }@args:
31 callPackage ./generic.nix args;
32
33 zigPackages = lib.mapAttrs' (
34 version: args:
35 lib.nameValuePair (lib.versions.majorMinor version) (mkPackage (args // { inherit version; }))
36 ) versions;
37in
38zigPackages