{ pkgs ? import {} , ghc ? "ghc901" , withHoogle ? false }: let haskellPackages = if ghc == null then pkgs.haskellPackages else pkgs.haskell.packages.${ghc}; hs = haskellPackages.extend (with pkgs.haskell.lib; hself: hsuper: { data-fix = doJailbreak hsuper.data-fix; primitive = doJailbreak hsuper.primitive; assoc = doJailbreak hsuper.assoc; these = doJailbreak hsuper.these; dump-core = dontCheck (unmarkBroken hsuper.dump-core); #symantic-parser = enableExecutableProfiling (doCheck ( hself.callCabal2nix "symantic-parser" ./. {})); } // packageSourceOverrides { symantic-parser = ./.; } hself hsuper ); in hs.symantic-parser // { shell = hs.shellFor { packages = p: [ p.symantic-parser ]; nativeBuildInputs = [ pkgs.cabal-install #hs.cabal-install #hs.haskell-language-server #hs.hpc ]; buildInputs = [ #hs.ghcid #hs.ormolu #hs.hlint #pkgs.nixpkgs-fmt ]; inherit withHoogle; }; }