{ 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; }; })