From 0064c0d47497f22c9687e490926f9d2263f26642 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andreas=20M=C3=BCller?= Date: Tue, 10 Feb 2015 12:49:35 +0100 Subject: [PATCH] add kate MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit plasma-desktop crashes for segfault currently and I need a test application running on other desktop environments to see how much is working alread in kf5/plasma. Signed-off-by: Andreas Müller --- TODO | 1 - ...base-build-without-session-support-Q.patch | 72 +++++++++++++++++++ ...02-fix-build-for-sessionless-kconfig.patch | 57 +++++++++++++++ recipes-kde/apps/kate/kate.bb | 56 +++++++++++++++ recipes-kde/packagegroups/kde-world.bb | 4 +- 5 files changed, 188 insertions(+), 2 deletions(-) create mode 100644 recipes-kde/apps/kate/files/0001-fix-build-for-qtbase-build-without-session-support-Q.patch create mode 100644 recipes-kde/apps/kate/files/0002-fix-build-for-sessionless-kconfig.patch create mode 100644 recipes-kde/apps/kate/kate.bb diff --git a/TODO b/TODO index 2e18a37a..1fb5ba22 100644 --- a/TODO +++ b/TODO @@ -3,7 +3,6 @@ kde-plasma: * libbluedevil kde-apps: -* kate * konsole .......... diff --git a/recipes-kde/apps/kate/files/0001-fix-build-for-qtbase-build-without-session-support-Q.patch b/recipes-kde/apps/kate/files/0001-fix-build-for-qtbase-build-without-session-support-Q.patch new file mode 100644 index 00000000..1921abe9 --- /dev/null +++ b/recipes-kde/apps/kate/files/0001-fix-build-for-qtbase-build-without-session-support-Q.patch @@ -0,0 +1,72 @@ +From ac7548b52a701ad846dd0cb534440f8de7864711 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Andreas=20M=C3=BCller?= +Date: Tue, 10 Feb 2015 11:43:46 +0100 +Subject: [PATCH 1/2] fix build for qtbase build without session support + QT_NO_SESSIONMANAGER +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Signed-off-by: Andreas Müller +--- + kate/src/kateapp.cpp | 5 ++++- + kate/src/katemainwindow.cpp | 2 ++ + kwrite/main.cpp | 5 ++++- + 3 files changed, 10 insertions(+), 2 deletions(-) + +diff --git a/kate/src/kateapp.cpp b/kate/src/kateapp.cpp +index 4c26f33..03fd159 100644 +--- a/kate/src/kateapp.cpp ++++ b/kate/src/kateapp.cpp +@@ -99,10 +99,13 @@ bool KateApp::init() + // set KATE_PID for use in child processes + qputenv("KATE_PID", QString::fromLatin1("%1").arg(QCoreApplication::applicationPid()).toLatin1().constData()); + ++#ifndef QT_NO_SESSIONMANAGER + // handle restore different + if (qApp->isSessionRestored()) { + restoreKate(); +- } else { ++ } else ++#endif ++ { + // let us handle our command line args and co ;) + // we can exit here if session chooser decides + if (!startupKate()) { +diff --git a/kate/src/katemainwindow.cpp b/kate/src/katemainwindow.cpp +index 464e20c..8efc401 100644 +--- a/kate/src/katemainwindow.cpp ++++ b/kate/src/katemainwindow.cpp +@@ -467,9 +467,11 @@ bool KateMainWindow::queryClose() + { + // session saving, can we close all views ? + // just test, not close them actually ++#ifndef QT_NO_SESSIONMANAGER + if (qApp->isSavingSession()) { + return queryClose_internal(); + } ++#endif + + // normal closing of window + // allow to close all windows until the last without restrictions +diff --git a/kwrite/main.cpp b/kwrite/main.cpp +index a361527..d5738e9 100644 +--- a/kwrite/main.cpp ++++ b/kwrite/main.cpp +@@ -159,9 +159,12 @@ extern "C" Q_DECL_EXPORT int kdemain(int argc, char **argv) + */ + aboutData.processCommandLine(&parser); + ++#ifndef QT_NO_SESSIONMANAGER + if (app.isSessionRestored()) { + KWrite::restore(); +- } else { ++ } else ++#endif ++ { + bool nav = false; + int line = 0, column = 0; + +-- +1.9.3 + diff --git a/recipes-kde/apps/kate/files/0002-fix-build-for-sessionless-kconfig.patch b/recipes-kde/apps/kate/files/0002-fix-build-for-sessionless-kconfig.patch new file mode 100644 index 00000000..a6dbf7fc --- /dev/null +++ b/recipes-kde/apps/kate/files/0002-fix-build-for-sessionless-kconfig.patch @@ -0,0 +1,57 @@ +From d3c4d12f9168d2d1267b9732e75658866ef8bb9b Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Andreas=20M=C3=BCller?= +Date: Tue, 10 Feb 2015 11:52:14 +0100 +Subject: [PATCH 2/2] fix build for sessionless kconfig +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Signed-off-by: Andreas Müller +--- + kate/src/kateapp.cpp | 2 ++ + kwrite/kwrite.cpp | 2 ++ + 2 files changed, 4 insertions(+) + +diff --git a/kate/src/kateapp.cpp b/kate/src/kateapp.cpp +index 03fd159..ae2c793 100644 +--- a/kate/src/kateapp.cpp ++++ b/kate/src/kateapp.cpp +@@ -121,6 +121,7 @@ bool KateApp::init() + + void KateApp::restoreKate() + { ++#ifndef QT_NO_SESSIONMANAGER + KConfig *sessionConfig = KConfigGui::sessionConfig(); + + // activate again correct session!!! +@@ -142,6 +143,7 @@ void KateApp::restoreKate() + if (mainWindowsCount() == 0) { + newMainWindow(); + } ++#endif + } + + bool KateApp::startupKate() +diff --git a/kwrite/kwrite.cpp b/kwrite/kwrite.cpp +index dc54855..5693db0 100644 +--- a/kwrite/kwrite.cpp ++++ b/kwrite/kwrite.cpp +@@ -454,6 +454,7 @@ void KWrite::saveGlobalProperties(KConfig *config) //save documents + //restore session + void KWrite::restore() + { ++#ifndef QT_NO_SESSIONMANAGER + KConfig *config = KConfigGui::sessionConfig(); + + if (!config) { +@@ -483,6 +484,7 @@ void KWrite::restore() + t = new KWrite(docList.at(cg.readEntry("DocumentNumber", 0) - 1)); + t->restore(config, z); + } ++#endif + } + + void KWrite::aboutEditor() +-- +1.9.3 + diff --git a/recipes-kde/apps/kate/kate.bb b/recipes-kde/apps/kate/kate.bb new file mode 100644 index 00000000..3e739e75 --- /dev/null +++ b/recipes-kde/apps/kate/kate.bb @@ -0,0 +1,56 @@ +SUMMARY = "An advanced editor component which is used in numerous KDE applications requiring a text editing component" +LICENSE = "GPLv2 & LGPLv3 & GPLv3" +LIC_FILES_CHKSUM = " \ + file://COPYING.LIB;md5=334069b3769dfd935f3e668e638a26ad \ + file://COPYING-GPL3;md5=d32239bcb673463ab874e80d47fae504 \ + file://COPYING-LGPL3;md5=e6a600fd5e1d9cbde2d983680233ad02 \ +" + +inherit kde-apps + +DEPENDS += " \ + qtscript \ + \ + kconfig \ + kdoctools \ + kguiaddons \ + ki18n \ + kinit \ + kjobwidgets \ + kio \ + kparts \ + ktexteditor \ + kwindowsystem \ + kxmlgui \ + kitemmodels \ + threadweaver \ + plasma-framework \ + knewstuff \ +" + +PV = "${KDE_APP_VERSION}" +SRC_URI[md5sum] = "8a26f6de18caddceec3d997e77137070" +SRC_URI[sha256sum] = "ceb95148543b89b799a1dff9ee45b0a14c2883965853d7537f4890e5992ccb58" + +SRC_URI += " \ + file://0001-fix-build-for-qtbase-build-without-session-support-Q.patch \ + file://0002-fix-build-for-sessionless-kconfig.patch \ +" + +FILES_SOLIBSDEV = "" + +FILES_${PN} += " \ + ${datadir}/kateproject \ + ${datadir}/k*5 \ + ${datadir}/plasma \ + ${datadir}/katexmltools \ + ${datadir}/icons \ + \ + ${libdir}/libkdeinit5*.so \ + ${libdir}/plugins \ +" + +FILES_${PN}-dbg += " \ + ${libdir}/plugins/*/.debug \ + ${libdir}/plugins/*/*/.debug \ +" diff --git a/recipes-kde/packagegroups/kde-world.bb b/recipes-kde/packagegroups/kde-world.bb index ecd9d8e7..59c35221 100644 --- a/recipes-kde/packagegroups/kde-world.bb +++ b/recipes-kde/packagegroups/kde-world.bb @@ -94,8 +94,10 @@ RDEPENDS_${PN} = " \ polkit-kde-agent-1 \ powerdevil \ systemsettings \ - \ kwayland \ + \ + kate \ + \ ${@bb.utils.contains("DISTRO_FEATURES", "x11", "kwin khotkeys kde-gtk-config sddm-kcm", "",d)} \ "