Gentoo Archives: gentoo-commits

From: Andreas Sturmlechner <asturm@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/gentoo:master commit in: sci-mathematics/rkward/, sci-mathematics/rkward/files/
Date: Fri, 07 Jan 2022 14:22:03
Message-Id: 1641565298.c2522b493bf5d0b1041111fab10c69d491259a86.asturm@gentoo
1 commit: c2522b493bf5d0b1041111fab10c69d491259a86
2 Author: Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
3 AuthorDate: Wed Dec 29 12:17:43 2021 +0000
4 Commit: Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
5 CommitDate: Fri Jan 7 14:21:38 2022 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=c2522b49
7
8 sci-mathematics/rkward: EAPI-8, more optfeature, various fixes
9
10 KDE-bug: https://bugs.kde.org/show_bug.cgi?id=389914
11 KDE-bug: https://bugs.kde.org/show_bug.cgi?id=430680
12 KDE-bug: https://bugs.kde.org/show_bug.cgi?id=438993
13
14 Reported-by: Milos Popovic <gpopac <AT> gmail.com>
15 Closes: https://bugs.gentoo.org/829998
16 Package-Manager: Portage-3.0.30, Repoman-3.0.3
17 Signed-off-by: Andreas Sturmlechner <asturm <AT> gentoo.org>
18
19 .../files/rkward-0.7.2-fix-crash-w-R-4.1.0.patch | 99 ++++++++++++
20 .../files/rkward-0.7.2-fix-dark-themes.patch | 172 +++++++++++++++++++++
21 .../files/rkward-0.7.2-fix-eop-tag-in-html.patch | 32 ++++
22 .../files/rkward-0.7.2-fix-hang-on-exit.patch | 28 ++++
23 .../rkward/files/rkward-0.7.2-fix-hidpi.patch | 25 +++
24 sci-mathematics/rkward/rkward-0.7.2-r1.ebuild | 64 ++++++++
25 6 files changed, 420 insertions(+)
26
27 diff --git a/sci-mathematics/rkward/files/rkward-0.7.2-fix-crash-w-R-4.1.0.patch b/sci-mathematics/rkward/files/rkward-0.7.2-fix-crash-w-R-4.1.0.patch
28 new file mode 100644
29 index 000000000000..2cc50575672b
30 --- /dev/null
31 +++ b/sci-mathematics/rkward/files/rkward-0.7.2-fix-crash-w-R-4.1.0.patch
32 @@ -0,0 +1,99 @@
33 +From 157207b915647cd8600c616cf6dfed8f83ecff30 Mon Sep 17 00:00:00 2001
34 +From: Thomas Friedrichsmeier <thomas.friedrichsmeier@×××××××.net>
35 +Date: Sat, 26 Jun 2021 22:16:22 +0200
36 +Subject: [PATCH] Add dummies for the new R graphics functions to avoid crash.
37 +
38 +This is not a proper implementation, yet.
39 +
40 +CCBUG: https://bugs.kde.org/show_bug.cgi?id=438993
41 +---
42 + ChangeLog | 3 ++
43 + .../rkwarddevice/rkgraphicsdevice_setup.cpp | 15 +++++++-
44 + .../rkwarddevice/rkgraphicsdevice_stubs.cpp | 36 +++++++++++++++++++
45 + 3 files changed, 53 insertions(+), 1 deletion(-)
46 +
47 +diff --git a/ChangeLog b/ChangeLog
48 +index 0210df6e..ae17bc62 100644
49 +--- a/ChangeLog
50 ++++ b/ChangeLog
51 +@@ -1,3 +1,6 @@
52 ++--- Version 0.7.2b - UNRELEASED
53 ++- Fixed: Crash when attempting to use new graphics features in R 4.1.0 (esp. plotting using ggplot2)
54 ++
55 + --- Version 0.7.2 - Oct-16-2020
56 + - Script preview keeps vertical scroll position when updating
57 + - Python development scripts have been ported to python3
58 +diff --git a/rkward/rbackend/rkwarddevice/rkgraphicsdevice_setup.cpp b/rkward/rbackend/rkwarddevice/rkgraphicsdevice_setup.cpp
59 +index 9909639f..e215c090 100644
60 +--- a/rkward/rbackend/rkwarddevice/rkgraphicsdevice_setup.cpp
61 ++++ b/rkward/rbackend/rkwarddevice/rkgraphicsdevice_setup.cpp
62 +@@ -216,6 +216,19 @@ bool RKGraphicsDeviceDesc::init (pDevDesc dev, double pointsize, const QStringLi
63 + #endif
64 + dev->newFrameConfirm = RKD_NewFrameConfirm;
65 +
66 ++#if R_VERSION >= R_Version (2, 14, 0)
67 ++ dev->holdflush = RKD_HoldFlush;
68 ++#endif
69 ++
70 ++#if R_VERSION >= R_Version (4, 1, 0)
71 ++ dev->setPattern = RKD_SetPattern;
72 ++ dev->releasePattern = RKD_ReleasePattern;
73 ++ dev->setClipPath = RKD_SetClipPath;
74 ++ dev->releaseClipPath = RKD_ReleaseClipPath;
75 ++ dev->setMask = RKD_SetMask;
76 ++ dev->releaseMask = RKD_ReleaseMask;
77 ++ dev->deviceVersion = 14;
78 ++ dev->deviceClip = FALSE; // for now
79 ++#endif
80 + return true;
81 + }
82 +-
83 +diff --git a/rkward/rbackend/rkwarddevice/rkgraphicsdevice_stubs.cpp b/rkward/rbackend/rkwarddevice/rkgraphicsdevice_stubs.cpp
84 +index 716a9511..b7be1609 100644
85 +--- a/rkward/rbackend/rkwarddevice/rkgraphicsdevice_stubs.cpp
86 ++++ b/rkward/rbackend/rkwarddevice/rkgraphicsdevice_stubs.cpp
87 +@@ -579,5 +579,41 @@ void RKD_onExit (pDevDesc dev) {
88 + }
89 + dev->gettingEvent = (Rboolean) false;
90 + }
91 ++#endif
92 ++
93 ++#if R_VERSION >= R_Version (2, 14, 0)
94 ++int RKD_HoldFlush (pDevDesc dev, int level) {
95 ++#warning implement me
96 ++ return 0;
97 ++}
98 ++#endif
99 ++
100 ++#if R_VERSION >= R_Version (4, 1, 0)
101 ++SEXP RKD_SetPattern (SEXP pattern, pDevDesc dd) {
102 ++#warning implement me
103 ++ return R_NilValue;
104 ++}
105 ++
106 ++void RKD_ReleasePattern (SEXP ref, pDevDesc dd) {
107 ++#warning implement me
108 ++}
109 ++
110 ++SEXP RKD_SetClipPath (SEXP path, SEXP ref, pDevDesc dd) {
111 ++#warning implement me
112 ++ return R_NilValue;
113 ++}
114 ++
115 ++void RKD_ReleaseClipPath (SEXP ref, pDevDesc dd) {
116 ++#warning implement me
117 ++}
118 ++
119 ++SEXP RKD_SetMask (SEXP path, SEXP ref, pDevDesc dd) {
120 ++#warning implement me
121 ++ return R_NilValue;
122 ++}
123 ++
124 ++void RKD_ReleaseMask (SEXP ref, pDevDesc dd) {
125 ++#warning implement me
126 ++}
127 +
128 + #endif
129 +--
130 +GitLab
131 +
132
133 diff --git a/sci-mathematics/rkward/files/rkward-0.7.2-fix-dark-themes.patch b/sci-mathematics/rkward/files/rkward-0.7.2-fix-dark-themes.patch
134 new file mode 100644
135 index 000000000000..005285e281bf
136 --- /dev/null
137 +++ b/sci-mathematics/rkward/files/rkward-0.7.2-fix-dark-themes.patch
138 @@ -0,0 +1,172 @@
139 +From 5d64b6d23f19f4307fca2d79838bb6e1e38c7f36 Mon Sep 17 00:00:00 2001
140 +From: Nick Panayioto <npanayioto3@×××××.com>
141 +Date: Thu, 28 Oct 2021 05:31:00 -0400
142 +Subject: [PATCH] Change plugin widgets that set their colors to use
143 + setStyleSheet, then clear the style sheet to restore the default color.
144 +
145 +This looks the same on light themes and makes dark themes not use white text on white background.
146 +
147 +BUG: 389914
148 +---
149 + rkward/misc/getfilenamewidget.cpp | 8 ++------
150 + rkward/misc/getfilenamewidget.h | 2 +-
151 + rkward/misc/rksaveobjectchooser.cpp | 6 ++----
152 + rkward/misc/rksaveobjectchooser.h | 2 +-
153 + rkward/plugin/rkinput.cpp | 8 +++-----
154 + rkward/plugin/rkpluginbrowser.cpp | 8 ++++----
155 + rkward/plugin/rkpluginsaveobject.cpp | 4 ++--
156 + rkward/plugin/rkvarslot.cpp | 7 +++----
157 + 8 files changed, 18 insertions(+), 27 deletions(-)
158 +
159 +diff --git a/rkward/misc/getfilenamewidget.cpp b/rkward/misc/getfilenamewidget.cpp
160 +index 6b7f1d26..a439b8a4 100644
161 +--- a/rkward/misc/getfilenamewidget.cpp
162 ++++ b/rkward/misc/getfilenamewidget.cpp
163 +@@ -137,11 +137,7 @@ QString GetFileNameWidget::getLocation () {
164 + return (edit->url ().url ());
165 + }
166 +
167 +-void GetFileNameWidget::setBackgroundColor (const QColor & color) {
168 ++void GetFileNameWidget::setStyleSheet (const QString & style) {
169 + RK_TRACE (MISC);
170 +-
171 +- QPalette palette = edit->lineEdit ()->palette ();
172 +- palette.setColor (edit->lineEdit ()->backgroundRole (), color);
173 +- edit->lineEdit ()->setPalette (palette);
174 ++ edit->setStyleSheet(style);
175 + }
176 +-
177 +diff --git a/rkward/misc/getfilenamewidget.h b/rkward/misc/getfilenamewidget.h
178 +index ecbf1364..71390667 100644
179 +--- a/rkward/misc/getfilenamewidget.h
180 ++++ b/rkward/misc/getfilenamewidget.h
181 +@@ -41,7 +41,7 @@ public:
182 + /** set the filename/location from outside */
183 + void setLocation (const QString &new_location);
184 +
185 +- void setBackgroundColor (const QColor & color);
186 ++ void setStyleSheet (const QString &style);
187 +
188 + /** retrieves the current location */
189 + QString getLocation ();
190 +diff --git a/rkward/misc/rksaveobjectchooser.cpp b/rkward/misc/rksaveobjectchooser.cpp
191 +index 5d53111d..157f6940 100644
192 +--- a/rkward/misc/rksaveobjectchooser.cpp
193 ++++ b/rkward/misc/rksaveobjectchooser.cpp
194 +@@ -194,12 +194,10 @@ void RKSaveObjectChooser::updateState () {
195 + }
196 + }
197 +
198 +-void RKSaveObjectChooser::setBackgroundColor (const QColor &color) {
199 ++void RKSaveObjectChooser::setStyleSheet (const QString &style) {
200 + RK_TRACE (MISC);
201 +
202 +- QPalette palette = name_edit->palette ();
203 +- palette.setColor (name_edit->backgroundRole (), color);
204 +- name_edit->setPalette (palette);
205 ++ name_edit->setStyleSheet(style);
206 + }
207 +
208 + QString RKSaveObjectChooser::currentBaseName () const {
209 +diff --git a/rkward/misc/rksaveobjectchooser.h b/rkward/misc/rksaveobjectchooser.h
210 +index c5da85c8..3cc56a85 100644
211 +--- a/rkward/misc/rksaveobjectchooser.h
212 ++++ b/rkward/misc/rksaveobjectchooser.h
213 +@@ -37,7 +37,7 @@ public:
214 + QString currentBaseName () const;
215 + bool isOk () const;
216 + void setBaseName (const QString &name);
217 +- void setBackgroundColor (const QColor &color);
218 ++ void setStyleSheet (const QString &style);
219 + RObject* rootObject () const { return root_object; };
220 + void setRootObject (RObject* new_root);
221 + private slots:
222 +diff --git a/rkward/plugin/rkinput.cpp b/rkward/plugin/rkinput.cpp
223 +index fdbab36a..a1a03ebd 100644
224 +--- a/rkward/plugin/rkinput.cpp
225 ++++ b/rkward/plugin/rkinput.cpp
226 +@@ -96,17 +96,15 @@ void RKInput::updateColor () {
227 + if (!widget) widget = textedit;
228 + RK_ASSERT (widget);
229 +
230 +- QPalette palette = widget->palette ();
231 + if (isEnabled ()) {
232 + if (isSatisfied ()) {
233 +- palette.setColor (widget->backgroundRole (), QColor (255, 255, 255));
234 ++ widget->setStyleSheet("");
235 + } else {
236 +- palette.setColor (widget->backgroundRole (), QColor (255, 0, 0));
237 ++ widget->setStyleSheet("background: red; color: black");
238 + }
239 + } else {
240 +- palette.setColor (widget->backgroundRole (), QColor (200, 200, 200));
241 ++ widget->setStyleSheet("background: rgb(200, 200, 200); color: black");
242 + }
243 +- widget->setPalette (palette);
244 + }
245 +
246 + void RKInput::requirednessChanged (RKComponentPropertyBase *) {
247 +diff --git a/rkward/plugin/rkpluginbrowser.cpp b/rkward/plugin/rkpluginbrowser.cpp
248 +index 9612acb5..ff862d16 100644
249 +--- a/rkward/plugin/rkpluginbrowser.cpp
250 ++++ b/rkward/plugin/rkpluginbrowser.cpp
251 +@@ -184,14 +184,14 @@ void RKPluginBrowser::updateColor () {
252 +
253 + if (isEnabled ()) {
254 + if (status == RKComponentBase::Satisfied) {
255 +- selector->setBackgroundColor (QColor (255, 255, 255));
256 ++ selector->setStyleSheet (QString (""));
257 + } else if (status == RKComponentBase::Processing) {
258 +- selector->setBackgroundColor (QColor (255, 255, 0));
259 ++ selector->setStyleSheet (QString ("background: yellow; color: black"));
260 + } else {
261 +- selector->setBackgroundColor (QColor (255, 0, 0));
262 ++ selector->setStyleSheet (QString ("background: red; color: black"));
263 + }
264 + } else {
265 +- selector->setBackgroundColor (QColor (200, 200, 200));
266 ++ selector->setStyleSheet (QString ("background: rgb(200, 200, 200); color: black"));
267 + }
268 + }
269 +
270 +diff --git a/rkward/plugin/rkpluginsaveobject.cpp b/rkward/plugin/rkpluginsaveobject.cpp
271 +index 7c084a99..52b9d867 100644
272 +--- a/rkward/plugin/rkpluginsaveobject.cpp
273 ++++ b/rkward/plugin/rkpluginsaveobject.cpp
274 +@@ -82,8 +82,8 @@ RKPluginSaveObject::~RKPluginSaveObject () {
275 + void RKPluginSaveObject::update () {
276 + RK_TRACE (PLUGIN);
277 +
278 +- if (isSatisfied ()) selector->setBackgroundColor (QColor (255, 255, 255));
279 +- else selector->setBackgroundColor (QColor (255, 0, 0));
280 ++ if (isSatisfied ()) selector->setStyleSheet(QString(""));
281 ++ else selector->setStyleSheet(QString("background: red; color: black"));
282 + changed ();
283 + }
284 +
285 +diff --git a/rkward/plugin/rkvarslot.cpp b/rkward/plugin/rkvarslot.cpp
286 +index bc250b25..6a2ae601 100644
287 +--- a/rkward/plugin/rkvarslot.cpp
288 ++++ b/rkward/plugin/rkvarslot.cpp
289 +@@ -183,15 +183,14 @@ void RKVarSlot::updateLook () {
290 +
291 + QPalette palette = list->palette ();
292 + if (!isSatisfied ()) { // implies that it is enabled
293 +- palette.setColor (QPalette::Base, QColor (255, 0, 0));
294 ++ list->setStyleSheet(QString("background: red; color: black"));
295 + } else {
296 + if (isEnabled ()) {
297 +- palette.setColor (QPalette::Base, QColor (255, 255, 255));
298 ++ list->setStyleSheet(QString(""));
299 + } else {
300 +- palette.setColor (QPalette::Base, QColor (200, 200, 200));
301 ++ list->setStyleSheet(QString("background: rgb(200, 200, 200); color: black"));
302 + }
303 + }
304 +- list->setPalette(palette);
305 + }
306 +
307 + void RKVarSlot::changeEvent (QEvent* event) {
308 +--
309 +GitLab
310 +
311
312 diff --git a/sci-mathematics/rkward/files/rkward-0.7.2-fix-eop-tag-in-html.patch b/sci-mathematics/rkward/files/rkward-0.7.2-fix-eop-tag-in-html.patch
313 new file mode 100644
314 index 000000000000..bd95490cbe4c
315 --- /dev/null
316 +++ b/sci-mathematics/rkward/files/rkward-0.7.2-fix-eop-tag-in-html.patch
317 @@ -0,0 +1,32 @@
318 +From 5f8fb9cd211f0e12ef40a0fc34a42c31f2a24475 Mon Sep 17 00:00:00 2001
319 +From: Johnny Jazeix <jazeix@×××××.com>
320 +Date: Tue, 7 Dec 2021 19:03:19 +0100
321 +Subject: [PATCH] fix end of paragraph tag in html for the rksetupwizard
322 +
323 +---
324 + rkward/dialogs/rksetupwizard.cpp | 6 +++---
325 + 1 file changed, 3 insertions(+), 3 deletions(-)
326 +
327 +diff --git a/rkward/dialogs/rksetupwizard.cpp b/rkward/dialogs/rksetupwizard.cpp
328 +index b14e06ec..e4787793 100644
329 +--- a/rkward/dialogs/rksetupwizard.cpp
330 ++++ b/rkward/dialogs/rksetupwizard.cpp
331 +@@ -130,12 +130,12 @@ RKSetupWizard::RKSetupWizard(QWidget* parent, InvokationReason reason, const QLi
332 + auto l = new QVBoxLayout(firstpage);
333 + QString intro = i18n("<p>This dialog will guide you through a quick check of the basic setup of the required (or recommended) components.</p>");
334 + if (reason == NewVersionRKWard) {
335 +- intro += i18n("<p>The setup assistant has been invoked, automatically, because a new version of RKWard has been detected.</p");
336 ++ intro += i18n("<p>The setup assistant has been invoked, automatically, because a new version of RKWard has been detected.</p>");
337 + } else if (reason == NewVersionR) {
338 + // TODO: invoke this!
339 +- intro += i18n("<p>The setup assistant has been invoked, automatically, because a new version of R has been detected.</p");
340 ++ intro += i18n("<p>The setup assistant has been invoked, automatically, because a new version of R has been detected.</p>");
341 + } else if (reason == ProblemsDetected) {
342 +- intro += i18n("<p>The setup assistant has been invoked, automatically, because a problem has been detected in your setup.</p");
343 ++ intro += i18n("<p>The setup assistant has been invoked, automatically, because a problem has been detected in your setup.</p>");
344 + }
345 + l->addWidget(RKCommonFunctions::wordWrappedLabel(intro));
346 + auto waiting_to_start_label = RKCommonFunctions::wordWrappedLabel(i18n("<b>Waiting for R backend...</b>") + "<p>&nbsp;</p><p>&nbsp;</p>");
347 +--
348 +GitLab
349 +
350
351 diff --git a/sci-mathematics/rkward/files/rkward-0.7.2-fix-hang-on-exit.patch b/sci-mathematics/rkward/files/rkward-0.7.2-fix-hang-on-exit.patch
352 new file mode 100644
353 index 000000000000..1ce37d11ffeb
354 --- /dev/null
355 +++ b/sci-mathematics/rkward/files/rkward-0.7.2-fix-hang-on-exit.patch
356 @@ -0,0 +1,28 @@
357 +From 4f17155eae5b81246e8172a80b9421ec0ad22bed Mon Sep 17 00:00:00 2001
358 +From: Thomas Friedrichsmeier <thomas.friedrichsmeier@×××××××.net>
359 +Date: Tue, 12 Jan 2021 09:21:29 +0100
360 +Subject: [PATCH] Fix hang on exit.
361 +
362 +(Not sure, whether there are other potential hang conditions on exit, but this is one.)
363 +
364 +BUG: 430680
365 +---
366 + rkward/rbackend/rkrbackendprotocol_frontend.cpp | 2 +-
367 + 1 file changed, 1 insertion(+), 1 deletion(-)
368 +
369 +diff --git a/rkward/rbackend/rkrbackendprotocol_frontend.cpp b/rkward/rbackend/rkrbackendprotocol_frontend.cpp
370 +index c46ed5de..e5cf5d68 100644
371 +--- a/rkward/rbackend/rkrbackendprotocol_frontend.cpp
372 ++++ b/rkward/rbackend/rkrbackendprotocol_frontend.cpp
373 +@@ -42,7 +42,7 @@ RKRBackendProtocolFrontend::~RKRBackendProtocolFrontend () {
374 + RKFrontendTransmitter::instance ()->wait(1000); // Wait for thread to catch the backend's exit request, and exit()
375 + RKFrontendTransmitter::instance ()->quit(); // Tell it to quit, otherwise
376 + RKFrontendTransmitter::instance ()->wait(3000); // Wait for thread to quit and clean up.
377 +- qApp->processEvents(); // Not strictly needed, but avoids some mem leaks on exit by handling all posted BackendExit events
378 ++ qApp->processEvents(QEventLoop::AllEvents, 500); // Not strictly needed, but avoids some mem leaks on exit by handling all posted BackendExit events
379 + delete RKFrontendTransmitter::instance ();
380 + }
381 +
382 +--
383 +GitLab
384 +
385
386 diff --git a/sci-mathematics/rkward/files/rkward-0.7.2-fix-hidpi.patch b/sci-mathematics/rkward/files/rkward-0.7.2-fix-hidpi.patch
387 new file mode 100644
388 index 000000000000..cff7b60f1951
389 --- /dev/null
390 +++ b/sci-mathematics/rkward/files/rkward-0.7.2-fix-hidpi.patch
391 @@ -0,0 +1,25 @@
392 +From f34cb38798e8a7d3f9a39f26be4ecab3013ea57c Mon Sep 17 00:00:00 2001
393 +From: Nicolas Fella <nicolas.fella@×××.de>
394 +Date: Tue, 5 Oct 2021 22:36:30 +0200
395 +Subject: [PATCH] Enable highdpi pixmaps
396 +
397 +This fixes icons being pixelated on highdpi screens
398 +---
399 + rkward/main.cpp | 1 +
400 + 1 file changed, 1 insertion(+)
401 +
402 +diff --git a/rkward/main.cpp b/rkward/main.cpp
403 +index 8eafd25c..7dcb34a5 100644
404 +--- a/rkward/main.cpp
405 ++++ b/rkward/main.cpp
406 +@@ -239,6 +239,7 @@ QString resolveRSpecOrFail (QString input, QString message) {
407 +
408 + int main (int argc, char *argv[]) {
409 + RK_Debug::RK_Debug_Level = DL_WARNING;
410 ++ QCoreApplication::setAttribute(Qt::AA_UseHighDpiPixmaps);
411 + #ifndef NO_QT_WEBENGINE
412 + // annoyingly, QWebEngineUrlSchemes have to be registered before creating the app.
413 + QWebEngineUrlScheme scheme("help");
414 +--
415 +GitLab
416 +
417
418 diff --git a/sci-mathematics/rkward/rkward-0.7.2-r1.ebuild b/sci-mathematics/rkward/rkward-0.7.2-r1.ebuild
419 new file mode 100644
420 index 000000000000..80ead3401703
421 --- /dev/null
422 +++ b/sci-mathematics/rkward/rkward-0.7.2-r1.ebuild
423 @@ -0,0 +1,64 @@
424 +# Copyright 1999-2021 Gentoo Authors
425 +# Distributed under the terms of the GNU General Public License v2
426 +
427 +EAPI=8
428 +
429 +ECM_HANDBOOK="forceoptional"
430 +inherit ecm kde.org optfeature
431 +
432 +DESCRIPTION="IDE for the R-project"
433 +HOMEPAGE="https://rkward.kde.org/"
434 +
435 +if [[ ${KDE_BUILD_TYPE} = release ]]; then
436 + SRC_URI="mirror://kde/stable/${PN}/${PV}/src/${P}.tar.gz"
437 + KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
438 +fi
439 +
440 +LICENSE="GPL-2+ LGPL-2"
441 +SLOT="5"
442 +IUSE=""
443 +
444 +DEPEND="
445 + dev-lang/R
446 + dev-qt/qtgui:5
447 + dev-qt/qtnetwork:5
448 + dev-qt/qtprintsupport:5
449 + dev-qt/qtscript:5
450 + dev-qt/qtwebengine:5[widgets]
451 + dev-qt/qtwidgets:5
452 + dev-qt/qtxml:5
453 + kde-frameworks/kcompletion:5
454 + kde-frameworks/kconfig:5
455 + kde-frameworks/kconfigwidgets:5
456 + kde-frameworks/kcoreaddons:5
457 + kde-frameworks/kcrash:5
458 + kde-frameworks/ki18n:5
459 + kde-frameworks/kio:5
460 + kde-frameworks/kjobwidgets:5
461 + kde-frameworks/knotifications:5
462 + kde-frameworks/kparts:5
463 + kde-frameworks/kservice:5
464 + kde-frameworks/ktexteditor:5
465 + kde-frameworks/kwidgetsaddons:5
466 + kde-frameworks/kwindowsystem:5
467 + kde-frameworks/kxmlgui:5
468 +"
469 +RDEPEND="${DEPEND}"
470 +BDEPEND="sys-devel/gettext"
471 +
472 +PATCHES=(
473 + "${FILESDIR}"/${P}-fix-crash-w-R-4.1.0.patch # KDE-bug 438993
474 + "${FILESDIR}"/${P}-fix-hang-on-exit.patch # KDE-bug 430680
475 + "${FILESDIR}"/${P}-fix-dark-themes.patch # KDE-bug 389914
476 + "${FILESDIR}"/${P}-fix-eop-tag-in-html.patch
477 + "${FILESDIR}"/${P}-fix-hidpi.patch
478 +)
479 +
480 +pkg_postinst() {
481 + if [[ -z "${REPLACING_VERSIONS}" ]]; then
482 + optfeature "kate plugins support" "kde-apps/kate:${SLOT}"
483 + optfeature "prendering (or previewing) R markdown (.Rmd) files" "app-text/pandoc"
484 + optfeature "managing citations while writing articles" "app-text/kbibtex"
485 + fi
486 + ecm_pkg_postinst
487 +}