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