about summary refs log tree commit diff
path: root/pkgs/development/python-modules/funsor/default.nix
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/development/python-modules/funsor/default.nix')
-rw-r--r--pkgs/development/python-modules/funsor/default.nix83
1 files changed, 51 insertions, 32 deletions
diff --git a/pkgs/development/python-modules/funsor/default.nix b/pkgs/development/python-modules/funsor/default.nix
index dcd3c67a394b..dda85f2c798d 100644
--- a/pkgs/development/python-modules/funsor/default.nix
+++ b/pkgs/development/python-modules/funsor/default.nix
@@ -1,28 +1,38 @@
-{ lib
-, buildPythonPackage
-, pythonOlder
-, fetchFromGitHub
-, makefun
-, multipledispatch
-, numpy
-, opt-einsum
-, typing-extensions
-, pyro-ppl
-, torch
-, pandas
-, pillow
-, pyro-api
-, pytest
-, pytest-xdist
-, requests
-, scipy
-, torchvision
+{
+  lib,
+  buildPythonPackage,
+  pythonOlder,
+  fetchFromGitHub,
+
+  # build-system
+  setuptools,
+
+  # dependencies
+  makefun,
+  multipledispatch,
+  numpy,
+  opt-einsum,
+  typing-extensions,
+
+  # checks
+  pyro-ppl,
+  torch,
+  pandas,
+  pillow,
+  pyro-api,
+  pytestCheckHook,
+  pytest-xdist,
+  requests,
+  scipy,
+  torchvision,
+
+  stdenv,
 }:
 
 buildPythonPackage rec {
   pname = "funsor";
   version = "0.4.6";
-  format = "setuptools";
+  pyproject = true;
 
   disabled = pythonOlder "3.7";
 
@@ -33,12 +43,9 @@ buildPythonPackage rec {
     hash = "sha256-Prj1saT0yoPAP8rDE0ipBEpR3QMk4PS12VSJlxc22p8=";
   };
 
-  # Disable the tests that rely on downloading assets from the internet as well as the linting checks.
-  patches = [
-    ./patch-makefile-for-tests.patch
-  ];
+  build-system = [ setuptools ];
 
-  propagatedBuildInputs = [
+  dependencies = [
     makefun
     multipledispatch
     numpy
@@ -54,26 +61,38 @@ buildPythonPackage rec {
     pandas
     pillow
     pyro-api
-    pytest
+    pytestCheckHook
     pytest-xdist
     requests
     scipy
     torchvision
   ];
 
-  # Use the included Makefile to run the tests.
-  checkPhase = ''
+  preCheck = ''
     export FUNSOR_BACKEND=torch
-    make test
   '';
 
   pythonImportsCheck = [ "funsor" ];
 
-  meta = with lib; {
+  disabledTests =
+    [
+      # `test_torch_save` got broken by the update of torch (2.3.1 -> 2.4.0):
+      # FutureWarning: You are using `torch.load` with `weights_only=False`...
+      # TODO: Try to re-enable this test at next release
+      "test_torch_save"
+    ]
+    ++ lib.optionals stdenv.hostPlatform.isDarwin [
+      # Failures related to JIT
+      # RuntimeError: required keyword attribute 'Subgraph' has the wrong type
+      "test_local_param_ok"
+      "test_plate_ok"
+    ];
+
+  meta = {
     description = "Functional tensors for probabilistic programming";
     homepage = "https://funsor.pyro.ai";
     changelog = "https://github.com/pyro-ppl/funsor/releases/tag/${version}";
-    license = licenses.asl20;
-    maintainers = with maintainers; [ GaetanLepage ];
+    license = lib.licenses.asl20;
+    maintainers = with lib.maintainers; [ GaetanLepage ];
   };
 }