guix-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

05/10: gnu: Add pagmo.


From: guix-commits
Subject: 05/10: gnu: Add pagmo.
Date: Sat, 30 Sep 2023 10:11:25 -0400 (EDT)

monego pushed a commit to branch master
in repository guix.

commit 35a00cf3dc040513ee8314f3ea3b98ff10256785
Author: Vinicius Monego <monego@posteo.net>
AuthorDate: Sun Jul 30 11:18:23 2023 -0300

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

diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm
index 9e34da7ad0..24fcd95493 100644
--- a/gnu/packages/maths.scm
+++ b/gnu/packages/maths.scm
@@ -1390,6 +1390,39 @@ Extern C linkage permits the package routines to be 
called from C++.")
 NonLinear Programming) problems.  It builds on top of Cbc and Ipopt.")
     (license license:epl1.0)))
 
+(define-public pagmo
+  (package
+    (name "pagmo")
+    (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://esa.github.io/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.")
+    ;; Pagmo only supports 64-bit x86, ARM and PowerPC:
+    ;; https://esa.github.io/pagmo2/install.html
+    (supported-systems '("x86_64-linux" "aarch64-linux" "armhf-linux"
+                         "powerpc64le-linux"))
+    ;; Dual licensed, user choice.
+    (license (list license:lgpl3+ license:gpl3+))))
+
 (define-public gctp
   (package
     (name "gctp")



reply via email to

[Prev in Thread] Current Thread [Next in Thread]