1{ lib, stdenv, buildPythonPackage, fetchPypi
2, setuptools-scm
3, cheroot, contextlib2, portend, routes, six, zc_lockfile
4, backports_unittest-mock, objgraph, pathpy, pytest, pytest-cov, backports_functools_lru_cache, requests-toolbelt
5}:
6
7buildPythonPackage rec {
8 pname = "cherrypy";
9 version = "17.4.2";
10
11 src = fetchPypi {
12 pname = "CherryPy";
13 inherit version;
14 sha256 = "ef1619ad161f526745d4f0e4e517753d9d985814f1280e330661333d2ba05cdf";
15 };
16
17 propagatedBuildInputs = [
18 cheroot contextlib2 portend routes six zc_lockfile
19 ];
20
21 nativeBuildInputs = [ setuptools-scm ];
22
23 checkInputs = [
24 backports_unittest-mock objgraph pathpy pytest pytest-cov backports_functools_lru_cache requests-toolbelt
25 ];
26
27 checkPhase = ''
28 pytest ${lib.optionalString stdenv.isDarwin "--ignore=cherrypy/test/test_wsgi_unix_socket.py"}
29 '';
30
31 meta = with lib; {
32 homepage = "https://www.cherrypy.org";
33 description = "A pythonic, object-oriented HTTP framework";
34 license = licenses.bsd3;
35 };
36}