Projects
Kontact:4.13:Development
kdelibs
Log In
Username
Password
We truncated the diff of some files because they were too big. If you want to see the full diff for every file,
click here
.
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
Expand all
Collapse all
Changes of Revision 3
View file
kdelibs.spec
Added
@@ -0,0 +1,2320 @@ +%define attica_ver 0.4.2 +%define dbusmenu_qt_ver 0.9.0 +%define phonon_ver 4.6.0 +%define qt4_ver 4.8.1 +%define shared_desktop_ontologies_ver 0.10.0 +%define soprano_ver 2.8.0 +%define strigi_ver 0.7.0 +%define apidocs 1 +%if 0%{?fedora} +%define webkit 1 +%define herqq 1 +%endif +# to build/include QCH apidocs or not (currently broken) +#define apidocs_qch 1 +%if 0%{?rhel} > 6 || 0%{?fedora} > 17 +%define udisks udisks2 +%define udisks2 1 +%else +%define udisks udisks +%endif +%if 0%{?rhel} == 6 +%define hal 1 +%define cmake_pkg cmake28 +%else +%define cmake_pkg cmake +%define upower 1 +%endif +# enable tests (disabled by default) +#global tests 1 + +%global phonon_version %(pkg-config --modversion phonon 2>/dev/null || echo %{phonon_ver}) +%global shared_desktop_ontologies_version %(pkg-config --modversion shared-desktop-ontologies 2>/dev/null || echo %{shared_desktop_ontologies_ver}) +%global soprano_version %(pkg-config --modversion soprano 2>/dev/null || echo %{soprano_ver}) +%global strigi_version %(pkg-config --modversion libstreams 2>/dev/null || echo %{strigi_ver}) +%global dbusmenu_qt_version %(pkg-config --modversion dbusmenu-qt 2>/dev/null || echo %{dbusmenu_qt_ver}) + + +# trim changelog included in binary rpms +%global _changelog_trimtime %(date +%s -d "1 year ago") + +Summary: KDE Libraries +Version: 4.14.0 +Release: 2%{?dist} + +Name: kdelibs +Epoch: 6 +Obsoletes: kdelibs4 < %{version}-%{release} +Provides: kdelibs4 = %{version}-%{release} +%{?_isa:Provides: kdelibs4%{?_isa} = %{version}-%{release}} + +# http://techbase.kde.org/Policies/Licensing_Policy +License: LGPLv2+ +URL: http://www.kde.org/ +%global revision %(echo %{version} | cut -d. -f3) +# %if %{revision} >= 50 +# %global stable unstable +# %else +%global stable stable +# %endif +Source0: http://download.kde.org/%{stable}/%{version}/src/kdelibs-%{version}.tar.xz + +# Source10: SOLID_HAL_LEGACY.sh + +BuildRequires: kde4-macros(api) >= 2 +BuildRequires: kde-filesystem >= 4-23 +# for the RPM dependency generators +BuildRequires: kde-settings +BuildRequires: docbook-dtds docbook-style-xsl +Requires: ca-certificates +# Requires: dbusmenu-qt%{?_isa} >= %{dbusmenu_qt_version} +Requires: dbusmenu-qt%{?_isa} +Requires: docbook-dtds docbook-style-xsl +Requires: hicolor-icon-theme +Requires: kde-filesystem >= 4-23 +Requires: kde-settings +%{?_kde4_macros_api:Requires: kde4-macros(api) = %{_kde4_macros_api} } +Requires: %{name}-common = %{epoch}:%{version}-%{release} +Requires: hunspell +Requires: media-player-info +# beware of possible bootstrapping problems +# moved back to kde-runtime +#Requires: oxygen-icon-theme >= %{version} +# Requires: phonon%{?_isa} >= %{phonon_version} +# Requires: shared-desktop-ontologies >= %{shared_desktop_ontologies_version} +Requires: phonon%{?_isa} +Requires: shared-desktop-ontologies +Requires: shared-mime-info +# Requires: soprano%{?_isa} >= %{soprano_version} +# Requires: strigi-libs%{?_isa} >= %{strigi_version} +Requires: soprano%{?_isa} +Requires: strigi-libs%{?_isa} + +# make kdelibs-devel parallel-installable with kdelibs3-devel +Patch0: kdelibs-4.9.95-parallel_devel.patch + +# fix http://bugs.kde.org/149705 +Patch2: kdelibs-4.10.0-kde149705.patch + +# install all .css files and Doxyfile.global in kdelibs-common to build +# kdepimlibs-apidocs against +Patch8: kdelibs-4.3.90-install_all_css.patch + +# add Fedora/V-R to KHTML UA string +Patch9: kdelibs-4.10.0-branding.patch + +# adds the Administration menu from redhat-menus which equals System + Settings +# This prevents the stuff getting listed twice, under both System and Settings. +Patch12: kdelibs-4.10.0-xdg-menu.patch + +# patch KStandardDirs to use %{_libexecdir}/kde4 instead of %{_libdir}/kde4/libexec +Patch14: kdelibs-4.11.3-libexecdir.patch + +# kstandarddirs changes: search /etc/kde, find %{_kde4_libexecdir} +Patch18: kdelibs-4.11.97-kstandarddirs.patch + +# set build type +Patch20: kdelibs-4.10.0-cmake.patch + +# die rpath die, since we're using standard paths, we can avoid +# this extra hassle (even though cmake is *supposed* to not add standard +# paths (like /usr/lib64) already! With this, we can drop +# -DCMAKE_SKIP_RPATH:BOOL=ON (finally) +Patch27: kdelibs-4.10.0-no_rpath.patch + +## libplasma PackageKit integration +# Trigger installation of missing components when installing a package. +# https://git.reviewboard.kde.org/r/102291/ +Patch41: 0002-Trigger-installation-of-missing-components-when-inst.patch + +# Implement automatic scanning of source code for required data engines. +# https://git.reviewboard.kde.org/r/102350/ +Patch42: 0003-Implement-automatic-scanning-of-source-code-for-requ.patch + +# limit solid qDebug spam +# http://bugzilla.redhat.com/882731 +# TODO: could make uptreamable and conditional only on Release-type builds +Patch49: kdelibs-solid_qt_no_debug_output.patch + +## upstreamable +# knewstuff2 variant of: +# https://git.reviewboard.kde.org/r/102439/ +Patch50: kdelibs-4.7.0-knewstuff2_gpg2.patch + +# glibc-2.20 has deprecated _BSD_SOURCE in favor of _DEFAULT_SOURCE +# http://sourceware.org/glibc/wiki/Release/2.20#Packaging_Changes +Patch51: kdelibs-4.13.2-glibc_DEFAULT_SOURCE.patch + +# Toggle solid upnp support at runtime via env var SOLID_UPNP=1 (disabled by default) +Patch52: kdelibs-4.10.0-SOLID_UPNP.patch + +# add s390/s390x support in kjs +Patch53: kdelibs-4.7.2-kjs-s390.patch + +# return valid locale (RFC 1766) +Patch54: kdelibs-4.8.4-kjs-locale.patch + +# make filter working, TODO: upstream? -- rex +Patch59: kdelibs-4.9.3-kcm_ssl.patch + +# disable dot to reduce apidoc size +Patch61: kdelibs-4.12.90-dot.patch + +# workaround for bz#969524 on arm +Patch62: kdelibs-4.11.3-arm.patch + +# set QT_NO_GLIB in klauncher_main.cpp as a possible fix/workaround for #983110 +Patch63: kdelibs-4.11.3-klauncher-no-glib.patch + +# opening a terminal in Konqueror / Dolphin does not inherit environment variables +Patch64: kdelibs-4.13.2-invokeTerminal.patch + +# Fixed KRecursiveFilterProxyModel, additional patch to what is in fedora +Patch65: 0001-KRecursiveFilterProxyModel-Fixed-the-model.patch + +## upstream + +# revert these commits for +#https://bugs.kde.org/315578 +# for now, causes regression, +#https://bugs.kde.org/317138 +Patch090: return-not-break.-copy-paste-error.patch +Patch091: coding-style-fixes.patch +Patch092: return-application-icons-properly.patch + +# revert disabling of packagekit +Patch093: turn-the-packagekit-support-feature-off-by-default.patch + +## security fix + +# rhel patches + +# disable webkit +Patch300: kdelibs-4.10.0-webkit.patch + +# set abrt default +Patch301: kdelibs-4.x-abrt.patch + +# kmailservice/ktelnetservice moved here +Conflicts: kdelibs3 < 3.5.10-42
View file
0001-KRecursiveFilterProxyModel-Fixed-the-model.patch
Added
@@ -0,0 +1,341 @@ +From a932980cc7babe69613b9c6ad98faa4ec368258e Mon Sep 17 00:00:00 2001 +From: Christian Mollekopf <chrigi_1@fastmail.fm> +Date: Tue, 9 Sep 2014 18:16:37 +0200 +Subject: [PATCH] KRecursiveFilterProxyModel: Fixed the model + +The model was not working properly and didn't include all items under +some circumstances. +This patch fixes the following scenarios in particular: + +* The change in sourceDataChanged is required to fix the shortcut condition. +The idea is that if the parent is already part of the model (it must be if acceptRow returns true), +we can directly invoke dataChanged on the parent, resulting in the changed index +getting reevaluated. However, because the recursive filterAcceptsRow version was used +the shortcut was also used when only the current index matches the filter and +the parent index is in fact not yet in the model. In this case we failed to call +dataChanged on the right index and thus the complete branch was never added to the model. + +* The change in refreshAscendantMapping is required to include indexes that were +included by descendants. The intended way how this was supposed to work is that we +traverse the tree upwards and find the last index that is not yet part of the model. +We would then call dataChanged on that index causing it and its descendants to get reevaluated. +However, acceptRow does not reflect wether an index is already in the model or not. +Consider the following model: + +- A + - B + - C + - D + + +If C is include in the model by default but D not and A & B only gets included due to C, we have the following model: +- A + - B + - C + - D + +If we then call refreshAscendantsMapping on D it will not consider B as already being part of the model. +This results in the toplevel index A being considered lastAscendant, and a call to dataChanged on A results in +a reevaluation of A only, which is already in the model. Thus D never gets added to the model. + +Unfortunately there is no way to probe QSortFilterProxyModel for indexes that are +already part of the model. Even the const mapFromSource internally creates a mapping when called, +and thus instead of revealing indexes that are not yet part of the model, it silently +creates a mapping (without issuing the relevant signals!). + +As the only possible workaround we have to issues dataChanged for all ancestors +which is ignored for indexes that are not yet mapped, and results in a rowsInserted +signal for the correct indexes. It also results in superfluous dataChanged signals, +since we don't know when to stop, but at least we have a properly behaving model +this way. +--- + kdeui/itemviews/krecursivefilterproxymodel.cpp | 17 +- + kdeui/tests/CMakeLists.txt | 1 + + kdeui/tests/krecursivefilterproxymodeltest.cpp | 221 +++++++++++++++++++++++++ + 3 files changed, 227 insertions(+), 12 deletions(-) + create mode 100644 kdeui/tests/krecursivefilterproxymodeltest.cpp + +diff --git a/kdeui/itemviews/krecursivefilterproxymodel.cpp b/kdeui/itemviews/krecursivefilterproxymodel.cpp +index 6d65631..089af79 100644 +--- a/kdeui/itemviews/krecursivefilterproxymodel.cpp ++++ b/kdeui/itemviews/krecursivefilterproxymodel.cpp +@@ -126,7 +126,7 @@ void KRecursiveFilterProxyModelPrivate::sourceDataChanged(const QModelIndex &sou + + QModelIndex source_parent = source_top_left.parent(); + +- if (!source_parent.isValid() || q->filterAcceptsRow(source_parent.row(), source_parent.parent())) ++ if (!source_parent.isValid() || q->acceptRow(source_parent.row(), source_parent.parent())) + { + invokeDataChanged(source_top_left, source_bottom_right); + return; +@@ -149,24 +149,17 @@ void KRecursiveFilterProxyModelPrivate::sourceDataChanged(const QModelIndex &sou + void KRecursiveFilterProxyModelPrivate::refreshAscendantMapping(const QModelIndex &index, bool refreshAll) + { + Q_Q(KRecursiveFilterProxyModel); +- + Q_ASSERT(index.isValid()); +- QModelIndex lastAscendant = index; +- QModelIndex sourceAscendant = index.parent(); ++ ++ QModelIndex sourceAscendant = index; + // We got a matching descendant, so find the right place to insert the row. + // We need to tell the QSortFilterProxyModel that the first child between an existing row in the model + // has changed data so that it will get a mapping. +- while(sourceAscendant.isValid() && !q->acceptRow(sourceAscendant.row(), sourceAscendant.parent())) ++ while(sourceAscendant.isValid()) + { +- if (refreshAll) +- invokeDataChanged(sourceAscendant, sourceAscendant); +- +- lastAscendant = sourceAscendant; ++ invokeDataChanged(sourceAscendant, sourceAscendant); + sourceAscendant = sourceAscendant.parent(); + } +- +- // Inform the model that its data changed so that it creates new mappings and finds the rows which now match the filter. +- invokeDataChanged(lastAscendant, lastAscendant); + } + + void KRecursiveFilterProxyModelPrivate::sourceRowsAboutToBeInserted(const QModelIndex &source_parent, int start, int end) +diff --git a/kdeui/tests/CMakeLists.txt b/kdeui/tests/CMakeLists.txt +index f661b91..948516b 100644 +--- a/kdeui/tests/CMakeLists.txt ++++ b/kdeui/tests/CMakeLists.txt +@@ -81,6 +81,7 @@ KDEUI_PROXYMODEL_TESTS( + kdescendantsproxymodeltest + kselectionproxymodeltest + testmodelqueuedconnections ++ krecursivefilterproxymodeltest + ) + + KDEUI_EXECUTABLE_TESTS( +diff --git a/kdeui/tests/krecursivefilterproxymodeltest.cpp b/kdeui/tests/krecursivefilterproxymodeltest.cpp +new file mode 100644 +index 0000000..a336116 +--- /dev/null ++++ b/kdeui/tests/krecursivefilterproxymodeltest.cpp +@@ -0,0 +1,221 @@ ++/* ++ Copyright (c) 2014 Christian Mollekopf <mollekopf@kolabsys.com> ++ ++ This library is free software; you can redistribute it and/or modify it ++ under the terms of the GNU Library General Public License as published by ++ the Free Software Foundation; either version 2 of the License, or (at your ++ option) any later version. ++ ++ This library is distributed in the hope that it will be useful, but WITHOUT ++ ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or ++ FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public ++ License for more details. ++ ++ You should have received a copy of the GNU Library General Public License ++ along with this library; see the file COPYING.LIB. If not, write to the ++ Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA ++ 02110-1301, USA. ++*/ ++ ++ ++#include <qtest_kde.h> ++ ++#include <krecursivefilterproxymodel.h> ++#include <QStandardItemModel> ++ ++class ModelSignalSpy : public QObject { ++ Q_OBJECT ++public: ++ explicit ModelSignalSpy(QAbstractItemModel &model) { ++ connect(&model, SIGNAL(rowsInserted(QModelIndex, int, int)), this, SLOT(onRowsInserted(QModelIndex,int,int))); ++ connect(&model, SIGNAL(rowsRemoved(QModelIndex, int, int)), this, SLOT(onRowsRemoved(QModelIndex,int,int))); ++ connect(&model, SIGNAL(rowsMoved(QModelIndex, int, int, QModelIndex, int)), this, SLOT(onRowsMoved(QModelIndex,int,int, QModelIndex, int))); ++ connect(&model, SIGNAL(dataChanged(QModelIndex,QModelIndex)), this, SLOT(onDataChanged(QModelIndex,QModelIndex))); ++ connect(&model, SIGNAL(layoutChanged()), this, SLOT(onLayoutChanged())); ++ connect(&model, SIGNAL(modelReset()), this, SLOT(onModelReset())); ++ } ++ ++ QStringList mSignals; ++ QModelIndex parent; ++ int start; ++ int end; ++ ++public Q_SLOTS: ++ void onRowsInserted(QModelIndex p, int s, int e) { ++ mSignals << QLatin1String("rowsInserted"); ++ parent = p; ++ start = s; ++ end = e; ++ } ++ void onRowsRemoved(QModelIndex p, int s, int e) { ++ mSignals << QLatin1String("rowsRemoved"); ++ parent = p; ++ start = s; ++ end = e; ++ } ++ void onRowsMoved(QModelIndex,int,int,QModelIndex,int) { ++ mSignals << QLatin1String("rowsMoved"); ++ } ++ void onDataChanged(QModelIndex,QModelIndex) { ++ mSignals << QLatin1String("dataChanged"); ++ } ++ void onLayoutChanged() { ++ mSignals << QLatin1String("layoutChanged"); ++ } ++ void onModelReset() { ++ mSignals << QLatin1String("modelReset"); ++ } ++}; ++ ++class TestModel : public KRecursiveFilterProxyModel ++{ ++ Q_OBJECT ++public: ++ virtual bool acceptRow(int sourceRow, const QModelIndex &sourceParent) const ++ { ++ // qDebug() << sourceModel()->index(sourceRow, 0, sourceParent).data().toString() << sourceModel()->index(sourceRow, 0, sourceParent).data(Qt::UserRole+1).toBool(); ++ return sourceModel()->index(sourceRow, 0, sourceParent).data(Qt::UserRole+1).toBool(); ++ } ++}; ++ ++static QModelIndex getIndex(char *string, const QAbstractItemModel &model) ++{
View file
0002-Trigger-installation-of-missing-components-when-inst.patch
Added
@@ -0,0 +1,140 @@ +diff -up kdelibs-4.8.90/plasma/package.cpp.libplasma-pk-0002 kdelibs-4.8.90/plasma/package.cpp +--- kdelibs-4.8.90/plasma/package.cpp.libplasma-pk-0002 2012-06-05 10:47:01.000000000 +0200 ++++ kdelibs-4.8.90/plasma/package.cpp 2012-06-08 15:40:14.219728253 +0200 +@@ -43,8 +43,11 @@ + #include <kdebug.h> + + #include "authorizationmanager.h" ++#include "dataenginemanager.h" + #include "packagemetadata.h" ++#include "scripting/scriptengine.h" + #include "private/authorizationmanager_p.h" ++#include "private/componentinstaller_p.h" + #include "private/package_p.h" + #include "private/plasmoidservice_p.h" + #include "private/service_p.h" +@@ -580,6 +583,42 @@ bool Package::installPackage(const QStri + // no need to remove the temp dir (which has been successfully moved if it's an archive) + tempdir.setAutoRemove(false); + } ++ // check for missing dependencies ++ QString requiredScriptEngine = meta.implementationApi(); ++ if (!requiredScriptEngine.isEmpty()) { ++ // figure out the component type to query for ++ ComponentTypes componentTypes = static_cast<ComponentTypes>(0); ++ QStringList serviceTypes = meta.serviceType().split(','); ++ if (serviceTypes.contains("Plasma/Applet")) { ++ componentTypes |= AppletComponent; ++ } ++ if (serviceTypes.contains("Plasma/DataEngine")) { ++ componentTypes |= DataEngineComponent; ++ } ++ if (serviceTypes.contains("Plasma/Runner")) { ++ componentTypes |= RunnerComponent; ++ } ++ if (serviceTypes.contains("Plasma/Wallpaper")) { ++ componentTypes |= WallpaperComponent; ++ } ++ if (componentTypes // ignore non-Plasma/* components (e.g. KWin/Script) ++ && !knownLanguages(componentTypes).contains(requiredScriptEngine)) { ++ // install the missing script engine ++ // force prompting because the user has just explicitly installed a widget ++ ComponentInstaller::self()->installMissingComponent("scriptengine", requiredScriptEngine, 0, true); ++ } ++ } ++ QStringList requiredDataEngines = meta.requiredDataEngines(); ++ if (!requiredDataEngines.isEmpty()) { ++ QStringList knownDataEngines = DataEngineManager::self()->listAllEngines(meta.application()); ++ foreach (const QString &requiredDataEngine, requiredDataEngines) { ++ if (!knownDataEngines.contains(requiredDataEngine)) { ++ // install the missing data engine ++ // force prompting because the user has just explicitly installed a widget ++ ComponentInstaller::self()->installMissingComponent("dataengine", requiredDataEngine, 0, true); ++ } ++ } ++ } + + if (!servicePrefix.isEmpty()) { + // and now we register it as a service =) +diff -up kdelibs-4.8.90/plasma/packagemetadata.cpp.libplasma-pk-0002 kdelibs-4.8.90/plasma/packagemetadata.cpp +--- kdelibs-4.8.90/plasma/packagemetadata.cpp.libplasma-pk-0002 2012-05-23 01:45:26.000000000 +0200 ++++ kdelibs-4.8.90/plasma/packagemetadata.cpp 2012-06-08 15:24:24.439149182 +0200 +@@ -52,6 +52,7 @@ class PackageMetadataPrivate + QString serviceType; + QString api; + KUrl location; ++ QStringList requiredDataEngines; + }; + + PackageMetadata::PackageMetadata(const PackageMetadata &other) +@@ -108,6 +109,7 @@ void PackageMetadata::write(const QStrin + config.writeEntry("X-KDE-ParentApp", d->app); + config.writeEntry("Type", d->type); + config.writeEntry("X-Plasma-RemoteLocation", d->location); ++ config.writeEntry("X-Plasma-RequiredDataEngines", d->requiredDataEngines); + } + + void PackageMetadata::read(const QString &filename) +@@ -154,6 +156,7 @@ void PackageMetadata::read(const QString + d->app = config.readEntry("X-KDE-ParentApp", d->app); + d->type = config.readEntry("Type", d->type); + d->location = config.readEntry("X-Plasma-RemoteLocation", d->location); ++ d->requiredDataEngines = config.readEntry("X-Plasma-RequiredDataEngines", d->requiredDataEngines); + } + + QString PackageMetadata::name() const +@@ -246,6 +249,11 @@ QString PackageMetadata::implementationA + return d->api; + } + ++QStringList PackageMetadata::requiredDataEngines() const ++{ ++ return d->requiredDataEngines; ++} ++ + void PackageMetadata::setImplementationApi(const QString &api) + { + d->api = api; +@@ -321,6 +329,11 @@ void PackageMetadata::setRemoteLocation( + d->location = location; + } + ++void PackageMetadata::setRequiredDataEngines(const QStringList &requiredDataEngines) ++{ ++ d->requiredDataEngines = requiredDataEngines; ++} ++ + void PackageMetadata::setType(const QString &type) + { + d->type = type; +diff -up kdelibs-4.8.90/plasma/packagemetadata.h.libplasma-pk-0002 kdelibs-4.8.90/plasma/packagemetadata.h +--- kdelibs-4.8.90/plasma/packagemetadata.h.libplasma-pk-0002 2012-05-23 01:45:26.000000000 +0200 ++++ kdelibs-4.8.90/plasma/packagemetadata.h 2012-06-08 15:24:24.481149665 +0200 +@@ -21,6 +21,7 @@ + #define PLASMA_PACKAGEMETADATA_H + + #include <QtCore/QString> ++#include <QtCore/QStringList> + + #include <plasma/plasma_export.h> + +@@ -92,6 +93,7 @@ public: + QString pluginName() const; + QString implementationApi() const; + KUrl remoteLocation() const; ++ QStringList requiredDataEngines() const; + + QString type() const; + +@@ -205,6 +207,11 @@ public: + */ + void setImplementationApi(const QString &api); + ++ /** ++ * Set the required data engines for this package. ++ */ ++ void setRequiredDataEngines(const QStringList &); ++ + private: + PackageMetadataPrivate * const d; + };
View file
0003-Implement-automatic-scanning-of-source-code-for-requ.patch
Added
@@ -0,0 +1,346 @@ +From 89e4767148110a5566e463a03b3ed594276b7da0 Mon Sep 17 00:00:00 2001 +Message-Id: <89e4767148110a5566e463a03b3ed594276b7da0.1317166378.git.kevin.kofler@chello.at> +From: Kevin Kofler <kevin.kofler@chello.at> +Date: Wed, 17 Aug 2011 04:54:37 +0200 +Subject: [PATCH] Implement automatic scanning of source code for required + data engines. + +For packages in scripting languages and distributed through OCS, this is fully +automatic and triggered from Package::installPackage. If an +X-Plasma-RequiredDataEngines entry is present in the .desktop file (even if +empty), the dependency extraction is not run and the explicitly provided +information is trusted instead. + +For native distribution packages, we ship a tool called +plasma-dataengine-depextractor which can be run at any time during the build +process and which adds the dependency information to the relevant .desktop file. + +Authors of plasmoids are encouraged to run plasma-dataengine-depextractor and/or +fill in X-Plasma-RequiredDataEngines manually. (Please note that the list is +expected to be comma-separated.) +--- + plasma/CMakeLists.txt | 15 ++++ + plasma/depextractor/depextractor.cpp | 125 +++++++++++++++++++++++++++++++++ + plasma/package.cpp | 11 +++ + plasma/private/componentinstaller.cpp | 71 +++++++++++++++++++ + plasma/private/componentinstaller_p.h | 17 ++++- + 5 files changed, 238 insertions(+), 1 deletions(-) + +diff --git a/plasma/CMakeLists.txt b/plasma/CMakeLists.txt +index f929967..9a760ef 100644 +--- a/plasma/CMakeLists.txt ++++ b/plasma/CMakeLists.txt +@@ -304,6 +304,18 @@ set_target_properties(plasma PROPERTIES + + install(TARGETS plasma EXPORT kdelibsLibraryTargets ${INSTALL_TARGETS_DEFAULT_ARGS}) + ++if(NOT PLASMA_NO_PACKAGEKIT) ++ # we need a copy of the component installer because libplasma does not export it ++ # plus, this avoids depending on GUI stuff in this command-line utility ++ set(plasma_dataengine_depextractor_SRCS depextractor/depextractor.cpp ++ private/componentinstaller.cpp) ++ kde4_add_executable(plasma-dataengine-depextractor ++ ${plasma_dataengine_depextractor_SRCS}) ++ set_target_properties(plasma-dataengine-depextractor PROPERTIES ++ COMPILE_FLAGS -DPLASMA_COMPONENTINSTALLER_NO_QWIDGET=1) ++ target_link_libraries(plasma-dataengine-depextractor ${KDE4_KDECORE_LIBS}) ++endif(NOT PLASMA_NO_PACKAGEKIT) ++ + + ########### install files ############### + +@@ -460,3 +472,6 @@ install(FILES data/operations/dataengineservice.operations DESTINATION ${DATA_IN + install(FILES data/operations/plasmoidservice.operations DESTINATION ${DATA_INSTALL_DIR}/plasma/services) + install(FILES data/operations/storage.operations DESTINATION ${DATA_INSTALL_DIR}/plasma/services) + ++if(NOT PLASMA_NO_PACKAGEKIT) ++ install(TARGETS plasma-dataengine-depextractor DESTINATION ${BIN_INSTALL_DIR}) ++endif(NOT PLASMA_NO_PACKAGEKIT) +diff --git a/plasma/depextractor/depextractor.cpp b/plasma/depextractor/depextractor.cpp +new file mode 100644 +index 0000000..c489de7 +--- /dev/null ++++ b/plasma/depextractor/depextractor.cpp +@@ -0,0 +1,125 @@ ++/* Plasma Data Engine dependency extractor ++ Copyright (C) 2011 Kevin Kofler <kevin.kofler@chello.at> ++ ++ This program is free software: you can redistribute it and/or modify ++ it under the terms of the GNU General Public License as published by ++ the Free Software Foundation, either version 2 of the License, or ++ (at your option) any later version. ++ ++ This program is distributed in the hope that it will be useful, ++ but WITHOUT ANY WARRANTY; without even the implied warranty of ++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++ GNU General Public License for more details. ++ ++ You should have received a copy of the GNU General Public License ++ along with this program. If not, see <http://www.gnu.org/licenses/>. */ ++ ++#include <QCoreApplication> ++#include <QTextStream> ++#include <QFileInfo> ++#include <QDir> ++ ++#include <cstdio> ++ ++#include <kaboutdata.h> ++#include <kcmdlineargs.h> ++#include <kdesktopfile.h> ++#include <kconfiggroup.h> ++ ++#include "private/componentinstaller_p.h" ++ ++static QString scriptingApi(const QString &desktopFile) ++{ ++ KDesktopFile desktop(desktopFile); ++ KConfigGroup desktopGroup = desktop.desktopGroup(); ++ if (desktopGroup.readEntry("X-KDE-ServiceTypes", QStringList()) ++ .contains("Plasma/ScriptEngine") ++ || desktopGroup.readEntry("ServiceTypes", QStringList()) ++ .contains("Plasma/ScriptEngine")) { ++ /* Script engines are always written in C++. Their X-Plasma-API is the ++ API they export, not the language they're written in. */ ++ return QString(); ++ } ++ return desktopGroup.readEntry("X-Plasma-API", QString()); ++} ++ ++static void writeDataEngineDependencies(const QStringList &deps, ++ const QString &desktopFile) ++{ ++ if (!deps.isEmpty()) { ++ KDesktopFile desktop(desktopFile); ++ desktop.desktopGroup().writeEntry("X-Plasma-RequiredDataEngines", deps); ++ } ++} ++ ++int main(int argc, char **argv) ++{ ++ KAboutData aboutData("plasma-dataengine-depextractor", QByteArray(), ++ ki18n("Plasma Data Engine dependency extractor"), ++ "2", ++ ki18n("Plasma Data Engine dependency extractor")); ++ aboutData.addAuthor(ki18n("Kevin Kofler"), ki18n("Author"), ++ "kevin.kofler@chello.at"); ++ ++ KCmdLineArgs::init(argc, argv, &aboutData); ++ KCmdLineOptions options; ++ options.add("+[path]", ++ ki18n("Source path (default: .)")); ++ options.add("+[file]", ++ ki18n(".desktop rel. to path (default: metadata.desktop)") ++ ); ++ KCmdLineArgs::addCmdLineOptions(options); ++ ++ QCoreApplication *app = new QCoreApplication(KCmdLineArgs::qtArgc(), ++ KCmdLineArgs::qtArgv()); ++ ++ KCmdLineArgs *args = KCmdLineArgs::parsedArgs(); ++ ++ int exitCode = 0; ++ ++ QString path, desktopFile; ++ int argCount = args->count(); ++ switch (argCount) { ++ case 0: ++ path = "."; ++ desktopFile = "metadata.desktop"; ++ break; ++ case 1: ++ path = args->arg(0); ++ desktopFile = "metadata.desktop"; ++ break; ++ case 2: ++ path = args->arg(0); ++ desktopFile = args->arg(1); ++ break; ++ default: ++ { ++ QTextStream err(stderr, QIODevice::WriteOnly | QIODevice::Text); ++ err << i18n("Expected at most 2 arguments, but %1 given", argCount) ++ << endl; ++ exitCode = 1; ++ break; ++ } ++ } ++ ++ if (!exitCode) { ++ if (QFileInfo(desktopFile).isRelative()) ++ desktopFile = QDir(path).absoluteFilePath(desktopFile); ++ ++ if (QFileInfo(desktopFile).exists()) { ++ writeDataEngineDependencies(Plasma::ComponentInstaller::self() ++ ->extractDataEngineDependencies( ++ path, ++ scriptingApi(desktopFile)), ++ desktopFile); ++ } else { ++ QTextStream err(stderr, QIODevice::WriteOnly | QIODevice::Text); ++ err << i18n("Desktop file \"%1\" not found", desktopFile) << endl; ++ exitCode = 1; ++ } ++ } ++ ++ args->clear(); ++ delete app; ++ return exitCode; ++} +diff --git a/plasma/package.cpp b/plasma/package.cpp +index 0a45c87..131f204 100644 +--- a/plasma/package.cpp ++++ b/plasma/package.cpp +@@ -631,6 +631,17 @@ bool Package::installPackage(const QString &package, + } + } + QStringList requiredDataEngines = meta.requiredDataEngines(); ++ if (requiredDataEngines.isEmpty()) { ++ // check whether this was explicitly specified as empty
View file
coding-style-fixes.patch
Added
@@ -0,0 +1,61 @@ +From 2173580f070e806d4715e13048c697c49ec262e2 Mon Sep 17 00:00:00 2001 +From: Aaron Seigo <aseigo@kde.org> +Date: Thu, 21 Feb 2013 17:59:58 +0100 +Subject: [PATCH 047/111] coding style fixes + +--- + kdeui/icons/kiconloader.cpp | 27 ++++++++++++--------------- + 1 file changed, 12 insertions(+), 15 deletions(-) + +diff --git a/kdeui/icons/kiconloader.cpp b/kdeui/icons/kiconloader.cpp +index 6fed667..dba474d 100644 +--- a/kdeui/icons/kiconloader.cpp ++++ b/kdeui/icons/kiconloader.cpp +@@ -938,32 +938,29 @@ K3Icon KIconLoaderPrivate::findMatchingIcon(const QString& name, int size) const + } + } + +- foreach (KIconThemeNode *themeNode, links) +- { ++ foreach (KIconThemeNode *themeNode, links) { + QString currentName = name; + +- while (!currentName.isEmpty()) +- { +- ++ while (!currentName.isEmpty()) { + //kDebug(264) << "Looking up" << currentName; + +-// The following code has been commented out because the Qt SVG renderer needs +-// to be improved. If you are going to change/remove some code from this part, +-// please contact me before (ereslibre@kde.org), or kde-core-devel@kde.org. (ereslibre) +- for (int i = 0 ; i < 4 ; i++) +- { ++ for (int i = 0 ; i < 4 ; i++) { + icon = themeNode->theme->iconPath(currentName + ext[i], size, KIconLoader::MatchExact); +- if (icon.isValid()) +- return icon; ++ if (icon.isValid()) { ++ break; ++ } + + icon = themeNode->theme->iconPath(currentName + ext[i], size, KIconLoader::MatchBest); +- if (icon.isValid()) +- return icon; ++ if (icon.isValid()) { ++ break; ++ } + } ++ //kDebug(264) << "Looking up" << currentName; + +- if (genericFallback) ++ if (genericFallback) { + // we already tested the base name + break; ++ } + + int rindex = currentName.lastIndexOf('-'); + if (rindex > 1) { // > 1 so that we don't split x-content or x-epoc +-- +1.8.1.4 +
View file
kdelibs-4.10.0-SOLID_UPNP.patch
Added
@@ -0,0 +1,16 @@ +diff -up kdelibs-4.10.0/solid/solid/managerbase.cpp.SOLID_UPNP kdelibs-4.10.0/solid/solid/managerbase.cpp +--- kdelibs-4.10.0/solid/solid/managerbase.cpp.SOLID_UPNP 2013-01-23 15:44:27.000000000 -0600 ++++ kdelibs-4.10.0/solid/solid/managerbase.cpp 2013-01-31 07:48:05.058342162 -0600 +@@ -98,7 +98,11 @@ void Solid::ManagerBasePrivate::loadBack + # endif + + # if defined (HUPNP_FOUND) +- m_backends << new Solid::Backends::UPnP::UPnPDeviceManager(0); ++ bool solidUpnpEnabled ++ = QString::fromLocal8Bit(qgetenv("SOLID_UPNP")).toInt()==1; ++ if (solidUpnpEnabled) { ++ m_backends << new Solid::Backends::UPnP::UPnPDeviceManager(0); ++ } + # endif + } + }
View file
kdelibs-4.10.0-branding.patch
Added
@@ -0,0 +1,11 @@ +diff -up kdelibs-4.10.0/kio/kio/kprotocolmanager.cpp.branding kdelibs-4.10.0/kio/kio/kprotocolmanager.cpp +--- kdelibs-4.10.0/kio/kio/kprotocolmanager.cpp.branding 2013-01-23 15:44:24.000000000 -0600 ++++ kdelibs-4.10.0/kio/kio/kprotocolmanager.cpp 2013-01-31 07:41:09.248540500 -0600 +@@ -743,6 +743,7 @@ QString KProtocolManager::defaultUserAge + d->useragent += QString::number(KDE::versionMajor()); + d->useragent += QL1C('.'); + d->useragent += QString::number(KDE::versionMinor()); ++ d->useragent += QL1S(" Fedora/@@VERSION_RELEASE@@"); + } + else + {
View file
kdelibs-4.10.0-cmake.patch
Added
@@ -0,0 +1,11 @@ +diff -up kdelibs-4.10.0/cmake/modules/FindKDE4Internal.cmake.xxcmake kdelibs-4.10.0/cmake/modules/FindKDE4Internal.cmake +--- kdelibs-4.10.0/cmake/modules/FindKDE4Internal.cmake.xxcmake 2013-01-31 07:45:31.958256176 -0600 ++++ kdelibs-4.10.0/cmake/modules/FindKDE4Internal.cmake 2013-01-31 07:45:31.989255789 -0600 +@@ -955,6 +955,7 @@ endif(WIN32) + # CMake generators if no build type is set. + if (NOT CMAKE_CONFIGURATION_TYPES AND NOT CMAKE_BUILD_TYPE) + set(CMAKE_BUILD_TYPE RelWithDebInfo) ++ set(CMAKE_CONFIGURATION_TYPES ${CMAKE_BUILD_TYPE}) + endif (NOT CMAKE_CONFIGURATION_TYPES AND NOT CMAKE_BUILD_TYPE) + +
View file
kdelibs-4.10.0-kde149705.patch
Added
@@ -0,0 +1,38 @@ +diff -up kdelibs-4.10.0/kdeui/icons/kicontheme.cpp.kde149705 kdelibs-4.10.0/kdeui/icons/kicontheme.cpp +--- kdelibs-4.10.0/kdeui/icons/kicontheme.cpp.kde149705 2013-01-23 15:44:19.000000000 -0600 ++++ kdelibs-4.10.0/kdeui/icons/kicontheme.cpp 2013-01-31 07:40:19.163166653 -0600 +@@ -527,7 +527,7 @@ QString KIconTheme::current() + } + + KConfigGroup cg(KGlobal::config(), "Icons"); +- *_theme = cg.readEntry("Theme", defaultThemeName()); ++ *_theme = cg.readEntry("Theme4", cg.readEntry("Theme", defaultThemeName())); + if ( *_theme == QLatin1String("hicolor") ) { + *_theme = defaultThemeName(); + } +diff -up kdelibs-4.10.0/kdeui/kernel/kglobalsettings.cpp.kde149705 kdelibs-4.10.0/kdeui/kernel/kglobalsettings.cpp +--- kdelibs-4.10.0/kdeui/kernel/kglobalsettings.cpp.kde149705 2013-01-23 15:44:19.000000000 -0600 ++++ kdelibs-4.10.0/kdeui/kernel/kglobalsettings.cpp 2013-01-31 07:40:19.163166653 -0600 +@@ -942,7 +942,7 @@ void KGlobalSettings::Private::applyGUIS + if (kde_overrideStyle.isEmpty()) { + const QString &defaultStyle = KStyle::defaultStyle(); + const KConfigGroup pConfig(KGlobal::config(), "General"); +- const QString &styleStr = pConfig.readEntry("widgetStyle", defaultStyle); ++ const QString &styleStr = pConfig.readEntry("widgetStyle4", pConfig.readEntry("widgetStyle", defaultStyle)); + + if (styleStr.isEmpty() || + // check whether we already use the correct style to return then +diff -up kdelibs-4.10.0/kutils/kdeglobals.kcfg.kde149705 kdelibs-4.10.0/kutils/kdeglobals.kcfg +--- kdelibs-4.10.0/kutils/kdeglobals.kcfg.kde149705 2013-01-23 15:44:26.000000000 -0600 ++++ kdelibs-4.10.0/kutils/kdeglobals.kcfg 2013-01-31 07:40:19.164166641 -0600 +@@ -24,6 +24,10 @@ + <whatsthis>The name of the widget style, for example "keramik" or "plastik". Without quotes.</whatsthis> + <default>keramik</default> + </entry> ++ <entry key="widgetStyle4" type="String" > ++ <label>Widget style to use for KDE 4</label> ++ <whatsthis>The name of the widget style, for example "oxygen". Without quotes. Defaults to widgetStyle.</whatsthis> ++ </entry> + <entry key="windowBackground" type="String" /> + <entry key="windowForeground" type="String" /> + <entry key="UseSystemBell" type="Bool" >
View file
kdelibs-4.10.0-no_rpath.patch
Added
@@ -0,0 +1,107 @@ +diff -up kdelibs-4.10.0/cmake/modules/FindKDE4Internal.cmake.no_rpath kdelibs-4.10.0/cmake/modules/FindKDE4Internal.cmake +--- kdelibs-4.10.0/cmake/modules/FindKDE4Internal.cmake.no_rpath 2013-01-31 07:47:15.581960702 -0600 ++++ kdelibs-4.10.0/cmake/modules/FindKDE4Internal.cmake 2013-01-31 07:47:15.583960677 -0600 +@@ -1050,7 +1050,7 @@ if (UNIX) + + set(CMAKE_SKIP_BUILD_RPATH FALSE) + set(CMAKE_BUILD_WITH_INSTALL_RPATH FALSE) +- set(CMAKE_INSTALL_RPATH_USE_LINK_PATH TRUE) ++ set(CMAKE_INSTALL_RPATH_USE_LINK_PATH FALSE) + endif (APPLE) + endif (UNIX) + +diff -up kdelibs-4.10.0/kdewidgets/CMakeLists.txt.no_rpath kdelibs-4.10.0/kdewidgets/CMakeLists.txt +--- kdelibs-4.10.0/kdewidgets/CMakeLists.txt.no_rpath 2013-01-31 07:47:15.556961014 -0600 ++++ kdelibs-4.10.0/kdewidgets/CMakeLists.txt 2013-01-31 07:47:15.583960677 -0600 +@@ -46,14 +46,14 @@ if(QT_QTDESIGNER_FOUND) + kde4_add_plugin(kdewidgets ${kdewidgets_PART_SRCS}) + + target_link_libraries(kdewidgets ${KDE4_KIO_LIBS}) +- if(NOT WIN32) +- set_target_properties(kdewidgets PROPERTIES +- INSTALL_RPATH_USE_LINK_PATH TRUE +- SKIP_BUILD_RPATH TRUE +- BUILD_WITH_INSTALL_RPATH TRUE +- INSTALL_RPATH ${LIB_INSTALL_DIR} +- ) +- endif(NOT WIN32) ++# if(NOT WIN32) ++# set_target_properties(kdewidgets PROPERTIES ++# INSTALL_RPATH_USE_LINK_PATH TRUE ++# SKIP_BUILD_RPATH TRUE ++# BUILD_WITH_INSTALL_RPATH TRUE ++# INSTALL_RPATH ${LIB_INSTALL_DIR} ++# ) ++# endif(NOT WIN32) + + install(TARGETS kdewidgets DESTINATION ${PLUGIN_INSTALL_DIR}/plugins/designer ) + +@@ -76,14 +76,14 @@ if(QT_QTDESIGNER_FOUND) + kde4_add_plugin(kdedeprecated ${kdedeprecated_PART_SRCS}) + + target_link_libraries(kdedeprecated ${KDE4_KIO_LIBS}) +- if(NOT WIN32) +- set_target_properties(kdedeprecated PROPERTIES +- INSTALL_RPATH_USE_LINK_PATH TRUE +- SKIP_BUILD_RPATH TRUE +- BUILD_WITH_INSTALL_RPATH TRUE +- INSTALL_RPATH ${LIB_INSTALL_DIR} +- ) +- endif(NOT WIN32) ++# if(NOT WIN32) ++# set_target_properties(kdedeprecated PROPERTIES ++# INSTALL_RPATH_USE_LINK_PATH TRUE ++# SKIP_BUILD_RPATH TRUE ++# BUILD_WITH_INSTALL_RPATH TRUE ++# INSTALL_RPATH ${LIB_INSTALL_DIR} ++# ) ++# endif(NOT WIN32) + + install(TARGETS kdedeprecated DESTINATION ${PLUGIN_INSTALL_DIR}/plugins/designer ) + endif(NOT KDE_NO_DEPRECATED) +@@ -111,14 +111,14 @@ if(QT_QTDESIGNER_FOUND) + kde4_add_plugin(kdewebkitwidgets ${kdewebkitwidgets_PART_SRCS}) + + target_link_libraries(kdewebkitwidgets ${KDE4_KDEUI_LIBS} ${KDE4_KDEWEBKIT_LIBS} ${QT_QTWEBKIT_LIBRARY}) +- if(NOT WIN32) +- set_target_properties(kdewebkitwidgets PROPERTIES +- INSTALL_RPATH_USE_LINK_PATH TRUE +- SKIP_BUILD_RPATH TRUE +- BUILD_WITH_INSTALL_RPATH TRUE +- INSTALL_RPATH ${LIB_INSTALL_DIR} +- ) +- endif(NOT WIN32) ++# if(NOT WIN32) ++# set_target_properties(kdewebkitwidgets PROPERTIES ++# INSTALL_RPATH_USE_LINK_PATH TRUE ++# SKIP_BUILD_RPATH TRUE ++# BUILD_WITH_INSTALL_RPATH TRUE ++# INSTALL_RPATH ${LIB_INSTALL_DIR} ++# ) ++# endif(NOT WIN32) + + install(TARGETS kdewebkitwidgets DESTINATION ${PLUGIN_INSTALL_DIR}/plugins/designer ) + +@@ -147,14 +147,14 @@ if(QT_QTDESIGNER_FOUND) + kde4_add_plugin(kde3supportwidgets ${kde3supportwidgets_PART_SRCS}) + + target_link_libraries(kde3supportwidgets ${KDE4_KDE3SUPPORT_LIBS} ${KDE4_KIO_LIBS}) +- if(NOT WIN32) +- set_target_properties(kde3supportwidgets PROPERTIES +- INSTALL_RPATH_USE_LINK_PATH TRUE +- SKIP_BUILD_RPATH TRUE +- BUILD_WITH_INSTALL_RPATH TRUE +- INSTALL_RPATH ${LIB_INSTALL_DIR} +- ) +- endif(NOT WIN32) ++# if(NOT WIN32) ++# set_target_properties(kde3supportwidgets PROPERTIES ++# INSTALL_RPATH_USE_LINK_PATH TRUE ++# SKIP_BUILD_RPATH TRUE ++# BUILD_WITH_INSTALL_RPATH TRUE ++# INSTALL_RPATH ${LIB_INSTALL_DIR} ++# ) ++# endif(NOT WIN32) + + install(TARGETS kde3supportwidgets DESTINATION ${PLUGIN_INSTALL_DIR}/plugins/designer ) + endif (QT_QT3SUPPORT_FOUND)
View file
kdelibs-4.10.0-webkit.patch
Added
@@ -0,0 +1,101 @@ +diff -up kdelibs-4.10.0/CMakeLists.txt.webkit kdelibs-4.10.0/CMakeLists.txt +--- kdelibs-4.10.0/CMakeLists.txt.webkit 2013-01-29 22:55:26.000000000 +0100 ++++ kdelibs-4.10.0/CMakeLists.txt 2013-02-28 11:43:57.653616989 +0100 +@@ -328,7 +328,6 @@ if(NOT WINCE) + add_subdirectory( plasma ) + endif(NOT WINCE) + add_subdirectory( kunitconversion ) +-add_subdirectory( kdewebkit ) + add_subdirectory( includes ) + + add_subdirectory( experimental ) +diff -up kdelibs-4.10.0/kdewidgets/CMakeLists.txt.webkit kdelibs-4.10.0/kdewidgets/CMakeLists.txt +--- kdelibs-4.10.0/kdewidgets/CMakeLists.txt.webkit 2013-02-28 11:43:57.589617095 +0100 ++++ kdelibs-4.10.0/kdewidgets/CMakeLists.txt 2013-02-28 11:43:57.654616988 +0100 +@@ -88,41 +88,6 @@ if(QT_QTDESIGNER_FOUND) + install(TARGETS kdedeprecated DESTINATION ${PLUGIN_INSTALL_DIR}/plugins/designer ) + endif(NOT KDE_NO_DEPRECATED) + +- +- # kdewebkit widgets +- include_directories( +- ${CMAKE_SOURCE_DIR}/kdewebkit +- ) +- +- add_custom_command(OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/kdewebkitwidgets.cpp +- COMMAND "${MAKEKDEWIDGETS_EXECUTABLE}" -o ${CMAKE_CURRENT_BINARY_DIR}/kdewebkitwidgets.cpp ${CMAKE_CURRENT_SOURCE_DIR}/kdewebkit.widgets +- MAIN_DEPENDENCY kdewebkit.widgets DEPENDS makekdewidgets4) +- +- set(kdewebkitwidgets_PART_SRCS +- classpreviews.cpp +- ${CMAKE_CURRENT_BINARY_DIR}/kdewebkitwidgets.cpp +- ) +- +- qt4_generate_moc(${CMAKE_CURRENT_BINARY_DIR}/kdewebkitwidgets.cpp ${CMAKE_CURRENT_BINARY_DIR}/kdewebkitwidgets.moc) +- +- +- qt4_add_resources(kdewebkitwidgets_PART_SRCS kdewebkitwidgets.qrc) +- +- kde4_add_plugin(kdewebkitwidgets ${kdewebkitwidgets_PART_SRCS}) +- +- target_link_libraries(kdewebkitwidgets ${KDE4_KDEUI_LIBS} ${KDE4_KDEWEBKIT_LIBS} ${QT_QTWEBKIT_LIBRARY}) +-# if(NOT WIN32) +-# set_target_properties(kdewebkitwidgets PROPERTIES +-# INSTALL_RPATH_USE_LINK_PATH TRUE +-# SKIP_BUILD_RPATH TRUE +-# BUILD_WITH_INSTALL_RPATH TRUE +-# INSTALL_RPATH ${LIB_INSTALL_DIR} +-# ) +-# endif(NOT WIN32) +- +- install(TARGETS kdewebkitwidgets DESTINATION ${PLUGIN_INSTALL_DIR}/plugins/designer ) +- +- + if (QT_QT3SUPPORT_FOUND) + + include_directories( +diff -up kdelibs-4.10.0/plasma/CMakeLists.txt.webkit kdelibs-4.10.0/plasma/CMakeLists.txt +--- kdelibs-4.10.0/plasma/CMakeLists.txt.webkit 2013-02-28 11:43:57.600617077 +0100 ++++ kdelibs-4.10.0/plasma/CMakeLists.txt 2013-02-28 11:47:28.121778200 +0100 +@@ -11,6 +11,8 @@ if(KDE_PLATFORM_FEATURE_BINARY_COMPATIBL + set(PLASMA_NO_GLOBAL_SHORTCUTS TRUE) + endif(KDE_PLATFORM_FEATURE_BINARY_COMPATIBLE_FEATURE_REDUCTION) + ++set(PLASMA_NO_KDEWEBKIT TRUE) ++ + if(NOT Q_WS_X11) + set(PLASMA_NO_PACKAGEKIT TRUE) + endif(NOT Q_WS_X11) +@@ -124,7 +126,6 @@ set(plasma_LIB_SRCS + framesvg.cpp + plasma.cpp + popupapplet.cpp +- private/animablegraphicswebview.cpp + private/applethandle.cpp + private/associatedapplicationmanager.cpp + private/componentinstaller.cpp +@@ -214,7 +215,6 @@ set(plasma_LIB_SRCS + widgets/textbrowser.cpp + widgets/treeview.cpp + widgets/textedit.cpp +- widgets/webview.cpp + + #Temporary QtJolie branch + private/qtjolie-branch/qtjolie/abstractadaptor.cpp +@@ -278,7 +278,7 @@ endif(PHONON_FOUND) + + kde4_add_library(plasma ${LIBRARY_TYPE} ${plasma_LIB_SRCS}) + +-target_link_libraries(plasma ${QT_QTUITOOLS_LIBRARY} ${QT_QTWEBKIT_LIBRARY} ++target_link_libraries(plasma ${QT_QTUITOOLS_LIBRARY} + ${QT_QTSCRIPT_LIBRARY} ${QT_QTNETWORK_LIBRARY} ${QT_QTXML_LIBRARY} ${QT_QTSQL_LIBRARY} ${QT_QTDECLARATIVE_LIBRARY} + ${KDE4_KDEUI_LIBS} ${KDE4_KDNSSD_LIBS} ${KDE4_THREADWEAVER_LIBS} ${PLASMA_EXTRA_LIBS}) + +@@ -430,7 +430,6 @@ install(FILES + widgets/textbrowser.h + widgets/treeview.h + widgets/textedit.h +- widgets/webview.h + DESTINATION ${INCLUDE_INSTALL_DIR}/plasma/widgets COMPONENT Devel) + + install(FILES
View file
kdelibs-4.10.0-xdg-menu.patch
Added
@@ -0,0 +1,75 @@ +diff -up kdelibs-4.10.0/kded/applications.menu.Administration-menu kdelibs-4.10.0/kded/applications.menu +--- kdelibs-4.10.0/kded/applications.menu.Administration-menu 2013-01-23 15:44:19.000000000 -0600 ++++ kdelibs-4.10.0/kded/applications.menu 2013-01-31 07:42:28.173553801 -0600 +@@ -31,29 +31,31 @@ + <Category>Core</Category> + <Not><Category>KDE</Category></Not> + </And> ++ <Category>X-Red-Hat-Base</Category> + <!-- Don't list SUSE's YaST in here --> + <Category>X-SuSE-YaST</Category> +- <Category>X-KDE-settings-hardware</Category> +- <Category>X-KDE-settings-accessibility</Category> +- <Category>X-KDE-settings-components</Category> +- <Category>X-KDE-settings-desktop</Category> +- <Category>X-KDE-settings-looknfeel</Category> +- <Category>X-KDE-settings-network</Category> +- <Category>X-KDE-settings-webbrowsing</Category> +- <Category>X-KDE-settings-peripherals</Category> +- <Category>X-KDE-settings-hardware</Category> +- <Category>X-KDE-settings-power</Category> +- <Category>X-KDE-settings-security</Category> +- <Category>X-KDE-settings-sound</Category> +- <Category>X-KDE-settings-system</Category> +- <Category>X-KDE-information</Category> +- <Filename>kde-kcm_knetworkconfmodule_ss.desktop</Filename> +- <Filename>kde-medianotifications.desktop</Filename> +- <Filename>kde-audioencoding.desktop</Filename> + </Not> + </Include> + </Menu> + <Menu> ++ <Name>System Settings</Name> ++ <Directory>SystemConfig.directory</Directory> ++ <Include> ++ <And> ++ <Category>System</Category> ++ <Category>Settings</Category> ++ <Not><Category>X-Red-Hat-ServerConfig</Category></Not> ++ </And> ++ </Include> ++ <Menu> ++ <Name>Server</Name> ++ <Directory>ServerConfig.directory</Directory> ++ <Include> ++ <Category>X-Red-Hat-ServerConfig</Category> ++ </Include> ++ </Menu> ++ </Menu> ++ <Menu> + <Name>Development</Name> + <Directory>kde-development.directory</Directory> + <Menu> +@@ -369,7 +371,11 @@ + <Name>Settingsmenu</Name> + <Directory>kde-settingsmenu.directory</Directory> + <Include> +- <Category>Settings</Category> ++ <And> ++ <Category>Settings</Category> ++ <Not><Category>System</Category></Not> ++ <Not><Category>X-Red-Hat-ServerConfig</Category></Not> ++ </And> + </Include> + </Menu> + <Menu> +@@ -378,7 +384,9 @@ + <Include> + <And> + <Category>System</Category> ++ <Not><Category>Settings</Category></Not> + <Not><Category>X-KDE-More</Category></Not> ++ <Not><Category>X-Red-Hat-ServerConfig</Category></Not> + </And> + </Include> + <Menu>
View file
kdelibs-4.11.3-arm.patch
Added
@@ -0,0 +1,15 @@ +diff -up kdelibs-4.11.3/plasma/corona.cpp.than kdelibs-4.11.3/plasma/corona.cpp +--- kdelibs-4.11.3/plasma/corona.cpp.than 2013-12-02 16:46:19.542820822 +0100 ++++ kdelibs-4.11.3/plasma/corona.cpp 2013-12-02 17:53:04.919830893 +0100 +@@ -388,7 +388,11 @@ void Corona::addOffscreenWidget(QGraphic + } + + d->offscreenWidgets[i] = widget; ++#if defined(arm) || defined(__arm__) ++ widget->setPos((-i - 1) * 2000, -2000); ++#else + widget->setPos((-i - 1) * QWIDGETSIZE_MAX, -QWIDGETSIZE_MAX); ++#endif + + QGraphicsWidget *pw = widget->parentWidget(); + widget->setParentItem(0);
View file
kdelibs-4.11.3-klauncher-no-glib.patch
Added
@@ -0,0 +1,25 @@ +diff -ur kdelibs-4.11.3/kinit/klauncher_main.cpp kdelibs-4.11.3-klauncher-no-glib/kinit/klauncher_main.cpp +--- kdelibs-4.11.3/kinit/klauncher_main.cpp 2013-06-28 19:03:41.000000000 +0200 ++++ kdelibs-4.11.3-klauncher-no-glib/kinit/klauncher_main.cpp 2013-12-09 00:32:12.000000000 +0100 +@@ -75,10 +75,21 @@ + // WABA: Make sure not to enable session management. + putenv(strdup("SESSION_MANAGER=")); + ++ // Disable the GLib event loop (rh#983110) ++ bool wasQtNoGlibSet = (getenv("QT_NO_GLIB") != 0); ++ if (!wasQtNoGlibSet) { ++ setenv("QT_NO_GLIB", "1", true); ++ } ++ + // We need a QCoreApplication to get a DBus event loop + QCoreApplication app(argc, argv); + app.setApplicationName( componentData.componentName() ); + ++ // Now get rid of QT_NO_GLIB again so launched processes don't inherit it ++ if (!wasQtNoGlibSet) { ++ unsetenv("QT_NO_GLIB"); ++ } ++ + int maxTry = 3; + while(true) + {
View file
kdelibs-4.11.3-libexecdir.patch
Added
@@ -0,0 +1,54 @@ +diff -up kdelibs-4.11.3/kdecore/kernel/kstandarddirs.cpp.libexecdir kdelibs-4.11.3/kdecore/kernel/kstandarddirs.cpp +--- kdelibs-4.11.3/kdecore/kernel/kstandarddirs.cpp.libexecdir 2013-06-28 12:03:40.883340083 -0500 ++++ kdelibs-4.11.3/kdecore/kernel/kstandarddirs.cpp 2013-11-01 15:44:00.780783690 -0500 +@@ -1871,7 +1871,7 @@ void KStandardDirs::addKDEDefaults() + addResourceType(types_string + types_indices[index], 0, types_string + types_indices[index+1], true); + index+=2; + } +- addResourceType("exe", "lib", "kde4/libexec", true ); ++ addResourceType("exe", 0, "libexec/kde4", true ); + + addResourceDir("home", QDir::homePath(), false); + +diff -up kdelibs-4.11.3/kdecore/kernel/kstandarddirs_unix.cpp.libexecdir kdelibs-4.11.3/kdecore/kernel/kstandarddirs_unix.cpp +--- kdelibs-4.11.3/kdecore/kernel/kstandarddirs_unix.cpp.libexecdir 2013-06-28 12:03:40.884340190 -0500 ++++ kdelibs-4.11.3/kdecore/kernel/kstandarddirs_unix.cpp 2013-11-01 15:44:00.782783770 -0500 +@@ -63,7 +63,7 @@ QString KStandardDirs::installPath(const + if (strcmp("lib", type) == 0) + return QFile::decodeName(LIB_INSTALL_DIR "/"); + if (strcmp("libexec", type) == 0) +- return QFile::decodeName(KDEDIR "/lib" KDELIBSUFF "/kde4/libexec/"); ++ return QFile::decodeName(LIBEXEC_INSTALL_DIR "/"); + if (strcmp("locale", type) == 0) + return QFile::decodeName(LOCALE_INSTALL_DIR "/"); + break; +diff -up kdelibs-4.11.3/kdecore/tests/kstandarddirstest.cpp.libexecdir kdelibs-4.11.3/kdecore/tests/kstandarddirstest.cpp +--- kdelibs-4.11.3/kdecore/tests/kstandarddirstest.cpp.libexecdir 2013-11-01 10:45:56.409145508 -0500 ++++ kdelibs-4.11.3/kdecore/tests/kstandarddirstest.cpp 2013-11-01 15:50:20.473658147 -0500 +@@ -96,8 +96,9 @@ void KStandarddirsTest::testFindResource + #define KIOSLAVE "bin/kioslave.exe" + #else + #define EXT "" +-#define KIOSLAVE "kde4/libexec/kioslave" ++#define KIOSLAVE "libexec/kde4/kioslave" + #endif ++ + const QString bin = KGlobal::dirs()->findResource( "exe", "kioslave" EXT ); + QVERIFY( !bin.isEmpty() ); + QVERIFY( bin.endsWith( KIOSLAVE ) ); +@@ -248,11 +249,13 @@ void KStandarddirsTest::testFindExe() + // findExe with a result in libexec + const QString lnusertemp = KGlobal::dirs()->findExe( "lnusertemp" ); + QVERIFY( !lnusertemp.isEmpty() ); +- QVERIFY( lnusertemp.endsWith( "lib" KDELIBSUFF "/kde4/libexec/lnusertemp" EXT, PATH_SENSITIVITY ) ); ++ QVERIFY( lnusertemp.endsWith( "lib" KDELIBSUFF "/kde4/libexec/lnusertemp" EXT, PATH_SENSITIVITY ) ++ || lnusertemp.endsWith( "libexec/kde4/lnusertemp" EXT, PATH_SENSITIVITY ) ); + + // locate("exe") with a result in libexec + const QString locateExeResult = KGlobal::dirs()->locate("exe", "lnusertemp"); +- QVERIFY(locateExeResult.endsWith("lib" KDELIBSUFF "/kde4/libexec/lnusertemp" EXT, PATH_SENSITIVITY)); ++ QVERIFY(locateExeResult.endsWith("lib" KDELIBSUFF "/kde4/libexec/lnusertemp" EXT, PATH_SENSITIVITY) ++ || locateExeResult.endsWith("libexec/kde4/lnusertemp" EXT, PATH_SENSITIVITY) ); + + // findExe with relative path + const QString pwd = QDir::currentPath();
View file
kdelibs-4.11.97-kstandarddirs.patch
Added
@@ -0,0 +1,25 @@ +diff -up kdelibs-4.11.97/kdecore/kernel/kstandarddirs.cpp.kstandarddirs kdelibs-4.11.97/kdecore/kernel/kstandarddirs.cpp +--- kdelibs-4.11.97/kdecore/kernel/kstandarddirs.cpp.kstandarddirs 2013-11-30 21:24:01.637163800 -0600 ++++ kdelibs-4.11.97/kdecore/kernel/kstandarddirs.cpp 2013-11-30 21:35:27.166292739 -0600 +@@ -1149,7 +1149,8 @@ QStringList KStandardDirs::KStandardDirs + pit != prefixList->end(); + ++pit) + { +- if((*pit).compare(installprefix, cs) != 0 || installdir.isEmpty()) ++ // "exe" never has a custom install path, and the check triggers a false positive due to the libexecdir patch ++ if((*pit).compare(installprefix, cs) != 0 || installdir.isEmpty() || !strcmp("exe", type)) + { + for (QStringList::ConstIterator it = dirs.constBegin(); + it != dirs.constEnd(); ++it) +@@ -1163,6 +1164,11 @@ QStringList KStandardDirs::KStandardDirs + if ((local || testdir.exists()) && !candidates.contains(path, cs)) + candidates.append(path); + } ++ // special-case "config" (forward porting Chris Cheney's ++ // hack) - we want /etc/kde after the local config paths ++ // and before the ones in /usr (including kde-profile) ++ if (local && !strcmp("config", type)) ++ candidates.append(QLatin1String("/etc/kde/")); + local = false; + } + else
View file
kdelibs-4.12.90-dot.patch
Added
@@ -0,0 +1,12 @@ +diff -up kdelibs-4.12.90/doc/common/Doxyfile.global.dot kdelibs-4.12.90/doc/common/Doxyfile.global +--- kdelibs-4.12.90/doc/common/Doxyfile.global.dot 2014-03-17 13:15:23.252517997 -0500 ++++ kdelibs-4.12.90/doc/common/Doxyfile.global 2014-03-17 13:16:02.472100942 -0500 +@@ -1360,7 +1360,7 @@ HIDE_UNDOC_RELATIONS = NO + # toolkit from AT&T and Lucent Bell Labs. The other options in this section + # have no effect if this option is set to NO (the default) + +-HAVE_DOT = YES ++HAVE_DOT = NO + + # The DOT_FONTSIZE tag can be used to set the size of the font of dot graphs. + # The default size is 10pt.
View file
kdelibs-4.13.2-glibc_DEFAULT_SOURCE.patch
Added
@@ -0,0 +1,30 @@ +diff -up kdelibs-4.13.2/cmake/modules/FindKDE4Internal.cmake._DEFAULT_SOURCE kdelibs-4.13.2/cmake/modules/FindKDE4Internal.cmake +--- kdelibs-4.13.2/cmake/modules/FindKDE4Internal.cmake._DEFAULT_SOURCE 2014-06-08 17:15:31.037189262 -0500 ++++ kdelibs-4.13.2/cmake/modules/FindKDE4Internal.cmake 2014-06-09 08:00:43.074844711 -0500 +@@ -1097,7 +1097,7 @@ endif (APPLE) + + if (CMAKE_SYSTEM_NAME MATCHES Linux OR CMAKE_SYSTEM_NAME STREQUAL GNU) + if (CMAKE_COMPILER_IS_GNUCXX OR "${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang") +- set ( _KDE4_PLATFORM_DEFINITIONS -D_XOPEN_SOURCE=500 -D_BSD_SOURCE -D_GNU_SOURCE) ++ set ( _KDE4_PLATFORM_DEFINITIONS -D_XOPEN_SOURCE=500 -D_BSD_SOURCE -D_DEFAULT_SOURCE -D_GNU_SOURCE) + set ( CMAKE_SHARED_LINKER_FLAGS "-Wl,--fatal-warnings -Wl,--no-undefined -lc ${CMAKE_SHARED_LINKER_FLAGS}") + set ( CMAKE_MODULE_LINKER_FLAGS "-Wl,--fatal-warnings -Wl,--no-undefined -lc ${CMAKE_MODULE_LINKER_FLAGS}") + +@@ -1112,7 +1112,7 @@ if (CMAKE_SYSTEM_NAME MATCHES Linux OR C + endif(CMAKE_BUILD_TYPE_TOLOWER MATCHES profile) + endif (CMAKE_COMPILER_IS_GNUCXX OR "${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang") + if (CMAKE_C_COMPILER MATCHES "icc") +- set ( _KDE4_PLATFORM_DEFINITIONS -D_XOPEN_SOURCE=500 -D_BSD_SOURCE -D_GNU_SOURCE) ++ set ( _KDE4_PLATFORM_DEFINITIONS -D_XOPEN_SOURCE=500 -D_BSD_SOURCE -D_DEFAULT_SOURCE -D_GNU_SOURCE) + set ( CMAKE_SHARED_LINKER_FLAGS "-Wl,--fatal-warnings -Wl,--no-undefined -lc ${CMAKE_SHARED_LINKER_FLAGS}") + set ( CMAKE_MODULE_LINKER_FLAGS "-Wl,--fatal-warnings -Wl,--no-undefined -lc ${CMAKE_MODULE_LINKER_FLAGS}") + endif (CMAKE_C_COMPILER MATCHES "icc") +@@ -1216,7 +1216,7 @@ if (CMAKE_COMPILER_IS_GNUCXX) + # It is kept here nonetheless both for backwards compatibility in case one does not use add_definitions(${KDE4_DEFINITIONS}) + # and also because it is/was needed by glibc for snprintf to be available when building C files. + # See commit 4a44862b2d178c1d2e1eb4da90010d19a1e4a42c. +- add_definitions (-D_BSD_SOURCE) ++ add_definitions (-D_BSD_SOURCE -D_DEFAULT_SOURCE) + endif (CMAKE_SYSTEM_NAME MATCHES Linux OR CMAKE_SYSTEM_NAME STREQUAL GNU) + + if (CMAKE_SYSTEM_NAME STREQUAL GNU)
View file
kdelibs-4.13.2-invokeTerminal.patch
Added
@@ -0,0 +1,17 @@ +diff -up kdelibs-4.13.2/kdecore/kernel/ktoolinvocation_x11.cpp.orig kdelibs-4.13.2/kdecore/kernel/ktoolinvocation_x11.cpp +--- kdelibs-4.13.2/kdecore/kernel/ktoolinvocation_x11.cpp.orig 2014-07-11 16:54:51.000000000 +0200 ++++ kdelibs-4.13.2/kdecore/kernel/ktoolinvocation_x11.cpp 2014-07-11 16:57:31.000000000 +0200 +@@ -412,11 +412,9 @@ void KToolInvocation::invokeTerminal(con + // directory before launching them, see below. + } + +- QString error; +- if (self()->startServiceInternal("kdeinit_exec_with_workdir", +- cmd, cmdTokens, &error, 0, NULL, startup_id, false, workdir)) { ++ if (!QProcess::startDetached(cmd, cmdTokens)) { + KMessage::message(KMessage::Error, +- i18n("Could not launch the terminal client:\n\n%1", error), ++ i18n("Could not launch the terminal client"), + i18n("Could not launch Terminal Client")); + } + }
View file
kdelibs-4.3.90-install_all_css.patch
Added
@@ -0,0 +1,12 @@ +diff -up kdelibs-4.3.90/doc/common/CMakeLists.txt.all-css kdelibs-4.3.90/doc/common/CMakeLists.txt +--- kdelibs-4.3.90/doc/common/CMakeLists.txt.all-css 2010-01-06 10:58:53.000000000 -0600 ++++ kdelibs-4.3.90/doc/common/CMakeLists.txt 2010-01-06 13:33:35.920884922 -0600 +@@ -8,6 +8,8 @@ install(FILES + kde-docs.css + doxygen.css + tabs.css ++ kde.css flat.css print.css ++ Doxyfile.global + header.html + footer.html + mainheader.html
View file
kdelibs-4.7.0-knewstuff2_gpg2.patch
Added
@@ -0,0 +1,60 @@ +diff -up kdelibs-4.7.0/knewstuff/knewstuff2/core/security.cpp.knewstuff2_gpg2 kdelibs-4.7.0/knewstuff/knewstuff2/core/security.cpp +--- kdelibs-4.7.0/knewstuff/knewstuff2/core/security.cpp.knewstuff2_gpg2 2011-05-20 15:24:54.000000000 -0500 ++++ kdelibs-4.7.0/knewstuff/knewstuff2/core/security.cpp 2011-09-06 11:29:18.939251150 -0500 +@@ -36,9 +36,20 @@ + #include <kmessagebox.h> + #include <kpassworddialog.h> + #include <kprocess.h> ++#include <kstandarddirs.h> + + using namespace KNS; + ++static QString gpgExecutable() ++{ ++ QString gpgExe = KStandardDirs::findExe( "gpg" ); ++ if ( gpgExe.isEmpty() ) ++ gpgExe = KStandardDirs::findExe( "gpg2" ); ++ if ( gpgExe.isEmpty() ) ++ return QLatin1String( "gpg" ); ++ return gpgExe; ++} ++ + Security::Security() + { + m_keysRead = false; +@@ -61,7 +72,7 @@ void Security::readKeys() + m_runMode = List; + m_keys.clear(); + m_process = new KProcess(); +- *m_process << "gpg" ++ *m_process << gpgExecutable() + << "--no-secmem-warning" + << "--no-tty" + << "--with-colon" +@@ -87,7 +98,7 @@ void Security::readSecretKeys() + } + m_runMode = ListSecret; + m_process = new KProcess(); +- *m_process << "gpg" ++ *m_process << gpgExecutable() + << "--no-secmem-warning" + << "--no-tty" + << "--with-colon" +@@ -260,7 +271,7 @@ void Security::slotCheckValidity() + + //verify the signature + m_process = new KProcess(); +- *m_process << "gpg" ++ *m_process << gpgExecutable() + << "--no-secmem-warning" + << "--status-fd=2" + << "--command-fd=0" +@@ -342,7 +353,7 @@ void Security::slotSignFile() + + //verify the signature + m_process = new KProcess(); +- *m_process << "gpg" ++ *m_process << gpgExecutable() + << "--no-secmem-warning" + << "--status-fd=2" + << "--command-fd=0"
View file
kdelibs-4.7.2-kjs-s390.patch
Added
@@ -0,0 +1,22 @@ +diff -up kdelibs-4.7.2/kjs/wtf/Platform.h.me kdelibs-4.7.2/kjs/wtf/Platform.h +--- kdelibs-4.7.2/kjs/wtf/Platform.h.me 2011-12-06 10:10:08.372356038 -0500 ++++ kdelibs-4.7.2/kjs/wtf/Platform.h 2011-12-06 10:48:51.962357831 -0500 +@@ -97,6 +97,18 @@ + + /* CPU */ + ++/* PLATFORM(S390X) - S390X 64-bit */ ++#if defined(__s390x__) ++#define WTF_PLATFORM_S390X 1 ++#define WTF_PLATFORM_BIG_ENDIAN 1 ++#endif ++ ++/* PLATFORM(S390) - S390 32-bit */ ++#if defined(__s390__) ++#define WTF_PLATFORM_S390 1 ++#define WTF_PLATFORM_BIG_ENDIAN 1 ++#endif ++ + /* PLATFORM(PPC) */ + #if defined(__ppc__) \ + || defined(__PPC__) \
View file
kdelibs-4.8.4-kjs-locale.patch
Added
@@ -0,0 +1,18 @@ +diff -up kdelibs-4.8.4/khtml/ecma/kjs_navigator.cpp.me kdelibs-4.8.4/khtml/ecma/kjs_navigator.cpp +--- kdelibs-4.8.4/khtml/ecma/kjs_navigator.cpp.me 2012-06-06 22:49:52.542044112 +0200 ++++ kdelibs-4.8.4/khtml/ecma/kjs_navigator.cpp 2012-07-12 11:52:50.973049316 +0200 +@@ -261,7 +261,13 @@ JSValue *Navigator::getValueProperty(Exe + case BrowserLanguage: + case Language: + case UserLanguage: +- return jsString(KGlobal::locale()->language()); ++ { ++ QString l = KGlobal::locale()->language(); ++ if ( l.contains(QLatin1Char('_')) ) ++ return jsString(l.replace(QLatin1Char('_'), QLatin1Char('-'))); ++ else ++ return jsString(l + QLatin1Char('-') + KGlobal::locale()->country().toUpper()); ++ } + case UserAgent: + return jsString(userAgent); + case Platform:
View file
kdelibs-4.9.3-kcm_ssl.patch
Added
@@ -0,0 +1,12 @@ +diff -up kdelibs-4.9.3/kio/kssl/kcm/cacertificatespage.cpp.orig kdelibs-4.9.3/kio/kssl/kcm/cacertificatespage.cpp +--- kdelibs-4.9.3/kio/kssl/kcm/cacertificatespage.cpp.orig 2012-11-29 15:37:07.458858688 +0100 ++++ kdelibs-4.9.3/kio/kssl/kcm/cacertificatespage.cpp 2012-11-29 13:52:05.243926802 +0100 +@@ -291,7 +291,7 @@ void CaCertificatesPage::removeSelection + void CaCertificatesPage::addCertificateClicked() + { + QStringList certFiles +- = KFileDialog::getOpenFileNames(KUrl(), QLatin1String("application/x-x509-ca-cert"), ++ = KFileDialog::getOpenFileNames(KUrl(), QLatin1String("*.pem *.cert *.crt *.der"), + this, i18n("Pick Certificates")); + + QList<QSslCertificate> certs;
View file
kdelibs-4.9.95-parallel_devel.patch
Added
@@ -0,0 +1,253 @@ +diff -up kdelibs-4.9.95/cmake/modules/FindKDE4Internal.cmake.parallel_devel kdelibs-4.9.95/cmake/modules/FindKDE4Internal.cmake +--- kdelibs-4.9.95/cmake/modules/FindKDE4Internal.cmake.parallel_devel 2012-12-18 02:26:38.000000000 -0600 ++++ kdelibs-4.9.95/cmake/modules/FindKDE4Internal.cmake 2012-12-19 15:21:37.963466601 -0600 +@@ -38,10 +38,10 @@ + # The following variables are defined for the various tools required to + # compile KDE software: + # +-# KDE4_KCFGC_EXECUTABLE - the kconfig_compiler executable ++# KDE4_KCFGC_EXECUTABLE - the kconfig_compiler4 executable + # KDE4_AUTOMOC_EXECUTABLE - the kde4automoc executable, deprecated, use AUTOMOC4_EXECUTABLE instead + # KDE4_MEINPROC_EXECUTABLE - the meinproc4 executable +-# KDE4_MAKEKDEWIDGETS_EXECUTABLE - the makekdewidgets executable ++# KDE4_MAKEKDEWIDGETS_EXECUTABLE - the makekdewidgets4 executable + # + # The following variables point to the location of the KDE libraries, + # but shouldn't be used directly: +@@ -191,7 +191,7 @@ + # relative path to the file. + # + # KDE4_ADD_WIDGET_FILES (SRCS_VAR file1.widgets ... fileN.widgets) +-# Use this to add widget description files for the makekdewidgets code generator ++# Use this to add widget description files for the makekdewidgets4 code generator + # for Qt Designer plugins. + # + # KDE4_CREATE_FINAL_FILES (filename_CXX filename_C file1 ... fileN) +@@ -509,31 +509,31 @@ if (_kdeBootStrapping) + set(LIBRARY_OUTPUT_PATH ${EXECUTABLE_OUTPUT_PATH} ) + # CMAKE_CFG_INTDIR is the output subdirectory created e.g. by XCode and MSVC + if (NOT WINCE) +- set(KDE4_KCFGC_EXECUTABLE ${EXECUTABLE_OUTPUT_PATH}/${CMAKE_CFG_INTDIR}/kconfig_compiler ) ++ set(KDE4_KCFGC_EXECUTABLE ${EXECUTABLE_OUTPUT_PATH}/${CMAKE_CFG_INTDIR}/kconfig_compiler4 ) + set(KDE4_MEINPROC_EXECUTABLE ${EXECUTABLE_OUTPUT_PATH}/${CMAKE_CFG_INTDIR}/meinproc4 ) + else (NOT WINCE) +- set(KDE4_KCFGC_EXECUTABLE ${HOST_BINDIR}/${CMAKE_CFG_INTDIR}/kconfig_compiler ) ++ set(KDE4_KCFGC_EXECUTABLE ${HOST_BINDIR}/${CMAKE_CFG_INTDIR}/kconfig_compiler4 ) + set(KDE4_MEINPROC_EXECUTABLE ${HOST_BINDIR}/${CMAKE_CFG_INTDIR}/meinproc4 ) + endif(NOT WINCE) + + set(KDE4_MEINPROC_EXECUTABLE ${EXECUTABLE_OUTPUT_PATH}/${CMAKE_CFG_INTDIR}/meinproc4 ) + set(KDE4_KAUTH_POLICY_GEN_EXECUTABLE ${EXECUTABLE_OUTPUT_PATH}/${CMAKE_CFG_INTDIR}/kauth-policy-gen ) +- set(KDE4_MAKEKDEWIDGETS_EXECUTABLE ${EXECUTABLE_OUTPUT_PATH}/${CMAKE_CFG_INTDIR}/makekdewidgets ) ++ set(KDE4_MAKEKDEWIDGETS_EXECUTABLE ${EXECUTABLE_OUTPUT_PATH}/${CMAKE_CFG_INTDIR}/makekdewidgets4 ) + else (WIN32) + set(LIBRARY_OUTPUT_PATH ${CMAKE_BINARY_DIR}/lib ) +- set(KDE4_KCFGC_EXECUTABLE ${EXECUTABLE_OUTPUT_PATH}/${CMAKE_CFG_INTDIR}/kconfig_compiler${CMAKE_EXECUTABLE_SUFFIX}.shell ) ++ set(KDE4_KCFGC_EXECUTABLE ${EXECUTABLE_OUTPUT_PATH}/${CMAKE_CFG_INTDIR}/kconfig_compiler4${CMAKE_EXECUTABLE_SUFFIX}.shell ) + set(KDE4_KAUTH_POLICY_GEN_EXECUTABLE ${EXECUTABLE_OUTPUT_PATH}/${CMAKE_CFG_INTDIR}/kauth-policy-gen${CMAKE_EXECUTABLE_SUFFIX}.shell ) + set(KDE4_MEINPROC_EXECUTABLE ${EXECUTABLE_OUTPUT_PATH}/${CMAKE_CFG_INTDIR}/meinproc4${CMAKE_EXECUTABLE_SUFFIX}.shell ) +- set(KDE4_MAKEKDEWIDGETS_EXECUTABLE ${EXECUTABLE_OUTPUT_PATH}/${CMAKE_CFG_INTDIR}/makekdewidgets${CMAKE_EXECUTABLE_SUFFIX}.shell ) ++ set(KDE4_MAKEKDEWIDGETS_EXECUTABLE ${EXECUTABLE_OUTPUT_PATH}/${CMAKE_CFG_INTDIR}/makekdewidgets4${CMAKE_EXECUTABLE_SUFFIX}.shell ) + endif (WIN32) + + set(KDE4_LIB_DIR ${LIBRARY_OUTPUT_PATH}/${CMAKE_CFG_INTDIR}) + + + # when building kdelibs, make the kcfg rules depend on the binaries... +- set( _KDE4_KCONFIG_COMPILER_DEP kconfig_compiler) ++ set( _KDE4_KCONFIG_COMPILER_DEP kconfig_compiler4) + set( _KDE4_KAUTH_POLICY_GEN_EXECUTABLE_DEP kauth-policy-gen) +- set( _KDE4_MAKEKDEWIDGETS_DEP makekdewidgets) ++ set( _KDE4_MAKEKDEWIDGETS_DEP makekdewidgets4) + set( _KDE4_MEINPROC_EXECUTABLE_DEP meinproc4) + + set(KDE4_INSTALLED_VERSION_OK TRUE) +@@ -582,7 +582,8 @@ else (_kdeBootStrapping) + + # KDE4_LIB_INSTALL_DIR and KDE4_INCLUDE_INSTALL_DIR are set in KDELibsDependencies.cmake, + # use them to set the KDE4_LIB_DIR and KDE4_INCLUDE_DIR "public interface" variables +- set(KDE4_LIB_DIR ${KDE4_LIB_INSTALL_DIR} ) ++ set(KDE4_LIB_DIR ${KDE4_LIB_INSTALL_DIR}/kde4/devel ) ++ link_directories("${KDE4_LIB_DIR}") + set(KDE4_INCLUDE_DIR ${KDE4_INCLUDE_INSTALL_DIR} ) + + +@@ -596,18 +597,18 @@ else (_kdeBootStrapping) + + # get the build CONFIGURATIONS which were exported in this file, and use just the first + # of them to get the location of the installed executables +- get_target_property(_importedConfigurations ${KDE4_TARGET_PREFIX}kconfig_compiler IMPORTED_CONFIGURATIONS ) ++ get_target_property(_importedConfigurations ${KDE4_TARGET_PREFIX}kconfig_compiler4 IMPORTED_CONFIGURATIONS ) + list(GET _importedConfigurations 0 _firstConfig) + + if(NOT WINCE) +- get_target_property(KDE4_KCFGC_EXECUTABLE ${KDE4_TARGET_PREFIX}kconfig_compiler LOCATION_${_firstConfig}) ++ get_target_property(KDE4_KCFGC_EXECUTABLE ${KDE4_TARGET_PREFIX}kconfig_compiler4 LOCATION_${_firstConfig}) + get_target_property(KDE4_MEINPROC_EXECUTABLE ${KDE4_TARGET_PREFIX}meinproc4 LOCATION_${_firstConfig}) + else(NOT WINCE) +- set(KDE4_KCFGC_EXECUTABLE ${HOST_BINDIR}/${CMAKE_CFG_INTDIR}/kconfig_compiler ) ++ set(KDE4_KCFGC_EXECUTABLE ${HOST_BINDIR}/${CMAKE_CFG_INTDIR}/kconfig_compiler4 ) + set(KDE4_MEINPROC_EXECUTABLE ${HOST_BINDIR}/${CMAKE_CFG_INTDIR}/meinproc4 ) + endif(NOT WINCE) + get_target_property(KDE4_KAUTH_POLICY_GEN_EXECUTABLE ${KDE4_TARGET_PREFIX}kauth-policy-gen LOCATION_${_firstConfig}) +- get_target_property(KDE4_MAKEKDEWIDGETS_EXECUTABLE ${KDE4_TARGET_PREFIX}makekdewidgets LOCATION_${_firstConfig}) ++ get_target_property(KDE4_MAKEKDEWIDGETS_EXECUTABLE ${KDE4_TARGET_PREFIX}makekdewidgets4 LOCATION_${_firstConfig}) + + # allow searching cmake modules in all given kde install locations (KDEDIRS based) + execute_process(COMMAND "${KDE4_KDECONFIG_EXECUTABLE}" --path data OUTPUT_VARIABLE _data_DIR ERROR_QUIET OUTPUT_STRIP_TRAILING_WHITESPACE) +@@ -934,7 +935,8 @@ set(CMAKE_SYSTEM_INCLUDE_PATH ${CMAKE_SY + set(CMAKE_SYSTEM_PROGRAM_PATH ${CMAKE_SYSTEM_PROGRAM_PATH} + "${KDE4_BIN_INSTALL_DIR}" ) + +-set(CMAKE_SYSTEM_LIBRARY_PATH ${CMAKE_SYSTEM_LIBRARY_PATH} ++set(CMAKE_SYSTEM_LIBRARY_PATH "${KDE4_LIB_INSTALL_DIR}/kde4/devel" ++ ${CMAKE_SYSTEM_LIBRARY_PATH} + "${KDE4_LIB_INSTALL_DIR}" ) + + # under Windows dlls may be also installed in bin/ +@@ -1363,9 +1365,9 @@ macro (KDE4_PRINT_RESULTS) + endif (NOT _kdeBootStrapping) + + if(KDE4_KCFGC_EXECUTABLE) +- message(STATUS "Found the KDE4 kconfig_compiler preprocessor: ${KDE4_KCFGC_EXECUTABLE}") ++ message(STATUS "Found the KDE4 kconfig_compiler4 preprocessor: ${KDE4_KCFGC_EXECUTABLE}") + else(KDE4_KCFGC_EXECUTABLE) +- message(STATUS "Didn't find the KDE4 kconfig_compiler preprocessor") ++ message(STATUS "Didn't find the KDE4 kconfig_compiler4 preprocessor") + endif(KDE4_KCFGC_EXECUTABLE) + + if(AUTOMOC4_EXECUTABLE) +@@ -1384,7 +1386,7 @@ if (KDE4Internal_FIND_REQUIRED AND NOT K + endif (NOT KDE4_INSTALLED_VERSION_OK) + + if (NOT KDE4_KCFGC_EXECUTABLE) +- message(FATAL_ERROR "ERROR: could not detect a usable kconfig_compiler") ++ message(FATAL_ERROR "ERROR: could not detect a usable kconfig_compiler4") + endif (NOT KDE4_KCFGC_EXECUTABLE) + + message(FATAL_ERROR "ERROR: could NOT find everything required for compiling KDE 4 programs") +diff -up kdelibs-4.9.95/doc/api/doxygen-preprocess-kcfg.sh.parallel_devel kdelibs-4.9.95/doc/api/doxygen-preprocess-kcfg.sh +--- kdelibs-4.9.95/doc/api/doxygen-preprocess-kcfg.sh.parallel_devel 2012-12-17 08:14:16.000000000 -0600 ++++ kdelibs-4.9.95/doc/api/doxygen-preprocess-kcfg.sh 2012-12-19 15:21:37.963466601 -0600 +@@ -2,9 +2,9 @@ + # Generates and cleans KConfigXT source code during a API dox build + # + +-kcfg_compiler="`kde4-config --prefix`/bin/kconfig_compiler" ++kcfg_compiler="`kde4-config --prefix`/bin/kconfig_compiler4" + if test -z "$kcfg_compiler"; then +- echo "kconfig_compiler not found!" ++ echo "kconfig_compiler4 not found!" + exit 1; + fi + +diff -up kdelibs-4.9.95/kdecore/kconfig_compiler/checkkcfg.pl.parallel_devel kdelibs-4.9.95/kdecore/kconfig_compiler/checkkcfg.pl +--- kdelibs-4.9.95/kdecore/kconfig_compiler/checkkcfg.pl.parallel_devel 2012-12-17 08:14:16.000000000 -0600 ++++ kdelibs-4.9.95/kdecore/kconfig_compiler/checkkcfg.pl 2012-12-19 15:21:37.963466601 -0600 +@@ -15,12 +15,12 @@ $file_cpp = "$filebase.cpp"; + + $kcfgc = $file . "c"; + +-$cmd = "./kconfig_compiler $file $kcfgc"; ++$cmd = "./kconfig_compiler4 $file $kcfgc"; + + #print "CMD $cmd\n"; + + if ( system( $cmd ) != 0 ) { +- print STDERR "Unable to run kconfig_compiler\n"; ++ print STDERR "Unable to run kconfig_compiler4\n"; + exit 1; + } + +diff -up kdelibs-4.9.95/kdecore/kconfig_compiler/CMakeLists.txt.parallel_devel kdelibs-4.9.95/kdecore/kconfig_compiler/CMakeLists.txt +--- kdelibs-4.9.95/kdecore/kconfig_compiler/CMakeLists.txt.parallel_devel 2012-12-17 08:14:16.000000000 -0600 ++++ kdelibs-4.9.95/kdecore/kconfig_compiler/CMakeLists.txt 2012-12-19 15:21:37.964466589 -0600 +@@ -11,13 +11,13 @@ + set(kconfig_compiler_SRCS kconfig_compiler.cpp) + + +- kde4_add_executable(kconfig_compiler NOGUI ${kconfig_compiler_SRCS}) ++ kde4_add_executable(kconfig_compiler4 NOGUI ${kconfig_compiler_SRCS}) + +- target_link_libraries(kconfig_compiler ${QT_QTCORE_LIBRARY} ${QT_QTXML_LIBRARY} ) ++ target_link_libraries(kconfig_compiler4 ${QT_QTCORE_LIBRARY} ${QT_QTXML_LIBRARY} ) + + # "export" this target too so we can use the LOCATION property of the imported target in + # FindKDE4Internal.cmake to get the full path to the installed executable instead of using FIND_PROGRAM(), Alex +- install(TARGETS kconfig_compiler EXPORT kdelibsToolsTargets ${INSTALL_TARGETS_DEFAULT_ARGS} ) ++ install(TARGETS kconfig_compiler4 EXPORT kdelibsToolsTargets ${INSTALL_TARGETS_DEFAULT_ARGS} ) + + + # # export this binary for cross-compilation +diff -up kdelibs-4.9.95/kdeui/tests/kconfig_compiler/CMakeLists.txt.parallel_devel kdelibs-4.9.95/kdeui/tests/kconfig_compiler/CMakeLists.txt +--- kdelibs-4.9.95/kdeui/tests/kconfig_compiler/CMakeLists.txt.parallel_devel 2012-12-17 08:14:16.000000000 -0600 ++++ kdelibs-4.9.95/kdeui/tests/kconfig_compiler/CMakeLists.txt 2012-12-19 15:21:37.964466589 -0600 +@@ -9,7 +9,7 @@ macro(GEN_KCFG_TEST_SOURCE _testName _sr + add_custom_command( + OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/${_testName}.cpp ${CMAKE_CURRENT_BINARY_DIR}/${_testName}.h + COMMAND ${KDE4_KCFGC_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/${_testName}.kcfg ${CMAKE_CURRENT_SOURCE_DIR}/${_testName}.kcfgc +- DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/${_testName}.kcfg ${CMAKE_CURRENT_SOURCE_DIR}/${_testName}.kcfgc kconfig_compiler) ++ DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/${_testName}.kcfg ${CMAKE_CURRENT_SOURCE_DIR}/${_testName}.kcfgc kconfig_compiler4) + + # set_source_files_properties(${CMAKE_CURRENT_BINARY_DIR}/${_testName}.h PROPERTIES GENERATED TRUE) + qt4_generate_moc(${CMAKE_CURRENT_BINARY_DIR}/${_testName}.h ${CMAKE_CURRENT_BINARY_DIR}/${_testName}.moc ) +diff -up kdelibs-4.9.95/kdewidgets/CMakeLists.txt.parallel_devel kdelibs-4.9.95/kdewidgets/CMakeLists.txt +--- kdelibs-4.9.95/kdewidgets/CMakeLists.txt.parallel_devel 2012-12-17 08:14:16.000000000 -0600 ++++ kdelibs-4.9.95/kdewidgets/CMakeLists.txt 2012-12-19 15:21:37.964466589 -0600 +@@ -14,24 +14,24 @@ include_directories( + set(makekdewidgets_SRCS makekdewidgets.cpp ) +
View file
kdelibs-4.x-abrt.patch
Added
@@ -0,0 +1,12 @@ +diff -up kdelibs-4.10.0/kdeui/kernel/kapplication.cpp.me kdelibs-4.10.0/kdeui/kernel/kapplication.cpp +--- kdelibs-4.10.0/kdeui/kernel/kapplication.cpp.me 2013-02-28 15:24:41.194954639 +0100 ++++ kdelibs-4.10.0/kdeui/kernel/kapplication.cpp 2013-02-28 15:40:44.546470405 +0100 +@@ -853,7 +853,7 @@ void KApplicationPrivate::parseCommandLi + if (!nocrashhandler && args->isSet("crashhandler")) + { + // enable drkonqi +- KCrash::setDrKonqiEnabled(true); ++ KCrash::setDrKonqiEnabled(false); + } + // Always set the app name, can be usefuls for apps that call setEmergencySaveFunction or enable AutoRestart + KCrash::setApplicationName(args->appName());
View file
kdelibs-solid_qt_no_debug_output.patch
Added
@@ -0,0 +1,42 @@ +diff -up kdelibs-4.9.90/solid/solid/backends/hal/halstorageaccess.cpp.solid_qt_no_debug_output kdelibs-4.9.90/solid/solid/backends/hal/halstorageaccess.cpp +--- kdelibs-4.9.90/solid/solid/backends/hal/halstorageaccess.cpp.solid_qt_no_debug_output 2012-11-14 09:58:29.000000000 -0600 ++++ kdelibs-4.9.90/solid/solid/backends/hal/halstorageaccess.cpp 2012-12-12 16:18:25.817495558 -0600 +@@ -340,9 +340,11 @@ bool StorageAccess::requestPassphrase() + returnService, m_lastReturnObject, + wId, appId); + m_passphraseRequested = reply.isValid(); ++#ifndef QT_NO_DEBUG_STREAM + if (!m_passphraseRequested) { + qWarning() << "Failed to call the SolidUiServer, D-Bus said:" << reply.error(); + } ++#endif + return m_passphraseRequested; + } + +diff -up kdelibs-4.9.90/solid/solid/backends/udisks2/udisksstorageaccess.cpp.solid_qt_no_debug_output kdelibs-4.9.90/solid/solid/backends/udisks2/udisksstorageaccess.cpp +--- kdelibs-4.9.90/solid/solid/backends/udisks2/udisksstorageaccess.cpp.solid_qt_no_debug_output 2012-11-14 09:58:29.000000000 -0600 ++++ kdelibs-4.9.90/solid/solid/backends/udisks2/udisksstorageaccess.cpp 2012-12-12 16:17:36.922022895 -0600 +@@ -341,9 +341,10 @@ bool StorageAccess::requestPassphrase() + QDBusReply<void> reply = soliduiserver.call("showPassphraseDialog", udi, returnService, + m_lastReturnObject, wId, appId); + m_passphraseRequested = reply.isValid(); ++#ifndef QT_NO_DEBUG_STREAM + if (!m_passphraseRequested) + qWarning() << "Failed to call the SolidUiServer, D-Bus said:" << reply.error(); +- ++#endif + return m_passphraseRequested; + } + +diff -up kdelibs-4.9.90/solid/solid/CMakeLists.txt.solid_qt_no_debug_output kdelibs-4.9.90/solid/solid/CMakeLists.txt +--- kdelibs-4.9.90/solid/solid/CMakeLists.txt.solid_qt_no_debug_output 2012-11-14 09:58:29.000000000 -0600 ++++ kdelibs-4.9.90/solid/solid/CMakeLists.txt 2012-12-12 16:17:36.922022895 -0600 +@@ -268,7 +268,7 @@ if(NOT WIN32 AND NOT APPLE) + + if ( WITH_SOLID_UDISKS2 ) + message(STATUS "Building Solid UDisks2 backend." ) +- add_definitions(-DWITH_SOLID_UDISKS2) ++ add_definitions(-DWITH_SOLID_UDISKS2 -DQT_NO_DEBUG_OUTPUT) + set(solid_LIB_SRCS ${solid_LIB_SRCS} + backends/udisks2/udisksmanager.cpp + backends/udisks2/udisksdevice.cpp
View file
return-application-icons-properly.patch
Added
@@ -0,0 +1,55 @@ +From 613c951a1157df0d8a907a155a5eaa706816d5f9 Mon Sep 17 00:00:00 2001 +From: Aaron Seigo <aseigo@kde.org> +Date: Thu, 21 Feb 2013 17:58:11 +0100 +Subject: return application icons properly + +BUG:315578 +--- + kdeui/icons/kiconloader.cpp | 31 ++++++++++++++++++++++++++++++- + 1 file changed, 30 insertions(+), 1 deletion(-) + +diff --git a/kdeui/icons/kiconloader.cpp b/kdeui/icons/kiconloader.cpp +index f65e941..6fed667 100644 +--- a/kdeui/icons/kiconloader.cpp ++++ b/kdeui/icons/kiconloader.cpp +@@ -909,7 +909,36 @@ K3Icon KIconLoaderPrivate::findMatchingIcon(const QString& name, int size) const + const char * const ext[4] = { ".png", ".svgz", ".svg", ".xpm" }; + bool genericFallback = name.endsWith(QLatin1String("-x-generic")); + +- foreach(KIconThemeNode *themeNode, links) ++ // Do two passes through themeNodes. ++ // ++ // The first pass looks for an exact match in each themeNode one after the other. ++ // If one is found and it is an app icon then return that icon. ++ // ++ // In the next pass (assuming the first pass failed), it looks for exact matches ++ // and then generic fallbacks in each themeNode one after the other ++ // ++ // The reasoning is that application icons should always match exactly, all other ++ // icons may fallback. Since we do not know what the context is here when we start ++ // looking for it, we can only go by the path found. ++ foreach (KIconThemeNode *themeNode, links) { ++ for (int i = 0 ; i < 4 ; i++) { ++ icon = themeNode->theme->iconPath(name + ext[i], size, KIconLoader::MatchExact); ++ if (icon.isValid()) { ++ break; ++ } ++ ++ icon = themeNode->theme->iconPath(name + ext[i], size, KIconLoader::MatchBest); ++ if (icon.isValid()) { ++ break; ++ } ++ } ++ ++ if (icon.isValid() && icon.path.contains("/apps/")) { ++ return icon; ++ } ++ } ++ ++ foreach (KIconThemeNode *themeNode, links) + { + QString currentName = name; + +-- +1.8.1.4 +
View file
return-not-break.-copy-paste-error.patch
Added
@@ -0,0 +1,31 @@ +From 0edfd42151ad57322a10a24ab4971b638e220e6e Mon Sep 17 00:00:00 2001 +From: Aaron Seigo <aseigo@kde.org> +Date: Thu, 21 Feb 2013 18:14:54 +0100 +Subject: [PATCH 049/111] return, not break. copy/paste error + +--- + kdeui/icons/kiconloader.cpp | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/kdeui/icons/kiconloader.cpp b/kdeui/icons/kiconloader.cpp +index dba474d..ce6aeea 100644 +--- a/kdeui/icons/kiconloader.cpp ++++ b/kdeui/icons/kiconloader.cpp +@@ -947,12 +947,12 @@ K3Icon KIconLoaderPrivate::findMatchingIcon(const QString& name, int size) const + for (int i = 0 ; i < 4 ; i++) { + icon = themeNode->theme->iconPath(currentName + ext[i], size, KIconLoader::MatchExact); + if (icon.isValid()) { +- break; ++ return icon; + } + + icon = themeNode->theme->iconPath(currentName + ext[i], size, KIconLoader::MatchBest); + if (icon.isValid()) { +- break; ++ return icon; + } + } + //kDebug(264) << "Looking up" << currentName; +-- +1.8.1.4 +
View file
turn-the-packagekit-support-feature-off-by-default.patch
Added
@@ -0,0 +1,35 @@ +From e87117d7074b112f46a7c9ebc66422c581c64fc1 Mon Sep 17 00:00:00 2001 +From: Aaron Seigo <aseigo@kde.org> +Date: Wed, 5 Jun 2013 15:26:47 +0200 +Subject: [PATCH] turn the packagekit support feature off by default + +it only works on fedora, there is no way to tell the dialog to not show +again. these are fixable, but they aren't fixed yet and may not be for +a while and i'd rather not annoy people for the lifetime of 4.11 +--- + plasma/CMakeLists.txt | 5 +---- + 1 file changed, 1 insertion(+), 4 deletions(-) + +diff --git a/plasma/CMakeLists.txt b/plasma/CMakeLists.txt +index 674550d..eeda974 100644 +--- a/plasma/CMakeLists.txt ++++ b/plasma/CMakeLists.txt +@@ -6,14 +6,11 @@ if(KDE_PLATFORM_FEATURE_BINARY_COMPATIBLE_FEATURE_REDUCTION) + set(PLASMA_NO_KNEWSTUFF TRUE) + set(PLASMA_NO_SOLID TRUE) + set(PLASMA_NO_KIO TRUE) +- set(PLASMA_NO_PACKAGEKIT TRUE) + set(PLASMA_NO_KUTILS TRUE) + set(PLASMA_NO_GLOBAL_SHORTCUTS TRUE) + endif(KDE_PLATFORM_FEATURE_BINARY_COMPATIBLE_FEATURE_REDUCTION) + +-if(NOT Q_WS_X11) +- set(PLASMA_NO_PACKAGEKIT TRUE) +-endif(NOT Q_WS_X11) ++set(PLASMA_NO_PACKAGEKIT TRUE) + + include_directories(${CMAKE_CURRENT_SOURCE_DIR} + ${KDE4_KDECORE_INCLUDES} +-- +1.8.3.1 +
View file
Makefile
Added
@@ -0,0 +1,21 @@ +# Makefile for source rpm: kdelibs +# $Id$ +NAME := kdelibs +SPECFILE = $(firstword $(wildcard *.spec)) + +define find-makefile-common +for d in common ../common ../../common ; do if [ -f $$d/Makefile.common ] ; then if [ -f $$d/CVS/Root -a -w $$d/Makefile.common ] ; then cd $$d ; cvs -Q update ; fi ; echo "$$d/Makefile.common" ; break ; fi ; done +endef + +MAKEFILE_COMMON := $(shell $(find-makefile-common)) + +ifeq ($(MAKEFILE_COMMON),) +# attempt a checkout +define checkout-makefile-common +test -f CVS/Root && { cvs -Q -d $$(cat CVS/Root) checkout common && echo "common/Makefile.common" ; } || { echo "ERROR: I can't figure out how to checkout the 'common' module." ; exit -1 ; } >&2 +endef + +MAKEFILE_COMMON := $(shell $(checkout-makefile-common)) +endif + +include $(MAKEFILE_COMMON)
View file
SOLID_HAL_LEGACY.sh
Added
@@ -0,0 +1,6 @@ + +if [ -z "${SOLID_HAL_LEGACY}" ] ; then + SOLID_HAL_LEGACY=1 + export SOLID_HAL_LEGACY +fi +
View file
sources
Added
@@ -0,0 +1,1 @@ +f246fc5485b085b36843e954b5b56922 kdelibs-4.14.0.tar.xz
Locations
Projects
Search
Status Monitor
Help
Open Build Service
OBS Manuals
API Documentation
OBS Portal
Reporting a Bug
Contact
Mailing List
Forums
Chat (IRC)
Twitter
Open Build Service (OBS)
is an
openSUSE project
.