about summary refs log tree commit diff
path: root/pkgs/development/python-modules/ase/default.nix
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/development/python-modules/ase/default.nix')
-rw-r--r--pkgs/development/python-modules/ase/default.nix63
1 files changed, 46 insertions, 17 deletions
diff --git a/pkgs/development/python-modules/ase/default.nix b/pkgs/development/python-modules/ase/default.nix
index ed3c019146e59..6bd5f58b4203a 100644
--- a/pkgs/development/python-modules/ase/default.nix
+++ b/pkgs/development/python-modules/ase/default.nix
@@ -1,19 +1,26 @@
-{ lib
-, fetchPypi
-, buildPythonPackage
-, isPy27
-, numpy
-, scipy
-, matplotlib
-, flask
-, pillow
-, psycopg2
+{
+  lib,
+  fetchPypi,
+  buildPythonPackage,
+  isPy27,
+  pythonAtLeast,
+  setuptools,
+  numpy,
+  scipy,
+  matplotlib,
+  flask,
+  pillow,
+  psycopg2,
+  pytestCheckHook,
+  pytest-mock,
+  pytest-xdist,
 }:
 
 buildPythonPackage rec {
   pname = "ase";
   version = "3.22.1";
-  format = "setuptools";
+  pyproject = true;
+
   disabled = isPy27;
 
   src = fetchPypi {
@@ -21,14 +28,36 @@ buildPythonPackage rec {
     hash = "sha256-AE32sOoEsRFMeQ+t/kXUEl6w5TElxmqTQlr4U9gqtDI=";
   };
 
-  propagatedBuildInputs = [ numpy scipy matplotlib flask pillow psycopg2 ];
+  build-system = [ setuptools ];
 
-  checkPhase = ''
-    $out/bin/ase test
-  '';
+  dependencies = [
+    numpy
+    scipy
+    matplotlib
+    flask
+    pillow
+    psycopg2
+  ];
+
+  nativeCheckInputs = [
+    pytestCheckHook
+    pytest-mock
+    pytest-xdist
+  ];
 
-  # tests just hang most likely due to something with subprocesses and cli
-  doCheck = false;
+  disabledTests = [
+    "test_fundamental_params"
+    "test_ase_bandstructure"
+    "test_imports"
+    "test_units"
+    "test_favicon"
+    "test_vibrations_methods" # missing attribute
+    "test_jmol_roundtrip" # missing attribute
+  ] ++ lib.optionals (pythonAtLeast "3.12") [ "test_info_calculators" ];
+
+  preCheck = ''
+    export PATH="$out/bin:$PATH"
+  '';
 
   pythonImportsCheck = [ "ase" ];