@@ -4,6 +4,13 @@
6 lib = (import <nixpkgs> {}).lib;
6 lib = (import <nixpkgs> {}).lib;
8+ release = import <nixpkgs/pkgs/top-level/release-lib.nix> {
9+ inherit supportedSystems;
10+ nixpkgsArgs = { overlays = [ (import ./default.nix) ]; };
13+ # supportedStackageReleases :: [StackageVersion]
7 supportedStackageReleases =
14 supportedStackageReleases =
8 if supportedReleases == null
15 if supportedReleases == null
@@ -13,31 +20,27 @@ let
13 (builtins.readFile ./supported-stackage-releases.txt)))
20 (builtins.readFile ./supported-stackage-releases.txt)))
15 supportedReleases;
22 supportedReleases;
16− release = import <nixpkgs/pkgs/top-level/release-lib.nix> {
17− inherit supportedSystems;
18− nixpkgsArgs = { overlays = [ (import ./haskell-overlay.nix) ]; };
21 # hasSupportedSystem :: System -> Derivation -> Bool
24 # hasSupportedSystem :: System -> Derivation -> Bool
22 hasSupportedSystem = system: pkg:
25 hasSupportedSystem = system: pkg:
23 # Test `isAttrs pkg` to ensure that pkg is a derivation
26 # Test `isAttrs pkg` to ensure that pkg is a derivation
24 lib.isAttrs pkg && lib.elem system pkg.meta.platforms;
27 lib.isAttrs pkg && lib.elem system pkg.meta.platforms;
26− # genJobSetFiltered :: StackageRelease -> System -> AttrSet
29+ # genJobSetFiltered :: System -> StackageVersion -> AttrSet
27− genJobSetFiltered = lts: system:
30+ genJobSetFiltered = system: stackage:
28 lib.filterAttrs
31 lib.filterAttrs
29 (_: pkg: hasSupportedSystem system pkg)
32 (_: pkg: hasSupportedSystem system pkg)
30− (release.pkgsFor system).haskell.packages.stackage."${lts}";
33+ (release.pkgsFor system).haskell.packages.stackage."${stackage}";
32− # genJobSetFull :: StackageRelease -> System -> AttrSet
35+ # genJobSetFull :: System -> StackageVersion -> AttrSet
33− genJobSetFull = lts: system:
36+ genJobSetFull = system: stackage:
34− (release.pkgsFor system).haskell.packages.stackage."${lts}";
37+ (release.pkgsFor system).haskell.packages.stackage."${stackage}";
36 # genJobSet :: StackageRelease -> System -> AttrSet
39 # genJobSet :: StackageRelease -> System -> AttrSet
37 genJobSet = if inHydra then genJobSetFull else genJobSetFiltered;
40 genJobSet = if inHydra then genJobSetFull else genJobSetFiltered;
43+ lib.genAttrs supportedSystems (system:
40− lib.genAttrs supportedStackageReleases (stackage:
44+ lib.genAttrs supportedStackageReleases (stackage:
41− lib.genAttrs supportedSystems (system:
42− genJobSet stackage system
45+ genJobSet system stackage