Patch for offlineasm to support ruby 3.2 wrt Object#=~ removal

This commit is contained in:
Mamoru TASAKA 2022-10-18 21:41:21 +09:00
parent cfca3b5df3
commit ba65ef8764
2 changed files with 53 additions and 1 deletions

View File

@ -18,7 +18,7 @@
Name: qt5-%{qt_module}
Version: 5.212.0
Release: 0.68.%{?prerel}%{?dist}
Release: 0.69%{?prerel}%{?dist}
Summary: Qt5 - QtWebKit components
License: LGPLv2 and BSD
@ -31,6 +31,9 @@ Patch3: qtwebkit-5.212.0-json.patch
Patch4: qtwebkit-bison37.patch
Patch5: qt5-qtwebkit-glib-2.68.patch
Patch6: qtwebkit-icu68.patch
# From https://github.com/WebKit/WebKit/commit/c7d19a492d97f9282a546831beb918e03315f6ef
# Ruby 3.2 removes Object#=~ completely
Patch7: webkit-offlineasm-warnings-ruby27.patch
BuildRequires: make
BuildRequires: bison
@ -248,6 +251,9 @@ test -z "$(pkg-config --cflags Qt5WebKit | grep Qt5WebKit)"
%changelog
* Tue Oct 18 2022 Mamoru TASAKA <mtasaka@fedoraproject.org> - 5.212.0-0.69.alpha4
- Patch for offlineasm to support ruby 3.2 wrt Object#=~ removal
* Wed Sep 21 2022 Jan Grulich <jgrulich@redhat.com> - 5.212.0-0.68.alpha4
- Rebuild (qt5)

View File

@ -0,0 +1,46 @@
From c7d19a492d97f9282a546831beb918e03315f6ef Mon Sep 17 00:00:00 2001
From: Adrian Perez de Castro <aperez@igalia.com>
Date: Wed, 15 Jan 2020 22:15:38 +0000
Subject: [PATCH] Offlineasm warnings with newer Ruby versions
https://bugs.webkit.org/show_bug.cgi?id=206233
Reviewed by Yusuke Suzuki.
Avoid a warning about using Object#=~ on Annotation instances, which
has been deprecated in Ruby 2.7.
* offlineasm/parser.rb: Swap checks to prevent applying the =~ operator
to Annotation instances, which do not define it.
Canonical link: https://commits.webkit.org/219400@main
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@254637 268f45cc-cd09-0410-ab3c-d52691b4dbfc
---
Source/JavaScriptCore/ChangeLog | 13 +++++++++++++
Source/JavaScriptCore/offlineasm/parser.rb | 6 +++---
2 files changed, 16 insertions(+), 3 deletions(-)
diff --git a/Source/JavaScriptCore/offlineasm/parser.rb b/Source/JavaScriptCore/offlineasm/parser.rb
index 791c81a9868d..f14c873e2dbd 100644
--- a/Source/JavaScriptCore/offlineasm/parser.rb
+++ b/Source/JavaScriptCore/offlineasm/parser.rb
@@ -628,9 +628,7 @@ def parseSequence(final, comment)
firstCodeOrigin = @tokens[@idx].codeOrigin
list = []
loop {
- if (@idx == @tokens.length and not final) or (final and @tokens[@idx] =~ final)
- break
- elsif @tokens[@idx].is_a? Annotation
+ if @tokens[@idx].is_a? Annotation
# This is the only place where we can encounter a global
# annotation, and hence need to be able to distinguish between
# them.
@@ -644,6 +642,8 @@ def parseSequence(final, comment)
list << Instruction.new(codeOrigin, annotationOpcode, [], @tokens[@idx].string)
@annotation = nil
@idx += 2 # Consume the newline as well.
+ elsif (@idx == @tokens.length and not final) or (final and @tokens[@idx] =~ final)
+ break
elsif @tokens[@idx] == "\n"
# ignore
@idx += 1