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