summaryrefslogtreecommitdiff
path: root/pkgs/development/python-modules/pycurl
diff options
context:
space:
mode:
authorRobin Gloster <mail@glob.in>2021-05-24 09:55:24 -0500
committerRobin Gloster <mail@glob.in>2021-05-24 09:55:24 -0500
commit4bc5fbef9d159e143fb7e2c3231932e6e76f667c (patch)
treee2198f5c552e0667d838b8ec764ddb3a4d8f6dec /pkgs/development/python-modules/pycurl
parentjq: fix build with structured-attrs on darwin (diff)
parentMerge pull request #123802 from superherointj/package-virtmanager-bugfix (diff)
downloadnixpkgs-origin/structured-attrs.tar.gz
Merge remote-tracking branch 'upstream/master' into structured-attrsorigin/structured-attrs
Diffstat (limited to 'pkgs/development/python-modules/pycurl')
-rw-r--r--pkgs/development/python-modules/pycurl/default.nix64
1 files changed, 42 insertions, 22 deletions
diff --git a/pkgs/development/python-modules/pycurl/default.nix b/pkgs/development/python-modules/pycurl/default.nix
index fe62d1be1ea1..e202d1928f21 100644
--- a/pkgs/development/python-modules/pycurl/default.nix
+++ b/pkgs/development/python-modules/pycurl/default.nix
@@ -1,11 +1,12 @@
-{ buildPythonPackage
+{ lib
+, buildPythonPackage
, isPyPy
, fetchPypi
, pythonOlder
, curl
, openssl
, bottle
-, pytest
+, pytestCheckHook
, nose
, flaky
}:
@@ -20,6 +21,11 @@ buildPythonPackage rec {
sha256 = "8301518689daefa53726b59ded6b48f33751c383cf987b0ccfbbc4ed40281325";
};
+ preConfigure = ''
+ substituteInPlace setup.py --replace '--static-libs' '--libs'
+ export PYCURL_SSL_LIBRARY=openssl
+ '';
+
buildInputs = [
curl
openssl.out
@@ -31,34 +37,48 @@ buildPythonPackage rec {
checkInputs = [
bottle
- pytest
+ pytestCheckHook
nose
flaky
];
- # skip impure or flakey tests
- # See also:
- # * https://github.com/NixOS/nixpkgs/issues/77304
- checkPhase = ''
- HOME=$TMPDIR pytest tests -k "not test_ssl_in_static_libs \
- and not test_keyfunction \
- and not test_keyfunction_bogus_return \
- and not test_libcurl_ssl_gnutls \
- and not test_libcurl_ssl_nss \
- and not test_libcurl_ssl_openssl" \
- --ignore=tests/getinfo_test.py \
- --ignore=tests/memory_mgmt_test.py \
- --ignore=tests/multi_memory_mgmt_test.py \
- --ignore=tests/multi_timer_test.py
- '';
+ pytestFlagsArray = [
+ # don't pick up the tests directory below examples/
+ "tests"
+ ];
- preConfigure = ''
- substituteInPlace setup.py --replace '--static-libs' '--libs'
- export PYCURL_SSL_LIBRARY=openssl
+ preCheck = ''
+ export HOME=$TMPDIR
'';
- meta = {
+ disabledTests = [
+ # libcurl stopped passing the reason phrase from the HTTP status line
+ # https://github.com/pycurl/pycurl/issues/679
+ "test_failonerror"
+ "test_failonerror_status_line_invalid_utf8_python3"
+ # bottle>=0.12.17 escapes utf8 properly, so these test don't work anymore
+ # https://github.com/pycurl/pycurl/issues/669
+ "test_getinfo_content_type_invalid_utf8_python3"
+ "test_getinfo_cookie_invalid_utf8_python3"
+ "test_getinfo_raw_content_type_invalid_utf8"
+ "test_getinfo_raw_cookie_invalid_utf8"
+ # tests that require network access
+ "test_keyfunction"
+ "test_keyfunction_bogus_return"
+ # OSError: tests/fake-curl/libcurl/with_openssl.so: cannot open shared object file: No such file or directory
+ "test_libcurl_ssl_openssl"
+ # OSError: tests/fake-curl/libcurl/with_nss.so: cannot open shared object file: No such file or directory
+ "test_libcurl_ssl_nss"
+ # OSError: tests/fake-curl/libcurl/with_gnutls.so: cannot open shared object file: No such file or directory
+ "test_libcurl_ssl_gnutls"
+ # AssertionError: assert 'crypto' in ['curl']
+ "test_ssl_in_static_libs"
+ ];
+
+ meta = with lib; {
homepage = "http://pycurl.sourceforge.net/";
description = "Python wrapper for libcurl";
+ license = licenses.lgpl2Only;
+ maintainers = with maintainers; [];
};
}