summaryrefslogtreecommitdiff
path: root/pkgs/development/compilers/arocc/default.nix
blob: 2372e60c421dc5fd37922dc87e75fa3999ca65e9 (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_0_14,
}:
let
  versions = [
    {
      zig = zig_0_14;
      version = "0-unstable-2025-03-05";
      src = fetchFromGitHub {
        owner = "Vexu";
        repo = "arocc";
        rev = "8c6bab43ba351fc045a1d262d8a8da4a11215e37";
        hash = "sha256-J5Cj9UMwAMwH2JGby13FIKl5Qbj4N4XpSSY7zL21aoY=";
      };
    }
  ];

  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