Merge pull request #119126 from fabaff/pycomfoconnect
[NixPkgs.git] / pkgs / development / python-modules / purepng / default.nix
blob3615935b88ec267215b70ff7513bab024e7855a6
1 { lib
2 , buildPythonPackage
3 , python
4 , fetchFromGitHub
5 , fetchpatch
6 , cython ? null
7 , numpy ? null
8 }:
10 buildPythonPackage {
11   pname = "purepng";
12   version = "0.2.0";
14   src = fetchFromGitHub {
15     owner = "Scondo";
16     repo = "purepng";
17     rev = "449aa00e97a8d7b8a200eb9048056d4da600a345";
18     sha256 = "105p7sxn2f21icfnqpah69mnd74r31szj330swbpz53k7gr6nlsv";
19   };
21   patches = [
22     (fetchpatch {
23       name = "fix-py37-stopiteration-in-generators.patch";
24       url = "https://github.com/Scondo/purepng/pull/28/commits/62d71dfc2be9ffdc4b3e5f642af0281a8ce8f946.patch";
25       sha256 = "1ag0pji3p012hmj8kadcd0vydv9702188c0isizsi964qcl4va6m";
26     })
27   ];
28   patchFlags = [ "-p1" "-d" "code" ];
30   # cython is optional - if not supplied, the "pure python" implementation will be used
31   nativeBuildInputs = [ cython ];
33   # numpy is optional - if not supplied, tests simply have less coverage
34   checkInputs = [ numpy ];
35   # checkPhase begins by deleting source dir to force test execution against installed version
36   checkPhase = ''
37     rm -r code/png
38     ${python.interpreter} code/test_png.py
39   '';
41   meta = with lib; {
42     description = "Pure Python library for PNG image encoding/decoding";
43     homepage    = "https://github.com/scondo/purepng";
44     license     = licenses.mit;
45     maintainers = with maintainers; [ ris ];
46   };