1{
2 lib,
3 buildPythonPackage,
4 ccache,
5 fetchFromGitHub,
6 isPyPy,
7 ordered-set,
8 python3,
9 setuptools,
10 zstandard,
11 wheel,
12}:
13
14buildPythonPackage rec {
15 pname = "nuitka";
16 version = "2.1.4";
17 pyproject = true;
18
19 src = fetchFromGitHub {
20 owner = "Nuitka";
21 repo = "Nuitka";
22 rev = version;
23 hash = "sha256-bV5zTYwhR/3dTM1Ij+aC6TbcPODZ5buwQi7xN8axZi0=";
24 };
25
26 # default lto off for darwin
27 patches = [ ./darwin-lto.patch ];
28
29 build-system = [
30 setuptools
31 wheel
32 ];
33 nativeCheckInputs = [ ccache ];
34
35 dependencies = [
36 ordered-set
37 zstandard
38 ];
39
40 checkPhase = ''
41 runHook preCheck
42
43 ${python3.interpreter} tests/basics/run_all.py search
44
45 runHook postCheck
46 '';
47
48 pythonImportsCheck = [ "nuitka" ];
49
50 # Requires CPython
51 disabled = isPyPy;
52
53 meta = with lib; {
54 description = "Python compiler with full language support and CPython compatibility";
55 license = licenses.asl20;
56 homepage = "https://nuitka.net/";
57 };
58}