1{ lib
2, fetchPypi
3, fetchpatch
4, buildPythonPackage
5, isPy27
6# Python deps
7, logutils
8, Mako
9, singledispatch ? null
10, six
11, webtest
12# Test Inputs
13, pytestCheckHook
14, genshi
15, gunicorn
16, jinja2
17, Kajiki
18, mock
19, sqlalchemy
20, virtualenv
21}:
22
23buildPythonPackage rec {
24 pname = "pecan";
25 version = "1.4.0";
26
27 src = fetchPypi {
28 inherit pname version;
29 sha256 = "4b2acd6802a04b59e306d0a6ccf37701d24376f4dc044bbbafba3afdf9d3389a";
30 };
31
32 patches = [
33 (fetchpatch {
34 name = "Support-SQLAlchemy-1.4x.patch";
35 url = "https://github.com/pecan/pecan/commit/a520bd544c0b02a02dbf692b8d6e2f7a503ee6d4.patch";
36 sha256 = "sha256-QCHRjwnpy8ndCvcuyE5Y65BybKYthJXDySUtmpJD8gY=";
37 })
38 ];
39
40 propagatedBuildInputs = [
41 logutils
42 Mako
43 singledispatch
44 six
45 webtest
46 ];
47
48 checkInputs = [
49 pytestCheckHook
50 genshi
51 gunicorn
52 jinja2
53 mock
54 sqlalchemy
55 virtualenv
56 ] ++ lib.optionals isPy27 [ Kajiki ];
57
58 pytestFlagsArray = [
59 "--pyargs pecan "
60 ];
61
62 meta = with lib; {
63 description = "WSGI object-dispatching web framework, designed to be lean and fast";
64 homepage = "https://www.pecanpy.org/";
65 changelog = "https://pecan.readthedocs.io/en/latest/changes.html";
66 maintainers = with maintainers; [ applePrincess ];
67 };
68}