1{ buildPythonPackage
2, isPyPy
3, fetchPypi
4, curl
5, openssl
6, bottle
7, pytest
8, nose
9, flaky
10}:
11
12buildPythonPackage rec {
13 pname = "pycurl";
14 version = "7.43.0.3";
15 disabled = isPyPy; # https://github.com/pycurl/pycurl/issues/208
16
17 src = fetchPypi {
18 inherit pname version;
19 sha256 = "13nsvqhvnmnvfk75s8iynqsgszyv06cjp4drd3psi7zpbh63623g";
20 };
21
22 buildInputs = [
23 curl
24 openssl.out
25 ];
26
27 nativeBuildInputs = [
28 curl
29 ];
30
31 checkInputs = [
32 bottle
33 pytest
34 nose
35 flaky
36 ];
37
38 # skip impure or flakey tests
39 checkPhase = ''
40 HOME=$TMPDIR pytest tests -k "not test_ssl_in_static_libs \
41 and not test_keyfunction \
42 and not test_keyfunction_bogus_return \
43 and not test_libcurl_ssl_gnutls \
44 and not test_libcurl_ssl_nss \
45 and not test_libcurl_ssl_openssl" \
46 --ignore=tests/getinfo_test.py \
47 --ignore=tests/memory_mgmt_test.py
48 '';
49
50 preConfigure = ''
51 substituteInPlace setup.py --replace '--static-libs' '--libs'
52 export PYCURL_SSL_LIBRARY=openssl
53 '';
54
55 meta = {
56 homepage = http://pycurl.sourceforge.net/;
57 description = "Python wrapper for libcurl";
58 };
59}