summaryrefslogtreecommitdiffstats
path: root/source/kde/patch
diff options
context:
space:
mode:
author Patrick J Volkerding <volkerdi@slackware.com>2016-06-30 20:26:57 +0000
committer Eric Hameleers <alien@slackware.com>2018-05-31 23:31:18 +0200
commitd31c50870d0bee042ce660e445c9294a59a3a65b (patch)
tree6bfc0de3c95267b401b620c2c67859557dc60f97 /source/kde/patch
parent76fc4757ac91ac7947a01fb7b53dddf9a78a01d1 (diff)
downloadcurrent-d31c50870d0bee042ce660e445c9294a59a3a65b.tar.gz
current-d31c50870d0bee042ce660e445c9294a59a3a65b.tar.xz
Slackware 14.2slackware-14.2
Thu Jun 30 20:26:57 UTC 2016 Slackware 14.2 x86_64 stable is released! The long development cycle (the Linux community has lately been living in "interesting times", as they say) is finally behind us, and we're proud to announce the release of Slackware 14.2. The new release brings many updates and modern tools, has switched from udev to eudev (no systemd), and adds well over a hundred new packages to 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 'source/kde/patch')
-rw-r--r--source/kde/patch/kde-runtime.patch2
-rw-r--r--source/kde/patch/kde-runtime/kde-runtime-4.14.3.nm.diff10
-rw-r--r--source/kde/patch/kde-workspace.patch4
-rw-r--r--source/kde/patch/kde-workspace/kde-workspace.panel-layout.diff23
-rw-r--r--source/kde/patch/kde-workspace/kde-workspace.shadow.changeset_r7777194da6154375fc8103b8c4e29e385cd7ae2e.diff92
-rw-r--r--source/kde/patch/kdeconnect-kde.patch2
-rw-r--r--source/kde/patch/kdeconnect-kde/kdeconnect-kde.openssh7.diff21
-rw-r--r--source/kde/patch/kdepim.patch4
-rw-r--r--source/kde/patch/kdepim/kdepim-install_kleopatra_headers.patch122
-rw-r--r--source/kde/patch/kdevelop-pg-qt.patch2
-rw-r--r--source/kde/patch/kdevelop-pg-qt/0011-fix-some-warnings.patch53
-rw-r--r--source/kde/patch/krdc.patch3
-rw-r--r--source/kde/patch/krdc/krdc_freerdp-1.1.0.patch184
-rw-r--r--source/kde/patch/kscreen.patch3
-rw-r--r--source/kde/patch/kscreen/kscreen.broken.test.diff8
-rw-r--r--source/kde/patch/ktouch.patch2
-rw-r--r--source/kde/patch/ktouch/ktouch.performance.diff31
-rw-r--r--source/kde/patch/libkscreen.patch3
-rw-r--r--source/kde/patch/libkscreen/libkscreen.broken.test.diff10
-rw-r--r--source/kde/patch/plasma-nm.patch2
-rw-r--r--source/kde/patch/plasma-nm/plasma-nm.nm.diff10
-rw-r--r--source/kde/patch/strigi-multimedia.patch3
-rw-r--r--source/kde/patch/strigi-multimedia/strigi-multimedia_port.patch29
23 files changed, 529 insertions, 94 deletions
diff --git a/source/kde/patch/kde-runtime.patch b/source/kde/patch/kde-runtime.patch
new file mode 100644
index 000000000..ec5000ce7
--- /dev/null
+++ b/source/kde/patch/kde-runtime.patch
@@ -0,0 +1,2 @@
+zcat $CWD/patch/kde-runtime/kde-runtime-4.14.3.nm.diff.gz | patch -p1 --verbose || { touch ${SLACK_KDE_BUILD_DIR}/${PKGNAME}.failed ; continue ; }
+
diff --git a/source/kde/patch/kde-runtime/kde-runtime-4.14.3.nm.diff b/source/kde/patch/kde-runtime/kde-runtime-4.14.3.nm.diff
new file mode 100644
index 000000000..8bcdb8db9
--- /dev/null
+++ b/source/kde/patch/kde-runtime/kde-runtime-4.14.3.nm.diff
@@ -0,0 +1,10 @@
+--- ./solid-networkstatus/kded/CMakeLists.txt.orig 2014-10-30 18:50:20.000000000 -0500
++++ ./solid-networkstatus/kded/CMakeLists.txt 2015-10-24 00:10:47.043649546 -0500
+@@ -21,6 +21,7 @@
+ MESSAGE(STATUS "Adding in-process NetworkManager service-wart to kded module")
+ set(kded_networkstatus_PART_SRCS ${kded_networkstatus_PART_SRCS} networkmanagerstatus.cpp)
+ include_directories(${NETWORKMANAGER_INCLUDE_DIRS})
++ include_directories(${NM-UTIL_INCLUDE_DIRS})
+ add_definitions(-DNM_BACKEND_ENABLED)
+ endif(NM_0_7)
+ endif(NETWORKMANAGER_FOUND)
diff --git a/source/kde/patch/kde-workspace.patch b/source/kde/patch/kde-workspace.patch
index 6cc98a91e..5c52a3dc1 100644
--- a/source/kde/patch/kde-workspace.patch
+++ b/source/kde/patch/kde-workspace.patch
@@ -4,5 +4,5 @@ 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 ; }
+# Fix issues with default panel. Offer launchers for Dolphin, Konqueror, Firefox, and Konsole.
+zcat $CWD/patch/kde-workspace/kde-workspace.panel-layout.diff.gz | patch -p1 --verbose || { touch ${SLACK_KDE_BUILD_DIR}/${PKGNAME}.failed ; continue ; }
diff --git a/source/kde/patch/kde-workspace/kde-workspace.panel-layout.diff b/source/kde/patch/kde-workspace/kde-workspace.panel-layout.diff
new file mode 100644
index 000000000..9efa7d5e9
--- /dev/null
+++ b/source/kde/patch/kde-workspace/kde-workspace.panel-layout.diff
@@ -0,0 +1,23 @@
+--- ./plasma/desktop/shell/data/layouts/org.kde.plasma-desktop.defaultPanel/contents/layout.js.orig 2015-08-12 02:03:15.000000000 -0500
++++ ./plasma/desktop/shell/data/layouts/org.kde.plasma-desktop.defaultPanel/contents/layout.js 2016-06-23 17:28:48.715969102 -0500
+@@ -28,6 +28,10 @@
+ panel.height = screenGeometry(panel.screen).height > 1024 ? 35 : 27
+ panel.addWidget("launcher")
+ panel.addWidget("org.kde.showActivityManager")
++dolphin = panel.addWidget("quicklaunch")
++konqbrowser = panel.addWidget("quicklaunch")
++firefox = panel.addWidget("quicklaunch")
++konsole = panel.addWidget("quicklaunch")
+ pager = panel.addWidget("pager")
+ pager.writeConfig("hideWhenSingleDesktop", "true")
+ tasks = panel.addWidget("tasks")
+@@ -35,5 +39,7 @@
+ panel.addWidget("digital-clock")
+
+ tasks.currentConfigGroup = new Array("Launchers")
+-tasks.writeConfig("browser", "preferred://browser, , , ")
+-tasks.writeConfig("filemanager", "preferred://filemanager, , , ")
++dolphin.writeConfig("iconUrls","file:////usr/share/applications/kde4/dolphin.desktop")
++konqbrowser.writeConfig("iconUrls","file:////usr/share/applications/kde4/konqbrowser.desktop")
++firefox.writeConfig("iconUrls","file:///usr/share/applications/mozilla-firefox.desktop")
++konsole.writeConfig("iconUrls","file:///usr/share/applications/kde4/konsole.desktop")
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
deleted file mode 100644
index dbb4614c2..000000000
--- a/source/kde/patch/kde-workspace/kde-workspace.shadow.changeset_r7777194da6154375fc8103b8c4e29e385cd7ae2e.diff
+++ /dev/null
@@ -1,92 +0,0 @@
-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/kdeconnect-kde.patch b/source/kde/patch/kdeconnect-kde.patch
new file mode 100644
index 000000000..a08b5aa0e
--- /dev/null
+++ b/source/kde/patch/kdeconnect-kde.patch
@@ -0,0 +1,2 @@
+zcat $CWD/patch/kdeconnect-kde/kdeconnect-kde.openssh7.diff.gz | patch -p1 --verbose || { touch ${SLACK_KDE_BUILD_DIR}/${PKGNAME}.failed ; continue ; }
+
diff --git a/source/kde/patch/kdeconnect-kde/kdeconnect-kde.openssh7.diff b/source/kde/patch/kdeconnect-kde/kdeconnect-kde.openssh7.diff
new file mode 100644
index 000000000..1189c2e58
--- /dev/null
+++ b/source/kde/patch/kdeconnect-kde/kdeconnect-kde.openssh7.diff
@@ -0,0 +1,21 @@
+--- ./plugins/sftp/mounter.cpp.orig 2015-02-03 20:53:33.000000000 -0600
++++ ./plugins/sftp/mounter.cpp 2015-11-19 17:22:51.795962646 -0600
+@@ -136,7 +136,8 @@
+ << "-f"
+ << "-o" << "IdentityFile=" + m_sftp->device()->privateKeyPath()
+ << "-o" << "StrictHostKeyChecking=no" //Do not ask for confirmation because it is not a known host
+- << "-o" << "UserKnownHostsFile=/dev/null"; //Prevent storing as a known host
++ << "-o" << "UserKnownHostsFile=/dev/null" //Prevent storing as a known host
++ << "-o" << "HostKeyAlgorithms=+ssh-dss"; //https://bugs.kde.org/show_bug.cgi?id=351725
+
+ m_proc->setProgram(program, arguments);
+
+@@ -146,7 +147,7 @@
+
+ cleanMountPoint();
+
+- kDebug(debugArea()) << "Staring process: " << m_proc->program().join(" ");
++ kDebug(debugArea()) << "Starting process: " << m_proc->program().join(" ");
+ m_proc->start();
+ }
+
diff --git a/source/kde/patch/kdepim.patch b/source/kde/patch/kdepim.patch
new file mode 100644
index 000000000..fc4177495
--- /dev/null
+++ b/source/kde/patch/kdepim.patch
@@ -0,0 +1,4 @@
+# Install Kleopatra headers, needed by kopete-cryptography:
+# This used to be fixed?
+zcat $CWD/patch/kdepim/kdepim-install_kleopatra_headers.patch.gz | patch -p1 --verbose || { touch ${SLACK_KDE_BUILD_DIR}/${PKGNAME}.failed ; continue ; }
+
diff --git a/source/kde/patch/kdepim/kdepim-install_kleopatra_headers.patch b/source/kde/patch/kdepim/kdepim-install_kleopatra_headers.patch
new file mode 100644
index 000000000..8960ab81e
--- /dev/null
+++ b/source/kde/patch/kdepim/kdepim-install_kleopatra_headers.patch
@@ -0,0 +1,122 @@
+diff -up kdepim-4.11.90/kleopatra/libkleopatraclient/CMakeLists.txt.install_kleopatra_headers kdepim-4.11.90/kleopatra/libkleopatraclient/CMakeLists.txt
+--- kdepim-4.11.90/kleopatra/libkleopatraclient/CMakeLists.txt.install_kleopatra_headers 2013-11-14 02:23:52.000000000 -0600
++++ kdepim-4.11.90/kleopatra/libkleopatraclient/CMakeLists.txt 2013-11-16 13:17:30.289810575 -0600
+@@ -6,3 +6,7 @@ add_subdirectory(gui)
+
+ add_subdirectory(tests)
+
++install(
++ FILES kleopatraclient_export.h
++ DESTINATION ${INCLUDE_INSTALL_DIR}/libkleopatraclient
++ )
+diff -up kdepim-4.11.90/kleopatra/libkleopatraclient/core/CMakeLists.txt.install_kleopatra_headers kdepim-4.11.90/kleopatra/libkleopatraclient/core/CMakeLists.txt
+--- kdepim-4.11.90/kleopatra/libkleopatraclient/core/CMakeLists.txt.install_kleopatra_headers 2013-11-14 02:23:52.000000000 -0600
++++ kdepim-4.11.90/kleopatra/libkleopatraclient/core/CMakeLists.txt 2013-11-16 13:17:30.290810557 -0600
+@@ -72,3 +72,13 @@ else()
+ endif()
+
+ install(TARGETS kleopatraclientcore ${INSTALL_TARGETS_DEFAULT_ARGS})
++
++install(
++ FILES
++ initialization.h
++ command.h
++ selectcertificatecommand.h
++ signencryptfilescommand.h
++ decryptverifyfilescommand.h
++ DESTINATION ${INCLUDE_INSTALL_DIR}/libkleopatraclient/core
++ )
+diff -up kdepim-4.11.90/kleopatra/libkleopatraclient/gui/CMakeLists.txt.install_kleopatra_headers kdepim-4.11.90/kleopatra/libkleopatraclient/gui/CMakeLists.txt
+--- kdepim-4.11.90/kleopatra/libkleopatraclient/gui/CMakeLists.txt.install_kleopatra_headers 2013-11-14 02:23:52.000000000 -0600
++++ kdepim-4.11.90/kleopatra/libkleopatraclient/gui/CMakeLists.txt 2013-11-16 13:17:30.290810557 -0600
+@@ -16,3 +16,9 @@ set_target_properties(kleopatraclientgui
+ )
+
+ install(TARGETS kleopatraclientgui ${INSTALL_TARGETS_DEFAULT_ARGS})
++
++install(
++ FILES
++ certificaterequester.h
++ DESTINATION ${INCLUDE_INSTALL_DIR}/libkleopatraclient/gui
++ )
+diff -up kdepim-4.11.90/libkleo/CMakeLists.txt.install_kleopatra_headers kdepim-4.11.90/libkleo/CMakeLists.txt
+--- kdepim-4.11.90/libkleo/CMakeLists.txt.install_kleopatra_headers 2013-11-14 02:23:52.000000000 -0600
++++ kdepim-4.11.90/libkleo/CMakeLists.txt 2013-11-16 13:17:30.290810557 -0600
+@@ -121,3 +121,61 @@ install ( FILES libkleopatrarc-win32.des
+ else ()
+ install ( FILES libkleopatrarc.desktop DESTINATION ${CONFIG_INSTALL_DIR} RENAME libkleopatrarc )
+ endif ()
++
++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)
+diff -up kdepim-4.11.90/libkpgp/CMakeLists.txt.install_kleopatra_headers kdepim-4.11.90/libkpgp/CMakeLists.txt
+--- kdepim-4.11.90/libkpgp/CMakeLists.txt.install_kleopatra_headers 2013-11-16 13:17:30.290810557 -0600
++++ kdepim-4.11.90/libkpgp/CMakeLists.txt 2013-11-16 13:20:55.258111864 -0600
+@@ -35,3 +35,11 @@ add_subdirectory( tests )
+ install(FILES kconf_update/kpgp.upd DESTINATION ${KCONF_UPDATE_INSTALL_DIR})
+ install(PROGRAMS kconf_update/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/kdevelop-pg-qt.patch b/source/kde/patch/kdevelop-pg-qt.patch
new file mode 100644
index 000000000..4f6f6234b
--- /dev/null
+++ b/source/kde/patch/kdevelop-pg-qt.patch
@@ -0,0 +1,2 @@
+zcat $CWD/patch/kdevelop-pg-qt/0011-fix-some-warnings.patch.gz | patch -p1 --verbose || { touch ${SLACK_KDE_BUILD_DIR}/${PKGNAME}.failed ; continue ; }
+
diff --git a/source/kde/patch/kdevelop-pg-qt/0011-fix-some-warnings.patch b/source/kde/patch/kdevelop-pg-qt/0011-fix-some-warnings.patch
new file mode 100644
index 000000000..7392fbf33
--- /dev/null
+++ b/source/kde/patch/kdevelop-pg-qt/0011-fix-some-warnings.patch
@@ -0,0 +1,53 @@
+From ac587957cd0cabbc668604507e2cfebb6810ed09 Mon Sep 17 00:00:00 2001
+From: Milian Wolff <mail@milianw.de>
+Date: Thu, 29 Nov 2012 15:56:40 +0100
+Subject: [PATCH 11/17] fix some warnings
+
+---
+ kdev-pg/kdev-pg-code-gen.cpp | 2 +-
+ kdev-pg/kdev-pg-lexer.ll | 2 +-
+ kdev-pg/kdev-pg-parser.yy | 2 +-
+ 3 files changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/kdev-pg/kdev-pg-code-gen.cpp b/kdev-pg/kdev-pg-code-gen.cpp
+index e06c6be..badb461 100644
+--- a/kdev-pg/kdev-pg-code-gen.cpp
++++ b/kdev-pg/kdev-pg-code-gen.cpp
+@@ -51,7 +51,7 @@ namespace KDevPG
+
+ void generateCondition(const World::NodeSet& s, QTextStream& out)
+ {
+- if(s.size() == 0 || s.size() == 1 && nodeCast<Model::ZeroItem*>(*s.begin()) != 0)
++ if(s.size() == 0 || (s.size() == 1 && nodeCast<Model::ZeroItem*>(*s.begin()) != 0))
+ {
+ out << "true /*epsilon*/";
+ return;
+diff --git a/kdev-pg/kdev-pg-lexer.ll b/kdev-pg/kdev-pg-lexer.ll
+index a0864af..9261d71 100644
+--- a/kdev-pg/kdev-pg-lexer.ll
++++ b/kdev-pg/kdev-pg-lexer.ll
+@@ -425,7 +425,7 @@ void appendLineBuffer()
+ strcpy(yyTextLine+currentOffset, yytext + (yymoreFlag ? lastTextLeng : 0)); /* append current */
+ /* strcpy is faster than strcat */
+
+- Q_ASSERT(strlen(yyTextLine) < yyTextLineLeng);
++ Q_ASSERT(strlen(yyTextLine) < size_t(yyTextLineLeng));
+
+ lastTextLeng = strlen(yytext);
+ yymoreFlag = false;
+diff --git a/kdev-pg/kdev-pg-parser.yy b/kdev-pg/kdev-pg-parser.yy
+index d5a25f5..8f8d604 100644
+--- a/kdev-pg/kdev-pg-parser.yy
++++ b/kdev-pg/kdev-pg-parser.yy
+@@ -309,7 +309,7 @@ opt_lexer_action
+ | T_CONTINUE {
+ r = "\nlxCONTINUE;\n";
+ }
+- | /* empty */ { r = "\nlxSKIP\n" }
++ | /* empty */ { r = "\nlxSKIP\n"; }
+ ;
+
+ regexp
+--
+1.9.3
+
diff --git a/source/kde/patch/krdc.patch b/source/kde/patch/krdc.patch
new file mode 100644
index 000000000..54e82a097
--- /dev/null
+++ b/source/kde/patch/krdc.patch
@@ -0,0 +1,3 @@
+# Allow for the use of xfreerdp >= 1.1.0:
+zcat $CWD/patch/krdc/krdc_freerdp-1.1.0.patch.gz | patch -p1 --verbose || { touch ${SLACK_KDE_BUILD_DIR}/${PKGNAME}.failed ; continue ; }
+
diff --git a/source/kde/patch/krdc/krdc_freerdp-1.1.0.patch b/source/kde/patch/krdc/krdc_freerdp-1.1.0.patch
new file mode 100644
index 000000000..75b514688
--- /dev/null
+++ b/source/kde/patch/krdc/krdc_freerdp-1.1.0.patch
@@ -0,0 +1,184 @@
+Support >=free-rdp-1.1.0.
+
+https://git.reviewboard.kde.org/r/115059/
+
+diff --git a/rdp/rdpview.cpp b/rdp/rdpview.cpp
+index 0d14e04691549e084b58501cd10ca2382ef25c63..9062ba5fa060284a679f0c9bc211ab7dd6972c0a 100644
+--- a/rdp/rdpview.cpp
++++ b/rdp/rdpview.cpp
+@@ -158,71 +158,58 @@ bool RdpView::start()
+ width = this->parentWidget()->size().width();
+ height = this->parentWidget()->size().height();
+ }
+- arguments << "-g" << QString::number(width) + 'x' + QString::number(height);
++ arguments << "-decorations"; // put this option first so we can detect xfreerdp < 1.1
++ arguments << "/w:" + QString::number(width);
++ arguments << "/h:" + QString::number(height);
+
+- arguments << "-k" << keymapToXfreerdp(m_hostPreferences->keyboardLayout());
++ arguments << "/kbd:" + keymapToXfreerdp(m_hostPreferences->keyboardLayout());
+
+ if (!m_url.userName().isEmpty()) {
+ // if username contains a domain, it needs to be set with another parameter
+ if (m_url.userName().contains('\\')) {
+ const QStringList splittedName = m_url.userName().split('\\');
+- arguments << "-d" << splittedName.at(0);
+- arguments << "-u" << splittedName.at(1);
++ arguments << "/d:" + splittedName.at(0);
++ arguments << "/u:" + splittedName.at(1);
+ } else {
+- arguments << "-u" << m_url.userName();
++ arguments << "/u:" + m_url.userName();
+ }
+ } else {
+- arguments << "-u" << "";
++ arguments << "-u:";
+ }
+
+- if (!m_url.password().isNull())
+- arguments << "-p" << m_url.password();
+-
+- arguments << "-D"; // request the window has no decorations
+- arguments << "-X" << QString::number(m_container->winId());
+- arguments << "-a" << QString::number((m_hostPreferences->colorDepth() + 1) * 8);
+-
+- switch (m_hostPreferences->sound()) {
+- case 1:
+- arguments << "-o";
+- break;
+- case 0:
+- arguments << "--plugin" << "rdpsnd";
+- break;
+- case 2:
+- default:
+- break;
+- }
++ arguments << "/parent-window:" + QString::number(m_container->winId());
++ arguments << "/bpp:" + QString::number((m_hostPreferences->colorDepth() + 1) * 8);
++ arguments << "/audio-mode:" + m_hostPreferences->sound();
+
+ if (!m_hostPreferences->shareMedia().isEmpty()) {
+ QStringList shareMedia;
+- shareMedia << "--plugin" << "rdpdr" << "--data" << "disk:media:" + m_hostPreferences->shareMedia() << "--";
++ shareMedia << "/drive:media," + m_hostPreferences->shareMedia();
+ arguments += shareMedia;
+ }
+
+ QString performance;
+ switch (m_hostPreferences->performance()) {
+ case 0:
+- performance = 'm';
++ performance = "modem";
+ break;
+ case 1:
+- performance = 'b';
++ performance = "broadband";
+ break;
+ case 2:
+- performance = 'l';
++ performance = "lan";
+ break;
+ default:
+ break;
+ }
+
+- arguments << "-x" << performance;
++ arguments << "/network:" + performance;
+
+ if (m_hostPreferences->console()) {
+- arguments << "-0";
++ arguments << "/admin";
+ }
+
+ if (m_hostPreferences->remoteFX()) {
+- arguments << "--rfx";
++ arguments << "/rfx";
+ }
+
+ if (!m_hostPreferences->extraOptions().isEmpty()) {
+@@ -233,16 +220,21 @@ bool RdpView::start()
+ // krdc has no support for certificate management yet; it would not be possbile to connect to any host:
+ // "The host key for example.com has changed" ...
+ // "Add correct host key in ~/.freerdp/known_hosts to get rid of this message."
+- arguments << "--ignore-certificate";
++ arguments << "/cert-ignore";
+
+ // clipboard sharing is activated in KRDC; user can disable it at runtime
+- arguments << "--plugin" << "cliprdr";
++ arguments << "/clipboard";
+
+- arguments << "-t" << QString::number(m_port);
+- arguments << m_host;
++ arguments << "/port:" + QString::number(m_port);
++ arguments << "/v:" + m_host;
+
+ kDebug(5012) << "Starting xfreerdp with arguments:" << arguments;
+
++ //avoid printing the password in debug
++ if (!m_url.password().isNull()) {
++ arguments << "/p:" + m_url.password();
++ }
++
+ setStatus(Connecting);
+
+ connect(m_process, SIGNAL(error(QProcess::ProcessError)), SLOT(processError(QProcess::ProcessError)));
+@@ -302,7 +294,7 @@ void RdpView::connectionError()
+
+ void RdpView::processError(QProcess::ProcessError error)
+ {
+- kDebug(5012) << "processError:" << error;
++ kDebug(5012) << error;
+ if (m_quitFlag) // do not try to show error messages while quitting (prevent crashes)
+ return;
+
+@@ -319,33 +311,13 @@ void RdpView::processError(QProcess::ProcessError error)
+ void RdpView::receivedStandardError()
+ {
+ const QString output(m_process->readAllStandardError());
+- kDebug(5012) << "receivedStandardError:" << output;
+- QString line;
+- int i = 0;
+- while (!(line = output.section('\n', i, i)).isEmpty()) {
+-
+- // the following error is issued by freerdp because of a bug in freerdp 1.0.1 and below;
+- // see: https://github.com/FreeRDP/FreeRDP/pull/576
+- //"X Error of failed request: BadWindow (invalid Window parameter)
+- // Major opcode of failed request: 7 (X_ReparentWindow)
+- // Resource id in failed request: 0x71303348
+- // Serial number of failed request: 36
+- // Current serial number in output stream: 36"
+- if (line.contains(QLatin1String("X_ReparentWindow"))) {
+- KMessageBox::error(0, i18n("The version of \"xfreerdp\" you are using is too old.\n"
+- "xfreerdp 1.0.2 or greater is required."),
+- i18n("RDP Failure"));
+- connectionError();
+- return;
+- }
+- i++;
+- }
++ kDebug(5012) << output;
+ }
+
+ void RdpView::receivedStandardOutput()
+ {
+ const QString output(m_process->readAllStandardOutput());
+- kDebug(5012) << "receivedStandardOutput:" << output;
++ kDebug(5012) << output;
+ QString line;
+ int i = 0;
+ while (!(line = output.section('\n', i, i)).isEmpty()) {
+@@ -373,6 +345,14 @@ void RdpView::receivedStandardOutput()
+ return;
+ }
+
++ // we no longer support freerdp < 1.1, we only support versions with the new interface
++ if (line.contains(QLatin1String("invalid option: -decorations"))) {
++ KMessageBox::error(0, i18n("The version of \"xfreerdp\" you are using is too old.\n"
++ "xfreerdp 1.1 or greater is required."),
++ i18n("RDP Failure"));
++ connectionError();
++ return;
++ }
+ i++;
+ }
+ }
diff --git a/source/kde/patch/kscreen.patch b/source/kde/patch/kscreen.patch
new file mode 100644
index 000000000..c369b4d94
--- /dev/null
+++ b/source/kde/patch/kscreen.patch
@@ -0,0 +1,3 @@
+# Kludge around a strange failure in setting up the unit tests:
+zcat $CWD/patch/kscreen/kscreen.broken.test.diff.gz | patch -p1 --verbose || { touch ${SLACK_KDE_BUILD_DIR}/${PKGNAME}.failed ; continue ; }
+
diff --git a/source/kde/patch/kscreen/kscreen.broken.test.diff b/source/kde/patch/kscreen/kscreen.broken.test.diff
new file mode 100644
index 000000000..5b102d96c
--- /dev/null
+++ b/source/kde/patch/kscreen/kscreen.broken.test.diff
@@ -0,0 +1,8 @@
+--- ./tests/CMakeLists.txt.orig 2013-11-22 04:15:16.000000000 -0600
++++ ./tests/CMakeLists.txt 2015-10-24 18:51:44.332554749 -0500
+@@ -17,4 +17,3 @@
+
+ target_link_libraries(testgenerator ${QT_QTTEST_LIBRARY} ${QT_QTCORE_LIBRARY} ${QT_QTGUI_LIBRARY} kscreen)
+
+-add_test(testgenerator ${CMAKE_CURRENT_BINARY_DIR}/testgenerator)
+\ No newline at end of file
diff --git a/source/kde/patch/ktouch.patch b/source/kde/patch/ktouch.patch
new file mode 100644
index 000000000..66b2cdf7a
--- /dev/null
+++ b/source/kde/patch/ktouch.patch
@@ -0,0 +1,2 @@
+zcat $CWD/patch/ktouch/ktouch.performance.diff.gz | patch -p1 --verbose || { touch ${SLACK_KDE_BUILD_DIR}/${PKGNAME}.failed ; continue ; }
+
diff --git a/source/kde/patch/ktouch/ktouch.performance.diff b/source/kde/patch/ktouch/ktouch.performance.diff
new file mode 100644
index 000000000..526294fe2
--- /dev/null
+++ b/source/kde/patch/ktouch/ktouch.performance.diff
@@ -0,0 +1,31 @@
+diff --git a/src/declarativeitems/lessonpainter.cpp b/src/declarativeitems/lessonpainter.cpp
+index dc8fc61..2c56c0c 100644
+--- a/src/declarativeitems/lessonpainter.cpp
++++ b/src/declarativeitems/lessonpainter.cpp
+@@ -236,8 +236,7 @@ void LessonPainter::updateTrainingStatus()
+ const QString referenceLine = m_trainingLineCore->referenceLine();
+ const QString actualLine = m_trainingLineCore->actualLine();
+ const QString preeditString = m_trainingLineCore->preeditString();
+- const QTextBlock block = m_doc->findBlockByNumber(m_currentLine + 1);
+- const int blockPosition = block.position();
++ const int blockPosition = m_doc->findBlockByNumber(m_currentLine + 1).position();
+
+ for (int linePos = 0; linePos < referenceLine.length(); linePos++)
+ {
+@@ -257,8 +256,14 @@ void LessonPainter::updateTrainingStatus()
+
+ cursor.setPosition(charPosition, QTextCursor::MoveAnchor);
+ cursor.setPosition(charPosition + 1, QTextCursor::KeepAnchor);
+- cursor.deleteChar();
+- cursor.insertText(QString(displayedChar), charFormat);
++
++ /* QUICKFIX: Using the charFormat to decide whether a char must be repainted or not.
++ * Not nice but quite efficient ... */
++ if (cursor.charFormat() != charFormat)
++ {
++ cursor.deleteChar();
++ cursor.insertText(QString(displayedChar), charFormat);
++ }
+ }
+
+ invalidateImageCache();
diff --git a/source/kde/patch/libkscreen.patch b/source/kde/patch/libkscreen.patch
new file mode 100644
index 000000000..1c696f88d
--- /dev/null
+++ b/source/kde/patch/libkscreen.patch
@@ -0,0 +1,3 @@
+# Kludge around a strange failure in setting up the unit tests:
+zcat $CWD/patch/libkscreen/libkscreen.broken.test.diff.gz | patch -p1 --verbose || { touch ${SLACK_KDE_BUILD_DIR}/${PKGNAME}.failed ; continue ; }
+
diff --git a/source/kde/patch/libkscreen/libkscreen.broken.test.diff b/source/kde/patch/libkscreen/libkscreen.broken.test.diff
new file mode 100644
index 000000000..30e179d52
--- /dev/null
+++ b/source/kde/patch/libkscreen/libkscreen.broken.test.diff
@@ -0,0 +1,10 @@
+--- ./tests/CMakeLists.txt.orig 2014-08-03 16:14:49.000000000 -0500
++++ ./tests/CMakeLists.txt 2015-10-24 12:55:55.767426554 -0500
+@@ -6,7 +6,6 @@
+ include_directories(${QT_INCLUDES} ${KDE4_INCLUDES} ${CMAKE_CURRENT_BINARY_DIR} ${X11_Xrandr_INCLUDE_PATH})
+ kde4_add_unit_test(${_testname} ${_testname}.cpp ${_testname}.moc)
+ target_link_libraries(${_testname} ${QT_QTTEST_LIBRARY} ${QT_QTCORE_LIBRARY} ${QT_QTGUI_LIBRARY} kscreen)
+- add_test(${_testname} ${CMAKE_CURRENT_BINARY_DIR}/${_testname})
+ endforeach(_testname)
+ endmacro(KSCREEN_TESTS)
+
diff --git a/source/kde/patch/plasma-nm.patch b/source/kde/patch/plasma-nm.patch
new file mode 100644
index 000000000..9997fe41b
--- /dev/null
+++ b/source/kde/patch/plasma-nm.patch
@@ -0,0 +1,2 @@
+zcat $CWD/patch/plasma-nm/plasma-nm.nm.diff.gz | patch -p1 --verbose || { touch ${SLACK_KDE_BUILD_DIR}/${PKGNAME}.failed ; continue ; }
+
diff --git a/source/kde/patch/plasma-nm/plasma-nm.nm.diff b/source/kde/patch/plasma-nm/plasma-nm.nm.diff
new file mode 100644
index 000000000..91efa8496
--- /dev/null
+++ b/source/kde/patch/plasma-nm/plasma-nm.nm.diff
@@ -0,0 +1,10 @@
+--- ./CMakeLists.txt.orig 2015-04-07 08:20:28.000000000 -0500
++++ ./CMakeLists.txt 2015-10-24 18:12:52.316604417 -0500
+@@ -49,6 +49,7 @@
+ ${CMAKE_CURRENT_SOURCE_DIR}/libs
+ ${CMAKE_CURRENT_SOURCE_DIR}/libs/editor/
+ ${NETWORKMANAGER_INCLUDE_DIRS}
++ ${NM-UTIL_INCLUDE_DIRS}
+ ${NETWORKMANAGERQT_INCLUDE_DIRS}
+ ${KDE4_INCLUDES})
+
diff --git a/source/kde/patch/strigi-multimedia.patch b/source/kde/patch/strigi-multimedia.patch
new file mode 100644
index 000000000..8b03abd28
--- /dev/null
+++ b/source/kde/patch/strigi-multimedia.patch
@@ -0,0 +1,3 @@
+# Fix build:
+zcat $CWD/patch/strigi-multimedia/strigi-multimedia_port.patch.gz | patch -p1 --verbose || { touch ${SLACK_KDE_BUILD_DIR}/${PKGNAME}.failed ; continue ; }
+
diff --git a/source/kde/patch/strigi-multimedia/strigi-multimedia_port.patch b/source/kde/patch/strigi-multimedia/strigi-multimedia_port.patch
new file mode 100644
index 000000000..21a29a03d
--- /dev/null
+++ b/source/kde/patch/strigi-multimedia/strigi-multimedia_port.patch
@@ -0,0 +1,29 @@
+diff -urB strigi-multimedia/CMakeLists.txt new/CMakeLists.txt
+--- strigi-multimedia/CMakeLists.txt 2012-04-08 11:47:03.923386124 +0200
++++ new/CMakeLists.txt 2012-04-08 12:29:05.807989600 +0200
+@@ -1,3 +1,5 @@
++Project(strigi-multimedia)
++
+ set(CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/cmake/)
+ find_package(Qt4 REQUIRED)
+ find_package(KDE4 REQUIRED)
+@@ -5,12 +7,10 @@
+ include(MacroLibrary)
+
+ include_directories(${KDE4_INCLUDES} ${QT_INCLUDES})
++add_definitions (${QT_DEFINITIONS} ${KDE4_DEFINITIONS} )
+
+ include(CheckIncludeFileCXX)
+
+-message (STATUS "port strigi-analyzer !!!")
+-if(KFILE_PLUGINS_PORTED)
+-
+ macro_optional_find_package(Theora)
+ macro_log_feature(THEORA_FOUND "Theora" "A video codec intended for use within the Ogg's project's Ogg multimedia streaming system" "http://www.theora.org" FALSE "" "Required to build the Theora Strigi Analyzer.")
+
+@@ -35,5 +35,3 @@
+ if (OGGVORBIS_FOUND)
+ add_subdirectory(ogg)
+ endif(OGGVORBIS_FOUND)
+-
+-endif(KFILE_PLUGINS_PORTED)