Date: Tuesday, November 22, 2016 @ 16:41:21 Author: arojas Revision: 196541
archrelease: copy trunk to community-i686, community-x86_64 Added: discover/repos/community-i686/PKGBUILD (from rev 196540, discover/trunk/PKGBUILD) discover/repos/community-x86_64/PKGBUILD (from rev 196540, discover/trunk/PKGBUILD) Deleted: discover/repos/community-i686/PKGBUILD discover/repos/community-i686/discover-appstream-0.10.3.patch discover/repos/community-x86_64/PKGBUILD discover/repos/community-x86_64/discover-appstream-0.10.3.patch --------------------------------------------------+ /PKGBUILD | 76 ++++++ community-i686/PKGBUILD | 44 --- community-i686/discover-appstream-0.10.3.patch | 256 --------------------- community-x86_64/PKGBUILD | 44 --- community-x86_64/discover-appstream-0.10.3.patch | 256 --------------------- 5 files changed, 76 insertions(+), 600 deletions(-) Deleted: community-i686/PKGBUILD =================================================================== --- community-i686/PKGBUILD 2016-11-22 16:40:47 UTC (rev 196540) +++ community-i686/PKGBUILD 2016-11-22 16:41:21 UTC (rev 196541) @@ -1,44 +0,0 @@ -# $Id$ -# Maintainer: Antonio Rojas <aro...@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 <j...@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-i686/PKGBUILD (from rev 196540, discover/trunk/PKGBUILD) =================================================================== --- community-i686/PKGBUILD (rev 0) +++ community-i686/PKGBUILD 2016-11-22 16:41:21 UTC (rev 196541) @@ -0,0 +1,38 @@ +# $Id$ +# Maintainer: Antonio Rojas <aro...@archlinux.org> + +pkgname=discover +pkgver=5.8.4 +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}) +md5sums=('d62450ff9da78fe5538f038721c21f12' + 'SKIP') +validpgpkeys=(2D1D5B0588357787DE9EE225EC94D18F7F05997E) # Jonathan Riddell <j...@jriddell.org> + +prepare() { + mkdir -p build +} + +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-i686/discover-appstream-0.10.3.patch =================================================================== --- community-i686/discover-appstream-0.10.3.patch 2016-11-22 16:40:47 UTC (rev 196540) +++ community-i686/discover-appstream-0.10.3.patch 2016-11-22 16:41:21 UTC (rev 196541) @@ -1,256 +0,0 @@ -commit 5748ab0d65df220ce1e084939b07e32c676f853b -Author: Matthias Klumpp <matth...@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-x86_64/PKGBUILD =================================================================== --- community-x86_64/PKGBUILD 2016-11-22 16:40:47 UTC (rev 196540) +++ community-x86_64/PKGBUILD 2016-11-22 16:41:21 UTC (rev 196541) @@ -1,44 +0,0 @@ -# $Id$ -# Maintainer: Antonio Rojas <aro...@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 <j...@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-x86_64/PKGBUILD (from rev 196540, discover/trunk/PKGBUILD) =================================================================== --- community-x86_64/PKGBUILD (rev 0) +++ community-x86_64/PKGBUILD 2016-11-22 16:41:21 UTC (rev 196541) @@ -0,0 +1,38 @@ +# $Id$ +# Maintainer: Antonio Rojas <aro...@archlinux.org> + +pkgname=discover +pkgver=5.8.4 +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}) +md5sums=('d62450ff9da78fe5538f038721c21f12' + 'SKIP') +validpgpkeys=(2D1D5B0588357787DE9EE225EC94D18F7F05997E) # Jonathan Riddell <j...@jriddell.org> + +prepare() { + mkdir -p build +} + +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-x86_64/discover-appstream-0.10.3.patch =================================================================== --- community-x86_64/discover-appstream-0.10.3.patch 2016-11-22 16:40:47 UTC (rev 196540) +++ community-x86_64/discover-appstream-0.10.3.patch 2016-11-22 16:41:21 UTC (rev 196541) @@ -1,256 +0,0 @@ -commit 5748ab0d65df220ce1e084939b07e32c676f853b -Author: Matthias Klumpp <matth...@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;