diff --git a/.gitignore b/.gitignore index f306ac9..26cf9e1 100644 --- a/.gitignore +++ b/.gitignore @@ -22,3 +22,4 @@ /webkitgtk-2.23.3.tar.xz /webkitgtk-2.23.90.tar.xz /webkitgtk-2.23.91.tar.xz +/webkitgtk-2.23.92.tar.xz diff --git a/no-env-shebang.patch b/no-env-shebang.patch new file mode 100644 index 0000000..28ce8cc --- /dev/null +++ b/no-env-shebang.patch @@ -0,0 +1,24 @@ +From 494e4abb7a5130376d3cdb41a5e3963650b8659f Mon Sep 17 00:00:00 2001 +From: rpm-build +Date: Mon, 16 Jul 2018 06:34:53 +0200 +Subject: [PATCH] Fix the broken build due to python2 + +/builddir/build/BUILD/webkitgtk-2.23.3/Tools/gtkdoc/generate-gtkdoc +/usr/bin/env: 'python': No such file or directory +--- + Tools/gtk/generate-gtkdoc | 2 +- + 2 files changed, 2 insertions(+), 2 deletions(-) + +diff --git a/Tools/gtk/generate-gtkdoc b/Tools/gtk/generate-gtkdoc +index 45c23dfb..a3f82984 100755 +--- a/Tools/gtkdoc/generate-gtkdoc ++++ b/Tools/gtkdoc/generate-gtkdoc +@@ -1,4 +1,4 @@ +-#!/usr/bin/env python ++#!/usr/bin/python3 + # Copyright (C) 2011 Igalia S.L. + # + # This library is free software; you can redistribute it and/or +-- +2.17.1 + diff --git a/python2.patch b/python2.patch deleted file mode 100644 index ffa1467..0000000 --- a/python2.patch +++ /dev/null @@ -1,38 +0,0 @@ -From 494e4abb7a5130376d3cdb41a5e3963650b8659f Mon Sep 17 00:00:00 2001 -From: rpm-build -Date: Mon, 16 Jul 2018 06:34:53 +0200 -Subject: [PATCH] Fix the broken build due to python2 - -/builddir/build/BUILD/webkitgtk-2.23.3/Tools/gtkdoc/generate-gtkdoc -/usr/bin/env: 'python': No such file or directory ---- - Source/WebInspectorUI/Scripts/copy-user-interface-resources.pl | 2 +- - Tools/gtk/generate-gtkdoc | 2 +- - 2 files changed, 2 insertions(+), 2 deletions(-) - -diff --git a/Source/WebInspectorUI/Scripts/copy-user-interface-resources.pl b/Source/WebInspectorUI/Scripts/copy-user-interface-resources.pl -index 4bb7037d..3071b45f 100755 ---- a/Source/WebInspectorUI/Scripts/copy-user-interface-resources.pl -+++ b/Source/WebInspectorUI/Scripts/copy-user-interface-resources.pl -@@ -155,7 +155,7 @@ my $inspectorLicense = <<'EOF'; - EOF - - my $perl = $^X; --my $python = ($OSNAME =~ /cygwin/) ? "/usr/bin/python" : "python"; -+my $python = ($OSNAME =~ /cygwin/) ? "/usr/bin/python2" : "python2"; - my $derivedSourcesDir = $ENV{'DERIVED_SOURCES_DIR'}; - my $scriptsRoot = File::Spec->catdir($ENV{'SRCROOT'}, 'Scripts'); - my $sharedScriptsRoot = File::Spec->catdir($ENV{'JAVASCRIPTCORE_PRIVATE_HEADERS_DIR'}); -diff --git a/Tools/gtk/generate-gtkdoc b/Tools/gtk/generate-gtkdoc -index 45c23dfb..a3f82984 100755 ---- a/Tools/gtkdoc/generate-gtkdoc -+++ b/Tools/gtkdoc/generate-gtkdoc -@@ -1,4 +1,4 @@ --#!/usr/bin/env python -+#!/usr/bin/env python2.7 - # Copyright (C) 2011 Igalia S.L. - # - # This library is free software; you can redistribute it and/or --- -2.17.1 - diff --git a/sources b/sources index 305caa4..5fdf120 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (webkitgtk-2.23.91.tar.xz) = c8a4f08ede4df50728d8041f4743de3adc2487ea90e75d313cc8e9fda0a03b8eaa0de4f2c6b65ea50c03e9bd87ae29c66144a4e88789fb13ddc2b8de7b16555d +SHA512 (webkitgtk-2.23.92.tar.xz) = 36d4a17a6cc7ac9a0c0266533913a5fef461c54b1687aabeb8caefc49dd4f878eb019372e20ca790fe7fd3e411a31de98af5e6604947cf6f4abb34c649807ec5 diff --git a/tools-gtkdoc-python3.patch b/tools-gtkdoc-python3.patch new file mode 100644 index 0000000..6f3e6d9 --- /dev/null +++ b/tools-gtkdoc-python3.patch @@ -0,0 +1,104 @@ +From 37b0764480add2caa69f230f5f7066717589c1bb Mon Sep 17 00:00:00 2001 +From: Tomas Popela +Date: Fri, 8 Mar 2019 08:09:13 +0100 +Subject: [PATCH] [GTK] Make Tools/gtkdoc python3 compatible + https://bugs.webkit.org/show_bug.cgi?id=195359 + +Reviewed by Carlos Garcia Campos. + +* gtkdoc/generate-gtkdoc: +ConfigParser was reworked in Python 3.2 so we have adapt the code to +work with Python 2 and 3. +(get_gtkdoc_module_paths): +The iteritems() was removed in Python 3, so let's use items() that's +available in Python 2 and 3. +(get_generator_for_config): +* gtkdoc/gtkdoc.py: +(GTKDoc._run_command): +The sys.stdout.write() is expecting str in Python 3 and not bytes +(that are coming from stdout.encode()). Use sys.stdout.buffer.write() +for passing the bytes there. +--- + Tools/gtkdoc/generate-gtkdoc | 15 ++++++++++----- + Tools/gtkdoc/gtkdoc.py | 10 ++++++++-- + 2 files changed, 18 insertions(+), 7 deletions(-) + +diff --git a/Tools/gtkdoc/generate-gtkdoc b/Tools/gtkdoc/generate-gtkdoc +index f280818f0c1..37ccacc774c 100755 +--- a/Tools/gtkdoc/generate-gtkdoc ++++ b/Tools/gtkdoc/generate-gtkdoc +@@ -16,7 +16,6 @@ + # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + + from __future__ import print_function +-from ConfigParser import SafeConfigParser + + import argparse + import codecs +@@ -26,12 +25,18 @@ import logging + import os.path + import sys + ++if sys.version_info < (3, 2): ++ from ConfigParser import SafeConfigParser as ConfigParser ++else: ++ from configparser import ConfigParser ++ + top_level_directory = os.path.normpath(os.path.join(os.path.dirname(__file__), '..', '..')) + sys.path.insert(0, os.path.join(top_level_directory, 'Tools', 'glib')) + import common + +-sys.stdout = codecs.getwriter("utf-8")(sys.stdout) +-sys.stderr = codecs.getwriter("utf-8")(sys.stderr) ++if sys.version_info.major == 2: ++ sys.stdout = codecs.getwriter("utf-8")(sys.stdout) ++ sys.stderr = codecs.getwriter("utf-8")(sys.stderr) + + def configure_logging(verbose): + level = logging.DEBUG if verbose else logging.INFO +@@ -57,7 +62,7 @@ def get_gtkdoc_module_paths(cross_reference_deps): + + paths = [] + html_dir = os.path.join('share', 'gtk-doc', 'html') +- for package, modules in dependent_packages.iteritems(): ++ for package, modules in dependent_packages.items(): + prefix = common.prefix_of_pkg_config_file(package) + if prefix is None: + continue +@@ -109,7 +114,7 @@ def get_generator_for_config(config_file, virtual_root, cross_reference_deps = [ + if not os.path.isfile(config_file): + return None + +- config = SafeConfigParser() ++ config = ConfigParser() + config.read(config_file) + module_name = config.sections()[0] + pkgconfig_file = config.get(module_name, 'pkgconfig_file') +diff --git a/Tools/gtkdoc/gtkdoc.py b/Tools/gtkdoc/gtkdoc.py +index 47968446cc5..81ee8cdccc8 100644 +--- a/Tools/gtkdoc/gtkdoc.py ++++ b/Tools/gtkdoc/gtkdoc.py +@@ -199,12 +199,18 @@ class GTKDoc(object): + if print_output: + if stdout: + try: +- sys.stdout.write(stdout.encode("utf-8")) ++ if sys.version_info.major == 2: ++ sys.stdout.write(stdout.encode("utf-8")) ++ else: ++ sys.stdout.buffer.write(stdout.encode("utf-8")) + except UnicodeDecodeError: + sys.stdout.write(stdout) + if stderr: + try: +- sys.stderr.write(stderr.encode("utf-8")) ++ if sys.version_info.major == 2: ++ sys.stderr.write(stderr.encode("utf-8")) ++ else: ++ sys.stderr.buffer.write(stderr.encode("utf-8")) + except UnicodeDecodeError: + sys.stderr.write(stderr) + +-- +2.20.1 + diff --git a/webkit2gtk3.spec b/webkit2gtk3.spec index 8c0694b..96531e8 100644 --- a/webkit2gtk3.spec +++ b/webkit2gtk3.spec @@ -6,7 +6,7 @@ cp -p %1 _license_files/$(echo '%1' | sed -e 's!/!.!g') Name: webkit2gtk3 -Version: 2.23.91 +Version: 2.23.92 Release: 1%{?dist} Summary: GTK Web content engine library @@ -20,7 +20,10 @@ Patch0: user-agent-branding.patch # https://bugs.webkit.org/show_bug.cgi?id=158785 Patch1: fedora-crypto-policy.patch # Explicitly specify python2 over python -Patch2: python2.patch +Patch2: no-env-shebang.patch +# Fix generate-gtkdoc for python3 +# https://bugs.webkit.org/show_bug.cgi?id=195359 +Patch3: tools-gtkdoc-python3.patch BuildRequires: bison BuildRequires: bubblewrap @@ -37,7 +40,7 @@ BuildRequires: ninja-build BuildRequires: perl-File-Copy-Recursive BuildRequires: perl-JSON-PP BuildRequires: perl-Switch -BuildRequires: python2 +BuildRequires: python3 BuildRequires: ruby BuildRequires: rubygems BuildRequires: xdg-dbus-proxy @@ -196,6 +199,7 @@ pushd %{_target_platform} -DCMAKE_BUILD_TYPE=Release \ -DENABLE_GTKDOC=ON \ -DENABLE_MINIBROWSER=ON \ + -DPYTHON_EXECUTABLE=%{_bindir}/python3 \ .. popd @@ -278,6 +282,10 @@ export NINJA_STATUS="[%f/%t][%e] " %{_datadir}/gtk-doc/html/webkitdomgtk-4.0/ %changelog +* Fri Mar 08 2019 Tomas Popela - 2.23.92-1 +- Update to 2.23.92 +- Switch to python3 + * Wed Feb 20 2019 Eike Rathke - 2.23.91-1 - Update to 2.23.91