summaryrefslogtreecommitdiffstats
path: root/source/kde/patch
diff options
context:
space:
mode:
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)