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 devpi-server
41 git
42 ]
43 ++ (with python3.pkgs; [
44 mercurial
45 mock
46 pypitoken
47 pytestCheckHook
48 sphinx
49 virtualenv
50 webtest
51 wheel
52 ]);
53
54 preCheck = ''
55 export HOME=$(mktemp -d);
56 '';
57
58 pytestFlags = [
59 # --fast skips tests which try to start a devpi-server improperly
60 "--fast"
61 ];
62
63 LC_ALL = "en_US.UTF-8";
64
65 __darwinAllowLocalNetworking = true;
66
67 pythonImportsCheck = [ "devpi" ];
68
69 passthru.updateScript = nix-update-script { };
70
71 meta = {
72 description = "Client for devpi, a pypi index server and packaging meta tool";
73 homepage = "http://doc.devpi.net";
74 changelog = "https://github.com/devpi/devpi/blob/client-${version}/client/CHANGELOG";
75 license = lib.licenses.mit;
76 maintainers = with lib.maintainers; [
77 lewo
78 makefu
79 ];
80 mainProgram = "devpi";
81 };
82}