diff --git a/desktop/toolkit/gtk/gtk2/files/fedora/0001-Fix-compiler-warnings-with-GCC-8.1.patch b/desktop/toolkit/gtk/gtk2/files/fedora/0001-Fix-compiler-warnings-with-GCC-8.1.patch new file mode 100644 index 0000000000..52d3e87b05 --- /dev/null +++ b/desktop/toolkit/gtk/gtk2/files/fedora/0001-Fix-compiler-warnings-with-GCC-8.1.patch @@ -0,0 +1,67 @@ +From 889a63dffc72c048502d0f7d2b26bfc8532462eb Mon Sep 17 00:00:00 2001 +From: John Lindgren +Date: Tue, 15 May 2018 21:47:12 -0400 +Subject: [PATCH] Fix compiler warnings with GCC 8.1. +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +GCC 8.1 added some new warnings, including warning about parentheses +with no effect in variable declarations. GTK2 headers have a few of +these, which produce a lot of warnings in projects using GTK2. + +The warnings look like: +/usr/include/gtk-2.0/gtk/gtkfilechooserbutton.h:59:8: warning: +unnecessary parentheses in declaration of ‘__gtk_reserved1’ [-Wparentheses] + void (*__gtk_reserved1); + ^ + +Removing the parentheses is harmless and fixes the warnings. +--- + gtk/gtkfilechooserbutton.h | 14 +++++++------- + gtk/gtkstatusicon.h | 4 ++-- + 2 files changed, 9 insertions(+), 9 deletions(-) + +diff --git a/gtk/gtkfilechooserbutton.h b/gtk/gtkfilechooserbutton.h +index b3d9112cf9..fdacc4b6ec 100644 +--- a/gtk/gtkfilechooserbutton.h ++++ b/gtk/gtkfilechooserbutton.h +@@ -56,13 +56,13 @@ struct _GtkFileChooserButtonClass + + void (* file_set) (GtkFileChooserButton *fc); + +- void (*__gtk_reserved1); +- void (*__gtk_reserved2); +- void (*__gtk_reserved3); +- void (*__gtk_reserved4); +- void (*__gtk_reserved5); +- void (*__gtk_reserved6); +- void (*__gtk_reserved7); ++ void *__gtk_reserved1; ++ void *__gtk_reserved2; ++ void *__gtk_reserved3; ++ void *__gtk_reserved4; ++ void *__gtk_reserved5; ++ void *__gtk_reserved6; ++ void *__gtk_reserved7; + }; + + +diff --git a/gtk/gtkstatusicon.h b/gtk/gtkstatusicon.h +index 19dbd1cdeb..c45caca5ae 100644 +--- a/gtk/gtkstatusicon.h ++++ b/gtk/gtkstatusicon.h +@@ -73,8 +73,8 @@ struct _GtkStatusIconClass + gboolean keyboard_mode, + GtkTooltip *tooltip); + +- void (*__gtk_reserved1); +- void (*__gtk_reserved2); ++ void *__gtk_reserved1; ++ void *__gtk_reserved2; + }; + + GType gtk_status_icon_get_type (void) G_GNUC_CONST; +-- +2.20.1 + diff --git a/desktop/toolkit/gtk/gtk2/files/fedora/0001-calendar-Use-the-new-OB-format-if-supported.patch b/desktop/toolkit/gtk/gtk2/files/fedora/0001-calendar-Use-the-new-OB-format-if-supported.patch new file mode 100644 index 0000000000..32be854c8d --- /dev/null +++ b/desktop/toolkit/gtk/gtk2/files/fedora/0001-calendar-Use-the-new-OB-format-if-supported.patch @@ -0,0 +1,63 @@ +From 2ea743ab466703091a44a74e1a4ac7db983c0bca Mon Sep 17 00:00:00 2001 +From: Rafal Luzynski +Date: Sat, 10 Feb 2018 14:07:56 +0100 +Subject: [PATCH] calendar: Use the new "%OB" format if supported + +Due to the recent changes introduced in glibc 2.27 "%OB" is the +correct format to obtain a month name as used in the calendar +header. The same rule has been working in BSD family (including +OS X) since 1990s. This simple hack checks whether "%OB" is supported +at runtime and uses it if it is, falls back to the old "%B" otherwise. + +Closes: #9 +--- + gtk/gtkcalendar.c | 19 +++++++++++++++++-- + 1 file changed, 17 insertions(+), 2 deletions(-) + +diff --git a/gtk/gtkcalendar.c b/gtk/gtkcalendar.c +index 2dd68d6394..28baba16f1 100644 +--- a/gtk/gtkcalendar.c ++++ b/gtk/gtkcalendar.c +@@ -689,6 +689,7 @@ gtk_calendar_init (GtkCalendar *calendar) + #ifdef G_OS_WIN32 + wchar_t wbuffer[100]; + #else ++ static const char *month_format = NULL; + char buffer[255]; + time_t tmp_time; + #endif +@@ -714,7 +715,7 @@ gtk_calendar_init (GtkCalendar *calendar) + { + #ifndef G_OS_WIN32 + tmp_time= (i+3)*86400; +- strftime ( buffer, sizeof (buffer), "%a", gmtime (&tmp_time)); ++ strftime (buffer, sizeof (buffer), "%a", gmtime (&tmp_time)); + default_abbreviated_dayname[i] = g_locale_to_utf8 (buffer, -1, NULL, NULL, NULL); + #else + if (!GetLocaleInfoW (GetThreadLocale (), LOCALE_SABBREVDAYNAME1 + (i+6)%7, +@@ -730,7 +731,21 @@ gtk_calendar_init (GtkCalendar *calendar) + { + #ifndef G_OS_WIN32 + tmp_time=i*2764800; +- strftime ( buffer, sizeof (buffer), "%B", gmtime (&tmp_time)); ++ if (G_UNLIKELY (month_format == NULL)) ++ { ++ buffer[0] = '\0'; ++ month_format = "%OB"; ++ strftime (buffer, sizeof (buffer), month_format, gmtime (&tmp_time)); ++ /* "%OB" is not supported in Linux with glibc < 2.27 */ ++ if (!strcmp (buffer, "%OB") || !strcmp (buffer, "OB") || !strcmp (buffer, "")) ++ { ++ month_format = "%B"; ++ strftime (buffer, sizeof (buffer), month_format, gmtime (&tmp_time)); ++ } ++ } ++ else ++ strftime (buffer, sizeof (buffer), month_format, gmtime (&tmp_time)); ++ + default_monthname[i] = g_locale_to_utf8 (buffer, -1, NULL, NULL, NULL); + #else + if (!GetLocaleInfoW (GetThreadLocale (), LOCALE_SMONTHNAME1 + i, +-- +2.20.1 + diff --git a/desktop/toolkit/gtk/gtk2/files/fedora/python3.patch b/desktop/toolkit/gtk/gtk2/files/fedora/python3.patch new file mode 100644 index 0000000000..72b2f43fa7 --- /dev/null +++ b/desktop/toolkit/gtk/gtk2/files/fedora/python3.patch @@ -0,0 +1,170 @@ +Uupstream pull request: https://gitlab.gnome.org/GNOME/gtk/merge_requests/1080 + +From 3ff8f70b9686205f0618d7a479fd42a457b90165 Mon Sep 17 00:00:00 2001 +From: Petr Viktorin +Date: Tue, 3 Sep 2019 13:54:49 +0200 +Subject: [PATCH 1/3] Make gtk-builder-convert compatible with Python 3 + +- Convert tabs to spaces +- Use print as a function, even on Python 2 +- Output a binary file, or decode for stdout +--- + gtk/gtk-builder-convert | 25 ++++++++++++++----------- + 1 file changed, 14 insertions(+), 11 deletions(-) + +diff --git a/gtk/gtk-builder-convert b/gtk/gtk-builder-convert +index ea737de195..41f7a8c941 100755 +--- a/gtk/gtk-builder-convert ++++ b/gtk/gtk-builder-convert +@@ -36,6 +36,7 @@ Examples: + + Report bugs to http://bugzilla.gnome.org/.""" + ++from __future__ import print_function + import getopt + import os + import sys +@@ -259,7 +260,7 @@ class GtkBuilderConverter(object): + for node in objects: + self._convert(node.getAttribute("class"), node) + if self._get_object(node.getAttribute('id')) is not None: +- print "WARNING: duplicate id \"" + node.getAttribute('id') + "\"" ++ print("WARNING: duplicate id \"" + node.getAttribute('id') + "\"") + self.objects[node.getAttribute('id')] = node + + # Convert Gazpachos UI tag +@@ -277,8 +278,7 @@ class GtkBuilderConverter(object): + # reverse=True): + # when we can depend on python 2.4 or higher + root_objects = self.root_objects[:] +- root_objects.sort(lambda a, b: cmp(b.getAttribute('id'), +- a.getAttribute('id'))) ++ root_objects.sort(key=lambda a: a.getAttribute('id'), reverse=True) + for obj in root_objects: + self._interface.childNodes.insert(0, obj) + +@@ -461,8 +461,8 @@ class GtkBuilderConverter(object): + if signal_name in ['activate', 'toggled']: + action.appendChild(signal) + else: +- print 'Unhandled signal %s::%s' % (node.getAttribute('class'), +- signal_name) ++ print('Unhandled signal %s::%s' % (node.getAttribute('class'), ++ signal_name)) + + if not uimgr.childNodes: + child = self._dom.createElement('child') +@@ -481,8 +481,8 @@ class GtkBuilderConverter(object): + for accelerator in get_accelerator_nodes(node): + signal_name = accelerator.getAttribute('signal') + if signal_name != 'activate': +- print 'Unhandled accelerator signal for %s::%s' % ( +- node.getAttribute('class'), signal_name) ++ print('Unhandled accelerator signal for %s::%s' % ( ++ node.getAttribute('class'), signal_name)) + continue + accelerator.removeAttribute('signal') + child.appendChild(accelerator) +@@ -747,7 +747,7 @@ def _indent(output): + return s.stdout.read() + + def usage(): +- print __doc__ ++ print(__doc__) + + def main(args): + try: +@@ -788,10 +788,13 @@ def main(args): + + xml = _indent(conv.to_xml()) + if output_filename == "-": +- print xml ++ if isinstance(xml, str): ++ print(xml) ++ else: ++ print(xml.decode(sys.stdout.encoding)) + else: +- open(output_filename, 'w').write(xml) +- print "Wrote", output_filename ++ open(output_filename, 'wb').write(xml) ++ print("Wrote", output_filename) + + return 0 + +-- +2.22.0 + + +From 4f8efe3ae09ee69657b83399a118b5252f25d830 Mon Sep 17 00:00:00 2001 +From: Petr Viktorin +Date: Tue, 3 Sep 2019 14:53:05 +0200 +Subject: [PATCH 2/3] gtk-builder-convert: Remove compat code for Python 2.3 + and below + +--- + gtk/gtk-builder-convert | 13 +------------ + 1 file changed, 1 insertion(+), 12 deletions(-) + +diff --git a/gtk/gtk-builder-convert b/gtk/gtk-builder-convert +index 41f7a8c941..a16f83b217 100755 +--- a/gtk/gtk-builder-convert ++++ b/gtk/gtk-builder-convert +@@ -48,12 +48,7 @@ DIALOGS = ['GtkDialog', + 'GtkMessageDialog'] + WINDOWS = ['GtkWindow'] + DIALOGS + +-# The subprocess is only available in Python 2.4+ +-try: +- import subprocess +- subprocess # pyflakes +-except ImportError: +- subprocess = None ++import subprocess + + def get_child_nodes(node): + assert node.tagName == 'object' +@@ -271,12 +266,6 @@ class GtkBuilderConverter(object): + for node in self._dom.getElementsByTagName("accessibility"): + self._convert_accessibility(node) + +- # Output the newly created root objects and sort them +- # by attribute id +- # FIXME: Use sorted(self.root_objects, +- # key=lambda n: n.getAttribute('id'), +- # reverse=True): +- # when we can depend on python 2.4 or higher + root_objects = self.root_objects[:] + root_objects.sort(key=lambda a: a.getAttribute('id'), reverse=True) + for obj in root_objects: +-- +2.22.0 + + +From b5ea5a0cf1f12be5072b9f06d1127a8977414916 Mon Sep 17 00:00:00 2001 +From: Petr Viktorin +Date: Tue, 3 Sep 2019 14:56:14 +0200 +Subject: [PATCH 3/3] gtk-builder-convert: Update bug report URL + +Also, use a newline instead of period at the end to make the +URL easy to copy +--- + gtk/gtk-builder-convert | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +diff --git a/gtk/gtk-builder-convert b/gtk/gtk-builder-convert +index a16f83b217..b1faba822e 100755 +--- a/gtk/gtk-builder-convert ++++ b/gtk/gtk-builder-convert +@@ -34,7 +34,8 @@ When OUTPUT is -, write to standard output. + Examples: + gtk-builder-convert preference.glade preferences.ui + +-Report bugs to http://bugzilla.gnome.org/.""" ++Report bugs to https://gitlab.gnome.org/GNOME/gtk/issues/new ++""" + + from __future__ import print_function + import getopt +-- +2.22.0 + diff --git a/desktop/toolkit/gtk/gtk2/pspec.xml b/desktop/toolkit/gtk/gtk2/pspec.xml index 3a84c2462a..5ecddd6e3a 100644 --- a/desktop/toolkit/gtk/gtk2/pspec.xml +++ b/desktop/toolkit/gtk/gtk2/pspec.xml @@ -48,6 +48,9 @@ fedora/icon-padding.patch fedora/tooltip-positioning.patch fedora/window-dragging.patch + fedora/python3.patch + fedora/0001-Fix-compiler-warnings-with-GCC-8.1.patch + fedora/0001-calendar-Use-the-new-OB-format-if-supported.patch @@ -190,7 +193,14 @@ - + + 2020-04-02 + 2.24.32 + Rebuild. + Pisi Linux Community + admin@pisilinux.org + + 2020-01-08 2.24.32 Rebuild.