summaryrefslogtreecommitdiffstats
path: root/pkgs/development/compilers/arocc/default.nix
blob: a017b60b9a4e178a70054e01b34a51dd56d7c29a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
{
  lib,
  fetchFromGitHub,
  callPackage,
  zig,
}:
let
  versions = [
    {
      inherit zig;
      version = "0-unstable-2026-04-02";
      src = fetchFromGitHub {
        owner = "Vexu";
        repo = "arocc";
        rev = "5f5a050569a95ecc40a426f0c3666ae7ef987ede";
        hash = "sha256-f8Z0SXWx5Uia2TCMB5SUpcO8+xUnaWk32Oknva7xcxw=";
      };
    }
  ];

  mkPackage =
    {
      zig,
      version,
      src,
    }:
    callPackage ./package.nix { inherit zig version src; };

  pkgsList = lib.map mkPackage versions;

  pkgsAttrsUnwrapped = lib.listToAttrs (
    lib.map (pkg: lib.nameValuePair "${pkg.version}-unwrapped" pkg) pkgsList
  );
  pkgsAttrsWrapped = lib.listToAttrs (
    lib.map (pkg: lib.nameValuePair pkg.version pkg.wrapped) pkgsList
  );

  pkgsAttrs = pkgsAttrsWrapped // pkgsAttrsUnwrapped;
in
{
  latest-unwrapped = lib.last pkgsList;
  latest = (lib.last pkgsList).wrapped;
}
// pkgsAttrs