summaryrefslogtreecommitdiff
path: root/kde-misc/yakuake
diff options
context:
space:
mode:
authorV3n3RiX <venerix@redcorelinux.org>2017-10-13 21:03:07 +0100
committerV3n3RiX <venerix@redcorelinux.org>2017-10-13 21:03:07 +0100
commit8fbd420dce8836e6503b162092e07b6a77a89f1d (patch)
tree071c621ef44d7c1b24a430ac7671d68963b5a4cf /kde-misc/yakuake
parent12d78242dec4f785d0a0bfb1c00eee2d8996c53b (diff)
gentoo resync : 13.10.2017
Diffstat (limited to 'kde-misc/yakuake')
-rw-r--r--kde-misc/yakuake/Manifest5
-rw-r--r--kde-misc/yakuake/files/yakuake-3.0.4-qdbus-crash.patch44
-rw-r--r--kde-misc/yakuake/files/yakuake-3.0.4-qicon.patch32
-rw-r--r--kde-misc/yakuake/files/yakuake-3.0.4-qt-5.9-wayland.patch120
-rw-r--r--kde-misc/yakuake/files/yakuake-3.0.4-wayland.patch28
-rw-r--r--kde-misc/yakuake/yakuake-3.0.4-r1.ebuild54
6 files changed, 283 insertions, 0 deletions
diff --git a/kde-misc/yakuake/Manifest b/kde-misc/yakuake/Manifest
index aeaf79a8c3f4..433aef9965d2 100644
--- a/kde-misc/yakuake/Manifest
+++ b/kde-misc/yakuake/Manifest
@@ -1,4 +1,9 @@
+AUX yakuake-3.0.4-qdbus-crash.patch 1425 SHA256 eaf60a7a4467710b40e005b936369670525e17ce0337f7014bcec02ebd38387f SHA512 04b1ecf9c01cb5917fd74d4983f60d81dd815da7e0c4f9da14715d796e5bb365ad1d4fbc1be43c7ddf1e84463bf51d1198693a8a95ca93ae26fe5fb248fe0119 WHIRLPOOL a6efd18da9a43ad96bd947e9da519a89770c146b7c26e85d0158e28c4b6d5d57182ad7109350767323ce1ef00310416d976f58d9ed22470cfce159616caebc0d
+AUX yakuake-3.0.4-qicon.patch 1405 SHA256 0363d0e2502f91f2151c602d52f3c0d9035069fc4dffacc00442e2f9e036e267 SHA512 fd2c68341a77cfedf4d34a854efc7c513c16741cf2e3cf4300c1b1ee4e45560d9e5f318303493d4112141255bd3288437db2b251a722db0ec410c2241f842b44 WHIRLPOOL 4d8a56d623f513cf85918acbb5d443a216ae9d601b2805a963b8f09956be270f2e91e5f3dd9fcca2bf37fff73c05877049ffca90a572cea3d77c1f89dd16fcac
+AUX yakuake-3.0.4-qt-5.9-wayland.patch 3408 SHA256 0f5c7d10be914cf3ce5fc57cf635cf5ce6905c67ba5c439b306b9cbcf5914f46 SHA512 1c0486b186e3443dc20c828cd241b2b07093d3314263a6cda16b97ae4aea883281124988f0c989d2116ecc3fa832587b54fa5027555d12157fe40bdd5201ce42 WHIRLPOOL 9fb1d125352ce1110a1f25add35fb467b412170379718bf4a12eddd9edd2dedcda9005bf92d23a1895a1db7dba3a8e4933dc29098939b3bdf6284f4931179f4e
+AUX yakuake-3.0.4-wayland.patch 783 SHA256 359aa9a723cb962a2511e16344fb92100c4c67ebde1276df4858526c9f85c2ef SHA512 20599bca17ca2df29aacf0d8b0e0df22b30b9ce17a71a4a4b5055d1cb56b85729495fe4faa472e9d1b46217071b5fb8b823bea19e1abf9f3094ea53e5f35878d WHIRLPOOL 1e8f577fe82364abdbd653634df090fccf99730b82d741659696c059e2aa206e4a10bd4675474e377086178f66f86ce20080ec338122ec4c19d90ad134af7c89
DIST yakuake-3.0.4.tar.xz 367788 SHA256 10e2b57c508e2ec5bfd09eac38c4c16a1ac4b93b394b3ce3120b7d8859b861e0 SHA512 e50fe742349e02116bb9d7edd61178fcbc215ace39d50b48fb8ec3095c948a7ff91add7be5d8778c817f9d5b4663d4cefe3e0ef197c7ec6e0b88b3158ff39659 WHIRLPOOL 4223f973ddc5cb6d40289f8e9943740c9a734ffa9b05763c09a1baf1323065454e13f8fb86ff904672300a87bad6168e44808c23ea851cd92ecce9454f107d7d
+EBUILD yakuake-3.0.4-r1.ebuild 1373 SHA256 da3d8b95e4c99aa88bc06fbe6033daec89217d859bba5d07013cb500bfb6e9e2 SHA512 0c46b9561c97eee17414776919f06e08df142e6f0748554959279fa74314d2540b0c2f77218805e3b58157727044b7639a9084c917ea6a14710dbbf3e0c43f29 WHIRLPOOL 16d582be58515e82d0457c6c0f4e18d4650552aa4e885b588662663b7a093b2f71d4dddef3af91fbaa768bd444ba8a87a4557c509b4e4e5a18f3bc0cbf3b199d
EBUILD yakuake-3.0.4.ebuild 1213 SHA256 eadc132a22df56749e075c35b2558c9829b2cb45d36ed1f3afe1bac78115a008 SHA512 0613901cfa2d84b485c8ef3677f21b92c9eaf54770af211777b80923e7c13bb3cc3939cad9b4e18c7c85c941e6c46b78b78ec4ae9ad553d4f781648cea7039fd WHIRLPOOL 144dc1a045d3ae4443d826d7c5ad74a750bcc51191faedfddd3ca3f7f0f7d6d82d71b0a2f79ebda10d0373f909ddc975f62451989d7f69baa1dff0ecdc69a6f7
MISC ChangeLog 3929 SHA256 fbf7de6faad33e9607fa6e17621841b02efd86c90261f4013de8815278f91927 SHA512 19864f165278c9dec86d9a381ef6dd0dabc52865fe0b815580843749a4257aebc44e6370a21d0fc48886e92f05a939af92da7ac03df21636b6337da5481abf47 WHIRLPOOL 60641c2aa224d309ef0276e9c45b8b400fbc69a5fd088e8a87cf8ff09b5a593d64afcdfd3605542462379ca46b66d0ff8e43723ae6c76448db3b6042add192e1
MISC ChangeLog-2015 8962 SHA256 3071ef9697f9c8a21610f3e3930c50006872cc4ec375ebafdc16e9fbae1780ce SHA512 00b9ebd76416c927477918ffa8abb0cbb75d2e5a018eeb41c5fda1aed4d46dddb845bc2f242292adf4eb6584df1f7a9273ffe5f60c1fe4904b129f39980f4797 WHIRLPOOL f461ff48e69be9309ea5dbf5e80392740190620ed9c6aa8994ec09f04a0dc7ca26c8d7d8e4bf9de4b88ff0788ce8d5e925334c2c381e51baa6d5e7c449dcdc5b
diff --git a/kde-misc/yakuake/files/yakuake-3.0.4-qdbus-crash.patch b/kde-misc/yakuake/files/yakuake-3.0.4-qdbus-crash.patch
new file mode 100644
index 000000000000..da3b042d7012
--- /dev/null
+++ b/kde-misc/yakuake/files/yakuake-3.0.4-qdbus-crash.patch
@@ -0,0 +1,44 @@
+From 09abe657c65ba482ce9253e54467d33276f88bc9 Mon Sep 17 00:00:00 2001
+From: Vangelis Tasoulas <cyberang3l@gmail.com>
+Date: Sat, 16 Sep 2017 16:42:44 +0500
+Subject: Fixes a yakuake "index out of range" crash produced by QDBus exposed
+ function TabBar::sessionAtTab(int)
+
+Summary:
+The function `TabBar::sessionAtTab(int index)` is exposed through QDBus and if a user/script passes a negative number, yakuake crashes with `index out of range`.
+
+This patch fixes that behaviour with a sanity check. If the user passes a negative number, return -1.
+
+Test Plan:
+Run the command `qdbus org.kde.yakuake /yakuake/tabs org.kde.yakuake.sessionAtTab -1`
+Yakuake will crash.
+
+Apply the patch and re-run the above `qdbus` command. It shouldn't be crashing now.
+
+Reviewers: #kde_applications, hein, alexeymin
+
+Reviewed By: #kde_applications, hein, alexeymin
+
+Subscribers: alexeymin
+
+Differential Revision: https://phabricator.kde.org/D7812
+---
+ app/tabbar.cpp | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/app/tabbar.cpp b/app/tabbar.cpp
+index b76cdee..1bc6fdd 100644
+--- a/app/tabbar.cpp
++++ b/app/tabbar.cpp
+@@ -914,7 +914,7 @@ void TabBar::setTabTitleInteractive(int sessionId, const QString& newTitle)
+
+ int TabBar::sessionAtTab(int index)
+ {
+- if (index > m_tabs.count() - 1)
++ if (index < 0 || index > m_tabs.count() - 1)
+ return -1;
+ else
+ return m_tabs.at(index);
+--
+cgit v0.11.2
+
diff --git a/kde-misc/yakuake/files/yakuake-3.0.4-qicon.patch b/kde-misc/yakuake/files/yakuake-3.0.4-qicon.patch
new file mode 100644
index 000000000000..608a09cf39da
--- /dev/null
+++ b/kde-misc/yakuake/files/yakuake-3.0.4-qicon.patch
@@ -0,0 +1,32 @@
+From 28138a891ff71236b3b8efcd1bc5fe7a2fe09b0d Mon Sep 17 00:00:00 2001
+From: Kai Uwe Broulik <kde@privat.broulik.de>
+Date: Wed, 2 Aug 2017 16:31:09 +0200
+Subject: [Appearance Settings] QIcon -> QIcon::fromTheme
+
+Most likely a porting error from KIcon
+
+Reviewed-By: Eike Hein
+---
+ app/config/appearancesettings.cpp | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/app/config/appearancesettings.cpp b/app/config/appearancesettings.cpp
+index c21ac33..b7d5c6f 100644
+--- a/app/config/appearancesettings.cpp
++++ b/app/config/appearancesettings.cpp
+@@ -63,9 +63,9 @@ AppearanceSettings::AppearanceSettings(QWidget* parent) : QWidget(parent)
+ connect(installButton, SIGNAL(clicked()), this, SLOT(installSkin()));
+ connect(removeButton, SIGNAL(clicked()), this, SLOT(removeSelectedSkin()));
+
+- installButton->setIcon(QIcon(QStringLiteral("folder")));
+- removeButton->setIcon(QIcon(QStringLiteral("edit-delete")));
+- ghnsButton->setIcon(QIcon(QStringLiteral("get-hot-new-stuff")));
++ installButton->setIcon(QIcon::fromTheme(QStringLiteral("folder")));
++ removeButton->setIcon(QIcon::fromTheme(QStringLiteral("edit-delete")));
++ ghnsButton->setIcon(QIcon::fromTheme(QStringLiteral("get-hot-new-stuff")));
+
+ m_knsConfigFileName = QLatin1String("yakuake.knsrc");
+ m_knsDownloadManager = new KNSCore::DownloadManager(m_knsConfigFileName);
+--
+cgit v0.11.2
+
diff --git a/kde-misc/yakuake/files/yakuake-3.0.4-qt-5.9-wayland.patch b/kde-misc/yakuake/files/yakuake-3.0.4-qt-5.9-wayland.patch
new file mode 100644
index 000000000000..b24781dcc9ff
--- /dev/null
+++ b/kde-misc/yakuake/files/yakuake-3.0.4-qt-5.9-wayland.patch
@@ -0,0 +1,120 @@
+From 7534df21025b10fd236dd5a8f92d0dff7889e0ef Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Martin=20Fl=C3=B6ser?= <mgraesslin@kde.org>
+Date: Wed, 6 Sep 2017 18:42:01 +0200
+Subject: Make Yakuake work on Wayland with Qt 5.9
+
+Summary:
+Yakuake is also affected by the common problem that the integration
+breaks once a window gets hidden, which is a very common feature of
+Yakuake.
+
+This change tracks the PlasmaShellSurface, destroys it on hide and
+recreates on show. Thus it's alwyas positioned as expected.
+
+Test Plan:
+This commit was created using a yakuake which is positioned
+correctly, although I pressed F12 a few times.
+
+Differential Revision: https://phabricator.kde.org/D7709
+---
+ app/mainwindow.cpp | 33 ++++++++++++++++++++++++++-------
+ app/mainwindow.h | 3 +++
+ 2 files changed, 29 insertions(+), 7 deletions(-)
+
+diff --git a/app/mainwindow.cpp b/app/mainwindow.cpp
+index a7b0d89..6fa9160 100644
+--- a/app/mainwindow.cpp
++++ b/app/mainwindow.cpp
+@@ -95,6 +95,7 @@ MainWindow::MainWindow(QWidget* parent)
+ m_isWayland = QGuiApplication::platformName().startsWith(QLatin1String("wayland"));
+ #if HAVE_KWAYLAND
+ m_plasmaShell = Q_NULLPTR;
++ m_plasmaShellSurface = Q_NULLPTR;
+ initWayland();
+ #endif
+
+@@ -176,6 +177,21 @@ void MainWindow::initWayland()
+ registry->setup();
+ connection->roundtrip();
+ }
++
++void MainWindow::initWaylandSurface()
++{
++ if (m_plasmaShellSurface) {
++ return;
++ }
++ if (!m_plasmaShell) {
++ return;
++ }
++ if (auto surface = KWayland::Client::Surface::fromWindow(windowHandle())) {
++ m_plasmaShellSurface = m_plasmaShell->createSurface(surface, this);
++ m_plasmaShellSurface->setPosition(pos());
++ }
++}
++
+ #endif
+
+ bool MainWindow::queryClose()
+@@ -861,13 +877,7 @@ void MainWindow::setWindowGeometry(int newWidth, int newHeight, int newPosition)
+ setGeometry(workArea.x() + workArea.width() * newPosition * (100 - newWidth) / 10000,
+ workArea.y(), targetWidth, maxHeight);
+ #if HAVE_KWAYLAND
+- if (m_plasmaShell) {
+- if (auto surface = KWayland::Client::Surface::fromWindow(windowHandle())) {
+- if (auto plasmaSurface = m_plasmaShell->createSurface(surface, this)) {
+- plasmaSurface->setPosition(pos());
+- }
+- }
+- }
++ initWaylandSurface();
+ #endif
+
+ maxHeight -= m_titleBar->height();
+@@ -1303,6 +1313,10 @@ void MainWindow::sharedAfterOpenWindow()
+
+ applyWindowProperties();
+
++#if HAVE_KWAYLAND
++ initWaylandSurface();
++#endif
++
+ emit windowOpened();
+ }
+
+@@ -1316,6 +1330,11 @@ void MainWindow::sharedAfterHideWindow()
+ {
+ if (Settings::pollMouse()) toggleMousePoll(true);
+
++#if HAVE_KWAYLAND
++ delete m_plasmaShellSurface;
++ m_plasmaShellSurface = Q_NULLPTR;
++#endif
++
+ emit windowClosed();
+ }
+
+diff --git a/app/mainwindow.h b/app/mainwindow.h
+index 8a46c89..bb6404e 100644
+--- a/app/mainwindow.h
++++ b/app/mainwindow.h
+@@ -44,6 +44,7 @@ class KActionCollection;
+ namespace KWayland {
+ namespace Client {
+ class PlasmaShell;
++ class PlasmaShellSurface;
+ }
+ }
+ #endif
+@@ -203,7 +204,9 @@ class MainWindow : public QMainWindow
+
+ #if HAVE_KWAYLAND
+ void initWayland();
++ void initWaylandSurface();
+ KWayland::Client::PlasmaShell *m_plasmaShell;
++ KWayland::Client::PlasmaShellSurface *m_plasmaShellSurface;
+ #endif
+ };
+
+--
+cgit v0.11.2
+
diff --git a/kde-misc/yakuake/files/yakuake-3.0.4-wayland.patch b/kde-misc/yakuake/files/yakuake-3.0.4-wayland.patch
new file mode 100644
index 000000000000..cce53b8ac612
--- /dev/null
+++ b/kde-misc/yakuake/files/yakuake-3.0.4-wayland.patch
@@ -0,0 +1,28 @@
+From 3cdc1d0654dcd8e6eb3fc01d95fcccafe68cbb47 Mon Sep 17 00:00:00 2001
+From: Aleix Pol <aleixpol@kde.org>
+Date: Thu, 12 Oct 2017 18:41:58 +0200
+Subject: Fix (my) yakuake on a wayland session
+
+KWindowSystem::activeWindow and winId are two entirely different things.
+
+Reviewed by Eike
+---
+ app/mainwindow.cpp | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/app/mainwindow.cpp b/app/mainwindow.cpp
+index 6fa9160..028bb9c 100644
+--- a/app/mainwindow.cpp
++++ b/app/mainwindow.cpp
+@@ -1023,7 +1023,7 @@ void MainWindow::wmActiveWindowChanged()
+ return;
+ }
+
+- if (!Settings::keepOpen() && isVisible() && KWindowSystem::activeWindow() != winId()) {
++ if (!Settings::keepOpen() && hasFocus()) {
+ toggleWindowState();
+ }
+ }
+--
+cgit v0.11.2
+
diff --git a/kde-misc/yakuake/yakuake-3.0.4-r1.ebuild b/kde-misc/yakuake/yakuake-3.0.4-r1.ebuild
new file mode 100644
index 000000000000..937b781bd665
--- /dev/null
+++ b/kde-misc/yakuake/yakuake-3.0.4-r1.ebuild
@@ -0,0 +1,54 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit kde5
+
+DESCRIPTION="Quake-style terminal emulator based on konsole"
+HOMEPAGE="https://yakuake.kde.org/"
+if [[ ${KDE_BUILD_TYPE} != live ]]; then
+ SRC_URI="mirror://kde/stable/${PN}/${PV}/src/${P}.tar.xz"
+fi
+
+LICENSE="GPL-2 LGPL-2"
+KEYWORDS="~amd64 ~x86"
+IUSE=""
+
+DEPEND="
+ $(add_frameworks_dep karchive)
+ $(add_frameworks_dep kconfig)
+ $(add_frameworks_dep kconfigwidgets)
+ $(add_frameworks_dep kcoreaddons)
+ $(add_frameworks_dep kcrash)
+ $(add_frameworks_dep kdbusaddons)
+ $(add_frameworks_dep kglobalaccel)
+ $(add_frameworks_dep ki18n)
+ $(add_frameworks_dep kiconthemes)
+ $(add_frameworks_dep kio)
+ $(add_frameworks_dep knewstuff)
+ $(add_frameworks_dep knotifications)
+ $(add_frameworks_dep knotifyconfig)
+ $(add_frameworks_dep kparts)
+ $(add_frameworks_dep kservice)
+ $(add_frameworks_dep kwayland)
+ $(add_frameworks_dep kwidgetsaddons)
+ $(add_frameworks_dep kwindowsystem)
+ $(add_frameworks_dep kxmlgui)
+ $(add_kdeapps_dep konsole)
+ $(add_qt_dep qtdbus)
+ $(add_qt_dep qtgui)
+ $(add_qt_dep qtwidgets)
+ $(add_qt_dep qtx11extras)
+ x11-libs/libX11
+"
+RDEPEND="${DEPEND}
+ !kde-misc/yakuake:4
+"
+
+PATCHES=(
+ "${FILESDIR}/${P}-qicon.patch"
+ "${FILESDIR}/${P}-qt-5.9-wayland.patch"
+ "${FILESDIR}/${P}-qdbus-crash.patch"
+ "${FILESDIR}/${P}-wayland.patch"
+)