From 91d608af8997446b30c86a65216e70f127929510 Mon Sep 17 00:00:00 2001 From: Kalev Lember Date: Wed, 14 Apr 2021 13:55:11 +0200 Subject: [PATCH] Update generated header files for C++20 compatibility It's not enough to just patch the .hg files as the build system doesn't regenerate the .h files automatically. -Dmaintainer-mode=true comes with its own pitfalls (see the revert in the previous commit), so this commit just patches the .h files to match the .hg changes from upstream patch. https://bugzilla.redhat.com/show_bug.cgi?id=1947838 Resolves: #1951127 (cherry picked from Fedora commit b98cb6c4aac0d400d415315241390551644e18da) --- 0001-Variant-Fix-so-it-works-with-C-20.patch | 352 +++++++++++++++++++ glibmm24.spec | 5 +- 2 files changed, 356 insertions(+), 1 deletion(-) diff --git a/0001-Variant-Fix-so-it-works-with-C-20.patch b/0001-Variant-Fix-so-it-works-with-C-20.patch index 5693f07..e5b9551 100644 --- a/0001-Variant-Fix-so-it-works-with-C-20.patch +++ b/0001-Variant-Fix-so-it-works-with-C-20.patch @@ -234,3 +234,355 @@ index 199295b9..f73992fd 100644 -- 2.30.2 +--- glibmm-2.66.0.orig/untracked/glib/glibmm/variant.h 2021-01-27 10:56:33.969063300 +0100 ++++ glibmm-2.66.0/untracked/glib/glibmm/variant.h 2021-04-14 13:48:33.792287859 +0200 +@@ -959,7 +959,7 @@ + using CppContainerType = Variant; + + /// Default constructor. +- Variant(); ++ Variant(); + + /** GVariant constructor. + * @param castitem The GVariant to wrap. +@@ -967,7 +967,7 @@ + * GVariant or not (not taking one could destroy the GVariant with the + * wrapper). + */ +- explicit Variant(GVariant* castitem, bool take_a_reference = false); ++ explicit Variant(GVariant* castitem, bool take_a_reference = false); + + /** Gets the VariantType. + * @return The VariantType. +@@ -1020,7 +1020,7 @@ + using CppContainerType = Variant; + + /// Default constructor. +- Variant< Variant >(); ++ Variant(); + + /** GVariant constructor. + * @param castitem The GVariant to wrap. +@@ -1029,7 +1029,7 @@ + * wrapper). + * @newin{2,36} + */ +- explicit Variant< Variant >(GVariant* castitem, bool take_a_reference = false); ++ explicit Variant(GVariant* castitem, bool take_a_reference = false); + + /** Gets the VariantType. + * @return The VariantType. +@@ -1073,7 +1073,7 @@ + using CppType = Glib::ustring; + + /// Default constructor. +- Variant(); ++ Variant(); + + /** GVariant constructor. + * @param castitem The GVariant to wrap. +@@ -1081,7 +1081,7 @@ + * GVariant or not (not taking one could destroy the GVariant with the + * wrapper). + */ +- explicit Variant(GVariant* castitem, bool take_a_reference = false); ++ explicit Variant(GVariant* castitem, bool take_a_reference = false); + + /** Gets the VariantType. + * @return The VariantType. +@@ -1243,7 +1243,7 @@ + using CppType = std::string; + + /// Default constructor. +- Variant(); ++ Variant(); + + /** GVariant constructor. + * @param castitem The GVariant to wrap. +@@ -1251,7 +1251,7 @@ + * GVariant or not (not taking one could destroy the GVariant with the + * wrapper). + */ +- explicit Variant(GVariant* castitem, bool take_a_reference = false); ++ explicit Variant(GVariant* castitem, bool take_a_reference = false); + + /** Gets the VariantType. + * @return The VariantType. +@@ -1289,7 +1289,7 @@ + using CppContainerType = Variant; + + /// Default constructor. +- Variant< std::pair >() ++ Variant() + : VariantContainerBase() + {} + +@@ -1299,7 +1299,7 @@ + * GVariant or not (not taking one could destroy the GVariant with the + * wrapper). + */ +- explicit Variant< std::pair >(GVariant* castitem, ++ explicit Variant(GVariant* castitem, + bool take_a_reference = false) + : VariantContainerBase(castitem, take_a_reference) + {} +@@ -1338,7 +1338,7 @@ + using CppContainerType = std::vector; + + /// Default constructor. +- Variant< std::vector >() ++ Variant() + : VariantContainerBase() + {} + +@@ -1348,7 +1348,7 @@ + * GVariant or not (not taking one could destroy the GVariant with the + * wrapper). + */ +- explicit Variant< std::vector >(GVariant* castitem, ++ explicit Variant(GVariant* castitem, + bool take_a_reference = false) + : VariantContainerBase(castitem, take_a_reference) + {} +@@ -1407,7 +1407,7 @@ + using CppContainerType = std::vector; + + /// Default constructor. +- Variant< std::vector >(); ++ Variant(); + + /** GVariant constructor. + * @param castitem The GVariant to wrap. +@@ -1415,7 +1415,7 @@ + * GVariant or not (not taking one could destroy the GVariant with the + * wrapper). + */ +- explicit Variant< std::vector >(GVariant* castitem, bool take_a_reference = false); ++ explicit Variant(GVariant* castitem, bool take_a_reference = false); + + /** Gets the VariantType. + * @return The VariantType. +@@ -1533,7 +1533,7 @@ + using CppContainerType = std::vector; + + /// Default constructor. +- Variant< std::vector >(); ++ Variant(); + + /** GVariant constructor. + * @param castitem The GVariant to wrap. +@@ -1541,7 +1541,7 @@ + * GVariant or not (not taking one could destroy the GVariant with the + * wrapper). + */ +- explicit Variant< std::vector >(GVariant* castitem, bool take_a_reference = false); ++ explicit Variant(GVariant* castitem, bool take_a_reference = false); + + /** Gets the VariantType. + * @return The VariantType. +@@ -1609,7 +1609,7 @@ + using CppContainerType = std::map; + + /// Default constructor. +- Variant< std::map >() ++ Variant() + : VariantContainerBase() + {} + +@@ -1619,7 +1619,7 @@ + * GVariant or not (not taking one could destroy the GVariant with the + * wrapper). + */ +- explicit Variant< std::map >(GVariant* castitem, ++ explicit Variant(GVariant* castitem, + bool take_a_reference = false) + : VariantContainerBase(castitem, take_a_reference) + {} +@@ -1682,7 +1682,7 @@ + using CppContainerType = std::tuple; + + /// Default constructor +- Variant>() ++ Variant() + : VariantContainerBase() + {} + +@@ -1691,7 +1691,7 @@ + * @param take_a_reference Whether to take an extra reference of the GVariant + * or not (not taking one could destroy the GVariant with the wrapper). + */ +- explicit Variant>(GVariant* castitem, bool take_a_reference = false) ++ explicit Variant(GVariant* castitem, bool take_a_reference = false) + : VariantContainerBase(castitem, take_a_reference) + {} + +--- glibmm-2.66.0.orig/untracked/glib/glibmm/variant_basictypes.h 2021-01-27 10:56:34.057059800 +0100 ++++ glibmm-2.66.0/untracked/glib/glibmm/variant_basictypes.h 2021-04-14 13:48:33.563288223 +0200 +@@ -1,4 +1,4 @@ +-// This is a generated file. Do not edit it. Generated from ../../gnome/glibmm-2.4/glib/glibmm/../src/variant_basictypes.h.m4 ++// This is a generated file. Do not edit it. Generated from ../glib/glibmm/../src/variant_basictypes.h.m4 + + #ifndef DOXYGEN_SHOULD_SKIP_THIS + #ifndef _GLIBMM_VARIANT_H_INCLUDE_VARIANT_BASICTYPES_H +@@ -20,7 +20,7 @@ + using CType = gboolean; + + /// Default constructor. +- Variant() ++ Variant() + : VariantBase() + {} + +@@ -30,7 +30,7 @@ + * GVariant or not (not taking one could destroy the GVariant with the + * wrapper). + */ +- explicit Variant(GVariant* castitem, bool take_a_reference = false) ++ explicit Variant(GVariant* castitem, bool take_a_reference = false) + : VariantBase(castitem, take_a_reference) + {} + +@@ -63,7 +63,7 @@ + using CType = guchar; + + /// Default constructor. +- Variant() ++ Variant() + : VariantBase() + {} + +@@ -73,7 +73,7 @@ + * GVariant or not (not taking one could destroy the GVariant with the + * wrapper). + */ +- explicit Variant(GVariant* castitem, bool take_a_reference = false) ++ explicit Variant(GVariant* castitem, bool take_a_reference = false) + : VariantBase(castitem, take_a_reference) + {} + +@@ -106,7 +106,7 @@ + using CType = gint16; + + /// Default constructor. +- Variant() ++ Variant() + : VariantBase() + {} + +@@ -116,7 +116,7 @@ + * GVariant or not (not taking one could destroy the GVariant with the + * wrapper). + */ +- explicit Variant(GVariant* castitem, bool take_a_reference = false) ++ explicit Variant(GVariant* castitem, bool take_a_reference = false) + : VariantBase(castitem, take_a_reference) + {} + +@@ -149,7 +149,7 @@ + using CType = guint16; + + /// Default constructor. +- Variant() ++ Variant() + : VariantBase() + {} + +@@ -159,7 +159,7 @@ + * GVariant or not (not taking one could destroy the GVariant with the + * wrapper). + */ +- explicit Variant(GVariant* castitem, bool take_a_reference = false) ++ explicit Variant(GVariant* castitem, bool take_a_reference = false) + : VariantBase(castitem, take_a_reference) + {} + +@@ -192,7 +192,7 @@ + using CType = gint32; + + /// Default constructor. +- Variant() ++ Variant() + : VariantBase() + {} + +@@ -202,7 +202,7 @@ + * GVariant or not (not taking one could destroy the GVariant with the + * wrapper). + */ +- explicit Variant(GVariant* castitem, bool take_a_reference = false) ++ explicit Variant(GVariant* castitem, bool take_a_reference = false) + : VariantBase(castitem, take_a_reference) + {} + +@@ -241,7 +241,7 @@ + using CType = guint32; + + /// Default constructor. +- Variant() ++ Variant() + : VariantBase() + {} + +@@ -251,7 +251,7 @@ + * GVariant or not (not taking one could destroy the GVariant with the + * wrapper). + */ +- explicit Variant(GVariant* castitem, bool take_a_reference = false) ++ explicit Variant(GVariant* castitem, bool take_a_reference = false) + : VariantBase(castitem, take_a_reference) + {} + +@@ -284,7 +284,7 @@ + using CType = gint64; + + /// Default constructor. +- Variant() ++ Variant() + : VariantBase() + {} + +@@ -294,7 +294,7 @@ + * GVariant or not (not taking one could destroy the GVariant with the + * wrapper). + */ +- explicit Variant(GVariant* castitem, bool take_a_reference = false) ++ explicit Variant(GVariant* castitem, bool take_a_reference = false) + : VariantBase(castitem, take_a_reference) + {} + +@@ -327,7 +327,7 @@ + using CType = guint64; + + /// Default constructor. +- Variant() ++ Variant() + : VariantBase() + {} + +@@ -337,7 +337,7 @@ + * GVariant or not (not taking one could destroy the GVariant with the + * wrapper). + */ +- explicit Variant(GVariant* castitem, bool take_a_reference = false) ++ explicit Variant(GVariant* castitem, bool take_a_reference = false) + : VariantBase(castitem, take_a_reference) + {} + +@@ -370,7 +370,7 @@ + using CType = gdouble; + + /// Default constructor. +- Variant() ++ Variant() + : VariantBase() + {} + +@@ -380,7 +380,7 @@ + * GVariant or not (not taking one could destroy the GVariant with the + * wrapper). + */ +- explicit Variant(GVariant* castitem, bool take_a_reference = false) ++ explicit Variant(GVariant* castitem, bool take_a_reference = false) + : VariantBase(castitem, take_a_reference) + {} + diff --git a/glibmm24.spec b/glibmm24.spec index 6bcc284..845f04f 100644 --- a/glibmm24.spec +++ b/glibmm24.spec @@ -6,7 +6,7 @@ Name: glibmm24 Version: 2.66.0 -Release: 1%{?dist} +Release: 2%{?dist} Summary: C++ interface for the GLib library License: LGPLv2+ @@ -99,6 +99,9 @@ chmod +x $RPM_BUILD_ROOT%{_libdir}/glibmm-2.4/proc/gmmproc %changelog +* Fri May 07 2021 Kalev Lember - 2.66.0-2 +- Update generated header files for C++20 compatibility (#1947838) + * Fri May 07 2021 Kalev Lember - 2.66.0-1 - Update to 2.66.0 - Backport upstream fix for C++20 compatibility (#1947838)