Clone of https://github.com/NixOS/nixpkgs.git (to stress-test knotserver)
at gcc-offload 89 lines 1.8 kB view raw
1{ 2 lib, 3 stdenv, 4 buildPythonPackage, 5 fastimport, 6 fetchFromGitHub, 7 fetchpatch2, 8 gevent, 9 geventhttpclient, 10 git, 11 glibcLocales, 12 gnupg, 13 gpgme, 14 paramiko, 15 unittestCheckHook, 16 pythonOlder, 17 setuptools, 18 setuptools-rust, 19 urllib3, 20}: 21 22buildPythonPackage rec { 23 version = "0.22.5"; 24 pname = "dulwich"; 25 format = "setuptools"; 26 27 disabled = pythonOlder "3.7"; 28 29 src = fetchFromGitHub { 30 owner = "jelmer"; 31 repo = "dulwich"; 32 rev = "refs/tags/dulwich-${version}"; 33 hash = "sha256-/YqC7y8PU+H2qjPqqzdw6iSSSElK709izLTcs9qbt1I="; 34 }; 35 36 build-system = [ 37 setuptools 38 setuptools-rust 39 ]; 40 41 propagatedBuildInputs = [ 42 urllib3 43 ]; 44 45 optional-dependencies = { 46 fastimport = [ fastimport ]; 47 https = [ urllib3 ]; 48 pgp = [ 49 gpgme 50 gnupg 51 ]; 52 paramiko = [ paramiko ]; 53 }; 54 55 nativeCheckInputs = [ 56 gevent 57 geventhttpclient 58 git 59 glibcLocales 60 unittestCheckHook 61 ] ++ lib.flatten (lib.attrValues optional-dependencies); 62 63 preCheck = '' 64 # requires swift config file 65 rm tests/contrib/test_swift_smoke.py 66 67 # ImportError: attempted relative import beyond top-level package 68 rm tests/test_greenthreads.py 69 ''; 70 71 doCheck = !stdenv.hostPlatform.isDarwin; 72 73 pythonImportsCheck = [ "dulwich" ]; 74 75 meta = with lib; { 76 description = "Implementation of the Git file formats and protocols"; 77 longDescription = '' 78 Dulwich is a Python implementation of the Git file formats and protocols, which 79 does not depend on Git itself. All functionality is available in pure Python. 80 ''; 81 homepage = "https://www.dulwich.io/"; 82 changelog = "https://github.com/jelmer/dulwich/blob/dulwich-${version}/NEWS"; 83 license = with licenses; [ 84 asl20 85 gpl2Plus 86 ]; 87 maintainers = with maintainers; [ koral ]; 88 }; 89}