* [bug#68650] [PATCH 0/2] gnu: python-pyamg: Regenerate bundled files.
@ 2024-01-21 22:36 Sharlatan Hellseher
2024-01-21 22:40 ` [bug#68650] [PATCH 1/2] gnu: Add python-cppheaderparser Sharlatan Hellseher
` (3 more replies)
0 siblings, 4 replies; 6+ messages in thread
From: Sharlatan Hellseher @ 2024-01-21 22:36 UTC (permalink / raw)
To: 68650
Cc: Sharlatan Hellseher, Lars-Dominik Braun, Marius Bakke,
Munyoki Kilyungi, Sharlatan Hellseher, jgart
Hi Guix,
It's follow up patch series to cover review suggestion pointed by Vinicius in
https://issues.guix.gnu.org/66930.
Sharlatan Hellseher (2):
gnu: Add python-cppheaderparser.
gnu: python-pyamg: Regenerate bundled files.
gnu/packages/python-science.scm | 50 +++++++++++++++++++++++++++------
gnu/packages/python-xyz.scm | 25 ++++++++++++++++-
2 files changed, 65 insertions(+), 10 deletions(-)
base-commit: d3c3922a8f5d50855165941e19a204d32469006f
--
2.41.0
^ permalink raw reply [flat|nested] 6+ messages in thread
* [bug#68650] [PATCH 1/2] gnu: Add python-cppheaderparser.
2024-01-21 22:36 [bug#68650] [PATCH 0/2] gnu: python-pyamg: Regenerate bundled files Sharlatan Hellseher
@ 2024-01-21 22:40 ` Sharlatan Hellseher
2024-01-21 22:40 ` [bug#68650] [PATCH 2/2] gnu: python-pyamg: Regenerate bundled files Sharlatan Hellseher
` (2 subsequent siblings)
3 siblings, 0 replies; 6+ messages in thread
From: Sharlatan Hellseher @ 2024-01-21 22:40 UTC (permalink / raw)
To: 68650
Cc: Sharlatan Hellseher, Lars-Dominik Braun, Marius Bakke,
Munyoki Kilyungi, Sharlatan Hellseher, jgart
* gnu/packages/python-xyz.scm (python-cppheaderparser): New variable.
Change-Id: I3c57c31a0b63212e43e1ab387b5d329c04ed0e31
---
gnu/packages/python-xyz.scm | 25 ++++++++++++++++++++++++-
1 file changed, 24 insertions(+), 1 deletion(-)
diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index b23108fbf4..93e7571f78 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -94,7 +94,7 @@
;;; Copyright © 2020, 2021 Zheng Junjie <873216071@qq.com>
;;; Copyright © 2020 EuAndreh <eu@euandre.org>
;;; Copyright © 2021, 2022 Morgan Smith <Morgan.J.Smith@outlook.com>
-;;; Copyright © 2021-2023 Sharlatan Hellseher <sharlatanus@gmail.com>
+;;; Copyright © 2021-2024 Sharlatan Hellseher <sharlatanus@gmail.com>
;;; Copyright © 2021 Ellis Kenyő <me@elken.dev>
;;; Copyright © 2021 LibreMiami <packaging-guix@libremiami.org>
;;; Copyright © 2021 Xinglu Chen <public@yoctocell.xyz>
@@ -8810,6 +8810,29 @@ (define-public python-cplot
complex-valued functions.")
(license license:gpl3+)))
+(define-public python-cppheaderparser
+ (package
+ (name "python-cppheaderparser")
+ (version "2.7.4")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "CppHeaderParser" version))
+ (sha256
+ (base32 "0hncwd9y5ayk8wa6bqhp551mcamcvh84h89ba3labc4mdm0k0arq"))))
+ (build-system pyproject-build-system)
+ (arguments
+ (list
+ #:tests? #f)) ;test suite not included in the release
+ (propagated-inputs (list python-ply))
+ (home-page "http://senexcanis.com/open-source/cppheaderparser/")
+ (synopsis
+ "Parse C++ header files and generate a data structure representing the class")
+ (description
+ "CppHeaderParser is a pure python module that will parse C++ header files
+and generate a data structure representing the class.")
+ (license license:bsd-3)))
+
(define-public python-cppy
(package
(name "python-cppy")
--
2.41.0
^ permalink raw reply related [flat|nested] 6+ messages in thread
* [bug#68650] [PATCH 2/2] gnu: python-pyamg: Regenerate bundled files.
2024-01-21 22:36 [bug#68650] [PATCH 0/2] gnu: python-pyamg: Regenerate bundled files Sharlatan Hellseher
2024-01-21 22:40 ` [bug#68650] [PATCH 1/2] gnu: Add python-cppheaderparser Sharlatan Hellseher
@ 2024-01-21 22:40 ` Sharlatan Hellseher
2024-01-23 10:31 ` [bug#68650] [PATCH v2 1/2] gnu: Add python-cppheaderparser Sharlatan Hellseher
2024-01-28 23:11 ` bug#68650: [PATCH 0/2] " Sharlatan Hellseher
3 siblings, 0 replies; 6+ messages in thread
From: Sharlatan Hellseher @ 2024-01-21 22:40 UTC (permalink / raw)
To: 68650
Cc: Sharlatan Hellseher, Lars-Dominik Braun, Marius Bakke,
Munyoki Kilyungi, Sharlatan Hellseher, jgart
* gnu/packages/python-science.scm (python-pyamg)[source]: Delete
auto-generated files.
[arguments]<#:phases>: Add 'amg-core-bind-them phase to
re-generate *_bind.cpp files deleted in snippet.
[desciption]: Improve style, commit implementation details.
Change-Id: I6f68914cd912e6f4592e51c21b129847e73be847
---
gnu/packages/python-science.scm | 50 +++++++++++++++++++++++++++------
1 file changed, 41 insertions(+), 9 deletions(-)
diff --git a/gnu/packages/python-science.scm b/gnu/packages/python-science.scm
index c1be6cde23..4183bd2ea2 100644
--- a/gnu/packages/python-science.scm
+++ b/gnu/packages/python-science.scm
@@ -465,32 +465,64 @@ (define-public python-pyamg
(source (origin
(method url-fetch)
(uri (pypi-uri "pyamg" version))
+ (modules '((guix build utils)))
+ (snippet
+ ;; Delete autogenerated files, regenerate in a phase.
+ #~(begin
+ (for-each
+ (lambda (file)
+ (delete-file (string-append "pyamg/amg_core/" file)))
+ '("air_bind.cpp"
+ "evolution_strength_bind.cpp"
+ "graph_bind.cpp"
+ "krylov_bind.cpp"
+ "linalg_bind.cpp"
+ "relaxation_bind.cpp"
+ "ruge_stuben_bind.cpp"
+ "smoothed_aggregation_bind.cpp"
+ "tests/bind_examples_bind.cpp"))))
(sha256
(base32
"0l3dliwynxyjvbgpmi2k8jqvkkw6fc00c8w69h6swhrkfh0ql12z"))))
- (build-system pyproject-build-system)
(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))
+ #~(list "--pyargs" "pyamg.tests")
+ #:phases
+ #~(modify-phases %standard-phases
+ ;; Regenerate the autogenerated files.
+ (add-after 'unpack 'amg-core-bind-them
+ (lambda _
+ ;; bindthem.py heavily depends on location to produce *_bind.cpp
+ ;; file, make it available in tests as well.
+ (copy-file "pyamg/amg_core/bindthem.py"
+ "pyamg/amg_core/tests/bindthem.py")
+ (with-directory-excursion "pyamg/amg_core"
+ (substitute* "bindthem.py"
+ (("/usr/bin/env python3") (which "python3")))
+ (invoke "sh" "generate.sh"))
+ (with-directory-excursion "pyamg/amg_core/tests"
+ (invoke "python" "bindthem.py" "bind_examples.h")))))))
+ (build-system pyproject-build-system)
+ (native-inputs
+ (list pybind11
+ python-cppheaderparser
+ python-pytest
+ python-pyyaml
+ 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
-(AMG) solvers.
-
-PyAMG features implementations of:
+(AMG) solvers. It 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.")
+@end itemize")
(license license:expat)))
(define-public python-tspex
--
2.41.0
^ permalink raw reply related [flat|nested] 6+ messages in thread
* [bug#68650] [PATCH v2 1/2] gnu: Add python-cppheaderparser.
2024-01-21 22:36 [bug#68650] [PATCH 0/2] gnu: python-pyamg: Regenerate bundled files Sharlatan Hellseher
2024-01-21 22:40 ` [bug#68650] [PATCH 1/2] gnu: Add python-cppheaderparser Sharlatan Hellseher
2024-01-21 22:40 ` [bug#68650] [PATCH 2/2] gnu: python-pyamg: Regenerate bundled files Sharlatan Hellseher
@ 2024-01-23 10:31 ` Sharlatan Hellseher
2024-01-23 10:31 ` [bug#68650] [PATCH v2 2/2] gnu: python-pyamg: Regenerate bundled files Sharlatan Hellseher
2024-01-28 23:11 ` bug#68650: [PATCH 0/2] " Sharlatan Hellseher
3 siblings, 1 reply; 6+ messages in thread
From: Sharlatan Hellseher @ 2024-01-23 10:31 UTC (permalink / raw)
To: 68650
Cc: Sharlatan Hellseher, Lars-Dominik Braun, Marius Bakke,
Munyoki Kilyungi, Sharlatan Hellseher, jgart
* gnu/packages/python-xyz.scm (python-cppheaderparser): New variable.
Change-Id: I3c57c31a0b63212e43e1ab387b5d329c04ed0e31
---
gnu/packages/python-xyz.scm | 25 ++++++++++++++++++++++++-
1 file changed, 24 insertions(+), 1 deletion(-)
diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index b23108fbf4..93e7571f78 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -94,7 +94,7 @@
;;; Copyright © 2020, 2021 Zheng Junjie <873216071@qq.com>
;;; Copyright © 2020 EuAndreh <eu@euandre.org>
;;; Copyright © 2021, 2022 Morgan Smith <Morgan.J.Smith@outlook.com>
-;;; Copyright © 2021-2023 Sharlatan Hellseher <sharlatanus@gmail.com>
+;;; Copyright © 2021-2024 Sharlatan Hellseher <sharlatanus@gmail.com>
;;; Copyright © 2021 Ellis Kenyő <me@elken.dev>
;;; Copyright © 2021 LibreMiami <packaging-guix@libremiami.org>
;;; Copyright © 2021 Xinglu Chen <public@yoctocell.xyz>
@@ -8810,6 +8810,29 @@ (define-public python-cplot
complex-valued functions.")
(license license:gpl3+)))
+(define-public python-cppheaderparser
+ (package
+ (name "python-cppheaderparser")
+ (version "2.7.4")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "CppHeaderParser" version))
+ (sha256
+ (base32 "0hncwd9y5ayk8wa6bqhp551mcamcvh84h89ba3labc4mdm0k0arq"))))
+ (build-system pyproject-build-system)
+ (arguments
+ (list
+ #:tests? #f)) ;test suite not included in the release
+ (propagated-inputs (list python-ply))
+ (home-page "http://senexcanis.com/open-source/cppheaderparser/")
+ (synopsis
+ "Parse C++ header files and generate a data structure representing the class")
+ (description
+ "CppHeaderParser is a pure python module that will parse C++ header files
+and generate a data structure representing the class.")
+ (license license:bsd-3)))
+
(define-public python-cppy
(package
(name "python-cppy")
base-commit: ffc5fefce370f5fc01091869e13fdf525be1e0c0
--
2.41.0
^ permalink raw reply related [flat|nested] 6+ messages in thread
* [bug#68650] [PATCH v2 2/2] gnu: python-pyamg: Regenerate bundled files.
2024-01-23 10:31 ` [bug#68650] [PATCH v2 1/2] gnu: Add python-cppheaderparser Sharlatan Hellseher
@ 2024-01-23 10:31 ` Sharlatan Hellseher
0 siblings, 0 replies; 6+ messages in thread
From: Sharlatan Hellseher @ 2024-01-23 10:31 UTC (permalink / raw)
To: 68650
Cc: Sharlatan Hellseher, Lars-Dominik Braun, Marius Bakke,
Munyoki Kilyungi, Sharlatan Hellseher, jgart
* gnu/packages/python-science.scm (python-pyamg)[source]: Delete
auto-generated files.
[arguments]<#:phases>: Add 'amg-core-bind-them phase to
re-generate *_bind.cpp files deleted in snippet.
[native-inputs]: Add python-cppheaderparser and python-pyyaml.
[description]: Improve style, omit implementation details.
Change-Id: I6f68914cd912e6f4592e51c21b129847e73be847
---
gnu/packages/python-science.scm | 50 +++++++++++++++++++++++++++------
1 file changed, 41 insertions(+), 9 deletions(-)
diff --git a/gnu/packages/python-science.scm b/gnu/packages/python-science.scm
index c1be6cde23..4183bd2ea2 100644
--- a/gnu/packages/python-science.scm
+++ b/gnu/packages/python-science.scm
@@ -465,32 +465,64 @@ (define-public python-pyamg
(source (origin
(method url-fetch)
(uri (pypi-uri "pyamg" version))
+ (modules '((guix build utils)))
+ (snippet
+ ;; Delete autogenerated files, regenerate in a phase.
+ #~(begin
+ (for-each
+ (lambda (file)
+ (delete-file (string-append "pyamg/amg_core/" file)))
+ '("air_bind.cpp"
+ "evolution_strength_bind.cpp"
+ "graph_bind.cpp"
+ "krylov_bind.cpp"
+ "linalg_bind.cpp"
+ "relaxation_bind.cpp"
+ "ruge_stuben_bind.cpp"
+ "smoothed_aggregation_bind.cpp"
+ "tests/bind_examples_bind.cpp"))))
(sha256
(base32
"0l3dliwynxyjvbgpmi2k8jqvkkw6fc00c8w69h6swhrkfh0ql12z"))))
- (build-system pyproject-build-system)
(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))
+ #~(list "--pyargs" "pyamg.tests")
+ #:phases
+ #~(modify-phases %standard-phases
+ ;; Regenerate the autogenerated files.
+ (add-after 'unpack 'amg-core-bind-them
+ (lambda _
+ ;; bindthem.py heavily depends on location to produce *_bind.cpp
+ ;; file, make it available in tests as well.
+ (copy-file "pyamg/amg_core/bindthem.py"
+ "pyamg/amg_core/tests/bindthem.py")
+ (with-directory-excursion "pyamg/amg_core"
+ (substitute* "bindthem.py"
+ (("/usr/bin/env python3") (which "python3")))
+ (invoke "sh" "generate.sh"))
+ (with-directory-excursion "pyamg/amg_core/tests"
+ (invoke "python" "bindthem.py" "bind_examples.h")))))))
+ (build-system pyproject-build-system)
+ (native-inputs
+ (list pybind11
+ python-cppheaderparser
+ python-pytest
+ python-pyyaml
+ 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
-(AMG) solvers.
-
-PyAMG features implementations of:
+(AMG) solvers. It 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.")
+@end itemize")
(license license:expat)))
(define-public python-tspex
--
2.41.0
^ permalink raw reply related [flat|nested] 6+ messages in thread
* bug#68650: [PATCH 0/2] gnu: python-pyamg: Regenerate bundled files.
2024-01-21 22:36 [bug#68650] [PATCH 0/2] gnu: python-pyamg: Regenerate bundled files Sharlatan Hellseher
` (2 preceding siblings ...)
2024-01-23 10:31 ` [bug#68650] [PATCH v2 1/2] gnu: Add python-cppheaderparser Sharlatan Hellseher
@ 2024-01-28 23:11 ` Sharlatan Hellseher
3 siblings, 0 replies; 6+ messages in thread
From: Sharlatan Hellseher @ 2024-01-28 23:11 UTC (permalink / raw)
To: 68650-done
[-- Attachment #1: Type: text/plain, Size: 60 bytes --]
Pushed as ae77d94839...77a07a968f to master.
Thanks,
Oleg
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 832 bytes --]
^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2024-01-28 23:12 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-01-21 22:36 [bug#68650] [PATCH 0/2] gnu: python-pyamg: Regenerate bundled files Sharlatan Hellseher
2024-01-21 22:40 ` [bug#68650] [PATCH 1/2] gnu: Add python-cppheaderparser Sharlatan Hellseher
2024-01-21 22:40 ` [bug#68650] [PATCH 2/2] gnu: python-pyamg: Regenerate bundled files Sharlatan Hellseher
2024-01-23 10:31 ` [bug#68650] [PATCH v2 1/2] gnu: Add python-cppheaderparser Sharlatan Hellseher
2024-01-23 10:31 ` [bug#68650] [PATCH v2 2/2] gnu: python-pyamg: Regenerate bundled files Sharlatan Hellseher
2024-01-28 23:11 ` bug#68650: [PATCH 0/2] " Sharlatan Hellseher
Code repositories for project(s) associated with this public inbox
https://git.savannah.gnu.org/cgit/guix.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).