From 4215622c05ed14d30fdad5a4d0feba6d94b0d046 Mon Sep 17 00:00:00 2001 From: V3n3RiX Date: Sun, 25 Feb 2024 11:40:32 +0000 Subject: gentoo auto-resync : 25:02:2024 - 11:40:31 --- .../snapd-glib/files/snapd-glib-1.64-qt6.patch | 286 +++++++++++++++++++++ 1 file changed, 286 insertions(+) create mode 100644 sys-libs/snapd-glib/files/snapd-glib-1.64-qt6.patch (limited to 'sys-libs/snapd-glib/files') diff --git a/sys-libs/snapd-glib/files/snapd-glib-1.64-qt6.patch b/sys-libs/snapd-glib/files/snapd-glib-1.64-qt6.patch new file mode 100644 index 000000000000..de6b4bbdec5c --- /dev/null +++ b/sys-libs/snapd-glib/files/snapd-glib-1.64-qt6.patch @@ -0,0 +1,286 @@ +From 5377f5d01adce209b9a148018cab100d5d5a1d4c Mon Sep 17 00:00:00 2001 +From: Aleix Pol +Date: Tue, 13 Feb 2024 01:25:39 +0100 +Subject: [PATCH] qt: Port to Qt 6 + +It's what we are using in Discover now. +diff --git a/.github/workflows/test.yaml b/.github/workflows/test.yaml +index 8a8668f2..58700c2f 100644 +--- a/.github/workflows/test.yaml ++++ b/.github/workflows/test.yaml +@@ -55,7 +55,7 @@ jobs: + - name: Install dependencies (Fedora) + if: startsWith(matrix.image, 'fedora:') + run: | +- dnf install -y gcc gcc-c++ gobject-introspection-devel glib2-devel gtk-doc json-glib-devel libsoup3-devel ninja-build python3-pip qt5-qtbase-devel qt5-qtdeclarative-devel redhat-rpm-config vala ++ dnf install -y gcc gcc-c++ gobject-introspection-devel glib2-devel gtk-doc json-glib-devel libsoup3-devel ninja-build python3-pip qt6-qtbase-devel qt6-qtdeclarative-devel redhat-rpm-config vala + + - name: Install meson + if: matrix.image != 'ubuntu:rolling' +diff --git a/meson.build b/meson.build +index b9f98d37..26951e9c 100644 +--- a/meson.build ++++ b/meson.build +@@ -1,7 +1,7 @@ + project ('snapd-glib', [ 'c', 'cpp' ], + version: '1.64', +- meson_version: '>= 0.43.0', +- default_options : [ 'c_std=c11', 'cpp_std=c++11' ]) ++ meson_version: '>= 0.57.0', ++ default_options : [ 'c_std=c11' ]) + + glib_dep = dependency ('glib-2.0', version: '>= 2.46') + gio_dep = dependency ('gio-2.0', version: '>= 2.46') +@@ -14,9 +14,9 @@ endif + json_glib_dep = dependency ('json-glib-1.0', version: '>= 1.1.2') + + if get_option ('qt-bindings') +- qt5_core_dep = dependency ('qt5', modules: [ 'Core' ]) +- qt5_network_dep = dependency ('qt5', modules: [ 'Network' ]) +- qml_dep = dependency ('qt5', modules: [ 'Qml' ]) ++ qt6_core_dep = dependency ('qt6', modules: [ 'Core' ]) ++ qt6_network_dep = dependency ('qt6', modules: [ 'Network' ]) ++ qml_dep = dependency ('qt6', modules: [ 'Qml' ]) + endif + + datadir = join_paths (get_option ('prefix'), get_option ('datadir')) +diff --git a/snapd-qt/markdown-node.cpp b/snapd-qt/markdown-node.cpp +index 2be1751e..2e87707b 100644 +--- a/snapd-qt/markdown-node.cpp ++++ b/snapd-qt/markdown-node.cpp +@@ -62,3 +62,14 @@ QSnapdMarkdownNode *QSnapdMarkdownNode::child (int n) const + return NULL; + return new QSnapdMarkdownNode (children->pdata[n]); + } ++ ++QSnapdMarkdownNode & QSnapdMarkdownNode::operator=(const QSnapdMarkdownNode& node) ++{ ++ if (&node == this) { ++ return *this; ++ } ++ g_object_unref(wrapped_object); ++ wrapped_object = node.wrapped_object; ++ g_object_ref(wrapped_object); ++ return *this; ++} +diff --git a/snapd-qt/markdown-parser.cpp b/snapd-qt/markdown-parser.cpp +index 751592c3..1a305ad9 100644 +--- a/snapd-qt/markdown-parser.cpp ++++ b/snapd-qt/markdown-parser.cpp +@@ -56,7 +56,7 @@ bool QSnapdMarkdownParser::preserveWhitespace () const + QList QSnapdMarkdownParser::parse (const QString &text) const + { + Q_D(const QSnapdMarkdownParser); +- g_autoptr(GPtrArray) nodes = snapd_markdown_parser_parse (d->parser, text.toStdString ().c_str ()); ++ g_autoptr(GPtrArray) nodes = snapd_markdown_parser_parse (d->parser, text.toUtf8().constData()); + QList nodes_list; + for (uint i = 0; i < nodes->len; i++) { + SnapdMarkdownNode *node = (SnapdMarkdownNode *) g_ptr_array_index (nodes, i); +diff --git a/snapd-qt/meson.build b/snapd-qt/meson.build +index 74687852..48fe650c 100644 +--- a/snapd-qt/meson.build ++++ b/snapd-qt/meson.build +@@ -9,7 +9,7 @@ if not get_option('soup2') + endif + + install_header_dir = join_paths (includedir, library_name, 'Snapd') +-qml_dir = join_paths (libdir, 'qt5', 'qml', qt_name) ++qml_dir = join_paths (libdir, 'qt6', 'qml', qt_name) + cmake_dir = join_paths (libdir, 'cmake', qt_name) + + source_cpp = [ +@@ -114,19 +114,19 @@ source_private_h = [ + ] + + if get_option ('qt-bindings') +- qt5 = import ('qt5') +- moc_files = qt5.preprocess (moc_headers: [ source_h, source_private_h ], +- dependencies: [ qt5_core_dep, qt5_network_dep ]) ++ qt6 = import ('qt6') ++ moc_files = qt6.preprocess (moc_headers: [ source_h, source_private_h ], ++ dependencies: [ qt6_core_dep, qt6_network_dep ]) + + snapd_qt_lib = library (library_name, + source_cpp, moc_files, + version: '1.0.0', +- dependencies: [ qt5_core_dep, qt5_network_dep, glib_dep, gio_dep, snapd_glib_dep ], ++ dependencies: [ qt6_core_dep, qt6_network_dep, glib_dep, gio_dep, snapd_glib_dep ], + cpp_args: [ '-DQT_NO_SIGNALS_SLOTS_KEYWORDS' ], + install: true) + + snapd_qt_dep = declare_dependency (link_with: snapd_qt_lib, +- dependencies: [ qt5_network_dep ], ++ dependencies: [ qt6_network_dep ], + include_directories: include_directories ('.')) + + install_headers (source_h + source_alias_h, +@@ -160,7 +160,7 @@ if get_option ('qt-bindings') + install_data ('qmldir', + install_dir: qml_dir) + +- qml_moc_files = qt5.preprocess (moc_headers: 'qml-plugin.h', ++ qml_moc_files = qt6.preprocess (moc_headers: 'qml-plugin.h', + dependencies: qml_dep) + library (qt_name, + 'qml-plugin.cpp', qml_moc_files, +diff --git a/tests/meson.build b/tests/meson.build +index dd4ac7ef..4207244b 100644 +--- a/tests/meson.build ++++ b/tests/meson.build +@@ -39,7 +39,7 @@ test_file = configure_file (input: 'test-markdown-glib.test.in', + install_data (test_file, install_dir: installed_tests_data_dir) + + if get_option ('qt-bindings') +- moc_files = qt5.preprocess (moc_headers: [ 'test-qt.h' ]) ++ moc_files = qt6.preprocess (moc_headers: [ 'test-qt.h' ]) + + test_executable = executable ('test-qt', + 'test-qt.cpp', moc_files, +diff --git a/tests/test-qt.cpp b/tests/test-qt.cpp +index 04243a51..2bd225cf 100644 +--- a/tests/test-qt.cpp ++++ b/tests/test-qt.cpp +@@ -2918,32 +2918,32 @@ test_get_connections_attributes () + + check_names_match (connection->plugAttributeNames (), QStringList () << "plug-string-key" << "plug-int-key" << "plug-bool-key" << "plug-number-key"); + g_assert_true (connection->hasPlugAttribute ("plug-string-key")); +- g_assert_true (connection->plugAttribute ("plug-string-key").type () == (QVariant::Type) QMetaType::QString); ++ g_assert_true (connection->plugAttribute ("plug-string-key").metaType().id () == QMetaType::QString); + g_assert_true (connection->plugAttribute ("plug-string-key").toString () == "value"); + g_assert_true (connection->hasPlugAttribute ("plug-int-key")); +- g_assert_true (connection->plugAttribute ("plug-int-key").type () == (QVariant::Type) QMetaType::LongLong); ++ g_assert_true (connection->plugAttribute ("plug-int-key").metaType().id () == QMetaType::LongLong); + g_assert_cmpint (connection->plugAttribute ("plug-int-key").toLongLong (), ==, 42); + g_assert_true (connection->hasPlugAttribute ("plug-bool-key")); +- g_assert_true (connection->plugAttribute ("plug-bool-key").type () == (QVariant::Type) QMetaType::Bool); ++ g_assert_true (connection->plugAttribute ("plug-bool-key").metaType().id () == QMetaType::Bool); + g_assert_true (connection->plugAttribute ("plug-bool-key").toBool ()); + g_assert_true (connection->hasPlugAttribute ("plug-number-key")); +- g_assert_true (connection->plugAttribute ("plug-number-key").type () == (QVariant::Type) QMetaType::Double); ++ g_assert_true (connection->plugAttribute ("plug-number-key").metaType().id () == QMetaType::Double); + g_assert_cmpfloat (connection->plugAttribute ("plug-number-key").toDouble (), ==, 1.25); + g_assert_false (connection->hasPlugAttribute ("plug-invalid-key")); + g_assert_false (connection->plugAttribute ("plug-invalid-key").isValid ()); + + check_names_match (connection->slotAttributeNames (), QStringList () << "slot-string-key" << "slot-int-key" << "slot-bool-key" << "slot-number-key"); + g_assert_true (connection->hasSlotAttribute ("slot-string-key")); +- g_assert_true (connection->slotAttribute ("slot-string-key").type () == (QVariant::Type) QMetaType::QString); ++ g_assert_true (connection->slotAttribute ("slot-string-key").metaType().id () == QMetaType::QString); + g_assert_true (connection->slotAttribute ("slot-string-key").toString () == "value"); + g_assert_true (connection->hasSlotAttribute ("slot-int-key")); +- g_assert_true (connection->slotAttribute ("slot-int-key").type () == (QVariant::Type) QMetaType::LongLong); ++ g_assert_true (connection->slotAttribute ("slot-int-key").metaType().id () == QMetaType::LongLong); + g_assert_cmpint (connection->slotAttribute ("slot-int-key").toLongLong (), ==, 42); + g_assert_true (connection->hasSlotAttribute ("slot-bool-key")); +- g_assert_true (connection->slotAttribute ("slot-bool-key").type () == (QVariant::Type) QMetaType::Bool); ++ g_assert_true (connection->slotAttribute ("slot-bool-key").metaType().id () == QMetaType::Bool); + g_assert_true (connection->slotAttribute ("slot-bool-key").toBool ()); + g_assert_true (connection->hasSlotAttribute ("slot-number-key")); +- g_assert_true (connection->slotAttribute ("slot-number-key").type () == (QVariant::Type) QMetaType::Double); ++ g_assert_true (connection->slotAttribute ("slot-number-key").metaType().id () == QMetaType::Double); + g_assert_cmpfloat (connection->slotAttribute ("slot-number-key").toDouble (), ==, 1.25); + g_assert_false (connection->hasSlotAttribute ("slot-invalid-key")); + g_assert_false (connection->slotAttribute ("slot-invalid-key").isValid ()); +@@ -2952,16 +2952,16 @@ test_get_connections_attributes () + QScopedPointer plug (getConnectionsRequest->plug (0)); + check_names_match (plug->attributeNames (), QStringList () << "plug-string-key" << "plug-int-key" << "plug-bool-key" << "plug-number-key"); + g_assert_true (plug->hasAttribute ("plug-string-key")); +- g_assert_true (plug->attribute ("plug-string-key").type () == (QVariant::Type) QMetaType::QString); ++ g_assert_true (plug->attribute ("plug-string-key").metaType().id () == QMetaType::QString); + g_assert_true (plug->attribute ("plug-string-key").toString () == "value"); + g_assert_true (plug->hasAttribute ("plug-int-key")); +- g_assert_true (plug->attribute ("plug-int-key").type () == (QVariant::Type) QMetaType::LongLong); ++ g_assert_true (plug->attribute ("plug-int-key").metaType().id () == QMetaType::LongLong); + g_assert_cmpint (plug->attribute ("plug-int-key").toLongLong (), ==, 42); + g_assert_true (plug->hasAttribute ("plug-bool-key")); +- g_assert_true (plug->attribute ("plug-bool-key").type () == (QVariant::Type) QMetaType::Bool); ++ g_assert_true (plug->attribute ("plug-bool-key").metaType().id () == QMetaType::Bool); + g_assert_true (plug->attribute ("plug-bool-key").toBool ()); + g_assert_true (plug->hasAttribute ("plug-number-key")); +- g_assert_true (plug->attribute ("plug-number-key").type () == (QVariant::Type) QMetaType::Double); ++ g_assert_true (plug->attribute ("plug-number-key").metaType().id () == QMetaType::Double); + g_assert_cmpfloat (plug->attribute ("plug-number-key").toDouble (), ==, 1.25); + g_assert_false (plug->hasAttribute ("plug-invalid-key")); + g_assert_false (plug->attribute ("plug-invalid-key").isValid ()); +@@ -2970,16 +2970,16 @@ test_get_connections_attributes () + QScopedPointer slot (getConnectionsRequest->slot (0)); + check_names_match (slot->attributeNames (), QStringList () << "slot-string-key" << "slot-int-key" << "slot-bool-key" << "slot-number-key"); + g_assert_true (slot->hasAttribute ("slot-string-key")); +- g_assert_true (slot->attribute ("slot-string-key").type () == (QVariant::Type) QMetaType::QString); ++ g_assert_true (slot->attribute ("slot-string-key").metaType().id () == QMetaType::QString); + g_assert_true (slot->attribute ("slot-string-key").toString () == "value"); + g_assert_true (slot->hasAttribute ("slot-int-key")); +- g_assert_true (slot->attribute ("slot-int-key").type () == (QVariant::Type) QMetaType::LongLong); ++ g_assert_true (slot->attribute ("slot-int-key").metaType().id () == QMetaType::LongLong); + g_assert_cmpint (slot->attribute ("slot-int-key").toLongLong (), ==, 42); + g_assert_true (slot->hasAttribute ("slot-bool-key")); +- g_assert_true (slot->attribute ("slot-bool-key").type () == (QVariant::Type) QMetaType::Bool); ++ g_assert_true (slot->attribute ("slot-bool-key").metaType().id () == QMetaType::Bool); + g_assert_true (slot->attribute ("slot-bool-key").toBool ()); + g_assert_true (slot->hasAttribute ("slot-number-key")); +- g_assert_true (slot->attribute ("slot-number-key").type () == (QVariant::Type) QMetaType::Double); ++ g_assert_true (slot->attribute ("slot-number-key").metaType().id () == QMetaType::Double); + g_assert_cmpfloat (slot->attribute ("slot-number-key").toDouble (), ==, 1.25); + g_assert_false (slot->hasAttribute ("slot-invalid-key")); + g_assert_false (slot->attribute ("slot-invalid-key").isValid ()); +@@ -3123,13 +3123,13 @@ test_get_interfaces_attributes () + QScopedPointer plug (getInterfacesRequest->plug (0)); + check_names_match (plug->attributeNames (), QStringList () << "plug-string-key" << "plug-int-key" << "plug-bool-key"); + g_assert_true (plug->hasAttribute ("plug-string-key")); +- g_assert_true (plug->attribute ("plug-string-key").type () == (QVariant::Type) QMetaType::QString); ++ g_assert_true (plug->attribute ("plug-string-key").metaType().id () == QMetaType::QString); + g_assert_true (plug->attribute ("plug-string-key").toString () == "value"); + g_assert_true (plug->hasAttribute ("plug-int-key")); +- g_assert_true (plug->attribute ("plug-int-key").type () == (QVariant::Type) QMetaType::LongLong); ++ g_assert_true (plug->attribute ("plug-int-key").metaType().id () == QMetaType::LongLong); + g_assert_cmpint (plug->attribute ("plug-int-key").toLongLong (), ==, 42); + g_assert_true (plug->hasAttribute ("plug-bool-key")); +- g_assert_true (plug->attribute ("plug-bool-key").type () == (QVariant::Type) QMetaType::Bool); ++ g_assert_true (plug->attribute ("plug-bool-key").metaType().id () == QMetaType::Bool); + g_assert_true (plug->attribute ("plug-bool-key").toBool ()); + g_assert_false (plug->hasAttribute ("plug-invalid-key")); + g_assert_false (plug->attribute ("plug-invalid-key").isValid ()); +@@ -3138,13 +3138,13 @@ test_get_interfaces_attributes () + QScopedPointer slot (getInterfacesRequest->slot (0)); + check_names_match (slot->attributeNames (), QStringList () << "slot-string-key" << "slot-int-key" << "slot-bool-key"); + g_assert_true (slot->hasAttribute ("slot-string-key")); +- g_assert_true (slot->attribute ("slot-string-key").type () == (QVariant::Type) QMetaType::QString); ++ g_assert_true (slot->attribute ("slot-string-key").metaType().id () == QMetaType::QString); + g_assert_true (slot->attribute ("slot-string-key").toString () == "value"); + g_assert_true (slot->hasAttribute ("slot-int-key")); +- g_assert_true (slot->attribute ("slot-int-key").type () == (QVariant::Type) QMetaType::LongLong); ++ g_assert_true (slot->attribute ("slot-int-key").metaType().id () == QMetaType::LongLong); + g_assert_cmpint (slot->attribute ("slot-int-key").toLongLong (), ==, 42); + g_assert_true (slot->hasAttribute ("slot-bool-key")); +- g_assert_true (slot->attribute ("slot-bool-key").type () == (QVariant::Type) QMetaType::Bool); ++ g_assert_true (slot->attribute ("slot-bool-key").metaType().id () == QMetaType::Bool); + g_assert_true (slot->attribute ("slot-bool-key").toBool ()); + g_assert_false (slot->hasAttribute ("slot-invalid-key")); + g_assert_false (slot->attribute ("slot-invalid-key").isValid ()); +@@ -3894,7 +3894,7 @@ test_find_channels () + if (channel->name () == "stable") { + g_assert_true (channel->track () == "latest"); + g_assert_true (channel->risk () == "stable"); +- g_assert_true (channel->branch () == NULL); ++ g_assert_true (channel->branch ().isEmpty()); + g_assert_true (channel->revision () == "REVISION"); + g_assert_true (channel->version () == "VERSION"); + g_assert_true (channel->epoch () == "0"); +@@ -3907,7 +3907,7 @@ test_find_channels () + g_assert_true (channel->name () == "beta"); + g_assert_true (channel->track () == "latest"); + g_assert_true (channel->risk () == "beta"); +- g_assert_true (channel->branch () == NULL); ++ g_assert_true (channel->branch ().isEmpty()); + g_assert_true (channel->revision () == "BETA-REVISION"); + g_assert_true (channel->version () == "BETA-VERSION"); + g_assert_true (channel->epoch () == "1"); +@@ -3926,7 +3926,7 @@ test_find_channels () + if (channel->name () == "insider/stable") { + g_assert_true (channel->track () == "insider"); + g_assert_true (channel->risk () == "stable"); +- g_assert_true (channel->branch () == NULL); ++ g_assert_true (channel->branch ().isEmpty()); + g_assert_true (channel->releasedAt ().isNull ()); + matched_track = TRUE; + } -- cgit v1.2.3