Message ID | 39e96e5e211c0a24b03057c4387cc791f2e23e86.1699110356.git.felgru@posteo.net |
---|---|
State | New |
Headers | show |
Series | [bug#66930] gnu: Add python-pyamg. | expand |
Hello, Em 04/11/2023 12:05, Felix Gruber escreveu: > * gnu/packages/python-science.scm (python-pyamg): New variable. > > Change-Id: Ibf39fecd14d4e6fd72078b217737e5e5cbbf2321 > --- > gnu/packages/python-science.scm | 36 +++++++++++++++++++++++++++++++++ > 1 file changed, 36 insertions(+) > > diff --git a/gnu/packages/python-science.scm b/gnu/packages/python-science.scm > index 4063797a30..1c2edda118 100644 > --- a/gnu/packages/python-science.scm > +++ b/gnu/packages/python-science.scm > @@ -387,6 +387,42 @@ (define-public python-trimesh > library.") > (license license:expat))) > > +(define-public python-pyamg > + (package > + (name "python-pyamg") > + (version "5.0.0") I saw that version 5.0.1 is out since Jul 3, 2023. Does it fail to build? > + (source (origin > + (method url-fetch) > + (uri (pypi-uri "pyamg" version)) > + (sha256 > + (base32 > + "0bm0cbqcj5zgs4k7djs5ga98pb95raxxdd674g744hv1iwi6gfga")))) > + (build-system pyproject-build-system) > + (propagated-inputs (list pybind11 python-numpy python-scipy)) Pybind11 is usually a native or normal input. Does it have to be propagated here? > + (native-inputs (list python-setuptools-scm python-pytest)) > + (arguments > + (list > + #:test-flags > + ;; Test installed package in order to find C++ modules. > + #~(list "--pyargs" "pyamg.tests"))) > + (home-page "https://github.com/pyamg/pyamg") > + (synopsis "Algebraic Multigrid Solvers in Python") > + (description "PyAMG is a Python library of Algebraic Multigrid > +(AMG) solvers. > + > +PyAMG features implementations of: Nitpick: to avoid repeating "PyAMG", you can say "It" in the second paragraph and join with the first. > +@itemize > +@item Ruge-Stuben (RS) or Classical AMG > +@item AMG based on Smoothed Aggregation (SA) > +@item Adaptive Smoothed Aggregation (αSA) > +@item Compatible Relaxation (CR) > +@item Krylov methods such as CG, GMRES, FGMRES, BiCGStab, MINRES, etc. > +@end itemize > +PyAMG is primarily written in Python with supporting C++ code for > +performance critical operations. > +") Implementation details like in this last sentence about languages and performance should be transparent to the user and can be omitted. > + (license license:expat))) > + > (define-public python-tspex > (package > (name "python-tspex") > > base-commit: 9dcd8802f5bc472579f23a38dcf437f8a9ac976c I also noticed that amg_core contains cpp files generated by the pyamg/amg_core/bindthem.py script. I'd suggest to grep 'DO NOT EDIT' on that directory to find the files, delete them in a snippet and rerun the bindthem.py script in a new phase after unpacking. Thanks, Vinicius
I've apply changes to the patch: - updated to the latest upstream version 5.0.1 - move propagated and native inputs after arguments - move pybind11 to native-inputs --8<---------------cut here---------------start------------->8--- @@ -460,21 +460,21 @@ (define-public python-meshzoo (define-public python-pyamg (package (name "python-pyamg") - (version "5.0.0") + (version "5.0.1") (source (origin (method url-fetch) (uri (pypi-uri "pyamg" version)) (sha256 (base32 - "0bm0cbqcj5zgs4k7djs5ga98pb95raxxdd674g744hv1iwi6gfga")))) + "0l3dliwynxyjvbgpmi2k8jqvkkw6fc00c8w69h6swhrkfh0ql12z")))) (build-system pyproject-build-system) - (propagated-inputs (list pybind11 python-numpy python-scipy)) - (native-inputs (list python-setuptools-scm python-pytest)) (arguments (list #:test-flags ;; Test installed package in order to find C++ modules. #~(list "--pyargs" "pyamg.tests"))) + (native-inputs (list pybind11 python-pytest python-setuptools-scm)) + (propagated-inputs (list python-numpy python-scipy)) (home-page "https://github.com/pyamg/pyamg") (synopsis "Algebraic Multigrid Solvers in Python") (description "PyAMG is a Python library of Algebraic Multigrid @@ -489,8 +489,7 @@ (define-public python-pyamg @item Krylov methods such as CG, GMRES, FGMRES, BiCGStab, MINRES, etc. @end itemize PyAMG is primarily written in Python with supporting C++ code for -performance critical operations. -") +performance critical operations.") (license license:expat))) (define-public python-tspex --8<---------------cut here---------------end--------------->8--- Pushe as 5f93aa182a32e4baecc6238c21d2538af0b18ad3 Thanks, Oleg
diff --git a/gnu/packages/python-science.scm b/gnu/packages/python-science.scm index 4063797a30..1c2edda118 100644 --- a/gnu/packages/python-science.scm +++ b/gnu/packages/python-science.scm @@ -387,6 +387,42 @@ (define-public python-trimesh library.") (license license:expat))) +(define-public python-pyamg + (package + (name "python-pyamg") + (version "5.0.0") + (source (origin + (method url-fetch) + (uri (pypi-uri "pyamg" version)) + (sha256 + (base32 + "0bm0cbqcj5zgs4k7djs5ga98pb95raxxdd674g744hv1iwi6gfga")))) + (build-system pyproject-build-system) + (propagated-inputs (list pybind11 python-numpy python-scipy)) + (native-inputs (list python-setuptools-scm python-pytest)) + (arguments + (list + #:test-flags + ;; Test installed package in order to find C++ modules. + #~(list "--pyargs" "pyamg.tests"))) + (home-page "https://github.com/pyamg/pyamg") + (synopsis "Algebraic Multigrid Solvers in Python") + (description "PyAMG is a Python library of Algebraic Multigrid +(AMG) solvers. + +PyAMG features implementations of: +@itemize +@item Ruge-Stuben (RS) or Classical AMG +@item AMG based on Smoothed Aggregation (SA) +@item Adaptive Smoothed Aggregation (αSA) +@item Compatible Relaxation (CR) +@item Krylov methods such as CG, GMRES, FGMRES, BiCGStab, MINRES, etc. +@end itemize +PyAMG is primarily written in Python with supporting C++ code for +performance critical operations. +") + (license license:expat))) + (define-public python-tspex (package (name "python-tspex")