commit: 68decf81c3fa4b5a8d42b6ba526e65d785e1c178 Author: Paul Zander <negril.nx+gentoo <AT> gmail <DOT> com> AuthorDate: Wed Sep 10 14:55:40 2025 +0000 Commit: Sam James <sam <AT> gentoo <DOT> org> CommitDate: Thu Sep 11 03:25:13 2025 +0000 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=68decf81
sci-libs/openblas: fix hardcoded /lib in OpenBLASConfig.cmake Closes: https://bugs.gentoo.org/960514 Signed-off-by: Paul Zander <negril.nx+gentoo <AT> gmail.com> Part-of: https://github.com/gentoo/gentoo/pull/43730 Signed-off-by: Sam James <sam <AT> gentoo.org> .../files/openblas-0.3.30-cmake_libdir.patch | 66 ++++++++++++++++++++++ sci-libs/openblas/openblas-0.3.30-r2.ebuild | 4 ++ 2 files changed, 70 insertions(+) diff --git a/sci-libs/openblas/files/openblas-0.3.30-cmake_libdir.patch b/sci-libs/openblas/files/openblas-0.3.30-cmake_libdir.patch new file mode 100644 index 000000000000..df7a807f0edf --- /dev/null +++ b/sci-libs/openblas/files/openblas-0.3.30-cmake_libdir.patch @@ -0,0 +1,66 @@ +From b9da1ad68ae74924a23717e505475d9a07677119 Mon Sep 17 00:00:00 2001 +From: Paul Zander <[email protected]> +Date: Mon, 21 Jul 2025 18:21:59 +0200 +Subject: [PATCH] Makefile.install, adhere to OPENBLAS_*_DIR + +See-also: https://github.com/OpenMathLib/OpenBLAS/issues/5387 +See-also: https://bugs.gentoo.org/960514 +Signed-off-by: Paul Zander <[email protected]> +--- + Makefile.install | 17 ++++++++++------- + 1 file changed, 10 insertions(+), 7 deletions(-) + +diff --git a/Makefile.install b/Makefile.install +index 10e6425c..de3be619 100644 +--- a/Makefile.install ++++ b/Makefile.install +@@ -23,6 +23,9 @@ PREFIX ?= /opt/OpenBLAS + OPENBLAS_INCLUDE_DIR := $(PREFIX)/include + OPENBLAS_LIBRARY_DIR := $(PREFIX)/lib + OPENBLAS_BINARY_DIR := $(PREFIX)/bin ++OPENBLAS_INCLUDE_DIR_UNPREFIXED = $(subst $(PREFIX),,${OPENBLAS_INCLUDE_DIR}) ++OPENBLAS_LIBRARY_DIR_UNPREFIXED = $(subst $(PREFIX),,${OPENBLAS_LIBRARY_DIR}) ++OPENBLAS_BINARY_DIR_UNPREFIXED = $(subst $(PREFIX),,${OPENBLAS_BINARY_DIR}) + OPENBLAS_BUILD_DIR := $(CURDIR) + OPENBLAS_CMAKE_DIR := $(OPENBLAS_LIBRARY_DIR)/cmake/$(LIBSONAMEBASE) + OPENBLAS_CMAKE_CONFIG := OpenBLASConfig.cmake +@@ -191,29 +194,29 @@ endif + #Generating OpenBLASConfig.cmake + @echo Generating $(OPENBLAS_CMAKE_CONFIG) in $(DESTDIR)$(OPENBLAS_CMAKE_DIR) + @echo "SET(OpenBLAS_VERSION \"${VERSION}\")" > "$(DESTDIR)$(OPENBLAS_CMAKE_DIR)/$(OPENBLAS_CMAKE_CONFIG)" +- @echo "file(REAL_PATH \"../../..\" _OpenBLAS_ROOT_DIR BASE_DIRECTORY \$${CMAKE_CURRENT_LIST_DIR} )" >> "$(DESTDIR)$(OPENBLAS_CMAKE_DIR)/$(OPENBLAS_CMAKE_CONFIG)" +- @echo "SET(OpenBLAS_INCLUDE_DIRS \$${_OpenBLAS_ROOT_DIR}/include)" >> "$(DESTDIR)$(OPENBLAS_CMAKE_DIR)/$(OPENBLAS_CMAKE_CONFIG)" ++ @echo "get_filename_component(PACKAGE_PREFIX_DIR \"\$${CMAKE_CURRENT_LIST_DIR}/../../../\" ABSOLUTE)" >> "$(DESTDIR)$(OPENBLAS_CMAKE_DIR)/$(OPENBLAS_CMAKE_CONFIG)" ++ @echo "SET(OpenBLAS_INCLUDE_DIRS \$${PACKAGE_PREFIX_DIR}${OPENBLAS_INCLUDE_DIR_UNPREFIXED})" >> "$(DESTDIR)$(OPENBLAS_CMAKE_DIR)/$(OPENBLAS_CMAKE_CONFIG)" + + ifneq ($(NO_SHARED),1) + #ifeq logical or + ifeq ($(OSNAME), $(filter $(OSNAME),Linux FreeBSD NetBSD OpenBSD DragonFly)) +- @echo "SET(OpenBLAS_LIBRARIES \$${_OpenBLAS_ROOT_DIR}/lib/$(LIBPREFIX).so)" >> "$(DESTDIR)$(OPENBLAS_CMAKE_DIR)/$(OPENBLAS_CMAKE_CONFIG)" ++ @echo "SET(OpenBLAS_LIBRARIES \$${PACKAGE_PREFIX_DIR}${OPENBLAS_LIBRARY_DIR_UNPREFIXED}/$(LIBPREFIX).so)" >> "$(DESTDIR)$(OPENBLAS_CMAKE_DIR)/$(OPENBLAS_CMAKE_CONFIG)" + endif + ifeq ($(OSNAME), $(filter $(OSNAME),WINNT CYGWIN_NT)) +- @echo "SET(OpenBLAS_LIBRARIES \$${_OpenBLAS_ROOT_DIR}/bin/$(LIBDLLNAME))" >> "$(DESTDIR)$(OPENBLAS_CMAKE_DIR)/$(OPENBLAS_CMAKE_CONFIG)" ++ @echo "SET(OpenBLAS_LIBRARIES \$${PACKAGE_PREFIX_DIR}${OPENBLAS_BINARY_DIR_UNPREFIXED}/$(LIBDLLNAME))" >> "$(DESTDIR)$(OPENBLAS_CMAKE_DIR)/$(OPENBLAS_CMAKE_CONFIG)" + endif + ifeq ($(OSNAME), Darwin) +- @echo "SET(OpenBLAS_LIBRARIES \$${_OpenBLAS_ROOT_DIR}/lib/$(LIBPREFIX).dylib)" >> "$(DESTDIR)$(OPENBLAS_CMAKE_DIR)/$(OPENBLAS_CMAKE_CONFIG)" ++ @echo "SET(OpenBLAS_LIBRARIES \$${PACKAGE_PREFIX_DIR}${OPENBLAS_LIBRARY_DIR_UNPREFIXED}/$(LIBPREFIX).dylib)" >> "$(DESTDIR)$(OPENBLAS_CMAKE_DIR)/$(OPENBLAS_CMAKE_CONFIG)" + endif + @echo "add_library(OpenBLAS::OpenBLAS SHARED IMPORTED)" + @echo "target_include_directories(OpenBLAS::OpenBLAS INTERFACE \$${OpenBLAS_INCLUDE_DIRS})" + ifeq ($(OSNAME), $(filter $(OSNAME),WINNT CYGWIN_NT)) + @echo "set_property(TARGET OpenBLAS::OpenBLAS PROPERTY IMPORTED_LOCATION \$${OpenBLAS_LIBRARIES})" +- @echo "set_property(TARGET OpenBLAS::OpenBLAS PROPERTY IMPORTED_IMPLIB \$${_OpenBLAS_ROOT_DIR}/lib/libopenblas.lib)" ++ @echo "set_property(TARGET OpenBLAS::OpenBLAS PROPERTY IMPORTED_IMPLIB \$${PACKAGE_PREFIX_DIR})${OPENBLAS_LIBRARY_DIR_UNPREFIXED}/libopenblas.lib)" + endif + else + #only static +- @echo "SET(OpenBLAS_LIBRARIES \$${_OpenBLAS_ROOT_DIR}/lib/$(LIBPREFIX).$(LIBSUFFIX))" >> "$(DESTDIR)$(OPENBLAS_CMAKE_DIR)/$(OPENBLAS_CMAKE_CONFIG)" ++ @echo "SET(OpenBLAS_LIBRARIES \$${PACKAGE_PREFIX_DIR}${OPENBLAS_LIBRARY_DIR_UNPREFIXED})/$(LIBPREFIX).$(LIBSUFFIX))" >> "$(DESTDIR)$(OPENBLAS_CMAKE_DIR)/$(OPENBLAS_CMAKE_CONFIG)" + endif + #Generating OpenBLASConfigVersion.cmake + @echo Generating $(OPENBLAS_CMAKE_CONFIG_VERSION) in $(DESTDIR)$(OPENBLAS_CMAKE_DIR) +-- +2.50.1 + diff --git a/sci-libs/openblas/openblas-0.3.30-r2.ebuild b/sci-libs/openblas/openblas-0.3.30-r2.ebuild index 64069ff2e5ef..8c87d62f6da8 100644 --- a/sci-libs/openblas/openblas-0.3.30-r2.ebuild +++ b/sci-libs/openblas/openblas-0.3.30-r2.ebuild @@ -28,6 +28,10 @@ BDEPEND="virtual/pkgconfig" PATCHES=( "${FILESDIR}/${PN}-0.3.29-shared-blas-lapack.patch" + # 960514 replace by upstream fix in next release. Which reverts to worse cmake-config files. + # https://github.com/OpenMathLib/OpenBLAS/issues/5387 + # https://github.com/OpenMathLib/OpenBLAS/pull/5391 + "${FILESDIR}/${P}-cmake_libdir.patch" ) pkg_pretend() {
