summaryrefslogtreecommitdiff
path: root/flake.nix
blob: ccacc15b00426d41977f3eb61f5f4e8fd5534bda (plain)
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
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
{
  inputs = {
    nixpkgs.url = "github:NixOS/nixpkgs/nixos-23.05";
    systems.url = "github:nix-systems/default";
  };

  nixConfig = {
    # extra-trusted-public-keys =
    #   "devenv.cachix.org-1:w1cLUi8dv3hnoSPGAuibQv+f9TZLr6cv/Hm9XgU50cw=";
    # extra-substituters = "https://devenv.cachix.org";
  };

  outputs = { self, nixpkgs, systems, ... }@inputs:
    let forEachSystem = nixpkgs.lib.genAttrs (import systems);
    in {
      packages = forEachSystem (system:
        let
          pkgs = nixpkgs.legacyPackages.${system};
          haskellPackages = pkgs.haskell.packages.ghc925.override {
            overrides = self: _super: {
              cgi = pkgs.haskell.lib.unmarkBroken (pkgs.haskell.lib.dontCheck
                (self.callHackage "cgi" "3001.5.0.1" { }));
            };
          };

        in {
          gf = pkgs.haskell.lib.overrideCabal
            (haskellPackages.callCabal2nixWithOptions "gf" self "--flag=-server"
              { }) (_old: {
                # Fix utf8 encoding problems
                patches = [
                  # Already applied in master
                  # (
                  #   pkgs.fetchpatch {
                  #     url = "https://github.com/anka-213/gf-core/commit/6f1ca05fddbcbc860898ddf10a557b513dfafc18.patch";
                  #     sha256 = "17vn3hncxm1dwbgpfmrl6gk6wljz3r28j191lpv5zx741pmzgbnm";
                  #   }
                  # )
                  ./nix/expose-all.patch
                  ./nix/revert-new-cabal-madness.patch
                ];
                jailbreak = true;
                # executableSystemDepends = [
                #   (pkgs.ncurses.override { enableStatic = true; })
                # ];
                # executableHaskellDepends = [ ];
              });
        });
    };
}