1{ stdenv, python3Packages, nginx }:
2
3python3Packages.buildPythonApplication rec {
4 pname = "devpi-server";
5 version = "5.5.0";
6
7 src = python3Packages.fetchPypi {
8 inherit pname version;
9 sha256 = "0lily4a0k13bygx07x2f2q4nkwny0fj34hpac9i6mc70ysdn1hhi";
10 };
11
12 propagatedBuildInputs = with python3Packages; [
13 py
14 appdirs
15 devpi-common
16 execnet
17 itsdangerous
18 repoze_lru
19 passlib
20 pluggy
21 pyramid
22 strictyaml
23 waitress
24 ];
25
26 checkInputs = with python3Packages; [
27 beautifulsoup4
28 nginx
29 pytest
30 pytest-flake8
31 pytestpep8
32 webtest
33 ] ++ stdenv.lib.optionals isPy27 [ mock ];
34
35 # root_passwd_hash tries to write to store
36 # TestMirrorIndexThings tries to write to /var through ngnix
37 # nginx tests try to write to /var
38 checkPhase = ''
39 PATH=$PATH:$out/bin HOME=$TMPDIR pytest \
40 ./test_devpi_server --slow -rfsxX \
41 --ignore=test_devpi_server/test_nginx_replica.py \
42 --ignore=test_devpi_server/test_streaming_nginx.py \
43 --ignore=test_devpi_server/test_streaming_replica_nginx.py \
44 -k 'not root_passwd_hash_option \
45 and not TestMirrorIndexThings'
46 '';
47
48 meta = with stdenv.lib;{
49 homepage = "http://doc.devpi.net";
50 description = "Github-style pypi index server and packaging meta tool";
51 license = licenses.mit;
52 maintainers = with maintainers; [ makefu ];
53 };
54}