diff --git a/_constraints b/_constraints index 0d0e0d1..cd286ab 100644 --- a/_constraints +++ b/_constraints @@ -1,12 +1,15 @@ + + 4 - 20 + 26 - 8000 + 15 + SLOW_CPU aarch64 diff --git a/fix-gst-crash.patch b/fix-gst-crash.patch new file mode 100644 index 0000000..659bb32 --- /dev/null +++ b/fix-gst-crash.patch @@ -0,0 +1,66 @@ +From: Philippe Normand +Subject: Fix crash in webkit_media_stream_src_class_init() +Bug: https://bugs.webkit.org/show_bug.cgi?id=254025 +Origin: https://github.com/WebKit/WebKit/commit/358ce3a4bd7353c8edaa5720c949301f31c9a5e9 +Index: webkitgtk/Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp +=================================================================== +--- webkitgtk.orig/Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp ++++ webkitgtk/Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp +@@ -2647,6 +2647,9 @@ MediaPlayer::SupportsType MediaPlayerPri + #endif + } + ++ if (!ensureGStreamerInitialized()) ++ return result; ++ + GST_DEBUG("Checking mime-type \"%s\"", parameters.type.raw().utf8().data()); + if (parameters.type.isEmpty()) + return result; +Index: webkitgtk/Source/WebCore/platform/graphics/gstreamer/mse/MediaPlayerPrivateGStreamerMSE.cpp +=================================================================== +--- webkitgtk.orig/Source/WebCore/platform/graphics/gstreamer/mse/MediaPlayerPrivateGStreamerMSE.cpp ++++ webkitgtk/Source/WebCore/platform/graphics/gstreamer/mse/MediaPlayerPrivateGStreamerMSE.cpp +@@ -439,22 +439,13 @@ void MediaPlayerPrivateGStreamerMSE::get + + MediaPlayer::SupportsType MediaPlayerPrivateGStreamerMSE::supportsType(const MediaEngineSupportParameters& parameters) + { +- static std::optional videoDecodingLimits; +-#ifdef VIDEO_DECODING_LIMIT +- static std::once_flag onceFlag; +- std::call_once(onceFlag, [] { +- videoDecodingLimits = videoDecoderLimitsDefaults(); +- if (!videoDecodingLimits) { +- GST_WARNING("Parsing VIDEO_DECODING_LIMIT failed"); +- ASSERT_NOT_REACHED(); +- } +- }); +-#endif +- + MediaPlayer::SupportsType result = MediaPlayer::SupportsType::IsNotSupported; + if (!parameters.isMediaSource) + return result; + ++ if (!ensureGStreamerInitialized()) ++ return result; ++ + auto containerType = parameters.type.containerType(); + + // YouTube TV provides empty types for some videos and we want to be selected as best media engine for them. +@@ -476,6 +467,16 @@ MediaPlayer::SupportsType MediaPlayerPri + if (!ok) + height = 0; + ++ static std::optional videoDecodingLimits; ++#ifdef VIDEO_DECODING_LIMIT ++ static std::once_flag onceFlag; ++ std::call_once(onceFlag, [] { ++ videoDecodingLimits = videoDecoderLimitsDefaults(); ++ if (!videoDecodingLimits) ++ GST_WARNING("Parsing VIDEO_DECODING_LIMIT failed"); ++ }); ++#endif ++ + if (videoDecodingLimits && (width > videoDecodingLimits->mediaMaxWidth || height > videoDecodingLimits->mediaMaxHeight)) + return result; + + diff --git a/reproducibility.patch b/reproducibility.patch new file mode 100644 index 0000000..4b47f85 --- /dev/null +++ b/reproducibility.patch @@ -0,0 +1,11 @@ +--- webkitgtk-2.40.0-orig/Source/JavaScriptCore/generator/GeneratedFile.rb 2023-02-20 10:22:05.321689800 +0100 ++++ webkitgtk-2.40.0/Source/JavaScriptCore/generator/GeneratedFile.rb 2023-03-28 10:29:49.754813443 +0200 +@@ -25,7 +25,7 @@ + require 'digest' + + $LICENSE = <<-EOF +-Copyright (C) #{Date.today.year} Apple Inc. All rights reserved. ++Copyright (C) 2023 Apple Inc. All rights reserved. + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions diff --git a/webkit2gtk3.changes b/webkit2gtk3.changes index d058206..fe87630 100644 --- a/webkit2gtk3.changes +++ b/webkit2gtk3.changes @@ -1,3 +1,17 @@ +------------------------------------------------------------------- +Tue Mar 28 08:22:05 UTC 2023 - Bjørn Lie + +- Add fix-gst-crash.patch: Fix crash in + webkit_media_stream_src_class_init(). + https://bugs.webkit.org/show_bug.cgi?id=254025 +- Add reproducibility.patch: Make build more reproducible. Still + not there yet though. Inject fixed year in file. + +------------------------------------------------------------------- +Fri Mar 24 19:23:02 UTC 2023 - Bjørn Lie + +- Tweak constraints. + ------------------------------------------------------------------- Fri Mar 24 09:14:45 UTC 2023 - Martin Liška diff --git a/webkit2gtk3.spec b/webkit2gtk3.spec index 9ece847..3c6268b 100644 --- a/webkit2gtk3.spec +++ b/webkit2gtk3.spec @@ -87,6 +87,10 @@ Source99: webkit2gtk3.keyring Patch0: regression-fix.patch # PATCH-FIX-UPSTREAM Fix rejected code by GCC 13: https://github.com/WebKit/WebKit/pull/11910 Patch1: gcc13-fix.patch +# PATCH-FIX-UPSTREAM fix-gst-crash.patch -- Fix crash in webkit_media_stream_src_class_init() +Patch2: fix-gst-crash.patch +# PATCH-FEATURE-OPENSUSE reproducibility.patch -- Make build reproducible +Patch3: reproducibility.patch BuildRequires: Mesa-libEGL-devel BuildRequires: Mesa-libGL-devel