diff options
Diffstat (limited to 'pkgs/development/haskell-modules/configuration-nix.nix')
-rw-r--r-- | pkgs/development/haskell-modules/configuration-nix.nix | 42 |
1 files changed, 35 insertions, 7 deletions
diff --git a/pkgs/development/haskell-modules/configuration-nix.nix b/pkgs/development/haskell-modules/configuration-nix.nix index 2e5b423c1d5..f3692d48a29 100644 --- a/pkgs/development/haskell-modules/configuration-nix.nix +++ b/pkgs/development/haskell-modules/configuration-nix.nix @@ -94,14 +94,25 @@ self: super: builtins.intersectAttrs super { # Won't find it's header files without help. sfml-audio = appendConfigureFlag super.sfml-audio "--extra-include-dirs=${pkgs.openal}/include/AL"; - cachix = overrideCabal (addBuildTools (enableSeparateBinOutput super.cachix) [pkgs.boost]) (drv: { - postPatch = (drv.postPatch or "") + '' - substituteInPlace cachix.cabal --replace "c++14" "c++17" - ''; - }); + # profiling is disabled to allow C++/C mess to work, which is fixed in GHC 8.8 + cachix = disableLibraryProfiling super.cachix; + # avoid compiling twice by providing executable as a separate output (with small closure size) + niv = enableSeparateBinOutput super.niv; + ormolu = enableSeparateBinOutput super.ormolu; ghcid = enableSeparateBinOutput super.ghcid; + # Ensure the necessary frameworks for Darwin. + OpenAL = if pkgs.stdenv.isDarwin + then addExtraLibrary super.OpenAL pkgs.darwin.apple_sdk.frameworks.OpenAL + else super.OpenAL; + + # Ensure the necessary frameworks for Darwin. + proteaaudio = if pkgs.stdenv.isDarwin + then addExtraLibrary super.proteaaudio pkgs.darwin.apple_sdk.frameworks.AudioToolbox + else super.proteaaudio; + + hzk = overrideCabal super.hzk (drv: { preConfigure = "sed -i -e /include-dirs/d hzk.cabal"; configureFlags = "--extra-include-dirs=${pkgs.zookeeper_mt}/include/zookeeper"; @@ -158,7 +169,11 @@ self: super: builtins.intersectAttrs super { gio = disableHardening (addPkgconfigDepend (addBuildTool super.gio self.buildHaskellPackages.gtk2hs-buildtools) pkgs.glib) ["fortify"]; glib = disableHardening (addPkgconfigDepend (addBuildTool super.glib self.buildHaskellPackages.gtk2hs-buildtools) pkgs.glib) ["fortify"]; gtk3 = disableHardening (super.gtk3.override { inherit (pkgs) gtk3; }) ["fortify"]; - gtk = disableHardening (addPkgconfigDepend (addBuildTool super.gtk self.buildHaskellPackages.gtk2hs-buildtools) pkgs.gtk2) ["fortify"]; + gtk = let gtk1 = addBuildTool super.gtk self.buildHaskellPackages.gtk2hs-buildtools; + gtk2 = addPkgconfigDepend gtk1 pkgs.gtk2; + gtk3 = disableHardening gtk1 ["fortify"]; + gtk4 = if pkgs.stdenv.isDarwin then appendConfigureFlag gtk3 "-fhave-quartz-gtk" else gtk4; + in gtk3; gtksourceview2 = addPkgconfigDepend super.gtksourceview2 pkgs.gtk2; gtk-traymanager = addPkgconfigDepend super.gtk-traymanager pkgs.gtk3; @@ -429,6 +444,14 @@ self: super: builtins.intersectAttrs super { [ pkgs.darwin.apple_sdk.frameworks.OpenCL ]; }); + # depends on 'hie' executable + lsp-test = dontCheck super.lsp-test; + + # tests depend on executable + ghcide = overrideCabal super.ghcide (drv: { + preCheck = ''export PATH="$PWD/dist/build/ghcide:$PATH"''; + }); + # GLUT uses `dlopen` to link to freeglut, so we need to set the RUNPATH correctly for # it to find `libglut.so` from the nix store. We do this by patching GLUT.cabal to pkg-config # depend on freeglut, which provides GHC to necessary information to generate a correct RPATH. @@ -589,7 +612,6 @@ self: super: builtins.intersectAttrs super { snap-server = dontCheck super.snap-server; # Tests require internet - dhall_1_26_0 = dontCheck super.dhall_1_26_0; http-download = dontCheck super.http-download; pantry = dontCheck super.pantry; @@ -597,4 +619,10 @@ self: super: builtins.intersectAttrs super { hadolint = overrideCabal super.hadolint (drv: { preConfigure = "sed -i -e /ld-options:/d hadolint.cabal"; }); + + # gtk2hs-buildtools is listed in setupHaskellDepends, but we + # need it during the build itself, too. + cairo = addBuildTool super.cairo self.buildHaskellPackages.gtk2hs-buildtools; + pango = disableHardening (addBuildTool super.pango self.buildHaskellPackages.gtk2hs-buildtools) ["fortify"]; + } |