1{
2 lib,
3 callPackage,
4 llvmPackages_18,
5 llvmPackages_19,
6 llvmPackages_20,
7 zigVersions ? { },
8}:
9let
10 versions = {
11 "0.13.0" = {
12 llvmPackages = llvmPackages_18;
13 hash = "sha256-5qSiTq+UWGOwjDVZMIrAt2cDKHkyNPBSAEjpRQUByFM=";
14 };
15 "0.14.1" = {
16 llvmPackages = llvmPackages_19;
17 hash = "sha256-DhVJIY/z12PJZdb5j4dnCRb7k1CmeQVOnayYRP8azDI=";
18 };
19 "0.15.1" = {
20 llvmPackages = llvmPackages_20;
21 hash = "sha256-RFbJYeTHj/aNjWSsG+HHtmOL1VY4dpvJjbx04OhF4bI=";
22 };
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