diff options
Diffstat (limited to 'sci-libs/symengine')
-rw-r--r-- | sci-libs/symengine/files/symengine-0.8.1-fix_llvm.patch | 53 | ||||
-rw-r--r-- | sci-libs/symengine/symengine-0.8.1-r1.ebuild | 1 |
2 files changed, 54 insertions, 0 deletions
diff --git a/sci-libs/symengine/files/symengine-0.8.1-fix_llvm.patch b/sci-libs/symengine/files/symengine-0.8.1-fix_llvm.patch new file mode 100644 index 000000000000..3e39a9eda500 --- /dev/null +++ b/sci-libs/symengine/files/symengine-0.8.1-fix_llvm.patch @@ -0,0 +1,53 @@ +From: Matthias Maier <tamiko@43-1.org> +Date: Sat, 11 Jun 2022 01:44:54 -0500 +Subject: [PATCH] Fix cmake configure for shared LLVM libraries + +Gentoo builds LLVM into a combined shared library. The CMake +configuration shipped with LLVM is evidently broken in this case, see + + https://github.com/llvm/llvm-project/issues/34593 + https://bugs.gentoo.org/745915 + +We work around this issue by simply linking against the monolithic +"LLVM" target. +--- + CMakeLists.txt | 23 +---------------------- + 1 file changed, 1 insertion(+), 22 deletions(-) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index cf5ab3b..dfa6605 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -402,28 +402,7 @@ if (WITH_LLVM) + endforeach() + set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} -DNDEBUG") + +- llvm_map_components_to_libnames(llvm_libs_direct ${SYMENGINE_LLVM_COMPONENTS}) +- llvm_expand_dependencies(llvm_libs ${llvm_libs_direct}) +- +- if (BUILD_SHARED_LIBS) +- set(SYMENGINE_LLVM_LINK_DOWNSTREAM_DEFAULT False) +- foreach(LLVM_LIB ${llvm_libs}) +- get_target_property(${LLVM_LIB}_IMPORT_LOCATION ${LLVM_LIB} LOCATION) +- if (NOT "${${LLVM_LIB}_IMPORT_LOCATION}" MATCHES "NOTFOUND") +- if (NOT "${${LLVM_LIB}_IMPORT_LOCATION}" MATCHES ".a$|.lib$") +- set(SYMENGINE_LLVM_LINK_DOWNSTREAM_DEFAULT True) +- endif() +- endif() +- endforeach() +- else() +- set(SYMENGINE_LLVM_LINK_DOWNSTREAM_DEFAULT True) +- endif() +- set(SYMENGINE_LLVM_LINK_DOWNSTREAM ${SYMENGINE_LLVM_LINK_DOWNSTREAM_DEFAULT} +- CACHE INTERNAL "Link to llvm in SymEngineConfig.cmake") +- if (NOT SYMENGINE_LLVM_LINK_DOWNSTREAM) +- unset(SYMENGINE_LLVM_COMPONENTS) +- endif () +- set(LIBS ${LIBS} ${llvm_libs}) ++ set(LIBS ${LIBS} LLVM) + include_directories(SYSTEM ${LLVM_INCLUDE_DIRS}) + set(HAVE_SYMENGINE_LLVM yes) + set(PKGS ${PKGS} "LLVM") +-- +2.35.1 + diff --git a/sci-libs/symengine/symengine-0.8.1-r1.ebuild b/sci-libs/symengine/symengine-0.8.1-r1.ebuild index c389bae57034..6aee3b49af90 100644 --- a/sci-libs/symengine/symengine-0.8.1-r1.ebuild +++ b/sci-libs/symengine/symengine-0.8.1-r1.ebuild @@ -31,6 +31,7 @@ DEPEND="${RDEPEND} PATCHES=( "${FILESDIR}/${PN}-0.7.0-cmake-build-type.patch" + "${FILESDIR}/${PN}-0.8.1-fix_llvm.patch" ) pkg_pretend() { |