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> </p><p> </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 |
+} |