[packages/calibre] add patch to fix build with qt >= 6.9
atler
atler at pld-linux.org
Sat Jan 24 21:36:12 CET 2026
commit 4d9f85f33cd50c9fb6a34fff88395c5a76328b70
Author: Jan Palus <atler at pld-linux.org>
Date: Sat Jan 24 21:33:39 2026 +0100
add patch to fix build with qt >= 6.9
calibre.spec | 2 ++
qt6.9.patch | 52 ++++++++++++++++++++++++++++++++++++++++++++++++++++
2 files changed, 54 insertions(+)
---
diff --git a/calibre.spec b/calibre.spec
index 9002c70..c6fbede 100644
--- a/calibre.spec
+++ b/calibre.spec
@@ -26,6 +26,7 @@ Patch3: desktop-integration.patch
Patch4: %{name}-env_module.patch
Patch5: icu75.patch
Patch6: gcc15.patch
+Patch7: qt6.9.patch
%define baeutifulsoup_ver 3.0.5
%define pil_ver 1.1.6
%define pyqt6_ver 6.3.1
@@ -186,6 +187,7 @@ Pakiet ten dostarcza uzupełnianie nazw dla calibre w powłoce zsh.
%patch -P4 -p1
%patch -P5 -p1
%patch -P6 -p1
+%patch -P7 -p1
# 64bit target build fix
%{__sed} -i -e "s!'/usr/lib'!'%{_libdir}'!g" setup/build_environment.py
diff --git a/qt6.9.patch b/qt6.9.patch
new file mode 100644
index 0000000..fd93ffb
--- /dev/null
+++ b/qt6.9.patch
@@ -0,0 +1,52 @@
+From 30b66dc452d3c08c7e10cc95498e131348d7bbfb Mon Sep 17 00:00:00 2001
+From: Kovid Goyal <kovid at kovidgoyal.net>
+Date: Sat, 5 Apr 2025 02:59:58 +0530
+Subject: [PATCH] Linux: Fix building with Qt 6.9
+
+---
+ src/calibre/headless/headless_integration.cpp | 6 ++++++
+ src/calibre/headless/headless_integration.h | 1 -
+ 2 files changed, 6 insertions(+), 1 deletion(-)
+
+diff --git a/src/calibre/headless/headless_integration.cpp b/src/calibre/headless/headless_integration.cpp
+index a5dfc869cc66..e96ddeef80fa 100644
+--- a/src/calibre/headless/headless_integration.cpp
++++ b/src/calibre/headless/headless_integration.cpp
+@@ -27,7 +27,13 @@ QT_BEGIN_NAMESPACE
+
+
+ #ifndef __APPLE__
++#if QT_VERSION < QT_VERSION_CHECK(6, 9, 0)
++#include <QtGui/private/qgenericunixservices_p.h>
+ class GenericUnixServices : public QGenericUnixServices {
++#else
++#include <QtGui/private/qdesktopunixservices_p.h>
++class GenericUnixServices : public QDesktopUnixServices {
++#endif
+ /* We must return desktop environment as UNKNOWN otherwise other parts of
+ * Qt will try to query the nativeInterface() without checking if it exists
+ * leading to a segfault. For example, defaultHintStyleFromMatch() queries
+diff --git a/src/calibre/headless/headless_integration.h b/src/calibre/headless/headless_integration.h
+index f8705facffe8..604669677da4 100644
+--- a/src/calibre/headless/headless_integration.h
++++ b/src/calibre/headless/headless_integration.h
+@@ -3,7 +3,6 @@
+ #include <qpa/qplatformintegration.h>
+ #include <qpa/qplatformscreen.h>
+ #include <qpa/qplatformservices.h>
+-#include <QtGui/private/qgenericunixservices_p.h>
+ #include <QScopedPointer>
+
+ QT_BEGIN_NAMESPACE
+--- calibre-6.23.0/src/calibre/headless/CMakeLists.txt.orig 2023-07-14 03:29:18.000000000 +0200
++++ calibre-6.23.0/src/calibre/headless/CMakeLists.txt 2026-01-24 21:08:55.160236875 +0100
+@@ -2,6 +2,9 @@
+ cmake_minimum_required(VERSION 3.21)
+ set(CMAKE_AUTOMOC ON)
+ find_package(Qt6Gui REQUIRED)
++if (Qt6Gui_VERSION VERSION_GREATER_EQUAL "6.10.0")
++ find_package(Qt6GuiPrivate REQUIRED NO_MODULE)
++endif()
+ add_library(headless MODULE main.cpp headless_backingstore.cpp headless_integration.cpp)
+ set_property(TARGET headless PROPERTY QT_PLUGIN_TYPE "platforms")
+ set_property(TARGET headless PROPERTY QT_PLUGIN_CLASS_NAME "HeadlessIntegrationPlugin")
================================================================
---- gitweb:
http://git.pld-linux.org/gitweb.cgi/packages/calibre.git/commitdiff/4d9f85f33cd50c9fb6a34fff88395c5a76328b70
More information about the pld-cvs-commit
mailing list