diff --git a/pkgs/gf/default.nix b/pkgs/gf/default.nix new file mode 100644 index 0000000..0dfc76c --- /dev/null +++ b/pkgs/gf/default.nix @@ -0,0 +1,32 @@ +{ haskell +, haskellPackages +, stdenv +, fetchFromGitHub +, autoreconfHook +}: + +let + version = "3.12"; + src = fetchFromGitHub { + owner = "GrammaticalFramework"; + repo = "gf-core"; + rev = "release-${version}"; + hash = "sha256-9sB8tt2eOJT43kv2eaUYRQCzyBZOp6HvJdgGJQgiqks="; + }; + pkg = haskellPackages.callCabal2nixWithOptions "gf" src "--flag=-server" {}; + gf-pgf = stdenv.mkDerivation { + pname = "gf-pgf"; + version = "0.0.1"; + src = "${src}/src/runtime/c"; + nativeBuildInputs = [ autoreconfHook ]; + }; +in haskell.lib.overrideCabal pkg (prev: { + patches = [ + "${src}/nix/expose-all.patch" + "${src}/nix/revert-new-cabal-madness.patch" + ]; + jailbreak = true; + configureFlags = [ "-f" "c-runtime" ]; + librarySystemDepends = [ gf-pgf ]; + passthru = { inherit gf-pgf; }; +})