Subject: [bug#65096] [PATCH 05/10] gnu: Add pagmo2.

From: Vinicius Monego <[email-masked]>
Date: Sat, 5 Aug 2023 13:31:18 +0000

* 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