summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--pkgs/development/python-modules/mesonpep517/default.nix42
-rw-r--r--pkgs/top-level/python-packages.nix2
2 files changed, 44 insertions, 0 deletions
diff --git a/pkgs/development/python-modules/mesonpep517/default.nix b/pkgs/development/python-modules/mesonpep517/default.nix
new file mode 100644
index 00000000000..ec63526070a
--- /dev/null
+++ b/pkgs/development/python-modules/mesonpep517/default.nix
@@ -0,0 +1,42 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, meson
+, ninja
+, intreehooks
+, pytoml
+, pythonOlder
+}:
+
+# TODO: offer meson as a Python package so we have dist-info folder.
+
+buildPythonPackage rec {
+  pname = "mesonpep517";
+  version = "0.1.9999994";
+  format = "pyproject";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "b5bcca61024164c4a51d29e6921ea1f756d54197c8f052e4c66a2b8399aa9349";
+  };
+
+  nativeBuildInputs = [ intreehooks  ];
+
+  propagatedBuildInputs = [ pytoml ];
+
+  # postPatch = ''
+  #   # Meson tries to detect ninja as well, so we should patch meson as well.
+  #   substituteInPlace mesonpep517/buildapi.py \
+  #     --replace "'meson'" "'${meson}/bin/meson'" \
+  #     --replace "'ninja'" "'${ninja}/bin/ninja'"
+  # '';
+
+  propagatedNativeBuildInputs = [ meson ninja ];
+
+  meta = {
+    description = "Create pep517 compliant packages from the meson build system";
+    homepage = https://gitlab.com/thiblahute/mesonpep517;
+    license = lib.licenses.asl20;
+    maintainers = [ lib.maintainers.fridh ];
+  };
+}
\ No newline at end of file
diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix
index 5c2b009731e..d776e80a9e3 100644
--- a/pkgs/top-level/python-packages.nix
+++ b/pkgs/top-level/python-packages.nix
@@ -3860,6 +3860,8 @@ in {
     setupHook = null;
   })));
 
+  mesonpep517 = callPackage ../development/python-modules/mesonpep517 { };
+
   metaphone = callPackage ../development/python-modules/metaphone { };
 
   mezzanine = callPackage ../development/python-modules/mezzanine { };