1{
2 lib,
3 devpi-server,
4 git,
5 glibcLocales,
6 python3,
7 fetchPypi,
8 nix-update-script,
9}:
10
11python3.pkgs.buildPythonApplication rec {
12 pname = "devpi-client";
13 version = "7.2.0";
14 pyproject = true;
15
16 src = fetchPypi {
17 pname = "devpi-client";
18 inherit version;
19 hash = "sha256-wUM2hFjDh4unvuah2bQY4uZZVxo4VmFPWNdriigmnXs=";
20 };
21
22 build-system = with python3.pkgs; [
23 setuptools
24 setuptools-changelog-shortener
25 ];
26
27 buildInputs = [ glibcLocales ];
28
29 dependencies = with python3.pkgs; [
30 build
31 check-manifest
32 devpi-common
33 iniconfig
34 pkginfo
35 pluggy
36 platformdirs
37 ];
38
39 nativeCheckInputs =
40 [
41 devpi-server
42 git
43 ]
44 ++ (with python3.pkgs; [
45 mercurial
46 mock
47 pypitoken
48 pytestCheckHook
49 sphinx
50 virtualenv
51 webtest
52 wheel
53 ]);
54
55 preCheck = ''
56 export HOME=$(mktemp -d);
57 '';
58
59 pytestFlagsArray = [
60 # --fast skips tests which try to start a devpi-server improperly
61 "--fast"
62 ];
63
64 LC_ALL = "en_US.UTF-8";
65
66 __darwinAllowLocalNetworking = true;
67
68 pythonImportsCheck = [ "devpi" ];
69
70 passthru.updateScript = nix-update-script { };
71
72 meta = with lib; {
73 description = "Client for devpi, a pypi index server and packaging meta tool";
74 homepage = "http://doc.devpi.net";
75 changelog = "https://github.com/devpi/devpi/blob/client-${version}/client/CHANGELOG";
76 license = licenses.mit;
77 maintainers = with maintainers; [
78 lewo
79 makefu
80 ];
81 mainProgram = "devpi";
82 };
83}