[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