commit: 95cae20e05d591fbb744f6e4921e46f996811b40 Author: Sam James <sam <AT> gentoo <DOT> org> AuthorDate: Wed Jun 8 05:05:57 2022 +0000 Commit: Sam James <sam <AT> gentoo <DOT> org> CommitDate: Wed Jun 8 05:06:05 2022 +0000 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=95cae20e
sci-libs/symengine: fix pthread detection Closes: https://bugs.gentoo.org/849803 Signed-off-by: Sam James <sam <AT> gentoo.org> .../files/symengine-0.9.0-pthread-cmake.patch | 63 ++++++++++++++++++++++ ...gine-0.9.0.ebuild => symengine-0.9.0-r1.ebuild} | 3 +- sci-libs/symengine/symengine-0.9.0.ebuild | 1 + 3 files changed, 66 insertions(+), 1 deletion(-) diff --git a/sci-libs/symengine/files/symengine-0.9.0-pthread-cmake.patch b/sci-libs/symengine/files/symengine-0.9.0-pthread-cmake.patch new file mode 100644 index 000000000000..0fa049dbf218 --- /dev/null +++ b/sci-libs/symengine/files/symengine-0.9.0-pthread-cmake.patch @@ -0,0 +1,63 @@ +From 6ad9620ffc578abdb920b84ea5e393c726389ac0 Mon Sep 17 00:00:00 2001 +From: Sam James <[email protected]> +Date: Wed, 8 Jun 2022 06:02:25 +0100 +Subject: [PATCH] cmake: fix pthread detection + +The homebrew FindPTHREAD.cmake module was hardcoding the path to libpthread +in the installed CMake config file which broke consumers when upgrading from +< glibc-2.34 (e.g. glibc-2.33 -> glibc-2.34). + +CMake provides FindThreads which does the job fine for us. Tested with both +glibc-2.33 (with a previously bad generated file, and then fixed) and glibc-2.35. + +This should be fine on musl and friends too. This brings symengine in line +with most CMake packages. + +Bug: https://bugs.gentoo.org/849803 +Fixes: https://github.com/symengine/symengine/issues/1910 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -335,11 +335,10 @@ if (WITH_PIRANHA) + endif() + + if (WITH_PTHREAD) +- find_package(PTHREAD REQUIRED) +- include_directories(SYSTEM ${PTHREAD_INCLUDE_DIRS}) +- set(LIBS ${LIBS} ${PTHREAD_TARGETS}) ++ find_package(Threads) ++ set(THREADS_PREFER_PTHREAD_FLAG ON) ++ set(LIBS ${LIBS} ${CMAKE_THREAD_LIBS_INIT}) + set(HAVE_SYMENGINE_PTHREAD yes) +- set(PKGS ${PKGS} "PTHREAD") + endif() + + if (WITH_MPFR) +@@ -761,10 +760,6 @@ if (WITH_BOOST) + endif() + + message("WITH_PTHREAD: ${WITH_PTHREAD}") +-if (WITH_PTHREAD) +- message("PTHREAD_INCLUDE_DIRS: ${PTHREAD_INCLUDE_DIRS}") +- message("PTHREAD_LIBRARIES: ${PTHREAD_LIBRARIES}") +-endif() + + message("WITH_MPC: ${WITH_MPC}") + if (WITH_MPC) +--- a/cmake/FindPTHREAD.cmake ++++ /dev/null +@@ -1,14 +0,0 @@ +-include(LibFindMacros) +- +-libfind_include(pthread.h pthread) +-libfind_library(pthread pthread) +- +-set(PTHREAD_LIBRARIES ${PTHREAD_LIBRARY}) +-set(PTHREAD_INCLUDE_DIRS ${PTHREAD_INCLUDE_DIR}) +-set(PTHREAD_TARGETS pthread) +- +-include(FindPackageHandleStandardArgs) +-find_package_handle_standard_args(PTHREAD DEFAULT_MSG PTHREAD_LIBRARIES +- PTHREAD_INCLUDE_DIRS) +- +-mark_as_advanced(PTHREAD_INCLUDE_DIR PTHEARD_LIBRARY) + diff --git a/sci-libs/symengine/symengine-0.9.0.ebuild b/sci-libs/symengine/symengine-0.9.0-r1.ebuild similarity index 96% copy from sci-libs/symengine/symengine-0.9.0.ebuild copy to sci-libs/symengine/symengine-0.9.0-r1.ebuild index bf374c6ddaca..d0cb975cca8a 100644 --- a/sci-libs/symengine/symengine-0.9.0.ebuild +++ b/sci-libs/symengine/symengine-0.9.0-r1.ebuild @@ -31,7 +31,8 @@ DEPEND="${RDEPEND} BDEPEND="doc? ( app-doc/doxygen[dot] )" PATCHES=( - "${FILESDIR}/${PN}-0.7.0-cmake-build-type.patch" + "${FILESDIR}"/${PN}-0.7.0-cmake-build-type.patch + "${FILESDIR}"/${PN}-0.9.0-pthread-cmake.patch ) pkg_pretend() { diff --git a/sci-libs/symengine/symengine-0.9.0.ebuild b/sci-libs/symengine/symengine-0.9.0.ebuild index bf374c6ddaca..98e672759860 100644 --- a/sci-libs/symengine/symengine-0.9.0.ebuild +++ b/sci-libs/symengine/symengine-0.9.0.ebuild @@ -32,6 +32,7 @@ BDEPEND="doc? ( app-doc/doxygen[dot] )" PATCHES=( "${FILESDIR}/${PN}-0.7.0-cmake-build-type.patch" + "${FILESDIR}"/symengine-0.9.0-pthread-cmake.patch ) pkg_pretend() {
