~jack/misc

ref: 792d1a6fb90d4bd33438b6e5e72a62737f8589d3 misc/codeworld-raycaster/default.nix -rw-r--r-- 1.0 KiB
792d1a6fJack Kelly stg: implement the eval/apply machine 10 months ago
                                                                                
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
{ 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 {})