1{
2 lib,
3 buildPythonPackage,
4 fetchFromGitHub,
5 fetchpatch2,
6
7 # propagates
8 pyopenssl,
9 requests,
10 six,
11
12 # tests
13 pytestCheckHook,
14 responses,
15}:
16
17buildPythonPackage rec {
18 pname = "paypalhttp";
19 version = "1.0.0";
20 format = "setuptools";
21
22 src = fetchFromGitHub {
23 owner = "paypal";
24 repo = "paypalhttp_python";
25 tag = version;
26 hash = "sha256-3ihcpYtpcejPkiyf4g4jveyNU6flQB2sv9EZ5Pd7tUc=";
27 };
28
29 patches = [
30 (fetchpatch2 {
31 # fix content-type header case sensitiyivy
32 url = "https://github.com/paypal/paypalhttp_python/commit/72609783230663b8e34c6f0384837db7b166c8f4.patch";
33 hash = "sha256-K2hO3XRrJ+Gm+rLtWRPy0E2syLS4RhNNHIA3w4xVYtY=";
34 })
35 ];
36
37 postPatch = ''
38 substituteInPlace tests/http_response_test.py \
39 --replace-fail assertEquals assertEqual
40 '';
41
42 propagatedBuildInputs = [
43 requests
44 six
45 pyopenssl
46 ];
47
48 nativeCheckInputs = [
49 pytestCheckHook
50 responses
51 ];
52
53 meta = with lib; {
54 changelog = "https://github.com/paypal/paypalhttp_python/releases/tag/${version}";
55 description = "PayPalHttp is a generic HTTP Client";
56 homepage = "https://github.com/paypal/paypalhttp_python";
57 license = licenses.mit;
58 maintainers = with maintainers; [ hexa ];
59 };
60}