diff options
Diffstat (limited to 'source/kde/patch')
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) |