From 59573a150243af7582b277e1c972d5f1e885bb48 Mon Sep 17 00:00:00 2001 From: Guilhem Saurel Date: Tue, 30 Jul 2024 17:01:26 +0200 Subject: [PATCH] trlib: init at 0.4 --- pkgs/by-name/tr/trlib/package.nix | 49 ++++++++++++++++++++++++++++++ pkgs/top-level/python-packages.nix | 2 ++ 2 files changed, 51 insertions(+) create mode 100644 pkgs/by-name/tr/trlib/package.nix diff --git a/pkgs/by-name/tr/trlib/package.nix b/pkgs/by-name/tr/trlib/package.nix new file mode 100644 index 000000000000..a3770293dd02 --- /dev/null +++ b/pkgs/by-name/tr/trlib/package.nix @@ -0,0 +1,49 @@ +{ + blas, + cmake, + fetchFromGitHub, + fetchpatch, + lib, + pythonSupport ? false, + python3Packages, + stdenv, +}: + +stdenv.mkDerivation (finalAttrs: { + pname = "trlib"; + version = "0.4"; + + src = fetchFromGitHub { + owner = "felixlen"; + repo = "trlib"; + rev = finalAttrs.version; + hash = "sha256-pD2MGsIQgMO4798Gp9oLprKhmV0lcjgtUHh1rvEjSIY="; + }; + + patches = [ + # update use of distutils + # This PR was merged upstream, so the patch can be removed on next release + (fetchpatch { + name = "python312-support.patch"; + url = "https://github.com/felixlen/trlib/pull/26/commits/6b72f3b2afebee4ae179bc760f93b16c60fd72d8.patch"; + hash = "sha256-+6iiALFhMSiE44kpkDrhwrYt4miHlPkiffRZAgsM1Jo="; + }) + ]; + + nativeBuildInputs = [ cmake ]; + buildInputs = + [ blas ] + ++ lib.optionals pythonSupport [ + python3Packages.cython + python3Packages.numpy + ]; + + cmakeFlags = [ (lib.cmakeBool "TRLIB_BUILD_PYTHON3" pythonSupport) ]; + + meta = { + description = "Trust Region Subproblem Solver Library"; + homepage = "https://github.com/felixlen/trlib"; + license = lib.licenses.mit; + maintainers = with lib.maintainers; [ nim65s ]; + }; +}) diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index df111bfad8e2..adbe8fa74186 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -15876,6 +15876,8 @@ self: super: with self; { tritonclient = callPackage ../development/python-modules/tritonclient { }; + trlib = toPythonModule (pkgs.trlib.override { pythonSupport = true; python3Packages = self;}); + troposphere = callPackage ../development/python-modules/troposphere { }; trove-classifiers = callPackage ../development/python-modules/trove-classifiers { };