@@ -0,0 +1,112 @@
2+, pkgs ? import ./pkgs.nix
6+ inherit (pkgs.lib.trivial) flip pipe;
7+ inherit (pkgs.haskell.lib) appendPatch appendConfigureFlags;
8+ doJailbreak = pkgs.haskell.lib.doJailbreak;
9+ dontHaddock = pkgs.haskell.lib.dontHaddock;
10+ dontCheck = pkgs.haskell.lib.dontCheck;
11+ #distributed-process packages are no longer maintained- until we replace it entirely, add some hacks to build on newer GHC and packages
12+ distProcessPkg = pkg : dontHaddock (doJailbreak (dontCheck pkg));
13+ callHackageDirectWithOptions = {pkg,ver, sha256, options}:
14+ let pkgver = "${pkg}-${ver}";
16+ haskellPackages.callCabal2nixWithOptions pkg (pkgs.fetchzip {
17+ url = "mirror://hackage/${pkgver}/${pkgver}.tar.gz";
21+ haskellPackages = pkgs.haskell.packages.${compiler}.override {
22+ overrides = self: super: {
23+ distributed-process-extras =
24+ distProcessPkg (self.callHackageDirect {
25+ pkg = "distributed-process-extras";
27+ sha256 = "13clq3alymcvknp7q8gz0i1hzx8im855lzmyrfffl8gglnlbi2w9";
30+ distributed-process-client-server =
31+ distProcessPkg (self.callHackageDirect {
32+ pkg = "distributed-process-client-server";
34+ sha256 = "0gkd8awapq7vy14vpnzawnwb67jvvcjaqg7imm0bp1wb6rw6x5x4";
37+ distributed-process-async =
38+ distProcessPkg (callHackageDirectWithOptions {
39+ pkg = "distributed-process-async";
41+ sha256 = "15wyfq115r6xjaz1h00sjh1v0fv498kkxr3xx6w84d8wdp2gxbn1";
42+ options = "--no-check";
45+ distributed-process =
46+ dontHaddock (self.callCabal2nix "distributed-process" (pkgs.fetchFromGitHub {
48+ repo = "distributed-process";
49+ rev = "f352e097fbe494ad648b4e09249f865893ae90a3";
50+ sha256 = "0xa2v77c9idmi89bky2wq1fykrn8grpk4rk7gcd5bkicxvdbcrym";}){});
53+ self.callHackageDirect {
54+ pkg = "distributed-static";
56+ sha256 = "0hibpzqwklnq335m7fwgk1bghz0lgxnd7ym10pbvxlcf7ly3nr6v";
59+ distProcessPkg (self.callHackageDirect {
60+ pkg = "rank1dynamic";
62+ sha256 = "1x6p9z53s7xwp93jp4n1lq6m5xspcn6w62p461v8vqnp9600328b";
65+ self.callHackageDirect {
68+ sha256 = "1i8j7q8nhx3l7gydrjlsyhkvllr6bppgrjf0hp38zpm7p6xcv2bb";
72+ self.callHackageDirect {
73+ pkg = "stm-containers";
75+ sha256 = "0h9z6lawdm44minx9spvdb7sp645l36ri5cnxvhrcxwzr64s7qb5";
78+ network-transport-tcp =
79+ dontCheck (self.callHackageDirect {
80+ pkg = "network-transport-tcp";
82+ sha256 = "0kfzrcynf34xsxx4rccg4qfy7jvinwqd8baian8ifqad9lfcapsb";
86+ self.callHackageDirect {
87+ pkg = "data-interval";
89+ sha256 = "085j4yjr8wimxampxqdrg47p577whwg2mjxgfdl44yfck52fb6an";
92+ project-m36 = self.callCabal2nixWithOptions "project-m36" ./. "-f-haskell-scripting" { };
97+ project = haskellPackages.project-m36;
102+ shell = haskellPackages.shellFor {
103+ packages = p: with p; [
106+ buildInputs = with haskellPackages; [