chandler-miso/nixpkgs.nix

64 lines
1.9 KiB
Nix

let
bootstrap = import <nixpkgs> {};
nixpkgs-src = bootstrap.fetchFromGitHub {
owner = "NixOS";
repo = "nixpkgs";
rev = "3fd87ad0073fd1ef71a8fcd1a1d1a89392c33d0a";
sha256 = "0n4ffwwfdybphx1iyqz1p7npk8w4n78f8jr5nq8ldnx2amrkfwhl";
};
servant-src = bootstrap.fetchFromGitHub {
owner = "haskell-servant";
repo = "servant";
rev = "v0.15";
sha256 = "0n9xn2f61mprnvn9838zbl4dv2ynnl0kxxrcpf5c0igdrks8pqws";
};
miso-src = bootstrap.fetchFromGitHub {
owner = "haskell-miso";
repo = "miso";
rev = "0.21.2.0";
sha256 = "07k1rlvl9g027fp2khl9kiwla4rcn9sv8v2dzm0rzf149aal93vn";
};
config = {
packageOverrides = pkgs: rec {
haskell = pkgs.haskell // {
packages = pkgs.haskell.packages // {
ghc = pkgs.haskell.packages.ghc844.override {
overrides = self: super: with pkgs.haskell.lib; {
miso = self.callCabal2nix "miso" miso-src {};
};
};
} // {
# Many packages don't build on ghcjs because of a dependency on doctest
# (which doesn't build), or because of a runtime error during the test run.
# See: https://github.com/ghcjs/ghcjs/issues/711
ghcjs = pkgs.haskell.packages.ghcjs84.override {
overrides = self: super: with pkgs.haskell.lib; {
tasty-quickcheck = dontCheck super.tasty-quickcheck;
http-types = dontCheck super.http-types;
comonad = dontCheck super.comonad;
semigroupoids = dontCheck super.semigroupoids;
lens = dontCheck super.lens;
miso = self.callCabal2nix "miso" miso-src {};
servant = dontCheck (doJailbreak (self.callCabal2nix "servant" (servant-src + "/servant") {}));
};
};
};
};
};
};
in
import nixpkgs-src { inherit config; }