on develop help sign in
Merge pull request #374 from reflex-frp/je-rp-ci

Lean on reflex-platform for CI more

commitd79405c210eb54bb6f8dcff4ab495b8b75f79693 authorJohn Ericson <John.Ericson@Obsidian.Systems> dateThu 12 Dec 2019, 13:10 (7 years ago) parentcc8d1237059708
2 files changed+30−20
dep/reflex-platform/github.json+3−3 release.nix+27−17
dep/reflex-platform/github.json+3−3
@@ -1,7 +1,7 @@
11{
22 "owner": "reflex-frp",
33 "repo": "reflex-platform",
4− "branch": "jailbreakTheselens",
5− "rev": "4284ed527c96c373538dc7e31776d9a50ca6aa91",
6− "sha256": "1m1nkxq7ng9wnqbd77xn8d81f2iz8g61y5m0r3gp0gi0q59jm8ay"
4+ "branch": "develop",
5+ "rev": "e7b76dd552a10916c7d8702c11292dac4f4299ea",
6+ "sha256": "0s1183arrwldcs50qhzgnv94v24n9bgq6dfq64wp0a3q2nzyvgwh"
77}
release.nix+27−17
@@ -17,26 +17,36 @@ let
1717 ] ++ lib.optionals (reflex-platform.iosSupport) [
1818 "ghcIosAarch64"
1919 ];
20− hsPkgs = lib.genAttrs compilers (ghc: let
21− ghc' = reflex-platform.${ghc}.override {
22− overrides = self: super: let
23− reflexSrc = builtins.filterSource (path: type: !(builtins.elem (baseNameOf path) [
24− "default.nix"
25− "release.nix"
26− ".git"
27− "dist"
28− ])) ./.;
29− in {
30− reflex-dontUseTemplateHaskell = self.callCabal2nixWithOptions "reflex" reflexSrc "-f -use-template-haskell" {};
31− reflex = self.callCabal2nixWithOptions "reflex" reflexSrc "-f +use-template-haskell" {};
20+ variations = map (v: "reflex" + v) [
21+ "-dontUseTemplateHaskell"
22+ ""
23+ ];
24+ compilerPkgs = lib.genAttrs compilers (ghc: let
25+ variationPkgs = lib.genAttrs variations (variation: let
26+ reflex-platform = reflex-platform-fun {
27+ inherit system;
28+ __useTemplateHaskell = variation == "reflex"; # TODO hack
29+ haskellOverlays = [
30+ # Use this package's source for reflex
31+ (self: super: {
32+ _dep = super._dep // {
33+ reflex = builtins.filterSource (path: type: !(builtins.elem (baseNameOf path) [
34+ "release.nix"
35+ ".git"
36+ "dist"
37+ ])) ./.;
38+ };
39+ })
40+ ];
3241 };
33− };
34− in {
35− inherit (ghc') reflex reflex-dontUseTemplateHaskell;
42+ in reflex-platform.${ghc}.reflex);
43+ in variationPkgs // {
44+ cache = reflex-platform.pinBuildInputs "reflex-${system}-${ghc}"
45+ (builtins.attrValues variationPkgs);
3646 });
37− in hsPkgs // {
47+ in compilerPkgs // {
3848 cache = reflex-platform.pinBuildInputs "reflex-${system}"
39− (lib.concatLists (map builtins.attrValues (builtins.attrValues hsPkgs)));
49+ (map (a: a.cache) (builtins.attrValues compilerPkgs));
4050 });
4151
4252 metaCache = native-reflex-platform.pinBuildInputs "reflex-everywhere"