Merge remote-tracking branch 'up/master' into master-riscv64

Signed-off-by: David Abdurachmanov <david.abdurachmanov@sifive.com>
This commit is contained in:
David Abdurachmanov 2020-04-04 08:25:22 +03:00
commit 70b183e784
Signed by: davidlt
GPG Key ID: 8B7F1DA0E2C9FDBB
5 changed files with 332 additions and 26 deletions

View File

@ -0,0 +1,67 @@
From 889a63dffc72c048502d0f7d2b26bfc8532462eb Mon Sep 17 00:00:00 2001
From: John Lindgren <john@jlindgren.net>
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

View File

@ -0,0 +1,63 @@
From 2ea743ab466703091a44a74e1a4ac7db983c0bca Mon Sep 17 00:00:00 2001
From: Rafal Luzynski <digitalfreak@lingonborough.com>
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

View File

@ -20,9 +20,8 @@
Summary: GTK+ graphical user interface library
Name: gtk2
Version: 2.24.32
Release: 3.0.riscv64%{?dist}
Release: 7.0.riscv64%{?dist}
License: LGPLv2+
Group: System Environment/Libraries
URL: http://www.gtk.org
#VCS: git:git://git.gnome.org/gtk+#gtk-2-24
Source: http://download.gnome.org/sources/gtk+/2.24/gtk+-%{version}.tar.xz
@ -30,7 +29,9 @@ Source2: update-gtk-immodules
Source3: im-cedilla.conf
Source4: update-gtk-immodules.1
Patch1: system-python.patch
# Use Python 3 in gtk-builder-convert
# Accepted upstream: https://gitlab.gnome.org/GNOME/gtk/merge_requests/1080
Patch1: python3.patch
# https://bugzilla.gnome.org/show_bug.cgi?id=583273
Patch2: icon-padding.patch
# https://bugzilla.gnome.org/show_bug.cgi?id=599618
@ -38,6 +39,10 @@ Patch8: tooltip-positioning.patch
# https://bugzilla.gnome.org/show_bug.cgi?id=611313
Patch15: window-dragging.patch
# Backported from upstream:
Patch20: 0001-calendar-Use-the-new-OB-format-if-supported.patch
Patch21: 0001-Fix-compiler-warnings-with-GCC-8.1.patch
BuildRequires: pkgconfig(atk) >= %{atk_version}
BuildRequires: pkgconfig(glib-2.0) >= %{glib2_version}
BuildRequires: pkgconfig(gobject-introspection-1.0) >= %{gobject_introspection_version}
@ -54,6 +59,8 @@ BuildRequires: pkgconfig(xcomposite)
BuildRequires: pkgconfig(xdamage)
BuildRequires: gettext
BuildRequires: cups-devel
# For setting shebang of gtk-builder-convert:
BuildRequires: python3-devel
# Bootstrap requirements
BuildRequires: gtk-doc
BuildRequires: automake
@ -93,7 +100,6 @@ suites.
%package immodules
Summary: Input methods for GTK+
Group: System Environment/Libraries
Requires: gtk2 = %{version}-%{release}
# for /etc/X11/xinit/xinput.d
Requires: imsettings
@ -104,7 +110,6 @@ as part of GTK+.
%package immodule-xim
Summary: XIM support for GTK+
Group: System Environment/Libraries
Requires: gtk2 = %{version}-%{release}
%description immodule-xim
@ -112,7 +117,6 @@ The gtk2-immodule-xim package contains XIM support for GTK+.
%package devel
Summary: Development files for GTK+
Group: Development/Libraries
Requires: gtk2 = %{version}-%{release}
Requires: pango-devel >= %{pango_version}
Requires: atk-devel >= %{atk_version}
@ -135,7 +139,6 @@ package.
%package devel-docs
Summary: Developer documentation for GTK+
Group: Development/Libraries
Requires: gtk2 = %{version}-%{release}
#BuildArch: noarch
@ -143,12 +146,7 @@ Requires: gtk2 = %{version}-%{release}
This package contains developer documentation for the GTK+ widget toolkit.
%prep
%setup -q -n gtk+-%{version}
%patch1 -p1 -b .system-python
%patch2 -p1 -b .icon-padding
%patch8 -p1 -b .tooltip-positioning
%patch15 -p1 -b .window-dragging
%autosetup -n gtk+-%{version} -p1
%build
export CFLAGS='-fno-strict-aliasing %optflags'
@ -240,6 +238,9 @@ cp %{SOURCE2} $RPM_BUILD_ROOT%{_bindir}/update-gtk-immodules
mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/X11/xinit/xinput.d
cp %{SOURCE3} $RPM_BUILD_ROOT%{_sysconfdir}/X11/xinit/xinput.d
# Use python3 shebang instead of ambiguous python
pathfix.py -pn -i %{__python3} $RPM_BUILD_ROOT%{_bindir}/gtk-builder-convert
# Remove unpackaged files
rm $RPM_BUILD_ROOT%{_libdir}/*.la
rm $RPM_BUILD_ROOT%{_libdir}/gtk-2.0/*/*.la
@ -260,9 +261,7 @@ gtk-query-immodules-2.0-%{__isa_bits} --update-cache
%transfiletriggerpostun -- %{_libdir}/gtk-2.0/immodules/ %{_libdir}/gtk-2.0/%{bin_version}/immodules/
gtk-query-immodules-2.0-%{__isa_bits} --update-cache
%post -p /sbin/ldconfig
%postun -p /sbin/ldconfig
%ldconfig_scriptlets
%files -f gtk20.lang
%license COPYING
@ -326,9 +325,25 @@ gtk-query-immodules-2.0-%{__isa_bits} --update-cache
%doc tmpdocs/examples
%changelog
* Thu Aug 30 2018 David Abdurachmanov <david.abdurachmanov@gmail.com> - 2.24.32-3.0.riscv64
* Sat Apr 04 2020 David Abdurachmanov <david.abdurachmanov@sifive.com> - 2.24.32-7.0.riscv64
- Add support for RISC-V (riscv64)
* Wed Jan 29 2020 Fedora Release Engineering <releng@fedoraproject.org> - 2.24.32-7
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
* Tue Sep 03 2019 Petr Viktorin <pviktori@redhat.com> - 2.24.32-6
- Port gtk2-devel's gtk-builder-convert to Python 3
https://gitlab.gnome.org/GNOME/gtk/merge_requests/1080
https://bugzilla.redhat.com/show_bug.cgi?id=1737988
* Thu Jul 25 2019 Fedora Release Engineering <releng@fedoraproject.org> - 2.24.32-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
* Sun Jan 27 2019 Kalev Lember <klember@redhat.com> - 2.24.32-4
- Backport two fixes from upstream (#1669768)
- calendar: Use the new "%OB" format if supported
- Fix compiler warnings with GCC 8.1
* Fri Jul 13 2018 Fedora Release Engineering <releng@fedoraproject.org> - 2.24.32-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild

170
python3.patch Normal file
View File

@ -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 <encukou@gmail.com>
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 <encukou@gmail.com>
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 <encukou@gmail.com>
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

View File

@ -1,9 +0,0 @@
diff -up gtk+-2.18.2/gtk/gtk-builder-convert.system-python gtk+-2.18.2/gtk/gtk-builder-convert
--- gtk+-2.18.2/gtk/gtk-builder-convert.system-python 2009-10-13 15:59:50.423385098 -0400
+++ gtk+-2.18.2/gtk/gtk-builder-convert 2009-10-13 16:00:31.876142050 -0400
@@ -1,4 +1,4 @@
-#!/usr/bin/env python
+#!/usr/bin/python
#
# Copyright (C) 2006-2008 Async Open Source
# Henrique Romano <henrique@async.com.br>