1{
2 lib,
3 stdenv,
4 buildPythonPackage,
5 fetchPypi,
6 colorama,
7 meson,
8 ninja,
9 pyproject-metadata,
10 tomli,
11 typing-extensions,
12 pythonOlder,
13}:
14
15buildPythonPackage rec {
16 pname = "meson-python";
17 version = "0.16.0";
18 format = "pyproject";
19
20 src = fetchPypi {
21 inherit version;
22 pname = "meson_python";
23 hash = "sha256-kGjBfjbInWx/9wn/+yqKmSXozQsCYpco5c6vLsUFy18=";
24 };
25
26 nativeBuildInputs = [
27 meson
28 ninja
29 pyproject-metadata
30 tomli
31 ] ++ lib.optionals (pythonOlder "3.10") [ typing-extensions ];
32
33 propagatedBuildInputs = [
34 meson
35 ninja
36 pyproject-metadata
37 tomli
38 ] ++ lib.optionals (pythonOlder "3.10") [ typing-extensions ];
39 setupHooks = [ ./add-build-flags.sh ];
40
41 meta = {
42 changelog = "https://github.com/mesonbuild/meson-python/blob/${version}/CHANGELOG.rst";
43 description = "Meson Python build backend (PEP 517)";
44 homepage = "https://github.com/mesonbuild/meson-python";
45 license = [ lib.licenses.mit ];
46 maintainers = with lib.maintainers; [ doronbehar ];
47 };
48}