From 0f82c6bdb290407121694eac1e39e531fde947e2 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Domen=20Ko=C5=BEar?= <domen@dev.si>
Date: Sat, 17 Jan 2015 15:11:24 +0100
Subject: [PATCH] matplotlib: add optional gtk3 backend, fixes #4500

---
 .../python-modules/matplotlib/default.nix      | 18 +++++++++++-------
 1 file changed, 11 insertions(+), 7 deletions(-)

diff --git a/pkgs/development/python-modules/matplotlib/default.nix b/pkgs/development/python-modules/matplotlib/default.nix
index dd6456b6783..5dcd1dda948 100644
--- a/pkgs/development/python-modules/matplotlib/default.nix
+++ b/pkgs/development/python-modules/matplotlib/default.nix
@@ -1,8 +1,9 @@
-{ stdenv, fetchurl, python, buildPythonPackage
+{ stdenv, fetchurl, python, buildPythonPackage, pycairo
 , which, dateutil, nose, numpy, pyparsing, tornado
-, freetype, libpng, pkgconfig, mock, pytz
-, enableGhostscript ? false, ghostscript ? null
-, enableGtk2 ? false, pygtk ? null
+, freetype, libpng, pkgconfig, mock, pytz, pygobject3
+, enableGhostscript ? false, ghostscript ? null, gtk3
+, enableGtk2 ? false, pygtk ? null, gobjectIntrospection
+, enableGtk3 ? true, cairo
 }:
 
 assert enableGhostscript -> ghostscript != null;
@@ -15,15 +16,18 @@ buildPythonPackage rec {
     url = "mirror://sourceforge/matplotlib/${name}.tar.gz";
     sha256 = "0m6v9nwdldlwk22gcd339zg6mny5m301fxgks7z8sb8m9wawg8qp";
   };
+  
+  XDG_RUNTIME_DIR = "/tmp";
 
   buildInputs = [ python which stdenv ]
     ++ stdenv.lib.optional enableGhostscript ghostscript;
 
   propagatedBuildInputs =
-    [ dateutil nose numpy pyparsing tornado freetype
-      libpng pkgconfig mock pytz
+    [ dateutil nose numpy pyparsing tornado freetype 
+      libpng pkgconfig mock pytz  
     ]
-    ++ stdenv.lib.optional enableGtk2 pygtk;
+    ++ stdenv.lib.optional enableGtk2 pygtk
+    ++ stdenv.lib.optionals enableGtk3 [ cairo pycairo gtk3 gobjectIntrospection pygobject3 ];
 
   meta = with stdenv.lib; {
     description = "python plotting library, making publication quality plots";