apteryx pushed a commit to branch master
in repository guix.

commit 1109bc68588ca0b1e951d17f3d8d9db001dc97dd
Author: Maxim Cournoyer <[email protected]>
AuthorDate: Tue Jan 21 14:51:04 2025 +0900

    gnu: Relocate scorep-openmpi to (gnu packages mpi).
    
    The make-scorep procedure makes use of its argument, a package, at the top
    level.  Since it is not delayed, it is susceptible to cause top level module
    cycles, as it did with the introduction of commit fc27362f8d.
    
    * gnu/packages/profiling.scm (make-scorep, scorep-openmpi): Move to...
    * gnu/packages/mpi.scm: ... here.
    
    Change-Id: I7989fb7c3da654f36d8e5e86bc383f02bd577935
---
 gnu/packages/mpi.scm       | 65 ++++++++++++++++++++++++++++++++++++++++++++++
 gnu/packages/profiling.scm | 65 ----------------------------------------------
 2 files changed, 65 insertions(+), 65 deletions(-)

diff --git a/gnu/packages/mpi.scm b/gnu/packages/mpi.scm
index 157bbfdecd..01e5b1c47b 100644
--- a/gnu/packages/mpi.scm
+++ b/gnu/packages/mpi.scm
@@ -681,3 +681,68 @@ modular framework for other derived implementations.")
           '%standard-phases)
          phases)))
     (synopsis "Implementation of the Message Passing Interface (MPI) for 
OmniPath")))
+
+(define (make-scorep mpi)
+  (package
+    (name (string-append "scorep-" (package-name mpi)))
+    (version "3.1")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append
+                    "http://www.vi-hps.org/upload/packages/scorep/scorep-";
+                    version ".tar.gz"))
+              (sha256
+               (base32
+                "0h45357djna4dn9jyxx0n36fhhms3jrf22988m9agz1aw2jfivs9"))
+              (modules '((guix build utils)))
+              (snippet
+               ;; Remove bundled software.
+               '(begin
+                  (for-each delete-file-recursively
+                            '("vendor/opari2" "vendor/cube"))
+                  #t))))
+    (build-system gnu-build-system)
+    (inputs
+     `(("mpi" ,mpi)
+       ("papi" ,papi)
+       ("opari2" ,opari2)
+       ("libunwind" ,libunwind)
+       ("otf2" ,otf2)
+       ("cubelib" ,cube "lib")                    ;for lib, include
+       ("openmpi" ,openmpi)
+       ("zlib" ,zlib)))
+    (native-inputs
+     (list gfortran
+           flex
+           cube ;for cube-config
+           bison
+           python
+           doxygen
+           which))
+    (arguments
+     `(#:configure-flags
+       (list "--enable-shared" "--disable-static"
+             (string-append "--with-opari2="
+                            (assoc-ref %build-inputs "opari2"))
+             (string-append "--with-cube="
+                            (assoc-ref %build-inputs "cube")))
+       #:parallel-tests? #f
+       #:make-flags '("V=1")
+       #:phases
+       (modify-phases %standard-phases
+         (add-after 'install 'licence
+           (lambda* (#:key outputs #:allow-other-keys)
+             (let ((doc (string-append (assoc-ref outputs "out")
+                                       "/share/doc/scorep")))
+               (install-file "COPYING" doc)
+               #t))))))
+    (home-page "https://www.vi-hps.org/projects/score-p/";)
+    (synopsis "Performance measurement infrastructure for parallel code")
+    (description
+     "The Score-P (Scalable Performance Measurement Infrastructure for
+Parallel Codes) measurement infrastructure is a scalable and easy-to-use tool
+suite for profiling, event trace recording, and online analysis of
+high-performance computing (HPC) applications.")
+    (license license:cpl1.0)))
+
+(define-public scorep-openmpi (make-scorep openmpi))
diff --git a/gnu/packages/profiling.scm b/gnu/packages/profiling.scm
index 3862dc2e22..5121b6e94e 100644
--- a/gnu/packages/profiling.scm
+++ b/gnu/packages/profiling.scm
@@ -333,71 +333,6 @@ the same display and thus provide the ability to easily 
compare the effects of
 different kinds of performance behavior.")
     (license license:bsd-3)))
 
-(define (make-scorep mpi)
-  (package
-    (name (string-append "scorep-" (package-name mpi)))
-    (version "3.1")
-    (source (origin
-              (method url-fetch)
-              (uri (string-append
-                    "http://www.vi-hps.org/upload/packages/scorep/scorep-";
-                    version ".tar.gz"))
-              (sha256
-               (base32
-                "0h45357djna4dn9jyxx0n36fhhms3jrf22988m9agz1aw2jfivs9"))
-              (modules '((guix build utils)))
-              (snippet
-               ;; Remove bundled software.
-               '(begin
-                  (for-each delete-file-recursively
-                            '("vendor/opari2" "vendor/cube"))
-                  #t))))
-    (build-system gnu-build-system)
-    (inputs
-     `(("mpi" ,mpi)
-       ("papi" ,papi)
-       ("opari2" ,opari2)
-       ("libunwind" ,libunwind)
-       ("otf2" ,otf2)
-       ("cubelib" ,cube "lib")                    ;for lib, include
-       ("openmpi" ,openmpi)
-       ("zlib" ,zlib)))
-    (native-inputs
-     (list gfortran
-           flex
-           cube ;for cube-config
-           bison
-           python
-           doxygen
-           which))
-    (arguments
-     `(#:configure-flags
-       (list "--enable-shared" "--disable-static"
-             (string-append "--with-opari2="
-                            (assoc-ref %build-inputs "opari2"))
-             (string-append "--with-cube="
-                            (assoc-ref %build-inputs "cube")))
-       #:parallel-tests? #f
-       #:make-flags '("V=1")
-       #:phases
-       (modify-phases %standard-phases
-         (add-after 'install 'licence
-           (lambda* (#:key outputs #:allow-other-keys)
-             (let ((doc (string-append (assoc-ref outputs "out")
-                                       "/share/doc/scorep")))
-               (install-file "COPYING" doc)
-               #t))))))
-    (home-page "https://www.vi-hps.org/projects/score-p/";)
-    (synopsis "Performance measurement infrastructure for parallel code")
-    (description
-     "The Score-P (Scalable Performance Measurement Infrastructure for
-Parallel Codes) measurement infrastructure is a scalable and easy-to-use tool
-suite for profiling, event trace recording, and online analysis of
-high-performance computing (HPC) applications.")
-    (license license:cpl1.0)))
-
-(define-public scorep-openmpi (make-scorep openmpi))
-
 (define-public tracy-wayland
   (package
     (name "tracy-wayland")

Reply via email to