mirror of
https://codeberg.org/guix/guix.git
synced 2026-01-25 12:05:19 -06:00
gnu: scotch: Remove CMake machinery for the Metis compatibility layer.
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
Signed-off-by: Andreas Enge <andreas@enge.fr>
This commit is contained in:
parent
1a89332388
commit
665bbd0413
3 changed files with 28 additions and 0 deletions
|
|
@ -2252,6 +2252,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 \
|
||||
|
|
|
|||
|
|
@ -5180,6 +5180,7 @@ implemented in ANSI C, and MPI for communications.")
|
|||
(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"
|
||||
|
|
@ -5200,6 +5201,8 @@ implemented in ANSI C, and MPI for communications.")
|
|||
(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)))
|
||||
|
|
|
|||
24
gnu/packages/patches/scotch-cmake-remove-metis.patch
Normal file
24
gnu/packages/patches/scotch-cmake-remove-metis.patch
Normal file
|
|
@ -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()
|
||||
Loading…
Add table
Reference in a new issue