diff --git a/pkgs/development/python-modules/matplotlib/darwin-stdenv.patch b/pkgs/development/python-modules/matplotlib/darwin-stdenv.patch new file mode 100644 index 00000000000..ca399b4e684 --- /dev/null +++ b/pkgs/development/python-modules/matplotlib/darwin-stdenv.patch @@ -0,0 +1,10 @@ +--- a/src/_macosx.m 2015-10-30 00:46:20.000000000 +0200 ++++ b/src/_macosx.m 2015-11-01 14:52:25.000000000 +0200 +@@ -6264,6 +6264,7 @@ + + static bool verify_framework(void) + { ++ return true; /* nixpkgs darwin stdenv */ + #ifdef COMPILING_FOR_10_6 + NSRunningApplication* app = [NSRunningApplication currentApplication]; + NSApplicationActivationPolicy activationPolicy = [app activationPolicy]; diff --git a/pkgs/development/python-modules/matplotlib/default.nix b/pkgs/development/python-modules/matplotlib/default.nix index 70c498ffa78..152330beac5 100644 --- a/pkgs/development/python-modules/matplotlib/default.nix +++ b/pkgs/development/python-modules/matplotlib/default.nix @@ -4,6 +4,7 @@ , enableGhostscript ? false, ghostscript ? null, gtk3 , enableGtk2 ? false, pygtk ? null, gobjectIntrospection , enableGtk3 ? false, cairo +, Cocoa, Foundation, CoreData, cf-private, libobjc, libcxx }: assert enableGhostscript -> ghostscript != null; @@ -17,11 +18,15 @@ buildPythonPackage rec { url = "https://pypi.python.org/packages/source/m/matplotlib/${name}.tar.gz"; sha256 = "67b08b1650a00a6317d94b76a30a47320087e5244920604c5462188cba0c2646"; }; - + + NIX_CFLAGS_COMPILE = stdenv.lib.optionalString stdenv.isDarwin "-I${libcxx}/include/c++/v1"; + XDG_RUNTIME_DIR = "/tmp"; buildInputs = [ python which sphinx stdenv ] - ++ stdenv.lib.optional enableGhostscript ghostscript; + ++ stdenv.lib.optional enableGhostscript ghostscript + ++ stdenv.lib.optionals stdenv.isDarwin [ Cocoa Foundation CoreData + cf-private libobjc ]; propagatedBuildInputs = [ cycler dateutil nose numpy pyparsing tornado freetype @@ -30,7 +35,9 @@ buildPythonPackage rec { ++ stdenv.lib.optional enableGtk2 pygtk ++ stdenv.lib.optionals enableGtk3 [ cairo pycairo gtk3 gobjectIntrospection pygobject3 ]; - patchPhase = '' + patches = stdenv.lib.optionals stdenv.isDarwin [ ./darwin-stdenv.patch ]; + + prePatch = '' # Failing test: ERROR: matplotlib.tests.test_style.test_use_url sed -i 's/test_use_url/fails/' lib/matplotlib/tests/test_style.py # Failing test: ERROR: test suite for @@ -39,7 +46,6 @@ buildPythonPackage rec { sed -i 's/test_invisible_Line_rendering/noop/' lib/matplotlib/tests/test_lines.py ''; - meta = with stdenv.lib; { description = "python plotting library, making publication quality plots"; homepage = "http://matplotlib.sourceforge.net/"; diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 8b642f7c007..fdbe2c5cd93 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -9318,6 +9318,8 @@ in modules // { matplotlib = callPackage ../development/python-modules/matplotlib/default.nix { stdenv = if stdenv.isDarwin then pkgs.clangStdenv else pkgs.stdenv; enableGhostscript = true; + inherit (pkgs.darwin.apple_sdk.frameworks) Cocoa Foundation CoreData; + inherit (pkgs.darwin) cf-private libobjc; };