dev-libs/qxlsx: Fix build with Qt 6.10, set CMAKE_USE_DIR

Set CMAKE_USE_DIR so upstream patches can apply directly.

Closes: https://bugs.gentoo.org/966279
Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org>
This commit is contained in:
Andreas Sturmlechner 2025-11-20 22:46:36 +01:00
parent 13974ec7fb
commit 9e4b716f0e
No known key found for this signature in database
GPG Key ID: AE591BBC73E4DD5E
2 changed files with 33 additions and 2 deletions

View File

@ -0,0 +1,28 @@
From 90d762625750c6b2c73f6cd96b633e9158aed72e Mon Sep 17 00:00:00 2001
From: Nicolas Fella <nicolas.fella@kdab.com>
Date: Tue, 10 Jun 2025 11:47:39 +0200
Subject: [PATCH] Search for GuiPrivate package with Qt 6.10
Qt 6.10 extracts the private modules into a separate CMake package, so search for it
See https://bugreports.qt.io/browse/QTBUG-87776
---
QXlsx/CMakeLists.txt | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/QXlsx/CMakeLists.txt b/QXlsx/CMakeLists.txt
index 5e16bddc..bbc28e8f 100644
--- a/QXlsx/CMakeLists.txt
+++ b/QXlsx/CMakeLists.txt
@@ -17,6 +17,11 @@ if(NOT DEFINED QT_VERSION_MAJOR)
find_package(QT NAMES Qt6 Qt5 COMPONENTS Core Gui REQUIRED)
endif()
find_package(Qt${QT_VERSION_MAJOR} COMPONENTS Core Gui REQUIRED)
+
+if(Qt6Gui_VERSION VERSION_GREATER_EQUAL "6.10.0")
+ find_package(Qt6 REQUIRED COMPONENTS GuiPrivate)
+endif()
+
set(EXPORT_NAME QXlsxQt${QT_VERSION_MAJOR})
if (QT_VERSION_MAJOR EQUAL 6)

View File

@ -8,7 +8,8 @@ inherit cmake
DESCRIPTION="Excel file(*.xlsx) reader/writer library using Qt"
HOMEPAGE="https://github.com/QtExcel/QXlsx"
SRC_URI="https://github.com/QtExcel/QXlsx/archive/v${PV}.tar.gz -> ${P}.tar.gz"
S="${WORKDIR}/QXlsx-${PV}/QXlsx"
S="${WORKDIR}/QXlsx-${PV}"
CMAKE_USE_DIR="${S}/QXlsx"
LICENSE="MIT"
# soversion
@ -20,9 +21,11 @@ RDEPEND="
"
DEPEND="${RDEPEND}"
PATCHES=( "${FILESDIR}/${P}-qt6.10.patch" ) # bug 966279
src_prepare() {
# https://github.com/QtExcel/QXlsx/issues/375#issuecomment-2565987610
sed -i -e "s/SOVERSION.*/SOVERSION 0.${PV}/" CMakeLists.txt || die
sed -i -e "s/SOVERSION.*/SOVERSION 0.${PV}/" QXlsx/CMakeLists.txt || die
cmake_src_prepare
}