From 96c277b340449cbf79f9bc7281a6449430926b79 Mon Sep 17 00:00:00 2001 From: Chris Ostrouchov Date: Fri, 26 Oct 2018 09:55:39 -0400 Subject: [PATCH] pythonPackages.pyinsane2: refactor move to python-modules --- .../python-modules/pyinsane2/default.nix | 45 +++++++++++++++++++ pkgs/top-level/python-packages.nix | 38 +--------------- 2 files changed, 46 insertions(+), 37 deletions(-) create mode 100644 pkgs/development/python-modules/pyinsane2/default.nix diff --git a/pkgs/development/python-modules/pyinsane2/default.nix b/pkgs/development/python-modules/pyinsane2/default.nix new file mode 100644 index 00000000000..cf44538b746 --- /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; + }; + +} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 2b4a847c39b..fdd5d69778f 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -3370,43 +3370,7 @@ in { pyinotify = callPackage ../development/python-modules/pyinotify { }; - pyinsane2 = buildPythonPackage rec { - name = "pyinsane2-${version}"; - version = "2.0.10"; - - src = pkgs.fetchurl { - url = "mirror://pypi/p/pyinsane2/${name}.tar.gz"; - sha256 = "00d1wqb3w9bn1rxb2dwmdqbar2lr96izq855l5vzprc17dkgip3j"; - }; - - 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()' - ''; - - # This is needed by setup.py regardless of whether tests are enabled. - buildInputs = [ self.nose ]; - - propagatedBuildInputs = [ self.pillow ]; - - meta = { - homepage = "https://github.com/jflesch/pyinsane"; - description = "Access and use image scanners"; - license = licenses.gpl3Plus; - platforms = platforms.linux; - }; - }; + pyinsane2 = callPackage ../development/python-modules/pyinsane2 { }; pyjwt = callPackage ../development/python-modules/pyjwt { };