Hello community, here is the log from the commit of package plasma-framework for openSUSE:Factory checked in at 2015-04-13 20:28:16 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/plasma-framework (Old) and /work/SRC/openSUSE:Factory/.plasma-framework.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "plasma-framework" Changes: -------- --- /work/SRC/openSUSE:Factory/plasma-framework/plasma-framework.changes 2015-03-16 09:35:41.000000000 +0100 +++ /work/SRC/openSUSE:Factory/.plasma-framework.new/plasma-framework.changes 2015-04-13 20:28:17.000000000 +0200 @@ -1,0 +2,21 @@ +Sat Apr 4 14:41:04 UTC 2015 - hrvoje.sen...@gmail.com + +- Update to 5.9.0 + * Fixed stray tooltips when temporary owner of tooltip + disappeared or became empty + * Fix TabBar not properly laid out initially, which could + be observed in eg. Kickoff + * PageStack transitions now use Animators for smoother animations + * TabGroup transitions now use Animators for smoother animations + * Make Svg,FrameSvg work qith QT_DEVICE_PIXELRATIO + * For more details please see: + https://www.kde.org/announcements/kde-frameworks-5.9.0.php +- Added Use-KPluginLoader-to-load-dataengines.patch from upstream, + (kde#345209) + +------------------------------------------------------------------- +Mon Mar 16 15:25:06 UTC 2015 - hrvoje.sen...@gmail.com + +- Add explicit knotifications-devel BuildRequires + +------------------------------------------------------------------- Old: ---- plasma-framework-5.8.0.tar.xz New: ---- Use-KPluginLoader-to-load-dataengines.patch plasma-framework-5.9.0.tar.xz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ plasma-framework.spec ++++++ --- /var/tmp/diff_new_pack.AUSzKv/_old 2015-04-13 20:28:18.000000000 +0200 +++ /var/tmp/diff_new_pack.AUSzKv/_new 2015-04-13 20:28:18.000000000 +0200 @@ -16,9 +16,10 @@ # -%define _tar_path 5.8 +%bcond_without lang +%define _tar_path 5.9 Name: plasma-framework -Version: %{_tar_path}.0 +Version: 5.9.0 Release: 0 %define kf5_version %{version} Summary: Plasma library and runtime components based upon KF5 and Qt5 @@ -27,27 +28,30 @@ Url: https://projects.kde.org/plasma-framework Source: http://download.kde.org/stable/frameworks/%{_tar_path}/%{name}-%{version}.tar.xz Source1: baselibs.conf -BuildRequires: extra-cmake-modules >= 1.8.0 +# PATCH-FIX-UPSTREAM Use-KPluginLoader-to-load-dataengines.patch +Patch0: Use-KPluginLoader-to-load-dataengines.patch +BuildRequires: extra-cmake-modules >= %{_tar_path} BuildRequires: fdupes -BuildRequires: kactivities5-devel >= %{kf5_version} -BuildRequires: karchive-devel >= %{kf5_version} -BuildRequires: kconfig-devel >= %{kf5_version} -BuildRequires: kconfigwidgets-devel >= %{kf5_version} -BuildRequires: kcoreaddons-devel >= %{kf5_version} -BuildRequires: kdbusaddons-devel >= %{kf5_version} -BuildRequires: kdeclarative-devel >= %{kf5_version} -BuildRequires: kdoctools-devel >= %{kf5_version} +BuildRequires: kactivities5-devel >= %{_tar_path} +BuildRequires: karchive-devel >= %{_tar_path} +BuildRequires: kconfig-devel >= %{_tar_path} +BuildRequires: kconfigwidgets-devel >= %{_tar_path} +BuildRequires: kcoreaddons-devel >= %{_tar_path} +BuildRequires: kdbusaddons-devel >= %{_tar_path} +BuildRequires: kdeclarative-devel >= %{_tar_path} +BuildRequires: kdoctools-devel >= %{_tar_path} BuildRequires: kf5-filesystem -BuildRequires: kglobalaccel-devel >= %{kf5_version} -BuildRequires: kguiaddons-devel >= %{kf5_version} -BuildRequires: ki18n-devel >= %{kf5_version} -BuildRequires: kiconthemes-devel >= %{kf5_version} -BuildRequires: kio-devel >= %{kf5_version} -BuildRequires: kpackage-devel >= %{kf5_version} -BuildRequires: kparts-devel >= %{kf5_version} -BuildRequires: kservice-devel >= %{kf5_version} -BuildRequires: kwindowsystem-devel >= %{kf5_version} -BuildRequires: kxmlgui-devel >= %{kf5_version} +BuildRequires: kglobalaccel-devel >= %{_tar_path} +BuildRequires: kguiaddons-devel >= %{_tar_path} +BuildRequires: ki18n-devel >= %{_tar_path} +BuildRequires: kiconthemes-devel >= %{_tar_path} +BuildRequires: kio-devel >= %{_tar_path} +BuildRequires: knotifications-devel >= %{_tar_path} +BuildRequires: kpackage-devel >= %{_tar_path} +BuildRequires: kparts-devel >= %{_tar_path} +BuildRequires: kservice-devel >= %{_tar_path} +BuildRequires: kwindowsystem-devel >= %{_tar_path} +BuildRequires: kxmlgui-devel >= %{_tar_path} BuildRequires: libxcb-devel BuildRequires: xz BuildRequires: pkgconfig(Qt5Gui) >= 5.2.0 @@ -67,7 +71,9 @@ %endif BuildRequires: pkgconfig(x11) Recommends: libqt5-qtquickcontrols +%if %{with lang} Recommends: %{name}-lang = %{version} +%endif Recommends: %{name}-components = %{version} Recommends: %{name}-private = %{version} BuildRoot: %{_tmppath}/%{name}-%{version}-build @@ -88,7 +94,7 @@ Group: Development/Libraries/KDE Requires: %{name} = %{version} Requires: %{name}-private = %{version} -Requires: kdeclarative-components >= %{version} +%requires_ge kdeclarative-components %description components Plasma QML and runtime components based upon KF5 and Qt5 @@ -101,8 +107,8 @@ Requires: %{name}-private = %{version} Requires: extra-cmake-modules >= 1.7.0 Requires: kf5-filesystem -Requires: kpackage-devel >= %{kf5_version} -Requires: kservice-devel >= %{kf5_version} +Requires: kpackage-devel >= %{_tar_path} +Requires: kservice-devel >= %{_tar_path} Requires: pkgconfig(Qt5Gui) >= 5.2.0 Requires: pkgconfig(Qt5Qml) >= 5.2.0 Requires: pkgconfig(Qt5Quick) >= 5.2.0 @@ -113,6 +119,7 @@ %lang_package %prep %setup -q +%patch0 -p1 %build %cmake_kf5 -d build @@ -120,9 +127,12 @@ %install %kf5_makeinstall -C build - %fdupes -s %{buildroot} + %fdupes %{buildroot} - %find_lang libplasma5 %{name}.lang +%if %{with lang} +%find_lang libplasma5 %{name}.lang +echo "%doc %lang(lt) %{_kf5_sharedir}/locale/lt/LC_SCRIPTS" >>%{name}.lang +%endif %post -p /sbin/ldconfig @@ -132,9 +142,9 @@ %postun private -p /sbin/ldconfig +%if %{with lang} %files lang -f %{name}.lang -%defattr(-,root,root) -%doc %lang(lt) %{_kf5_sharedir}/locale/lt/LC_SCRIPTS +%endif %files %defattr(-,root,root) @@ -147,7 +157,6 @@ %{_kf5_servicesdir}/ %{_kf5_servicetypesdir}/ %{_kf5_mandir}/man1/plasmapkg*.* -%{_kf5_notifydir}/ %exclude %{_kf5_servicesdir}/plasma-scriptengine-applet-declarative.desktop %exclude %{_kf5_plugindir}/plasma_appletscript_declarative.so %exclude %{_kf5_servicetypesdir}/plasma-wallpaper.desktop ++++++ Use-KPluginLoader-to-load-dataengines.patch ++++++ From: Sebastian Kügler <se...@kde.org> Date: Wed, 08 Apr 2015 02:21:09 +0000 Subject: Use KPluginLoader to load dataengines X-Git-Url: http://quickgit.kde.org/?p=plasma-framework.git&a=commitdiff&h=2b1a48742876a5fb548a71e7a6a52717dcb55ada --- Use KPluginLoader to load dataengines KPluginLoader has all the needed machinery to identify a plugin by its pluginId. No need to use the query parser here, replace it with a lambda. Look for C++ dataengines first. These are much more common, especially in essential cases. By looking up the plugins through KPluginLoader first, we can save querying ksycoca. REVIEW:123297 CHANGELOG:Use KPluginLoader instead of ksycoca for loading C++ dataengines --- --- a/src/plasma/pluginloader.cpp +++ b/src/plasma/pluginloader.cpp @@ -25,6 +25,7 @@ #include <kservice.h> #include <kservicetypetrader.h> #include <kplugintrader.h> +#include <KPluginLoader> #include <kpackage/packageloader.h> #include "config-plasma.h" @@ -251,6 +252,27 @@ return engine; } + // Look for C++ plugins first + auto filter = [&name](const KPluginMetaData &md) -> bool + { + return md.pluginId() == name; + }; + QVector<KPluginMetaData> plugins = KPluginLoader::findPlugins(d->dataEnginePluginDir, filter); + + if (plugins.count()) { + KPluginInfo::List lst = KPluginInfo::fromMetaData(plugins); + KPluginLoader loader(lst.first().libraryPath()); + const QVariantList argsWithMetaData = QVariantList() << loader.metaData().toVariantMap(); + KPluginFactory *factory = loader.factory(); + if (factory) { + engine = factory->create<Plasma::DataEngine>(0, argsWithMetaData); + } + } + if (engine) { + return engine; + } + + // Fall back to querying scripted plugins QString constraint = QString("[X-KDE-PluginInfo-Name] == '%1'").arg(name); // First check with KServiceTypeTrader as that is where scripted engines will be @@ -258,10 +280,7 @@ if (!offers.isEmpty()) { const QString api = offers.first()->property("X-Plasma-API").toString(); - if (api.isEmpty()) { - // it is a C++ plugin, fetch it with KPluginTrader - engine = KPluginTrader::createInstanceFromQuery<Plasma::DataEngine>(d->dataEnginePluginDir, "Plasma/DataEngine", constraint, 0); - } else { + if (!api.isEmpty()) { // it is a scripted plugin, load it via a package engine = new DataEngine(KPluginInfo(offers.first()), 0); } ++++++ plasma-framework-5.8.0.tar.xz -> plasma-framework-5.9.0.tar.xz ++++++ ++++ 8298 lines of diff (skipped)