From 2dc70592301cea071a57588eb5f03cde2afab352 Mon Sep 17 00:00:00 2001 From: Joel Taylor Date: Thu, 12 Feb 2015 12:27:15 -0800 Subject: [PATCH] Some Haskell package overrides for Darwin and explanations --- .../haskell-modules/configuration-common.nix | 24 +++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/pkgs/development/haskell-modules/configuration-common.nix b/pkgs/development/haskell-modules/configuration-common.nix index ae736e0125e..f45371d8c1b 100644 --- a/pkgs/development/haskell-modules/configuration-common.nix +++ b/pkgs/development/haskell-modules/configuration-common.nix @@ -102,6 +102,7 @@ self: super: { network-conduit = dontHaddock super.network-conduit; shakespeare-text = dontHaddock super.shakespeare-text; uhc-light = dontHaddock super.uhc-light; # https://github.com/UU-ComputerScience/uhc/issues/45 + wai-test = dontHaddock super.wai-test; # jailbreak doesn't get the job done because the Cabal file uses conditionals a lot. darcs = overrideCabal super.darcs (drv: { @@ -127,6 +128,29 @@ self: super: { # https://github.com/haskell/vector/issues/47 vector = if pkgs.stdenv.isi686 then appendConfigureFlag super.vector "--ghc-options=-msse2" else super.vector; + # cabal2nix likes to generate dependencies on hinotify when hfsevents is really required + # on darwin: https://github.com/NixOS/cabal2nix/issues/146 + hinotify = if pkgs.stdenv.isDarwin then super.hfsevents else super.hinotify; + + # FSEvents API is very buggy and tests are unreliable. See + # http://openradar.appspot.com/10207999 and similar issues + fsnotify = if pkgs.stdenv.isDarwin then dontCheck super.fsnotify else super.fsnotify; + + # Doesn't properly handle nonsense byte sequences on HFS+ + # https://github.com/fpco/haskell-filesystem/issues/5 + system-fileio = if pkgs.stdenv.isDarwin + then dontCheck super.system-fileio + else super.system-fileio; + + # Prevents needing to add security_tool as a build tool to all of x509-system's + # dependencies. + x509-system = overrideCabal super.x509-system (drv: { + patchPhase = '' + ${drv.patchPhase or ""} + substituteInPlace System/X509/MacOS.hs --replace security ${pkgs.darwin.security_tool}/bin/security + ''; + }); + # Does not compile: . base_4_7_0_2 = markBroken super.base_4_7_0_2;