diff --git a/pkgs/development/python-modules/gstools/default.nix b/pkgs/development/python-modules/gstools/default.nix index 6c0f24eb2385..73e748056632 100644 --- a/pkgs/development/python-modules/gstools/default.nix +++ b/pkgs/development/python-modules/gstools/default.nix @@ -2,37 +2,43 @@ lib, buildPythonPackage, fetchFromGitHub, - setuptools, - setuptools-scm, - numpy, + + # build-system cython, extension-helpers, + numpy, + setuptools, + setuptools-scm, + + # dependencies hankel, emcee, meshio, pyevtk, scipy, + + # tests pytestCheckHook, }: buildPythonPackage rec { pname = "gstools"; - version = "1.6.0"; + version = "1.6.1"; pyproject = true; src = fetchFromGitHub { owner = "GeoStat-Framework"; repo = "GSTools"; tag = "v${version}"; - hash = "sha256-QpdOARzcSRVFl/DbnE2JLBFZmTSh/fBOmzweuf+zfEs="; + hash = "sha256-Aieuk0Xjlut8rTZoFHcBpPtyIj/fstMrHiiKyDOpQlg="; }; build-system = [ - setuptools - setuptools-scm - numpy cython extension-helpers + numpy + setuptools + setuptools-scm ]; dependencies = [ @@ -50,7 +56,7 @@ buildPythonPackage rec { meta = { description = "Geostatistical toolbox"; homepage = "https://github.com/GeoStat-Framework/GSTools"; - changelog = "https://github.com/GeoStat-Framework/GSTools/blob/${src.rev}/CHANGELOG.md"; + changelog = "https://github.com/GeoStat-Framework/GSTools/blob/v${version}/CHANGELOG.md"; license = lib.licenses.lgpl3Only; maintainers = with lib.maintainers; [ sigmanificient ]; }; diff --git a/pkgs/development/python-modules/hankel/default.nix b/pkgs/development/python-modules/hankel/default.nix index fce947a64141..b46264f190bd 100644 --- a/pkgs/development/python-modules/hankel/default.nix +++ b/pkgs/development/python-modules/hankel/default.nix @@ -2,11 +2,17 @@ lib, buildPythonPackage, fetchFromGitHub, + + # build-system setuptools, setuptools-scm, + + # dependencies mpmath, numpy, scipy, + + # tests pytestCheckHook, pytest-xdist, }: @@ -27,6 +33,7 @@ buildPythonPackage rec { setuptools setuptools-scm ]; + dependencies = [ mpmath numpy @@ -34,15 +41,21 @@ buildPythonPackage rec { ]; pythonImportsCheck = [ "hankel" ]; + nativeCheckInputs = [ pytestCheckHook pytest-xdist ]; + disabledTests = [ + # ValueError: Calling nonzero on 0d arrays is not allowed. + "test_nu0" + ]; + meta = { description = "Implementation of Ogata's (2005) method for Hankel transforms"; homepage = "https://github.com/steven-murray/hankel"; - changelog = "https://github.com/steven-murray/hankel/${src.rev}/CHANGELOG.rst"; + changelog = "https://github.com/steven-murray/hankel/v${version}/CHANGELOG.rst"; license = lib.licenses.mit; maintainers = with lib.maintainers; [ sigmanificient ]; }; diff --git a/pkgs/development/python-modules/meshio/default.nix b/pkgs/development/python-modules/meshio/default.nix index 6e9904267ece..a019a48e8526 100644 --- a/pkgs/development/python-modules/meshio/default.nix +++ b/pkgs/development/python-modules/meshio/default.nix @@ -1,47 +1,113 @@ { lib, buildPythonPackage, - fetchPypi, - numpy, - netcdf4, + fetchFromGitHub, + + # build-system + setuptools, + + # dependencies h5py, + netcdf4, + numpy, + rich, + + # tests exdown, pytestCheckHook, - rich, - setuptools, }: buildPythonPackage rec { pname = "meshio"; version = "5.3.5"; - format = "pyproject"; + pyproject = true; - src = fetchPypi { - inherit pname version; - hash = "sha256-8h8Bq9nym6BuoRkwSz055hBCHP6Tud0jNig0kZ+HWG0="; + src = fetchFromGitHub { + owner = "nschloe"; + repo = "meshio"; + tag = "v${version}"; + hash = "sha256-2j+5BYftCiy+g33UbsgCMWBRggGBJBx5VoEdSqQ/mV0="; }; - nativeBuildInputs = [ setuptools ]; + build-system = [ setuptools ]; - propagatedBuildInputs = [ - numpy - netcdf4 + dependencies = [ h5py + netcdf4 + numpy rich ]; + pythonImportsCheck = [ "meshio" ]; + nativeCheckInputs = [ exdown pytestCheckHook ]; - pythonImportsCheck = [ "meshio" ]; + disabledTests = [ + # RuntimeError: Not a valid Netgen mesh + "test_advanced" - meta = with lib; { - homepage = "https://github.com/nschloe/meshio"; + # ValueError: cannot reshape array of size 12 into shape (1936876918,3) + "test_area" + + # Error: Couldn't read file /build/source/tests/meshes/vtk/06_color_scalars.vtk as vtk + # Illegal VTK header + "test_color_scalars" + "test_pathlike" + + # AssertionError + "test_comma_space" + + # ValueError: could not convert string to float: 'np.float64(63.69616873214543)' + "test_dolfin" + + # ValueError: cannot reshape array of size 1 into shape + "test_gmsh22" + "test_gmsh40" + "test_gmsh41" + + # meshio._exceptions.ReadError: Header of ugrid file is ill-formed + "test_io" + "test_volume" + + # ValueError: invalid literal for int() with base 10: 'version' + "test_point_cell_refs" + + # Error: Couldn't read file /build/source/tests/meshes/vtu/01_raw_binary_int64.vtu as vtu + "test_read_from_file" + + # ValueError: cannot reshape array of size 12 into shape (1936876918,3) + # -- or + # Error: Couldn't read file /build/source/tests/meshes/medit/hch_strct.4.meshb as medit + # Invalid code + # -- or + # AssertionError + # -- or + # Error: Couldn't read file /build/source/tests/meshes/msh/insulated-2.2.msh as either of ansys, gmsh + "test_reference_file" + + # UnboundLocalError: cannot access local variable 'points' where it is not associated with a value + # -- or + # Error: Couldn't read file /build/source/tests/meshes/vtk/00_image.vtk as vtk + # Illegal VTK header + "test_structured" + + # Error: Couldn't read file /build/source/tests/meshes/ply/bun_zipper_res4.ply as ply + # Expected ply + "test_read_pathlike" + "test_read_str" + "test_write_pathlike" + "test_write_str" + ]; + + meta = { description = "I/O for mesh files"; + homepage = "https://github.com/nschloe/meshio"; + changelog = "https://github.com/nschloe/meshio/blob/v${version}/CHANGELOG.md"; mainProgram = "meshio"; - license = licenses.mit; - maintainers = with maintainers; [ wd15 ]; + license = lib.licenses.mit; + maintainers = with lib.maintainers; [ wd15 ]; }; } diff --git a/pkgs/development/python-modules/sfepy/default.nix b/pkgs/development/python-modules/sfepy/default.nix index 599e853e5f72..3c782a874b67 100644 --- a/pkgs/development/python-modules/sfepy/default.nix +++ b/pkgs/development/python-modules/sfepy/default.nix @@ -1,41 +1,73 @@ { lib, buildPythonPackage, - pythonOlder, fetchFromGitHub, + writableTmpDirAsHomeHook, + + # build-system cmake, cython_0, ninja, oldest-supported-numpy, setuptools, scikit-build, - numpy, - scipy, + + # dependencies matplotlib, - pyparsing, - tables, - python, - sympy, meshio, - openssh, + numpy, + pyparsing, + python, pyvista, + scipy, + sympy, + tables, + + # tests pytest, + openssh, }: buildPythonPackage rec { pname = "sfepy"; - version = "2024.1"; + version = "2024.4"; pyproject = true; - disabled = pythonOlder "3.8"; - src = fetchFromGitHub { owner = "sfepy"; repo = "sfepy"; - rev = "release_${version}"; - hash = "sha256-r2Qx9uJmVS4ugJxrIxg2UscnYu1Qr4hEkcz66NyWGmA="; + tag = "release_${version}"; + hash = "sha256-3XQqPoAM1Qw/fZ649Xk+ceaeBkZ3ypI1FSRxtYbIrxw="; }; + postPatch = '' + substituteInPlace pyproject.toml \ + --replace-fail "ninja<=1.11.1.1" "ninja" \ + --replace-fail "numpy<2" "numpy" + + substituteInPlace sfepy/solvers/optimize.py \ + --replace-fail "nm.Inf" "nm.inf" + + substituteInPlace sfepy/examples/quantum/quantum_common.py \ + --replace-fail "NaN" "nan" + + # slow tests + rm sfepy/tests/test_elasticity_small_strain.py + rm sfepy/tests/test_hyperelastic_tlul.py + rm sfepy/tests/test_io.py + rm sfepy/tests/test_linear_solvers.py + rm sfepy/tests/test_poly_spaces.py + rm sfepy/tests/test_quadratures.py + rm sfepy/tests/test_refine_hanging.py + rm sfepy/tests/test_term_call_modes.py + # ValueError: invalid literal for int() with base 10: 'np.int64(3)' + rm sfepy/tests/test_meshio.py + ''; + + nativeBuildInputs = [ + writableTmpDirAsHomeHook + ]; + build-system = [ cmake cython_0 @@ -48,37 +80,35 @@ buildPythonPackage rec { dontUseCmakeConfigure = true; dependencies = [ - numpy - scipy matplotlib - pyparsing - tables - sympy meshio + numpy + pyparsing pyvista + scipy + sympy + tables ]; - postPatch = '' - # slow tests - rm sfepy/tests/test_io.py - rm sfepy/tests/test_elasticity_small_strain.py - rm sfepy/tests/test_term_call_modes.py - rm sfepy/tests/test_refine_hanging.py - rm sfepy/tests/test_hyperelastic_tlul.py - rm sfepy/tests/test_poly_spaces.py - rm sfepy/tests/test_linear_solvers.py - rm sfepy/tests/test_quadratures.py - ''; + pythonRelaxDeps = [ + "numpy" + ]; - nativeCheckInputs = [ pytest ]; + nativeCheckInputs = [ + pytest + writableTmpDirAsHomeHook + ]; checkPhase = '' - export OMPI_MCA_plm_rsh_agent=${openssh}/bin/ssh - export HOME=$TMPDIR + runHook preCheck + + export OMPI_MCA_plm_rsh_agent=${lib.getExe openssh} mv sfepy sfepy.hidden mkdir -p $HOME/.matplotlib echo "backend: ps" > $HOME/.matplotlib/matplotlibrc ${python.interpreter} -c "import sfepy; sfepy.test()" + + runHook postCheck ''; meta = {