From 7b04cae6c62506ad680279042dbde534f4394ae2 Mon Sep 17 00:00:00 2001 From: natsukium Date: Wed, 1 Jan 2025 12:01:30 +0900 Subject: [PATCH 1/4] python312Packages.scikits-odes-core: init at 3.1.0 --- .../scikits-odes-core/default.nix | 35 +++++++++++++++++++ pkgs/top-level/python-packages.nix | 2 ++ 2 files changed, 37 insertions(+) create mode 100644 pkgs/development/python-modules/scikits-odes-core/default.nix diff --git a/pkgs/development/python-modules/scikits-odes-core/default.nix b/pkgs/development/python-modules/scikits-odes-core/default.nix new file mode 100644 index 000000000000..2ad7ba3ff35e --- /dev/null +++ b/pkgs/development/python-modules/scikits-odes-core/default.nix @@ -0,0 +1,35 @@ +{ + lib, + buildPythonPackage, + fetchFromGitHub, + setuptools, +}: + +buildPythonPackage rec { + pname = "scikits-odes-core"; + version = "3.1.0"; + pyproject = true; + + src = fetchFromGitHub { + owner = "bmcage"; + repo = "odes"; + tag = "v${version}"; + hash = "sha256-wOdqRzj45piT9P+qA0xXBCnOZ9Xh+Waej2t51mDcilc="; + }; + + sourceRoot = "${src.name}/packages/scikits-odes-core"; + + build-system = [ setuptools ]; + + pythonImportsCheck = [ "scikits_odes_core" ]; + + # no tests + doCheck = false; + + meta = { + description = "Core support module for scikits-odes"; + homepage = "https://github.com/bmcage/odes/blob/master/packages/scikits-odes-core"; + license = lib.licenses.bsd3; + maintainers = with lib.maintainers; [ idontgetoutmuch ]; + }; +} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index acc79f773b74..a227ec80a193 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -14456,6 +14456,8 @@ self: super: with self; { scikits-odes = callPackage ../development/python-modules/scikits-odes { }; + scikits-odes-core = callPackage ../development/python-modules/scikits-odes-core { }; + scikit-tda = callPackage ../development/python-modules/scikit-tda { }; scipy = callPackage ../development/python-modules/scipy { }; From ade6b8dae63804e823bebdbc961cb657392f145a Mon Sep 17 00:00:00 2001 From: natsukium Date: Wed, 1 Jan 2025 12:10:32 +0900 Subject: [PATCH 2/4] python312Packages.scikits-odes-daepack: init at 3.1.0 --- .../scikits-odes-daepack/default.nix | 37 +++++++++++++++++++ pkgs/top-level/python-packages.nix | 2 + 2 files changed, 39 insertions(+) create mode 100644 pkgs/development/python-modules/scikits-odes-daepack/default.nix diff --git a/pkgs/development/python-modules/scikits-odes-daepack/default.nix b/pkgs/development/python-modules/scikits-odes-daepack/default.nix new file mode 100644 index 000000000000..228f1c007e7e --- /dev/null +++ b/pkgs/development/python-modules/scikits-odes-daepack/default.nix @@ -0,0 +1,37 @@ +{ + buildPythonPackage, + gfortran, + meson-python, + numpy, + scikits-odes-core, +}: + +buildPythonPackage rec { + inherit (scikits-odes-core) version src; + pname = "scikits-odes-daepack"; + pyproject = true; + + sourceRoot = "${src.name}/packages/scikits-odes-daepack"; + + build-system = [ + meson-python + numpy + ]; + + nativeBuildInputs = [ gfortran ]; + + dependencies = [ + numpy + scikits-odes-core + ]; + + pythonImportsCheck = [ "scikits_odes_daepack" ]; + + # no tests + doCheck = false; + + meta = scikits-odes-core.meta // { + description = "Wrapper around daepack"; + homepage = "https://github.com/bmcage/odes/blob/master/packages/scikits-odes-daepack"; + }; +} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index a227ec80a193..7e0697449bad 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -14458,6 +14458,8 @@ self: super: with self; { scikits-odes-core = callPackage ../development/python-modules/scikits-odes-core { }; + scikits-odes-daepack = callPackage ../development/python-modules/scikits-odes-daepack { }; + scikit-tda = callPackage ../development/python-modules/scikit-tda { }; scipy = callPackage ../development/python-modules/scipy { }; From 2f6cfef5fbe298ac699025421db0d61253d2b821 Mon Sep 17 00:00:00 2001 From: natsukium Date: Wed, 1 Jan 2025 12:24:02 +0900 Subject: [PATCH 3/4] python312Packages.scikits-odes-sundials: init at 3.1.0 --- .../scikits-odes-sundials/default.nix | 41 +++++++++++++++++++ pkgs/top-level/python-packages.nix | 2 + 2 files changed, 43 insertions(+) create mode 100644 pkgs/development/python-modules/scikits-odes-sundials/default.nix diff --git a/pkgs/development/python-modules/scikits-odes-sundials/default.nix b/pkgs/development/python-modules/scikits-odes-sundials/default.nix new file mode 100644 index 000000000000..42deba278c19 --- /dev/null +++ b/pkgs/development/python-modules/scikits-odes-sundials/default.nix @@ -0,0 +1,41 @@ +{ + buildPythonPackage, + sundials, + cython, + numpy, + pkgconfig, + setuptools, + scikits-odes-core, + pytestCheckHook, +}: + +buildPythonPackage rec { + inherit (scikits-odes-core) version src; + pname = "scikits-odes-sundials"; + pyproject = true; + + sourceRoot = "${src.name}/packages/scikits-odes-sundials"; + + build-system = [ + cython + numpy + pkgconfig + setuptools + ]; + + buildInputs = [ sundials ]; + + dependencies = [ + numpy + scikits-odes-core + ]; + + pythonImportsCheck = [ "scikits_odes_sundials" ]; + + nativeCheckInputs = [ pytestCheckHook ]; + + meta = scikits-odes-core.meta // { + description = "Sundials wrapper module for scikits-odes"; + homepage = "https://github.com/bmcage/odes/blob/master/packages/scikits-odes-sundials"; + }; +} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 7e0697449bad..69550a444fd5 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -14460,6 +14460,8 @@ self: super: with self; { scikits-odes-daepack = callPackage ../development/python-modules/scikits-odes-daepack { }; + scikits-odes-sundials = callPackage ../development/python-modules/scikits-odes-sundials { }; + scikit-tda = callPackage ../development/python-modules/scikit-tda { }; scipy = callPackage ../development/python-modules/scipy { }; From 122e9e824678d17d9a771f3acebe2f2c829c5d1c Mon Sep 17 00:00:00 2001 From: natsukium Date: Wed, 1 Jan 2025 11:52:27 +0900 Subject: [PATCH 4/4] python312Packages.scikits-odes: 2.7.0 -> 3.1.0 --- .../python-modules/scikits-odes/default.nix | 63 +++++++------------ 1 file changed, 23 insertions(+), 40 deletions(-) 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"; }; }