at 22.05-pre 87 lines 2.0 kB view raw
1{ lib, fetchFromGitHub, python3, nginx }: 2 3let 4 py = python3.override { 5 packageOverrides = self: super: { 6 # pyramid 2.0 no longer has a 'pyramid.compat' module 7 pyramid = super.pyramid.overridePythonAttrs (oldAttrs: rec { 8 version = "1.10.8"; 9 src = oldAttrs.src.override { 10 inherit version; 11 sha256 = "sha256-t81mWVvvkvgXZLl23d4rL6jk9fMl4C9l9ux/NwiynPY="; 12 }; 13 }); 14 }; 15 }; 16 17in with py.pkgs; 18buildPythonApplication rec { 19 pname = "devpi-server"; 20 version = "6.2.0"; 21 22 src = fetchFromGitHub { 23 owner = "devpi"; 24 repo = "devpi"; 25 rev = "68ee291ef29a93f6d921d4927aec8d13919b4a4c"; 26 sha256 = "1ivd5dy9f2gq07w8n2gywa0n0d9wv8644l53ni9fz7i69jf8q2fm"; 27 }; 28 29 sourceRoot = "source/server"; 30 31 postPatch = '' 32 substituteInPlace setup.py \ 33 --replace "pluggy>=0.6.0,<1.0" "pluggy>=0.6.0,<2.0" 34 ''; 35 36 propagatedBuildInputs = [ 37 py 38 appdirs 39 devpi-common 40 defusedxml 41 execnet 42 itsdangerous 43 repoze_lru 44 passlib 45 pluggy 46 pyramid 47 strictyaml 48 waitress 49 ]; 50 51 checkInputs = [ 52 beautifulsoup4 53 nginx 54 pytestCheckHook 55 pytest-flake8 56 webtest 57 ] ++ lib.optionals isPy27 [ mock ]; 58 59 # root_passwd_hash tries to write to store 60 # TestMirrorIndexThings tries to write to /var through ngnix 61 # nginx tests try to write to /var 62 preCheck = '' 63 export PATH=$PATH:$out/bin 64 export HOME=$TMPDIR 65 ''; 66 pytestFlagsArray = [ 67 "./test_devpi_server" 68 "--slow" 69 "-rfsxX" 70 "--ignore=test_devpi_server/test_nginx_replica.py" 71 "--ignore=test_devpi_server/test_streaming_nginx.py" 72 "--ignore=test_devpi_server/test_streaming_replica_nginx.py" 73 ]; 74 disabledTests = [ 75 "root_passwd_hash_option" 76 "TestMirrorIndexThings" 77 ]; 78 79 __darwinAllowLocalNetworking = true; 80 81 meta = with lib;{ 82 homepage = "http://doc.devpi.net"; 83 description = "Github-style pypi index server and packaging meta tool"; 84 license = licenses.mit; 85 maintainers = with maintainers; [ makefu ]; 86 }; 87}