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