[Gpg4win-commits] [git] Gpg4win - branch, kleo-kf5, updated. gpg4win-2.3.0-51-g8021720
by Andre Heinecke
cvs at cvs.gnupg.org
Thu Jan 28 18:42:08 CET 2016
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "GnuPG for Windows".
The branch, kleo-kf5 has been updated
via 8021720eb50f2538e4e33a3e83224756e19acff0 (commit)
from 9be969d74ff76b0f9e6fe84e578ff00268c1357d (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commit 8021720eb50f2538e4e33a3e83224756e19acff0
Author: Andre Heinecke <aheinecke at intevation.de>
Date: Thu Jan 28 18:38:19 2016 +0100
Add KXmlGui and it's dependencies
Dependencies are: QtSvg, KIconThemes, KItemViews and KConfigWidgets
* patches/kconfigwidgets/0001-Make-QDbus-optional.patch
patches/kconfigwidgets/0002-Crudely-remove-KF5Auth-depedency.patch
patches/kiconthemes/0001-Make-DBus-optional.patand
patches/kxmlgui/0001-Make-KGlobalAccel-dependency-optional.patch
patches/kxmlgui/0002-Make-QDBus-dependency-optional.patch
patches/kxmlgui/0003-Make-KTextWidgets-optional.patch
patches/kxmlgui/0004-Cruedly-disable-KSendbugmail.patch
patches/qtsvg/qtsvg-link-zlib.patch
src/inst-kconfigwidgets.nsi
src/inst-kiconthemes.nsi
src/inst-kxmlgui.nsi
src/inst-qtsvg.nsi
src/uninst-kconfigwidgets.nsi
src/uninst-kiconthemes.nsi
src/uninst-kxmlgui.nsi
src/uninst-qtsvg.nsi: New.
* Makefile.am (EXTRA_DIST): Add new Patches.
* configure.ac: Declare new packages.
* pacakges/packages.current: Add new Packages.
* src/Makefile.am: Add new things.
* src/config.nsi.in, src/inst-sections.nsi: Update accordingly.
* src/gpg4win.mk.in: Add Qt hacks for QtSvg.
--
The patches to make some dependencies optional are partly under
review and might make it upstream.
diff --git a/Makefile.am b/Makefile.am
index 9cd7b43..e372e4f 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -37,7 +37,15 @@ EXTRA_DIST = autogen.sh README.GIT ONEWS \
patches/ki18n/no-tests.patch \
patches/gpgmepp/0002-disable-variants.patch \
patches/kmime/0001-Check-for-and-replace-strcasestr.patch \
- patches/kmime/0002-Fix-Windows-build.patch
+ patches/kmime/0002-Fix-Windows-build.patch \
+ patches/kxmlgui/0001-Make-KGlobalAccel-dependency-optional.patch \
+ patches/kxmlgui/0002-Make-QDBus-dependency-optional.patch \
+ patches/kxmlgui/0003-Make-KTextWidgets-optional.patch \
+ patches/kxmlgui/0004-Crudely-disable-KSendbugmail.patch \
+ patches/kconfigwidgets/0001-Make-QDbus-optional.patch \
+ patches/kconfigwidgets/0002-Crudely-remove-KF5Auth-depedency.patch \
+ patches/kiconthemes/0001-Make-DBus-optional.patch \
+ patches/qtsvg/qtsvg-link-zlib.patch
copy-news:
cp NEWS doc/website/NEWS.last
diff --git a/configure.ac b/configure.ac
index 3f8ec25..6c59636 100644
--- a/configure.ac
+++ b/configure.ac
@@ -344,8 +344,9 @@ GPG4WIN_BPKG_BINSRC([oxygen-icons])
GPG4WIN_SPKG([qtbase], [dbus libpng])
GPG4WIN_SPKG([qttools], [qtbase])
GPG4WIN_SPKG([qtwinextras], [qtbase])
+GPG4WIN_SPKG([qtsvg], [qtbase])
GPG4WIN_SPKG([boost], [expat zlib bzip2])
-GPG4WIN_BPKG_BINSRC([kleopatra], [libkleo qtbase oxygen-icons])
+GPG4WIN_BPKG_BINSRC([kleopatra], [kxmlgui libkleo oxygen-icons])
GPG4WIN_KDEPKG([extra-cmake-modules])
GPG4WIN_KDEPKG([kconfig], [qtbase qttools extra-cmake-modules])
GPG4WIN_KDEPKG([ki18n], [qtbase gettext qttools extra-cmake-modules])
@@ -355,8 +356,13 @@ GPG4WIN_KDEPKG([kcompletion], [kwidgetsaddons])
GPG4WIN_KDEPKG([kwindowsystem], [qtbase qtwinextras])
GPG4WIN_KDEPKG([kcoreaddons], [qtbase])
GPG4WIN_KDEPKG([kcodecs], [qtbase])
+GPG4WIN_KDEPKG([kguiaddons], [qtbase])
GPG4WIN_KDEPKG([kmime], [kcodecs])
-GPG4WIN_KDEPKG([libkleo], [gpgmepp kcodecs kmime kwidgetsaddons kwindowsystem kcompletion kconfig gpgme])
+GPG4WIN_KDEPKG([kconfigwidgets], [kwidgetsaddons kguiaddons ki18n kcodecs kconfig])
+GPG4WIN_KDEPKG([kitemviews], [qtbase])
+GPG4WIN_KDEPKG([kiconthemes], [qtsvg kconfigwidgets kiconthemes])
+GPG4WIN_KDEPKG([kxmlgui], [kiconthemes kconfigwidgets kitemviews])
+GPG4WIN_KDEPKG([libkleo], [gpgmepp kmime kwidgetsaddons kwindowsystem kcompletion kconfig gpgme])
GPG4WIN_FINALIZE
diff --git a/packages/packages.current b/packages/packages.current
index 43d56e8..7566488 100644
--- a/packages/packages.current
+++ b/packages/packages.current
@@ -366,6 +366,15 @@ name qtwinextras-5.5.1.tar.xz
file 5.5/5.5.1/submodules/qtwinextras-opensource-src-5.5.1.tar.xz
chk 116678ea988123adb76a7406941b0f70519a9f6c
+# Qt svg
+# last changed: 2016-01-28
+# by: ah
+# verified: HTTPS https://download.qt.io/official_releases/qt/5.5/5.5.1/submodules/qtsvg-opensource-src-5.5.1.tar.xz.sha1
+name qtsvg-5.5.1.tar.xz
+file 5.5/5.5.1/submodules/qtsvg-opensource-src-5.5.1.tar.xz
+chk 701fcc10201abcf540d26a8fcc6a8b7184dc16b1
+
+
# KDE Frameworks
server http://download.kde.org/stable/frameworks/
@@ -426,6 +435,41 @@ chk 7c41dbcc217d0e93cb276c84b23a55ad803e80a3
file 5.18/kcodecs-5.18.0.tar.xz
chk 8d5f09a9fa5977658a31a13ae9cef4d81f741da3
+# KConfigWidgets
+# last changed: 2016-01-28
+# by: ah
+# verified: https://www.kde.org/info/kde-frameworks-5.18.0.php
+file 5.18/kconfigwidgets-5.18.0.tar.xz
+chk 3aa99f49d570d6cba6bbf86b4c3a2ca9f88a3d29
+
+# KXmlGui
+# last changed: 2016-01-28
+# by: ah
+# verified: https://www.kde.org/info/kde-frameworks-5.18.0.php
+file 5.18/kxmlgui-5.18.0.tar.xz
+chk 5609b50abad6f9ad618a8de3eb6f1307530265b9
+
+# KGuiAddons
+# last changed: 2016-01-28
+# by: ah
+# verified: https://www.kde.org/info/kde-frameworks-5.18.0.php
+file 5.18/kguiaddons-5.18.0.tar.xz
+chk 771d2c2e9ce074f89ee75e5685edaec10c00e709
+
+# KItemViews
+# last changed: 2016-01-28
+# by: ah
+# verified: https://www.kde.org/info/kde-frameworks-5.18.0.php
+file 5.18/kitemviews-5.18.0.tar.xz
+chk c10a50c6607e548f9d5727040971cbe8e1074851
+
+# KIconThemes
+# last changed: 2016-01-28
+# by: ah
+# verified: https://www.kde.org/info/kde-frameworks-5.18.0.php
+file 5.18/kiconthemes-5.18.0.tar.xz
+chk 015547e8939aad42bcff53daee344011cc3772f4
+
# KDE Applications
#
# Devel versions are needed until Kleopatra can be based on
diff --git a/patches/kconfigwidgets/0001-Make-QDbus-optional.patch b/patches/kconfigwidgets/0001-Make-QDbus-optional.patch
new file mode 100755
index 0000000..bda7b3e
--- /dev/null
+++ b/patches/kconfigwidgets/0001-Make-QDbus-optional.patch
@@ -0,0 +1,129 @@
+#! /bin/sh
+patch -p1 -l -f $* < $0
+exit $?
+
+From 438f98aed2dd8857c6ea73b3b93b9cd0abaf6993 Mon Sep 17 00:00:00 2001
+From: Andre Heinecke <aheinecke at intevation.de>
+Date: Thu, 28 Jan 2016 15:27:54 +0100
+Subject: [PATCH 1/2] Make QDbus optional
+
+This removes the Klipper integration of KPasteAction if QDBus
+is not available.
+---
+ CMakeLists.txt | 11 ++++++++++-
+ src/CMakeLists.txt | 7 ++++++-
+ src/config-kconfigwidgets.h.cmake | 2 ++
+ src/kpastetextaction.cpp | 14 ++++++++++++--
+ 4 files changed, 30 insertions(+), 4 deletions(-)
+ create mode 100644 src/config-kconfigwidgets.h.cmake
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index bed53d1..87f976c 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -10,7 +10,16 @@ feature_summary(WHAT REQUIRED_PACKAGES_NOT_FOUND FATAL_ON_MISSING_REQUIRED_PACKA
+ set(CMAKE_MODULE_PATH ${ECM_MODULE_PATH} ${ECM_KDE_MODULE_DIR})
+
+ set(REQUIRED_QT_VERSION "5.3.0")
+-find_package(Qt5 "${REQUIRED_QT_VERSION}" CONFIG REQUIRED Widgets DBus)
++if (UNIX)
++ find_package(Qt5 "${REQUIRED_QT_VERSION}" CONFIG REQUIRED Widgets DBus)
++else()
++ find_package(Qt5DBus "${REQUIRED_QT_VERSION}" CONFIG)
++ set_package_properties(Qt5DBus PROPERTIES DESCRIPTION "Qt DBus Library"
++ PURPOSE "KPasteAction klipper integration."
++ URL "https://doc.qt.io/qt-5/qdbus.html"
++ TYPE OPTIONAL)
++endif()
++set (HAVE_QDBUS ${Qt5DBus_FOUND})
+ include(KDEInstallDirs)
+ include(KDEFrameworkCompilerSettings)
+ include(KDECMakeSettings)
+diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
+index 97837b3..104b118 100644
+--- a/src/CMakeLists.txt
++++ b/src/CMakeLists.txt
+@@ -1,3 +1,8 @@
++if (HAVE_QDBUS)
++ set (KCONFIGWIDGETS_QDBUS_LIBS Qt5::DBus)
++endif ()
++configure_file(config-kconfigwidgets.h.cmake ${CMAKE_CURRENT_BINARY_DIR}/config-kconfigwidgets.h )
++
+ set(kconfigwidgets_SRCS
+ kcodecaction.cpp
+ kcolorscheme.cpp
+@@ -29,7 +34,7 @@ target_link_libraries(KF5ConfigWidgets
+ KF5::ConfigGui # KStandardAction uses KStandardShortcut
+ KF5::Auth # KCModule uses KAuth::Action
+ PRIVATE
+- Qt5::DBus # KPasteTextAction talks to Klipper via DBus
++ ${KCONFIGWIDGETS_QDBUS_LIBS} # KPasteTextAction talks to Klipper via DBus
+ KF5::CoreAddons # KCModule uses KAboutData, KTipDialog uses KRandom
+ KF5::GuiAddons # KColorScheme uses KColorUtils
+ KF5::I18n # For action and widget texts
+diff --git a/src/config-kconfigwidgets.h.cmake b/src/config-kconfigwidgets.h.cmake
+new file mode 100644
+index 0000000..4a933fa
+--- /dev/null
++++ b/src/config-kconfigwidgets.h.cmake
+@@ -0,0 +1,2 @@
++/* Qt5DBus available */
++#cmakedefine01 HAVE_QDBUS
+diff --git a/src/kpastetextaction.cpp b/src/kpastetextaction.cpp
+index a38aa0c..3c5a614 100644
+--- a/src/kpastetextaction.cpp
++++ b/src/kpastetextaction.cpp
+@@ -27,11 +27,15 @@
+
+ #include "kpastetextaction.h"
+
++#include "config-kconfigwidgets.h"
++
+ #include <QApplication>
+ #include <QClipboard>
+ #include <QMenu>
+-#include <QDBusInterface>
+-#include <QDBusReply>
++#if HAVE_QDBUS
++# include <QDBusInterface>
++# include <QDBusReply>
++#endif
+
+ class KPasteTextActionPrivate
+ {
+@@ -97,6 +101,7 @@ void KPasteTextActionPrivate::_k_menuAboutToShow()
+ {
+ m_popup->clear();
+ QStringList list;
++#if HAVE_QDBUS
+ QDBusInterface klipper(QStringLiteral("org.kde.klipper"), QStringLiteral("/klipper"), QStringLiteral("org.kde.klipper.klipper"));
+ if (klipper.isValid()) {
+ QDBusReply<QStringList> reply = klipper.call(QStringLiteral("getClipboardHistoryMenu"));
+@@ -104,6 +109,7 @@ void KPasteTextActionPrivate::_k_menuAboutToShow()
+ list = reply;
+ }
+ }
++#endif
+ QString clipboardText = qApp->clipboard()->text(QClipboard::Clipboard);
+ if (list.isEmpty()) {
+ list << clipboardText;
+@@ -123,6 +129,7 @@ void KPasteTextActionPrivate::_k_menuAboutToShow()
+
+ void KPasteTextActionPrivate::_k_slotTriggered(QAction *action)
+ {
++#if HAVE_QDBUS
+ QDBusInterface klipper(QStringLiteral("org.kde.klipper"), QStringLiteral("/klipper"), QStringLiteral("org.kde.klipper.klipper"));
+ if (klipper.isValid()) {
+ QDBusReply<QString> reply = klipper.call(QStringLiteral("getClipboardHistoryItem"),
+@@ -135,6 +142,9 @@ void KPasteTextActionPrivate::_k_slotTriggered(QAction *action)
+ //if (reply.isValid())
+ // qDebug() << "Clipboard: " << qApp->clipboard()->text(QClipboard::Clipboard);
+ }
++#else
++ Q_UNUSED(action);
++#endif
+ }
+
+ #include "moc_kpastetextaction.cpp"
+--
+2.1.4
diff --git a/patches/kconfigwidgets/0002-Crudely-remove-KF5Auth-depedency.patch b/patches/kconfigwidgets/0002-Crudely-remove-KF5Auth-depedency.patch
new file mode 100755
index 0000000..32166cd
--- /dev/null
+++ b/patches/kconfigwidgets/0002-Crudely-remove-KF5Auth-depedency.patch
@@ -0,0 +1,68 @@
+#! /bin/sh
+patch -p1 -l -f $* < $0
+exit $?
+
+From bb6e1b9bf227a0276d35f9edb6e5b9240bd3cd69 Mon Sep 17 00:00:00 2001
+From: Andre Heinecke <aheinecke at intevation.de>
+Date: Thu, 28 Jan 2016 17:30:10 +0100
+Subject: [PATCH 2/2] Crudely remove KF5Auth depedency
+
+This is not intended for upstream
+---
+ CMakeLists.txt | 1 -
+ src/CMakeLists.txt | 3 ---
+ 2 files changed, 4 deletions(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 87f976c..c150897 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -36,7 +36,6 @@ ecm_setup_version(${KF5_VERSION} VARIABLE_PREFIX KCONFIGWIDGETS
+ PACKAGE_VERSION_FILE "${CMAKE_CURRENT_BINARY_DIR}/KF5ConfigWidgetsConfigVersion.cmake"
+ SOVERSION 5)
+
+-find_package(KF5Auth ${KF5_DEP_VERSION} REQUIRED)
+ find_package(KF5CoreAddons ${KF5_DEP_VERSION} REQUIRED)
+ find_package(KF5Codecs ${KF5_DEP_VERSION} REQUIRED)
+ find_package(KF5Config ${KF5_DEP_VERSION} REQUIRED)
+diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
+index 104b118..d2a5c50 100644
+--- a/src/CMakeLists.txt
++++ b/src/CMakeLists.txt
+@@ -10,7 +10,6 @@ set(kconfigwidgets_SRCS
+ kconfigdialog.cpp
+ kconfigviewstatesaver.cpp
+ kconfigdialogmanager.cpp
+- kcmodule.cpp
+ khelpclient.cpp
+ klanguagebutton.cpp
+ kpastetextaction.cpp
+@@ -32,7 +31,6 @@ target_link_libraries(KF5ConfigWidgets
+ KF5::Codecs # KCodecActions uses KCharsets, KEncodingProber
+ KF5::WidgetsAddons # For K*Action, KPage*, KViewStateSerializer, KAcceleratorManager, K*GuiItem
+ KF5::ConfigGui # KStandardAction uses KStandardShortcut
+- KF5::Auth # KCModule uses KAuth::Action
+ PRIVATE
+ ${KCONFIGWIDGETS_QDBUS_LIBS} # KPasteTextAction talks to Klipper via DBus
+ KF5::CoreAddons # KCModule uses KAboutData, KTipDialog uses KRandom
+@@ -53,7 +51,6 @@ ecm_generate_headers(KConfigWidgets_HEADERS
+ KConfigDialog
+ KConfigViewStateSaver
+ KConfigDialogManager
+- KCModule
+ KHelpClient
+ KLanguageButton
+ KPasteTextAction
+diff --git a/KF5ConfigWidgetsConfig.cmake.in b/KF5ConfigWidgetsConfig.cmake.in
+index 9096da6..660db4c 100644
+--- a/KF5ConfigWidgetsConfig.cmake.in
++++ b/KF5ConfigWidgetsConfig.cmake.in
+@@ -1,6 +1,5 @@
+ @PACKAGE_INIT@
+
+-find_dependency(KF5Auth "@KF5_DEP_VERSION@")
+ find_dependency(KF5Codecs "@KF5_DEP_VERSION@")
+ find_dependency(KF5Config "@KF5_DEP_VERSION@")
+ find_dependency(KF5WidgetsAddons "@KF5_DEP_VERSION@")
+--
+2.1.4
diff --git a/patches/kiconthemes/0001-Make-DBus-optional.patch b/patches/kiconthemes/0001-Make-DBus-optional.patch
new file mode 100755
index 0000000..b5b6d47
--- /dev/null
+++ b/patches/kiconthemes/0001-Make-DBus-optional.patch
@@ -0,0 +1,124 @@
+#! /bin/sh
+patch -p1 -l -f $* < $0
+exit $?
+
+From a1afa2a58ea2b25887b5f9124cf5c886e799e547 Mon Sep 17 00:00:00 2001
+From: Andre Heinecke <aheinecke at intevation.de>
+Date: Thu, 28 Jan 2016 18:22:07 +0100
+Subject: [PATCH] Make DBus optional
+
+DBus is only used for the icon changed notifications emited by
+KIconLoader.
+---
+ CMakeLists.txt | 10 +++++++++-
+ src/CMakeLists.txt | 7 ++++++-
+ src/config-kiconthemes.h.cmake | 2 ++
+ src/kiconloader.cpp | 15 +++++++++++++--
+ 4 files changed, 30 insertions(+), 4 deletions(-)
+ create mode 100644 src/config-kiconthemes.h.cmake
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 5664ea1..22642b9 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -32,7 +32,15 @@ ecm_setup_version(${KF5_VERSION}
+ set(REQUIRED_QT_VERSION 5.3.0)
+ find_package(Qt5Widgets ${REQUIRED_QT_VERSION} REQUIRED NO_MODULE)
+ find_package(Qt5Svg ${REQUIRED_QT_VERSION} REQUIRED NO_MODULE)
+-find_package(Qt5DBus ${REQUIRED_QT_VERSION} REQUIRED NO_MODULE)
++if (UNIX)
++else()
++ find_package(Qt5DBus "${REQUIRED_QT_VERSION}" CONFIG)
++ set_package_properties(Qt5DBus PROPERTIES DESCRIPTION "Qt DBus Library"
++ PURPOSE "KIconLoader icon change notifications."
++ URL "https://doc.qt.io/qt-5/qdbus.html"
++ TYPE OPTIONAL)
++endif()
++set (HAVE_QDBUS ${Qt5DBus_FOUND})
+
+ find_package(KF5I18n ${KF5_DEP_VERSION} REQUIRED)
+ find_package(KF5CoreAddons ${KF5_DEP_VERSION} REQUIRED)
+diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
+index 82d2979..f006f17 100644
+--- a/src/CMakeLists.txt
++++ b/src/CMakeLists.txt
+@@ -3,6 +3,11 @@ if (APPLE)
+ add_subdirectory(tools/ksvg2icns)
+ endif()
+
++if (HAVE_QDBUS)
++ set (QDBUS_LIBS Qt5::DBus)
++endif ()
++configure_file(config-kiconthemes.h.cmake ${CMAKE_CURRENT_BINARY_DIR}/config-kiconthemes.h )
++
+ set(kiconthemes_SRCS
+ kiconbutton.cpp
+ kicondialog.cpp
+@@ -23,7 +28,7 @@ target_link_libraries(KF5IconThemes
+ PUBLIC
+ Qt5::Widgets
+ PRIVATE
+- Qt5::DBus
++ ${QDBUS_LIBS} # for icon changed notification in KIconLoader
+ Qt5::Svg
+ KF5::I18n # for i18n in KIconDialog
+ KF5::WidgetsAddons # for KPixmapSequence family
+diff --git a/src/config-kiconthemes.h.cmake b/src/config-kiconthemes.h.cmake
+new file mode 100644
+index 0000000..4a933fa
+--- /dev/null
++++ b/src/config-kiconthemes.h.cmake
+@@ -0,0 +1,2 @@
++/* Qt5DBus available */
++#cmakedefine01 HAVE_QDBUS
+diff --git a/src/kiconloader.cpp b/src/kiconloader.cpp
+index 75ab482..3a0ff0a 100644
+--- a/src/kiconloader.cpp
++++ b/src/kiconloader.cpp
+@@ -22,6 +22,8 @@
+ * Boston, MA 02110-1301, USA.
+ */
+
++#include "config-kiconthemes.h"
++
+ #include "kiconloader.h"
+
+ #include <qplatformdefs.h> //for readlink
+@@ -46,8 +48,11 @@
+ #include <kconfiggroup.h>
+ #include <kshareddatacache.h>
+ #include <ksharedconfig.h>
+-#include <QtDBus/QDBusConnection>
+-#include <QDBusMessage>
++
++#if HAVE_QDBUS
++# include <QtDBus/QDBusConnection>
++# include <QDBusMessage>
++#endif
+
+ // kdeui
+ #include "kicontheme.h"
+@@ -323,15 +328,21 @@ public:
+ parseGenericIconsFiles(file);
+ }
+
++#if HAVE_QDBUS
+ QDBusConnection::sessionBus().connect(QString(), QStringLiteral("/KIconLoader"), QStringLiteral("org.kde.KIconLoader"),
+ QStringLiteral("iconChanged"), this, SIGNAL(iconChanged(int)));
++#endif
+ }
+
+ void emitChange(KIconLoader::Group group)
+ {
++#if HAVE_QDBUS
+ QDBusMessage message = QDBusMessage::createSignal(QStringLiteral("/KIconLoader"), QStringLiteral("org.kde.KIconLoader"), QStringLiteral("iconChanged"));
+ message.setArguments(QList<QVariant>() << int(group));
+ QDBusConnection::sessionBus().send(message);
++#else
++ Q_UNUSED(group);
++#endif
+ }
+
+ QString genericIconFor(const QString &icon) const
+--
+2.1.4
diff --git a/patches/kxmlgui/0001-Make-KGlobalAccel-dependency-optional.patch b/patches/kxmlgui/0001-Make-KGlobalAccel-dependency-optional.patch
new file mode 100755
index 0000000..eb58a4b
--- /dev/null
+++ b/patches/kxmlgui/0001-Make-KGlobalAccel-dependency-optional.patch
@@ -0,0 +1,534 @@
+#! /bin/sh
+patch -p1 -l -f $* < $0
+exit $?
+
+From 915904a70894eb33c3451106b05816966489ad2c Mon Sep 17 00:00:00 2001
+From: Andre Heinecke <aheinecke at intevation.de>
+Date: Tue, 26 Jan 2016 17:20:18 +0100
+Subject: [PATCH] Make KGlobalAccel dependency optional
+
+Global shortcuts are a nice optional feature to have. They
+are not strictly neccessary for the core functionality of KXmlGui.
+As they pull in an extra dependency to DBus and need runtime support
+on the target platform they should be optional.
+---
+ CMakeLists.txt | 10 ++++++++--
+ src/CMakeLists.txt | 4 +++-
+ src/config-xmlgui.h.cmake | 3 +++
+ src/kactioncollection.cpp | 26 ++++++++++++++++++++++++--
+ src/kkeysequencewidget.cpp | 13 ++++++++++++-
+ src/kshortcuteditwidget.cpp | 7 ++++++-
+ src/kshortcutseditor.cpp | 15 +++++++++++++--
+ src/kshortcutseditoritem.cpp | 32 +++++++++++++++++++++++++++++---
+ src/kxmlguifactory.cpp | 7 ++++++-
+ 9 files changed, 104 insertions(+), 13 deletions(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 9d79619..448ae76 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -37,7 +37,6 @@ find_package(Qt5 ${REQUIRED_QT_VERSION} CONFIG REQUIRED Widgets DBus Xml Network
+ find_package(KF5CoreAddons ${KF5_DEP_VERSION} REQUIRED)
+ find_package(KF5ItemViews ${KF5_DEP_VERSION} REQUIRED)
+ find_package(KF5Config ${KF5_DEP_VERSION} REQUIRED)
+-find_package(KF5GlobalAccel ${KF5_DEP_VERSION} REQUIRED)
+ find_package(KF5ConfigWidgets ${KF5_DEP_VERSION} REQUIRED)
+ find_package(KF5I18n ${KF5_DEP_VERSION} REQUIRED)
+ find_package(KF5IconThemes ${KF5_DEP_VERSION} REQUIRED)
+@@ -45,7 +44,6 @@ find_package(KF5TextWidgets ${KF5_DEP_VERSION} REQUIRED)
+ find_package(KF5WidgetsAddons ${KF5_DEP_VERSION} REQUIRED)
+ find_package(KF5WindowSystem ${KF5_DEP_VERSION} REQUIRED)
+ find_package(KF5Attica ${KF5_DEP_VERSION})
+-
+ set_package_properties(KF5Attica PROPERTIES DESCRIPTION "A Qt library that implements the Open Collaboration Services API"
+ PURPOSE "Support for Get Hot New Stuff in KXMLGUI"
+ URL "https://projects.kde.org/attica"
+@@ -53,6 +51,14 @@ set_package_properties(KF5Attica PROPERTIES DESCRIPTION "A Qt library that imple
+ )
+ set (HAVE_ATTICA ${KF5Attica_FOUND})
+
++find_package(KF5GlobalAccel ${KF5_DEP_VERSION})
++set_package_properties(KF5GlobalAccel PROPERTIES DESCRIPTION "A KDE Frameworks Library for global workspace shortcuts"
++ PURPOSE "Support for global shortcuts"
++ URL "https://projects.kde.org/projects/frameworks/kglobalaccel"
++ TYPE RECOMMENDED
++ )
++set (HAVE_GLOBALACCEL ${KF5GlobalAccel_FOUND})
++
+ # Subdirectories
+ add_definitions(-DTRANSLATION_DOMAIN=\"kxmlgui5\")
+ if (IS_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}/po")
+diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
+index 58f0c7a..8126b5e 100644
+--- a/src/CMakeLists.txt
++++ b/src/CMakeLists.txt
+@@ -3,6 +3,9 @@ add_subdirectory(ksendbugmail)
+ if (HAVE_ATTICA)
+ set (XMLGUI_EXTRA_LIBS ${XMLGUI_EXTRA_LIBS} KF5::Attica)
+ endif ()
++if (HAVE_GLOBALACCEL)
++ set (XMLGUI_EXTRA_LIBS ${XMLGUI_EXTRA_LIBS} KF5::GlobalAccel)
++endif ()
+ if(WIN32)
+ set (XMLGUI_EXTRA_LIBS ${XMLGUI_EXTRA_LIBS} secur32) # GetUserNameEx()
+ endif()
+@@ -89,7 +92,6 @@ PRIVATE
+ KF5::IconThemes #KIconLoader and KIconThemes in KToolBar
+ KF5::TextWidgets #KTextEdit in kbugreport
+ KF5::WindowSystem #KKeyServer in kkeysequencewidget
+- KF5::GlobalAccel #KActionCollection and shortcut widgets
+ ${XMLGUI_EXTRA_LIBS}
+ )
+
+diff --git a/src/config-xmlgui.h.cmake b/src/config-xmlgui.h.cmake
+index 07c882f..9d7f3dc 100644
+--- a/src/config-xmlgui.h.cmake
++++ b/src/config-xmlgui.h.cmake
+@@ -4,3 +4,6 @@
+
+ #define CMAKE_INSTALL_PREFIX "${CMAKE_INSTALL_PREFIX}"
+ #define KF5_LIBEXEC_INSTALL_DIR "${KF5_LIBEXEC_INSTALL_DIR}"
++
++/* KF5GlobalAccel available */
++#cmakedefine01 HAVE_GLOBALACCEL
+diff --git a/src/kactioncollection.cpp b/src/kactioncollection.cpp
+index 9c45725..db856db 100644
+--- a/src/kactioncollection.cpp
++++ b/src/kactioncollection.cpp
+@@ -24,6 +24,8 @@
+ Boston, MA 02110-1301, USA.
+ */
+
++#include "config-xmlgui.h"
++
+ #include "kactioncollection.h"
+
+ #include "kactioncategory.h"
+@@ -33,7 +35,9 @@
+
+ #include <kauthorized.h>
+ #include <kconfiggroup.h>
+-#include <kglobalaccel.h>
++#if HAVE_GLOBALACCEL
++# include <kglobalaccel.h>
++#endif
+ #include <ksharedconfig.h>
+
+ #include <QtXml/QDomDocument>
+@@ -62,7 +66,12 @@ public:
+
+ void setComponentForAction(QAction *action)
+ {
+- if (!KGlobalAccel::self()->hasShortcut(action)) {
++#if HAVE_GLOBALACCEL
++ bool hasGlobalShortcut = KGlobalAccel::self()->hasShortcut(action);
++#else
++ bool hasGlobalShortcut = false;
++#endif
++ if (!hasGlobalShortcut) {
+ action->setProperty("componentName", m_componentName);
+ action->setProperty("componentDisplayName", m_componentDisplayName);
+ }
+@@ -254,6 +263,7 @@ QAction *KActionCollection::addAction(const QString &name, QAction *action)
+ // settings to disk. Both for local and global shortcuts.
+ qCDebug(DEBUG_KXMLGUI) << "Registering action " << objectName << " under new name " << indexName;
+ // If there is a global shortcuts it's a very bad idea.
++#if HAVE_GLOBALACCEL
+ if (KGlobalAccel::self()->hasShortcut(action)) {
+ // In debug mode assert
+ Q_ASSERT(!KGlobalAccel::self()->hasShortcut(action));
+@@ -261,6 +271,7 @@ QAction *KActionCollection::addAction(const QString &name, QAction *action)
+ qCritical() << "Changing action name from " << objectName << " to " << indexName << "\nignored because of active global shortcut.";
+ indexName = objectName;
+ }
++#endif
+ }
+
+ // Set the new name
+@@ -445,6 +456,7 @@ void KActionCollection::setConfigGlobal(bool global)
+
+ void KActionCollection::importGlobalShortcuts(KConfigGroup *config)
+ {
++#if HAVE_GLOBALACCEL
+ Q_ASSERT(config);
+ if (!config || !config->exists()) {
+ return;
+@@ -469,6 +481,9 @@ void KActionCollection::importGlobalShortcuts(KConfigGroup *config)
+ }
+ }
+ }
++#else
++ Q_UNUSED(config);
++#endif
+ }
+
+ void KActionCollection::readSettings(KConfigGroup *config)
+@@ -505,6 +520,7 @@ void KActionCollection::readSettings(KConfigGroup *config)
+
+ void KActionCollection::exportGlobalShortcuts(KConfigGroup *config, bool writeAll) const
+ {
++#if HAVE_GLOBALACCEL
+ Q_ASSERT(config);
+ if (!config) {
+ return;
+@@ -555,6 +571,10 @@ void KActionCollection::exportGlobalShortcuts(KConfigGroup *config, bool writeAl
+ }
+
+ config->sync();
++#else
++ Q_UNUSED(config);
++ Q_UNUSED(writeAll);
++#endif
+ }
+
+ bool KActionCollectionPrivate::writeKXMLGUIConfigFile()
+@@ -599,7 +619,9 @@ bool KActionCollectionPrivate::writeKXMLGUIConfigFile()
+ bool bSameAsDefault = (action->shortcuts() == q->defaultShortcuts(action));
+ qCDebug(DEBUG_KXMLGUI) << "name = " << actionName
+ << " shortcut = " << QKeySequence::listToString(action->shortcuts())
++#if HAVE_GLOBALACCEL
+ << " globalshortcut = " << QKeySequence::listToString(KGlobalAccel::self()->shortcut(action))
++#endif
+ << " def = " << QKeySequence::listToString(q->defaultShortcuts(action));
+
+ // now see if this element already exists
+diff --git a/src/kkeysequencewidget.cpp b/src/kkeysequencewidget.cpp
+index b2e2b6a..b85d527 100644
+--- a/src/kkeysequencewidget.cpp
++++ b/src/kkeysequencewidget.cpp
+@@ -19,6 +19,8 @@
+ Boston, MA 02110-1301, USA.
+ */
+
++#include "config-xmlgui.h"
++
+ #include "kkeysequencewidget.h"
+ #include "kkeysequencewidget_p.h"
+
+@@ -34,7 +36,9 @@
+ #include <klocalizedstring.h>
+ #include <kmessagebox.h>
+ #include <kkeyserver.h>
+-#include <kglobalaccel.h>
++#if HAVE_GLOBALACCEL
++# include <kglobalaccel.h>
++#endif
+
+ #include "kactioncollection.h"
+
+@@ -112,6 +116,7 @@ public:
+ doneRecording();
+ }
+
++#if HAVE_GLOBALACCEL
+ bool promptStealShortcutSystemwide(
+ QWidget *parent,
+ const QHash<QKeySequence, QList<KGlobalShortcutInfo> > &shortcuts,
+@@ -146,6 +151,7 @@ public:
+ return KMessageBox::warningContinueCancel(parent, message, title, KGuiItem(i18n("Reassign")))
+ == KMessageBox::Continue;
+ }
++#endif
+
+ //private slot
+ void doneRecording(bool validate = true);
+@@ -471,6 +477,7 @@ bool KKeySequenceWidgetPrivate::conflictWithGlobalShortcuts(const QKeySequence &
+ }
+ #endif
+
++#if HAVE_GLOBALACCEL
+ if (!(checkAgainstShortcutTypes & KKeySequenceWidget::GlobalShortcuts)) {
+ return false;
+ }
+@@ -501,6 +508,10 @@ bool KKeySequenceWidgetPrivate::conflictWithGlobalShortcuts(const QKeySequence &
+ KGlobalAccel::stealShortcutSystemwide(keySequence[i]);
+ }
+ return false;
++#else
++ Q_UNUSED(keySequence);
++ return false;
++#endif
+ }
+
+ bool shortcutsConflictWith(const QList<QKeySequence> &shortcuts, const QKeySequence &needle)
+diff --git a/src/kshortcuteditwidget.cpp b/src/kshortcuteditwidget.cpp
+index 670d031..ebd59be 100644
+--- a/src/kshortcuteditwidget.cpp
++++ b/src/kshortcuteditwidget.cpp
+@@ -22,6 +22,7 @@
+ Boston, MA 02110-1301, USA.
+ */
+
++#include "config-xmlgui.h"
+ #include "kshortcutsdialog_p.h"
+
+ #include <QPainter>
+@@ -31,7 +32,9 @@
+ #include <QLabel>
+
+ #include <klocalizedstring.h>
+-#include <kglobalaccel.h>
++#if HAVE_GLOBALACCEL
++# include <kglobalaccel.h>
++#endif
+
+ #include "kkeysequencewidget.h"
+
+@@ -85,6 +88,7 @@ ShortcutEditWidget::ShortcutEditWidget(QWidget *viewport, const QKeySequence &de
+ this, SLOT(setCustom(QKeySequence)));
+ connect(m_customEditor, SIGNAL(stealShortcut(QKeySequence,QAction*)),
+ this, SIGNAL(stealShortcut(QKeySequence,QAction*)));
++#if HAVE_GLOBALACCEL
+ connect(KGlobalAccel::self(), &KGlobalAccel::globalShortcutChanged,
+ [this](QAction *action, const QKeySequence &seq) {
+ if (action != m_action) {
+@@ -93,6 +97,7 @@ ShortcutEditWidget::ShortcutEditWidget(QWidget *viewport, const QKeySequence &de
+ setKeySequence(seq);
+ }
+ );
++#endif
+ }
+
+ KKeySequenceWidget::ShortcutTypes ShortcutEditWidget::checkForConflictsAgainst() const
+diff --git a/src/kshortcutseditor.cpp b/src/kshortcutseditor.cpp
+index 99dfb3d..c32aed0 100644
+--- a/src/kshortcutseditor.cpp
++++ b/src/kshortcutseditor.cpp
+@@ -22,6 +22,7 @@
+ the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA.
+ */
++#include "config-xmlgui.h"
+
+ #include "kshortcutseditor.h"
+
+@@ -43,7 +44,9 @@
+
+ #include <kconfig.h>
+ #include <kconfiggroup.h>
+-#include <kglobalaccel.h>
++#if HAVE_GLOBALACCEL
++# include <kglobalaccel.h>
++#endif
+ #include <kmessagebox.h>
+ #include "kactioncollection.h"
+ #include "kactioncategory.h"
+@@ -292,7 +295,13 @@ void KShortcutsEditorPrivate::initGUI(KShortcutsEditor::ActionTypes types, KShor
+ ui.list->header()->setSectionResizeMode(QHeaderView::ResizeToContents);
+ ui.list->header()->hideSection(ShapeGesture); //mouse gestures didn't make it in time...
+ ui.list->header()->hideSection(RockerGesture);
+- if (!(actionTypes & KShortcutsEditor::GlobalAction)) {
++#if HAVE_GLOBALACCEL
++ bool hideGlobals = !(actionTypes & KShortcutsEditor::GlobalAction);
++#else
++ bool hideGlobals = true;
++#endif
++
++ if (hideGlobals) {
+ ui.list->header()->hideSection(GlobalPrimary);
+ ui.list->header()->hideSection(GlobalAlternate);
+ } else if (!(actionTypes & ~KShortcutsEditor::GlobalAction)) {
+@@ -388,11 +397,13 @@ void KShortcutsEditorPrivate::allDefault()
+ changeKeyShortcut(item, LocalAlternate, alternate);
+ }
+
++#if HAVE_GLOBALACCEL
+ if (KGlobalAccel::self()->shortcut(act) != KGlobalAccel::self()->defaultShortcut(act)) {
+ QList<QKeySequence> defaultShortcut = KGlobalAccel::self()->defaultShortcut(act);
+ changeKeyShortcut(item, GlobalPrimary, primarySequence(defaultShortcut));
+ changeKeyShortcut(item, GlobalAlternate, alternateSequence(defaultShortcut));
+ }
++#endif
+
+ #if 0
+ KShapeGesture actShapeGesture = KGestureMap::self()->shapeGesture(act);
+diff --git a/src/kshortcutseditoritem.cpp b/src/kshortcutseditoritem.cpp
+index 461a90c..8442f10 100644
+--- a/src/kshortcutseditoritem.cpp
++++ b/src/kshortcutseditoritem.cpp
+@@ -22,6 +22,7 @@
+ the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA.
+ */
++#include "config-xmlgui.h"
+
+ #include "kshortcutsdialog_p.h"
+
+@@ -33,7 +34,9 @@
+ #include <kgesturemap.h>
+ #endif
+
+-#include <kglobalaccel.h>
++#if HAVE_GLOBALACCEL
++# include <kglobalaccel.h>
++#endif
+
+ KShortcutsEditorItem::KShortcutsEditorItem(QTreeWidgetItem *parent, QAction *action)
+ : QTreeWidgetItem(parent, ActionItem)
+@@ -129,12 +132,14 @@ QVariant KShortcutsEditorItem::data(int column, int role) const
+ case LocalAlternate:
+ return !m_action->property("isShortcutConfigurable").isValid()
+ || m_action->property("isShortcutConfigurable").toBool();
++#if HAVE_GLOBALACCEL
+ case GlobalPrimary:
+ case GlobalAlternate:
+ if (!KGlobalAccel::self()->hasShortcut(m_action)) {
+ return false;
+ }
+ return true;
++#endif
+ default:
+ return false;
+ }
+@@ -166,17 +171,21 @@ QVariant KShortcutsEditorItem::data(int column, int role) const
+
+ case DefaultShortcutRole: {
+ QList<QKeySequence> defaultShortcuts = m_action->property("defaultShortcuts").value<QList<QKeySequence> >();
++#if HAVE_GLOBALACCEL
+ QList<QKeySequence> defaultGlobalShortcuts = KGlobalAccel::self()->defaultShortcut(m_action);
++#endif
+
+ switch (column) {
+ case LocalPrimary:
+ return primarySequence(defaultShortcuts);
+ case LocalAlternate:
+ return alternateSequence(defaultShortcuts);
++#if HAVE_GLOBALACCEL
+ case GlobalPrimary:
+ return primarySequence(defaultGlobalShortcuts);
+ case GlobalAlternate:
+ return alternateSequence(defaultGlobalShortcuts);
++#endif
+ #if 0
+ case ShapeGesture: {
+ QVariant ret;
+@@ -214,17 +223,21 @@ bool KShortcutsEditorItem::operator<(const QTreeWidgetItem &other) const
+ QKeySequence KShortcutsEditorItem::keySequence(uint column) const
+ {
+ QList<QKeySequence> shortcuts = m_action->shortcuts();
++#if HAVE_GLOBALACCEL
+ QList<QKeySequence> globalShortcuts = KGlobalAccel::self()->shortcut(m_action);
++#endif
+
+ switch (column) {
+ case LocalPrimary:
+ return primarySequence(shortcuts);
+ case LocalAlternate:
+ return alternateSequence(shortcuts);
++#if HAVE_GLOBALACCEL
+ case GlobalPrimary:
+ return primarySequence(globalShortcuts);
+ case GlobalAlternate:
+ return alternateSequence(globalShortcuts);
++#endif
+ default:
+ return QKeySequence();
+ }
+@@ -233,12 +246,15 @@ QKeySequence KShortcutsEditorItem::keySequence(uint column) const
+ void KShortcutsEditorItem::setKeySequence(uint column, const QKeySequence &seq)
+ {
+ QList<QKeySequence> ks;
++#if HAVE_GLOBALACCEL
+ if (column == GlobalPrimary || column == GlobalAlternate) {
+ ks = KGlobalAccel::self()->shortcut(m_action);
+ if (!m_oldGlobalShortcut) {
+ m_oldGlobalShortcut = new QList<QKeySequence>(ks);
+ }
+- } else {
++ } else
++#endif
++ {
+ ks = m_action->shortcuts();
+ if (!m_oldLocalShortcut) {
+ m_oldLocalShortcut = new QList<QKeySequence>(ks);
+@@ -264,9 +280,13 @@ void KShortcutsEditorItem::setKeySequence(uint column, const QKeySequence &seq)
+ }
+
+ //avoid also setting the default shortcut - what we are setting here is custom by definition
++#if HAVE_GLOBALACCEL
+ if (column == GlobalPrimary || column == GlobalAlternate) {
+ KGlobalAccel::self()->setShortcut(m_action, ks, KGlobalAccel::NoAutoloading);
+- } else {
++
++ } else
++#endif
++ {
+ m_action->setShortcuts(ks);
+ }
+
+@@ -304,10 +324,12 @@ void KShortcutsEditorItem::updateModified()
+ delete m_oldLocalShortcut;
+ m_oldLocalShortcut = 0;
+ }
++#if HAVE_GLOBALACCEL
+ if (m_oldGlobalShortcut && *m_oldGlobalShortcut == KGlobalAccel::self()->shortcut(m_action)) {
+ delete m_oldGlobalShortcut;
+ m_oldGlobalShortcut = 0;
+ }
++#endif
+ #if 0
+ if (m_oldShapeGesture && *m_oldShapeGesture == KGestureMap::self()->shapeGesture(m_action)) {
+ delete m_oldShapeGesture;
+@@ -335,6 +357,7 @@ bool KShortcutsEditorItem::isModified(uint column) const
+ } else {
+ return alternateSequence(*m_oldLocalShortcut) != alternateSequence(m_action->shortcuts());
+ }
++#if HAVE_GLOBALACCEL
+ case GlobalPrimary:
+ case GlobalAlternate:
+ if (!m_oldGlobalShortcut) {
+@@ -345,6 +368,7 @@ bool KShortcutsEditorItem::isModified(uint column) const
+ } else {
+ return alternateSequence(*m_oldGlobalShortcut) != alternateSequence(KGlobalAccel::self()->shortcut(m_action));
+ }
++#endif
+ #if 0
+ case ShapeGesture:
+ return static_cast<bool>(m_oldShapeGesture);
+@@ -370,9 +394,11 @@ void KShortcutsEditorItem::undo()
+ m_action->setShortcuts(*m_oldLocalShortcut);
+ }
+
++#if HAVE_GLOBALACCEL
+ if (m_oldGlobalShortcut) {
+ KGlobalAccel::self()->setShortcut(m_action, *m_oldGlobalShortcut, KGlobalAccel::NoAutoloading);
+ }
++#endif
+
+ #if 0
+ if (m_oldShapeGesture) {
+diff --git a/src/kxmlguifactory.cpp b/src/kxmlguifactory.cpp
+index 2767e69..4fcfeca 100644
+--- a/src/kxmlguifactory.cpp
++++ b/src/kxmlguifactory.cpp
+@@ -17,6 +17,7 @@
+ the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA.
+ */
++#include "config-xmlgui.h"
+
+ #include "kxmlguifactory.h"
+
+@@ -42,7 +43,9 @@
+
+ #include <ksharedconfig.h>
+ #include <kconfiggroup.h>
+-#include <kglobalaccel.h>
++#if HAVE_GLOBALACCEL
++# include <kglobalaccel.h>
++#endif
+
+ Q_DECLARE_METATYPE(QList<QKeySequence>)
+
+@@ -675,7 +678,9 @@ void KXMLGUIFactoryPrivate::configureAction(QAction *action, const QDomAttr &att
+ } else if (isShortcut) {
+ // Setting the shortcut by property also sets the default shortcut (which is incorrect), so we have to do it directly
+ if (attrName == QStringLiteral("globalShortcut")) {
++#if HAVE_GLOBALACCEL
+ KGlobalAccel::self()->setShortcut(action, QKeySequence::listFromString(attribute.value()));
++#endif
+ } else {
+ action->setShortcuts(QKeySequence::listFromString(attribute.value()));
+ }
+--
+2.1.4
diff --git a/patches/kxmlgui/0002-Make-QDBus-dependency-optional.patch b/patches/kxmlgui/0002-Make-QDBus-dependency-optional.patch
new file mode 100755
index 0000000..e4b586b
--- /dev/null
+++ b/patches/kxmlgui/0002-Make-QDBus-dependency-optional.patch
@@ -0,0 +1,419 @@
+#! /bin/sh
+patch -p1 -l -f $* < $0
+exit $?
+
+From f13bd3aff95038689b1f1b728f9929215785caf7 Mon Sep 17 00:00:00 2001
+From: Andre Heinecke <aheinecke at intevation.de>
+Date: Tue, 26 Jan 2016 18:18:56 +0100
+Subject: [PATCH 2/3] Make QDBus dependency optional
+
+If an application is "standalone" DBus IPC may not be neccessary.
+This main use case for this are platforms like Windows where DBus
+is foreign.
+
+Features lost without DBus are the handling of global style changes
+in KToolBar and the general KDE DBus integration of KMainWindow.
+---
+ CMakeLists.txt | 13 +++++++++++--
+ autotests/kmainwindow_unittest.cpp | 10 ++++++++++
+ autotests/ktoolbar_unittest.cpp | 20 +++++++++++++++++++-
+ src/CMakeLists.txt | 15 ++++++++++++---
+ src/config-xmlgui.h.cmake | 3 +++
+ src/kmainwindow.cpp | 10 ++++++++--
+ src/kmainwindowiface.cpp | 2 +-
+ src/ktoolbar.cpp | 13 +++++++++++--
+ src/kxmlguiwindow.cpp | 13 +++++++++++--
+ 9 files changed, 86 insertions(+), 13 deletions(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 59132d8..acb6037 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -32,8 +32,7 @@ ecm_setup_version(${KF5_VERSION}
+
+ # Dependencies
+ set(REQUIRED_QT_VERSION 5.3.0)
+-find_package(Qt5 ${REQUIRED_QT_VERSION} CONFIG REQUIRED Widgets DBus Xml Network PrintSupport)
+-
++find_package(Qt5 ${REQUIRED_QT_VERSION} CONFIG REQUIRED Widgets Xml Network PrintSupport)
+ find_package(KF5CoreAddons ${KF5_DEP_VERSION} REQUIRED)
+ find_package(KF5ItemViews ${KF5_DEP_VERSION} REQUIRED)
+ find_package(KF5Config ${KF5_DEP_VERSION} REQUIRED)
+@@ -43,6 +42,16 @@ find_package(KF5IconThemes ${KF5_DEP_VERSION} REQUIRED)
+ find_package(KF5TextWidgets ${KF5_DEP_VERSION} REQUIRED)
+ find_package(KF5WidgetsAddons ${KF5_DEP_VERSION} REQUIRED)
+ find_package(KF5WindowSystem ${KF5_DEP_VERSION} REQUIRED)
++
++# Optional dependencies
++find_package(Qt5DBus ${REQUIRED_QT_VERSION} CONFIG)
++set_package_properties(Qt5DBus PROPERTIES DESCRIPTION "Qt DBus Library"
++ PURPOSE "KDE MainWindow DBus integration and global style change handling"
++ URL "https://doc.qt.io/qt-5/qdbus.html"
++ TYPE OPTIONAL
++ )
++set (HAVE_QDBUS ${Qt5DBus_FOUND})
++
+ find_package(KF5Attica ${KF5_DEP_VERSION})
+ set_package_properties(KF5Attica PROPERTIES DESCRIPTION "A Qt library that implements the Open Collaboration Services API"
+ PURPOSE "Support for Get Hot New Stuff in KXMLGUI"
+diff --git a/autotests/kmainwindow_unittest.cpp b/autotests/kmainwindow_unittest.cpp
+index 00282ef..7bbd581 100644
+--- a/autotests/kmainwindow_unittest.cpp
++++ b/autotests/kmainwindow_unittest.cpp
+@@ -17,6 +17,8 @@
+ Boston, MA 02110-1301, USA.
+ */
+
++#include "config-xmlgui.h"
++
+ #include <QTest>
+ #include "kmainwindow_unittest.h"
+ #include <QEventLoopLocker>
+@@ -91,12 +93,20 @@ void KMainWindow_UnitTest::testNameWithSpecialChars()
+ mw.setObjectName(QStringLiteral("a#@_test/"));
+ mw.show();
+ mw.ensurePolished();
++#if HAVE_QDBUS
+ QCOMPARE(mw.dbusName(), QString::fromLatin1("/kmainwindow_unittest/a___test_"));
++#else
++ QCOMPARE(mw.objectName(), QString::fromLatin1("a#@_test/"));
++#endif
+ KMainWindow mw2;
+ mw2.setObjectName(QStringLiteral("a#@_test/"));
+ mw2.show();
+ mw2.ensurePolished();
++#if HAVE_QDBUS
+ QCOMPARE(mw2.dbusName(), QString::fromLatin1("/kmainwindow_unittest/a___test_2"));
++#else
++ QCOMPARE(mw2.objectName(), QString::fromLatin1("a#@_test/2"));
++#endif
+ }
+
+ static bool s_mainWindowDeleted;
+diff --git a/autotests/ktoolbar_unittest.cpp b/autotests/ktoolbar_unittest.cpp
+index d6c1e05..da0eb4e 100644
+--- a/autotests/ktoolbar_unittest.cpp
++++ b/autotests/ktoolbar_unittest.cpp
+@@ -18,10 +18,14 @@
+ Boston, MA 02110-1301, USA.
+ */
+
++#include "config-xmlgui.h"
++
+ #include "testxmlguiwindow.h"
+ #include "testguiclient.h"
+
+-#include <QDBusConnection>
++#if HAVE_QDBUS
++# include <QDBusConnection>
++#endif
+ #include <QDir>
+ #include <QFile>
+ #include <QFileInfo>
+@@ -79,7 +83,9 @@ protected:
+ private:
+ void changeGlobalIconSizeSetting(int, int);
+ void deleteGlobalIconSizeSetting();
++#if HAVE_QDBUS
+ void changeGlobalToolButtonStyleSetting(const QString &, const QString &);
++#endif
+ void deleteGlobalToolButtonStyleSetting();
+ QByteArray m_xml;
+ bool m_showWasCalled;
+@@ -422,6 +428,7 @@ void tst_KToolBar::testToolButtonStyleNoXmlGui()
+ QCOMPARE((int)mainToolBar->toolButtonStyle(), (int)toolButtonStyle);
+ QCOMPARE((int)otherToolBar->toolButtonStyle(), (int)toolButtonStyle);
+
++#if HAVE_QDBUS
+ // Now change KDE-global setting
+ changeGlobalToolButtonStyleSetting(QStringLiteral("IconOnly"), QStringLiteral("TextOnly"));
+
+@@ -436,6 +443,9 @@ void tst_KToolBar::testToolButtonStyleNoXmlGui()
+ } else {
+ QCOMPARE((int)otherToolBar->toolButtonStyle(), (int)toolButtonStyle);
+ }
++#else
++ Q_UNUSED(selectedDefaultForOtherToolbar);
++#endif
+ }
+ }
+
+@@ -485,16 +495,23 @@ void tst_KToolBar::testToolButtonStyleXmlGui()
+ // Save settings
+ kmw.saveMainWindowSettings(group);
+
++#if HAVE_QDBUS
+ // Now change KDE-global setting
+ changeGlobalToolButtonStyleSetting(QStringLiteral("IconOnly"), QStringLiteral("TextOnly"));
+
+ QCOMPARE((int)mainToolBar->toolButtonStyle(), (int)expectedStyleMainToolbar);
+ QCOMPARE((int)otherToolBar->toolButtonStyle(), (int)expectedStyleOtherToolbar);
+ QCOMPARE((int)cleanToolBar->toolButtonStyle(), (int)expectedStyleCleanToolbar);
++#else
++ Q_UNUSED(expectedStyleMainToolbar);
++ Q_UNUSED(expectedStyleOtherToolbar);
++ Q_UNUSED(expectedStyleCleanToolbar);
++#endif
+
+ }
+ }
+
++#if HAVE_QDBUS
+ void tst_KToolBar::changeGlobalToolButtonStyleSetting(const QString &mainToolBar, const QString &otherToolBars)
+ {
+ KConfigGroup group(KSharedConfig::openConfig(), "Toolbar style");
+@@ -512,6 +529,7 @@ void tst_KToolBar::changeGlobalToolButtonStyleSetting(const QString &mainToolBar
+ KToolBar::emitToolbarStyleChanged();
+ spy.wait(2000);
+ }
++#endif
+
+ void tst_KToolBar::deleteGlobalToolButtonStyleSetting()
+ {
+diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
+index 8126b5e..e849ab7 100644
+--- a/src/CMakeLists.txt
++++ b/src/CMakeLists.txt
+@@ -6,6 +6,10 @@ endif ()
+ if (HAVE_GLOBALACCEL)
+ set (XMLGUI_EXTRA_LIBS ${XMLGUI_EXTRA_LIBS} KF5::GlobalAccel)
+ endif ()
++if (HAVE_QDBUS)
++ set (XMLGUI_QDBUS_LIBS Qt5::DBus)
++ set (XMLGUI_DBUS_PRI_NAME "dbus")
++endif ()
+ if(WIN32)
+ set (XMLGUI_EXTRA_LIBS ${XMLGUI_EXTRA_LIBS} secur32) # GetUserNameEx()
+ endif()
+@@ -33,7 +37,6 @@ set(kxmlgui_SRCS
+ khelpmenu.cpp
+ kkeysequencewidget.cpp
+ kmainwindow.cpp
+- kmainwindowiface.cpp
+ kmenumenuhandler_p.cpp
+ kshortcuteditwidget.cpp
+ kshortcutschemeseditor.cpp
+@@ -56,6 +59,12 @@ set(kxmlgui_SRCS
+ kundoactions.cpp
+ kcheckaccelerators.cpp
+ )
++if (HAVE_QDBUS)
++ set(kxmlgui_SRCS
++ ${kxmlgui_SRCS}
++ kmainwindowiface.cpp
++ )
++endif()
+
+ # add the resource file
+ qt5_add_resources(kxmlgui_SRCS kxmlgui.qrc)
+@@ -77,7 +86,7 @@ target_include_directories(KF5XmlGui INTERFACE "$<INSTALL_INTERFACE:${KDE_INSTAL
+
+ target_link_libraries(KF5XmlGui
+ PUBLIC
+- Qt5::DBus #QDBus connect to signal in KToolBar
++ ${XMLGUI_QDBUS_LIBS} #QDBus connect to signal in KToolBar
+ Qt5::Xml #To parse the configuration (QDomDocument etc)
+ Qt5::Widgets #QWidget is used everywhere
+ KF5::ConfigCore #Reading config for ToolbarIcons, Shortcut Schemes...
+@@ -138,5 +147,5 @@ install(FILES
+ install( FILES ui_standards.rc DESTINATION ${KDE_INSTALL_CONFDIR}/ui )
+
+ include(ECMGeneratePriFile)
+-ecm_generate_pri_file(BASE_NAME KXmlGui LIB_NAME KF5XmlGui DEPS "dbus xml widgets KConfigCore KConfigWidgets" FILENAME_VAR PRI_FILENAME INCLUDE_INSTALL_DIR ${KDE_INSTALL_INCLUDEDIR_KF5}/KXmlGui)
++ecm_generate_pri_file(BASE_NAME KXmlGui LIB_NAME KF5XmlGui DEPS "${XMLGUI_DBUS_PRI_NAME} xml widgets KConfigCore KConfigWidgets" FILENAME_VAR PRI_FILENAME INCLUDE_INSTALL_DIR ${KDE_INSTALL_INCLUDEDIR_KF5}/KXmlGui)
+ install(FILES ${PRI_FILENAME} DESTINATION ${ECM_MKSPECS_INSTALL_DIR})
+diff --git a/src/config-xmlgui.h.cmake b/src/config-xmlgui.h.cmake
+index 9d7f3dc..35c9477 100644
+--- a/src/config-xmlgui.h.cmake
++++ b/src/config-xmlgui.h.cmake
+@@ -7,3 +7,6 @@
+
+ /* KF5GlobalAccel available */
+ #cmakedefine01 HAVE_GLOBALACCEL
++
++/* Qt5DBus available */
++#cmakedefine01 HAVE_QDBUS
+diff --git a/src/kmainwindow.cpp b/src/kmainwindow.cpp
+index cae655d..4c98c3f 100644
+--- a/src/kmainwindow.cpp
++++ b/src/kmainwindow.cpp
+@@ -23,11 +23,11 @@
+ the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA.
+ */
++#include "config-xmlgui.h"
+
+ #include "kmainwindow.h"
+
+ #include "kmainwindow_p.h"
+-#include "kmainwindowiface_p.h"
+ #include "ktoolbarhandler_p.h"
+ #include "khelpmenu.h"
+ #include "ktoolbar.h"
+@@ -46,7 +46,6 @@
+ #include <QStyle>
+ #include <QWidget>
+ #include <QWindow>
+-#include <QDBusConnection>
+
+ #include <ktoggleaction.h>
+ #include <kaboutdata.h>
+@@ -58,6 +57,11 @@
+ #include <kwindowconfig.h>
+ #include <kconfiggui.h>
+
++#if HAVE_QDBUS
++# include "kmainwindowiface_p.h"
++# include <QDBusConnection>
++#endif
++
+ //#include <ctype.h>
+
+ static const char WINDOW_PROPERTIES[]="WindowProperties";
+@@ -302,6 +306,7 @@ void KMainWindowPrivate::polish(KMainWindow *q)
+ q->winId(); // workaround for setWindowRole() crashing, and set also window role, just in case TT
+ q->setWindowRole(s); // will keep insisting that object name suddenly should not be used for window role
+
++#if HAVE_QDBUS
+ dbusName = QLatin1Char('/') + QCoreApplication::applicationName() + QLatin1Char('/');
+ dbusName += q->objectName().replace(QLatin1Char('/'), QLatin1Char('_'));
+ // Clean up for dbus usage: any non-alphanumeric char should be turned into '_'
+@@ -317,6 +322,7 @@ void KMainWindowPrivate::polish(KMainWindow *q)
+ QDBusConnection::ExportNonScriptableSlots |
+ QDBusConnection::ExportNonScriptableProperties |
+ QDBusConnection::ExportAdaptors);
++#endif
+ }
+
+ void KMainWindowPrivate::setSettingsDirty(CallCompression callCompression)
+diff --git a/src/kmainwindowiface.cpp b/src/kmainwindowiface.cpp
+index c194bec..25439b3 100644
+--- a/src/kmainwindowiface.cpp
++++ b/src/kmainwindowiface.cpp
+@@ -18,8 +18,8 @@
+ Boston, MA 02110-1301, USA.
+ */
+
+-#include "kmainwindowiface_p.h"
+
++#include "kmainwindowiface_p.h"
+ #include "kactioncollection.h"
+ #include "kxmlguiwindow.h"
+
+diff --git a/src/ktoolbar.cpp b/src/ktoolbar.cpp
+index 8fcb9cb..6bda175 100644
+--- a/src/ktoolbar.cpp
++++ b/src/ktoolbar.cpp
+@@ -24,6 +24,8 @@
+ Boston, MA 02110-1301, USA.
+ */
+
++#include "config-xmlgui.h"
++
+ #include "ktoolbar.h"
+
+ #include <QPointer>
+@@ -38,10 +40,13 @@
+ #include <QMouseEvent>
+ #include <QToolButton>
+ #include <QtXml/QDomElement>
+-#include <QDBusConnection>
+-#include <QDBusMessage>
+ #include <QDebug>
+
++#if HAVE_QDBUS
++# include <QDBusConnection>
++# include <QDBusMessage>
++#endif
++
+ #include <kauthorized.h>
+ #include <kconfig.h>
+ #include <ksharedconfig.h>
+@@ -273,8 +278,10 @@ void KToolBar::Private::init(bool readConfig, bool _isMainToolBar)
+
+ q->setAcceptDrops(true);
+
++#if HAVE_QDBUS
+ QDBusConnection::sessionBus().connect(QString(), QStringLiteral("/KToolBar"), QStringLiteral("org.kde.KToolBar"),
+ QStringLiteral("styleChanged"), q, SLOT(slotAppearanceChanged()));
++#endif
+ connect(KIconLoader::global(), SIGNAL(iconLoaderSettingsChanged()),
+ q, SLOT(slotAppearanceChanged()));
+ }
+@@ -1465,8 +1472,10 @@ bool KToolBar::toolBarsLocked()
+
+ void KToolBar::emitToolbarStyleChanged()
+ {
++#if HAVE_QDBUS
+ QDBusMessage message = QDBusMessage::createSignal(QStringLiteral("/KToolBar"), QStringLiteral("org.kde.KToolBar"), QStringLiteral("styleChanged"));
+ QDBusConnection::sessionBus().send(message);
++#endif
+ }
+
+ #include "moc_ktoolbar.cpp"
+diff --git a/src/kxmlguiwindow.cpp b/src/kxmlguiwindow.cpp
+index b4162c8..9e76928 100644
+--- a/src/kxmlguiwindow.cpp
++++ b/src/kxmlguiwindow.cpp
+@@ -23,11 +23,12 @@
+ Boston, MA 02110-1301, USA.
+ */
+
++#include "config-xmlgui.h"
++
+ #include "kxmlguiwindow.h"
+
+ #include "kmainwindow_p.h"
+ #include "kactioncollection.h"
+-#include "kmainwindowiface_p.h"
+ #include "ktoolbarhandler_p.h"
+ #include "kxmlguifactory.h"
+ #include "kedittoolbar.h"
+@@ -35,7 +36,6 @@
+ #include "ktoolbar.h"
+
+ #include <QCloseEvent>
+-#include <QDBusConnection>
+ #include <QtXml/QDomDocument>
+ #include <QLayout>
+ #include <QDebug>
+@@ -46,6 +46,11 @@
+ #include <QWidget>
+ #include <QList>
+
++#if HAVE_QDBUS
++# include "kmainwindowiface_p.h"
++# include <QDBusConnection>
++#endif
++
+ #include <ktoggleaction.h>
+ #include <kstandardaction.h>
+ #include <kconfig.h>
+@@ -86,7 +91,9 @@ KXmlGuiWindow::KXmlGuiWindow(QWidget *parent, Qt::WindowFlags f)
+ d->toolBarHandler = 0;
+ d->showStatusBarAction = 0;
+ d->factory = 0;
++#if HAVE_QDBUS
+ new KMainWindowInterface(this);
++#endif
+ }
+
+ QAction *KXmlGuiWindow::toolBarMenuAction()
+@@ -116,6 +123,7 @@ KXmlGuiWindow::~KXmlGuiWindow()
+ bool KXmlGuiWindow::event(QEvent *ev)
+ {
+ bool ret = KMainWindow::event(ev);
++#if HAVE_QDBUS
+ if (ev->type() == QEvent::Polish) {
+ QDBusConnection::sessionBus().registerObject(dbusName() + QStringLiteral("/actions"), actionCollection(),
+ QDBusConnection::ExportScriptableSlots |
+@@ -124,6 +132,7 @@ bool KXmlGuiWindow::event(QEvent *ev)
+ QDBusConnection::ExportNonScriptableProperties |
+ QDBusConnection::ExportChildObjects);
+ }
++#endif
+ return ret;
+ }
+
+--
+2.1.4
diff --git a/patches/kxmlgui/0003-Make-KTextWidgets-optional.patch b/patches/kxmlgui/0003-Make-KTextWidgets-optional.patch
new file mode 100755
index 0000000..7150e4e
--- /dev/null
+++ b/patches/kxmlgui/0003-Make-KTextWidgets-optional.patch
@@ -0,0 +1,155 @@
+#! /bin/sh
+patch -p1 -l -f $* < $0
+exit $?
+
+From 958f1e7fdca18da499dc8c72ffbe1fba9ed4878a Mon Sep 17 00:00:00 2001
+From: Andre Heinecke <aheinecke at intevation.de>
+Date: Tue, 26 Jan 2016 18:40:59 +0100
+Subject: [PATCH 3/3] Make KTextWidgets optional
+
+The textedit is only used in the bugreport widget. For a standalone
+application the added Features in there come at the cost of a dependency
+to KService. If it is optional a user of this library can decide if
+they want this.
+---
+ CMakeLists.txt | 9 ++++++++-
+ src/CMakeLists.txt | 4 +++-
+ src/config-xmlgui.h.cmake | 3 +++
+ src/kbugreport.cpp | 21 ++++++++++++++++++---
+ tests/CMakeLists.txt | 4 +++-
+ 5 files changed, 35 insertions(+), 6 deletions(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index acb6037..dcaecc3 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -39,7 +39,6 @@ find_package(KF5Config ${KF5_DEP_VERSION} REQUIRED)
+ find_package(KF5ConfigWidgets ${KF5_DEP_VERSION} REQUIRED)
+ find_package(KF5I18n ${KF5_DEP_VERSION} REQUIRED)
+ find_package(KF5IconThemes ${KF5_DEP_VERSION} REQUIRED)
+-find_package(KF5TextWidgets ${KF5_DEP_VERSION} REQUIRED)
+ find_package(KF5WidgetsAddons ${KF5_DEP_VERSION} REQUIRED)
+ find_package(KF5WindowSystem ${KF5_DEP_VERSION} REQUIRED)
+
+@@ -68,6 +67,14 @@ set_package_properties(KF5GlobalAccel PROPERTIES DESCRIPTION "A KDE Frameworks L
+ )
+ set (HAVE_GLOBALACCEL ${KF5GlobalAccel_FOUND})
+
++find_package(KF5TextWidgets ${KF5_DEP_VERSION})
++set_package_properties(KF5TextWidgets PROPERTIES DESCRIPTION "Library for KDE integrated text editor widgets"
++ PURPOSE "KDE integration (e.g. Spell Checking) in bug report editor"
++ URL "https://projects.kde.org/projects/frameworks/ktextwidgets"
++ TYPE OPTIONAL
++ )
++set (HAVE_TEXTWIDGETS ${KF5TextWidgets_FOUND})
++
+ # Subdirectories
+ add_definitions(-DTRANSLATION_DOMAIN=\"kxmlgui5\")
+ if (IS_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}/po")
+diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
+index e849ab7..a4e9dd0 100644
+--- a/src/CMakeLists.txt
++++ b/src/CMakeLists.txt
+@@ -10,6 +10,9 @@ if (HAVE_QDBUS)
+ set (XMLGUI_QDBUS_LIBS Qt5::DBus)
+ set (XMLGUI_DBUS_PRI_NAME "dbus")
+ endif ()
++if (HAVE_TEXTWIDGETS)
++ set (XMLGUI_EXTRA_LIBS ${XMLGUI_EXTRA_LIBS} KF5::TextWidgets) # KTextEdit in kbugreport
++endif()
+ if(WIN32)
+ set (XMLGUI_EXTRA_LIBS ${XMLGUI_EXTRA_LIBS} secur32) # GetUserNameEx()
+ endif()
+@@ -99,7 +102,6 @@ PRIVATE
+ KF5::ItemViews #KWidgetItemDelegate in KAboutApplicationPersonListDelegate
+ KF5::I18n #i18n and i18nc in many places
+ KF5::IconThemes #KIconLoader and KIconThemes in KToolBar
+- KF5::TextWidgets #KTextEdit in kbugreport
+ KF5::WindowSystem #KKeyServer in kkeysequencewidget
+ ${XMLGUI_EXTRA_LIBS}
+ )
+diff --git a/src/config-xmlgui.h.cmake b/src/config-xmlgui.h.cmake
+index 35c9477..0873a95 100644
+--- a/src/config-xmlgui.h.cmake
++++ b/src/config-xmlgui.h.cmake
+@@ -10,3 +10,6 @@
+
+ /* Qt5DBus available */
+ #cmakedefine01 HAVE_QDBUS
++
++/* KF5TextWidgets available */
++#cmakedefine01 HAVE_TEXTWIDGETS
+diff --git a/src/kbugreport.cpp b/src/kbugreport.cpp
+index f418dde..766b326 100644
+--- a/src/kbugreport.cpp
++++ b/src/kbugreport.cpp
+@@ -17,6 +17,8 @@
+ Boston, MA 02110-1301, USA.
+ */
+
++#include "config-xmlgui.h"
++
+ #include "kbugreport.h"
+
+ #include <QtCore/QProcess>
+@@ -43,9 +45,14 @@
+ #include <kemailsettings.h>
+ #include <klocalizedstring.h>
+ #include <kmessagebox.h>
+-#include <ktextedit.h>
+ #include <ktitlewidget.h>
+
++#if HAVE_TEXTWIDGETS
++# include <ktextedit.h>
++#else
++# include <QTextEdit>
++#endif
++
+ #include "kdepackages.h"
+ #include "../kxmlgui_version.h"
+ #include "systeminformation_p.h"
+@@ -65,7 +72,11 @@ public:
+ QProcess *m_process;
+ KAboutData m_aboutData;
+
++#if HAVE_TEXTWIDGETS
+ KTextEdit *m_lineedit;
++#else
++ QTextEdit *m_lineedit;
++#endif
+ QLineEdit *m_subject;
+ QLabel *m_from;
+ QLabel *m_version;
+@@ -263,12 +274,16 @@ KBugReport::KBugReport(const KAboutData &aboutData, QWidget *_parent)
+ lay->addWidget(label);
+
+ // The multiline-edit
++#if HAVE_TEXTWIDGETS
+ d->m_lineedit = new KTextEdit(this);
++ d->m_lineedit->setCheckSpellingEnabled(true);
++ d->m_lineedit->setSpellCheckingLanguage(QStringLiteral("en"));
++#else
++ d->m_lineedit = new QTextEdit(this);
++#endif
+ d->m_lineedit->setMinimumHeight(180); // make it big
+ d->m_lineedit->setWordWrapMode(QTextOption::WrapAtWordBoundaryOrAnywhere);
+ d->m_lineedit->setLineWrapMode(QTextEdit::WidgetWidth);
+- d->m_lineedit->setCheckSpellingEnabled(true);
+- d->m_lineedit->setSpellCheckingLanguage(QStringLiteral("en"));
+ lay->addWidget(d->m_lineedit, 10 /*stretch*/);
+
+ d->_k_slotSetFrom();
+diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt
+index 3a5a42f..9cc2e32 100644
+--- a/tests/CMakeLists.txt
++++ b/tests/CMakeLists.txt
+@@ -22,4 +22,6 @@ xmlgui_executable_tests(
+ kwindowtest
+ )
+
+-add_subdirectory(krichtexteditor)
++if (HAVE_TEXTWIDGETS)
++ add_subdirectory(krichtexteditor)
++endif()
+--
+2.1.4
diff --git a/patches/kxmlgui/0004-Cruedly-disable-KSendbugmail.patch b/patches/kxmlgui/0004-Cruedly-disable-KSendbugmail.patch
new file mode 100755
index 0000000..fa98b37
--- /dev/null
+++ b/patches/kxmlgui/0004-Cruedly-disable-KSendbugmail.patch
@@ -0,0 +1,28 @@
+#! /bin/sh
+patch -p1 -l -f $* < $0
+exit $?
+
+From d50224d4febca74a8647ea5e230a81a628ab01f0 Mon Sep 17 00:00:00 2001
+From: Andre Heinecke <aheinecke at intevation.de>
+Date: Thu, 28 Jan 2016 18:28:28 +0100
+Subject: [PATCH 4/4] Cruedly disable KSendbugmail
+
+Should probably not go upstream but maybe as an option.
+KSendbugmail uses its own sslsocket in the smtp implementation. Without
+a qt build with openssl support this is unavailable.
+---
+ src/CMakeLists.txt | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
+index 8126b5e..a296861 100644
+--- a/src/CMakeLists.txt
++++ b/src/CMakeLists.txt
+@@ -1,4 +1,4 @@
+-add_subdirectory(ksendbugmail)
++#add_subdirectory(ksendbugmail)
+
+ if (HAVE_ATTICA)
+ set (XMLGUI_EXTRA_LIBS ${XMLGUI_EXTRA_LIBS} KF5::Attica)
+--
+2.1.4
diff --git a/patches/qtsvg/qtsvg-link-zlib.patch b/patches/qtsvg/qtsvg-link-zlib.patch
new file mode 100755
index 0000000..ec52ca7
--- /dev/null
+++ b/patches/qtsvg/qtsvg-link-zlib.patch
@@ -0,0 +1,21 @@
+#! /bin/sh
+patch -p0 -f -l $* < $0
+exit $?
+
+--- src/svg/svg.pro.orig 2016-01-28 18:06:09.395046821 +0100
++++ src/svg/svg.pro 2016-01-28 18:06:53.687941080 +0100
+@@ -44,12 +44,5 @@
+ qsvgfunctions_wince_p.h
+ }
+
+-contains(QT_CONFIG, system-zlib) {
+- if(unix|mingw): LIBS_PRIVATE += -lz
+- else: LIBS += zdll.lib
+-} else {
+- git_build: \
+- INCLUDEPATH += $$[QT_INSTALL_HEADERS/get]/QtZlib
+- else: \
+- INCLUDEPATH += $$[QT_INSTALL_HEADERS/src]/QtZlib
+-}
++if(unix|mingw): LIBS_PRIVATE += -lz
++else: LIBS += zdll.lib
diff --git a/src/Makefile.am b/src/Makefile.am
index 039bf4a..ea7ac4f 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -71,7 +71,13 @@ EXTRA_DIST = pkg-config gpg4win.nsi gpg4win-src.nsi \
inst-libkleo.nsi uninst-libkleo.nsi \
inst-kcoreaddons.nsi uninst-kcoreaddons.nsi \
inst-kcodecs.nsi uninst-kcodecs.nsi \
+ inst-kconfigwidgets.nsi uninst-kconfigwidgets.nsi \
+ inst-kxmlgui.nsi uninst-kxmlgui.nsi \
+ inst-kiconthemes.nsi uninst-kiconthemes.nsi \
+ inst-kitemviews.nsi uninst-kitemviews.nsi \
+ inst-kguiaddons.nsi uninst-kguiaddons.nsi \
inst-kmime.nsi uninst-kmime.nsi \
+ inst-qtsvg.nsi uninst-qtsvg.nsi \
inst-qttools.nsi uninst-qttools.nsi \
inst-boost.nsi uninst-boost.nsi \
inst-extra-cmake-modules.nsi uninst-extra-cmake-modules.nsi \
@@ -102,12 +108,13 @@ gpg4win_spkgs = glib libffi gdk-pixbuf gtk+ \
gpa opencdk \
pinentry libassuan \
w32pth paperkey regex libiconv gettext \
- qtbase qttools boost qtwinextras
+ qtbase qttools boost qtwinextras qtsvg
# Source packages following the KDE pattern
gpg4win_kdepkgs = kconfig kwidgetsaddons gpgmepp ki18n extra-cmake-modules \
kcompletion kwindowsystem kcoreaddons libkleo kcodecs \
- kmime
+ kmime kconfigwidgets kxmlgui kguiaddons kitemviews \
+ kiconthemes
# Supported source packages to build in an additional architecture
gpg4win_expkgs = libgpg-error libassuan libiconv gettext w32pth gpgex gpgol \
@@ -318,6 +325,15 @@ define gpg4win_pkg_qtwinextras_post_install
mv $$$${pkgidir}/lib/*.dll $$$${pkgidir}/bin;)
endef
+define gpg4win_pkg_qtsvg_post_install
+ (cd $$$${pkgbdir}; \
+ make uninstall; \
+ mkdir $$$${pkgidir}; \
+ cp -r lib include plugins $$$${pkgidir}; \
+ mkdir $$$${pkgidir}/bin; \
+ mv $$$${pkgidir}/lib/*.dll $$$${pkgidir}/bin;)
+endef
+
# Supported make-only source packages.
gpg4win_mpkgs = bzip2 zlib
diff --git a/src/config.nsi.in b/src/config.nsi.in
index bb35f45..e3ccb7c 100644
--- a/src/config.nsi.in
+++ b/src/config.nsi.in
@@ -253,6 +253,30 @@
!define gpg4win_pkg_kmime @gpg4win_pkg_kmime@
!define gpg4win_pkg_kmime_version @gpg4win_pkg_kmime_version@
+ at HAVE_PKG_KCONFIGWIDGETS@
+!define gpg4win_pkg_kconfigwidgets @gpg4win_pkg_kconfigwidgets@
+!define gpg4win_pkg_kconfigwidgets_version @gpg4win_pkg_kconfigwidgets_version@
+
+ at HAVE_PKG_KXMLGUI@
+!define gpg4win_pkg_kxmlgui @gpg4win_pkg_kxmlgui@
+!define gpg4win_pkg_kxmlgui_version @gpg4win_pkg_kxmlgui_version@
+
+ at HAVE_PKG_KGUIADDONS@
+!define gpg4win_pkg_kguiaddons @gpg4win_pkg_kguiaddons@
+!define gpg4win_pkg_kguiaddons_version @gpg4win_pkg_kguiaddons_version@
+
+ at HAVE_PKG_KITEMVIEWS@
+!define gpg4win_pkg_kitemviews @gpg4win_pkg_kitemviews@
+!define gpg4win_pkg_kitemviews_version @gpg4win_pkg_kitemviews_version@
+
+ at HAVE_PKG_KICONTHEMES@
+!define gpg4win_pkg_kiconthemes @gpg4win_pkg_kiconthemes@
+!define gpg4win_pkg_kiconthemes_version @gpg4win_pkg_kiconthemes_version@
+
+ at HAVE_PKG_QTSVG@
+!define gpg4win_pkg_qtsvg @gpg4win_pkg_qtsvg@
+!define gpg4win_pkg_qtsvg_version @gpg4win_pkg_qtsvg_version@
+
# Internal packages.
@HAVE_PKG_COMPENDIUM@
diff --git a/src/gpg4win.mk.in b/src/gpg4win.mk.in
index 28a563c..fe8793b 100644
--- a/src/gpg4win.mk.in
+++ b/src/gpg4win.mk.in
@@ -116,6 +116,8 @@ define DEFLATE_macro
$(TAR) -xJ --transform='s,^qttools-opensource-src,qttools,' -f "$(1)" ;; \
*/qtwinextras*.*.tar.xz) \
$(TAR) -xJ --transform='s,^qtwinextras-opensource-src,qtwinextras,' -f "$(1)" ;; \
+ */qtsvg*.*.tar.xz) \
+ $(TAR) -xJ --transform='s,^qtsvg-opensource-src,qtsvg,' -f "$(1)" ;; \
*/boost*.*.tar.bz2) \
$(TAR) -xj --transform='s,^boost_1_60_0,boost-1.60.0,' -f "$(1)" ;; \
*.tar.gz | *.tgz) \
@@ -630,6 +632,7 @@ endef
$(eval $(call OVERRIDE_QTTOOLS_CONF_TEMPLATE,qttools))
$(eval $(call OVERRIDE_QTTOOLS_CONF_TEMPLATE,qtwinextras))
+$(eval $(call OVERRIDE_QTTOOLS_CONF_TEMPLATE,qtsvg))
define OVERRIDE_BOOST_CONF_TEMPLATE
# Override of the configure rule. For targets that not use
diff --git a/src/inst-kconfigwidgets.nsi b/src/inst-kconfigwidgets.nsi
new file mode 100644
index 0000000..0731b0b
--- /dev/null
+++ b/src/inst-kconfigwidgets.nsi
@@ -0,0 +1,35 @@
+# Copyright (C) 2015 Intevation GmbH
+#
+# This file is part of GPG4Win.
+#
+# GPG4Win is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# GPG4Win is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
+!ifdef prefix
+!undef prefix
+!endif
+!define prefix ${ipdir}/kconfigwidgets-${gpg4win_pkg_kconfigwidgets_version}
+
+!ifdef DEBUG
+Section "kconfigwidgets" SEC_kconfigwidgets
+!else
+Section "-kconfigwidgets" SEC_kconfigwidgets
+!endif
+ SetOutPath "$INSTDIR"
+!ifdef SOURCES
+ File "${gpg4win_pkg_kconfigwidgets}"
+!else
+ SetOutPath "$INSTDIR\bin"
+ File ${prefix}/bin/libKF5ConfigWidgets.dll
+!endif
+SectionEnd
diff --git a/src/inst-kiconthemes.nsi b/src/inst-kiconthemes.nsi
new file mode 100644
index 0000000..afdff0a
--- /dev/null
+++ b/src/inst-kiconthemes.nsi
@@ -0,0 +1,35 @@
+# Copyright (C) 2015 Intevation GmbH
+#
+# This file is part of GPG4Win.
+#
+# GPG4Win is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# GPG4Win is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
+!ifdef prefix
+!undef prefix
+!endif
+!define prefix ${ipdir}/kiconthemes-${gpg4win_pkg_kiconthemes_version}
+
+!ifdef DEBUG
+Section "kiconthemes" SEC_kiconthemes
+!else
+Section "-kiconthemes" SEC_kiconthemes
+!endif
+ SetOutPath "$INSTDIR"
+!ifdef SOURCES
+ File "${gpg4win_pkg_kiconthemes}"
+!else
+ SetOutPath "$INSTDIR\bin"
+ File ${prefix}/bin/libKF5IconThemes.dll
+!endif
+SectionEnd
diff --git a/src/inst-kxmlgui.nsi b/src/inst-kxmlgui.nsi
new file mode 100644
index 0000000..2eb9815
--- /dev/null
+++ b/src/inst-kxmlgui.nsi
@@ -0,0 +1,35 @@
+# Copyright (C) 2015 Intevation GmbH
+#
+# This file is part of GPG4Win.
+#
+# GPG4Win is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# GPG4Win is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
+!ifdef prefix
+!undef prefix
+!endif
+!define prefix ${ipdir}/kxmlgui-${gpg4win_pkg_kxmlgui_version}
+
+!ifdef DEBUG
+Section "kxmlgui" SEC_kxmlgui
+!else
+Section "-kxmlgui" SEC_kxmlgui
+!endif
+ SetOutPath "$INSTDIR"
+!ifdef SOURCES
+ File "${gpg4win_pkg_kxmlgui}"
+!else
+ SetOutPath "$INSTDIR\bin"
+ File ${prefix}/bin/libKF5XmlGui.dll
+!endif
+SectionEnd
diff --git a/src/inst-qtsvg.nsi b/src/inst-qtsvg.nsi
new file mode 100644
index 0000000..e5b7c16
--- /dev/null
+++ b/src/inst-qtsvg.nsi
@@ -0,0 +1,35 @@
+# Copyright (C) 2015 Intevation GmbH
+#
+# This file is part of GPG4Win.
+#
+# GPG4Win is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# GPG4Win is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
+!ifdef prefix
+!undef prefix
+!endif
+!define prefix ${ipdir}/qtsvg-${gpg4win_pkg_qtsvg_version}
+
+!ifdef DEBUG
+Section "qtsvg" SEC_qtsvg
+!else
+Section "-qtsvg" SEC_qtsvg
+!endif
+ SetOutPath "$INSTDIR"
+!ifdef SOURCES
+ File "${gpg4win_pkg_qtsvg}"
+!else
+ SetOutPath "$INSTDIR\bin"
+ File ${prefix}/bin/Qt5Svg.dll
+!endif
+SectionEnd
diff --git a/src/inst-sections.nsi b/src/inst-sections.nsi
index 7081fb4..8209380 100644
--- a/src/inst-sections.nsi
+++ b/src/inst-sections.nsi
@@ -137,15 +137,30 @@
!ifdef HAVE_PKG_KCODECS
!include "inst-kcodecs.nsi"
!endif
+!ifdef HAVE_PKG_KCONFIGWIDGETS
+!include "inst-kconfigwidgets.nsi"
+!endif
+!ifdef HAVE_PKG_KXMLGUI
+!include "inst-kxmlgui.nsi"
+!endif
+!ifdef HAVE_PKG_KGUIADDONS
+!include "inst-kguiaddons.nsi"
+!endif
!ifdef HAVE_PKG_KMIME
!include "inst-kmime.nsi"
!endif
+!ifdef HAVE_PKG_KICONTHEMES
+!include "inst-kiconthemes.nsi"
+!endif
!ifdef HAVE_PKG_LIBKLEO
!include "inst-libkleo.nsi"
!endif
!ifdef HAVE_PKG_EXTRA_CMAKE_MODULES
!include "inst-extra-cmake-modules.nsi"
!endif
+!ifdef HAVE_PKG_QTSVG
+!include "inst-qtsvg.nsi"
+!endif
# These are displayed in the selection dialog.
@@ -338,6 +353,21 @@
!ifdef HAVE_PKG_KCODECS
!include "uninst-kcodecs.nsi"
!endif
+!ifdef HAVE_PKG_KCONFIGWIDGETS
+!include "uninst-kconfigwidgets.nsi"
+!endif
+!ifdef HAVE_PKG_KGUIADDONS
+!include "uninst-kguiaddons.nsi"
+!endif
+!ifdef HAVE_PKG_KXMLGUI
+!include "uninst-kxmlgui.nsi"
+!endif
+!ifdef HAVE_PKG_KICONTHEMES
+!include "uninst-kiconthemes.nsi"
+!endif
+!ifdef HAVE_PKG_KITEMVIEWS
+!include "uninst-kitemviews.nsi"
+!endif
!ifdef HAVE_PKG_KMIME
!include "uninst-kmime.nsi"
!endif
@@ -350,6 +380,9 @@
!ifdef HAVE_PKG_BZIP2
!include "uninst-bzip2.nsi"
!endif
+!ifdef HAVE_PKG_QTSVG
+!include "uninst-qtsvg.nsi"
+!endif
!include "uninst-gpg4win.nsi"
@@ -607,12 +640,30 @@ Function CalcDepends
!ifdef HAVE_PKG_KCODECS
!insertmacro UnselectSection ${SEC_kcodecs}
!endif
+!ifdef HAVE_PKG_KCONFIGWIDGETS
+ !insertmacro UnselectSection ${SEC_kconfigwidgets}
+!endif
+!ifdef HAVE_PKG_KXMLGUI
+ !insertmacro UnselectSection ${SEC_kxmlgui}
+!endif
+!ifdef HAVE_PKG_KICONTHEMES
+ !insertmacro UnselectSection ${SEC_kiconthemes}
+!endif
+!ifdef HAVE_PKG_KITEMVIEWS
+ !insertmacro UnselectSection ${SEC_kitemviews}
+!endif
+!ifdef HAVE_PKG_KGUIADDONS
+ !insertmacro UnselectSection ${SEC_kguiaddons}
+!endif
!ifdef HAVE_PKG_LIBKLEO
!insertmacro UnselectSection ${SEC_libkleo}
!endif
!ifdef HAVE_PKG_KMIME
!insertmacro UnselectSection ${SEC_kmime}
!endif
+!ifdef HAVE_PKG_QTSVG
+ !insertmacro UnselectSection ${SEC_qtsvg}
+!endif
# Always install gnupg2. This is also ensured by putting
# these packages in the RO section and enabling them by default, but
@@ -711,6 +762,12 @@ Function CalcDepends
!insertmacro SelectSection ${SEC_kwindowsystem}
!insertmacro SelectSection ${SEC_kcoreaddons}
!insertmacro SelectSection ${SEC_kcodecs}
+ !insertmacro SelectSection ${SEC_kconfigwidgets}
+ !insertmacro SelectSection ${SEC_kxmlgui}
+ !insertmacro SelectSection ${SEC_kitemviews}
+ !insertmacro SelectSection ${SEC_kiconthemes}
+ !insertmacro SelectSection ${SEC_kguiaddons}
+ !insertmacro SelectSection ${SEC_qtsvg}
!insertmacro SelectSection ${SEC_kmime}
!insertmacro SelectSection ${SEC_libkleo}
!insertmacro SelectSection ${SEC_qttools}
diff --git a/src/uninst-kconfigwidgets.nsi b/src/uninst-kconfigwidgets.nsi
new file mode 100644
index 0000000..e4578ec
--- /dev/null
+++ b/src/uninst-kconfigwidgets.nsi
@@ -0,0 +1,33 @@
+# Copyright (C) 2015 Intevation GmbH
+#
+# This file is part of GPG4Win.
+#
+# GPG4Win is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# GPG4Win is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
+!ifdef prefix
+!undef prefix
+!endif
+!define prefix ${ipdir}/kconfigwidgets-${gpg4win_pkg_kconfigwidgets_version}
+
+; Uninstaller section.
+Section "-un.kconfigwidgets"
+!ifdef SOURCES
+ Push "${gpg4win_pkg_kconfigwidgets}"
+ Call un.SourceDelete
+!else
+ Delete "$INSTDIR\bin\libKF5ConfigWidgets.dll"
+ RmDir "$INSTDIR\bin"
+
+!endif
+SectionEnd
diff --git a/src/uninst-kiconthemes.nsi b/src/uninst-kiconthemes.nsi
new file mode 100644
index 0000000..ca070be
--- /dev/null
+++ b/src/uninst-kiconthemes.nsi
@@ -0,0 +1,33 @@
+# Copyright (C) 2015 Intevation GmbH
+#
+# This file is part of GPG4Win.
+#
+# GPG4Win is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# GPG4Win is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
+!ifdef prefix
+!undef prefix
+!endif
+!define prefix ${ipdir}/kiconthemes-${gpg4win_pkg_kiconthemes_version}
+
+; Uninstaller section.
+Section "-un.kiconthemes"
+!ifdef SOURCES
+ Push "${gpg4win_pkg_kiconthemes}"
+ Call un.SourceDelete
+!else
+ Delete "$INSTDIR\bin\libKF5IconThemes.dll"
+ RmDir "$INSTDIR\bin"
+
+!endif
+SectionEnd
diff --git a/src/uninst-kxmlgui.nsi b/src/uninst-kxmlgui.nsi
new file mode 100644
index 0000000..5a9b6a5
--- /dev/null
+++ b/src/uninst-kxmlgui.nsi
@@ -0,0 +1,33 @@
+# Copyright (C) 2015 Intevation GmbH
+#
+# This file is part of GPG4Win.
+#
+# GPG4Win is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# GPG4Win is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
+!ifdef prefix
+!undef prefix
+!endif
+!define prefix ${ipdir}/kxmlgui-${gpg4win_pkg_kxmlgui_version}
+
+; Uninstaller section.
+Section "-un.kxmlgui"
+!ifdef SOURCES
+ Push "${gpg4win_pkg_kxmlgui}"
+ Call un.SourceDelete
+!else
+ Delete "$INSTDIR\bin\libKF5XmlGui.dll"
+ RmDir "$INSTDIR\bin"
+
+!endif
+SectionEnd
diff --git a/src/uninst-qtsvg.nsi b/src/uninst-qtsvg.nsi
new file mode 100644
index 0000000..54d23e4
--- /dev/null
+++ b/src/uninst-qtsvg.nsi
@@ -0,0 +1,32 @@
+# Copyright (C) 2015 Intevation GmbH
+#
+# This file is part of GPG4Win.
+#
+# GPG4Win is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# GPG4Win is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
+!ifdef prefix
+!undef prefix
+!endif
+!define prefix ${ipdir}/qtsvg-${gpg4win_pkg_qtsvg_version}
+
+; Uninstaller section.
+Section "-un.qtsvg"
+!ifdef SOURCES
+ Push "${gpg4win_pkg_qtsvg}"
+ Call un.SourceDelete
+!else
+ Delete "$INSTDIR\bin\Qt5Svg.dll"
+ RmDir "$INSTDIR\bin"
+!endif
+SectionEnd
-----------------------------------------------------------------------
Summary of changes:
Makefile.am | 10 +-
configure.ac | 10 +-
packages/packages.current | 44 ++
.../kconfigwidgets/0001-Make-QDbus-optional.patch | 129 +++++
.../0002-Crudely-remove-KF5Auth-depedency.patch | 68 +++
patches/kiconthemes/0001-Make-DBus-optional.patch | 124 +++++
...001-Make-KGlobalAccel-dependency-optional.patch | 534 +++++++++++++++++++++
.../0002-Make-QDBus-dependency-optional.patch | 419 ++++++++++++++++
.../kxmlgui/0003-Make-KTextWidgets-optional.patch | 155 ++++++
.../0004-Cruedly-disable-KSendbugmail.patch | 28 ++
patches/qtsvg/qtsvg-link-zlib.patch | 21 +
src/Makefile.am | 20 +-
src/config.nsi.in | 24 +
src/gpg4win.mk.in | 3 +
src/{inst-gpgmepp.nsi => inst-kconfigwidgets.nsi} | 10 +-
src/{inst-kcoreaddons.nsi => inst-kiconthemes.nsi} | 10 +-
src/{inst-kcodecs.nsi => inst-kxmlgui.nsi} | 10 +-
src/{inst-boost.nsi => inst-qtsvg.nsi} | 10 +-
src/inst-sections.nsi | 57 +++
...{uninst-boost.nsi => uninst-kconfigwidgets.nsi} | 8 +-
...inst-kcoreaddons.nsi => uninst-kiconthemes.nsi} | 8 +-
src/{uninst-boost.nsi => uninst-kxmlgui.nsi} | 8 +-
src/{uninst-boost.nsi => uninst-qtsvg.nsi} | 9 +-
23 files changed, 1677 insertions(+), 42 deletions(-)
create mode 100755 patches/kconfigwidgets/0001-Make-QDbus-optional.patch
create mode 100755 patches/kconfigwidgets/0002-Crudely-remove-KF5Auth-depedency.patch
create mode 100755 patches/kiconthemes/0001-Make-DBus-optional.patch
create mode 100755 patches/kxmlgui/0001-Make-KGlobalAccel-dependency-optional.patch
create mode 100755 patches/kxmlgui/0002-Make-QDBus-dependency-optional.patch
create mode 100755 patches/kxmlgui/0003-Make-KTextWidgets-optional.patch
create mode 100755 patches/kxmlgui/0004-Cruedly-disable-KSendbugmail.patch
create mode 100755 patches/qtsvg/qtsvg-link-zlib.patch
copy src/{inst-gpgmepp.nsi => inst-kconfigwidgets.nsi} (78%)
copy src/{inst-kcoreaddons.nsi => inst-kiconthemes.nsi} (80%)
copy src/{inst-kcodecs.nsi => inst-kxmlgui.nsi} (82%)
copy src/{inst-boost.nsi => inst-qtsvg.nsi} (83%)
copy src/{uninst-boost.nsi => uninst-kconfigwidgets.nsi} (82%)
copy src/{uninst-kcoreaddons.nsi => uninst-kiconthemes.nsi} (84%)
copy src/{uninst-boost.nsi => uninst-kxmlgui.nsi} (85%)
copy src/{uninst-boost.nsi => uninst-qtsvg.nsi} (86%)
hooks/post-receive
--
GnuPG for Windows
http://git.gnupg.org
More information about the Gpg4win-commits
mailing list