From 961fe736aa04bb4ff9abd5c989a16efa56ce82f2 Mon Sep 17 00:00:00 2001 From: Andreas Enge Date: Mon, 22 Sep 2025 11:41:08 +0200 Subject: [PATCH] gnu: cube: Deprecate. * gnu/packages/profiling.scm (cube): Deprecate in favor of cubegui. Fixes: guix/guix#2188 Change-Id: I5d647a9c5ee95f312f8db074b0408d87f09e5281 --- gnu/packages/profiling.scm | 134 ++----------------------------------- 1 file changed, 4 insertions(+), 130 deletions(-) diff --git a/gnu/packages/profiling.scm b/gnu/packages/profiling.scm index 8a2db9c9172..64bcafb3737 100644 --- a/gnu/packages/profiling.scm +++ b/gnu/packages/profiling.scm @@ -212,136 +212,6 @@ and hybrid codes. It surrounds OpenMP directives and runtime library calls with calls to the POMP2 measurement interface.") (license license:bsd-3))) -(define-public cube - (package - (name "cube") - (version "4.3.5") - (source - (origin - (method url-fetch) - (uri (string-append - "http://apps.fz-juelich.de/scalasca/releases/cube/4.3/dist/cube-" - version ".tar.gz")) - (sha256 (base32 "04irflia4rfw02093w9nx7rr98r640y4q8hisjywvd4b7r3nzhhx")) - (patches (search-patches "cube-nocheck.patch")))) - (inputs (list dbus zlib)) - (native-inputs (list perl qtbase-5 ; native because of qmake - which)) - - ;; FIXME: The doc is 14MB, but adding a doc output results in a cycle. - (outputs '("out" ;"doc" - "lib")) - - (build-system gnu-build-system) - (arguments - `(#:configure-flags - `("--enable-shared" "--disable-static" "--disable-silent-rules" - ,(string-append "LDFLAGS=-L" (assoc-ref %outputs "lib") "/lib")) - #:parallel-tests? #f - #:phases - (modify-phases %standard-phases - (add-after 'configure 'rpath - ;; Account for moving GUI stuff - (lambda* (#:key outputs #:allow-other-keys) - (let ((wl (string-append "-Wl,-rpath=" (assoc-ref outputs "out") - "/lib"))) - (substitute* "build-backend/Makefile" - (("^cube_LDFLAGS =") (string-append "cube_LDFLAGS = " wl)) - (("^libheatmap_plugin_la_LDFLAGS =") - (string-append "libheatmap_plugin_la_LDFLAGS = " wl)) - (("^libbarplot_plugin_la_LDFLAGS =") - (string-append "libbarplot_plugin_la_LDFLAGS = " wl))) - #t))) - (add-before 'install 'includes-cube - ;; It tries to install here before include exists. - (lambda* (#:key outputs #:allow-other-keys) - (let ((inc (string-append (assoc-ref outputs "lib") "/include"))) - (mkdir-p (string-append inc "/cube")) - (mkdir-p (string-append inc "/cubew")) - #t))) - (add-after 'install 'licence - (lambda* (#:key outputs #:allow-other-keys) - (let ((doc (string-append (assoc-ref outputs "lib") - "/share/doc/cube"))) - (install-file "COPYING" doc) - #t))) - ;; XXX: Commented due to cycle (see comment above.) - ;; (add-after 'install 'doc - ;; (lambda _ - ;; (let ((share (string-append (assoc-ref %outputs "doc") - ;; "/share"))) - ;; (mkdir-p share) - ;; (rename-file (string-append %output "/share/doc") - ;; (string-append share "/doc"))))) - (add-after 'install 'gui-stuff - ;; Get the Qt horror dependencies out of the lib closure - (lambda _ - (let ((outlib (string-append (assoc-ref %outputs "out") "/lib")) - (lib (string-append (assoc-ref %outputs "lib") "/lib"))) - (mkdir-p outlib) - (rename-file (string-append lib "/cube-plugins") - (string-append outlib "/cube-plugins")) - (for-each (lambda (file) - (rename-file - file (string-append outlib "/" (basename file)))) - (append (find-files lib "libgraphwidgetcommon-plugin\\..*") - (find-files lib "libcube4gui\\.so.*"))) - #t))) - (add-after 'install 'move-include - ;; Most of the headers end up under %output for some reason, - ;; despite --includedir in configure. - (lambda* (#:key outputs #:allow-other-keys) - (let ((outinc (string-append (assoc-ref outputs "out") - "/include")) - (libinc (string-append (assoc-ref outputs "lib") - "/include"))) - (for-each (lambda (file) - (let ((from (string-append outinc "/" file))) - (copy-recursively from libinc) - (delete-file-recursively from))) - '("cube" "cubew")) - #t))) - - ;; XXX: This doesn't work because cube-config, which is needed for - ;; building stuff, sources cube-config-frontend. We don't want that - ;; in the lib output because it pulls in >1GB via QT. - ;; - ;; (add-after 'install 'cube-config - ;; (lambda _ - ;; (let* ((lib (assoc-ref %outputs "lib")) - ;; (libbin (string-append lib "/bin"))) - ;; (mkdir-p libbin) - ;; (system (string-append "mv " (assoc-ref %outputs "out") - ;; "/bin/cube-config* " libbin)) - ;; (substitute* (list (string-append libbin "/cube-config")) - ;; (("^prefix=.*") (string-append "prefix=" lib)) - ;; (("^exec_prefix=\"\\$\\{prefix\\}\"") - ;; (string-append "exec_prefix=" lib)))))) - (add-after 'install 'cube-config - (lambda* (#:key outputs #:allow-other-keys) - (let* ((lib (assoc-ref outputs "lib")) - (libbin (string-append lib "/bin"))) - (mkdir-p libbin) - (install-file (string-append %output "/bin/cube-config") libbin) - (install-file (string-append %output "/bin/cube-config-backend") - libbin) - (substitute* (list (string-append libbin "/cube-config")) - (("^source .*frontend.*$") "") - (((assoc-ref outputs "out")) lib)) - #t)))))) - (home-page "https://www.scalasca.org/software/cube-4.x/download.html") - (synopsis "Performance report explorer for parallel programs") - (description - "CUBE (CUBE Uniform Behavioral Encoding) is a tool to display a variety -of performance metrics for parallel programs including MPI and OpenMP -applications. CUBE allows interactive exploration of a multidimensional -performance space in a scalable fashion. Scalability is achieved in two ways: -hierarchical decomposition of individual dimensions and aggregation across -different dimensions. All performance metrics are uniformly accommodated in -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 @@ -438,6 +308,10 @@ project."))) of performance metrics for parallel programs including MPI and OpenMP applications. CubeGUI is the graphical explorer of the CUBE project."))) +;; deprecated on 2025-09-22 +(define-public cube + (deprecated-package "cube" cubegui)) + (define-public tracy-wayland (package (name "tracy-wayland")