71 lines
1.6 KiB
Nix
71 lines
1.6 KiB
Nix
{ lib
|
|
, fetchPypi
|
|
, buildPythonPackage
|
|
, logutils
|
|
, mako
|
|
, webtest
|
|
, pythonOlder
|
|
, pytestCheckHook
|
|
, genshi
|
|
, gunicorn
|
|
, jinja2
|
|
, six
|
|
, sqlalchemy
|
|
, virtualenv
|
|
}:
|
|
|
|
buildPythonPackage rec {
|
|
pname = "pecan";
|
|
version = "1.4.2";
|
|
format = "setuptools";
|
|
|
|
disabled = pythonOlder "3.6";
|
|
|
|
src = fetchPypi {
|
|
inherit pname version;
|
|
hash = "sha256-SbJV5wHD8UYWBfWw6PVPDCGSLXhF1BTCTdZAn+aV1VA=";
|
|
};
|
|
|
|
propagatedBuildInputs = [
|
|
logutils
|
|
mako
|
|
webtest
|
|
six
|
|
];
|
|
|
|
nativeCheckInputs = [
|
|
pytestCheckHook
|
|
genshi
|
|
gunicorn
|
|
jinja2
|
|
sqlalchemy
|
|
virtualenv
|
|
];
|
|
|
|
pytestFlagsArray = [
|
|
"--pyargs pecan"
|
|
# tests fail with sqlalchemy 2.0
|
|
] ++ lib.optionals (lib.versionAtLeast sqlalchemy.version "2.0") [
|
|
# The 'sqlalchemy.orm.mapper()' function is removed as of SQLAlchemy
|
|
# 2.0. Use the 'sqlalchemy.orm.registry.map_imperatively()` method
|
|
# of the ``sqlalchemy.orm.registry`` class to perform classical
|
|
# mapping.
|
|
# https://github.com/pecan/pecan/issues/143
|
|
"--deselect=pecan/tests/test_jsonify.py::TestJsonifySQLAlchemyGenericEncoder::test_result_proxy"
|
|
"--deselect=pecan/tests/test_jsonify.py::TestJsonifySQLAlchemyGenericEncoder::test_row_proxy"
|
|
"--deselect=pecan/tests/test_jsonify.py::TestJsonifySQLAlchemyGenericEncoder::test_sa_object"
|
|
];
|
|
|
|
pythonImportsCheck = [
|
|
"pecan"
|
|
];
|
|
|
|
meta = with lib; {
|
|
changelog = "https://pecan.readthedocs.io/en/latest/changes.html";
|
|
description = "WSGI object-dispatching web framework";
|
|
homepage = "https://www.pecanpy.org/";
|
|
license = licenses.bsd3;
|
|
maintainers = with maintainers; [ applePrincess ];
|
|
};
|
|
}
|