diff --git a/pkgs/gf-core/default.nix b/pkgs/gf-core/default.nix new file mode 100644 index 0000000..0dfc76c --- /dev/null +++ b/pkgs/gf-core/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; }; +}) diff --git a/pkgs/gf/default.nix b/pkgs/gf/default.nix index 0dfc76c..f162d9e 100644 --- a/pkgs/gf/default.nix +++ b/pkgs/gf/default.nix @@ -1,32 +1,4 @@ -{ haskell -, haskellPackages -, stdenv -, fetchFromGitHub -, autoreconfHook -}: +# Alias for `gf-core` +{ gf-core }: -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; }; -}) +gf-core