Clone of https://github.com/NixOS/nixpkgs.git (to stress-test knotserver)
at 19.09 60 lines 1.9 kB view raw
1{ stdenv, buildPythonPackage, fetchPypi, isPy3k 2, setuptools_scm 3, cheroot, portend, more-itertools, zc_lockfile, routes 4, objgraph, pytest, pytestcov, pathpy, requests_toolbelt, pytest-services 5, fetchpatch 6}: 7 8buildPythonPackage rec { 9 pname = "cherrypy"; 10 version = "18.1.2"; 11 12 disabled = !isPy3k; 13 14 src = fetchPypi { 15 pname = "CherryPy"; 16 inherit version; 17 sha256 = "1w3hpsg7q8shdmscmbqk00w90lcw3brary7wl1a56k5h7nx33pj8"; 18 }; 19 20 # Remove patches once 96b34df and 14c12d2 21 # become part of a release - they're currently only present in master. 22 # ref: https://github.com/cherrypy/cherrypy/pull/1791 23 patches = [ 24 (fetchpatch { 25 name = "pytest5-1.patch"; 26 url = "https://github.com/cherrypy/cherrypy/commit/96b34dfea7853b0189bc0a3878b6ddff0d4e505c.patch"; 27 sha256 = "0zy53mahffgkpd844118b42lsk5lkjmig70d60x1i46w6gnr61mi"; 28 }) 29 (fetchpatch { 30 name = "pytest5-2.patch"; 31 url = "https://github.com/cherrypy/cherrypy/commit/14c12d2420a4b3765bb241250bd186e93b2f25eb.patch"; 32 sha256 = "0ihcz7b5myn923rq5665b98pz52hnf6fcys2y2inf23r3i07scyz"; 33 }) 34 ]; 35 36 propagatedBuildInputs = [ 37 # required 38 cheroot portend more-itertools zc_lockfile 39 # optional 40 routes 41 ]; 42 43 nativeBuildInputs = [ setuptools_scm ]; 44 45 checkInputs = [ 46 objgraph pytest pytestcov pathpy requests_toolbelt pytest-services 47 ]; 48 49 # Disable doctest plugin because times out 50 checkPhase = '' 51 substituteInPlace pytest.ini --replace "--doctest-modules" "" 52 pytest --deselect=cherrypy/test/test_static.py::StaticTest::test_null_bytes ${stdenv.lib.optionalString stdenv.isDarwin "--deselect=cherrypy/test/test_bus.py::BusMethodTests::test_block"} 53 ''; 54 55 meta = with stdenv.lib; { 56 homepage = https://www.cherrypy.org; 57 description = "A pythonic, object-oriented HTTP framework"; 58 license = licenses.bsd3; 59 }; 60}