diff --git a/pkgs/development/python-modules/scikits-odes/default.nix b/pkgs/development/python-modules/scikits-odes/default.nix index f9695701602c..43da95710011 100644 --- a/pkgs/development/python-modules/scikits-odes/default.nix +++ b/pkgs/development/python-modules/scikits-odes/default.nix @@ -1,59 +1,42 @@ { lib, + stdenv, buildPythonPackage, - fetchPypi, - pythonAtLeast, - cython, - enum34, - gfortran, - isPy27, - isPy3k, - numpy, - pytest, - python, + setuptools, scipy, - sundials, + scikits-odes-core, + scikits-odes-daepack, + scikits-odes-sundials, + pytestCheckHook, }: buildPythonPackage rec { + inherit (scikits-odes-core) version src; pname = "scikits.odes"; - version = "2.7.0"; + pyproject = true; - # https://github.com/bmcage/odes/issues/130 - disabled = isPy27 || pythonAtLeast "3.12"; + sourceRoot = "${src.name}/packages/scikits-odes"; - src = fetchPypi { - inherit pname version; - hash = "sha256-px4Z4UhYk3VK6MBQZoIy/MaU8XuDYC51++v3v5+XXh4="; - }; + build-system = [ setuptools ]; - nativeBuildInputs = [ - gfortran - cython + dependencies = [ + scipy + scikits-odes-core + scikits-odes-daepack + scikits-odes-sundials ]; - propagatedBuildInputs = [ - numpy - sundials - scipy - ] ++ lib.optionals (!isPy3k) [ enum34 ]; + pythonImportsCheck = [ "scikits_odes" ]; - nativeCheckInputs = [ pytest ]; + nativeCheckInputs = [ pytestCheckHook ]; - checkPhase = '' - cd $out/${python.sitePackages}/scikits/odes/tests - pytest - ''; + disabledTests = lib.optionals stdenv.hostPlatform.isAarch64 [ + # skip on aarch64, see https://github.com/bmcage/odes/issues/101 + "test_lsodi" + ]; - meta = with lib; { + meta = scikits-odes-core.meta // { description = "Scikit offering extra ode/dae solvers, as an extension to what is available in scipy"; - homepage = "https://github.com/bmcage/odes"; - license = licenses.bsd3; - maintainers = with maintainers; [ idontgetoutmuch ]; - platforms = [ - "aarch64-linux" - "x86_64-linux" - "x86_64-darwin" - ]; + homepage = "https://github.com/bmcage/odes/blob/master/packages/scikits-odes"; }; }