about summary refs log tree commit diff
path: root/pkgs/development/python-modules/loopy/default.nix
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/development/python-modules/loopy/default.nix')
-rw-r--r--pkgs/development/python-modules/loopy/default.nix61
1 files changed, 38 insertions, 23 deletions
diff --git a/pkgs/development/python-modules/loopy/default.nix b/pkgs/development/python-modules/loopy/default.nix
index 995c99e100ec0..488d055b7213a 100644
--- a/pkgs/development/python-modules/loopy/default.nix
+++ b/pkgs/development/python-modules/loopy/default.nix
@@ -1,39 +1,47 @@
-{ lib
-, buildPythonPackage
-, codepy
-, cgen
-, colorama
-, fetchFromGitHub
-, genpy
-, islpy
-, mako
-, numpy
-, pymbolic
-, pyopencl
-, pyrsistent
-, pythonOlder
-, pytools
+{
+  lib,
+  buildPythonPackage,
+  codepy,
+  cgen,
+  colorama,
+  fetchFromGitHub,
+  genpy,
+  immutables,
+  islpy,
+  mako,
+  numpy,
+  pymbolic,
+  pyopencl,
+  pyrsistent,
+  pythonOlder,
+  pytools,
+  setuptools,
+  typing-extensions,
 }:
 
 buildPythonPackage rec {
   pname = "loopy";
   version = "2024.1";
-  format = "setuptools";
+  pyproject = true;
 
-  disabled = pythonOlder "3.7";
+  disabled = pythonOlder "3.8";
 
   src = fetchFromGitHub {
     owner = "inducer";
-    repo = pname;
+    repo = "loopy";
     rev = "refs/tags/v${version}";
-    hash = "sha256-R0Wry4r8Y7VKqsyrZ3odEOUy4T9di9rFQzq7BD0LG58=";
+    hash = "sha256-mU8vXEPR88QpJpzXZlZdDhMtlwIx5YpeYhXU8Vw2T9g=";
+    fetchSubmodules = true; # submodule at `loopy/target/c/compyte`
   };
 
-  propagatedBuildInputs = [
+  build-system = [ setuptools ];
+
+  dependencies = [
     codepy
     cgen
     colorama
     genpy
+    immutables
     islpy
     mako
     numpy
@@ -41,15 +49,22 @@ buildPythonPackage rec {
     pyopencl
     pyrsistent
     pytools
+    typing-extensions
   ];
 
+  postConfigure = ''
+    export HOME=$(mktemp -d)
+  '';
+
+  pythonImportsCheck = [ "loopy" ];
+
   # pyopencl._cl.LogicError: clGetPlatformIDs failed: PLATFORM_NOT_FOUND_KHR
   doCheck = false;
 
-  meta = with lib; {
+  meta = {
     description = "A code generator for array-based code on CPUs and GPUs";
     homepage = "https://github.com/inducer/loopy";
-    license = licenses.mit;
-    maintainers = with maintainers; [ ];
+    license = lib.licenses.mit;
+    maintainers = with lib.maintainers; [ tomasajt ];
   };
 }