1{ lib
2, stdenv
3, buildPythonPackage
4, certifi
5, fastimport
6, fetchPypi
7, gevent
8, geventhttpclient
9, git
10, glibcLocales
11, mock
12, urllib3
13}:
14
15buildPythonPackage rec {
16 version = "0.20.21";
17 pname = "dulwich";
18
19 src = fetchPypi {
20 inherit pname version;
21 sha256 = "sha256-rHZMmpuA+mGv40BNUnDFBgqlf38IexGpU5XTt287cf0=";
22 };
23
24 LC_ALL = "en_US.UTF-8";
25
26 propagatedBuildInputs = [ urllib3 certifi ];
27
28 # Only test dependencies
29 checkInputs = [ git glibcLocales gevent geventhttpclient mock fastimport ];
30
31 doCheck = !stdenv.isDarwin;
32
33 pythonImportsCheck = [ "dulwich" ];
34
35 meta = with lib; {
36 description = "Simple Python implementation of the Git file formats and protocols";
37 longDescription = ''
38 Dulwich is a Python implementation of the Git file formats and protocols, which
39 does not depend on Git itself. All functionality is available in pure Python.
40 '';
41 homepage = "https://www.dulwich.io/";
42 changelog = "https://github.com/dulwich/dulwich/blob/dulwich-${version}/NEWS";
43 license = with licenses; [ asl20 gpl2Plus ];
44 maintainers = with maintainers; [ koral ];
45 };
46}