1{
2 lib,
3 fetchFromGitHub,
4 buildPythonPackage,
5 setuptools,
6 mutf8,
7 webassets,
8 pytestCheckHook,
9 pytest-cov,
10 mock,
11}:
12
13buildPythonPackage rec {
14 pname = "dukpy";
15 version = "0.4.0";
16 pyproject = true;
17
18 src = fetchFromGitHub {
19 owner = "amol-";
20 repo = "dukpy";
21 rev = "refs/tags/${version}";
22 hash = "sha256-8RDMz9SfBoUe7LQ9/atsZlJ/2uwLUb0hZxeYdsUOGpU=";
23 };
24
25 build-system = [ setuptools ];
26
27 dependencies = [ mutf8 ];
28
29 optional-dependencies = {
30 webassets = [ webassets ];
31 };
32
33 nativeCheckInputs = [
34 pytestCheckHook
35 mock
36 ] ++ optional-dependencies.webassets;
37
38 disabledTests = [ "test_installer" ];
39
40 preCheck = ''
41 rm -r dukpy
42 '';
43
44 pythonImportsCheck = [ "dukpy" ];
45
46 meta = {
47 description = "Simple JavaScript interpreter for Python";
48 homepage = "https://github.com/amol-/dukpy";
49 changelog = "https://github.com/amol-/dukpy/releases/tag/${version}";
50 license = lib.licenses.mit;
51 maintainers = with lib.maintainers; [ ruby0b ];
52 mainProgram = "dukpy";
53 };
54}