diff --git a/gnu/local.mk b/gnu/local.mk index 0cef8f747b..edd546f81d 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -1402,6 +1402,7 @@ dist_patch_DATA = \ %D%/packages/patches/gpodder-disable-updater.patch \ %D%/packages/patches/gpsbabel-fix-i686-test.patch \ %D%/packages/patches/grantlee-fix-i586-precision.patch \ + %D%/packages/patches/grantlee-register-metaenumvariable.patch \ %D%/packages/patches/grep-timing-sensitive-test.patch \ %D%/packages/patches/grfcodec-gcc-compat.patch \ %D%/packages/patches/gromacs-tinyxml2.patch \ diff --git a/gnu/packages/patches/grantlee-register-metaenumvariable.patch b/gnu/packages/patches/grantlee-register-metaenumvariable.patch new file mode 100644 index 0000000000..26ff20a413 --- /dev/null +++ b/gnu/packages/patches/grantlee-register-metaenumvariable.patch @@ -0,0 +1,54 @@ +https://patch-diff.githubusercontent.com/raw/steveire/grantlee/pull/91 +also in Debian +https://sources.debian.org/data/main/g/grantlee5/5.3.1-3/debian/patches/register-comparator.diff + +From e6a2c1f4f29623f0ced1a946f5ff0c3831ab213b Mon Sep 17 00:00:00 2001 +From: Pino Toscano +Date: Sat, 12 Aug 2023 12:06:15 +0200 +Subject: [PATCH] Register MetaEnumVariable for comparison + +This is needed to ensure that MetaEnumVariable can be properly handled +for comparisons, e.g. as done via QVariant::compare(). + +Followup of commit 3b1931e30a23286a64f713a815f701d194a3c759 + +Fixes #89 +--- + templates/lib/engine.cpp | 10 ++++++++++ + 1 file changed, 10 insertions(+) + +diff --git a/templates/lib/engine.cpp b/templates/lib/engine.cpp +index c6a6987b..fc6b7797 100644 +--- a/templates/lib/engine.cpp ++++ b/templates/lib/engine.cpp +@@ -24,6 +24,9 @@ + #include "exception.h" + #include "grantlee_config_p.h" + #include "grantlee_version.h" ++#if QT_VERSION < QT_VERSION_CHECK(6, 0, 0) ++#include "metaenumvariable_p.h" ++#endif + #ifdef QT_QML_LIB + #include "scriptabletags.h" + #endif +@@ -32,6 +35,9 @@ + + #include + #include ++#if QT_VERSION < QT_VERSION_CHECK(6, 0, 0) ++#include ++#endif + #include + #include + +@@ -48,6 +54,10 @@ Engine::Engine(QObject *parent) + + d_ptr->m_pluginDirs = QCoreApplication::libraryPaths(); + d_ptr->m_pluginDirs << QString::fromLocal8Bit(GRANTLEE_PLUGIN_PATH); ++ ++#if QT_VERSION < QT_VERSION_CHECK(6, 0, 0) ++ QMetaType::registerComparators(); ++#endif + } + + Engine::~Engine() diff --git a/gnu/packages/qt.scm b/gnu/packages/qt.scm index 13aadc8190..13f54fcc5d 100644 --- a/gnu/packages/qt.scm +++ b/gnu/packages/qt.scm @@ -398,7 +398,8 @@ (define-public grantlee (file-name (git-file-name name version)) (sha256 (base32 "1ipnkdi8wgv519mvwa5zxlz20wipbypyfixjv2qdfd9vl1pznwvs")) - (patches (search-patches "grantlee-fix-i586-precision.patch")))) + (patches (search-patches "grantlee-fix-i586-precision.patch" + "grantlee-register-metaenumvariable.patch")))) (native-inputs ;; Optional: lcov and cccc, both are for code coverage (list doxygen))