GNU bug report logs - #77991
[PATCH 0/4] Upgrade Scotch to 7.0.7

Previous Next

Package: guix-patches;

Reported by: Ludovic Courtès <ludo <at> gnu.org>

Date: Tue, 22 Apr 2025 15:31:01 UTC

Severity: normal

Tags: patch

Done: Andreas Enge <andreas <at> enge.fr>

Bug is archived. No further changes may be made.

To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 77991 in the body.
You can then email your comments to 77991 AT debbugs.gnu.org in the normal way.

Toggle the display of automated, internal messages from the tracker.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to andreas <at> enge.fr, bavier <at> posteo.net, sharlatanus <at> gmail.com, guix-patches <at> gnu.org:
bug#77991; Package guix-patches. (Tue, 22 Apr 2025 15:31:01 GMT) Full text and rfc822 format available.

Acknowledgement sent to Ludovic Courtès <ludo <at> gnu.org>:
New bug report received and forwarded. Copy sent to andreas <at> enge.fr, bavier <at> posteo.net, sharlatanus <at> gmail.com, guix-patches <at> gnu.org. (Tue, 22 Apr 2025 15:31:01 GMT) Full text and rfc822 format available.

Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):

From: Ludovic Courtès <ludo <at> gnu.org>
To: guix-patches <at> gnu.org
Cc: marc.fuentes <at> inria.fr, Ludovic Courtès <ludo <at> gnu.org>,
 romain.garbage <at> inria.fr, julien.castelneau <at> inria.fr
Subject: [PATCH 0/4] Upgrade Scotch to 7.0.7
Date: Tue, 22 Apr 2025 17:29:23 +0200
Hello,

This fixes a bug with Scotch’s parmetis compatibility layer
CMake files, upgrades it, and modernizes the definitions.

Tested with:

  guix build -P1 scotch -P1 pt-scotch -P1 scotch32 -P1 pt-scotch32

… ignoring fenics* and superlu-dist, which are already broken
on ‘master’.

Thanks,
Ludo’.

Ludovic Courtès (4):
  gnu: scotch: Remove “-shared” deprecated aliases.
  gnu: scotch: Keep *.cmake in the main output.
  gnu: scotch, scotch32, pt-scotch, pt-scotch32: Use gexps.
  gnu: scotch: Update to 7.0.7.

 gnu/packages/maths.scm | 78 +++++++++++++++++++-----------------------
 1 file changed, 36 insertions(+), 42 deletions(-)


base-commit: 7a4193ec4a09fecc68dc726c1e0bbb5ad03d404a
-- 
2.49.0





Information forwarded to andreas <at> enge.fr, bavier <at> posteo.net, sharlatanus <at> gmail.com, guix-patches <at> gnu.org:
bug#77991; Package guix-patches. (Tue, 22 Apr 2025 15:33:02 GMT) Full text and rfc822 format available.

Message #8 received at 77991 <at> debbugs.gnu.org (full text, mbox):

From: Ludovic Courtès <ludo <at> gnu.org>
To: 77991 <at> debbugs.gnu.org
Cc: Ludovic Courtès <ludovic.courtes <at> inria.fr>
Subject: [PATCH 1/4] gnu: scotch: Remove “-shared” deprecated aliases.
Date: Tue, 22 Apr 2025 17:31:47 +0200
From: Ludovic Courtès <ludovic.courtes <at> inria.fr>

These aliases were added in commit
d4709d78c3b460d7be02f15f6cc6c85f398b1a46, Feb. 2022.

* gnu/packages/maths.scm (scotch-shared, pt-scotch-shared): Remove.

Change-Id: I971bbf999a9fce5dae05c865316defe55eaeb212
---
 gnu/packages/maths.scm | 11 -----------
 1 file changed, 11 deletions(-)

diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm
index b0c5b8685c..2c53f6d8af 100644
--- a/gnu/packages/maths.scm
+++ b/gnu/packages/maths.scm
@@ -5290,17 +5290,6 @@ (define-public pt-scotch32
     (synopsis
      "Programs and libraries for graph algorithms (with MPI and 32-bit integers)")))
 
-(define-public scotch-shared
-  ;; There used to be separate shared library variants while the default would
-  ;; provide .a files including PIC objects.  With the switch to CMake, .a
-  ;; files contain non-PIC objects, which breaks some users, and switching to
-  ;; shared libraries by default seems to make more sense, as discussed here:
-  ;; <https://issues.guix.gnu.org/47619#2>.
-  (deprecated-package "scotch-shared" scotch))
-
-(define-public pt-scotch-shared
-  (deprecated-package "pt-scotch-shared" pt-scotch))
-
 (define-public gklib
   (let ((commit "8bd6bad750b2b0d90800c632cf18e8ee93ad72d7")
         (revision "1"))
-- 
2.49.0





Information forwarded to andreas <at> enge.fr, bavier <at> posteo.net, sharlatanus <at> gmail.com, guix-patches <at> gnu.org:
bug#77991; Package guix-patches. (Tue, 22 Apr 2025 15:33:03 GMT) Full text and rfc822 format available.

Message #11 received at 77991 <at> debbugs.gnu.org (full text, mbox):

From: Ludovic Courtès <ludo <at> gnu.org>
To: 77991 <at> debbugs.gnu.org
Cc: Ludovic Courtès <ludovic.courtes <at> inria.fr>
Subject: [PATCH 2/4] gnu: scotch: Keep *.cmake in the main output.
Date: Tue, 22 Apr 2025 17:31:48 +0200
From: Ludovic Courtès <ludovic.courtes <at> inria.fr>

This fixes a bug whereby ‘SCOTCHConfig.cmake’ would fail to find
‘scotchmetisTargets.cmake’ because it expects it to be in the same
directory as itself, ${CMAKE_CURRENT_LIST_DIR}.

* gnu/packages/maths.scm (scotch)[arguments]: Adjust ‘install-metis’
phase to keep *.cmake in “out”.

Change-Id: If8d8f890852c35cede6e81c33d18b9101988a635
---
 gnu/packages/maths.scm | 17 ++++++++++++-----
 1 file changed, 12 insertions(+), 5 deletions(-)

diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm
index 2c53f6d8af..6a11103e3b 100644
--- a/gnu/packages/maths.scm
+++ b/gnu/packages/maths.scm
@@ -5220,15 +5220,22 @@ (define-public scotch
        (modify-phases %standard-phases
          (add-after 'install 'install-metis
            (lambda* (#:key outputs #:allow-other-keys)
+             ;; Move the METIS compatibility library to a separate output to
+             ;; avoid a name clash on <metis.h>.
              (let* ((out    (assoc-ref outputs "out"))
                     (metis  (assoc-ref outputs "metis"))
                     (prefix (string-length out)))
                (for-each (lambda (file)
-                           (let ((target (string-append
-                                          metis
-                                          (string-drop file prefix))))
-                             (mkdir-p (dirname target))
-                             (rename-file file target)))
+                           ;; 'SCOTCHConfig.cmake' includes
+                           ;; *metisTargets.cmake from
+                           ;; ${CMAKE_CURRENT_LIST_DIR} so keep all *.cmake
+                           ;; files in "out".
+                           (unless (string-suffix? ".cmake" file)
+                             (let ((target (string-append
+                                            metis
+                                            (string-drop file prefix))))
+                               (mkdir-p (dirname target))
+                               (rename-file file target))))
                          (find-files out "metis"))))))))
     (home-page "https://www.labri.fr/perso/pelegrin/scotch/")
     (properties
-- 
2.49.0





Information forwarded to andreas <at> enge.fr, bavier <at> posteo.net, sharlatanus <at> gmail.com, guix-patches <at> gnu.org:
bug#77991; Package guix-patches. (Tue, 22 Apr 2025 15:33:03 GMT) Full text and rfc822 format available.

Message #14 received at 77991 <at> debbugs.gnu.org (full text, mbox):

From: Ludovic Courtès <ludo <at> gnu.org>
To: 77991 <at> debbugs.gnu.org
Cc: Ludovic Courtès <ludo <at> gnu.org>
Subject: [PATCH 3/4] gnu: scotch, scotch32, pt-scotch, pt-scotch32: Use gexps.
Date: Tue, 22 Apr 2025 17:31:49 +0200
* gnu/packages/maths.scm (scotch, scotch32)
(pt-scotch, pt-scotch32): Use gexps.

Change-Id: I93febc994c5345e133eddbd016b1974d08df5bdf
---
 gnu/packages/maths.scm | 70 ++++++++++++++++++++----------------------
 1 file changed, 34 insertions(+), 36 deletions(-)

diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm
index 6a11103e3b..abd05b9d63 100644
--- a/gnu/packages/maths.scm
+++ b/gnu/packages/maths.scm
@@ -5214,29 +5214,30 @@ (define-public scotch
      (list flex bison gfortran))
     (outputs '("out" "metis"))
     (arguments
-     `(#:configure-flags '("-DBUILD_SHARED_LIBS=YES" "-DINTSIZE=64"
-                           "-DBUILD_PTSCOTCH=OFF")
-       #:phases
-       (modify-phases %standard-phases
-         (add-after 'install 'install-metis
-           (lambda* (#:key outputs #:allow-other-keys)
-             ;; Move the METIS compatibility library to a separate output to
-             ;; avoid a name clash on <metis.h>.
-             (let* ((out    (assoc-ref outputs "out"))
-                    (metis  (assoc-ref outputs "metis"))
-                    (prefix (string-length out)))
-               (for-each (lambda (file)
-                           ;; 'SCOTCHConfig.cmake' includes
-                           ;; *metisTargets.cmake from
-                           ;; ${CMAKE_CURRENT_LIST_DIR} so keep all *.cmake
-                           ;; files in "out".
-                           (unless (string-suffix? ".cmake" file)
-                             (let ((target (string-append
-                                            metis
-                                            (string-drop file prefix))))
-                               (mkdir-p (dirname target))
-                               (rename-file file target))))
-                         (find-files out "metis"))))))))
+     (list #:configure-flags #~'("-DBUILD_SHARED_LIBS=YES" "-DINTSIZE=64"
+                                 "-DBUILD_PTSCOTCH=OFF")
+           #:phases
+           #~(modify-phases %standard-phases
+               (add-after 'install 'install-metis
+                 (lambda* (#:key outputs #:allow-other-keys)
+                   ;; Move the METIS compatibility library to a separate output to
+                   ;; avoid a name clash on <metis.h>.
+                   (let* ((out (assoc-ref outputs "out"))
+                          (metis (assoc-ref outputs "metis"))
+                          (prefix (string-length out)))
+                     (for-each (lambda (file)
+                                 ;; 'SCOTCHConfig.cmake' includes
+                                 ;; *metisTargets.cmake from
+                                 ;; ${CMAKE_CURRENT_LIST_DIR} so keep all
+                                 ;; *.cmake files in "out".
+                                 (unless (string-suffix? ".cmake" file)
+                                   (let ((target
+                                          (string-append metis
+                                                         (string-drop file
+                                                                      prefix))))
+                                     (mkdir-p (dirname target))
+                                     (rename-file file target))))
+                               (find-files out "metis"))))))))
     (home-page "https://www.labri.fr/perso/pelegrin/scotch/")
     (properties
      `((release-monitoring-url
@@ -5260,9 +5261,8 @@ (define-public scotch32
     (name "scotch32")
     (arguments
      (substitute-keyword-arguments (package-arguments scotch)
-       ((#:configure-flags flags ''())
-        ''("-DBUILD_SHARED_LIBS=YES" "-DBUILD_PTSCOTCH=OFF"
-           "-DINTSIZE=32"))))
+       ((#:configure-flags flags #~'())
+        #~'("-DBUILD_SHARED_LIBS=YES" "-DBUILD_PTSCOTCH=OFF" "-DINTSIZE=32"))))
     (synopsis
      "Programs and libraries for graph algorithms (32-bit integers)")))
 
@@ -5274,13 +5274,12 @@ (define-public pt-scotch
      (list openmpi))                              ;headers include MPI headers
     (arguments
      (substitute-keyword-arguments (package-arguments scotch)
-       ((#:configure-flags flags ''())
-        ''("-DBUILD_SHARED_LIBS=YES" "-DBUILD_PTSCOTCH=ON"
-           "-DINTSIZE=64"))
-       ((#:phases phases '%standard-phases)
-        `(modify-phases ,phases
-           (add-before 'check 'mpi-setup
-             ,%openmpi-setup)))))
+       ((#:configure-flags flags #~'())
+        #~'("-DBUILD_SHARED_LIBS=YES" "-DBUILD_PTSCOTCH=ON" "-DINTSIZE=64"))
+       ((#:phases phases #~%standard-phases)
+        #~(modify-phases #$phases
+            (add-before 'check 'mpi-setup
+              #$%openmpi-setup)))))
     (synopsis "Programs and libraries for graph algorithms (with MPI)")))
 
 (define-public pt-scotch32
@@ -5291,9 +5290,8 @@ (define-public pt-scotch32
      (list openmpi))                     ;headers include MPI headers
     (arguments
      (substitute-keyword-arguments (package-arguments pt-scotch)
-       ((#:configure-flags flags ''())
-        ''("-DBUILD_SHARED_LIBS=YES" "-DBUILD_PTSCOTCH=ON"
-           "-DINTSIZE=32"))))
+       ((#:configure-flags flags #~'())
+        #~'("-DBUILD_SHARED_LIBS=YES" "-DBUILD_PTSCOTCH=ON" "-DINTSIZE=32"))))
     (synopsis
      "Programs and libraries for graph algorithms (with MPI and 32-bit integers)")))
 
-- 
2.49.0





Information forwarded to andreas <at> enge.fr, bavier <at> posteo.net, sharlatanus <at> gmail.com, guix-patches <at> gnu.org:
bug#77991; Package guix-patches. (Tue, 22 Apr 2025 15:33:04 GMT) Full text and rfc822 format available.

Message #17 received at 77991 <at> debbugs.gnu.org (full text, mbox):

From: Ludovic Courtès <ludo <at> gnu.org>
To: 77991 <at> debbugs.gnu.org
Cc: Ludovic Courtès <ludovic.courtes <at> inria.fr>
Subject: [PATCH 4/4] gnu: scotch: Update to 7.0.7.
Date: Tue, 22 Apr 2025 17:31:50 +0200
From: Ludovic Courtès <ludovic.courtes <at> inria.fr>

* gnu/packages/maths.scm (scotch): Update to 7.0.7.

Change-Id: Idef8e0956d9da1aef13fb423c53db60b6a61b04b
---
 gnu/packages/maths.scm | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm
index abd05b9d63..5683c24f84 100644
--- a/gnu/packages/maths.scm
+++ b/gnu/packages/maths.scm
@@ -5190,7 +5190,7 @@ (define-public superlu-dist
 (define-public scotch
   (package
     (name "scotch")
-    (version "7.0.4")
+    (version "7.0.7")
     (source
      (origin
        (method git-fetch)
@@ -5199,7 +5199,7 @@ (define-public scotch
              (commit (string-append "v" version))))
        (file-name (git-file-name name version))
        (sha256
-        (base32 "0rbc51albpd2923dkirpkj8rfkic6rsvwqqnv1mmsk391zhk3amr"))
+        (base32 "0r46bmnz9xjlgcb3vvlx3sg2qh4gfgga89vs4vlbzz3s4lj48g46"))
        (modules '((guix build utils)))
        (snippet
         #~(substitute* "src/libscotchmetis/library_parmetis.h"
-- 
2.49.0





Information forwarded to andreas <at> enge.fr, bavier <at> posteo.net, sharlatanus <at> gmail.com, guix-patches <at> gnu.org:
bug#77991; Package guix-patches. (Thu, 24 Apr 2025 14:38:03 GMT) Full text and rfc822 format available.

Message #20 received at 77991 <at> debbugs.gnu.org (full text, mbox):

From: Ludovic Courtès <ludo <at> gnu.org>
To: 77991 <at> debbugs.gnu.org
Cc: Ludovic Courtès <ludo <at> gnu.org>
Subject: [PATCH v2 0/4] Upgrade Scotch to 7.0.7
Date: Thu, 24 Apr 2025 16:36:53 +0200
As colleagues found out, the commit that was meant to fix 'SCOTCHConfig.cmake'
was ineffective: the *metisTargets.cmake file were indeed found, but then
lib*scotchmetis.so would not be found, causing 'cmake' to fail.

This version fixes that.  I tested again all the dependents.

Ludo'.

Ludovic Courtès (4):
  gnu: scotch: Remove “-shared” deprecated aliases.
  gnu: scotch: Remove CMake machinery for the Metis compatibility layer.
  gnu: scotch, scotch32, pt-scotch, pt-scotch32: Use gexps.
  gnu: scotch: Update to 7.0.7.

 gnu/local.mk                                  |  1 +
 gnu/packages/maths.scm                        | 74 ++++++++-----------
 .../patches/scotch-cmake-remove-metis.patch   | 24 ++++++
 3 files changed, 57 insertions(+), 42 deletions(-)
 create mode 100644 gnu/packages/patches/scotch-cmake-remove-metis.patch


base-commit: 9f4bdb270e178eac636df3f4bbffbe4aa3b90a67
-- 
2.49.0





Information forwarded to andreas <at> enge.fr, bavier <at> posteo.net, sharlatanus <at> gmail.com, guix-patches <at> gnu.org:
bug#77991; Package guix-patches. (Thu, 24 Apr 2025 14:38:03 GMT) Full text and rfc822 format available.

Message #23 received at 77991 <at> debbugs.gnu.org (full text, mbox):

From: Ludovic Courtès <ludo <at> gnu.org>
To: 77991 <at> debbugs.gnu.org
Cc: Ludovic Courtès <ludovic.courtes <at> inria.fr>
Subject: [PATCH v2 1/4] gnu: scotch: Remove “-shared” deprecated aliases.
Date: Thu, 24 Apr 2025 16:36:54 +0200
From: Ludovic Courtès <ludovic.courtes <at> inria.fr>

These aliases were added in commit
d4709d78c3b460d7be02f15f6cc6c85f398b1a46, Feb. 2022.

* gnu/packages/maths.scm (scotch-shared, pt-scotch-shared): Remove.

Change-Id: I971bbf999a9fce5dae05c865316defe55eaeb212
---
 gnu/packages/maths.scm | 11 -----------
 1 file changed, 11 deletions(-)

diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm
index 28c71283a7..7327aeaf40 100644
--- a/gnu/packages/maths.scm
+++ b/gnu/packages/maths.scm
@@ -5290,17 +5290,6 @@ (define-public pt-scotch32
     (synopsis
      "Programs and libraries for graph algorithms (with MPI and 32-bit integers)")))
 
-(define-public scotch-shared
-  ;; There used to be separate shared library variants while the default would
-  ;; provide .a files including PIC objects.  With the switch to CMake, .a
-  ;; files contain non-PIC objects, which breaks some users, and switching to
-  ;; shared libraries by default seems to make more sense, as discussed here:
-  ;; <https://issues.guix.gnu.org/47619#2>.
-  (deprecated-package "scotch-shared" scotch))
-
-(define-public pt-scotch-shared
-  (deprecated-package "pt-scotch-shared" pt-scotch))
-
 (define-public gklib
   (let ((commit "8bd6bad750b2b0d90800c632cf18e8ee93ad72d7")
         (revision "1"))
-- 
2.49.0





Information forwarded to andreas <at> enge.fr, bavier <at> posteo.net, sharlatanus <at> gmail.com, guix-patches <at> gnu.org:
bug#77991; Package guix-patches. (Thu, 24 Apr 2025 14:38:04 GMT) Full text and rfc822 format available.

Message #26 received at 77991 <at> debbugs.gnu.org (full text, mbox):

From: Ludovic Courtès <ludo <at> gnu.org>
To: 77991 <at> debbugs.gnu.org
Cc: Ludovic Courtès <ludovic.courtes <at> inria.fr>
Subject: [PATCH v2 2/4] gnu: scotch: Remove CMake machinery for the Metis
 compatibility layer.
Date: Thu, 24 Apr 2025 16:36:55 +0200
From: Ludovic Courtès <ludovic.courtes <at> inria.fr>

This fixes a bug whereby ‘SCOTCHConfig.cmake’ would fail to find
‘scotchmetisTargets.cmake’ because it expects it to be in the same
directory as itself, ${CMAKE_CURRENT_LIST_DIR}.

* gnu/packages/patches/scotch-cmake-remove-metis.patch: New file.
* gnu/packages/maths.scm (scotch)[source]: Use it.
* gnu/local.mk (dist_patch_DATA): Add it.

Change-Id: If8d8f890852c35cede6e81c33d18b9101988a635
---
 gnu/local.mk                                  |  1 +
 gnu/packages/maths.scm                        |  3 +++
 .../patches/scotch-cmake-remove-metis.patch   | 24 +++++++++++++++++++
 3 files changed, 28 insertions(+)
 create mode 100644 gnu/packages/patches/scotch-cmake-remove-metis.patch

diff --git a/gnu/local.mk b/gnu/local.mk
index 4aa84f8ef9..a250b3f748 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -2249,6 +2249,7 @@ dist_patch_DATA =						\
   %D%/packages/patches/scilab-better-compiler-detection.patch	\
   %D%/packages/patches/scilab-tbx_build_help.patch		\
   %D%/packages/patches/scons-test-environment.patch		\
+  %D%/packages/patches/scotch-cmake-remove-metis.patch		\
   %D%/packages/patches/screen-hurd-path-max.patch		\
   %D%/packages/patches/scsh-nonstring-search-path.patch	\
   %D%/packages/patches/seed-webkit.patch			\
diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm
index 7327aeaf40..33eb4cda7b 100644
--- a/gnu/packages/maths.scm
+++ b/gnu/packages/maths.scm
@@ -5200,6 +5200,7 @@ (define-public scotch
        (file-name (git-file-name name version))
        (sha256
         (base32 "0rbc51albpd2923dkirpkj8rfkic6rsvwqqnv1mmsk391zhk3amr"))
+       (patches (search-patches "scotch-cmake-remove-metis.patch"))
        (modules '((guix build utils)))
        (snippet
         #~(substitute* "src/libscotchmetis/library_parmetis.h"
@@ -5220,6 +5221,8 @@ (define-public scotch
        (modify-phases %standard-phases
          (add-after 'install 'install-metis
            (lambda* (#:key outputs #:allow-other-keys)
+             ;; Move the METIS compatibility library to a separate output to
+             ;; avoid a name clash on <metis.h>.
              (let* ((out    (assoc-ref outputs "out"))
                     (metis  (assoc-ref outputs "metis"))
                     (prefix (string-length out)))
diff --git a/gnu/packages/patches/scotch-cmake-remove-metis.patch b/gnu/packages/patches/scotch-cmake-remove-metis.patch
new file mode 100644
index 0000000000..91bb36f86e
--- /dev/null
+++ b/gnu/packages/patches/scotch-cmake-remove-metis.patch
@@ -0,0 +1,24 @@
+Remove the CMake machinery for the Metis/Parmetis compatibility layer:
+it has zero users and complicates things due to the separate "metis"
+output.
+
+Notably, the assumption in 'SCOTCHConfig.cmake' is that *metisTargets.cmake
+are in the same directory, which is not the case here.  Furthermore,
+'*metisTargets-relwithdebuginfo.cmake' assumes 'libscotchmetis*.so*' is
+available under '_IMPORT_PREFIX', which is only the case when
+'libscotchmetis*.so' is installed in the same directory as 'libscotch.so'.
+
+diff --git a/cmake/SCOTCHConfig.cmake.in b/cmake/SCOTCHConfig.cmake.in
+index ec52ac5..4ce5c30 100644
+--- a/cmake/SCOTCHConfig.cmake.in
++++ b/cmake/SCOTCHConfig.cmake.in
+@@ -77,9 +77,3 @@ if(@BUILD_LIBESMUMPS@)
+     include("${CMAKE_CURRENT_LIST_DIR}/ptesmumpsTargets.cmake")
+   endif()
+ endif()
+-if(@BUILD_LIBSCOTCHMETIS@)
+-  include("${CMAKE_CURRENT_LIST_DIR}/scotchmetisTargets.cmake")
+-  if(@BUILD_PTSCOTCH@)
+-    include("${CMAKE_CURRENT_LIST_DIR}/ptscotchparmetisTargets.cmake")
+-  endif()
+-endif()
-- 
2.49.0





Information forwarded to andreas <at> enge.fr, bavier <at> posteo.net, sharlatanus <at> gmail.com, guix-patches <at> gnu.org:
bug#77991; Package guix-patches. (Thu, 24 Apr 2025 14:38:04 GMT) Full text and rfc822 format available.

Message #29 received at 77991 <at> debbugs.gnu.org (full text, mbox):

From: Ludovic Courtès <ludo <at> gnu.org>
To: 77991 <at> debbugs.gnu.org
Cc: Ludovic Courtès <ludo <at> gnu.org>
Subject: [PATCH v2 3/4] gnu: scotch, scotch32, pt-scotch,
 pt-scotch32: Use gexps.
Date: Thu, 24 Apr 2025 16:36:56 +0200
* gnu/packages/maths.scm (scotch, scotch32)
(pt-scotch, pt-scotch32): Use gexps.

Change-Id: I93febc994c5345e133eddbd016b1974d08df5bdf
---
 gnu/packages/maths.scm | 60 ++++++++++++++++++++----------------------
 1 file changed, 29 insertions(+), 31 deletions(-)

diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm
index 33eb4cda7b..47dc63bcec 100644
--- a/gnu/packages/maths.scm
+++ b/gnu/packages/maths.scm
@@ -5215,24 +5215,25 @@ (define-public scotch
      (list flex bison gfortran))
     (outputs '("out" "metis"))
     (arguments
-     `(#:configure-flags '("-DBUILD_SHARED_LIBS=YES" "-DINTSIZE=64"
-                           "-DBUILD_PTSCOTCH=OFF")
-       #:phases
-       (modify-phases %standard-phases
-         (add-after 'install 'install-metis
-           (lambda* (#:key outputs #:allow-other-keys)
-             ;; Move the METIS compatibility library to a separate output to
-             ;; avoid a name clash on <metis.h>.
-             (let* ((out    (assoc-ref outputs "out"))
-                    (metis  (assoc-ref outputs "metis"))
-                    (prefix (string-length out)))
-               (for-each (lambda (file)
-                           (let ((target (string-append
-                                          metis
-                                          (string-drop file prefix))))
-                             (mkdir-p (dirname target))
-                             (rename-file file target)))
-                         (find-files out "metis"))))))))
+     (list #:configure-flags #~'("-DBUILD_SHARED_LIBS=YES" "-DINTSIZE=64"
+                                 "-DBUILD_PTSCOTCH=OFF")
+           #:phases
+           #~(modify-phases %standard-phases
+               (add-after 'install 'install-metis
+                 (lambda* (#:key outputs #:allow-other-keys)
+                   ;; Move the METIS compatibility library to a separate output to
+                   ;; avoid a name clash on <metis.h>.
+                   (let* ((out (assoc-ref outputs "out"))
+                          (metis (assoc-ref outputs "metis"))
+                          (prefix (string-length out)))
+                     (for-each (lambda (file)
+                                 (let ((target
+                                        (string-append metis
+                                                       (string-drop file
+                                                                    prefix))))
+                                   (mkdir-p (dirname target))
+                                   (rename-file file target)))
+                               (find-files out "metis"))))))))
     (home-page "https://www.labri.fr/perso/pelegrin/scotch/")
     (properties
      `((release-monitoring-url
@@ -5256,9 +5257,8 @@ (define-public scotch32
     (name "scotch32")
     (arguments
      (substitute-keyword-arguments (package-arguments scotch)
-       ((#:configure-flags flags ''())
-        ''("-DBUILD_SHARED_LIBS=YES" "-DBUILD_PTSCOTCH=OFF"
-           "-DINTSIZE=32"))))
+       ((#:configure-flags flags #~'())
+        #~'("-DBUILD_SHARED_LIBS=YES" "-DBUILD_PTSCOTCH=OFF" "-DINTSIZE=32"))))
     (synopsis
      "Programs and libraries for graph algorithms (32-bit integers)")))
 
@@ -5270,13 +5270,12 @@ (define-public pt-scotch
      (list openmpi))                              ;headers include MPI headers
     (arguments
      (substitute-keyword-arguments (package-arguments scotch)
-       ((#:configure-flags flags ''())
-        ''("-DBUILD_SHARED_LIBS=YES" "-DBUILD_PTSCOTCH=ON"
-           "-DINTSIZE=64"))
-       ((#:phases phases '%standard-phases)
-        `(modify-phases ,phases
-           (add-before 'check 'mpi-setup
-             ,%openmpi-setup)))))
+       ((#:configure-flags flags #~'())
+        #~'("-DBUILD_SHARED_LIBS=YES" "-DBUILD_PTSCOTCH=ON" "-DINTSIZE=64"))
+       ((#:phases phases #~%standard-phases)
+        #~(modify-phases #$phases
+            (add-before 'check 'mpi-setup
+              #$%openmpi-setup)))))
     (synopsis "Programs and libraries for graph algorithms (with MPI)")))
 
 (define-public pt-scotch32
@@ -5287,9 +5286,8 @@ (define-public pt-scotch32
      (list openmpi))                     ;headers include MPI headers
     (arguments
      (substitute-keyword-arguments (package-arguments pt-scotch)
-       ((#:configure-flags flags ''())
-        ''("-DBUILD_SHARED_LIBS=YES" "-DBUILD_PTSCOTCH=ON"
-           "-DINTSIZE=32"))))
+       ((#:configure-flags flags #~'())
+        #~'("-DBUILD_SHARED_LIBS=YES" "-DBUILD_PTSCOTCH=ON" "-DINTSIZE=32"))))
     (synopsis
      "Programs and libraries for graph algorithms (with MPI and 32-bit integers)")))
 
-- 
2.49.0





Information forwarded to andreas <at> enge.fr, bavier <at> posteo.net, sharlatanus <at> gmail.com, guix-patches <at> gnu.org:
bug#77991; Package guix-patches. (Thu, 24 Apr 2025 14:38:05 GMT) Full text and rfc822 format available.

Message #32 received at 77991 <at> debbugs.gnu.org (full text, mbox):

From: Ludovic Courtès <ludo <at> gnu.org>
To: 77991 <at> debbugs.gnu.org
Cc: Ludovic Courtès <ludovic.courtes <at> inria.fr>
Subject: [PATCH v2 4/4] gnu: scotch: Update to 7.0.7.
Date: Thu, 24 Apr 2025 16:36:57 +0200
From: Ludovic Courtès <ludovic.courtes <at> inria.fr>

* gnu/packages/maths.scm (scotch): Update to 7.0.7.

Change-Id: Idef8e0956d9da1aef13fb423c53db60b6a61b04b
---
 gnu/packages/maths.scm | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm
index 47dc63bcec..ee6b64350c 100644
--- a/gnu/packages/maths.scm
+++ b/gnu/packages/maths.scm
@@ -5190,7 +5190,7 @@ (define-public superlu-dist
 (define-public scotch
   (package
     (name "scotch")
-    (version "7.0.4")
+    (version "7.0.7")
     (source
      (origin
        (method git-fetch)
@@ -5199,7 +5199,7 @@ (define-public scotch
              (commit (string-append "v" version))))
        (file-name (git-file-name name version))
        (sha256
-        (base32 "0rbc51albpd2923dkirpkj8rfkic6rsvwqqnv1mmsk391zhk3amr"))
+        (base32 "0r46bmnz9xjlgcb3vvlx3sg2qh4gfgga89vs4vlbzz3s4lj48g46"))
        (patches (search-patches "scotch-cmake-remove-metis.patch"))
        (modules '((guix build utils)))
        (snippet
-- 
2.49.0





Information forwarded to guix-patches <at> gnu.org:
bug#77991; Package guix-patches. (Sun, 27 Apr 2025 12:08:03 GMT) Full text and rfc822 format available.

Message #35 received at 77991 <at> debbugs.gnu.org (full text, mbox):

From: Christopher Baines <mail <at> cbaines.net>
To: Ludovic Courtès <ludo <at> gnu.org>
Cc: 77991 <at> debbugs.gnu.org, Sharlatan Hellseher <sharlatanus <at> gmail.com>,
 Andreas Enge <andreas <at> enge.fr>, Eric Bavier <bavier <at> posteo.net>
Subject: Re: [bug#77991] [PATCH v2 0/4] Upgrade Scotch to 7.0.7
Date: Sun, 27 Apr 2025 13:07:01 +0100
[Message part 1 (text/plain, inline)]
Ludovic Courtès <ludo <at> gnu.org> writes:

> As colleagues found out, the commit that was meant to fix 'SCOTCHConfig.cmake'
> was ineffective: the *metisTargets.cmake file were indeed found, but then
> lib*scotchmetis.so would not be found, causing 'cmake' to fail.
>
> This version fixes that.  I tested again all the dependents.
>
> Ludo'.
>
> Ludovic Courtès (4):
>   gnu: scotch: Remove “-shared” deprecated aliases.
>   gnu: scotch: Remove CMake machinery for the Metis compatibility layer.
>   gnu: scotch, scotch32, pt-scotch, pt-scotch32: Use gexps.
>   gnu: scotch: Update to 7.0.7.
>
>  gnu/local.mk                                  |  1 +
>  gnu/packages/maths.scm                        | 74 ++++++++-----------
>  .../patches/scotch-cmake-remove-metis.patch   | 24 ++++++
>  3 files changed, 57 insertions(+), 42 deletions(-)
>  create mode 100644 gnu/packages/patches/scotch-cmake-remove-metis.patch
>
>
> base-commit: 9f4bdb270e178eac636df3f4bbffbe4aa3b90a67

Apart from some patch file name lint warnings (which may be not
actionable) QA hasn't found any issues and this all sounds good to me.
[signature.asc (application/pgp-signature, inline)]

Reply sent to Andreas Enge <andreas <at> enge.fr>:
You have taken responsibility. (Tue, 29 Apr 2025 17:18:01 GMT) Full text and rfc822 format available.

Notification sent to Ludovic Courtès <ludo <at> gnu.org>:
bug acknowledged by developer. (Tue, 29 Apr 2025 17:18:01 GMT) Full text and rfc822 format available.

Message #40 received at 77991-done <at> debbugs.gnu.org (full text, mbox):

From: Andreas Enge <andreas <at> enge.fr>
To: Christopher Baines <mail <at> cbaines.net>
Cc: Ludovic Courtès <ludo <at> gnu.org>,
 Sharlatan Hellseher <sharlatanus <at> gmail.com>, 77991-done <at> debbugs.gnu.org,
 Eric Bavier <bavier <at> posteo.net>
Subject: Re: [bug#77991] [PATCH v2 0/4] Upgrade Scotch to 7.0.7
Date: Tue, 29 Apr 2025 19:16:54 +0200
Hello Ludovic,

to get rid of this package from my inbox, I pushed the commits on your
behalf. QA has forgotten about them, but interestingly, it must have
built the packages, since they are simply downloaded as substitutes.

Thanks,

Andreas





bug archived. Request was from Debbugs Internal Request <help-debbugs <at> gnu.org> to internal_control <at> debbugs.gnu.org. (Wed, 28 May 2025 11:24:34 GMT) Full text and rfc822 format available.

This bug report was last modified 24 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.