Fedora 38 is now preparing for upcoming ruby3.2 (which is expected to be released on Chistmas of 2022), and WebKitGTK 2.38.0 fails to build with ruby3.2 dev like: -------------------------------------------------- FAILED: JavaScriptCore/DerivedSources/LLIntDesiredSettings.h /builddir/build/BUILD/webkitgtk-2.38.0/redhat-linux-build/webkit2gtk-5.0/JavaScriptCore/DerivedSources/LLIntDesiredSettings.h cd /builddir/build/BUILD/webkitgtk-2.38.0/redhat-linux-build/webkit2gtk-5.0/Source/JavaScriptCore && /usr/bin/ruby /builddir/build/BUILD/webkitgtk-2.38.0/Source/JavaScriptCore/offlineasm/generate_settings_extractor.rb -I/builddir/build/BUILD/webkitgtk-2.38.0/redhat-linux-build/webkit2gtk-5.0/JavaScriptCore/DerivedSources/ /builddir/build/BUILD/webkitgtk-2.38.0/Source/JavaScriptCore/llint/LowLevelInterpreter.asm /builddir/build/BUILD/webkitgtk-2.38.0/redhat-linux-build/webkit2gtk-5.0/JavaScriptCore/DerivedSources/LLIntDesiredSettings.h X86_64 /builddir/build/BUILD/webkitgtk-2.38.0/Source/JavaScriptCore/offlineasm/parser.rb:879:in `block in parseIncludes': undefined method `exists?' for File:Class (NoMethodError) if not File.exists?(fileName) ^^^^^^^^ Did you mean? exist? from /builddir/build/BUILD/webkitgtk-2.38.0/Source/JavaScriptCore/offlineasm/parser.rb:860:in `loop' from /builddir/build/BUILD/webkitgtk-2.38.0/Source/JavaScriptCore/offlineasm/parser.rb:860:in `parseIncludes' from /builddir/build/BUILD/webkitgtk-2.38.0/Source/JavaScriptCore/offlineasm/parser.rb:920:in `parseHash' from /builddir/build/BUILD/webkitgtk-2.38.0/Source/JavaScriptCore/offlineasm/generate_settings_extractor.rb:58:in `<main>' -------------------------------------------------- File.exists? is deprecated since ruby 2.1 and is removed with ruby 3.2. People is expected to simply replace this with File.exist? The targets need fixing are: -------------------------------------------------- ./Source/JavaScriptCore/offlineasm/config.rb:26:if buildProductsDirectory and File.exists?(buildProductsDirectory) ./Source/JavaScriptCore/offlineasm/config.rb:30:if sdkRootDirectory and File.exists?(sdkRootDirectory) ./Source/JavaScriptCore/offlineasm/parser.rb:843: if not File.exists?(fileName) ./Source/JavaScriptCore/offlineasm/parser.rb:846: fileExists = File.exists?(fileName) ./Source/JavaScriptCore/offlineasm/parser.rb:879: if not File.exists?(fileName) ./Source/JavaScriptCore/offlineasm/parser.rb:882: fileExists = File.exists?(fileName) ./Source/WebInspectorUI/Scripts/update-LegacyInspectorBackendCommands.rb:39: if !File.exists?(generated_path) -------------------------------------------------- References: https://github.com/ruby/ruby/blob/6378825df5c7abc7ef45f257057ffd21dc9e63b5/NEWS.md?plain=1#L245-L248 https://bugs.ruby-lang.org/issues/17391 https://docs.ruby-lang.org/ja/latest/method/File/s/exists=3f.html
Pull request: https://github.com/WebKit/WebKit/pull/7531
Committed 257775@main (b7ac5d0ccc7c): <https://commits.webkit.org/257775@main> Reviewed commits have been landed. Closing PR #7531 and removing active labels.
<rdar://problem/103283634>