Subject: [bug#72062] [PATCH 1/4] gnu: Add openpmix.

From: Romain GARBAGE <[email-masked]>
Date: Thu, 11 Jul 2024 16:35:22 +0200

* gnu/packages/parallel.scm (openpmix): New variable.

Change-Id: Id23bc710c9b61ede0aebf7e2a18863fbe5fb8304
---
 gnu/packages/parallel.scm | 32 ++++++++++++++++++++++++++++++++
 1 file changed, 32 insertions(+)

diff --git a/gnu/packages/parallel.scm b/gnu/packages/parallel.scm
index a16a0d8689..4a57e85e6c 100644
--- a/gnu/packages/parallel.scm
+++ b/gnu/packages/parallel.scm
@@ -14,6 +14,7 @@
 ;;; Copyright © 2021 Stefan Reichör <[email-masked]>
 ;;; Copyright © 2024 Zheng Junjie <[email-masked]>
 ;;; Copyright © 2024 David Elsing <[email-masked]>
+;;; Copyright © 2024 Romain Garbage <[email-masked]>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -51,6 +52,7 @@ (define-module (gnu packages parallel)
   #:use-module (gnu packages documentation)
   #:use-module (gnu packages flex)
   #:use-module (gnu packages freeipmi)
+  #:use-module (gnu packages libevent)
   #:use-module (gnu packages linux)
   #:use-module (gnu packages maths)
   #:use-module (gnu packages mpi)
@@ -612,3 +614,33 @@ (define-public psimd
        "This header-only C++ library provides a portable interface to
 single-instruction multiple-data (SIMD) intrinsics.")
       (license license:expat))))
+
+(define-public openpmix
+  (package
+   (name "openpmix")
+   (version "4.2.8")
+   (source (origin
+            (method url-fetch)
+            (uri (string-append
+                  "https://github.com/openpmix/openpmix/releases/download/v"
+                  version "/pmix-" version ".tar.bz2"))
+            (sha256
+             (base32
+              "1j9xlhqrrmgjdkwakamn78y5gj756adi53hn25zksgr3is3l5d09"))))
+   (build-system gnu-build-system)
+   (arguments
+    (list #:configure-flags #~(list (string-append "--with-hwloc="
+                                                   (ungexp (this-package-input "hwloc") "lib")))))
+   (inputs (list libevent
+                 `(,hwloc "lib")))
+   (native-inputs (list perl
+                        python))
+   (synopsis "PMIx library")
+   (description
+    "PMIx is an application programming interface standard that provides
+libraries and programming models with portable and well-defined access
+to commonly needed services in distributed and parallel computing
+systems.")
+   (home-page "https://pmix.org/")
+   ;; The provided license is kind of BSD-style but specific.
+   (license (license:fsf-free "https://github.com/openpmix/openpmix?tab=License-1-ov-file#License-1-ov-file"))))
-- 
2.45.1