about summary refs log tree commit diff
path: root/pkgs/development/python-modules/dulwich/default.nix
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/development/python-modules/dulwich/default.nix')
-rw-r--r--pkgs/development/python-modules/dulwich/default.nix91
1 files changed, 50 insertions, 41 deletions
diff --git a/pkgs/development/python-modules/dulwich/default.nix b/pkgs/development/python-modules/dulwich/default.nix
index 97b27d14bd352..2a7ca19802b71 100644
--- a/pkgs/development/python-modules/dulwich/default.nix
+++ b/pkgs/development/python-modules/dulwich/default.nix
@@ -1,20 +1,23 @@
-{ lib
-, stdenv
-, buildPythonPackage
-, certifi
-, fastimport
-, fetchPypi
-, gevent
-, geventhttpclient
-, git
-, glibcLocales
-, gnupg
-, gpgme
-, paramiko
-, pytest-xdist
-, pytestCheckHook
-, pythonOlder
-, urllib3
+{
+  lib,
+  stdenv,
+  buildPythonPackage,
+  certifi,
+  fastimport,
+  fetchFromGitHub,
+  gevent,
+  geventhttpclient,
+  git,
+  glibcLocales,
+  gnupg,
+  gpgme,
+  paramiko,
+  pytest-xdist,
+  pytestCheckHook,
+  pythonOlder,
+  setuptools,
+  setuptools-rust,
+  urllib3,
 }:
 
 buildPythonPackage rec {
@@ -24,12 +27,17 @@ buildPythonPackage rec {
 
   disabled = pythonOlder "3.7";
 
-  src = fetchPypi {
-    inherit pname version;
-    hash = "sha256-qenGaDPOpYDDrBKSfkuXEZhddq/KmNqXFAXUFN5g6Wg=";
+  src = fetchFromGitHub {
+    owner = "jelmer";
+    repo = "dulwich";
+    rev = "refs/tags/${pname}-${version}";
+    hash = "sha256-iP+6KtaQ8tfOobovSLSJZogS/XWW0LuHgE2oV8uQW/8=";
   };
 
-  LC_ALL = "en_US.UTF-8";
+  build-system = [
+    setuptools
+    setuptools-rust
+  ];
 
   propagatedBuildInputs = [
     certifi
@@ -37,28 +45,26 @@ buildPythonPackage rec {
   ];
 
   passthru.optional-dependencies = {
-    fastimport = [
-      fastimport
-    ];
+    fastimport = [ fastimport ];
     pgp = [
       gpgme
       gnupg
     ];
-    paramiko = [
-      paramiko
-    ];
+    paramiko = [ paramiko ];
   };
 
-  nativeCheckInputs = [
-    gevent
-    geventhttpclient
-    git
-    glibcLocales
-    pytest-xdist
-    pytestCheckHook
-  ] ++ passthru.optional-dependencies.fastimport
-  ++ passthru.optional-dependencies.pgp
-  ++ passthru.optional-dependencies.paramiko;
+  nativeCheckInputs =
+    [
+      gevent
+      geventhttpclient
+      git
+      glibcLocales
+      pytest-xdist
+      pytestCheckHook
+    ]
+    ++ passthru.optional-dependencies.fastimport
+    ++ passthru.optional-dependencies.pgp
+    ++ passthru.optional-dependencies.paramiko;
 
   doCheck = !stdenv.isDarwin;
 
@@ -69,6 +75,8 @@ buildPythonPackage rec {
     "test_cyrillic"
     # OSError: [Errno 84] Invalid or incomplete multibyte or wide character: b'/build/tmpfseetobk/test/\xc0'
     "test_commit_no_encode_decode"
+    # https://github.com/jelmer/dulwich/issues/1279
+    "test_init_connector"
   ];
 
   disabledTestPaths = [
@@ -78,9 +86,7 @@ buildPythonPackage rec {
     "dulwich/tests/compat/test_client.py"
   ];
 
-  pythonImportsCheck = [
-    "dulwich"
-  ];
+  pythonImportsCheck = [ "dulwich" ];
 
   meta = with lib; {
     description = "Implementation of the Git file formats and protocols";
@@ -90,7 +96,10 @@ 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 ];
   };
 }