1{
2 lib,
3 buildPythonPackage,
4 fetchPypi,
5 fetchpatch2,
6 webtest,
7 zope-component,
8 hupper,
9 pastedeploy,
10 plaster,
11 plaster-pastedeploy,
12 repoze-lru,
13 setuptools,
14 translationstring,
15 venusian,
16 webob,
17 zope-deprecation,
18 zope-interface,
19 pythonOlder,
20 pytestCheckHook,
21}:
22
23buildPythonPackage rec {
24 pname = "pyramid";
25 version = "2.0.2";
26 pyproject = true;
27
28 disabled = pythonOlder "3.7";
29
30 src = fetchPypi {
31 inherit pname version;
32 hash = "sha256-NyE4pzjkIWU1zHbczm7d1aGqypUTDyNU+4NCZMBvGN4=";
33 };
34
35 patches = [
36 (fetchpatch2 {
37 name = "python-3.13-compat.patch";
38 url = "https://github.com/Pylons/pyramid/commit/1079613eb07e2a67454378e1fc28815dfd64bb82.patch";
39 hash = "sha256-/jxbA2q0kAeXDvIwhNkO8h4KbKtdquWXAH7/0lV8MXc=";
40 })
41 ];
42
43 build-system = [ setuptools ];
44
45 dependencies = [
46 hupper
47 pastedeploy
48 plaster
49 plaster-pastedeploy
50 repoze-lru
51 setuptools # for pkg_resources
52 translationstring
53 venusian
54 webob
55 zope-deprecation
56 zope-interface
57 ];
58
59 nativeCheckInputs = [
60 webtest
61 zope-component
62 pytestCheckHook
63 ];
64
65 pythonImportsCheck = [ "pyramid" ];
66
67 meta = with lib; {
68 description = "Python web framework";
69 homepage = "https://trypyramid.com/";
70 changelog = "https://github.com/Pylons/pyramid/blob/${version}/CHANGES.rst";
71 license = licenses.bsd0;
72 maintainers = with maintainers; [ ];
73 };
74}