1
0
forked from GitHub/gf-core

Fix the Nix build

We use the Nix "jailbreak" function to ignore the upper bounds
on the CGI package dependency.
This commit is contained in:
Mikael Brockman
2018-05-03 15:40:08 +03:00
parent bb5b21b925
commit 42bcb50154
2 changed files with 22 additions and 6 deletions

View File

@@ -1,8 +1,8 @@
{ mkDerivation, alex, array, base, bytestring, Cabal, cgi
, containers, directory, exceptions, filepath, happy, haskeline
, HTF, httpd-shed, HUnit, json, lifted-base, mtl, network
, network-uri, old-locale, parallel, pretty, process, random
, stdenv, terminfo, time, time-compat, unix, utf8-string
, HTF, httpd-shed, HUnit, json, mtl, network, network-uri
, old-locale, parallel, pretty, process, random, stdenv, terminfo
, time, time-compat, unix, utf8-string
}:
mkDerivation {
pname = "gf";
@@ -18,7 +18,7 @@ mkDerivation {
utf8-string
];
libraryToolDepends = [ alex happy ];
executableHaskellDepends = [ base containers lifted-base mtl ];
executableHaskellDepends = [ base ];
testHaskellDepends = [
base Cabal directory filepath HTF HUnit process
];

20
gf.nix
View File

@@ -1,3 +1,19 @@
let pkgs = import <nixpkgs> {}; in rec {
gf = pkgs.haskellPackages.callPackage ./default.nix {};
let
# We import the package hierarchy from the NIX_PATH.
pkgs = import <nixpkgs> {};
#
# The `cgi` package has some out-of-date upper bounds.
# Instead of fixing that upstream, we can use the "jailbreak"
# function in Nix, which patches away the upper bounds.
#
# This isn't ideal, but it lets us build the dependency.
#
jailbreak = pkgs.haskell.lib.doJailbreak;
haskellPackages = pkgs.haskellPackages.extend (self: super: {
cgi = jailbreak super.cgi;
});
in {
gf = haskellPackages.callPackage (import ./default.nix) {};
}