summary refs log tree commit diff
path: root/pkgs/development/python-modules/matplotlib
diff options
context:
space:
mode:
authorDomen Kožar <domen@dev.si>2015-11-27 12:00:27 +0100
committerDomen Kožar <domen@dev.si>2015-11-27 12:00:27 +0100
commit403d088b5ce98c93ee8d2ff81152d5840bb194c7 (patch)
tree1a2d58fd7c5886f14010bb2d4b04b258870b30ce /pkgs/development/python-modules/matplotlib
parent7a3b518d62b641f3a981b745d2eb8b0165e40316 (diff)
parent80fd9e96bea93dff46aa51abe8fe40f4a3e70408 (diff)
downloadnixlib-403d088b5ce98c93ee8d2ff81152d5840bb194c7.tar
nixlib-403d088b5ce98c93ee8d2ff81152d5840bb194c7.tar.gz
nixlib-403d088b5ce98c93ee8d2ff81152d5840bb194c7.tar.bz2
nixlib-403d088b5ce98c93ee8d2ff81152d5840bb194c7.tar.lz
nixlib-403d088b5ce98c93ee8d2ff81152d5840bb194c7.tar.xz
nixlib-403d088b5ce98c93ee8d2ff81152d5840bb194c7.tar.zst
nixlib-403d088b5ce98c93ee8d2ff81152d5840bb194c7.zip
Merge pull request #10542 from datakurre/datakurre-matplotlib
darwin: matplotlib: add needed inputs and set framework flag for darwin
Diffstat (limited to 'pkgs/development/python-modules/matplotlib')
-rw-r--r--pkgs/development/python-modules/matplotlib/darwin-stdenv.patch10
-rw-r--r--pkgs/development/python-modules/matplotlib/default.nix14
2 files changed, 20 insertions, 4 deletions
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 000000000000..ca399b4e6841
--- /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 70c498ffa785..152330beac5a 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 <class 'matplotlib.sphinxext.tests.test_tinypages.TestTinyPages'>
@@ -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/";