{ nixpkgs ? import ../nix/nixpkgs.nix
, compiler ? "ghc865"
, doBenchmark ? false
}:
let
inherit (nixpkgs) pkgs;
haskellPackages = if compiler == "default"
then pkgs.haskellPackages
else pkgs.haskell.packages.${compiler};
myHaskellPackages = haskellPackages.override {
overrides = self: super: with pkgs.haskell.lib; {
codeworld-api = doJailbreak (unmarkBroken super.codeworld-api);
patch = doJailbreak (dontCheck (unmarkBroken super.patch));
reflex = doJailbreak (unmarkBroken super.reflex);
blank-canvas =
dontCheck (doJailbreak (super.callHackage "blank-canvas" "0.6.3" {}));
colour = dontCheck (super.callHackage "colour" "2.3.4" {});
dependent-map = super.callHackage "dependent-map" "0.3.1.0" {};
dependent-sum = super.callHackage "dependent-sum" "0.6.1" {};
};
};
variant = if doBenchmark then pkgs.haskell.lib.doBenchmark else pkgs.lib.id;
in
variant (myHaskellPackages.callPackage ./codeworld-raycaster.nix {})