diff options
Diffstat (limited to 'pkgs/development/python-modules/dulwich/default.nix')
-rw-r--r-- | pkgs/development/python-modules/dulwich/default.nix | 87 |
1 files changed, 50 insertions, 37 deletions
diff --git a/pkgs/development/python-modules/dulwich/default.nix b/pkgs/development/python-modules/dulwich/default.nix index 5ce01aaad1b58..49789421af346 100644 --- a/pkgs/development/python-modules/dulwich/default.nix +++ b/pkgs/development/python-modules/dulwich/default.nix @@ -1,37 +1,36 @@ -{ - lib, - stdenv, - buildPythonPackage, - certifi, - fastimport, - fetchFromGitHub, - gevent, - geventhttpclient, - git, - glibcLocales, - gnupg, - gpgme, - paramiko, - pytest-xdist, - pytestCheckHook, - pythonOlder, - setuptools, - setuptools-rust, - urllib3, +{ lib +, stdenv +, buildPythonPackage +, certifi +, fastimport +, fetchFromGitHub +, gevent +, geventhttpclient +, git +, glibcLocales +, gnupg +, gpgme +, paramiko +, pytest-xdist +, pytestCheckHook +, pythonOlder +, setuptools +, setuptools-rust +, urllib3 }: buildPythonPackage rec { + version = "0.21.7"; pname = "dulwich"; - version = "0.22.1"; - pyproject = true; + format = "setuptools"; - disabled = pythonOlder "3.8"; + disabled = pythonOlder "3.7"; src = fetchFromGitHub { owner = "jelmer"; repo = "dulwich"; rev = "refs/tags/${pname}-${version}"; - hash = "sha256-bf3ZUMX4afpdTBpFnx0HMyzCNG6V/p4eOl36djxGbtk="; + hash = "sha256-iP+6KtaQ8tfOobovSLSJZogS/XWW0LuHgE2oV8uQW/8="; }; build-system = [ @@ -39,18 +38,22 @@ buildPythonPackage rec { setuptools-rust ]; - dependencies = [ + propagatedBuildInputs = [ certifi urllib3 ]; passthru.optional-dependencies = { - fastimport = [ fastimport ]; + fastimport = [ + fastimport + ]; pgp = [ gpgme gnupg ]; - paramiko = [ paramiko ]; + paramiko = [ + paramiko + ]; }; nativeCheckInputs = [ @@ -60,18 +63,31 @@ buildPythonPackage rec { glibcLocales pytest-xdist pytestCheckHook - ] ++ lib.flatten (builtins.attrValues passthru.optional-dependencies); + ] ++ passthru.optional-dependencies.fastimport + ++ passthru.optional-dependencies.pgp + ++ passthru.optional-dependencies.paramiko; doCheck = !stdenv.isDarwin; + disabledTests = [ + # OSError: [Errno 84] Invalid or incomplete multibyte or wide character: b'/build/tmpsqwlbpd1/\xc0' + "test_no_decode_encode" + # OSError: [Errno 84] Invalid or incomplete multibyte or wide character: b'/build/tmpwmtfyvo2/refs.git/refs/heads/\xcd\xee\xe2\xe0\xff\xe2\xe5\xf2\xea\xe01' + "test_cyrillic" + # OSError: [Errno 84] Invalid or incomplete multibyte or wide character: b'/build/tmpfseetobk/test/\xc0' + "test_commit_no_encode_decode" + ]; + disabledTestPaths = [ - # Missing test inputs - "tests/contrib/test_swift_smoke.py" - # Import issue - "tests/test_greenthreads.py" + # missing test inputs + "dulwich/contrib/test_swift_smoke.py" + # flaky on high core count >4 + "dulwich/tests/compat/test_client.py" ]; - pythonImportsCheck = [ "dulwich" ]; + pythonImportsCheck = [ + "dulwich" + ]; meta = with lib; { description = "Implementation of the Git file formats and protocols"; @@ -81,10 +97,7 @@ buildPythonPackage rec { ''; homepage = "https://www.dulwich.io/"; changelog = "https://github.com/jelmer/dulwich/blob/dulwich-${version}/NEWS"; - license = with licenses; [ - asl20 - gpl2Plus - ]; + license = with licenses; [ asl20 gpl2Plus ]; maintainers = with maintainers; [ koral ]; }; } |