mirror of
https://github.com/NixOS/nixpkgs.git
synced 2025-02-15 08:34:04 +00:00
![makefu](/assets/img/avatar_default.png)
the test is not performed in the postCheck phase because the dependency py was previously provided as nativeTestInput. Running test in the installPhase ensure no extra dependencies are used which are not available at runtime fixes #286156
121 lines
2.3 KiB
Nix
121 lines
2.3 KiB
Nix
{ lib, fetchFromGitHub, buildPythonApplication
|
|
, pythonOlder
|
|
, aiohttp
|
|
, appdirs
|
|
, beautifulsoup4
|
|
, defusedxml
|
|
, devpi-common
|
|
, execnet
|
|
, itsdangerous
|
|
, nginx
|
|
, packaging
|
|
, passlib
|
|
, platformdirs
|
|
, pluggy
|
|
, py
|
|
, pyramid
|
|
, pytestCheckHook
|
|
, repoze-lru
|
|
, setuptools
|
|
, strictyaml
|
|
, waitress
|
|
, webtest
|
|
, testers
|
|
, devpi-server
|
|
}:
|
|
|
|
|
|
buildPythonApplication rec {
|
|
pname = "devpi-server";
|
|
version = "6.9.2";
|
|
pyproject = true;
|
|
|
|
disabled = pythonOlder "3.7";
|
|
|
|
src = fetchFromGitHub {
|
|
owner = "devpi";
|
|
repo = "devpi";
|
|
rev = "server-${version}";
|
|
hash = "sha256-HnxWLxOK+6B8O/7lpNjuSUQ0Z7NOmV2n01WFyjow6oU=";
|
|
};
|
|
|
|
sourceRoot = "${src.name}/server";
|
|
|
|
postPatch = ''
|
|
substituteInPlace tox.ini \
|
|
--replace "--flake8" ""
|
|
'';
|
|
|
|
nativeBuildInputs = [
|
|
setuptools
|
|
];
|
|
|
|
propagatedBuildInputs = [
|
|
aiohttp
|
|
appdirs
|
|
defusedxml
|
|
devpi-common
|
|
execnet
|
|
itsdangerous
|
|
packaging
|
|
passlib
|
|
platformdirs
|
|
pluggy
|
|
pyramid
|
|
repoze-lru
|
|
setuptools
|
|
strictyaml
|
|
waitress
|
|
py
|
|
] ++ passlib.optional-dependencies.argon2;
|
|
|
|
nativeCheckInputs = [
|
|
beautifulsoup4
|
|
nginx
|
|
py
|
|
pytestCheckHook
|
|
webtest
|
|
];
|
|
|
|
# root_passwd_hash tries to write to store
|
|
# TestMirrorIndexThings tries to write to /var through ngnix
|
|
# nginx tests try to write to /var
|
|
preCheck = ''
|
|
export PATH=$PATH:$out/bin
|
|
export HOME=$TMPDIR
|
|
'';
|
|
pytestFlagsArray = [
|
|
"./test_devpi_server"
|
|
"--slow"
|
|
"-rfsxX"
|
|
"--ignore=test_devpi_server/test_nginx_replica.py"
|
|
"--ignore=test_devpi_server/test_streaming_nginx.py"
|
|
"--ignore=test_devpi_server/test_streaming_replica_nginx.py"
|
|
];
|
|
disabledTests = [
|
|
"root_passwd_hash_option"
|
|
"TestMirrorIndexThings"
|
|
"test_auth_mirror_url_no_hash"
|
|
"test_auth_mirror_url_with_hash"
|
|
"test_auth_mirror_url_hidden_in_logs"
|
|
];
|
|
|
|
__darwinAllowLocalNetworking = true;
|
|
|
|
pythonImportsCheck = [
|
|
"devpi_server"
|
|
];
|
|
|
|
passthru.tests.version = testers.testVersion {
|
|
package = devpi-server;
|
|
};
|
|
|
|
meta = with lib;{
|
|
homepage = "http://doc.devpi.net";
|
|
description = "Github-style pypi index server and packaging meta tool";
|
|
changelog = "https://github.com/devpi/devpi/blob/${src.rev}/server/CHANGELOG";
|
|
license = licenses.mit;
|
|
maintainers = with maintainers; [ makefu ];
|
|
};
|
|
}
|