From 96c277b340449cbf79f9bc7281a6449430926b79 Mon Sep 17 00:00:00 2001 From: Chris Ostrouchov Date: Fri, 26 Oct 2018 09:55:39 -0400 Subject: pythonPackages.pyinsane2: refactor move to python-modules --- .../python-modules/pyinsane2/default.nix | 45 ++++++++++++++++++++++ 1 file changed, 45 insertions(+) create mode 100644 pkgs/development/python-modules/pyinsane2/default.nix (limited to 'pkgs/development/python-modules/pyinsane2') diff --git a/pkgs/development/python-modules/pyinsane2/default.nix b/pkgs/development/python-modules/pyinsane2/default.nix new file mode 100644 index 000000000000..cf44538b746b --- /dev/null +++ b/pkgs/development/python-modules/pyinsane2/default.nix @@ -0,0 +1,45 @@ +{ stdenv +, buildPythonPackage +, fetchPypi +, nose +, pillow +, pkgs +}: + +buildPythonPackage rec { + pname = "pyinsane2"; + version = "2.0.10"; + + src = fetchPypi { + inherit pname version; + sha256 = "00d1wqb3w9bn1rxb2dwmdqbar2lr96izq855l5vzprc17dkgip3j"; + }; + + # This is needed by setup.py regardless of whether tests are enabled. + buildInputs = [ nose ]; + propagatedBuildInputs = [ pillow ]; + + postPatch = '' + # pyinsane2 forks itself, so we need to re-inject the PYTHONPATH. + sed -i -e '/os.putenv.*PYINSANE_DAEMON/ { + a \ os.putenv("PYTHONPATH", ":".join(sys.path)) + }' pyinsane2/sane/abstract_proc.py + + sed -i -e 's,"libsane.so.1","${pkgs.sane-backends}/lib/libsane.so",' \ + pyinsane2/sane/rawapi.py + ''; + + # Tests require a scanner to be physically connected, so let's just do a + # quick check whether initialization works. + checkPhase = '' + python -c 'import pyinsane2; pyinsane2.init()' + ''; + + meta = with stdenv.lib; { + homepage = "https://github.com/jflesch/pyinsane"; + description = "Access and use image scanners"; + license = licenses.gpl3Plus; + platforms = platforms.linux; + }; + +} -- cgit 1.4.1