[arch-commits] Commit in discover/repos (8 files)

Antonio Rojas arojas at archlinux.org
Tue Nov 8 12:39:29 UTC 2016


    Date: Tuesday, November 8, 2016 @ 12:39:28
  Author: arojas
Revision: 195138

archrelease: copy trunk to community-staging-i686, community-staging-x86_64

Added:
  discover/repos/community-staging-i686/PKGBUILD
    (from rev 195137, discover/trunk/PKGBUILD)
  discover/repos/community-staging-i686/discover-appstream-0.10.3.patch
    (from rev 195137, discover/trunk/discover-appstream-0.10.3.patch)
  discover/repos/community-staging-x86_64/PKGBUILD
    (from rev 195137, discover/trunk/PKGBUILD)
  discover/repos/community-staging-x86_64/discover-appstream-0.10.3.patch
    (from rev 195137, discover/trunk/discover-appstream-0.10.3.patch)
Deleted:
  discover/repos/community-staging-i686/PKGBUILD
  discover/repos/community-staging-i686/discover-appstream-0.10.3.patch
  discover/repos/community-staging-x86_64/PKGBUILD
  discover/repos/community-staging-x86_64/discover-appstream-0.10.3.patch

----------------------------------------------------------+
 /PKGBUILD                                                |   88 ++
 /discover-appstream-0.10.3.patch                         |  512 +++++++++++++
 community-staging-i686/PKGBUILD                          |   44 -
 community-staging-i686/discover-appstream-0.10.3.patch   |  256 ------
 community-staging-x86_64/PKGBUILD                        |   44 -
 community-staging-x86_64/discover-appstream-0.10.3.patch |  256 ------
 6 files changed, 600 insertions(+), 600 deletions(-)

Deleted: community-staging-i686/PKGBUILD
===================================================================
--- community-staging-i686/PKGBUILD	2016-11-08 12:39:02 UTC (rev 195137)
+++ community-staging-i686/PKGBUILD	2016-11-08 12:39:28 UTC (rev 195138)
@@ -1,44 +0,0 @@
-# $Id$
-# Maintainer: Antonio Rojas <arojas at archlinux.org> 
-
-pkgname=discover
-pkgver=5.8.3
-pkgrel=1
-pkgdesc='A collection of package management tools for KDE'
-arch=(i686 x86_64)
-url='https://projects.kde.org/projects/kde/workspace/discover'
-license=(LGPL)
-depends=(packagekit-qt5 knewstuff kdeclarative qt5-graphicaleffects appstream-qt archlinux-appstream-data
-         hicolor-icon-theme kirigami)
-makedepends=(extra-cmake-modules python plasma-framework)
-conflicts=(muon)
-replaces=(muon)
-source=("http://download.kde.org/stable/plasma/$pkgver/$pkgname-$pkgver.tar.xz"{,.sig}
-        discover-appstream-0.10.3.patch)
-md5sums=('555043b0cdeb1cfdb00ee45ec5dec7c6'
-         'SKIP'
-         'da8766914efcb8fb248bcdf8f1c38396')
-validpgpkeys=(2D1D5B0588357787DE9EE225EC94D18F7F05997E) # Jonathan Riddell <jr at jriddell.org>
-
-prepare() {
-  mkdir -p build
-
-# Port to appstream-qt 0.10.3 API (Debian)
-  cd $pkgname-$pkgver
-  patch -p1 -i ../discover-appstream-0.10.3.patch
-}
-
-build() {
-  cd build
-  cmake ../$pkgname-$pkgver \
-    -DCMAKE_BUILD_TYPE=Release \
-    -DCMAKE_INSTALL_PREFIX=/usr \
-    -DKDE_INSTALL_LIBDIR=lib \
-    -DBUILD_TESTING=OFF
-  make
-}
-
-package() {
-  cd build
-  make DESTDIR="$pkgdir" install
-}

Copied: discover/repos/community-staging-i686/PKGBUILD (from rev 195137, discover/trunk/PKGBUILD)
===================================================================
--- community-staging-i686/PKGBUILD	                        (rev 0)
+++ community-staging-i686/PKGBUILD	2016-11-08 12:39:28 UTC (rev 195138)
@@ -0,0 +1,44 @@
+# $Id$
+# Maintainer: Antonio Rojas <arojas at archlinux.org> 
+
+pkgname=discover
+pkgver=5.8.3
+pkgrel=2
+pkgdesc='A collection of package management tools for KDE'
+arch=(i686 x86_64)
+url='https://projects.kde.org/projects/kde/workspace/discover'
+license=(LGPL)
+depends=(packagekit-qt5 knewstuff kdeclarative qt5-graphicaleffects appstream-qt archlinux-appstream-data
+         hicolor-icon-theme kirigami)
+makedepends=(extra-cmake-modules python plasma-framework)
+conflicts=(muon)
+replaces=(muon)
+source=("http://download.kde.org/stable/plasma/$pkgver/$pkgname-$pkgver.tar.xz"{,.sig}
+        discover-appstream-0.10.3.patch)
+md5sums=('555043b0cdeb1cfdb00ee45ec5dec7c6'
+         'SKIP'
+         'da8766914efcb8fb248bcdf8f1c38396')
+validpgpkeys=(2D1D5B0588357787DE9EE225EC94D18F7F05997E) # Jonathan Riddell <jr at jriddell.org>
+
+prepare() {
+  mkdir -p build
+
+# Port to appstream-qt 0.10.3 API (Debian)
+  cd $pkgname-$pkgver
+  patch -p1 -i ../discover-appstream-0.10.3.patch
+}
+
+build() {
+  cd build
+  cmake ../$pkgname-$pkgver \
+    -DCMAKE_BUILD_TYPE=Release \
+    -DCMAKE_INSTALL_PREFIX=/usr \
+    -DKDE_INSTALL_LIBDIR=lib \
+    -DBUILD_TESTING=OFF
+  make
+}
+
+package() {
+  cd build
+  make DESTDIR="$pkgdir" install
+}

Deleted: community-staging-i686/discover-appstream-0.10.3.patch
===================================================================
--- community-staging-i686/discover-appstream-0.10.3.patch	2016-11-08 12:39:02 UTC (rev 195137)
+++ community-staging-i686/discover-appstream-0.10.3.patch	2016-11-08 12:39:28 UTC (rev 195138)
@@ -1,256 +0,0 @@
-commit 5748ab0d65df220ce1e084939b07e32c676f853b
-Author: Matthias Klumpp <matthias at tenstral.net>
-Date:   Sat Nov 5 16:30:43 2016 +0100
-
-    Make Discover compile with newer AppStreamQt releases
-
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index 48a9b77..c59d7ad 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -28,7 +28,15 @@ if (NOT packagekitqt5_FOUND)
-         find_package(KF5 REQUIRED IconThemes Notifications KIO)
-     endif()
- endif()
--find_package(AppstreamQt 0.10)
-+
-+find_package(AppStreamQt 0.10)
-+set(AppStreamTarget "AppStreamQt")
-+if (NOT AppStreamQt_FOUND)
-+    find_package(AppstreamQt 0.10)
-+    set(AppStreamTarget "AppstreamQt")
-+    set(AppStreamQt_FOUND TRUE)
-+endif()
-+
- find_package(KF5Attica 5.23)
- find_package(KF5NewStuff 5.23)
- 
-diff --git a/libdiscover/backends/CMakeLists.txt b/libdiscover/backends/CMakeLists.txt
-index 93497f6..8eb7365 100644
---- a/libdiscover/backends/CMakeLists.txt
-+++ b/libdiscover/backends/CMakeLists.txt
-@@ -20,7 +20,7 @@ if(BODEGA_FOUND)
-     add_subdirectory(BodegaBackend)
- endif()
- 
--if(packagekitqt5_FOUND AND AppstreamQt_FOUND)
-+if(packagekitqt5_FOUND AND AppStreamQt_FOUND)
-     add_subdirectory(PackageKitBackend)
- endif()
- 
-diff --git a/libdiscover/backends/PackageKitBackend/AppPackageKitResource.cpp 
-b/libdiscover/backends/PackageKitBackend/AppPackageKitResource.cpp
-index 658019f..5256db3 100644
---- a/libdiscover/backends/PackageKitBackend/AppPackageKitResource.cpp
-+++ b/libdiscover/backends/PackageKitBackend/AppPackageKitResource.cpp
-@@ -19,8 +19,14 @@
-  ***************************************************************************/
- 
- #include "AppPackageKitResource.h"
-+#ifdef NEWAPPSTREAM
-+#include <AppStreamQt/icon.h>
-+#include <AppStreamQt/screenshot.h>
-+#include <AppStreamQt/image.h>
-+#else
- #include <AppstreamQt/screenshot.h>
- #include <AppstreamQt/image.h>
-+#endif
- // #include <AppstreamQt/release.h>
- #include <KLocalizedString>
- #include <KToolInvocation>
-@@ -52,7 +58,23 @@ QString AppPackageKitResource::longDescription()
- QVariant AppPackageKitResource::icon() const
- {
-     QIcon ret;
--
-+#ifdef NEWAPPSTREAM
-+    const auto icons = m_appdata.icons();
-+    if (icons.isEmpty()) {
-+        ret = QIcon::fromTheme(QStringLiteral("package-x-generic"));
-+    } else foreach(const AppStream::Icon &icon, icons) {
-+        switch(icon.kind()) {
-+            case AppStream::Icon::KindLocal:
-+                ret.addFile(icon.url().toLocalFile(), icon.size());
-+                break;
-+            case AppStream::Icon::KindCached:
-+                ret.addFile(icon.url().toLocalFile(), icon.size());
-+                break;
-+            default:
-+                break;
-+        }
-+    }
-+#else
-     const auto icons = m_appdata.iconUrls();
-     if (icons.isEmpty())
-         return m_appdata.name();
-@@ -66,7 +88,7 @@ QVariant AppPackageKitResource::icon() const
-     if (ret.isNull()) {
-         ret = QIcon::fromTheme(QStringLiteral("package-x-generic"));
-     }
--
-+#endif
-     return ret;
- }
- 
-@@ -105,7 +127,11 @@ QString AppPackageKitResource::appstreamId() const
- 
- QUrl AppPackageKitResource::homepage()
- {
-+#ifdef NEWAPPSTREAM
-+    return m_appdata.url(Appstream::Component::UrlKindHomepage);
-+#else
-     return m_appdata.urls().value(Appstream::Component::UrlKindHomepage);
-+#endif
- }
- 
- bool AppPackageKitResource::isTechnical() const
-@@ -150,13 +176,20 @@ static QUrl screenshot(const Appstream::Component& comp, Appstream::Image::Kind
- 
- QUrl AppPackageKitResource::screenshotUrl()
- {
-+#ifdef NEWAPPSTREAM
-+    return screenshot(m_appdata, Appstream::Image::KindSource);
-+#else
-     return screenshot(m_appdata, Appstream::Image::Plain);
--
-+#endif
- }
- 
- QUrl AppPackageKitResource::thumbnailUrl()
- {
-+#ifdef NEWAPPSTREAM
-+    return screenshot(m_appdata, Appstream::Image::KindThumbnail);
-+#else
-     return screenshot(m_appdata, Appstream::Image::Thumbnail);
-+#endif
- }
- 
- void AppPackageKitResource::fetchScreenshots()
-@@ -164,8 +197,13 @@ void AppPackageKitResource::fetchScreenshots()
-     QList<QUrl> thumbnails, screenshots;
- 
-     Q_FOREACH (const Appstream::Screenshot &s, m_appdata.screenshots()) {
-+#ifdef NEWAPPSTREAM
-+        const QUrl thumbnail = imageOfKind(s.images(), Appstream::Image::KindThumbnail);
-+        const QUrl plain = imageOfKind(s.images(), Appstream::Image::KindSource);
-+#else
-         const QUrl thumbnail = imageOfKind(s.images(), Appstream::Image::Thumbnail);
-         const QUrl plain = imageOfKind(s.images(), Appstream::Image::Plain);
-+#endif
-         if (plain.isEmpty())
-             qWarning() << "invalid screenshot for" << name();
- 
-@@ -183,11 +221,15 @@ bool AppPackageKitResource::canExecute() const
- 
- QStringList AppPackageKitResource::findProvides(Appstream::Provides::Kind kind) const
- {
-+#ifdef NEWAPPSTREAM
-+    return m_appdata.provided(kind).items();
-+#else
-     QStringList ret;
-     Q_FOREACH (Appstream::Provides p, m_appdata.provides())
-         if (p.kind() == kind)
-             ret += p.value();
-     return ret;
-+#endif
- }
- 
- QStringList AppPackageKitResource::allPackageNames() const
-diff --git a/libdiscover/backends/PackageKitBackend/AppPackageKitResource.h 
-b/libdiscover/backends/PackageKitBackend/AppPackageKitResource.h
-index 08d133d..4ec3681 100644
---- a/libdiscover/backends/PackageKitBackend/AppPackageKitResource.h
-+++ b/libdiscover/backends/PackageKitBackend/AppPackageKitResource.h
-@@ -24,6 +24,10 @@
- #include "PackageKitResource.h"
- #include "PackageKitBackend.h"
- 
-+#ifdef NEWAPPSTREAM
-+namespace Appstream = AppStream;
-+#endif
-+
- class AppPackageKitResource : public PackageKitResource
- {
-     Q_OBJECT
-diff --git a/libdiscover/backends/PackageKitBackend/CMakeLists.txt b/libdiscover/backends/PackageKitBackend/CMakeLists.txt
-index e31ea86..cfebaff 100644
---- a/libdiscover/backends/PackageKitBackend/CMakeLists.txt
-+++ b/libdiscover/backends/PackageKitBackend/CMakeLists.txt
-@@ -10,7 +10,13 @@ add_library(packagekit-backend MODULE PackageKitBackend.cpp
-     PackageKitSourcesBackend.cpp
-     AppstreamReviews.cpp
- )
--target_link_libraries(packagekit-backend PRIVATE Discover::Common Qt5::Core PK::packagekitqt5 KF5::ConfigGui KF5::Service KF5::KIOWidgets KF5::Archive AppstreamQt)
-+
-+if (${AppStreamQt_VERSION} VERSION_LESS 0.10.3)
-+    target_compile_definitions(packagekit-backend PRIVATE -DNEWAPPSTREAM=0)
-+else()
-+    target_compile_definitions(packagekit-backend PRIVATE -DNEWAPPSTREAM=1)
-+endif()
-+target_link_libraries(packagekit-backend PRIVATE Discover::Common Qt5::Core PK::packagekitqt5 KF5::ConfigGui KF5::Service KF5::KIOWidgets KF5::Archive ${AppStreamTarget})
- 
- install(TARGETS packagekit-backend DESTINATION ${PLUGIN_INSTALL_DIR}/discover)
- install(FILES packagekit-backend.desktop DESTINATION ${DATA_INSTALL_DIR}/libdiscover/backends)
-diff --git a/libdiscover/backends/PackageKitBackend/PackageKitBackend.cpp b/libdiscover/backends/PackageKitBackend/PackageKitBackend.cpp
-index d2698e9..3f180e5 100644
---- a/libdiscover/backends/PackageKitBackend/PackageKitBackend.cpp
-+++ b/libdiscover/backends/PackageKitBackend/PackageKitBackend.cpp
-@@ -54,7 +54,11 @@ PackageKitBackend::PackageKitBackend(QObject* parent)
-     , m_isFetching(0)
-     , m_reviews(new AppstreamReviews(this))
- {
-+#ifdef NEWAPPSTREAM
-+    bool b = m_appdata.load();
-+#else
-     bool b = m_appdata.open();
-+#endif
-     if (!b) {
-         qWarning() << "Could not open the AppStream metadata pool";
- 
-@@ -122,7 +126,11 @@ void PackageKitBackend::reloadPackageList()
-         disconnect(m_refresher.data(), &PackageKit::Transaction::finished, this, &PackageKitBackend::reloadPackageList);
-     }
- 
-+#ifdef NEWAPPSTREAM
-+    const auto components = m_appdata.components();
-+#else
-     const auto components = m_appdata.allComponents();
-+#endif
-     QStringList neededPackages;
-     neededPackages.reserve(components.size());
-     foreach(const Appstream::Component& component, components) {
-@@ -343,7 +351,11 @@ AbstractResource* PackageKitBackend::resourceByPackageName(const QString& name)
- 
- QList<AbstractResource*> PackageKitBackend::searchPackageName(const QString& searchText)
- {
-+#ifdef NEWAPPSTREAM
-+    const QList<Appstream::Component> components = m_appdata.search(searchText);
-+#else
-     const QList<Appstream::Component> components = m_appdata.findComponentsByString(searchText, {});
-+#endif
-     const QStringList ids = kTransform<QStringList>(components, [](const Appstream::Component& comp) { return comp.id(); });
- 
-     return resourcesByPackageNames<QList<AbstractResource*>>(ids);
-diff --git a/libdiscover/backends/PackageKitBackend/PackageKitBackend.h b/libdiscover/backends/PackageKitBackend/PackageKitBackend.h
-index 7b8d3fb..562099e 100644
---- a/libdiscover/backends/PackageKitBackend/PackageKitBackend.h
-+++ b/libdiscover/backends/PackageKitBackend/PackageKitBackend.h
-@@ -29,7 +29,18 @@
- #include <QTimer>
- #include <QSet>
- #include <PackageKit/Transaction>
-+
-+#ifdef NEWAPPSTREAM
-+#include <AppStreamQt/pool.h>
-+#include <AppStreamQt/provided.h>
-+namespace AppStream {
-+    typedef Provided Provides;
-+    typedef Pool Database;
-+}
-+namespace Appstream = AppStream;
-+#else
- #include <AppstreamQt/database.h>
-+#endif
- 
- class AppstreamReviews;
- class AppPackageKitResource;

Copied: discover/repos/community-staging-i686/discover-appstream-0.10.3.patch (from rev 195137, discover/trunk/discover-appstream-0.10.3.patch)
===================================================================
--- community-staging-i686/discover-appstream-0.10.3.patch	                        (rev 0)
+++ community-staging-i686/discover-appstream-0.10.3.patch	2016-11-08 12:39:28 UTC (rev 195138)
@@ -0,0 +1,256 @@
+commit 5748ab0d65df220ce1e084939b07e32c676f853b
+Author: Matthias Klumpp <matthias at tenstral.net>
+Date:   Sat Nov 5 16:30:43 2016 +0100
+
+    Make Discover compile with newer AppStreamQt releases
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 48a9b77..c59d7ad 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -28,7 +28,15 @@ if (NOT packagekitqt5_FOUND)
+         find_package(KF5 REQUIRED IconThemes Notifications KIO)
+     endif()
+ endif()
+-find_package(AppstreamQt 0.10)
++
++find_package(AppStreamQt 0.10)
++set(AppStreamTarget "AppStreamQt")
++if (NOT AppStreamQt_FOUND)
++    find_package(AppstreamQt 0.10)
++    set(AppStreamTarget "AppstreamQt")
++    set(AppStreamQt_FOUND TRUE)
++endif()
++
+ find_package(KF5Attica 5.23)
+ find_package(KF5NewStuff 5.23)
+ 
+diff --git a/libdiscover/backends/CMakeLists.txt b/libdiscover/backends/CMakeLists.txt
+index 93497f6..8eb7365 100644
+--- a/libdiscover/backends/CMakeLists.txt
++++ b/libdiscover/backends/CMakeLists.txt
+@@ -20,7 +20,7 @@ if(BODEGA_FOUND)
+     add_subdirectory(BodegaBackend)
+ endif()
+ 
+-if(packagekitqt5_FOUND AND AppstreamQt_FOUND)
++if(packagekitqt5_FOUND AND AppStreamQt_FOUND)
+     add_subdirectory(PackageKitBackend)
+ endif()
+ 
+diff --git a/libdiscover/backends/PackageKitBackend/AppPackageKitResource.cpp 
+b/libdiscover/backends/PackageKitBackend/AppPackageKitResource.cpp
+index 658019f..5256db3 100644
+--- a/libdiscover/backends/PackageKitBackend/AppPackageKitResource.cpp
++++ b/libdiscover/backends/PackageKitBackend/AppPackageKitResource.cpp
+@@ -19,8 +19,14 @@
+  ***************************************************************************/
+ 
+ #include "AppPackageKitResource.h"
++#ifdef NEWAPPSTREAM
++#include <AppStreamQt/icon.h>
++#include <AppStreamQt/screenshot.h>
++#include <AppStreamQt/image.h>
++#else
+ #include <AppstreamQt/screenshot.h>
+ #include <AppstreamQt/image.h>
++#endif
+ // #include <AppstreamQt/release.h>
+ #include <KLocalizedString>
+ #include <KToolInvocation>
+@@ -52,7 +58,23 @@ QString AppPackageKitResource::longDescription()
+ QVariant AppPackageKitResource::icon() const
+ {
+     QIcon ret;
+-
++#ifdef NEWAPPSTREAM
++    const auto icons = m_appdata.icons();
++    if (icons.isEmpty()) {
++        ret = QIcon::fromTheme(QStringLiteral("package-x-generic"));
++    } else foreach(const AppStream::Icon &icon, icons) {
++        switch(icon.kind()) {
++            case AppStream::Icon::KindLocal:
++                ret.addFile(icon.url().toLocalFile(), icon.size());
++                break;
++            case AppStream::Icon::KindCached:
++                ret.addFile(icon.url().toLocalFile(), icon.size());
++                break;
++            default:
++                break;
++        }
++    }
++#else
+     const auto icons = m_appdata.iconUrls();
+     if (icons.isEmpty())
+         return m_appdata.name();
+@@ -66,7 +88,7 @@ QVariant AppPackageKitResource::icon() const
+     if (ret.isNull()) {
+         ret = QIcon::fromTheme(QStringLiteral("package-x-generic"));
+     }
+-
++#endif
+     return ret;
+ }
+ 
+@@ -105,7 +127,11 @@ QString AppPackageKitResource::appstreamId() const
+ 
+ QUrl AppPackageKitResource::homepage()
+ {
++#ifdef NEWAPPSTREAM
++    return m_appdata.url(Appstream::Component::UrlKindHomepage);
++#else
+     return m_appdata.urls().value(Appstream::Component::UrlKindHomepage);
++#endif
+ }
+ 
+ bool AppPackageKitResource::isTechnical() const
+@@ -150,13 +176,20 @@ static QUrl screenshot(const Appstream::Component& comp, Appstream::Image::Kind
+ 
+ QUrl AppPackageKitResource::screenshotUrl()
+ {
++#ifdef NEWAPPSTREAM
++    return screenshot(m_appdata, Appstream::Image::KindSource);
++#else
+     return screenshot(m_appdata, Appstream::Image::Plain);
+-
++#endif
+ }
+ 
+ QUrl AppPackageKitResource::thumbnailUrl()
+ {
++#ifdef NEWAPPSTREAM
++    return screenshot(m_appdata, Appstream::Image::KindThumbnail);
++#else
+     return screenshot(m_appdata, Appstream::Image::Thumbnail);
++#endif
+ }
+ 
+ void AppPackageKitResource::fetchScreenshots()
+@@ -164,8 +197,13 @@ void AppPackageKitResource::fetchScreenshots()
+     QList<QUrl> thumbnails, screenshots;
+ 
+     Q_FOREACH (const Appstream::Screenshot &s, m_appdata.screenshots()) {
++#ifdef NEWAPPSTREAM
++        const QUrl thumbnail = imageOfKind(s.images(), Appstream::Image::KindThumbnail);
++        const QUrl plain = imageOfKind(s.images(), Appstream::Image::KindSource);
++#else
+         const QUrl thumbnail = imageOfKind(s.images(), Appstream::Image::Thumbnail);
+         const QUrl plain = imageOfKind(s.images(), Appstream::Image::Plain);
++#endif
+         if (plain.isEmpty())
+             qWarning() << "invalid screenshot for" << name();
+ 
+@@ -183,11 +221,15 @@ bool AppPackageKitResource::canExecute() const
+ 
+ QStringList AppPackageKitResource::findProvides(Appstream::Provides::Kind kind) const
+ {
++#ifdef NEWAPPSTREAM
++    return m_appdata.provided(kind).items();
++#else
+     QStringList ret;
+     Q_FOREACH (Appstream::Provides p, m_appdata.provides())
+         if (p.kind() == kind)
+             ret += p.value();
+     return ret;
++#endif
+ }
+ 
+ QStringList AppPackageKitResource::allPackageNames() const
+diff --git a/libdiscover/backends/PackageKitBackend/AppPackageKitResource.h 
+b/libdiscover/backends/PackageKitBackend/AppPackageKitResource.h
+index 08d133d..4ec3681 100644
+--- a/libdiscover/backends/PackageKitBackend/AppPackageKitResource.h
++++ b/libdiscover/backends/PackageKitBackend/AppPackageKitResource.h
+@@ -24,6 +24,10 @@
+ #include "PackageKitResource.h"
+ #include "PackageKitBackend.h"
+ 
++#ifdef NEWAPPSTREAM
++namespace Appstream = AppStream;
++#endif
++
+ class AppPackageKitResource : public PackageKitResource
+ {
+     Q_OBJECT
+diff --git a/libdiscover/backends/PackageKitBackend/CMakeLists.txt b/libdiscover/backends/PackageKitBackend/CMakeLists.txt
+index e31ea86..cfebaff 100644
+--- a/libdiscover/backends/PackageKitBackend/CMakeLists.txt
++++ b/libdiscover/backends/PackageKitBackend/CMakeLists.txt
+@@ -10,7 +10,13 @@ add_library(packagekit-backend MODULE PackageKitBackend.cpp
+     PackageKitSourcesBackend.cpp
+     AppstreamReviews.cpp
+ )
+-target_link_libraries(packagekit-backend PRIVATE Discover::Common Qt5::Core PK::packagekitqt5 KF5::ConfigGui KF5::Service KF5::KIOWidgets KF5::Archive AppstreamQt)
++
++if (${AppStreamQt_VERSION} VERSION_LESS 0.10.3)
++    target_compile_definitions(packagekit-backend PRIVATE -DNEWAPPSTREAM=0)
++else()
++    target_compile_definitions(packagekit-backend PRIVATE -DNEWAPPSTREAM=1)
++endif()
++target_link_libraries(packagekit-backend PRIVATE Discover::Common Qt5::Core PK::packagekitqt5 KF5::ConfigGui KF5::Service KF5::KIOWidgets KF5::Archive ${AppStreamTarget})
+ 
+ install(TARGETS packagekit-backend DESTINATION ${PLUGIN_INSTALL_DIR}/discover)
+ install(FILES packagekit-backend.desktop DESTINATION ${DATA_INSTALL_DIR}/libdiscover/backends)
+diff --git a/libdiscover/backends/PackageKitBackend/PackageKitBackend.cpp b/libdiscover/backends/PackageKitBackend/PackageKitBackend.cpp
+index d2698e9..3f180e5 100644
+--- a/libdiscover/backends/PackageKitBackend/PackageKitBackend.cpp
++++ b/libdiscover/backends/PackageKitBackend/PackageKitBackend.cpp
+@@ -54,7 +54,11 @@ PackageKitBackend::PackageKitBackend(QObject* parent)
+     , m_isFetching(0)
+     , m_reviews(new AppstreamReviews(this))
+ {
++#ifdef NEWAPPSTREAM
++    bool b = m_appdata.load();
++#else
+     bool b = m_appdata.open();
++#endif
+     if (!b) {
+         qWarning() << "Could not open the AppStream metadata pool";
+ 
+@@ -122,7 +126,11 @@ void PackageKitBackend::reloadPackageList()
+         disconnect(m_refresher.data(), &PackageKit::Transaction::finished, this, &PackageKitBackend::reloadPackageList);
+     }
+ 
++#ifdef NEWAPPSTREAM
++    const auto components = m_appdata.components();
++#else
+     const auto components = m_appdata.allComponents();
++#endif
+     QStringList neededPackages;
+     neededPackages.reserve(components.size());
+     foreach(const Appstream::Component& component, components) {
+@@ -343,7 +351,11 @@ AbstractResource* PackageKitBackend::resourceByPackageName(const QString& name)
+ 
+ QList<AbstractResource*> PackageKitBackend::searchPackageName(const QString& searchText)
+ {
++#ifdef NEWAPPSTREAM
++    const QList<Appstream::Component> components = m_appdata.search(searchText);
++#else
+     const QList<Appstream::Component> components = m_appdata.findComponentsByString(searchText, {});
++#endif
+     const QStringList ids = kTransform<QStringList>(components, [](const Appstream::Component& comp) { return comp.id(); });
+ 
+     return resourcesByPackageNames<QList<AbstractResource*>>(ids);
+diff --git a/libdiscover/backends/PackageKitBackend/PackageKitBackend.h b/libdiscover/backends/PackageKitBackend/PackageKitBackend.h
+index 7b8d3fb..562099e 100644
+--- a/libdiscover/backends/PackageKitBackend/PackageKitBackend.h
++++ b/libdiscover/backends/PackageKitBackend/PackageKitBackend.h
+@@ -29,7 +29,18 @@
+ #include <QTimer>
+ #include <QSet>
+ #include <PackageKit/Transaction>
++
++#ifdef NEWAPPSTREAM
++#include <AppStreamQt/pool.h>
++#include <AppStreamQt/provided.h>
++namespace AppStream {
++    typedef Provided Provides;
++    typedef Pool Database;
++}
++namespace Appstream = AppStream;
++#else
+ #include <AppstreamQt/database.h>
++#endif
+ 
+ class AppstreamReviews;
+ class AppPackageKitResource;

Deleted: community-staging-x86_64/PKGBUILD
===================================================================
--- community-staging-x86_64/PKGBUILD	2016-11-08 12:39:02 UTC (rev 195137)
+++ community-staging-x86_64/PKGBUILD	2016-11-08 12:39:28 UTC (rev 195138)
@@ -1,44 +0,0 @@
-# $Id$
-# Maintainer: Antonio Rojas <arojas at archlinux.org> 
-
-pkgname=discover
-pkgver=5.8.3
-pkgrel=1
-pkgdesc='A collection of package management tools for KDE'
-arch=(i686 x86_64)
-url='https://projects.kde.org/projects/kde/workspace/discover'
-license=(LGPL)
-depends=(packagekit-qt5 knewstuff kdeclarative qt5-graphicaleffects appstream-qt archlinux-appstream-data
-         hicolor-icon-theme kirigami)
-makedepends=(extra-cmake-modules python plasma-framework)
-conflicts=(muon)
-replaces=(muon)
-source=("http://download.kde.org/stable/plasma/$pkgver/$pkgname-$pkgver.tar.xz"{,.sig}
-        discover-appstream-0.10.3.patch)
-md5sums=('555043b0cdeb1cfdb00ee45ec5dec7c6'
-         'SKIP'
-         'da8766914efcb8fb248bcdf8f1c38396')
-validpgpkeys=(2D1D5B0588357787DE9EE225EC94D18F7F05997E) # Jonathan Riddell <jr at jriddell.org>
-
-prepare() {
-  mkdir -p build
-
-# Port to appstream-qt 0.10.3 API (Debian)
-  cd $pkgname-$pkgver
-  patch -p1 -i ../discover-appstream-0.10.3.patch
-}
-
-build() {
-  cd build
-  cmake ../$pkgname-$pkgver \
-    -DCMAKE_BUILD_TYPE=Release \
-    -DCMAKE_INSTALL_PREFIX=/usr \
-    -DKDE_INSTALL_LIBDIR=lib \
-    -DBUILD_TESTING=OFF
-  make
-}
-
-package() {
-  cd build
-  make DESTDIR="$pkgdir" install
-}

Copied: discover/repos/community-staging-x86_64/PKGBUILD (from rev 195137, discover/trunk/PKGBUILD)
===================================================================
--- community-staging-x86_64/PKGBUILD	                        (rev 0)
+++ community-staging-x86_64/PKGBUILD	2016-11-08 12:39:28 UTC (rev 195138)
@@ -0,0 +1,44 @@
+# $Id$
+# Maintainer: Antonio Rojas <arojas at archlinux.org> 
+
+pkgname=discover
+pkgver=5.8.3
+pkgrel=2
+pkgdesc='A collection of package management tools for KDE'
+arch=(i686 x86_64)
+url='https://projects.kde.org/projects/kde/workspace/discover'
+license=(LGPL)
+depends=(packagekit-qt5 knewstuff kdeclarative qt5-graphicaleffects appstream-qt archlinux-appstream-data
+         hicolor-icon-theme kirigami)
+makedepends=(extra-cmake-modules python plasma-framework)
+conflicts=(muon)
+replaces=(muon)
+source=("http://download.kde.org/stable/plasma/$pkgver/$pkgname-$pkgver.tar.xz"{,.sig}
+        discover-appstream-0.10.3.patch)
+md5sums=('555043b0cdeb1cfdb00ee45ec5dec7c6'
+         'SKIP'
+         'da8766914efcb8fb248bcdf8f1c38396')
+validpgpkeys=(2D1D5B0588357787DE9EE225EC94D18F7F05997E) # Jonathan Riddell <jr at jriddell.org>
+
+prepare() {
+  mkdir -p build
+
+# Port to appstream-qt 0.10.3 API (Debian)
+  cd $pkgname-$pkgver
+  patch -p1 -i ../discover-appstream-0.10.3.patch
+}
+
+build() {
+  cd build
+  cmake ../$pkgname-$pkgver \
+    -DCMAKE_BUILD_TYPE=Release \
+    -DCMAKE_INSTALL_PREFIX=/usr \
+    -DKDE_INSTALL_LIBDIR=lib \
+    -DBUILD_TESTING=OFF
+  make
+}
+
+package() {
+  cd build
+  make DESTDIR="$pkgdir" install
+}

Deleted: community-staging-x86_64/discover-appstream-0.10.3.patch
===================================================================
--- community-staging-x86_64/discover-appstream-0.10.3.patch	2016-11-08 12:39:02 UTC (rev 195137)
+++ community-staging-x86_64/discover-appstream-0.10.3.patch	2016-11-08 12:39:28 UTC (rev 195138)
@@ -1,256 +0,0 @@
-commit 5748ab0d65df220ce1e084939b07e32c676f853b
-Author: Matthias Klumpp <matthias at tenstral.net>
-Date:   Sat Nov 5 16:30:43 2016 +0100
-
-    Make Discover compile with newer AppStreamQt releases
-
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index 48a9b77..c59d7ad 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -28,7 +28,15 @@ if (NOT packagekitqt5_FOUND)
-         find_package(KF5 REQUIRED IconThemes Notifications KIO)
-     endif()
- endif()
--find_package(AppstreamQt 0.10)
-+
-+find_package(AppStreamQt 0.10)
-+set(AppStreamTarget "AppStreamQt")
-+if (NOT AppStreamQt_FOUND)
-+    find_package(AppstreamQt 0.10)
-+    set(AppStreamTarget "AppstreamQt")
-+    set(AppStreamQt_FOUND TRUE)
-+endif()
-+
- find_package(KF5Attica 5.23)
- find_package(KF5NewStuff 5.23)
- 
-diff --git a/libdiscover/backends/CMakeLists.txt b/libdiscover/backends/CMakeLists.txt
-index 93497f6..8eb7365 100644
---- a/libdiscover/backends/CMakeLists.txt
-+++ b/libdiscover/backends/CMakeLists.txt
-@@ -20,7 +20,7 @@ if(BODEGA_FOUND)
-     add_subdirectory(BodegaBackend)
- endif()
- 
--if(packagekitqt5_FOUND AND AppstreamQt_FOUND)
-+if(packagekitqt5_FOUND AND AppStreamQt_FOUND)
-     add_subdirectory(PackageKitBackend)
- endif()
- 
-diff --git a/libdiscover/backends/PackageKitBackend/AppPackageKitResource.cpp 
-b/libdiscover/backends/PackageKitBackend/AppPackageKitResource.cpp
-index 658019f..5256db3 100644
---- a/libdiscover/backends/PackageKitBackend/AppPackageKitResource.cpp
-+++ b/libdiscover/backends/PackageKitBackend/AppPackageKitResource.cpp
-@@ -19,8 +19,14 @@
-  ***************************************************************************/
- 
- #include "AppPackageKitResource.h"
-+#ifdef NEWAPPSTREAM
-+#include <AppStreamQt/icon.h>
-+#include <AppStreamQt/screenshot.h>
-+#include <AppStreamQt/image.h>
-+#else
- #include <AppstreamQt/screenshot.h>
- #include <AppstreamQt/image.h>
-+#endif
- // #include <AppstreamQt/release.h>
- #include <KLocalizedString>
- #include <KToolInvocation>
-@@ -52,7 +58,23 @@ QString AppPackageKitResource::longDescription()
- QVariant AppPackageKitResource::icon() const
- {
-     QIcon ret;
--
-+#ifdef NEWAPPSTREAM
-+    const auto icons = m_appdata.icons();
-+    if (icons.isEmpty()) {
-+        ret = QIcon::fromTheme(QStringLiteral("package-x-generic"));
-+    } else foreach(const AppStream::Icon &icon, icons) {
-+        switch(icon.kind()) {
-+            case AppStream::Icon::KindLocal:
-+                ret.addFile(icon.url().toLocalFile(), icon.size());
-+                break;
-+            case AppStream::Icon::KindCached:
-+                ret.addFile(icon.url().toLocalFile(), icon.size());
-+                break;
-+            default:
-+                break;
-+        }
-+    }
-+#else
-     const auto icons = m_appdata.iconUrls();
-     if (icons.isEmpty())
-         return m_appdata.name();
-@@ -66,7 +88,7 @@ QVariant AppPackageKitResource::icon() const
-     if (ret.isNull()) {
-         ret = QIcon::fromTheme(QStringLiteral("package-x-generic"));
-     }
--
-+#endif
-     return ret;
- }
- 
-@@ -105,7 +127,11 @@ QString AppPackageKitResource::appstreamId() const
- 
- QUrl AppPackageKitResource::homepage()
- {
-+#ifdef NEWAPPSTREAM
-+    return m_appdata.url(Appstream::Component::UrlKindHomepage);
-+#else
-     return m_appdata.urls().value(Appstream::Component::UrlKindHomepage);
-+#endif
- }
- 
- bool AppPackageKitResource::isTechnical() const
-@@ -150,13 +176,20 @@ static QUrl screenshot(const Appstream::Component& comp, Appstream::Image::Kind
- 
- QUrl AppPackageKitResource::screenshotUrl()
- {
-+#ifdef NEWAPPSTREAM
-+    return screenshot(m_appdata, Appstream::Image::KindSource);
-+#else
-     return screenshot(m_appdata, Appstream::Image::Plain);
--
-+#endif
- }
- 
- QUrl AppPackageKitResource::thumbnailUrl()
- {
-+#ifdef NEWAPPSTREAM
-+    return screenshot(m_appdata, Appstream::Image::KindThumbnail);
-+#else
-     return screenshot(m_appdata, Appstream::Image::Thumbnail);
-+#endif
- }
- 
- void AppPackageKitResource::fetchScreenshots()
-@@ -164,8 +197,13 @@ void AppPackageKitResource::fetchScreenshots()
-     QList<QUrl> thumbnails, screenshots;
- 
-     Q_FOREACH (const Appstream::Screenshot &s, m_appdata.screenshots()) {
-+#ifdef NEWAPPSTREAM
-+        const QUrl thumbnail = imageOfKind(s.images(), Appstream::Image::KindThumbnail);
-+        const QUrl plain = imageOfKind(s.images(), Appstream::Image::KindSource);
-+#else
-         const QUrl thumbnail = imageOfKind(s.images(), Appstream::Image::Thumbnail);
-         const QUrl plain = imageOfKind(s.images(), Appstream::Image::Plain);
-+#endif
-         if (plain.isEmpty())
-             qWarning() << "invalid screenshot for" << name();
- 
-@@ -183,11 +221,15 @@ bool AppPackageKitResource::canExecute() const
- 
- QStringList AppPackageKitResource::findProvides(Appstream::Provides::Kind kind) const
- {
-+#ifdef NEWAPPSTREAM
-+    return m_appdata.provided(kind).items();
-+#else
-     QStringList ret;
-     Q_FOREACH (Appstream::Provides p, m_appdata.provides())
-         if (p.kind() == kind)
-             ret += p.value();
-     return ret;
-+#endif
- }
- 
- QStringList AppPackageKitResource::allPackageNames() const
-diff --git a/libdiscover/backends/PackageKitBackend/AppPackageKitResource.h 
-b/libdiscover/backends/PackageKitBackend/AppPackageKitResource.h
-index 08d133d..4ec3681 100644
---- a/libdiscover/backends/PackageKitBackend/AppPackageKitResource.h
-+++ b/libdiscover/backends/PackageKitBackend/AppPackageKitResource.h
-@@ -24,6 +24,10 @@
- #include "PackageKitResource.h"
- #include "PackageKitBackend.h"
- 
-+#ifdef NEWAPPSTREAM
-+namespace Appstream = AppStream;
-+#endif
-+
- class AppPackageKitResource : public PackageKitResource
- {
-     Q_OBJECT
-diff --git a/libdiscover/backends/PackageKitBackend/CMakeLists.txt b/libdiscover/backends/PackageKitBackend/CMakeLists.txt
-index e31ea86..cfebaff 100644
---- a/libdiscover/backends/PackageKitBackend/CMakeLists.txt
-+++ b/libdiscover/backends/PackageKitBackend/CMakeLists.txt
-@@ -10,7 +10,13 @@ add_library(packagekit-backend MODULE PackageKitBackend.cpp
-     PackageKitSourcesBackend.cpp
-     AppstreamReviews.cpp
- )
--target_link_libraries(packagekit-backend PRIVATE Discover::Common Qt5::Core PK::packagekitqt5 KF5::ConfigGui KF5::Service KF5::KIOWidgets KF5::Archive AppstreamQt)
-+
-+if (${AppStreamQt_VERSION} VERSION_LESS 0.10.3)
-+    target_compile_definitions(packagekit-backend PRIVATE -DNEWAPPSTREAM=0)
-+else()
-+    target_compile_definitions(packagekit-backend PRIVATE -DNEWAPPSTREAM=1)
-+endif()
-+target_link_libraries(packagekit-backend PRIVATE Discover::Common Qt5::Core PK::packagekitqt5 KF5::ConfigGui KF5::Service KF5::KIOWidgets KF5::Archive ${AppStreamTarget})
- 
- install(TARGETS packagekit-backend DESTINATION ${PLUGIN_INSTALL_DIR}/discover)
- install(FILES packagekit-backend.desktop DESTINATION ${DATA_INSTALL_DIR}/libdiscover/backends)
-diff --git a/libdiscover/backends/PackageKitBackend/PackageKitBackend.cpp b/libdiscover/backends/PackageKitBackend/PackageKitBackend.cpp
-index d2698e9..3f180e5 100644
---- a/libdiscover/backends/PackageKitBackend/PackageKitBackend.cpp
-+++ b/libdiscover/backends/PackageKitBackend/PackageKitBackend.cpp
-@@ -54,7 +54,11 @@ PackageKitBackend::PackageKitBackend(QObject* parent)
-     , m_isFetching(0)
-     , m_reviews(new AppstreamReviews(this))
- {
-+#ifdef NEWAPPSTREAM
-+    bool b = m_appdata.load();
-+#else
-     bool b = m_appdata.open();
-+#endif
-     if (!b) {
-         qWarning() << "Could not open the AppStream metadata pool";
- 
-@@ -122,7 +126,11 @@ void PackageKitBackend::reloadPackageList()
-         disconnect(m_refresher.data(), &PackageKit::Transaction::finished, this, &PackageKitBackend::reloadPackageList);
-     }
- 
-+#ifdef NEWAPPSTREAM
-+    const auto components = m_appdata.components();
-+#else
-     const auto components = m_appdata.allComponents();
-+#endif
-     QStringList neededPackages;
-     neededPackages.reserve(components.size());
-     foreach(const Appstream::Component& component, components) {
-@@ -343,7 +351,11 @@ AbstractResource* PackageKitBackend::resourceByPackageName(const QString& name)
- 
- QList<AbstractResource*> PackageKitBackend::searchPackageName(const QString& searchText)
- {
-+#ifdef NEWAPPSTREAM
-+    const QList<Appstream::Component> components = m_appdata.search(searchText);
-+#else
-     const QList<Appstream::Component> components = m_appdata.findComponentsByString(searchText, {});
-+#endif
-     const QStringList ids = kTransform<QStringList>(components, [](const Appstream::Component& comp) { return comp.id(); });
- 
-     return resourcesByPackageNames<QList<AbstractResource*>>(ids);
-diff --git a/libdiscover/backends/PackageKitBackend/PackageKitBackend.h b/libdiscover/backends/PackageKitBackend/PackageKitBackend.h
-index 7b8d3fb..562099e 100644
---- a/libdiscover/backends/PackageKitBackend/PackageKitBackend.h
-+++ b/libdiscover/backends/PackageKitBackend/PackageKitBackend.h
-@@ -29,7 +29,18 @@
- #include <QTimer>
- #include <QSet>
- #include <PackageKit/Transaction>
-+
-+#ifdef NEWAPPSTREAM
-+#include <AppStreamQt/pool.h>
-+#include <AppStreamQt/provided.h>
-+namespace AppStream {
-+    typedef Provided Provides;
-+    typedef Pool Database;
-+}
-+namespace Appstream = AppStream;
-+#else
- #include <AppstreamQt/database.h>
-+#endif
- 
- class AppstreamReviews;
- class AppPackageKitResource;

Copied: discover/repos/community-staging-x86_64/discover-appstream-0.10.3.patch (from rev 195137, discover/trunk/discover-appstream-0.10.3.patch)
===================================================================
--- community-staging-x86_64/discover-appstream-0.10.3.patch	                        (rev 0)
+++ community-staging-x86_64/discover-appstream-0.10.3.patch	2016-11-08 12:39:28 UTC (rev 195138)
@@ -0,0 +1,256 @@
+commit 5748ab0d65df220ce1e084939b07e32c676f853b
+Author: Matthias Klumpp <matthias at tenstral.net>
+Date:   Sat Nov 5 16:30:43 2016 +0100
+
+    Make Discover compile with newer AppStreamQt releases
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 48a9b77..c59d7ad 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -28,7 +28,15 @@ if (NOT packagekitqt5_FOUND)
+         find_package(KF5 REQUIRED IconThemes Notifications KIO)
+     endif()
+ endif()
+-find_package(AppstreamQt 0.10)
++
++find_package(AppStreamQt 0.10)
++set(AppStreamTarget "AppStreamQt")
++if (NOT AppStreamQt_FOUND)
++    find_package(AppstreamQt 0.10)
++    set(AppStreamTarget "AppstreamQt")
++    set(AppStreamQt_FOUND TRUE)
++endif()
++
+ find_package(KF5Attica 5.23)
+ find_package(KF5NewStuff 5.23)
+ 
+diff --git a/libdiscover/backends/CMakeLists.txt b/libdiscover/backends/CMakeLists.txt
+index 93497f6..8eb7365 100644
+--- a/libdiscover/backends/CMakeLists.txt
++++ b/libdiscover/backends/CMakeLists.txt
+@@ -20,7 +20,7 @@ if(BODEGA_FOUND)
+     add_subdirectory(BodegaBackend)
+ endif()
+ 
+-if(packagekitqt5_FOUND AND AppstreamQt_FOUND)
++if(packagekitqt5_FOUND AND AppStreamQt_FOUND)
+     add_subdirectory(PackageKitBackend)
+ endif()
+ 
+diff --git a/libdiscover/backends/PackageKitBackend/AppPackageKitResource.cpp 
+b/libdiscover/backends/PackageKitBackend/AppPackageKitResource.cpp
+index 658019f..5256db3 100644
+--- a/libdiscover/backends/PackageKitBackend/AppPackageKitResource.cpp
++++ b/libdiscover/backends/PackageKitBackend/AppPackageKitResource.cpp
+@@ -19,8 +19,14 @@
+  ***************************************************************************/
+ 
+ #include "AppPackageKitResource.h"
++#ifdef NEWAPPSTREAM
++#include <AppStreamQt/icon.h>
++#include <AppStreamQt/screenshot.h>
++#include <AppStreamQt/image.h>
++#else
+ #include <AppstreamQt/screenshot.h>
+ #include <AppstreamQt/image.h>
++#endif
+ // #include <AppstreamQt/release.h>
+ #include <KLocalizedString>
+ #include <KToolInvocation>
+@@ -52,7 +58,23 @@ QString AppPackageKitResource::longDescription()
+ QVariant AppPackageKitResource::icon() const
+ {
+     QIcon ret;
+-
++#ifdef NEWAPPSTREAM
++    const auto icons = m_appdata.icons();
++    if (icons.isEmpty()) {
++        ret = QIcon::fromTheme(QStringLiteral("package-x-generic"));
++    } else foreach(const AppStream::Icon &icon, icons) {
++        switch(icon.kind()) {
++            case AppStream::Icon::KindLocal:
++                ret.addFile(icon.url().toLocalFile(), icon.size());
++                break;
++            case AppStream::Icon::KindCached:
++                ret.addFile(icon.url().toLocalFile(), icon.size());
++                break;
++            default:
++                break;
++        }
++    }
++#else
+     const auto icons = m_appdata.iconUrls();
+     if (icons.isEmpty())
+         return m_appdata.name();
+@@ -66,7 +88,7 @@ QVariant AppPackageKitResource::icon() const
+     if (ret.isNull()) {
+         ret = QIcon::fromTheme(QStringLiteral("package-x-generic"));
+     }
+-
++#endif
+     return ret;
+ }
+ 
+@@ -105,7 +127,11 @@ QString AppPackageKitResource::appstreamId() const
+ 
+ QUrl AppPackageKitResource::homepage()
+ {
++#ifdef NEWAPPSTREAM
++    return m_appdata.url(Appstream::Component::UrlKindHomepage);
++#else
+     return m_appdata.urls().value(Appstream::Component::UrlKindHomepage);
++#endif
+ }
+ 
+ bool AppPackageKitResource::isTechnical() const
+@@ -150,13 +176,20 @@ static QUrl screenshot(const Appstream::Component& comp, Appstream::Image::Kind
+ 
+ QUrl AppPackageKitResource::screenshotUrl()
+ {
++#ifdef NEWAPPSTREAM
++    return screenshot(m_appdata, Appstream::Image::KindSource);
++#else
+     return screenshot(m_appdata, Appstream::Image::Plain);
+-
++#endif
+ }
+ 
+ QUrl AppPackageKitResource::thumbnailUrl()
+ {
++#ifdef NEWAPPSTREAM
++    return screenshot(m_appdata, Appstream::Image::KindThumbnail);
++#else
+     return screenshot(m_appdata, Appstream::Image::Thumbnail);
++#endif
+ }
+ 
+ void AppPackageKitResource::fetchScreenshots()
+@@ -164,8 +197,13 @@ void AppPackageKitResource::fetchScreenshots()
+     QList<QUrl> thumbnails, screenshots;
+ 
+     Q_FOREACH (const Appstream::Screenshot &s, m_appdata.screenshots()) {
++#ifdef NEWAPPSTREAM
++        const QUrl thumbnail = imageOfKind(s.images(), Appstream::Image::KindThumbnail);
++        const QUrl plain = imageOfKind(s.images(), Appstream::Image::KindSource);
++#else
+         const QUrl thumbnail = imageOfKind(s.images(), Appstream::Image::Thumbnail);
+         const QUrl plain = imageOfKind(s.images(), Appstream::Image::Plain);
++#endif
+         if (plain.isEmpty())
+             qWarning() << "invalid screenshot for" << name();
+ 
+@@ -183,11 +221,15 @@ bool AppPackageKitResource::canExecute() const
+ 
+ QStringList AppPackageKitResource::findProvides(Appstream::Provides::Kind kind) const
+ {
++#ifdef NEWAPPSTREAM
++    return m_appdata.provided(kind).items();
++#else
+     QStringList ret;
+     Q_FOREACH (Appstream::Provides p, m_appdata.provides())
+         if (p.kind() == kind)
+             ret += p.value();
+     return ret;
++#endif
+ }
+ 
+ QStringList AppPackageKitResource::allPackageNames() const
+diff --git a/libdiscover/backends/PackageKitBackend/AppPackageKitResource.h 
+b/libdiscover/backends/PackageKitBackend/AppPackageKitResource.h
+index 08d133d..4ec3681 100644
+--- a/libdiscover/backends/PackageKitBackend/AppPackageKitResource.h
++++ b/libdiscover/backends/PackageKitBackend/AppPackageKitResource.h
+@@ -24,6 +24,10 @@
+ #include "PackageKitResource.h"
+ #include "PackageKitBackend.h"
+ 
++#ifdef NEWAPPSTREAM
++namespace Appstream = AppStream;
++#endif
++
+ class AppPackageKitResource : public PackageKitResource
+ {
+     Q_OBJECT
+diff --git a/libdiscover/backends/PackageKitBackend/CMakeLists.txt b/libdiscover/backends/PackageKitBackend/CMakeLists.txt
+index e31ea86..cfebaff 100644
+--- a/libdiscover/backends/PackageKitBackend/CMakeLists.txt
++++ b/libdiscover/backends/PackageKitBackend/CMakeLists.txt
+@@ -10,7 +10,13 @@ add_library(packagekit-backend MODULE PackageKitBackend.cpp
+     PackageKitSourcesBackend.cpp
+     AppstreamReviews.cpp
+ )
+-target_link_libraries(packagekit-backend PRIVATE Discover::Common Qt5::Core PK::packagekitqt5 KF5::ConfigGui KF5::Service KF5::KIOWidgets KF5::Archive AppstreamQt)
++
++if (${AppStreamQt_VERSION} VERSION_LESS 0.10.3)
++    target_compile_definitions(packagekit-backend PRIVATE -DNEWAPPSTREAM=0)
++else()
++    target_compile_definitions(packagekit-backend PRIVATE -DNEWAPPSTREAM=1)
++endif()
++target_link_libraries(packagekit-backend PRIVATE Discover::Common Qt5::Core PK::packagekitqt5 KF5::ConfigGui KF5::Service KF5::KIOWidgets KF5::Archive ${AppStreamTarget})
+ 
+ install(TARGETS packagekit-backend DESTINATION ${PLUGIN_INSTALL_DIR}/discover)
+ install(FILES packagekit-backend.desktop DESTINATION ${DATA_INSTALL_DIR}/libdiscover/backends)
+diff --git a/libdiscover/backends/PackageKitBackend/PackageKitBackend.cpp b/libdiscover/backends/PackageKitBackend/PackageKitBackend.cpp
+index d2698e9..3f180e5 100644
+--- a/libdiscover/backends/PackageKitBackend/PackageKitBackend.cpp
++++ b/libdiscover/backends/PackageKitBackend/PackageKitBackend.cpp
+@@ -54,7 +54,11 @@ PackageKitBackend::PackageKitBackend(QObject* parent)
+     , m_isFetching(0)
+     , m_reviews(new AppstreamReviews(this))
+ {
++#ifdef NEWAPPSTREAM
++    bool b = m_appdata.load();
++#else
+     bool b = m_appdata.open();
++#endif
+     if (!b) {
+         qWarning() << "Could not open the AppStream metadata pool";
+ 
+@@ -122,7 +126,11 @@ void PackageKitBackend::reloadPackageList()
+         disconnect(m_refresher.data(), &PackageKit::Transaction::finished, this, &PackageKitBackend::reloadPackageList);
+     }
+ 
++#ifdef NEWAPPSTREAM
++    const auto components = m_appdata.components();
++#else
+     const auto components = m_appdata.allComponents();
++#endif
+     QStringList neededPackages;
+     neededPackages.reserve(components.size());
+     foreach(const Appstream::Component& component, components) {
+@@ -343,7 +351,11 @@ AbstractResource* PackageKitBackend::resourceByPackageName(const QString& name)
+ 
+ QList<AbstractResource*> PackageKitBackend::searchPackageName(const QString& searchText)
+ {
++#ifdef NEWAPPSTREAM
++    const QList<Appstream::Component> components = m_appdata.search(searchText);
++#else
+     const QList<Appstream::Component> components = m_appdata.findComponentsByString(searchText, {});
++#endif
+     const QStringList ids = kTransform<QStringList>(components, [](const Appstream::Component& comp) { return comp.id(); });
+ 
+     return resourcesByPackageNames<QList<AbstractResource*>>(ids);
+diff --git a/libdiscover/backends/PackageKitBackend/PackageKitBackend.h b/libdiscover/backends/PackageKitBackend/PackageKitBackend.h
+index 7b8d3fb..562099e 100644
+--- a/libdiscover/backends/PackageKitBackend/PackageKitBackend.h
++++ b/libdiscover/backends/PackageKitBackend/PackageKitBackend.h
+@@ -29,7 +29,18 @@
+ #include <QTimer>
+ #include <QSet>
+ #include <PackageKit/Transaction>
++
++#ifdef NEWAPPSTREAM
++#include <AppStreamQt/pool.h>
++#include <AppStreamQt/provided.h>
++namespace AppStream {
++    typedef Provided Provides;
++    typedef Pool Database;
++}
++namespace Appstream = AppStream;
++#else
+ #include <AppstreamQt/database.h>
++#endif
+ 
+ class AppstreamReviews;
+ class AppPackageKitResource;



More information about the arch-commits mailing list