forked from pool/discover
7e07b3bfe4
- Add patch to fix build with glib >= 2.68.0: * 0001-Only-wrap-flatpak.h-includes-in-extern-C-with-older-.patch OBS-URL: https://build.opensuse.org/request/show/883568 OBS-URL: https://build.opensuse.org/package/show/KDE:Frameworks5/discover?expand=0&rev=260
241 lines
8.4 KiB
Diff
241 lines
8.4 KiB
Diff
From 12f83062b01d5ba946e6f98503b72d4e58721aa4 Mon Sep 17 00:00:00 2001
|
|
From: Aleix Pol Gonzalez <aleixpol@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 <aleixpol@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;
|
|
--
|
|
2.25.1
|
|
|