commit: 8471ec49af94d79ebafca2fb9a0b69e0c4d16518 Author: Alexey Korepanov <kaikaikai <AT> yandex <DOT> ru> AuthorDate: Thu Mar 13 11:52:49 2025 +0000 Commit: Sam James <sam <AT> gentoo <DOT> org> CommitDate: Thu Mar 13 12:04:46 2025 +0000 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=8471ec49
dev-build/cmake: allow upstream behavior for FindBLAS Gentoo patches cmake's FindBLAS changing the upstream behavior, which sometimes breaks builds and takes time for investigation. The corresponding bug has been open for 4.5 years: bugs.gentoo.org/736547. This patch allows restoring the upstream behavior of FindBLAS by defining GENTOO_REMOVE_CMAKE_BLAS_HACK. This is quite ugly, but it is easy and less ugly than what we have right now. [sam: new revision only for .6, not .5 (my error), not git mv, and a new patch rather than changing the existing one in-place)] Bug: https://bugs.gentoo.org/736547 Signed-off-by: Alexey Korepanov <kaikaikai <AT> yandex.ru> Closes: https://github.com/gentoo/gentoo/pull/40709 Signed-off-by: Sam James <sam <AT> gentoo.org> ...ake-4.0.0_rc4.ebuild => cmake-3.31.6-r1.ebuild} | 30 ++++++++-------------- dev-build/cmake/cmake-4.0.0_rc4.ebuild | 2 +- dev-build/cmake/cmake-9999.ebuild | 2 +- ...cmake-3.31.6-Prefer-pkgconfig-in-FindBLAS.patch | 28 ++++++++++++++++++++ 4 files changed, 41 insertions(+), 21 deletions(-) diff --git a/dev-build/cmake/cmake-4.0.0_rc4.ebuild b/dev-build/cmake/cmake-3.31.6-r1.ebuild similarity index 92% copy from dev-build/cmake/cmake-4.0.0_rc4.ebuild copy to dev-build/cmake/cmake-3.31.6-r1.ebuild index 2ea266e74004..91497ec73ba9 100644 --- a/dev-build/cmake/cmake-4.0.0_rc4.ebuild +++ b/dev-build/cmake/cmake-3.31.6-r1.ebuild @@ -9,9 +9,7 @@ EAPI=8 : ${CMAKE_DOCS_PREBUILT:=1} CMAKE_DOCS_PREBUILT_DEV=sam -CMAKE_DOCS_VERSION=4.0.0_rc1 -#CMAKE_DOCS_VERSION=${PV} -#CMAKE_DOCS_VERSION=$(ver_cut 1-2).0 +CMAKE_DOCS_VERSION=$(ver_cut 1-2).0 # Default to generating docs (inc. man pages) if no prebuilt; overridden later # See bug #784815 CMAKE_DOCS_USEFLAG="+doc" @@ -40,21 +38,19 @@ else SRC_URI+=" !doc? ( https://dev.gentoo.org/~${CMAKE_DOCS_PREBUILT_DEV}/distfiles/${CATEGORY}/${PN}/${PN}-${CMAKE_DOCS_VERSION}-docs.tar.xz )" fi - VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/bradking.asc - inherit verify-sig + if [[ ${PV} != *_rc* ]] ; then + VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/bradking.asc + inherit verify-sig - SRC_URI+=" verify-sig? ( - https://cmake.org/files/v$(ver_cut 1-2)/${MY_P}-SHA-256.txt - https://cmake.org/files/v$(ver_cut 1-2)/${MY_P}-SHA-256.txt.asc - https://github.com/Kitware/CMake/releases/download/v${PV/_/-}/${MY_P}-SHA-256.txt - https://github.com/Kitware/CMake/releases/download/v${PV/_/-}/${MY_P}-SHA-256.txt.asc - )" + SRC_URI+=" verify-sig? ( + https://github.com/Kitware/CMake/releases/download/v$(ver_cut 1-3)/${MY_P}-SHA-256.txt + https://github.com/Kitware/CMake/releases/download/v$(ver_cut 1-3)/${MY_P}-SHA-256.txt.asc + )" - if [[ ${PV} != *_rc* ]] ; then KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris" - fi - BDEPEND="verify-sig? ( >=sec-keys/openpgp-keys-bradking-20240902 )" + BDEPEND="verify-sig? ( >=sec-keys/openpgp-keys-bradking-20240902 )" + fi fi [[ ${CMAKE_DOCS_PREBUILT} == 1 ]] && CMAKE_DOCS_USEFLAG="doc" @@ -95,7 +91,7 @@ PATCHES=( "${FILESDIR}"/${PN}-3.27.0_rc1-0001-Don-t-use-.so-for-modules-on-darwin-macos.-Use-.bund.patch "${FILESDIR}"/${PN}-3.27.0_rc1-0002-Set-some-proper-paths-to-make-cmake-find-our-tools.patch # Misc - "${FILESDIR}"/${PN}-3.27.0_rc1-0003-Prefer-pkgconfig-in-FindBLAS.patch + "${FILESDIR}"/${PN}-3.31.6-Prefer-pkgconfig-in-FindBLAS.patch "${FILESDIR}"/${PN}-3.27.0_rc1-0004-Ensure-that-the-correct-version-of-Qt-is-always-used.patch "${FILESDIR}"/${PN}-3.27.0_rc1-0005-Respect-Gentoo-s-Python-eclasses.patch # Cuda @@ -221,10 +217,6 @@ src_prepare() { # https://gitlab.kitware.com/cmake/cmake/-/issues/20740 filter-lto - # 4.0.0_rc1 is missing this, fails to configure - # https://gitlab.kitware.com/cmake/cmake/-/issues/26712 - touch .clang-tidy Utilities/.clang-tidy || die - if ! has_version -b \>=${CATEGORY}/${PN}-3.13 || ! cmake --version &>/dev/null ; then CMAKE_BINARY="${S}/Bootstrap.cmk/cmake" cmake_src_bootstrap diff --git a/dev-build/cmake/cmake-4.0.0_rc4.ebuild b/dev-build/cmake/cmake-4.0.0_rc4.ebuild index 2ea266e74004..41639c300a5d 100644 --- a/dev-build/cmake/cmake-4.0.0_rc4.ebuild +++ b/dev-build/cmake/cmake-4.0.0_rc4.ebuild @@ -95,7 +95,7 @@ PATCHES=( "${FILESDIR}"/${PN}-3.27.0_rc1-0001-Don-t-use-.so-for-modules-on-darwin-macos.-Use-.bund.patch "${FILESDIR}"/${PN}-3.27.0_rc1-0002-Set-some-proper-paths-to-make-cmake-find-our-tools.patch # Misc - "${FILESDIR}"/${PN}-3.27.0_rc1-0003-Prefer-pkgconfig-in-FindBLAS.patch + "${FILESDIR}"/${PN}-3.31.6-Prefer-pkgconfig-in-FindBLAS.patch "${FILESDIR}"/${PN}-3.27.0_rc1-0004-Ensure-that-the-correct-version-of-Qt-is-always-used.patch "${FILESDIR}"/${PN}-3.27.0_rc1-0005-Respect-Gentoo-s-Python-eclasses.patch # Cuda diff --git a/dev-build/cmake/cmake-9999.ebuild b/dev-build/cmake/cmake-9999.ebuild index 2ea266e74004..41639c300a5d 100644 --- a/dev-build/cmake/cmake-9999.ebuild +++ b/dev-build/cmake/cmake-9999.ebuild @@ -95,7 +95,7 @@ PATCHES=( "${FILESDIR}"/${PN}-3.27.0_rc1-0001-Don-t-use-.so-for-modules-on-darwin-macos.-Use-.bund.patch "${FILESDIR}"/${PN}-3.27.0_rc1-0002-Set-some-proper-paths-to-make-cmake-find-our-tools.patch # Misc - "${FILESDIR}"/${PN}-3.27.0_rc1-0003-Prefer-pkgconfig-in-FindBLAS.patch + "${FILESDIR}"/${PN}-3.31.6-Prefer-pkgconfig-in-FindBLAS.patch "${FILESDIR}"/${PN}-3.27.0_rc1-0004-Ensure-that-the-correct-version-of-Qt-is-always-used.patch "${FILESDIR}"/${PN}-3.27.0_rc1-0005-Respect-Gentoo-s-Python-eclasses.patch # Cuda diff --git a/dev-build/cmake/files/cmake-3.31.6-Prefer-pkgconfig-in-FindBLAS.patch b/dev-build/cmake/files/cmake-3.31.6-Prefer-pkgconfig-in-FindBLAS.patch new file mode 100644 index 000000000000..0f8611771828 --- /dev/null +++ b/dev-build/cmake/files/cmake-3.31.6-Prefer-pkgconfig-in-FindBLAS.patch @@ -0,0 +1,28 @@ +diff --git a/Modules/FindBLAS.cmake b/Modules/FindBLAS.cmake +index 6d60c9d86a..b6664dfe26 100644 +--- a/Modules/FindBLAS.cmake ++++ b/Modules/FindBLAS.cmake +@@ -7,6 +7,11 @@ FindBLAS + + Find Basic Linear Algebra Subprograms (BLAS) library + ++Version modified for Gentoo Linux. ++If a valid PkgConfig configuration is found, this overrides and cancels ++all further checks. The upstream behavior can be restored by defining ++GENTOO_REMOVE_CMAKE_BLAS_HACK ++ + This module finds an installed Fortran library that implements the + `BLAS linear-algebra interface`_. + +@@ -281,6 +286,11 @@ function(_add_blas_target) + endif() + endfunction() + ++# first, try PkgConfig ++if(NOT DEFINED GENTOO_REMOVE_CMAKE_BLAS_HACK) ++ set(BLA_PREFER_PKGCONFIG ON) ++endif() ++ + if(CMAKE_Fortran_COMPILER_LOADED) + include(${CMAKE_CURRENT_LIST_DIR}/CheckFortranFunctionExists.cmake) + else()
