From caa9007e847102d013203b547d1ce67bcd77e89a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Llu=C3=ADs=20Batlle=20i=20Rossell?= Date: Thu, 29 May 2014 09:45:12 +0200 Subject: [PATCH] Making ocropus-hocr run (matplotlib + gdk backend) I added the gtk backend to matplotlib; if these added dependencies are too much, we can make this optional. --- pkgs/applications/misc/ocropus/default.nix | 5 +++++ pkgs/applications/misc/ocropus/display.patch | 17 +++++++++++++++++ pkgs/top-level/python-packages.nix | 3 ++- 3 files changed, 24 insertions(+), 1 deletion(-) create mode 100644 pkgs/applications/misc/ocropus/display.patch diff --git a/pkgs/applications/misc/ocropus/default.nix b/pkgs/applications/misc/ocropus/default.nix index aaf0039305b..66c0b883c72 100644 --- a/pkgs/applications/misc/ocropus/default.nix +++ b/pkgs/applications/misc/ocropus/default.nix @@ -44,6 +44,8 @@ pythonPackages.buildPythonPackage rec { sha256 = "1s0v0gd6psfjp6lghwl2dj49h18mgf2n2z8hqzw8430nzhglnlvr"; }; + patches = [ ./display.patch ]; + propagatedBuildInputs = with pythonPackages; [ curl numpy scipy pillow matplotlib beautifulsoup4 pygtk ]; @@ -51,6 +53,9 @@ pythonPackages.buildPythonPackage rec { preConfigure = with stdenv.lib; '' ${concatStrings (map (x: "ln -s ${x.src} models/${x.name};") models)} + + sed -i 's|/usr/local|'$out'|' ocrolib/common.py + sed -i 's|/usr/local|'$out'|' ocrolib/default.py ${pythonPackages.python}/bin/${pythonPackages.python.executable} setup.py download_models ''; diff --git a/pkgs/applications/misc/ocropus/display.patch b/pkgs/applications/misc/ocropus/display.patch new file mode 100644 index 00000000000..2b4e63652b7 --- /dev/null +++ b/pkgs/applications/misc/ocropus/display.patch @@ -0,0 +1,17 @@ +http://code.google.com/p/ocropus/issues/detail?id=365 + +diff --git a/setup.py b/setup.py +index c6ade25..a2ad6bf 100644 +--- a/setup.py ++++ b/setup.py +@@ -8,7 +8,10 @@ assert sys.version_info[0]==2 and sys.version_info[1]>=7,\ + from distutils.core import setup, Extension, Command + from distutils.command.install_data import install_data + ++import matplotlib ++matplotlib.use('Agg') + from ocrolib import default ++ + modeldir = "models/" + modelfiles = default.installable + modelprefix = "http://iupr1.cs.uni-kl.de/~tmb/ocropus-models/" diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 933a073a5aa..3e7e38f40ca 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -3963,7 +3963,8 @@ rec { (if stdenv.isDarwin then [ pkgs.clangStdenv ] else [ pkgs.stdenv ]); propagatedBuildInputs = - [ dateutil nose numpy pyparsing tornado pkgs.freetype pkgs.libpng pkgs.pkgconfig ]; + [ dateutil nose numpy pyparsing tornado pkgs.freetype pkgs.libpng pkgs.pkgconfig + pygtk ]; meta = with stdenv.lib; { description = "python plotting library, making publication quality plots";