commit:     05378df80892dea6bd44dfe58e64fb9ce840e3d3
Author:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
AuthorDate: Sat May  1 18:44:15 2021 +0000
Commit:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
CommitDate: Sat May  1 21:21:55 2021 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=05378df8

kde-plasma/discover: Fix build with dev-libs/glib-2.68

Closes: https://bugs.gentoo.org/787155
Package-Manager: Portage-3.0.18, Repoman-3.0.3
Signed-off-by: Andreas Sturmlechner <asturm <AT> gentoo.org>

 kde-plasma/discover/discover-5.21.4.ebuild         |   5 +-
 .../discover/files/discover-5.21.4-glib-2.68.patch | 240 +++++++++++++++++++++
 2 files changed, 244 insertions(+), 1 deletion(-)

diff --git a/kde-plasma/discover/discover-5.21.4.ebuild 
b/kde-plasma/discover/discover-5.21.4.ebuild
index 2c50bd9597f..e32fb61e4cd 100644
--- a/kde-plasma/discover/discover-5.21.4.ebuild
+++ b/kde-plasma/discover/discover-5.21.4.ebuild
@@ -56,7 +56,10 @@ RDEPEND="${DEPEND}
        >=kde-frameworks/kirigami-${KFMIN}:5
 "
 
-PATCHES=( "${FILESDIR}/${P}-missing-link.patch" ) # bug 785457
+PATCHES=(
+       "${FILESDIR}/${P}-missing-link.patch" # bug 785457
+       "${FILESDIR}/${P}-glib-2.68.patch" # bug 787155
+)
 
 src_prepare() {
        ecm_src_prepare

diff --git a/kde-plasma/discover/files/discover-5.21.4-glib-2.68.patch 
b/kde-plasma/discover/files/discover-5.21.4-glib-2.68.patch
new file mode 100644
index 00000000000..903b4b8ff30
--- /dev/null
+++ b/kde-plasma/discover/files/discover-5.21.4-glib-2.68.patch
@@ -0,0 +1,240 @@
+From 12f83062b01d5ba946e6f98503b72d4e58721aa4 Mon Sep 17 00:00:00 2001
+From: Aleix Pol Gonzalez <aleix...@kde.org>
+Date: Tue, 6 Apr 2021 23:54:52 +0000
+Subject: [PATCH] Only wrap flatpak.h includes in extern "C" with older
+ versions
+
+Seems to be the only way to be compatible backwards and forwards.
+---
+ CMakeLists.txt                                 |  1 -
+ .../backends/FlatpakBackend/CMakeLists.txt     |  6 ++++++
+ .../backends/FlatpakBackend/FlatpakBackend.h   |  4 +---
+ .../FlatpakBackend/FlatpakFetchDataJob.h       |  4 +---
+ .../FlatpakBackend/FlatpakJobTransaction.cpp   |  3 ---
+ .../FlatpakBackend/FlatpakJobTransaction.h     |  4 +---
+ .../backends/FlatpakBackend/FlatpakNotifier.h  |  4 +---
+ .../backends/FlatpakBackend/FlatpakResource.h  |  4 +---
+ .../FlatpakBackend/FlatpakSourcesBackend.h     |  4 +---
+ .../FlatpakBackend/FlatpakTransactionThread.h  |  4 +---
+ .../backends/FlatpakBackend/flatpak-helper.h   | 18 ++++++++++++++++++
+ .../backends/FwupdBackend/CMakeLists.txt       |  3 +++
+ .../backends/FwupdBackend/FwupdBackend.h       |  5 +++++
+ 13 files changed, 39 insertions(+), 25 deletions(-)
+ create mode 100644 libdiscover/backends/FlatpakBackend/flatpak-helper.h
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 889ded6c..a531d4de 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -37,7 +37,6 @@ pkg_check_modules(Fwupd IMPORTED_TARGET fwupd>=1.5.0)
+ pkg_check_modules(Markdown IMPORTED_TARGET libmarkdown)
+ find_package(KUserFeedback)
+ 
+-
+ if(NOT CMAKE_VERSION VERSION_LESS "3.10.0")
+   # CMake 3.9+ warns about automoc on files without Q_OBJECT, and doesn't 
know about other macros.
+   # 3.10+ lets us provide more macro names that require automoc.
+diff --git a/libdiscover/backends/FlatpakBackend/CMakeLists.txt 
b/libdiscover/backends/FlatpakBackend/CMakeLists.txt
+index 49ac1085..65ba622a 100644
+--- a/libdiscover/backends/FlatpakBackend/CMakeLists.txt
++++ b/libdiscover/backends/FlatpakBackend/CMakeLists.txt
+@@ -23,8 +23,14 @@ add_library(FlatpakNotifier MODULE FlatpakNotifier.cpp)
+ target_link_libraries(FlatpakNotifier Discover::Notifiers Qt5::Concurrent 
PkgConfig::Flatpak)
+ set_target_properties(FlatpakNotifier PROPERTIES INSTALL_RPATH 
${CMAKE_INSTALL_FULL_LIBDIR}/plasma-discover)
+ 
++if (Flatpak_VERSION VERSION_LESS 1.10.2)
++    target_compile_definitions(flatpak-backend PRIVATE 
-DFLATPAK_EXTERNC_REQUIRED)
++    target_compile_definitions(FlatpakNotifier PRIVATE 
-DFLATPAK_EXTERNC_REQUIRED)
++endif()
++
+ install(TARGETS FlatpakNotifier DESTINATION 
${PLUGIN_INSTALL_DIR}/discover-notifier)
+ install(PROGRAMS org.kde.discover-flatpak.desktop DESTINATION 
${XDG_APPS_INSTALL_DIR} )
++
+ install(FILES org.kde.discover.flatpak.appdata.xml DESTINATION 
${KDE_INSTALL_METAINFODIR} )
+ 
+ ecm_install_icons(
+diff --git a/libdiscover/backends/FlatpakBackend/FlatpakBackend.h 
b/libdiscover/backends/FlatpakBackend/FlatpakBackend.h
+index 3b71344f..f0234cc7 100644
+--- a/libdiscover/backends/FlatpakBackend/FlatpakBackend.h
++++ b/libdiscover/backends/FlatpakBackend/FlatpakBackend.h
+@@ -18,9 +18,7 @@
+ 
+ #include <AppStreamQt/component.h>
+ 
+-extern "C" {
+-#include <flatpak.h>
+-}
++#include "flatpak-helper.h"
+ 
+ class FlatpakSourcesBackend;
+ class StandardBackendUpdater;
+diff --git a/libdiscover/backends/FlatpakBackend/FlatpakFetchDataJob.h 
b/libdiscover/backends/FlatpakBackend/FlatpakFetchDataJob.h
+index b9aaf80e..d63fd1bc 100644
+--- a/libdiscover/backends/FlatpakBackend/FlatpakFetchDataJob.h
++++ b/libdiscover/backends/FlatpakBackend/FlatpakFetchDataJob.h
+@@ -8,10 +8,8 @@
+ #define FLATPAKFETCHDATAJOB_H
+ 
+ #include <QByteArray>
+-extern "C" {
+-#include <flatpak.h>
++#include "flatpak-helper.h"
+ #include <glib.h>
+-}
+ 
+ class FlatpakResource;
+ 
+diff --git a/libdiscover/backends/FlatpakBackend/FlatpakJobTransaction.cpp 
b/libdiscover/backends/FlatpakBackend/FlatpakJobTransaction.cpp
+index 9499c566..37adb046 100644
+--- a/libdiscover/backends/FlatpakBackend/FlatpakJobTransaction.cpp
++++ b/libdiscover/backends/FlatpakBackend/FlatpakJobTransaction.cpp
+@@ -13,9 +13,6 @@
+ #include <QDebug>
+ #include <QTimer>
+ 
+-extern "C" {
+-}
+-
+ FlatpakJobTransaction::FlatpakJobTransaction(FlatpakResource *app, Role role, 
bool delayStart)
+     : Transaction(app->backend(), app, role, {})
+     , m_app(app)
+diff --git a/libdiscover/backends/FlatpakBackend/FlatpakJobTransaction.h 
b/libdiscover/backends/FlatpakBackend/FlatpakJobTransaction.h
+index ea2aafaa..0e4423ef 100644
+--- a/libdiscover/backends/FlatpakBackend/FlatpakJobTransaction.h
++++ b/libdiscover/backends/FlatpakBackend/FlatpakJobTransaction.h
+@@ -10,12 +10,10 @@
+ 
+ #include <Transaction/Transaction.h>
+ #include <QPointer>
++#include "flatpak-helper.h"
+ 
+-extern "C" {
+-#include <flatpak.h>
+ #include <gio/gio.h>
+ #include <glib.h>
+-}
+ 
+ class FlatpakResource;
+ class FlatpakTransactionThread;
+diff --git a/libdiscover/backends/FlatpakBackend/FlatpakNotifier.h 
b/libdiscover/backends/FlatpakBackend/FlatpakNotifier.h
+index fa358802..a0deb83a 100644
+--- a/libdiscover/backends/FlatpakBackend/FlatpakNotifier.h
++++ b/libdiscover/backends/FlatpakBackend/FlatpakNotifier.h
+@@ -10,9 +10,7 @@
+ #include <BackendNotifierModule.h>
+ #include <functional>
+ 
+-extern "C" {
+-#include <flatpak.h>
+-}
++#include "flatpak-helper.h"
+ 
+ class FlatpakNotifier : public BackendNotifierModule
+ {
+diff --git a/libdiscover/backends/FlatpakBackend/FlatpakResource.h 
b/libdiscover/backends/FlatpakBackend/FlatpakResource.h
+index 880b494b..253062db 100644
+--- a/libdiscover/backends/FlatpakBackend/FlatpakResource.h
++++ b/libdiscover/backends/FlatpakBackend/FlatpakResource.h
+@@ -11,9 +11,7 @@
+ 
+ #include <resources/AbstractResource.h>
+ 
+-extern "C" {
+-#include <flatpak.h>
+-}
++#include "flatpak-helper.h"
+ 
+ #include <AppStreamQt/component.h>
+ 
+diff --git a/libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.h 
b/libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.h
+index b2a6c7c2..df356337 100644
+--- a/libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.h
++++ b/libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.h
+@@ -13,9 +13,7 @@
+ #include <QStack>
+ #include <functional>
+ 
+-extern "C" {
+-#include <flatpak.h>
+-}
++#include "flatpak-helper.h"
+ 
+ class FlatpakResource;
+ class FlatpakSourcesBackend : public AbstractSourcesBackend
+diff --git a/libdiscover/backends/FlatpakBackend/FlatpakTransactionThread.h 
b/libdiscover/backends/FlatpakBackend/FlatpakTransactionThread.h
+index b8eef827..24718f9a 100644
+--- a/libdiscover/backends/FlatpakBackend/FlatpakTransactionThread.h
++++ b/libdiscover/backends/FlatpakBackend/FlatpakTransactionThread.h
+@@ -7,11 +7,9 @@
+ #ifndef FLATPAKTRANSACTIONTHREAD_H
+ #define FLATPAKTRANSACTIONTHREAD_H
+ 
+-extern "C" {
+-#include <flatpak.h>
++#include "flatpak-helper.h"
+ #include <gio/gio.h>
+ #include <glib.h>
+-}
+ 
+ #include <Transaction/Transaction.h>
+ #include <QThread>
+diff --git a/libdiscover/backends/FlatpakBackend/flatpak-helper.h 
b/libdiscover/backends/FlatpakBackend/flatpak-helper.h
+new file mode 100644
+index 00000000..f42eee46
+--- /dev/null
++++ b/libdiscover/backends/FlatpakBackend/flatpak-helper.h
+@@ -0,0 +1,18 @@
++/*
++ *   SPDX-FileCopyrightText: 2021 Aleix Pol Gonzalez <aleix...@kde.org>
++ *
++ *   SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR 
LicenseRef-KDE-Accepted-GPL
++ */
++
++#ifndef FLATPAK_HELPER
++#define FLATPAK_HELPER
++
++#ifdef FLATPAK_EXTERNC_REQUIRED
++extern "C" {
++#endif
++#include <flatpak.h>
++#ifdef FLATPAK_EXTERNC_REQUIRED
++}
++#endif
++
++#endif
+diff --git a/libdiscover/backends/FwupdBackend/CMakeLists.txt 
b/libdiscover/backends/FwupdBackend/CMakeLists.txt
+index a018f175..59c36a8d 100644
+--- a/libdiscover/backends/FwupdBackend/CMakeLists.txt
++++ b/libdiscover/backends/FwupdBackend/CMakeLists.txt
+@@ -9,6 +9,9 @@ set(fwupd-backend_SRCS
+ 
+ add_library(fwupd-backend MODULE ${fwupd-backend_SRCS})
+ target_link_libraries(fwupd-backend Qt5::Core KF5::CoreAddons KF5::ConfigCore 
Discover::Common PkgConfig::Fwupd)
++if (Fwupd_VERSION VERSION_LESS 1.5.8)
++    target_compile_definitions(fwupd-backend PRIVATE -DFWUPD_EXTERNC_REQUIRED)
++endif()
+ 
+ install(TARGETS fwupd-backend DESTINATION ${PLUGIN_INSTALL_DIR}/discover)
+ 
+diff --git a/libdiscover/backends/FwupdBackend/FwupdBackend.h 
b/libdiscover/backends/FwupdBackend/FwupdBackend.h
+index c886384e..7b1ff180 100644
+--- a/libdiscover/backends/FwupdBackend/FwupdBackend.h
++++ b/libdiscover/backends/FwupdBackend/FwupdBackend.h
+@@ -25,9 +25,14 @@
+ #include <QCryptographicHash>
+ #include <QMap>
+ 
++#ifdef FWUPD_EXTERNC_REQUIRED
+ extern "C" {
++#endif
++
+ #include <fwupd.h>
++#ifdef FWUPD_EXTERNC_REQUIRED
+ }
++#endif
+ #include <glib-2.0/glib-object.h>
+ 
+ class QAction;
+-- 
+GitLab
+

Reply via email to