python.pkgs.cherrypy: spilt expression in two

This commit is contained in:
Robert Schütz 2019-03-27 15:07:06 +01:00
parent 5f47ad0f8a
commit 489d7351da
3 changed files with 56 additions and 29 deletions

View file

@ -0,0 +1,36 @@
{ lib, buildPythonPackage, fetchPypi
, setuptools_scm
, cheroot, contextlib2, portend, routes, six, zc_lockfile
, backports_unittest-mock, objgraph, pathpy, pytest, pytestcov, backports_functools_lru_cache, requests_toolbelt
}:
buildPythonPackage rec {
pname = "cherrypy";
version = "17.4.1";
src = fetchPypi {
pname = "CherryPy";
inherit version;
sha256 = "1kl17anzz535jgkn9qcy0c2m0zlafph0iv7ph3bb9mfrs2bgvagv";
};
propagatedBuildInputs = [
cheroot contextlib2 portend routes six zc_lockfile
];
nativeBuildInputs = [ setuptools_scm ];
checkInputs = [
backports_unittest-mock objgraph pathpy pytest pytestcov backports_functools_lru_cache requests_toolbelt
];
checkPhase = ''
pytest
'';
meta = with lib; {
homepage = https://www.cherrypy.org;
description = "A pythonic, object-oriented HTTP framework";
license = licenses.bsd3;
};
}

View file

@ -1,54 +1,42 @@
{ lib, buildPythonPackage, fetchPypi, isPy3k
, cheroot, contextlib2, portend, routes, six
, setuptools_scm, zc_lockfile, more-itertools
, backports_unittest-mock, objgraph, pathpy, pytest, pytestcov
, backports_functools_lru_cache, requests_toolbelt, pytest-services
, setuptools_scm
, cheroot, portend, more-itertools, zc_lockfile, routes
, objgraph, pytest, pytestcov, pathpy, requests_toolbelt, pytest-services
}:
let
srcInfo = if isPy3k then {
version = "18.1.0";
sha256 = "4dd2f59b5af93bd9ca85f1ed0bb8295cd0f5a8ee2b84d476374d4e070aa5c615";
} else {
version = "17.4.1";
sha256 = "1kl17anzz535jgkn9qcy0c2m0zlafph0iv7ph3bb9mfrs2bgvagv";
};
in buildPythonPackage rec {
pname = "CherryPy";
inherit (srcInfo) version;
buildPythonPackage rec {
pname = "cherrypy";
version = "18.1.0";
disabled = !isPy3k;
src = fetchPypi {
inherit pname;
inherit (srcInfo) version sha256;
pname = "CherryPy";
inherit version;
sha256 = "4dd2f59b5af93bd9ca85f1ed0bb8295cd0f5a8ee2b84d476374d4e070aa5c615";
};
propagatedBuildInputs = if isPy3k then [
propagatedBuildInputs = [
# required
cheroot portend more-itertools zc_lockfile
# optional
routes
] else [
cheroot contextlib2 portend routes six zc_lockfile
];
buildInputs = [ setuptools_scm ];
nativeBuildInputs = [ setuptools_scm ];
checkInputs = if isPy3k then [
checkInputs = [
objgraph pytest pytestcov pathpy requests_toolbelt pytest-services
] else [
backports_unittest-mock objgraph pathpy pytest pytestcov backports_functools_lru_cache requests_toolbelt
];
checkPhase = ''
# 3 out of 5 SignalHandlingTests need network access
# test_2_File_Concurrency also fails upstream: https://github.com/cherrypy/cherrypy/issues/1306
# ...and skipping it makes 2 other tests fail
LANG=en_US.UTF-8 pytest -k "not SignalHandlingTests and not test_4_Autoreload \
and not test_2_File_Concurrency and not test_3_Redirect and not test_4_File_deletion"
pytest -k "not test_2_File_Concurrency and not test_3_Redirect and not test_4_File_deletion"
'';
meta = with lib; {
homepage = "http://www.cherrypy.org";
homepage = https://www.cherrypy.org;
description = "A pythonic, object-oriented HTTP framework";
license = licenses.bsd3;
};

View file

@ -1363,7 +1363,10 @@ in {
cheetah = callPackage ../development/python-modules/cheetah { };
cherrypy = callPackage ../development/python-modules/cherrypy {};
cherrypy = if isPy3k then
callPackage ../development/python-modules/cherrypy { }
else
callPackage ../development/python-modules/cherrypy/17.nix { };
cfgv = callPackage ../development/python-modules/cfgv { };