all messages for Guix-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
* [bug#65096] [PATCH 00/10] And OpenTURNS and some math libraries.
@ 2023-08-05 13:28 Vinicius Monego
  2023-08-05 13:31 ` [bug#65096] [PATCH 01/10] gnu: Add hmat Vinicius Monego
                   ` (2 more replies)
  0 siblings, 3 replies; 14+ messages in thread
From: Vinicius Monego @ 2023-08-05 13:28 UTC (permalink / raw)
  To: 65096; +Cc: Vinicius Monego

Hi Guix,

OpenTURNS is a library of numerical tools for uncertainty quantification. I had to skip some of its tests (see test notes in the package).

Vinicius Monego (10):
  gnu: Add hmat.
  gnu: Add primesieve.
  gnu: Add cminpack.
  gnu: Add bonmin.
  gnu: Add pagmo2.
  gnu: Add spectra.
  gnu: ceres: Propagate eigen and gflags.
  gnu: Add python-numpoly.
  gnu: Add python-chaospy.
  gnu: Add python-openturns.

 gnu/packages/algebra.scm        |  34 ++++++++
 gnu/packages/maths.scm          | 141 +++++++++++++++++++++++++++++---
 gnu/packages/python-science.scm |  22 +++++
 gnu/packages/statistics.scm     | 119 +++++++++++++++++++++++++++
 4 files changed, 306 insertions(+), 10 deletions(-)

-- 
2.34.1





^ permalink raw reply	[flat|nested] 14+ messages in thread

* [bug#65096] [PATCH 01/10] gnu: Add hmat.
  2023-08-05 13:28 [bug#65096] [PATCH 00/10] And OpenTURNS and some math libraries Vinicius Monego
@ 2023-08-05 13:31 ` Vinicius Monego
  2023-08-05 13:31   ` [bug#65096] [PATCH 02/10] gnu: Add primesieve Vinicius Monego
                     ` (8 more replies)
  2023-09-05 14:25 ` [bug#65096] [PATCH 00/10] And OpenTURNS and some math libraries Maxim Cournoyer
  2023-10-03 11:01 ` bug#65096: " Vinicius Monego
  2 siblings, 9 replies; 14+ messages in thread
From: Vinicius Monego @ 2023-08-05 13:31 UTC (permalink / raw)
  To: 65096; +Cc: Vinicius Monego

* gnu/packages/maths.scm (hmat): New variable.
---
 gnu/packages/maths.scm | 24 ++++++++++++++++++++++++
 1 file changed, 24 insertions(+)

diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm
index 0d74a2a55c..7784268453 100644
--- a/gnu/packages/maths.scm
+++ b/gnu/packages/maths.scm
@@ -1293,6 +1293,30 @@ (define-public gnuplot
     (license (license:fsf-free
               "http://gnuplot.cvs.sourceforge.net/gnuplot/gnuplot/Copyright"))))
 
+(define-public hmat
+  (package
+    (name "hmat")
+    (version "1.8.1")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/jeromerobert/hmat-oss")
+                    (commit version)))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "1vxrly6qcnry73p9297jkkixs1rrzy4wh6y35p7jy1dnx90m599p"))))
+    (build-system cmake-build-system)
+    (arguments
+     ;; Examples are the tests.
+     (list #:configure-flags #~(list "-DBUILD_EXAMPLES=ON")))
+    (inputs (list openblas))
+    (home-page "https://github.com/jeromerobert/hmat-oss")
+    (synopsis "Hierarchical matrix library")
+    (description "@code{hmat-oss} is hierarchical matrix library written in
+C++ with a C API.  It contains a LU and LLt solver, and a few other things.")
+    (license license:gpl2+)))
+
 (define-public gctp
   (package
     (name "gctp")
-- 
2.34.1





^ permalink raw reply related	[flat|nested] 14+ messages in thread

* [bug#65096] [PATCH 02/10] gnu: Add primesieve.
  2023-08-05 13:31 ` [bug#65096] [PATCH 01/10] gnu: Add hmat Vinicius Monego
@ 2023-08-05 13:31   ` Vinicius Monego
  2023-08-05 13:31   ` [bug#65096] [PATCH 03/10] gnu: Add cminpack Vinicius Monego
                     ` (7 subsequent siblings)
  8 siblings, 0 replies; 14+ messages in thread
From: Vinicius Monego @ 2023-08-05 13:31 UTC (permalink / raw)
  To: 65096; +Cc: Vinicius Monego

* gnu/packages/maths.scm (primesieve): New variable.
---
 gnu/packages/maths.scm | 27 +++++++++++++++++++++++++++
 1 file changed, 27 insertions(+)

diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm
index 7784268453..ed5c766c25 100644
--- a/gnu/packages/maths.scm
+++ b/gnu/packages/maths.scm
@@ -1317,6 +1317,33 @@ (define-public hmat
 C++ with a C API.  It contains a LU and LLt solver, and a few other things.")
     (license license:gpl2+)))
 
+(define-public primesieve
+  (package
+    (name "primesieve")
+    (version "11.1")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/kimwalisch/primesieve")
+                    (commit (string-append "v" version))))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "0ja3kxvpya7bwrib40hnyahsiiiavf65ppk7i7afvc093b7gg9bg"))))
+    (build-system cmake-build-system)
+    (arguments
+     (list #:configure-flags #~(list "-DBUILD_STATIC_LIBS=off"
+                                     "-DBUILD_TESTS=ON")))
+    (home-page "https://github.com/kimwalisch/primesieve")
+    (synopsis "Prime number generator")
+    (description "@code{primesieve} is a command-line program and C/C++
+ library for quickly generating prime numbers.  It is very cache efficient,
+ it detects your CPU's L1 & L2 cache sizes and allocates its main data
+ structures accordingly.  It is also multi-threaded by default, it uses all
+ available CPU cores whenever possible i.e. if sequential ordering is not
+ required. primesieve can generate primes and prime k-tuplets up to 264.")
+    (license license:bsd-2)))
+
 (define-public gctp
   (package
     (name "gctp")
-- 
2.34.1





^ permalink raw reply related	[flat|nested] 14+ messages in thread

* [bug#65096] [PATCH 03/10] gnu: Add cminpack.
  2023-08-05 13:31 ` [bug#65096] [PATCH 01/10] gnu: Add hmat Vinicius Monego
  2023-08-05 13:31   ` [bug#65096] [PATCH 02/10] gnu: Add primesieve Vinicius Monego
@ 2023-08-05 13:31   ` Vinicius Monego
  2023-08-05 13:31   ` [bug#65096] [PATCH 04/10] gnu: Add bonmin Vinicius Monego
                     ` (6 subsequent siblings)
  8 siblings, 0 replies; 14+ messages in thread
From: Vinicius Monego @ 2023-08-05 13:31 UTC (permalink / raw)
  To: 65096; +Cc: Vinicius Monego

* gnu/packages/maths.scm (cminpack): New variable.
---
 gnu/packages/maths.scm | 25 +++++++++++++++++++++++++
 1 file changed, 25 insertions(+)

diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm
index ed5c766c25..062498375d 100644
--- a/gnu/packages/maths.scm
+++ b/gnu/packages/maths.scm
@@ -1344,6 +1344,31 @@ (define-public primesieve
  required. primesieve can generate primes and prime k-tuplets up to 264.")
     (license license:bsd-2)))
 
+(define-public cminpack
+  (package
+    (name "cminpack")
+    (version "1.3.8")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/devernay/cminpack")
+                    (commit (string-append "v" version))))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "1bg0954mwry22izsvikpai16pkfp8srz4z34n267bhkmrvvb0zgy"))))
+    (build-system cmake-build-system)
+    (arguments
+     (list #:configure-flags #~(list "-DBUILD_SHARED_LIBS=ON")))
+    (home-page "https://github.com/devernay/cminpack")
+    (synopsis "C/C++ rewrite of the MINPACK software")
+    (description
+     "This is a C version of the minpack minimization package.  It has been
+derived from the fortran code using f2c and some limited manual editing.
+Extern C linkage permits the package routines to be called from C++.")
+    (license (license:non-copyleft ; original minpack license
+              "https://github.com/certik/minpack/blob/master/LICENSE"))))
+
 (define-public gctp
   (package
     (name "gctp")
-- 
2.34.1





^ permalink raw reply related	[flat|nested] 14+ messages in thread

* [bug#65096] [PATCH 04/10] gnu: Add bonmin.
  2023-08-05 13:31 ` [bug#65096] [PATCH 01/10] gnu: Add hmat Vinicius Monego
  2023-08-05 13:31   ` [bug#65096] [PATCH 02/10] gnu: Add primesieve Vinicius Monego
  2023-08-05 13:31   ` [bug#65096] [PATCH 03/10] gnu: Add cminpack Vinicius Monego
@ 2023-08-05 13:31   ` Vinicius Monego
  2023-08-05 13:31   ` [bug#65096] [PATCH 05/10] gnu: Add pagmo2 Vinicius Monego
                     ` (5 subsequent siblings)
  8 siblings, 0 replies; 14+ messages in thread
From: Vinicius Monego @ 2023-08-05 13:31 UTC (permalink / raw)
  To: 65096; +Cc: Vinicius Monego

* gnu/packages/maths.scm (bonmin): New variable.
---
 gnu/packages/maths.scm | 22 ++++++++++++++++++++++
 1 file changed, 22 insertions(+)

diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm
index 062498375d..c02ba2570e 100644
--- a/gnu/packages/maths.scm
+++ b/gnu/packages/maths.scm
@@ -1369,6 +1369,28 @@ (define-public cminpack
     (license (license:non-copyleft ; original minpack license
               "https://github.com/certik/minpack/blob/master/LICENSE"))))
 
+(define-public bonmin
+  (package
+    (name "bonmin")
+    (version "1.8.9")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/coin-or/Bonmin")
+                    (commit (string-append "releases/" version))))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "153kj4wx386609g21hw3cv5yxps62qqrc64zwb9ryd2xad1w1a4y"))))
+    (build-system gnu-build-system)
+    (native-inputs (list gfortran pkg-config))
+    (inputs (list cbc ipopt lapack))
+    (home-page "https://coin-or.github.io/Bonmin/")
+    (synopsis "Basic Open-source Nonlinear Mixed INteger programming")
+    (description "Bonmin is a code for solving general MINLP (Mixed Integer
+NonLinear Programming) problems.  It builds on top of Cbc and Ipopt.")
+    (license license:epl1.0)))
+
 (define-public gctp
   (package
     (name "gctp")
-- 
2.34.1





^ permalink raw reply related	[flat|nested] 14+ messages in thread

* [bug#65096] [PATCH 05/10] gnu: Add pagmo2.
  2023-08-05 13:31 ` [bug#65096] [PATCH 01/10] gnu: Add hmat Vinicius Monego
                     ` (2 preceding siblings ...)
  2023-08-05 13:31   ` [bug#65096] [PATCH 04/10] gnu: Add bonmin Vinicius Monego
@ 2023-08-05 13:31   ` Vinicius Monego
  2023-08-05 13:31   ` [bug#65096] [PATCH 06/10] gnu: Add spectra Vinicius Monego
                     ` (4 subsequent siblings)
  8 siblings, 0 replies; 14+ messages in thread
From: Vinicius Monego @ 2023-08-05 13:31 UTC (permalink / raw)
  To: 65096; +Cc: Vinicius Monego

* gnu/packages/maths.scm (pagmo2): New variable.
---
 gnu/packages/maths.scm | 29 +++++++++++++++++++++++++++++
 1 file changed, 29 insertions(+)

diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm
index c02ba2570e..7accf87baf 100644
--- a/gnu/packages/maths.scm
+++ b/gnu/packages/maths.scm
@@ -1391,6 +1391,35 @@ (define-public bonmin
 NonLinear Programming) problems.  It builds on top of Cbc and Ipopt.")
     (license license:epl1.0)))
 
+(define-public pagmo2
+  (package
+    (name "pagmo2")
+    (version "2.19.0")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/esa/pagmo2")
+                    (commit (string-append "v" version))))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "0g0j0k0cwp8kyyggj80s5cd24bl6gqmf6f5g7j2axswr2bdj16fg"))))
+    (build-system cmake-build-system)
+    (arguments
+     (list #:configure-flags #~(list "-DPAGMO_BUILD_TESTS=ON"
+                                     "-DPAGMO_WITH_EIGEN3=ON")))
+    ;; Eigen is optional, enables some extra features.
+    (inputs (list boost eigen tbb))
+    (home-page "https://github.com/esa/pagmo2")
+    (synopsis
+     "Platform to perform parallel computations of optimisation tasks")
+    (description "@code{pagmo} is a C++ scientific library for massively
+parallel optimization.  It is built around the idea of providing a unified
+interface to optimization algorithms and to optimization problems and to make
+their deployment in massively parallel environments easy.")
+    ;; Dual licensed, user choice.
+    (license (list license:lgpl3+ license:gpl3+))))
+
 (define-public gctp
   (package
     (name "gctp")
-- 
2.34.1





^ permalink raw reply related	[flat|nested] 14+ messages in thread

* [bug#65096] [PATCH 06/10] gnu: Add spectra.
  2023-08-05 13:31 ` [bug#65096] [PATCH 01/10] gnu: Add hmat Vinicius Monego
                     ` (3 preceding siblings ...)
  2023-08-05 13:31   ` [bug#65096] [PATCH 05/10] gnu: Add pagmo2 Vinicius Monego
@ 2023-08-05 13:31   ` Vinicius Monego
  2023-08-05 13:31   ` [bug#65096] [PATCH 07/10] gnu: ceres: Propagate eigen and gflags Vinicius Monego
                     ` (3 subsequent siblings)
  8 siblings, 0 replies; 14+ messages in thread
From: Vinicius Monego @ 2023-08-05 13:31 UTC (permalink / raw)
  To: 65096; +Cc: Vinicius Monego

* gnu/packages/algebra.scm (spectra): New variable.
---
 gnu/packages/algebra.scm | 34 ++++++++++++++++++++++++++++++++++
 1 file changed, 34 insertions(+)

diff --git a/gnu/packages/algebra.scm b/gnu/packages/algebra.scm
index a717750c7b..20a3d403b1 100644
--- a/gnu/packages/algebra.scm
+++ b/gnu/packages/algebra.scm
@@ -1398,6 +1398,40 @@ (define-public gap
     ;; safe side, we drop them for now.
     (license license:gpl2+)))
 
+(define-public spectra
+  (package
+    (name "spectra")
+    (version "1.0.1")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/yixuan/spectra")
+                    (commit (string-append "v" version))))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "1krgx7763g0phrp879rgq10dvfyxrdx9rzwxiyzn6qi3iqr6d8hx"))))
+    (build-system cmake-build-system)
+    (arguments
+     (list #:configure-flags #~(list "-DBUILD_TESTS=ON")
+           #:phases
+           #~(modify-phases %standard-phases
+               (replace 'check
+                 (lambda* (#:key tests? #:allow-other-keys)
+                   (when tests?
+                     ;; This test failed.
+                     (invoke "ctest" "--exclude-regex"
+                             "GenEigsRealShift")))))))
+    (inputs (list eigen))
+    (home-page "https://spectralib.org/")
+    (synopsis "C++ library for large scale eigenvalue problems")
+    (description "Spectra stands for Sparse Eigenvalue Computation Toolkit as
+a Redesigned ARPACK.  It is a C++ library for large scale eigenvalue problems,
+built on top of Eigen.  It is implemented as a header-only C++ library and can
+be easily embedded in C++ projects that require calculating eigenvalues of
+large matrices.")
+    (license license:mpl2.0)))
+
 (define-public gappa
   (package
     (name "gappa")
-- 
2.34.1





^ permalink raw reply related	[flat|nested] 14+ messages in thread

* [bug#65096] [PATCH 07/10] gnu: ceres: Propagate eigen and gflags.
  2023-08-05 13:31 ` [bug#65096] [PATCH 01/10] gnu: Add hmat Vinicius Monego
                     ` (4 preceding siblings ...)
  2023-08-05 13:31   ` [bug#65096] [PATCH 06/10] gnu: Add spectra Vinicius Monego
@ 2023-08-05 13:31   ` Vinicius Monego
  2023-08-05 13:31   ` [bug#65096] [PATCH 08/10] gnu: Add python-numpoly Vinicius Monego
                     ` (2 subsequent siblings)
  8 siblings, 0 replies; 14+ messages in thread
From: Vinicius Monego @ 2023-08-05 13:31 UTC (permalink / raw)
  To: 65096; +Cc: Vinicius Monego

* gnu/packages/maths.scm (ceres)[inputs]: Move eigen and gflags to ...
[propagated-inputs]: ... here.
---
 gnu/packages/maths.scm | 14 ++++----------
 1 file changed, 4 insertions(+), 10 deletions(-)

diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm
index 7accf87baf..9e283ca889 100644
--- a/gnu/packages/maths.scm
+++ b/gnu/packages/maths.scm
@@ -2864,16 +2864,10 @@ (define-public ceres
                       (substitute* "CMakeLists.txt"
                         (("set\\(LIB_SUFFIX \"64\"\\)")
                          "set(LIB_SUFFIX \"\")")))))))
-    (native-inputs
-     (list pkg-config))
-    (propagated-inputs
-     (list glog))                           ;for #include <glog/glog.h>
-    (inputs
-     (list eigen
-           openblas
-           lapack
-           suitesparse
-           gflags))
+    (native-inputs (list pkg-config))
+    ;; These inputs need to be propagated to satisfy dependent packages.
+    (propagated-inputs (list eigen gflags glog))
+    (inputs (list openblas lapack suitesparse))
     (synopsis "C++ library for solving large optimization problems")
     (description
      "Ceres Solver is a C++ library for modeling and solving large,
-- 
2.34.1





^ permalink raw reply related	[flat|nested] 14+ messages in thread

* [bug#65096] [PATCH 08/10] gnu: Add python-numpoly.
  2023-08-05 13:31 ` [bug#65096] [PATCH 01/10] gnu: Add hmat Vinicius Monego
                     ` (5 preceding siblings ...)
  2023-08-05 13:31   ` [bug#65096] [PATCH 07/10] gnu: ceres: Propagate eigen and gflags Vinicius Monego
@ 2023-08-05 13:31   ` Vinicius Monego
  2023-08-05 13:31   ` [bug#65096] [PATCH 09/10] gnu: Add python-chaospy Vinicius Monego
  2023-08-05 13:31   ` [bug#65096] [PATCH 10/10] gnu: Add python-openturns Vinicius Monego
  8 siblings, 0 replies; 14+ messages in thread
From: Vinicius Monego @ 2023-08-05 13:31 UTC (permalink / raw)
  To: 65096; +Cc: Vinicius Monego

* gnu/packages/python-science.scm (python-numpoly): New variable.
---
 gnu/packages/python-science.scm | 22 ++++++++++++++++++++++
 1 file changed, 22 insertions(+)

diff --git a/gnu/packages/python-science.scm b/gnu/packages/python-science.scm
index 86ba4209fd..9ed3359542 100644
--- a/gnu/packages/python-science.scm
+++ b/gnu/packages/python-science.scm
@@ -630,6 +630,28 @@ (define-public python-bottleneck
 written in C.")
     (license license:bsd-2)))
 
+(define-public python-numpoly
+  (package
+    (name "python-numpoly")
+    (version "1.2.11")
+    (source (origin
+              (method git-fetch) ;; PyPI is missing some Pytest fixtures
+              (uri (git-reference
+                    (url "https://github.com/jonathf/numpoly")
+                    (commit (string-append "v" version))))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "01g21v91f4d66xd0bvap0n6d6485w2fnq1636gx6h2s42550rlbd"))))
+    (build-system pyproject-build-system)
+    (propagated-inputs (list python-importlib-metadata python-numpy))
+    (native-inputs (list python-pytest python-sympy))
+    (home-page "https://numpoly.readthedocs.io/en/master/")
+    (synopsis "Polynomials as a numpy datatype")
+    (description "Numpoly is a generic library for creating, manipulating and
+evaluating arrays of polynomials based on @code{numpy.ndarray objects}.")
+    (license license:bsd-2)))
+
 (define-public python-baycomp
   (package
     (name "python-baycomp")
-- 
2.34.1





^ permalink raw reply related	[flat|nested] 14+ messages in thread

* [bug#65096] [PATCH 09/10] gnu: Add python-chaospy.
  2023-08-05 13:31 ` [bug#65096] [PATCH 01/10] gnu: Add hmat Vinicius Monego
                     ` (6 preceding siblings ...)
  2023-08-05 13:31   ` [bug#65096] [PATCH 08/10] gnu: Add python-numpoly Vinicius Monego
@ 2023-08-05 13:31   ` Vinicius Monego
  2023-08-05 13:31   ` [bug#65096] [PATCH 10/10] gnu: Add python-openturns Vinicius Monego
  8 siblings, 0 replies; 14+ messages in thread
From: Vinicius Monego @ 2023-08-05 13:31 UTC (permalink / raw)
  To: 65096; +Cc: Vinicius Monego

* gnu/packages/statistics.scm (python-chaospy): New variable.
---
 gnu/packages/statistics.scm | 26 ++++++++++++++++++++++++++
 1 file changed, 26 insertions(+)

diff --git a/gnu/packages/statistics.scm b/gnu/packages/statistics.scm
index dc620b13a1..2aecd5b8e3 100644
--- a/gnu/packages/statistics.scm
+++ b/gnu/packages/statistics.scm
@@ -2231,6 +2231,32 @@ (define-public python-pymc
 inference (VI) algorithms.")
     (license license:asl2.0)))
 
+(define-public python-chaospy
+  (package
+    (name "python-chaospy")
+    (version "4.3.13")
+    (source (origin ;; PyPI misses Pytest fixtures.
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/jonathf/chaospy")
+                    (commit (string-append "v" version))))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "1bn4jmwygs5h0dskbniivj20qblgm75pyi9hcjf47r25kawd730m"))))
+    (build-system pyproject-build-system)
+    (propagated-inputs (list python-importlib-metadata python-numpoly
+                             python-numpy python-scipy))
+    (native-inputs (list python-pytest python-scikit-learn))
+    (home-page "https://chaospy.readthedocs.io/en/master/")
+    (synopsis "Numerical tool for performing uncertainty quantification")
+    (description "Chaospy is a numerical toolbox for performing uncertainty
+quantification using polynomial chaos expansions, advanced Monte Carlo
+methods implemented in Python.  It also include a full suite of tools for
+doing low-discrepancy sampling, quadrature creation, polynomial manipulations,
+and a lot more.")
+    (license license:expat)))
+
 (define-public python-patsy
   (package
     (name "python-patsy")
-- 
2.34.1





^ permalink raw reply related	[flat|nested] 14+ messages in thread

* [bug#65096] [PATCH 10/10] gnu: Add python-openturns.
  2023-08-05 13:31 ` [bug#65096] [PATCH 01/10] gnu: Add hmat Vinicius Monego
                     ` (7 preceding siblings ...)
  2023-08-05 13:31   ` [bug#65096] [PATCH 09/10] gnu: Add python-chaospy Vinicius Monego
@ 2023-08-05 13:31   ` Vinicius Monego
  8 siblings, 0 replies; 14+ messages in thread
From: Vinicius Monego @ 2023-08-05 13:31 UTC (permalink / raw)
  To: 65096; +Cc: Vinicius Monego

* gnu/packages/statistics.scm (python-openturns): New variable.
---
 gnu/packages/statistics.scm | 93 +++++++++++++++++++++++++++++++++++++
 1 file changed, 93 insertions(+)

diff --git a/gnu/packages/statistics.scm b/gnu/packages/statistics.scm
index 2aecd5b8e3..8680d0e7be 100644
--- a/gnu/packages/statistics.scm
+++ b/gnu/packages/statistics.scm
@@ -43,6 +43,7 @@ (define-module (gnu packages statistics)
   #:use-module (guix git-download)
   #:use-module (guix utils)
   #:use-module (guix build-system ant)
+  #:use-module (guix build-system cmake)
   #:use-module (guix build-system emacs)
   #:use-module (guix build-system gnu)
   #:use-module (guix build-system r)
@@ -54,12 +55,15 @@ (define-module (gnu packages statistics)
   #:use-module (gnu packages algebra)
   #:use-module (gnu packages autotools)
   #:use-module (gnu packages bash)
+  #:use-module (gnu packages bison)
+  #:use-module (gnu packages boost)
   #:use-module (gnu packages check)
   #:use-module (gnu packages compression)
   #:use-module (gnu packages cran)
   #:use-module (gnu packages curl)
   #:use-module (gnu packages emacs)
   #:use-module (gnu packages emacs-xyz)
+  #:use-module (gnu packages flex)
   #:use-module (gnu packages fontutils)
   #:use-module (gnu packages gcc)
   #:use-module (gnu packages gtk)
@@ -90,6 +94,7 @@ (define-module (gnu packages statistics)
   #:use-module (gnu packages sphinx)
   #:use-module (gnu packages ssh)
   #:use-module (gnu packages swig)
+  #:use-module (gnu packages tbb)
   #:use-module (gnu packages tcl)
   #:use-module (gnu packages tex)
   #:use-module (gnu packages texinfo)
@@ -2342,6 +2347,94 @@ (define-public python-statsmodels
 inference for statistical models.")
     (license license:bsd-3)))
 
+(define-public python-openturns
+  (package
+    (name "python-openturns")
+    (version "1.21")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/openturns/openturns")
+                    (commit (string-append "v" version))))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "05lbx8npvvk7jyakvfpgi9ggdp6cnzwv2hjmjrkji2s42axv0q6d"))))
+    (build-system cmake-build-system)
+    (arguments
+     (list
+      #:phases
+      #~(modify-phases %standard-phases
+          (delete 'check)
+          ;; This is a Python package which is fully managed by CMake.  In
+          ;; cmake-build-system the check phase runs before install, but the
+          ;; Python modules required for testing are only installed in the
+          ;; install phase.  Move check to after the install phase.
+          (add-after 'install 'check
+            (lambda* (#:key tests? #:allow-other-keys)
+              (when tests?
+                (invoke "ctest" "--exclude-regex"
+                        ;; XXX: Cpp tests fail in 'No such file or directory',
+                        ;; skip for now and only run the Python tests.
+                        ;; TODO: To pass the Python tests below, Ipopt must be
+                        ;; built with MUMPS support, but simply adding mumps
+                        ;; to the inputs doesn't work for it to be found,
+                        ;; possibly because MUMPS doesn't generate a .pc file.
+                        (string-join
+                         (list "^cpp"
+                               "pyinstallcheck_Bonmin_std"
+                               "pyinstallcheck_Bonmin_4dsoo"
+                               "pyinstallcheck_Bonmin_MIT15"
+                               "pyinstallcheck_Bonmin_swiler2014"
+                               "pyinstallcheck_Ipopt_std"
+                               "pyinstallcheck_example_plot_optimization_bonmin"
+                               "pyinstallcheck_coupling_tools")
+                         "|"))))))))
+    (native-inputs
+     (list bison
+           dvisvgm
+           flex
+           python-numpydoc
+           python-sphinx
+           ;; python-sphinx-gallery ;; Currently broken
+           swig))
+    (inputs
+     (list openblas                ; the only required dependency
+           ;; The dependecies below are all optional.
+           bonmin
+           boost
+           cbc ;; Maybe this should be propagated by Bonmin?
+           ceres
+           cminpack
+           dlib
+           hdf5
+           hmat
+           ipopt
+           libxml2
+           mpc
+           mpfr
+           nlopt
+           pagmo2
+           primesieve
+           python-wrapper
+           spectra
+           tbb))
+    (propagated-inputs
+     (list python-chaospy
+           python-dill
+           python-matplotlib
+           python-numpy
+           python-pandas
+           python-scipy))
+    (home-page "https://openturns.github.io/www/")
+    (synopsis "Uncertainty treatment library")
+    (description
+     "OpenTURNS is a scientific C++ and Python library including an internal
+data model and algorithms dedicated to the treatment of uncertainties.  The
+main goal of this library is giving to specific applications all the
+functionalities needed to treat uncertainties in studies.")
+    (license license:lgpl3+)))
+
 (define-public r-coda
   (package
     (name "r-coda")
-- 
2.34.1





^ permalink raw reply related	[flat|nested] 14+ messages in thread

* [bug#65096] [PATCH 00/10] And OpenTURNS and some math libraries.
  2023-08-05 13:28 [bug#65096] [PATCH 00/10] And OpenTURNS and some math libraries Vinicius Monego
  2023-08-05 13:31 ` [bug#65096] [PATCH 01/10] gnu: Add hmat Vinicius Monego
@ 2023-09-05 14:25 ` Maxim Cournoyer
  2023-09-23 23:11   ` Vinicius Monego
  2023-10-03 11:01 ` bug#65096: " Vinicius Monego
  2 siblings, 1 reply; 14+ messages in thread
From: Maxim Cournoyer @ 2023-09-05 14:25 UTC (permalink / raw)
  To: Vinicius Monego; +Cc: 65096

tags 65096 + moreinfo
quit

Hi,

Vinicius Monego <monego@posteo.net> writes:

> Hi Guix,
>
> OpenTURNS is a library of numerical tools for uncertainty quantification. I had to skip some of its tests (see test notes in the package).
>
> Vinicius Monego (10):
>   gnu: Add hmat.
>   gnu: Add primesieve.
>   gnu: Add cminpack.
>   gnu: Add bonmin.
>   gnu: Add pagmo2.
>   gnu: Add spectra.
>   gnu: ceres: Propagate eigen and gflags.
>   gnu: Add python-numpoly.
>   gnu: Add python-chaospy.
>   gnu: Add python-openturns.

There were some failures on non x86_64 systems, according to QA [0].
Could you take a look and see if something can be fixed (sometimes
patches can be taken from Debian or somewhere else, or an issue exists
upstream, etc.)

[0]  https://qa.guix.gnu.org/issue/65096

-- 
Thanks,
Maxim




^ permalink raw reply	[flat|nested] 14+ messages in thread

* [bug#65096] [PATCH 00/10] And OpenTURNS and some math libraries.
  2023-09-05 14:25 ` [bug#65096] [PATCH 00/10] And OpenTURNS and some math libraries Maxim Cournoyer
@ 2023-09-23 23:11   ` Vinicius Monego
  0 siblings, 0 replies; 14+ messages in thread
From: Vinicius Monego @ 2023-09-23 23:11 UTC (permalink / raw)
  To: Maxim Cournoyer; +Cc: 65096

Em 05/09/2023 11:25, Maxim Cournoyer escreveu:
> tags 65096 + moreinfo
> quit
>
> Hi,

Hi,

[...]

> There were some failures on non x86_64 systems, according to QA [0].
> Could you take a look and see if something can be fixed (sometimes
> patches can be taken from Debian or somewhere else, or an issue exists
> upstream, etc.)
>
> [0]  https://qa.guix.gnu.org/issue/65096
>
The failing packges are cminpack (on aarch64) and pagmo and 
python-numpoly (on 32-bit platforms).

cminpack builds on Debian arm64 (same as aarch64 on Guix) without 
special patches, so I don't know why the tests are failing in aarch64. 
They have a "skip failing tests" patch but it's skipping tests different 
from the ones failing here. The Debian package is based on a slightly 
older version (1.3.6 vs 1.3.8), though. It may have something to do with 
this issue: 
https://github.com/devernay/cminpack/issues/37#issuecomment-1407259802

pagmo only supports 64-bit x86, ARM and PowerPC: 
https://esa.github.io/pagmo2/install.html

python-numpoly is only available in Fedora and Alpine for 64-bit 
architectures. The test errors in the build logs are also dtype 
mismatches between int64 and int32.

My suggestion is to add supported-systems in pagmo and python-numpoly, 
and push cminpack as is (or maybe skip tests on aarch64 and powerpc64le?)

Vinicius





^ permalink raw reply	[flat|nested] 14+ messages in thread

* bug#65096: [PATCH 00/10] And OpenTURNS and some math libraries.
  2023-08-05 13:28 [bug#65096] [PATCH 00/10] And OpenTURNS and some math libraries Vinicius Monego
  2023-08-05 13:31 ` [bug#65096] [PATCH 01/10] gnu: Add hmat Vinicius Monego
  2023-09-05 14:25 ` [bug#65096] [PATCH 00/10] And OpenTURNS and some math libraries Maxim Cournoyer
@ 2023-10-03 11:01 ` Vinicius Monego
  2 siblings, 0 replies; 14+ messages in thread
From: Vinicius Monego @ 2023-10-03 11:01 UTC (permalink / raw)
  To: 65096-done

Pushed as 9f41aa021f982b3fc23927e2988c59329acdc8fc after adding 
supported-systems to pagmo and numpoly. Closing now, thanks for the 
comments.





^ permalink raw reply	[flat|nested] 14+ messages in thread

end of thread, other threads:[~2023-10-03 11:03 UTC | newest]

Thread overview: 14+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-08-05 13:28 [bug#65096] [PATCH 00/10] And OpenTURNS and some math libraries Vinicius Monego
2023-08-05 13:31 ` [bug#65096] [PATCH 01/10] gnu: Add hmat Vinicius Monego
2023-08-05 13:31   ` [bug#65096] [PATCH 02/10] gnu: Add primesieve Vinicius Monego
2023-08-05 13:31   ` [bug#65096] [PATCH 03/10] gnu: Add cminpack Vinicius Monego
2023-08-05 13:31   ` [bug#65096] [PATCH 04/10] gnu: Add bonmin Vinicius Monego
2023-08-05 13:31   ` [bug#65096] [PATCH 05/10] gnu: Add pagmo2 Vinicius Monego
2023-08-05 13:31   ` [bug#65096] [PATCH 06/10] gnu: Add spectra Vinicius Monego
2023-08-05 13:31   ` [bug#65096] [PATCH 07/10] gnu: ceres: Propagate eigen and gflags Vinicius Monego
2023-08-05 13:31   ` [bug#65096] [PATCH 08/10] gnu: Add python-numpoly Vinicius Monego
2023-08-05 13:31   ` [bug#65096] [PATCH 09/10] gnu: Add python-chaospy Vinicius Monego
2023-08-05 13:31   ` [bug#65096] [PATCH 10/10] gnu: Add python-openturns Vinicius Monego
2023-09-05 14:25 ` [bug#65096] [PATCH 00/10] And OpenTURNS and some math libraries Maxim Cournoyer
2023-09-23 23:11   ` Vinicius Monego
2023-10-03 11:01 ` bug#65096: " Vinicius Monego

Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/guix.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.