From 7e8299c50f101ae438d65cfa82c3095c1afa579f Mon Sep 17 00:00:00 2001 From: zhouwenpei Date: Tue, 8 Aug 2023 03:35:05 +0000 Subject: [PATCH] Fix build with Ruby 3.2 --- backport-Fix-build-with-Ruby-3.2.patch | 82 ++++++++++++++++++++++++++ webkit2gtk3.spec | 6 +- 2 files changed, 87 insertions(+), 1 deletion(-) create mode 100644 backport-Fix-build-with-Ruby-3.2.patch diff --git a/backport-Fix-build-with-Ruby-3.2.patch b/backport-Fix-build-with-Ruby-3.2.patch new file mode 100644 index 0000000..5f457f9 --- /dev/null +++ b/backport-Fix-build-with-Ruby-3.2.patch @@ -0,0 +1,82 @@ +From b7ac5d0ccc7ca3ed6bf4f2d40fde60247ce87d3c Mon Sep 17 00:00:00 2001 +From: Dominique Leuenberger +Date: Mon, 12 Dec 2022 21:24:11 -0800 +Subject: [PATCH] Fix build with Ruby 3.2 + https://bugs.webkit.org/show_bug.cgi?id=246743 + +Reviewed by Ross Kirsling. + +File.exists has been declared deprecated since Ruby 2.1 (2013) and with Ruby 3.2 gets removed for good. + +* Source/JavaScriptCore/offlineasm/config.rb: +* Source/JavaScriptCore/offlineasm/parser.rb: +* Source/WebInspectorUI/Scripts/update-LegacyInspectorBackendCommands.rb: + +Canonical link: https://commits.webkit.org/257775@main +--- + Source/JavaScriptCore/offlineasm/config.rb | 4 ++-- + Source/JavaScriptCore/offlineasm/parser.rb | 8 ++++---- + .../Scripts/update-LegacyInspectorBackendCommands.rb | 2 +- + 3 files changed, 7 insertions(+), 7 deletions(-) + +diff --git a/Source/JavaScriptCore/offlineasm/config.rb b/Source/JavaScriptCore/offlineasm/config.rb +index ba0043119f32c..7811626db5e5b 100644 +--- a/Source/JavaScriptCore/offlineasm/config.rb ++++ b/Source/JavaScriptCore/offlineasm/config.rb +@@ -23,11 +23,11 @@ + + buildProductsDirectory = ENV['BUILT_PRODUCTS_DIR']; + headersFolderPath = ENV['WK_LIBRARY_HEADERS_FOLDER_PATH']; +-if buildProductsDirectory and File.exists?(buildProductsDirectory) ++if buildProductsDirectory and File.exist?(buildProductsDirectory) + $: << "#{buildProductsDirectory}#{headersFolderPath}/WebKitAdditions/Scripts" + end + sdkRootDirectory = ENV['SDKROOT']; +-if sdkRootDirectory and File.exists?(sdkRootDirectory) ++if sdkRootDirectory and File.exist?(sdkRootDirectory) + $: << "#{sdkRootDirectory}#{headersFolderPath}/WebKitAdditions/Scripts" + end + +diff --git a/Source/JavaScriptCore/offlineasm/parser.rb b/Source/JavaScriptCore/offlineasm/parser.rb +index 12a22b5cc819e..07e38b63972be 100644 +--- a/Source/JavaScriptCore/offlineasm/parser.rb ++++ b/Source/JavaScriptCore/offlineasm/parser.rb +@@ -840,10 +840,10 @@ def parseSequence(final, comment) + additionsDirectoryName = "#{@buildProductsDirectory}#{@headersFolderPath}/WebKitAdditions/" + end + fileName = IncludeFile.new(moduleName, additionsDirectoryName).fileName +- if not File.exists?(fileName) ++ if not File.exist?(fileName) + fileName = IncludeFile.new(moduleName, @tokens[@idx].codeOrigin.fileName.dirname).fileName + end +- fileExists = File.exists?(fileName) ++ fileExists = File.exist?(fileName) + raise "File not found: #{fileName}" if not fileExists and not isOptional + list << parse(fileName, @options, @sources) if fileExists + else +@@ -876,10 +876,10 @@ def parseIncludes(final, comment, options) + additionsDirectoryName = "#{@buildProductsDirectory}#{@headersFolderPath}/WebKitAdditions/" + end + fileName = IncludeFile.new(moduleName, additionsDirectoryName).fileName +- if not File.exists?(fileName) ++ if not File.exist?(fileName) + fileName = IncludeFile.new(moduleName, @tokens[@idx].codeOrigin.fileName.dirname).fileName + end +- fileExists = File.exists?(fileName) ++ fileExists = File.exist?(fileName) + raise "File not found: #{fileName}" if not fileExists and not isOptional + if fileExists + parser = Parser.new(readTextFile(fileName), SourceFile.new(fileName), options) +diff --git a/Source/WebInspectorUI/Scripts/update-LegacyInspectorBackendCommands.rb b/Source/WebInspectorUI/Scripts/update-LegacyInspectorBackendCommands.rb +index 680dee7406d1e..40737afaa4c51 100755 +--- a/Source/WebInspectorUI/Scripts/update-LegacyInspectorBackendCommands.rb ++++ b/Source/WebInspectorUI/Scripts/update-LegacyInspectorBackendCommands.rb +@@ -36,7 +36,7 @@ def run + end + + generated_path = File.join tmpdir, output_filename +- if !File.exists?(generated_path) ++ if !File.exist?(generated_path) + puts "ERROR: Generated file does not exist at expected path." + exit 1 + end diff --git a/webkit2gtk3.spec b/webkit2gtk3.spec index 8ddeaa3..d43fb3c 100644 --- a/webkit2gtk3.spec +++ b/webkit2gtk3.spec @@ -14,7 +14,7 @@ Name: webkit2gtk3 Version: 2.38.2 -Release: 4 +Release: 5 Summary: GTK web content engine library License: LGPLv2 URL: https://www.webkitgtk.org/ @@ -31,6 +31,7 @@ Patch0002: webkitgtk-2.32.1-sw.patch Patch6000: backport-CVE-2023-28204.patch Patch6001: backport-CVE-2023-32373.patch Patch6002: backport-CVE-2023-32409.patch +Patch6003: backport-Fix-build-with-Ruby-3.2.patch #Dependency BuildRequires: bison @@ -567,6 +568,9 @@ popd %endif %changelog +* Tue Aug 08 2023 zhouwenpei - 2.38.2-5 +- Fix build with Ruby 3.2 + * Mon May 29 2023 zhangpan - 2.38.2-4 - fix CVE-2023-28204 CVE-2023-32373 CVE-2023-32409