Merge pull request #307098 from r-ryantm/auto-update/cilium-cli
[NixPkgs.git] / pkgs / development / python-modules / purepng / default.nix
bloba147f0a55306aeec6d70df23c72a160690c9f254
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";
13   format = "setuptools";
15   src = fetchFromGitHub {
16     owner = "Scondo";
17     repo = "purepng";
18     rev = "449aa00e97a8d7b8a200eb9048056d4da600a345";
19     sha256 = "105p7sxn2f21icfnqpah69mnd74r31szj330swbpz53k7gr6nlsv";
20   };
22   patches = [
23     (fetchpatch {
24       name = "fix-py37-stopiteration-in-generators.patch";
25       url = "https://github.com/Scondo/purepng/pull/28/commits/62d71dfc2be9ffdc4b3e5f642af0281a8ce8f946.patch";
26       sha256 = "1ag0pji3p012hmj8kadcd0vydv9702188c0isizsi964qcl4va6m";
27     })
28   ];
29   patchFlags = [ "-p1" "-d" "code" ];
31   # cython is optional - if not supplied, the "pure python" implementation will be used
32   nativeBuildInputs = [ cython ];
34   # numpy is optional - if not supplied, tests simply have less coverage
35   nativeCheckInputs = [ numpy ];
37   postPatch = ''
38     substituteInPlace code/test_png.py \
39       --replace numpy.bool bool
40   '';
42   # checkPhase begins by deleting source dir to force test execution against installed version
43   checkPhase = ''
44     runHook preCheck
46     rm -r code/png
47     ${python.interpreter} code/test_png.py
49     runHook postCheck
50   '';
52   meta = with lib; {
53     description = "Pure Python library for PNG image encoding/decoding";
54     homepage = "https://github.com/scondo/purepng";
55     license = licenses.mit;
56     maintainers = with maintainers; [ ris ];
57   };