summaryrefslogtreecommitdiffstats
path: root/source/kde/patch
diff options
context:
space:
mode:
author Patrick J Volkerding <volkerdi@slackware.com>2013-11-04 17:08:47 +0000
committer Eric Hameleers <alien@slackware.com>2018-05-31 22:57:36 +0200
commit76fc4757ac91ac7947a01fb7b53dddf9a78a01d1 (patch)
tree9b98e6e193c7870cb27ac861394c1c4592850922 /source/kde/patch
parent9664bee729d487bcc0a0bc35859f8e13d5421c75 (diff)
downloadcurrent-76fc4757ac91ac7947a01fb7b53dddf9a78a01d1.tar.gz
current-76fc4757ac91ac7947a01fb7b53dddf9a78a01d1.tar.xz
Slackware 14.1slackware-14.1
Mon Nov 4 17:08:47 UTC 2013 Slackware 14.1 x86_64 stable is released! It's been another interesting release cycle here at Slackware bringing new features like support for UEFI machines, updated compilers and development tools, the switch from MySQL to MariaDB, and many more improvements throughout the system. Thanks to the team, the upstream developers, the dedicated Slackware community, and everyone else who pitched in to help make this release a reality. The ISOs are off to be replicated, a 6 CD-ROM 32-bit set and a dual-sided 32-bit/64-bit x86/x86_64 DVD. Please consider supporting the Slackware project by picking up a copy from store.slackware.com. We're taking pre-orders now, and offer a discount if you sign up for a subscription. Have fun! :-)
Diffstat (limited to '')
-rw-r--r--source/kde/patch/amarok.patch3
-rw-r--r--source/kde/patch/amarok/amarok-liblastfm1.patch704
-rw-r--r--source/kde/patch/calligra.patch3
-rw-r--r--source/kde/patch/calligra/calligra.words.fix_overflow.diff16
-rw-r--r--source/kde/patch/kde-workspace.patch3
-rw-r--r--source/kde/patch/kde-workspace/kde-workspace.batteryapplet.diff27
-rw-r--r--source/kde/patch/kde-workspace/kde-workspace.shadow.changeset_r7777194da6154375fc8103b8c4e29e385cd7ae2e.diff92
-rw-r--r--source/kde/patch/kdelibs.patch8
-rw-r--r--source/kde/patch/kdelibs/coding-style-fixes.patch62
-rw-r--r--source/kde/patch/kdelibs/return-application-icons-properly.patch56
-rw-r--r--source/kde/patch/kdelibs/return-not-break.-copy-paste-error.patch31
-rw-r--r--source/kde/patch/kdepim.patch3
-rw-r--r--source/kde/patch/kdepim/kdepim-4.5.85-install-headers.patch124
-rw-r--r--source/kde/patch/korundum.patch4
-rw-r--r--source/kde/patch/korundum/korundum_ruby19.patch31
15 files changed, 263 insertions, 904 deletions
diff --git a/source/kde/patch/amarok.patch b/source/kde/patch/amarok.patch
deleted file mode 100644
index 35d438318..000000000
--- a/source/kde/patch/amarok.patch
+++ /dev/null
@@ -1,3 +0,0 @@
-# Build against liblastfm 1.0.1.
-cat $CWD/patch/amarok/amarok-liblastfm1.patch | patch -p1 --verbose || { touch ${SLACK_KDE_BUILD_DIR}/${PKGNAME}.failed ; continue ; }
-
diff --git a/source/kde/patch/amarok/amarok-liblastfm1.patch b/source/kde/patch/amarok/amarok-liblastfm1.patch
deleted file mode 100644
index 434993121..000000000
--- a/source/kde/patch/amarok/amarok-liblastfm1.patch
+++ /dev/null
@@ -1,704 +0,0 @@
-diff -U 3 -H -d -r -N -- amarok-2.5.96.orig/CMakeLists.txt amarok-2.5.96/CMakeLists.txt
---- amarok-2.5.96.orig/CMakeLists.txt 2012-07-31 12:17:20.000000000 +0200
-+++ amarok-2.5.96/CMakeLists.txt 2012-08-02 16:34:08.465503197 +0200
-@@ -129,7 +129,7 @@
- # macro_log_feature( STRIGI_FOUND "strigi" "Index metadata of files" "http://strigi.sourceforge.net" FALSE "" "" )
-
- macro_optional_find_package(LibLastFm)
-- macro_log_feature( LIBLASTFM_FOUND "liblastfm" "Enable Last.Fm service, including scrobbling, song submissions, and suggested song dynamic playlists" "http://cdn.last.fm/src/liblastfm-0.3.0.tar.bz2" FALSE "" "version 0.3.x (versions 1.0 or higher are incompatible)" )
-+ macro_log_feature( LIBLASTFM_FOUND "liblastfm" "Enable Last.Fm service, including scrobbling, song submissions, and suggested song dynamic playlists" "http://cdn.last.fm/src/liblastfm-1.0.0.tar.gz" FALSE "1.0.0" "" )
- macro_bool_to_01( LIBLASTFM_FOUND HAVE_LIBLASTFM )
-
- macro_optional_find_package( FFmpeg )
-diff -U 3 -H -d -r -N -- amarok-2.5.96.orig/cmake/modules/FindLibLastFm.cmake amarok-2.5.96/cmake/modules/FindLibLastFm.cmake
---- amarok-2.5.96.orig/cmake/modules/FindLibLastFm.cmake 2012-07-31 12:10:56.000000000 +0200
-+++ amarok-2.5.96/cmake/modules/FindLibLastFm.cmake 2012-08-02 16:32:36.418653940 +0200
-@@ -6,7 +6,7 @@
- # LIBLASTFM_FOUND, whether liblastfm was found
-
-
--find_path(LIBLASTFM_INCLUDE_DIR NAMES Audioscrobbler
-+find_path(LIBLASTFM_INCLUDE_DIR NAMES lastfm
- HINTS
- ~/usr/include
- /opt/local/include
-diff -U 3 -H -d -r -N -- amarok-2.5.96.orig/src/LastfmReadLabelCapability.cpp amarok-2.5.96/src/LastfmReadLabelCapability.cpp
---- amarok-2.5.96.orig/src/LastfmReadLabelCapability.cpp 2012-07-31 12:10:56.000000000 +0200
-+++ amarok-2.5.96/src/LastfmReadLabelCapability.cpp 2012-08-02 16:32:36.419653927 +0200
-@@ -22,8 +22,7 @@
- #include <QMap>
- #include <QNetworkReply>
-
--#include <lastfm/XmlQuery>
--#include <ws.h>
-+#include <lastfm/XmlQuery.h>
- #include "core/support/Amarok.h"
-
- namespace Capabilities
-@@ -72,7 +71,8 @@
- {
- case QNetworkReply::NoError:
- {
-- lastfm::XmlQuery lfm = m_job->readAll();
-+ lastfm::XmlQuery lfm;
-+ lfm.parse(m_job->readAll());
- QList<lastfm::XmlQuery> tags = lfm.children( "tag" );
- QStringList ret;
- foreach( const lastfm::XmlQuery &child, tags )
-diff -U 3 -H -d -r -N -- amarok-2.5.96.orig/src/context/engines/upcomingevents/UpcomingEventsEngine.cpp amarok-2.5.96/src/context/engines/upcomingevents/UpcomingEventsEngine.cpp
---- amarok-2.5.96.orig/src/context/engines/upcomingevents/UpcomingEventsEngine.cpp 2012-07-31 12:10:56.000000000 +0200
-+++ amarok-2.5.96/src/context/engines/upcomingevents/UpcomingEventsEngine.cpp 2012-08-02 16:32:35.962659642 +0200
-@@ -27,10 +27,6 @@
- #include "EngineController.h"
- #include "LastFmEventXmlParser.h"
-
--// LastFm
--#include <lastfm/XmlQuery>
--#include <lastfm/ws.h>
--
- // KDE
- #include <KDateTime>
-
-diff -U 3 -H -d -r -N -- amarok-2.5.96.orig/src/core/support/Amarok.h amarok-2.5.96/src/core/support/Amarok.h
---- amarok-2.5.96.orig/src/core/support/Amarok.h 2012-07-31 12:10:56.000000000 +0200
-+++ amarok-2.5.96/src/core/support/Amarok.h 2012-08-02 16:32:35.962659642 +0200
-@@ -203,6 +203,7 @@
-
- inline const char* discogsApiKey() { return "91734dd989"; }
- inline const char* lastfmApiKey() { return "402d3ca8e9bc9d3cf9b85e1202944ca5"; }
-+ inline const char* lastfmApiSharedSecret() { return "fe0dcde9fcd14c2d1d50665b646335e9"; }
- inline const char* yahooBossApiKey() { return "oQepTNrV34G9Satb1dgRZ8hdl1uhJvguDSU5Knl2Xd4ALK85knYt6ylr.FTA57XMRBA-"; }
- inline const char* flickrApiKey() { return "9c5a288116c34c17ecee37877397fe31"; }
- }
-diff -U 3 -H -d -r -N -- amarok-2.5.96.orig/src/services/ampache/LastfmInfoParser.cpp amarok-2.5.96/src/services/ampache/LastfmInfoParser.cpp
---- amarok-2.5.96.orig/src/services/ampache/LastfmInfoParser.cpp 2012-07-31 12:10:56.000000000 +0200
-+++ amarok-2.5.96/src/services/ampache/LastfmInfoParser.cpp 2012-08-02 16:32:35.954659742 +0200
-@@ -20,8 +20,7 @@
- #include "core/support/Amarok.h"
- #include "core/support/Debug.h"
-
--#include <lastfm/XmlQuery>
--#include <lastfm/ws.h>
-+#include <lastfm/XmlQuery.h>
-
- #include <KLocale>
-
-@@ -55,7 +54,8 @@
- {
- case QNetworkReply::NoError:
- {
-- lastfm::XmlQuery lfm = m_jobs[ "getTrackInfo" ]->readAll();
-+ lastfm::XmlQuery lfm;
-+ lfm.parse( m_jobs[ "getTrackInfo" ]->readAll() );
- lastfm::XmlQuery wiki = lfm["track"]["wiki"];
- const QString contentText = wiki["content"].text();
- const QString publishedDate = wiki["published"].text();
-@@ -103,7 +103,8 @@
- {
- case QNetworkReply::NoError:
- {
-- lastfm::XmlQuery lfm = m_jobs[ "getAlbumInfo" ]->readAll();
-+ lastfm::XmlQuery lfm;
-+ lfm.parse( m_jobs[ "getAlbumInfo" ]->readAll() );
- lastfm::XmlQuery wiki = lfm["album"]["wiki"];
- const QString summaryText = wiki["summary"].text();
- const QString contentText = wiki["content"].text();
-@@ -155,7 +156,8 @@
- {
- case QNetworkReply::NoError:
- {
-- lastfm::XmlQuery lfm = m_jobs[ "getArtistInfo" ]->readAll();
-+ lastfm::XmlQuery lfm;
-+ lfm.parse( m_jobs[ "getArtistInfo" ]->readAll() );
- debug() << lfm.text();
- lastfm::XmlQuery bio = lfm["artist"]["bio"];
- const QString summaryText = bio["summary"].text();
-diff -U 3 -H -d -r -N -- amarok-2.5.96.orig/src/services/lastfm/LastFmService.cpp amarok-2.5.96/src/services/lastfm/LastFmService.cpp
---- amarok-2.5.96.orig/src/services/lastfm/LastFmService.cpp 2012-07-31 12:10:56.000000000 +0200
-+++ amarok-2.5.96/src/services/lastfm/LastFmService.cpp 2012-08-02 16:32:35.955659729 +0200
-@@ -46,8 +46,8 @@
- #include "widgets/SearchWidget.h"
- #include "NetworkAccessManagerProxy.h"
-
--#include <lastfm/Audioscrobbler> // from liblastfm
--#include <lastfm/XmlQuery>
-+#include <lastfm/Audioscrobbler.h> // from liblastfm
-+#include <lastfm/XmlQuery.h>
-
- #include <KLocale>
- #include <KPasswordDialog>
-@@ -224,10 +224,7 @@
- {
- // set the global static Lastfm::Ws stuff
- lastfm::ws::ApiKey = Amarok::lastfmApiKey();
-- lastfm::ws::SharedSecret = "fe0dcde9fcd14c2d1d50665b646335e9";
-- // testing w/ official keys
-- //Ws::SharedSecret = "73582dfc9e556d307aead069af110ab8";
-- //Ws::ApiKey = "c8c7b163b11f92ef2d33ba6cd3c2c3c3";
-+ lastfm::ws::SharedSecret = Amarok::lastfmApiSharedSecret();
- m_userNameArray = qstrdup( m_userName.toLatin1().data() );
- lastfm::ws::Username = m_userNameArray;
- if( lastfm::nam() != The::networkAccessManager() )
-@@ -309,7 +306,8 @@
- case QNetworkReply::NoError:
- {
-
-- lastfm::XmlQuery lfm = lastfm::XmlQuery( m_jobs[ "auth" ]->readAll() );
-+ lastfm::XmlQuery lfm;
-+ lfm.parse( m_jobs[ "auth" ]->readAll() );
- LastFmServiceConfig config;
-
- if( lfm.children( "error" ).size() > 0 )
-@@ -359,10 +357,8 @@
- {
- case QNetworkReply::NoError:
- {
-- try
-- {
-- lastfm::XmlQuery lfm( m_jobs[ "getUserInfo" ]->readAll() );
--
-+ lastfm::XmlQuery lfm;
-+ if( lfm.parse( m_jobs[ "getUserInfo" ]->readAll() ) ) {
- m_country = lfm["user"]["country"].text();
- m_age = lfm["user"]["age"].text();
- m_gender = lfm["user"]["gender"].text();
-@@ -381,9 +377,10 @@
- }
- updateProfileInfo();
-
-- } catch( lastfm::ws::ParseError& e )
-+ }
-+ else
- {
-- debug() << "Got exception in parsing from last.fm:" << e.what();
-+ debug() << "Got exception in parsing from last.fm:" << lfm.parseError().message();
- }
- break;
- } case QNetworkReply::AuthenticationRequiredError:
-diff -U 3 -H -d -r -N -- amarok-2.5.96.orig/src/services/lastfm/LastFmServiceCollection.cpp amarok-2.5.96/src/services/lastfm/LastFmServiceCollection.cpp
---- amarok-2.5.96.orig/src/services/lastfm/LastFmServiceCollection.cpp 2012-07-31 12:10:56.000000000 +0200
-+++ amarok-2.5.96/src/services/lastfm/LastFmServiceCollection.cpp 2012-08-02 16:32:35.956659716 +0200
-@@ -26,7 +26,7 @@
- #include "core-impl/collections/support/MemoryQueryMaker.h"
-
- #include <lastfm/ws.h>
--#include <lastfm/XmlQuery>
-+#include <lastfm/XmlQuery.h>
-
- #include <QNetworkReply>
-
-@@ -154,10 +154,9 @@
- case QNetworkReply::NoError:
- {
- // iterate through each neighbour
-- try
-+ lastfm::XmlQuery lfm;
-+ if( lfm.parse( m_jobs[ "user.getNeighbours" ]->readAll() ) )
- {
-- lastfm::XmlQuery lfm( m_jobs[ "user.getNeighbours" ]->readAll() );
--
- foreach( const lastfm::XmlQuery &e, lfm[ "neighbours" ].children( "user" ) )
- {
- const QString name = e[ "name" ].text();
-@@ -168,9 +167,10 @@
- addTrack( trackPtr );
- }
-
-- } catch( lastfm::ws::ParseError& e )
-+ }
-+ else
- {
-- debug() << "Got exception in parsing from last.fm:" << e.what();
-+ debug() << "Got exception in parsing from last.fm:" << lfm.parseError().message();
- }
- break;
- }
-@@ -195,15 +195,14 @@
- case QNetworkReply::NoError:
- {
- // iterate through each neighbour
-- try
-+ if( !m_jobs[ "user.getNeighbours" ] )
-+ {
-+ debug() << "BAD! got no result object";
-+ return;
-+ }
-+ lastfm::XmlQuery lfm;
-+ if( lfm.parse( m_jobs[ "user.getNeighbours" ]->readAll() ) )
- {
-- if( !m_jobs[ "user.getNeighbours" ] )
-- {
-- debug() << "BAD! got no result object";
-- return;
-- }
-- lastfm::XmlQuery lfm( m_jobs[ "user.getNeighbours" ]->readAll() );
--
- // iterate through each neighbour
- foreach( const lastfm::XmlQuery &e, lfm[ "neighbours" ].children( "user" ) )
- {
-@@ -218,9 +217,10 @@
-
- // should be safe, as both slots SHOULD get called before we return to the event loop...
- m_jobs[ "user.getNeighbours" ]->deleteLater();
-- } catch( lastfm::ws::ParseError& e )
-+ }
-+ else
- {
-- debug() << "Got exception in parsing from last.fm:" << e.what();
-+ debug() << "Got exception in parsing from last.fm:" << lfm.parseError().message();
- }
- break;
- }
-@@ -248,10 +248,9 @@
- {
- case QNetworkReply::NoError:
- {
-- try
-+ lastfm::XmlQuery lfm;
-+ if( lfm.parse( m_jobs[ "user.getFriends" ]->readAll() ) )
- {
-- lastfm::XmlQuery lfm( m_jobs[ "user.getFriends" ]->readAll() );
--
- foreach( const lastfm::XmlQuery &e, lfm[ "friends" ].children( "user" ) )
- {
- const QString name = e[ "name" ].text();
-@@ -261,9 +260,10 @@
- addTrack( trackPtr );
- }
-
-- } catch( lastfm::ws::ParseError& e )
-+ }
-+ else
- {
-- debug() << "Got exception in parsing from last.fm:" << e.what();
-+ debug() << "Got exception in parsing from last.fm:" << lfm.parseError().message();
- }
- break;
- }
-@@ -293,10 +293,9 @@
- {
- case QNetworkReply::NoError:
- {
-- try
-+ lastfm::XmlQuery lfm;
-+ if( lfm.parse( m_jobs[ "user.getFriends" ]->readAll() ) )
- {
-- lastfm::XmlQuery lfm( m_jobs[ "user.getFriends" ]->readAll() );
--
- foreach( const lastfm::XmlQuery &e, lfm[ "friends" ].children( "user" ) )
- {
- const QString name = e[ "name" ].text();
-@@ -306,9 +305,10 @@
- addTrack( trackPtr );
- }
-
-- } catch( lastfm::ws::ParseError& e )
-+ }
-+ else
- {
-- debug() << "Got exception in parsing from last.fm:" << e.what();
-+ debug() << "Got exception in parsing from last.fm:" << lfm.parseError().message();
- }
- break;
- }
-diff -U 3 -H -d -r -N -- amarok-2.5.96.orig/src/services/lastfm/LastFmServiceSettings.cpp amarok-2.5.96/src/services/lastfm/LastFmServiceSettings.cpp
---- amarok-2.5.96.orig/src/services/lastfm/LastFmServiceSettings.cpp 2012-07-31 12:10:56.000000000 +0200
-+++ amarok-2.5.96/src/services/lastfm/LastFmServiceSettings.cpp 2012-08-02 16:32:35.957659703 +0200
-@@ -23,9 +23,9 @@
- #include "NetworkAccessManagerProxy.h"
- #include "ui_LastFmConfigWidget.h"
-
--#include <lastfm/Audioscrobbler> // from liblastfm
-+#include <lastfm/Audioscrobbler.h> // from liblastfm
- #include <lastfm/ws.h>
--#include <lastfm/XmlQuery>
-+#include <lastfm/XmlQuery.h>
-
- #include <QCryptographicHash>
- #include <QNetworkAccessManager>
-@@ -100,7 +100,7 @@
- m_configDialog->testLogin->setText( i18n( "Testing..." ) );
- // set the global static Lastfm::Ws stuff
- lastfm::ws::ApiKey = Amarok::lastfmApiKey();
-- lastfm::ws::SharedSecret = "fe0dcde9fcd14c2d1d50665b646335e9";
-+ lastfm::ws::SharedSecret = Amarok::lastfmApiSharedSecret();
- lastfm::ws::Username = qstrdup( m_configDialog->kcfg_ScrobblerUsername->text().toLatin1().data() );
- if( lastfm::nam() != The::networkAccessManager() )
- lastfm::setNetworkAccessManager( The::networkAccessManager() );
-@@ -126,7 +126,8 @@
- {
- DEBUG_BLOCK
-
-- lastfm::XmlQuery lfm = lastfm::XmlQuery( m_authQuery->readAll() );
-+ lastfm::XmlQuery lfm;
-+ lfm.parse( m_authQuery->readAll() );
-
- switch( m_authQuery->error() )
- {
-diff -U 3 -H -d -r -N -- amarok-2.5.96.orig/src/services/lastfm/LastFmTreeModel.cpp amarok-2.5.96/src/services/lastfm/LastFmTreeModel.cpp
---- amarok-2.5.96.orig/src/services/lastfm/LastFmTreeModel.cpp 2012-07-31 12:10:56.000000000 +0200
-+++ amarok-2.5.96/src/services/lastfm/LastFmTreeModel.cpp 2012-08-02 16:32:35.958659691 +0200
-@@ -26,8 +26,8 @@
- #include "AmarokMimeData.h"
-
- #include <lastfm/ws.h>
--#include <lastfm/Tag>
--#include <lastfm/XmlQuery>
-+#include <lastfm/Tag.h>
-+#include <lastfm/XmlQuery.h>
-
- #include <KIcon>
- #include <KLocale>
-@@ -68,11 +68,12 @@
- {
- DEBUG_BLOCK
-
-- try
-- {
- // Iterate over each neighbor, in two passes: 1) Get data 2) Sort data, store in model
-
-- lastfm::XmlQuery lfm( m_jobs[ "getNeighbours" ]->readAll() );
-+ lastfm::XmlQuery lfm;
-+ lfm.parse( m_jobs[ "getNeighbours" ]->readAll() );
-+ if( lfm.parseError().enumValue() == lastfm::ws::NoError )
-+ {
- foreach( const lastfm::XmlQuery &e, lfm[ "neighbours" ].children ( "user" ) )
- {
- const QString name = e[ "name" ].text();
-@@ -88,11 +89,11 @@
- appendUserStations( neighbor, name );
- }
- m_neighbors.sort();
-+ } else {
-+ debug() << "Got exception in parsing from last.fm:" << lfm.parseError().message();
-+ return;
- }
-- catch( lastfm::ws::ParseError e )
-- {
-- debug() << "Got exception in parsing from last.fm:" << e.what();
-- }
-+
- emitRowChanged(LastFm::Neighbors);
- m_jobs[ "getNeighbours" ]->deleteLater();
- }
-@@ -102,11 +103,11 @@
- {
- DEBUG_BLOCK
-
-- try
-- {
-- // Iterate over each friend, in two passes: 1) Get data 2) Sort data, store in model
-+ // Iterate over each friend, in two passes: 1) Get data 2) Sort data, store in model
-
-- lastfm::XmlQuery lfm( m_jobs[ "getFriends" ]->readAll() );
-+ lastfm::XmlQuery lfm;
-+ if( lfm.parse( m_jobs[ "getFriends" ]->readAll() ) )
-+ {
- foreach( const lastfm::XmlQuery &e, lfm[ "friends" ].children ( "user" ) )
- {
- const QString name = e[ "name" ].text();
-@@ -123,11 +124,11 @@
- appendUserStations( afriend, name );
- }
- m_friends.sort();
-+ } else {
-+ debug() << "Got exception in parsing from last.fm:" << lfm.parseError().message();
-+ return;
- }
-- catch( lastfm::ws::ParseError e )
-- {
-- debug() << "Got exception in parsing from last.fm:" << e.what();
-- }
-+
- emitRowChanged(LastFm::Friends);
- m_jobs[ "getFriends" ]->deleteLater();
- }
-@@ -137,10 +138,9 @@
- {
- DEBUG_BLOCK
- WeightedStringList list;
-- try
-+ lastfm::XmlQuery lfm;
-+ if( lfm.parse( m_jobs[ "getTopArtists" ]->readAll() ) )
- {
-- lastfm::XmlQuery lfm( m_jobs[ "getTopArtists" ]->readAll() );
--
- foreach( const lastfm::XmlQuery &e, lfm[ "topartists" ].children ( "artist" ) )
- {
- const QString name = e[ "name" ].text();
-@@ -158,9 +158,10 @@
- m_myTopArtists->appendChild ( artist );
- }
-
-- } catch( lastfm::ws::ParseError e )
-+ }
-+ else
- {
-- debug() << "Got exception in parsing from last.fm:" << e.what();
-+ debug() << "Got exception in parsing from last.fm:" << lfm.parseError().message();
- }
- emitRowChanged(LastFm::TopArtists);
- m_jobs[ "getTopArtists" ]->deleteLater();
-diff -U 3 -H -d -r -N -- amarok-2.5.96.orig/src/services/lastfm/LastFmTreeModel.h amarok-2.5.96/src/services/lastfm/LastFmTreeModel.h
---- amarok-2.5.96.orig/src/services/lastfm/LastFmTreeModel.h 2012-07-31 12:10:56.000000000 +0200
-+++ amarok-2.5.96/src/services/lastfm/LastFmTreeModel.h 2012-08-02 16:32:35.957659703 +0200
-@@ -22,7 +22,7 @@
- #include "core/meta/Meta.h"
- #include "WeightedStringList.h"
-
--#include <lastfm/User>
-+#include <lastfm/User.h>
-
- #include <QAbstractItemModel>
- #include <QHash>
-@@ -136,7 +136,7 @@
- LastFmTreeItem *m_myTopArtists;
-
- QString m_userName;
-- lastfm::AuthenticatedUser m_user;
-+ lastfm::User m_user;
-
- QStringList m_friends;
- QStringList m_neighbors;
-diff -U 3 -H -d -r -N -- amarok-2.5.96.orig/src/services/lastfm/ScrobblerAdapter.h amarok-2.5.96/src/services/lastfm/ScrobblerAdapter.h
---- amarok-2.5.96.orig/src/services/lastfm/ScrobblerAdapter.h 2012-07-31 12:10:56.000000000 +0200
-+++ amarok-2.5.96/src/services/lastfm/ScrobblerAdapter.h 2012-08-02 16:32:35.958659691 +0200
-@@ -20,8 +20,8 @@
-
- #include "core/meta/Meta.h"
-
--#include <lastfm/Audioscrobbler>
--#include <lastfm/Track>
-+#include <lastfm/Audioscrobbler.h>
-+#include <lastfm/Track.h>
-
- #include <QVariant>
-
-diff -U 3 -H -d -r -N -- amarok-2.5.96.orig/src/services/lastfm/biases/LastFmBias.cpp amarok-2.5.96/src/services/lastfm/biases/LastFmBias.cpp
---- amarok-2.5.96.orig/src/services/lastfm/biases/LastFmBias.cpp 2012-07-31 12:10:56.000000000 +0200
-+++ amarok-2.5.96/src/services/lastfm/biases/LastFmBias.cpp 2012-08-02 16:32:35.958659691 +0200
-@@ -34,9 +34,8 @@
- #include "core/collections/QueryMaker.h"
- #include "core-impl/collections/support/CollectionManager.h"
-
--#include "lastfm/Artist"
--#include "lastfm/ws.h"
--#include "lastfm/XmlQuery"
-+#include <lastfm/Artist.h>
-+#include <lastfm/ws.h>
-
- #include <QLabel>
- #include <QComboBox>
-diff -U 3 -H -d -r -N -- amarok-2.5.96.orig/src/services/lastfm/biases/WeeklyTopBias.cpp amarok-2.5.96/src/services/lastfm/biases/WeeklyTopBias.cpp
---- amarok-2.5.96.orig/src/services/lastfm/biases/WeeklyTopBias.cpp 2012-07-31 12:10:56.000000000 +0200
-+++ amarok-2.5.96/src/services/lastfm/biases/WeeklyTopBias.cpp 2012-08-02 16:32:35.960659667 +0200
-@@ -34,9 +34,9 @@
- #include "core/collections/QueryMaker.h"
- #include "core-impl/collections/support/CollectionManager.h"
-
--#include "lastfm/Artist"
--#include "lastfm/ws.h"
--#include "lastfm/XmlQuery"
-+#include <lastfm/Artist.h>
-+#include <lastfm/ws.h>
-+#include <lastfm/XmlQuery.h>
-
- #include <QNetworkReply>
-
-@@ -371,10 +371,9 @@
- }
-
-
-- try
-+ lastfm::XmlQuery lfm;
-+ if( lfm.parse( reply->readAll() ) )
- {
-- lastfm::XmlQuery lfm( reply->readAll() );
--
- // debug() << "got response:" << lfm;
- QStringList artists;
- for( int i = 0; i < lfm[ "weeklyartistchart" ].children( "artist" ).size(); i++ )
-@@ -398,10 +397,10 @@
- warning() << "Got a reply for a week"<<week<<"that was not requested.";
- return;
- }
--
-- } catch( lastfm::ws::ParseError& e )
-+ }
-+ else
- {
-- debug() << "caught exception parsing weekly artist chart.";
-+ debug() << "failed to parse weekly artist chart.";
- }
-
- reply->deleteLater();
-diff -U 3 -H -d -r -N -- amarok-2.5.96.orig/src/services/lastfm/meta/LastFmMeta.cpp amarok-2.5.96/src/services/lastfm/meta/LastFmMeta.cpp
---- amarok-2.5.96.orig/src/services/lastfm/meta/LastFmMeta.cpp 2012-07-31 12:10:56.000000000 +0200
-+++ amarok-2.5.96/src/services/lastfm/meta/LastFmMeta.cpp 2012-08-02 16:32:35.961659655 +0200
-@@ -41,7 +41,7 @@
- #include <QWeakPointer>
- #include <QUrl>
-
--#include <lastfm/Track>
-+#include <lastfm/Track.h>
-
- namespace LastFm {
-
-@@ -451,8 +451,7 @@
- DEBUG_BLOCK
-
- debug() << "info:" << d->lastFmTrack.artist() << d->lastFmTrack.title();
-- d->wsReply = lastfm::MutableTrack( d->lastFmTrack ).love();
-- connect( d->wsReply, SIGNAL( finished() ), this, SLOT( slotWsReply() ) );
-+ lastfm::MutableTrack( d->lastFmTrack ).love();
- }
-
- void
-@@ -477,9 +476,9 @@
- {
- if( d->trackFetch->error() == QNetworkReply::NoError )
- {
-- try
-+ lastfm::XmlQuery lfm;
-+ if( lfm.parse( d->trackFetch->readAll() ) )
- {
-- lastfm::XmlQuery lfm( d->trackFetch->readAll() );
- QString id = lfm[ "track" ][ "id" ].text();
- QString streamable = lfm[ "track" ][ "streamable" ].text();
- if( streamable.toInt() == 1 )
-@@ -487,9 +486,10 @@
- else
- init();
-
-- } catch( lastfm::ws::ParseError& e )
-+ }
-+ else
- {
-- debug() << "Got exception in parsing from last.fm:" << e.what();
-+ debug() << "Got exception in parsing from last.fm:" << lfm.parseError().message();
- }
- } else
- {
-diff -U 3 -H -d -r -N -- amarok-2.5.96.orig/src/services/lastfm/meta/LastFmMeta.h amarok-2.5.96/src/services/lastfm/meta/LastFmMeta.h
---- amarok-2.5.96.orig/src/services/lastfm/meta/LastFmMeta.h 2012-07-31 12:10:56.000000000 +0200
-+++ amarok-2.5.96/src/services/lastfm/meta/LastFmMeta.h 2012-08-02 16:32:35.960659667 +0200
-@@ -24,7 +24,7 @@
- #include "ServiceMetaBase.h" // for the SourceInfoProvider
-
-
--#include <lastfm/Track>
-+#include <lastfm/Track.h>
-
-
- #include <QObject>
-diff -U 3 -H -d -r -N -- amarok-2.5.96.orig/src/services/lastfm/meta/LastFmMeta_p.h amarok-2.5.96/src/services/lastfm/meta/LastFmMeta_p.h
---- amarok-2.5.96.orig/src/services/lastfm/meta/LastFmMeta_p.h 2012-07-31 12:10:56.000000000 +0200
-+++ amarok-2.5.96/src/services/lastfm/meta/LastFmMeta_p.h 2012-08-02 16:32:35.961659655 +0200
-@@ -26,10 +26,10 @@
- #include "core/statistics/StatisticsProvider.h"
- #include "core-impl/statistics/providers/tag/TagStatisticsProvider.h"
-
--#include <lastfm/Track>
-+#include <lastfm/Track.h>
- #include <lastfm/ws.h>
--#include <lastfm/RadioTuner>
--#include <lastfm/XmlQuery>
-+#include <lastfm/RadioTuner.h>
-+#include <lastfm/XmlQuery.h>
-
- #include <kio/job.h>
- #include <kio/jobclasses.h>
-@@ -144,26 +144,24 @@
- return;
- if( m_userFetch->error() == QNetworkReply::NoError )
- {
-- try
-+ lastfm::XmlQuery lfm;
-+ if( !lfm.parse( m_userFetch->readAll() ) )
- {
-- lastfm::XmlQuery lfm( m_userFetch->readAll() );
-- albumUrl = lfm[ "track" ][ "album" ][ "url" ].text();
-- trackUrl = lfm[ "track" ][ "url" ].text();
-- artistUrl = lfm[ "track" ][ "artist" ][ "url" ].text();
--
-- notifyObservers();
-+ debug() << "Got exception in parsing from last.fm:" << lfm.parseError().message();
-+ return;
-+ }
-+ albumUrl = lfm[ "track" ][ "album" ][ "url" ].text();
-+ trackUrl = lfm[ "track" ][ "url" ].text();
-+ artistUrl = lfm[ "track" ][ "artist" ][ "url" ].text();
-
-- imageUrl = lfm[ "track" ][ "album" ][ "image size=large" ].text();
-+ notifyObservers();
-
-- if( !imageUrl.isEmpty() )
-- {
-- KIO::Job* job = KIO::storedGet( KUrl( imageUrl ), KIO::Reload, KIO::HideProgressInfo );
-- connect( job, SIGNAL( result( KJob* ) ), this, SLOT( fetchImageFinished( KJob* ) ) );
-- }
-+ imageUrl = lfm[ "track" ][ "album" ][ "image size=large" ].text();
-
-- } catch( lastfm::ws::ParseError& e )
-+ if( !imageUrl.isEmpty() )
- {
-- debug() << "Got exception in parsing from last.fm:" << e.what();
-+ KIO::Job* job = KIO::storedGet( KUrl( imageUrl ), KIO::Reload, KIO::HideProgressInfo );
-+ connect( job, SIGNAL( result( KJob* ) ), this, SLOT( fetchImageFinished( KJob* ) ) );
- }
- }
-
-diff -U 3 -H -d -r -N -- amarok-2.5.96.orig/src/services/lastfm/meta/MultiPlayableCapabilityImpl_p.h amarok-2.5.96/src/services/lastfm/meta/MultiPlayableCapabilityImpl_p.h
---- amarok-2.5.96.orig/src/services/lastfm/meta/MultiPlayableCapabilityImpl_p.h 2012-07-31 12:10:56.000000000 +0200
-+++ amarok-2.5.96/src/services/lastfm/meta/MultiPlayableCapabilityImpl_p.h 2012-08-02 16:32:35.962659642 +0200
-@@ -25,8 +25,9 @@
- #include "core/meta/Meta.h"
- #include "core/capabilities/MultiPlayableCapability.h"
-
--#include <lastfm/Track>
--#include <lastfm/RadioTuner>
-+#include <lastfm/Track.h>
-+#include <lastfm/RadioStation.h>
-+#include <lastfm/RadioTuner.h>
- #include <lastfm/ws.h>
-
- #include <KLocale>
-@@ -55,24 +56,23 @@
- {
- DEBUG_BLOCK
- m_tuner = new lastfm::RadioTuner( lastfm::RadioStation( m_track->uidUrl() ) );
--
-+
- connect( m_tuner, SIGNAL( trackAvailable() ), this, SLOT( slotNewTrackAvailable() ) );
-- connect( m_tuner, SIGNAL( error( lastfm::ws::Error ) ), this, SLOT( error( lastfm::ws::Error ) ) );
-+ connect( m_tuner, SIGNAL( error(lastfm::ws::Error,QString) ), this, SLOT( error( lastfm::ws::Error ) ) );
- }
--
-+
- virtual void fetchNext()
- {
- DEBUG_BLOCK
- m_currentTrack = m_tuner->takeNextTrack();
- m_track->setTrackInfo( m_currentTrack );
--
- }
--
-+
- using Observer::metadataChanged;
- virtual void metadataChanged( Meta::TrackPtr track )
- {
- const LastFm::TrackPtr ltrack = LastFm::TrackPtr::dynamicCast( track );
--
-+
- if( ltrack.isNull() )
- return;
-
-@@ -94,7 +94,7 @@
- m_track->setTrackInfo( m_currentTrack );
- }
- }
--
-+
- virtual void skip()
- {
- fetchNext();
diff --git a/source/kde/patch/calligra.patch b/source/kde/patch/calligra.patch
deleted file mode 100644
index aac4ebf95..000000000
--- a/source/kde/patch/calligra.patch
+++ /dev/null
@@ -1,3 +0,0 @@
-# Patch an overflow vulnerability in calligra:
-zcat $CWD/patch/calligra/calligra.words.fix_overflow.diff.gz | patch -p1 --verbose || { touch ${SLACK_KDE_BUILD_DIR}/${PKGNAME}.failed ; continue ; }
-
diff --git a/source/kde/patch/calligra/calligra.words.fix_overflow.diff b/source/kde/patch/calligra/calligra.words.fix_overflow.diff
deleted file mode 100644
index 1a68b3f9d..000000000
--- a/source/kde/patch/calligra/calligra.words.fix_overflow.diff
+++ /dev/null
@@ -1,16 +0,0 @@
-diff --git a/filters/words/msword-odf/wv2/src/styles.cpp b/filters/words/msword-odf/wv2/src/styles.cpp
-index 02a82a0..78ac31d 100644
---- a/filters/words/msword-odf/wv2/src/styles.cpp
-+++ b/filters/words/msword-odf/wv2/src/styles.cpp
-@@ -248,6 +248,11 @@ throw(InvalidFormatException)
- #ifdef WV2_DEBUG_STYLESHEET
- wvlog << "cbUPX: " << cbUPX << endl;
- #endif
-+ // do not overflow the allocated buffer grupx
-+ if (offset + cbUPX > grupxLen) {
-+ wvlog << "====> Error: grupx would overflow!" << endl;
-+ return false;
-+ }
- for ( U16 j = 0; j < cbUPX; ++j ) {
- grupx[ offset + j ] = stream->readU8(); // read the whole UPX
- #ifdef WV2_DEBUG_STYLESHEET
diff --git a/source/kde/patch/kde-workspace.patch b/source/kde/patch/kde-workspace.patch
index 27eab8742..6cc98a91e 100644
--- a/source/kde/patch/kde-workspace.patch
+++ b/source/kde/patch/kde-workspace.patch
@@ -3,3 +3,6 @@ zcat $CWD/patch/kde-workspace/kde-workspace.kdm.server.timeout.diff.gz | patch -
# Always show 'remaining time' in the popup of the battery plasmoid:
zcat $CWD/patch/kde-workspace/kde-workspace.batteryapplet.diff.gz | patch -p1 --verbose || { touch ${SLACK_KDE_BUILD_DIR}/${PKGNAME}.failed ; continue ; }
+
+# Fix issues with recent glibc crypt() returning NULL:
+zcat $CWD/patch/kde-workspace/kde-workspace.shadow.changeset_r7777194da6154375fc8103b8c4e29e385cd7ae2e.diff.gz | patch -p1 --verbose || { touch ${SLACK_KDE_BUILD_DIR}/${PKGNAME}.failed ; continue ; }
diff --git a/source/kde/patch/kde-workspace/kde-workspace.batteryapplet.diff b/source/kde/patch/kde-workspace/kde-workspace.batteryapplet.diff
index ef899e83f..795827805 100644
--- a/source/kde/patch/kde-workspace/kde-workspace.batteryapplet.diff
+++ b/source/kde/patch/kde-workspace/kde-workspace.batteryapplet.diff
@@ -1,16 +1,13 @@
-diff -ur kdebase-workspace-4.5.80/plasma/generic/applets/battery/battery.cpp kdebase-workspace-4.5.80-battery-plasmoid-showremainingtime/plasma/generic/applets/battery/battery.cpp
---- kdebase-workspace-4.5.80/plasma/generic/applets/battery/battery.cpp 2010-11-19 11:51:21.000000000 +0100
-+++ kdebase-workspace-4.5.80-battery-plasmoid-showremainingtime/plasma/generic/applets/battery/battery.cpp 2010-11-20 20:39:11.000000000 +0100
-@@ -712,7 +712,11 @@
- m_acInfoLabel->setText(i18n("<b>Not plugged in</b>"));
- }
+diff -ur kde-workspace-4.8.80/plasma/generic/applets/batterymonitor/contents/config/main.xml kde-workspace-4.8.80-battery-plasmoid-showremainingtime/plasma/generic/applets/batterymonitor/contents/config/main.xml
+--- kde-workspace-4.8.80/plasma/generic/applets/batterymonitor/contents/config/main.xml 2012-05-23 01:55:18.000000000 +0200
++++ kde-workspace-4.8.80-battery-plasmoid-showremainingtime/plasma/generic/applets/batterymonitor/contents/config/main.xml 2012-05-26 22:09:44.000000000 +0200
+@@ -10,7 +10,7 @@
+ <default>false</default>
+ </entry>
+ <entry name="showRemainingTime" type="Bool">
+- <default>false</default>
++ <default>true</default>
+ </entry>
+ </group>
-- if (batteryCount && showRemainingTime && m_remainingMSecs > 0) {
-+ // Always show the remaining time in the popup.
-+ // We don't just set m_showRemainingTime to true by default because
-+ // that'd try to use the time also for the icon. That won't fit on
-+ // small panels.
-+ if (batteryCount && m_remainingMSecs > 0) {
- m_remainingTimeLabel->show();
- m_remainingInfoLabel->show();
- // we don't have too much accuracy so only give hours and minutes
+
diff --git a/source/kde/patch/kde-workspace/kde-workspace.shadow.changeset_r7777194da6154375fc8103b8c4e29e385cd7ae2e.diff b/source/kde/patch/kde-workspace/kde-workspace.shadow.changeset_r7777194da6154375fc8103b8c4e29e385cd7ae2e.diff
new file mode 100644
index 000000000..dbb4614c2
--- /dev/null
+++ b/source/kde/patch/kde-workspace/kde-workspace.shadow.changeset_r7777194da6154375fc8103b8c4e29e385cd7ae2e.diff
@@ -0,0 +1,92 @@
+commit 7777194da6154375fc8103b8c4e29e385cd7ae2e
+Author: Michael Pyne <mpyne@kde.org>
+Date: Sat Jun 29 16:13:20 2013 -0400
+
+ kdm, kcheckpass: Check for NULL return from crypt(3) and friends.
+
+ Potential issue noted and fixed by Mancha <mancha1@hush.com>.
+
+ Patch reviewed by myself and ossi. Review request was closed out by the
+ backport commit.
+
+diff --git a/kcheckpass/checkpass_etcpasswd.c b/kcheckpass/checkpass_etcpasswd.c
+index 1dbe06f..e261b7c 100644
+--- a/kcheckpass/checkpass_etcpasswd.c
++++ b/kcheckpass/checkpass_etcpasswd.c
+@@ -35,6 +35,7 @@ AuthReturn Authenticate(const char *method,
+ {
+ struct passwd *pw;
+ char *passwd;
++ char *crpt_passwd;
+
+ if (strcmp(method, "classic"))
+ return AuthError;
+@@ -49,7 +50,7 @@ AuthReturn Authenticate(const char *method,
+ if (!(passwd = conv(ConvGetHidden, 0)))
+ return AuthAbort;
+
+- if (!strcmp(pw->pw_passwd, crypt(passwd, pw->pw_passwd))) {
++ if ((crpt_passwd = crypt(passwd, pw->pw_passwd)) && !strcmp(pw->pw_passwd, crpt_passwd)) {
+ dispose(passwd);
+ return AuthOk; /* Success */
+ }
+diff --git a/kcheckpass/checkpass_osfc2passwd.c b/kcheckpass/checkpass_osfc2passwd.c
+index 9a074f9..d181233 100644
+--- a/kcheckpass/checkpass_osfc2passwd.c
++++ b/kcheckpass/checkpass_osfc2passwd.c
+@@ -38,6 +38,7 @@ AuthReturn Authenticate(const char *method,
+ const char *login, char *(*conv) (ConvRequest, const char *))
+ {
+ char *passwd;
++ char *crpt_passwd;
+ char c2passwd[256];
+
+ if (strcmp(method, "classic"))
+@@ -52,7 +53,7 @@ AuthReturn Authenticate(const char *method,
+ if (!(passwd = conv(ConvGetHidden, 0)))
+ return AuthAbort;
+
+- if (!strcmp(c2passwd, osf1c2crypt(passwd, c2passwd))) {
++ if ((crpt_passwd = osf1c2crypt(passwd, c2passwd)) && !strcmp(c2passwd, crpt_passwd)) {
+ dispose(passwd);
+ return AuthOk; /* Success */
+ }
+diff --git a/kcheckpass/checkpass_shadow.c b/kcheckpass/checkpass_shadow.c
+index ec3a4e0..c0f6913 100644
+--- a/kcheckpass/checkpass_shadow.c
++++ b/kcheckpass/checkpass_shadow.c
+@@ -69,7 +69,7 @@ AuthReturn Authenticate(const char *method,
+ crpt_passwd = crypt(typed_in_password, password);
+ #endif
+
+- if (!strcmp(password, crpt_passwd )) {
++ if (crpt_passwd && !strcmp(password, crpt_passwd )) {
+ dispose(typed_in_password);
+ return AuthOk; /* Success */
+ }
+diff --git a/kdm/backend/client.c b/kdm/backend/client.c
+index bdff6da..26bb0b4 100644
+--- a/kdm/backend/client.c
++++ b/kdm/backend/client.c
+@@ -540,6 +540,9 @@ verify(GConvFunc gconv, int rootok)
+ # if defined(HAVE_STRUCT_PASSWD_PW_EXPIRE) || defined(USESHADOW)
+ int tim, expir, warntime, quietlog;
+ # endif
++# if !defined(ultrix) && !defined(__ultrix__) && (defined(HAVE_PW_ENCRYPT) || defined(HAVE_CRYPT))
++ char *crpt_passwd;
++# endif
+ #endif
+
+ debug("verify ...\n");
+@@ -752,9 +755,9 @@ verify(GConvFunc gconv, int rootok)
+ # if defined(ultrix) || defined(__ultrix__)
+ if (authenticate_user(p, curpass, 0) < 0)
+ # elif defined(HAVE_PW_ENCRYPT)
+- if (strcmp(pw_encrypt(curpass, p->pw_passwd), p->pw_passwd))
++ if (!(crpt_passwd = pw_encrypt(curpass, p->pw_passwd)) || strcmp(crpt_passwd, p->pw_passwd))
+ # elif defined(HAVE_CRYPT)
+- if (strcmp(crypt(curpass, p->pw_passwd), p->pw_passwd))
++ if (!(crpt_passwd = crypt(curpass, p->pw_passwd)) || strcmp(crpt_passwd, p->pw_passwd))
+ # else
+ if (strcmp(curpass, p->pw_passwd))
+ # endif
diff --git a/source/kde/patch/kdelibs.patch b/source/kde/patch/kdelibs.patch
index d66622e08..c314b559c 100644
--- a/source/kde/patch/kdelibs.patch
+++ b/source/kde/patch/kdelibs.patch
@@ -4,5 +4,11 @@ zcat $CWD/patch/kdelibs/kdelibs.docbook.patch.gz | patch -p1 --verbose || { touc
# Make uPnP support depend on the environment variable SOLID_UPNP,
# e.g. by creating an /etc/profile.d/upnp.sh file with the following contents:
# export SOLID_UPNP=1
-cat $CWD/patch/kdelibs/kdelibs.upnp_conditional.patch | patch -p1 --verbose || { touch ${SLACK_KDE_BUILD_DIR}/${PKGNAME}.failed ; continue ; }
+zcat $CWD/patch/kdelibs/kdelibs.upnp_conditional.patch.gz | patch -p1 --verbose || { touch ${SLACK_KDE_BUILD_DIR}/${PKGNAME}.failed ; continue ; }
+
+# Revert 3 patches which (although they probably follow the FDo spec better),
+# cause incorrect icon overrides:
+zcat $CWD/patch/kdelibs/return-not-break.-copy-paste-error.patch.gz | patch -R -p1 --verbose || { touch ${SLACK_KDE_BUILD_DIR}/${PKGNAME}.failed ; continue ; }
+zcat $CWD/patch/kdelibs/coding-style-fixes.patch.gz | patch -R -p1 --verbose || { touch ${SLACK_KDE_BUILD_DIR}/${PKGNAME}.failed ; continue ; }
+zcat $CWD/patch/kdelibs/return-application-icons-properly.patch.gz | patch -R -p1 --verbose || { touch ${SLACK_KDE_BUILD_DIR}/${PKGNAME}.failed ; continue ; }
diff --git a/source/kde/patch/kdelibs/coding-style-fixes.patch b/source/kde/patch/kdelibs/coding-style-fixes.patch
new file mode 100644
index 000000000..11108f0a4
--- /dev/null
+++ b/source/kde/patch/kdelibs/coding-style-fixes.patch
@@ -0,0 +1,62 @@
+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
+
+
diff --git a/source/kde/patch/kdelibs/return-application-icons-properly.patch b/source/kde/patch/kdelibs/return-application-icons-properly.patch
new file mode 100644
index 000000000..2bdb53adf
--- /dev/null
+++ b/source/kde/patch/kdelibs/return-application-icons-properly.patch
@@ -0,0 +1,56 @@
+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
+
+
diff --git a/source/kde/patch/kdelibs/return-not-break.-copy-paste-error.patch b/source/kde/patch/kdelibs/return-not-break.-copy-paste-error.patch
new file mode 100644
index 000000000..b62818ed6
--- /dev/null
+++ b/source/kde/patch/kdelibs/return-not-break.-copy-paste-error.patch
@@ -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
+
diff --git a/source/kde/patch/kdepim.patch b/source/kde/patch/kdepim.patch
deleted file mode 100644
index 7618dc8a8..000000000
--- a/source/kde/patch/kdepim.patch
+++ /dev/null
@@ -1,3 +0,0 @@
-# Install the kleopatra headers, or else kopete-cryptography will not build:
-cat $CWD/patch/kdepim/kdepim-4.5.85-install-headers.patch | patch -p1 --verbose || { touch ${SLACK_KDE_BUILD_DIR}/${PKGNAME}.failed ; continue ; }
-
diff --git a/source/kde/patch/kdepim/kdepim-4.5.85-install-headers.patch b/source/kde/patch/kdepim/kdepim-4.5.85-install-headers.patch
deleted file mode 100644
index aa43059af..000000000
--- a/source/kde/patch/kdepim/kdepim-4.5.85-install-headers.patch
+++ /dev/null
@@ -1,124 +0,0 @@
-diff -ur kdepim-4.5.85/kleopatra/libkleopatraclient/CMakeLists.txt kdepim-4.5.85-install-headers/kleopatra/libkleopatraclient/CMakeLists.txt
---- kdepim-4.5.85/kleopatra/libkleopatraclient/CMakeLists.txt 2010-01-27 01:22:34.000000000 +0100
-+++ kdepim-4.5.85-install-headers/kleopatra/libkleopatraclient/CMakeLists.txt 2010-12-08 14:40:45.000000000 +0100
-@@ -6,3 +6,7 @@
-
- add_subdirectory( tests )
-
-+install(
-+ FILES kleopatraclient_export.h
-+ DESTINATION ${INCLUDE_INSTALL_DIR}/libkleopatraclient
-+ )
-diff -ur kdepim-4.5.85/kleopatra/libkleopatraclient/core/CMakeLists.txt kdepim-4.5.85-install-headers/kleopatra/libkleopatraclient/core/CMakeLists.txt
---- kdepim-4.5.85/kleopatra/libkleopatraclient/core/CMakeLists.txt 2010-11-19 11:51:51.000000000 +0100
-+++ kdepim-4.5.85-install-headers/kleopatra/libkleopatraclient/core/CMakeLists.txt 2010-12-08 14:42:12.000000000 +0100
-@@ -55,4 +55,12 @@
- DESTINATION ${LIB_INSTALL_DIR}
- )
-
--
-+install(
-+ FILES
-+ initialization.h
-+ command.h
-+ selectcertificatecommand.h
-+ signencryptfilescommand.h
-+ decryptverifyfilescommand.h
-+ DESTINATION ${INCLUDE_INSTALL_DIR}/libkleopatraclient/core
-+ )
-diff -ur kdepim-4.5.85/kleopatra/libkleopatraclient/gui/CMakeLists.txt kdepim-4.5.85-install-headers/kleopatra/libkleopatraclient/gui/CMakeLists.txt
---- kdepim-4.5.85/kleopatra/libkleopatraclient/gui/CMakeLists.txt 2010-07-29 11:58:45.000000000 +0200
-+++ kdepim-4.5.85-install-headers/kleopatra/libkleopatraclient/gui/CMakeLists.txt 2010-12-08 14:42:41.000000000 +0100
-@@ -20,3 +20,8 @@
- DESTINATION ${LIB_INSTALL_DIR}
- )
-
-+install(
-+ FILES
-+ certificaterequester.h
-+ DESTINATION ${INCLUDE_INSTALL_DIR}/libkleopatraclient/gui
-+ )
-diff -ur kdepim-4.5.85/libkleo/CMakeLists.txt kdepim-4.5.85-install-headers/libkleo/CMakeLists.txt
---- kdepim-4.5.85/libkleo/CMakeLists.txt 2010-12-01 23:23:12.000000000 +0100
-+++ kdepim-4.5.85-install-headers/libkleo/CMakeLists.txt 2010-12-08 15:22:00.000000000 +0100
-@@ -112,6 +112,64 @@
- set_target_properties(kleo PROPERTIES VERSION ${GENERIC_LIB_VERSION} SOVERSION ${GENERIC_LIB_SOVERSION} )
- install(TARGETS kleo ${INSTALL_TARGETS_DEFAULT_ARGS})
-
-+install( FILES
-+ kleo/kleo_export.h
-+ kleo/enum.h
-+ kleo/oidmap.h
-+ kleo/cryptobackend.h
-+ kleo/cryptobackendfactory.h
-+ kleo/cryptoconfig.h
-+ kleo/dn.h
-+ kleo/job.h
-+ kleo/keylistjob.h
-+ kleo/keygenerationjob.h
-+ kleo/abstractimportjob.h
-+ kleo/importjob.h
-+ kleo/importfromkeyserverjob.h
-+ kleo/exportjob.h
-+ kleo/changeexpiryjob.h
-+ kleo/changeownertrustjob.h
-+ kleo/downloadjob.h
-+ kleo/deletejob.h
-+ kleo/encryptjob.h
-+ kleo/decryptjob.h
-+ kleo/signjob.h
-+ kleo/specialjob.h
-+ kleo/verifydetachedjob.h
-+ kleo/verifyopaquejob.h
-+ kleo/decryptverifyjob.h
-+ kleo/signencryptjob.h
-+ kleo/signkeyjob.h
-+ kleo/adduseridjob.h
-+ kleo/refreshkeysjob.h
-+ kleo/multideletejob.h
-+ kleo/hierarchicalkeylistjob.h
-+ kleo/keyfilter.h
-+ kleo/keyfiltermanager.h
-+ kleo/changepasswdjob.h
-+ kleo/checksumdefinition.h
-+ kleo/exception.h
-+ kleo/kconfigbasedkeyfilter.h
-+ kleo/listallkeysjob.h
-+ kleo/stl_util.h
-+ DESTINATION ${INCLUDE_INSTALL_DIR}/kleo COMPONENT Devel)
-+
-+install ( FILES
-+ ui/kdhorizontalline.h
-+ ui/messagebox.h
-+ ui/progressbar.h
-+ ui/progressdialog.h
-+ ui/keylistview.h
-+ ui/keyselectiondialog.h
-+ ui/keyrequester.h
-+ ui/keyapprovaldialog.h
-+ ui/dnattributeorderconfigwidget.h
-+ ui/cryptoconfigmodule.h
-+ ui/cryptoconfigdialog.h
-+ ui/directoryserviceswidget.h
-+ ui/filenamerequester.h
-+ DESTINATION ${INCLUDE_INSTALL_DIR}/kleo/ui COMPONENT Devel)
-+
- if ( WIN32 )
- install ( FILES libkleopatrarc-win32.desktop DESTINATION ${CONFIG_INSTALL_DIR} RENAME libkleopatrarc )
- else ( WIN32 )
-diff -ur kdepim-4.5.85/libkpgp/CMakeLists.txt kdepim-4.5.85-install-headers/libkpgp/CMakeLists.txt
---- kdepim-4.5.85/libkpgp/CMakeLists.txt 2010-07-29 11:59:00.000000000 +0200
-+++ kdepim-4.5.85-install-headers/libkpgp/CMakeLists.txt 2010-12-08 14:43:33.000000000 +0100
-@@ -35,3 +35,11 @@
- install(FILES kpgp.upd DESTINATION ${KCONF_UPDATE_INSTALL_DIR})
- install(PROGRAMS kpgp-3.1-upgrade-address-data.pl DESTINATION ${KCONF_UPDATE_INSTALL_DIR})
-
-+install(FILES
-+ kpgp.h
-+ kpgpbase.h
-+ kpgpblock.h
-+ kpgpkey.h
-+ kpgpui.h
-+ libkpgp_export.h
-+ DESTINATION ${INCLUDE_INSTALL_DIR}/kpgp COMPONENT Devel )
-
diff --git a/source/kde/patch/korundum.patch b/source/kde/patch/korundum.patch
deleted file mode 100644
index 7a8b7cfaa..000000000
--- a/source/kde/patch/korundum.patch
+++ /dev/null
@@ -1,4 +0,0 @@
-# Build against Ruby 1.9.3.
-# See also https://bugs.kde.org/show_bug.cgi?id=287057
-cat $CWD/patch/korundum/korundum_ruby19.patch | patch -p1 --verbose || { touch ${SLACK_KDE_BUILD_DIR}/${PKGNAME}.failed ; continue ; }
-
diff --git a/source/kde/patch/korundum/korundum_ruby19.patch b/source/kde/patch/korundum/korundum_ruby19.patch
deleted file mode 100644
index 561d8de13..000000000
--- a/source/kde/patch/korundum/korundum_ruby19.patch
+++ /dev/null
@@ -1,31 +0,0 @@
-diff -up korundum-4.8.0/src/krubypluginfactory.cpp.ruby19 korundum-4.8.0/src/krubypluginfactory.cpp
---- korundum-4.8.0/src/krubypluginfactory.cpp.ruby19 2011-07-27 13:37:29.000000000 -0500
-+++ korundum-4.8.0/src/krubypluginfactory.cpp 2012-02-17 08:30:38.785635819 -0600
-@@ -39,7 +39,7 @@
- extern "C" {
- extern VALUE rb_load_path;
- extern VALUE qt_internal_module;
--void Init_prelude(void);
-+// void Init_prelude(void);
- }
-
- //
-@@ -165,7 +165,7 @@ QObject *KRubyPluginFactory::create(cons
- #if RUBY_VERSION >= 0x10900
- VALUE gem = rb_define_module("Gem");
- rb_const_set(gem, rb_intern("Enable"), Qtrue);
-- Init_prelude();
-+// Init_prelude();
- #endif
-
- ruby_incpush(QFile::encodeName(program.path()));
-@@ -342,7 +342,7 @@ int kdemain(int argc, char **argv)
- #if RUBY_VERSION >= 0x10900
- VALUE gem = rb_define_module("Gem");
- rb_const_set(gem, rb_intern("Enable"), Qtrue);
-- Init_prelude();
-+// Init_prelude();
- #endif
-
- ruby_incpush(QFile::encodeName(program.path()));
-