This is an automated email from the git hooks/post-receive script.

guix_mirror_bot pushed a commit to branch master
in repository guix.

The following commit(s) were added to refs/heads/master by this push:
     new a6963d6d43 gnu: Add CubeLib, CubeW and CubeGUI.
a6963d6d43 is described below

commit a6963d6d43c19390b137287223aed87dee9aedff
Author: Luca Cirrottola <[email protected]>
AuthorDate: Tue May 27 23:24:39 2025 +0200

    gnu: Add CubeLib, CubeW and CubeGUI.
    
    This change aims at updating Cube (whose build is currently failing,
    see: <https://issues.guix.gnu.org/67566>) to the 4.x version.  The
    latest versions have split the package into three components: CubeLib,
    CubeW and CubeGUI. Thus, this patch is providing three new recipes.
    
    * gnu/packages/profiling.scm (cubelib, cubew, cubegui): New variables.
    
    Change-Id: I1413757f740504c17676f50d7186dfac94d0944f
    Signed-off-by: Sharlatan Hellseher <[email protected]>
---
 gnu/packages/profiling.scm | 97 ++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 97 insertions(+)

diff --git a/gnu/packages/profiling.scm b/gnu/packages/profiling.scm
index d1043d9b7c..0320460cf0 100644
--- a/gnu/packages/profiling.scm
+++ b/gnu/packages/profiling.scm
@@ -3,6 +3,7 @@
 ;;; Copyright © 2018, 2019, 2020 Tobias Geerinckx-Rice <[email protected]>
 ;;; Copyright © 2022 Ludovic Courtès <[email protected]>
 ;;; Copyright © 2023 dan <[email protected]>
+;;; Copyright © 2025 Luca Cirrottola <[email protected]>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -341,6 +342,102 @@ the same display and thus provide the ability to easily 
compare the effects of
 different kinds of performance behavior.")
     (license license:bsd-3)))
 
+;; Since version 4.4, CUBE has been split in three different packages: CubeW,
+;; CubeLib, CubeGUI. They are still released together, so we conventionally
+;; define cubew as the parent package for cubelib and cubegui to factorize
+;; common data.
+(define-public cubew
+  (package
+    (name "cubew")
+    (version "4.9")
+    (source
+     (origin
+       (method url-fetch)
+       (uri
+        (string-append "https://apps.fz-juelich.de/scalasca/releases/cube/";
+                       version "/dist/cubew-"
+                       version ".tar.gz"))
+       (sha256
+        (base32 "1pdcs8688y4nwcxshgs9773xmdajxahsbjsrfh8m7gv9qn0lxxsf"))))
+    (build-system gnu-build-system)
+    (arguments
+     (list
+      #:configure-flags
+      #~(list "--enable-shared" "--disable-static" "--disable-silent-rules"
+              (string-append "--with-frontend-zlib="
+                             #$(this-package-input "zlib") "/lib")
+              (string-append "--with-backend-zlib="
+                             #$(this-package-input "zlib") "/lib"))))
+    (inputs
+     (list zlib))
+    (home-page "https://www.scalasca.org/software/cube-4.x/download.html";)
+    (synopsis "CUBE high performance C writer library")
+    (description
+     "CUBE (CUBE Uniform Behavioral Encoding) is a tool to display a variety
+of performance metrics for parallel programs including MPI and OpenMP
+applications.  CubeW is the high performance C writer library of the CUBE
+project.")
+    (license license:bsd-3)))
+
+(define-public cubelib
+  (package/inherit cubew
+    (name "cubelib")
+    (source
+     (origin
+       (method url-fetch)
+       (uri
+        (string-append "https://apps.fz-juelich.de/scalasca/releases/cube/";
+                       (package-version cubew) "/dist/cubelib-"
+                       (package-version cubew) ".tar.gz"))
+       (sha256
+        (base32 "0hwl0aihn6fgpl0qhqckxc3sslb78wq6xav5ykfgfjzpyddqyrd0"))))
+    (arguments
+     (substitute-keyword-arguments (package-arguments cubew)
+       ((#:configure-flags flags)
+        #~(append #$flags
+                  (list "--with-compression=full")))
+       ((#:parallel-tests? _ #f) #f)))
+    (inputs
+     (list zlib))
+    (synopsis "CUBE C++ profile library")
+    (description
+     "CUBE (CUBE Uniform Behavioral Encoding) is a tool to display a variety
+of performance metrics for parallel programs including MPI and OpenMP
+applications.  CubeLib is the general purpose C++ library and tool of the CUBE
+project.")))
+
+(define-public cubegui
+  (package/inherit cubew
+    (name "cubegui")
+    (source
+     (origin
+       (method url-fetch)
+       (uri
+        (string-append "https://apps.fz-juelich.de/scalasca/releases/cube/";
+                       (package-version cubew) "/dist/cubegui-"
+                       (package-version cubew) ".tar.gz"))
+       (sha256
+        (base32 "04byhf00xnn1ppca914ag4hq2kjv37lhwyh8dl369ps47mp6viqh"))))
+    (arguments
+     (list
+      #:configure-flags
+      #~(list "--enable-shared" "--disable-static" "--disable-silent-rules"
+              (string-append "CXXFLAGS=-I" #$(this-package-input "dbus")
+                             "/include/dbus-1.0")
+              (string-append "LDFLAGS=-L" #$(this-package-input "dbus")
+                             "/lib"))))
+    (native-inputs
+     (list qtbase))
+    (inputs
+     (list cubelib
+           dbus
+           perl))
+    (synopsis "CUBE profile explorer GUI")
+    (description
+     "CUBE (CUBE Uniform Behavioral Encoding) is a tool to display a variety
+of performance metrics for parallel programs including MPI and OpenMP
+applications.  CubeGUI is the graphical explorer of the CUBE project.")))
+
 (define-public tracy-wayland
   (package
     (name "tracy-wayland")

Reply via email to