blob: 5cf21f66d6f2f74bfd70408ca1eb0bcb4d0d351d (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
|
{
lib,
buildPythonPackage,
fetchPypi,
pytest-mock,
pytestCheckHook,
pythonAtLeast,
pythonOlder,
setuptools,
}:
buildPythonPackage rec {
pname = "restrictedpython";
version = "8.0";
pyproject = true;
disabled = pythonOlder "3.7";
src = fetchPypi {
inherit pname version;
hash = "sha256-OvIxK8Z+X87Yh/uFsAbImGHackiBKLFVvuqB62oKmyQ=";
};
postPatch = ''
substituteInPlace pyproject.toml \
--replace-fail "setuptools <= 75.6.0" setuptools
'';
build-system = [ setuptools ];
nativeCheckInputs = [
pytestCheckHook
pytest-mock
];
disabledTests = lib.optionals (pythonAtLeast "3.11") [ "test_compile__compile_restricted_exec__5" ];
pythonImportsCheck = [ "RestrictedPython" ];
meta = with lib; {
description = "Restricted execution environment for Python to run untrusted code";
homepage = "https://github.com/zopefoundation/RestrictedPython";
changelog = "https://github.com/zopefoundation/RestrictedPython/blob/${version}/CHANGES.rst";
license = licenses.zpl21;
maintainers = with maintainers; [ juaningan ];
};
}
|