unofficial mirror of guix-patches@gnu.org 
 help / color / mirror / code / Atom feed
From: Roel Janssen <roel@gnu.org>
To: 27404-done@debbugs.gnu.org
Subject: bug#27404: [PATCH] gnu: calibre: Fix build with Qt >5.8.
Date: Thu, 22 Jun 2017 00:13:31 +0200	[thread overview]
Message-ID: <878tklvvjo.fsf@gnu.org> (raw)
In-Reply-To: <87h8zfks20.fsf@gnu.org>


Roel Janssen writes:

>>From c499f6fa84ce78bc568a0b553cc41d17d0724e2d Mon Sep 17 00:00:00 2001
> From: Roel Janssen <roel@gnu.org>
> Date: Sat, 17 Jun 2017 08:56:36 +0200
> Subject: [PATCH] gnu: calibre: Fix build with Qt >5.8.
>
> * gnu/packages/patches/calibre-fix-missing-qbasicfontdatabase_p.patch: New file.
> * gnu/local.mk: Add patch.
> * gnu/packages/ebook.scm: Add patch.
> ---
>  gnu/local.mk                                       |  1 +
>  gnu/packages/ebook.scm                             |  3 +-
>  .../calibre-fix-missing-qbasicfontdatabase_p.patch | 85 ++++++++++++++++++++++
>  3 files changed, 88 insertions(+), 1 deletion(-)
>  create mode 100644 gnu/packages/patches/calibre-fix-missing-qbasicfontdatabase_p.patch
>
> diff --git a/gnu/local.mk b/gnu/local.mk
> index 148ba12d6..216853570 100644
> --- a/gnu/local.mk
> +++ b/gnu/local.mk
> @@ -526,6 +526,7 @@ dist_patch_DATA =						\
>    %D%/packages/patches/calibre-dont-load-remote-icons.patch	\
>    %D%/packages/patches/calibre-no-updates-dialog.patch		\
>    %D%/packages/patches/calibre-use-packaged-feedparser.patch	\
> +  %D%/packages/patches/calibre-fix-missing-qbasicfontdatabase_p.patch	\
>    %D%/packages/patches/cdparanoia-fpic.patch			\
>    %D%/packages/patches/cdrtools-3.01-mkisofs-isoinfo.patch 	\
>    %D%/packages/patches/ceph-disable-cpu-optimizations.patch	\
> diff --git a/gnu/packages/ebook.scm b/gnu/packages/ebook.scm
> index 1d64e9b69..ad7a03185 100644
> --- a/gnu/packages/ebook.scm
> +++ b/gnu/packages/ebook.scm
> @@ -91,7 +91,8 @@
>          (patches (search-patches "calibre-drop-unrar.patch"
>                                   "calibre-use-packaged-feedparser.patch"
>                                   "calibre-dont-load-remote-icons.patch"
> -                                 "calibre-no-updates-dialog.patch"))))
> +                                 "calibre-no-updates-dialog.patch"
> +                                 "calibre-fix-missing-qbasicfontdatabase_p.patch"))))
>      (build-system python-build-system)
>      (native-inputs
>       `(("pkg-config" ,pkg-config)
> diff --git a/gnu/packages/patches/calibre-fix-missing-qbasicfontdatabase_p.patch b/gnu/packages/patches/calibre-fix-missing-qbasicfontdatabase_p.patch
> new file mode 100644
> index 000000000..25cea0818
> --- /dev/null
> +++ b/gnu/packages/patches/calibre-fix-missing-qbasicfontdatabase_p.patch
> @@ -0,0 +1,85 @@
> +From 82bd2e1a51df0650cb40894c5dc2b958f601a91d Mon Sep 17 00:00:00 2001
> +From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= <zbyszek@in.waw.pl>
> +Date: Tue, 16 May 2017 14:20:51 -0400
> +Subject: [PATCH] Compatibility with qt5-5.9.0
> +
> +---
> + src/calibre/headless/fontconfig_database.cpp | 16 ++++++++++------
> + src/calibre/headless/fontconfig_database.h   | 12 ++++++++----
> + 2 files changed, 18 insertions(+), 10 deletions(-)
> +
> +diff --git a/src/calibre/headless/fontconfig_database.cpp b/src/calibre/headless/fontconfig_database.cpp
> +index 4e87b8f81b..33defd0b48 100644
> +--- a/src/calibre/headless/fontconfig_database.cpp
> ++++ b/src/calibre/headless/fontconfig_database.cpp
> +@@ -48,14 +48,18 @@
> + #include <qpa/qplatformservices.h>
> + 
> + #if (QT_VERSION >= QT_VERSION_CHECK(5, 8, 0))
> +-#include <QtFontDatabaseSupport/private/qfontenginemultifontconfig_p.h>
> ++#  include <QtFontDatabaseSupport/private/qfontenginemultifontconfig_p.h>
> + #else
> +-#include <QtPlatformSupport/private/qfontenginemultifontconfig_p.h>
> ++#  include <QtPlatformSupport/private/qfontenginemultifontconfig_p.h>
> ++#endif
> ++#if (QT_VERSION >= QT_VERSION_CHECK(5, 9, 0))
> ++#  include <QtFontDatabaseSupport/private/qfontengine_ft_p.h>
> ++#else
> ++#  include <QtGui/private/qfontengine_ft_p.h>
> + #endif
> +-#include <QtGui/private/qfontengine_ft_p.h>
> + #include <QtGui/private/qguiapplication_p.h>
> + #if (QT_VERSION >= QT_VERSION_CHECK(5, 6, 0))
> +-#include <QtGui/private/qhighdpiscaling_p.h>
> ++#  include <QtGui/private/qhighdpiscaling_p.h>
> + #endif
> + 
> + #include <QtGui/qguiapplication.h>
> +@@ -763,7 +767,7 @@ QFontEngine *QFontconfigDatabase::fontEngine(const QFontDef &f, void *usrPtr)
> + 
> + QFontEngine *QFontconfigDatabase::fontEngine(const QByteArray &fontData, qreal pixelSize, QFont::HintingPreference hintingPreference)
> + {
> +-    QFontEngineFT *engine = static_cast<QFontEngineFT*>(QBasicFontDatabase::fontEngine(fontData, pixelSize, hintingPreference));
> ++    QFontEngineFT *engine = static_cast<QFontEngineFT*>(QFreeTypeFontDatabase::fontEngine(fontData, pixelSize, hintingPreference));
> +     if (engine == 0)
> +         return 0;
> + 
> +@@ -915,7 +919,7 @@ QStringList QFontconfigDatabase::addApplicationFont(const QByteArray &fontData,
> + 
> + QString QFontconfigDatabase::resolveFontFamilyAlias(const QString &family) const
> + {
> +-    QString resolved = QBasicFontDatabase::resolveFontFamilyAlias(family);
> ++    QString resolved = QFreeTypeFontDatabase::resolveFontFamilyAlias(family);
> +     if (!resolved.isEmpty() && resolved != family)
> +         return resolved;
> +     FcPattern *pattern = FcPatternCreate();
> +diff --git a/src/calibre/headless/fontconfig_database.h b/src/calibre/headless/fontconfig_database.h
> +index e2fecff724..62afc129cf 100644
> +--- a/src/calibre/headless/fontconfig_database.h
> ++++ b/src/calibre/headless/fontconfig_database.h
> +@@ -7,17 +7,21 @@
> + #pragma once
> + 
> + #include <qpa/qplatformfontdatabase.h>
> +-#if (QT_VERSION >= QT_VERSION_CHECK(5, 8, 0))
> +-#include <QtFontDatabaseSupport/private/qbasicfontdatabase_p.h>
> ++#if (QT_VERSION >= QT_VERSION_CHECK(5, 9, 0))
> ++#  include <QtFontDatabaseSupport/private/qfreetypefontdatabase_p.h>
> ++#elif (QT_VERSION >= QT_VERSION_CHECK(5, 8, 0))
> ++#  include <QtFontDatabaseSupport/private/qbasicfontdatabase_p.h>
> ++#  define QFreeTypeFontDatabase QBasicFontDatabase
> + #else
> +-#include <QtPlatformSupport/private/qbasicfontdatabase_p.h>
> ++#  include <QtPlatformSupport/private/qbasicfontdatabase_p.h>
> ++#  define QFreeTypeFontDatabase QBasicFontDatabase
> + #endif
> + 
> + QT_BEGIN_NAMESPACE
> + 
> + class QFontEngineFT;
> + 
> +-class QFontconfigDatabase : public QBasicFontDatabase
> ++class QFontconfigDatabase : public QFreeTypeFontDatabase
> + {
> + public:
> + #if (QT_VERSION >= QT_VERSION_CHECK(5, 5, 0))

This patch is no longer relevant because version 3.0.0 is now in
upstream.

Kind regards,
Roel Janssen

      reply	other threads:[~2017-06-21 22:14 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-06-17  7:10 [bug#27404] [PATCH] gnu: calibre: Fix build with Qt >5.8 Roel Janssen
2017-06-21 22:13 ` Roel Janssen [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://guix.gnu.org/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=878tklvvjo.fsf@gnu.org \
    --to=roel@gnu.org \
    --cc=27404-done@debbugs.gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/guix.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).