1{ lib
2, buildPythonPackage
3, fetchPypi
4, meson
5, ninja
6, setuptools
7, toml
8, wheel
9}:
10
11# TODO: offer meson as a Python package so we have dist-info folder.
12
13buildPythonPackage rec {
14 pname = "mesonpep517";
15 version = "0.2";
16 format = "pyproject";
17
18 src = fetchPypi {
19 inherit pname version;
20 hash = "sha256-Fyo7JfLqHJqbahEjVDt/0xJxOfVLqLn3xNJ4lSB7KIw=";
21 };
22
23 # Applies the following merge request, which doesn't apply cleanly:
24 # https://gitlab.com/thiblahute/mesonpep517/-/merge_requests/25
25 #
26 postPatch = ''
27 substituteInPlace pyproject.toml \
28 --replace 'backend-path = "."' 'backend-path = ["."]'
29 '';
30
31 nativeBuildInputs = [
32 setuptools
33 wheel
34 ];
35
36 propagatedBuildInputs = [ toml ];
37
38 propagatedNativeBuildInputs = [ meson ninja ];
39
40 meta = {
41 description = "Create pep517 compliant packages from the meson build system";
42 homepage = "https://gitlab.com/thiblahute/mesonpep517";
43 license = lib.licenses.asl20;
44 maintainers = [ lib.maintainers.fridh ];
45 };
46}