on wineTestWrapperWithPath help sign in
haskell.nix/ci.nix
68 lines 4.4 kB history raw
1# these are patched nixpkgs that include the following PRs:
2# - https://github.com/NixOS/nixpkgs/pull/71216
3# - https://github.com/NixOS/nixpkgs/pull/68398
5let
6 nixpkgsVersions = {
7# "release-18.09" = builtins.fetchTarball "https://github.com/input-output-hk/nixpkgs/archive/7e4dcacbf066a8e2d12693a9de1fb30c77081c5d.tar.gz";
8 "release-19.03" = builtins.fetchTarball "https://github.com/input-output-hk/nixpkgs/archive/a8f81dc037a5977414a356dd068f2621b3c89b60.tar.gz";
9 # "release-19.09" = builtins.fetchTarball "https://github.com/input-output-hk/nixpkgs/archive/3d623a406cec9052ae0a16a79ce3ce9de11236bb.tar.gz";
10 };
11 haskellNixArgs = import ./.;
12 defaultNixpkgs = import (nixpkgsVersions."release-19.03") {};
13 recRecurseIntoAttrs = with defaultNixpkgs; pred: x: if pred x then recurseIntoAttrs (lib.mapAttrs (n: v: if n == "buildPackages" then v else recRecurseIntoAttrs pred v) x) else x;
14in
15 recRecurseIntoAttrs (x: with defaultNixpkgs; lib.isAttrs x && !lib.isDerivation x) (
16 builtins.mapAttrs (nixpkgsName: nixpkgsSrc: with (import nixpkgsSrc {}); {
17 x86_64-linux = {
18 hello = with (import nixpkgsSrc (haskellNixArgs // { system = "x86_64-linux"; }));
19 (haskell-nix.hackage-package { name = "hello"; version = "1.0.0.2";}).components.exes.hello;
20 x86_64-pc-mingw32-hello = with (import nixpkgsSrc (haskellNixArgs // { system = "x86_64-linux"; crossSystem.config = "x86_64-pc-mingw32"; }));
21 (haskell-nix.hackage-package { name = "hello"; version = "1.0.0.2";}).components.exes.hello;
23 iserv-proxy = with (import nixpkgsSrc (haskellNixArgs // { system = "x86_64-linux"; }));
24 (ghc-extra-packages.ghc865.iserv-proxy.components.exes).iserv-proxy;
26 x86_64-pc-mingw32-iserv-proxy = with (import nixpkgsSrc (haskellNixArgs // { system = "x86_64-linux"; crossSystem.config = "x86_64-pc-mingw32"; }));
27 (buildPackages.ghc-extra-packages.ghc865.iserv-proxy.components.exes).iserv-proxy;
29 x86_64-pc-mingw32-remote-iserv = with (import nixpkgsSrc (haskellNixArgs // { system = "x86_64-linux"; crossSystem.config = "x86_64-pc-mingw32"; }));
30 (ghc-extra-packages.ghc865.remote-iserv.components.exes).remote-iserv;
32 };
33 x86_64-darwin = {
34 hello = with (import nixpkgsSrc (haskellNixArgs // { system = "x86_64-darwin"; }));
35 (haskell-nix.hackage-package { name = "hello"; version = "1.0.0.2";}).components.exes.hello;
36 x86_64-pc-mingw32-hello = with (import nixpkgsSrc (haskellNixArgs // { system = "x86_64-darwin"; crossSystem.config = "x86_64-pc-mingw32"; }));
37 (haskell-nix.hackage-package { name = "hello"; version = "1.0.0.2";}).components.exes.hello;
39 iserv-proxy = with (import nixpkgsSrc (haskellNixArgs // { system = "x86_64-darwin"; }));
40 (ghc-extra-packages.ghc865.iserv-proxy.components.exes).iserv-proxy;
42 x86_64-pc-mingw32-iserv-proxy = with (import nixpkgsSrc (haskellNixArgs // { system = "x86_64-darwin"; crossSystem.config = "x86_64-pc-mingw32"; }));
43 (buildPackages.ghc-extra-packages.ghc865.iserv-proxy.components.exes).iserv-proxy;
45 x86_64-pc-mingw32-remote-iserv = with (import nixpkgsSrc (haskellNixArgs // { system = "x86_64-darwin"; crossSystem.config = "x86_64-pc-mingw32"; }));
46 (ghc-extra-packages.ghc865.remote-iserv.components.exes).remote-iserv;
48 };
49 haskell-nix.compiler = {
50 x86_64-linux = with (import nixpkgsSrc (haskellNixArgs // { system = "x86_64-linux"; }));
51 haskell-nix.compiler;
52 x86_64-darwin = with (import nixpkgsSrc (haskellNixArgs // { system = "x86_64-darwin";}));
53 haskell-nix.compiler;
54 };
55 tests = {
56 x86_64-linux = (import ./test { nixpkgs = nixpkgsSrc; nixpkgsArgs = { system = "x86_64-linux"; }; });
57 # x86_64-darwin = (import ./test { nixpkgs = nixpkgsSrc; nixpkgsArgs = { system = "x86_64-darwin"; }; });
58 };
60# Don't build (all of) stackage on linux for now.
61# stackage = {
62# x86_64-linux = (with (import nixpkgsSrc (haskellNixArgs // { system = "x86_64-linux"; }));
63# haskell-nix.snapshots."lts-13.29");
64# # x86_64-darwin = (with (import nixpkgsSrc (haskellNixArgs // { system = "x86_64-darwin"; }));
65# # haskell-nix.snapshots."lts-13.29");
66# };
68}) nixpkgsVersions)