Compare commits

...

42 Commits

Author SHA1 Message Date
David Abdurachmanov 173d0e4afd
Merge remote-tracking branch 'up/f40' into f40-riscv64
Signed-off-by: David Abdurachmanov <davidlt@rivosinc.com>
2024-05-12 13:46:24 +03:00
Michael Catanzaro cd903237fa Update to 2.44.1 2024-04-11 13:10:58 -05:00
Michael Catanzaro bdb1395041 Attempt to reenable LTO
Let's see whether this builds. Probably not.

(Actually, it did build. Yippee!)
2024-04-11 13:10:55 -05:00
Michael Catanzaro b299e2180e Fix i686 build 2024-03-16 19:46:10 -05:00
Michael Catanzaro f4fad41d83 Update to 2.44.0 2024-03-16 14:53:52 -05:00
David Abdurachmanov 1f82d70ae9
Disable C Loop
[..]
FAILED: JavaScriptCore/DerivedSources/LLIntDesiredOffsets.h /builddir/build/BUILD/webkitgtk-2.43.4/redhat-linux-build/webkitgtk-6.0/JavaScriptCore/DerivedSources/LLIntDesiredOffsets.h
cd /builddir/build/BUILD/webkitgtk-2.43.4/redhat-linux-build/webkitgtk-6.0/Source/JavaScriptCore && /usr/bin/ruby /builddir/build/BUILD/webkitgtk-2.43.4/Source/JavaScriptCore/offlineasm/generate_offset_extractor.rb -I/builddir/build/BUILD/webkitgtk-2.43.4/redhat-linux-build/webkitgtk-6.0/JavaScriptCore/DerivedSources/ /builddir/build/BUILD/webkitgtk-2.43.4/Source/JavaScriptCore/llint/LowLevelInterpreter.asm /builddir/build/BUILD/webkitgtk-2.43.4/redhat-linux-build/webkitgtk-6.0/bin/LLIntSettingsExtractor /builddir/build/BUILD/webkitgtk-2.43.4/redhat-linux-build/webkitgtk-6.0/JavaScriptCore/DerivedSources/LLIntDesiredOffsets.h C_LOOP normal
LowLevelInterpreter.asm:2720 in call to entry: Could not find macro entry (MacroError)
ninja: build stopped: subcommand failed.
[..]

Signed-off-by: David Abdurachmanov <davidlt@rivosinc.com>
2024-03-05 13:02:00 +02:00
David Abdurachmanov 7c2c27ead8
Disable WebAssembly
```
[..]
-- Disabling ENABLE_DFG_JIT since ENABLE_JIT is disabled.
-- Disabling ENABLE_FTL_JIT since ENABLE_DFG_JIT is disabled.
-- Disabling ENABLE_WEBASSEMBLY_BBQJIT since ENABLE_FTL_JIT is disabled.
-- Disabling ENABLE_WEBASSEMBLY_OMGJIT since ENABLE_FTL_JIT is disabled.
-- Disabling USE_GSTREAMER_WEBRTC since ENABLE_WEB_RTC is disabled.
CMake Error at Source/cmake/WebKitFeatures.cmake:312 (message):
  ENABLE_WEBASSEMBLY conflicts with ENABLE_C_LOOP.  You must disable one or
  the other.
[..]
```

Signed-off-by: David Abdurachmanov <davidlt@rivosinc.com>
2024-03-05 11:49:43 +02:00
David Abdurachmanov 060e64c05f
Reduce memory usage and disable JIT
This packages requires a lot of RAM per core. Let's reduce that to
minimum. This is required for Unmatched.

Disable JIT too:

```
[..]
/builddir/build/BUILD/webkitgtk-2.43.4/Source/JavaScriptCore/assembler/MacroAssemblerRISCV64.h: In member function ‘void JSC::MacroAssemblerRISCV64::testFinalize(ResultCondition, JSC::AbstractMacroAssembler<JSC::RISCV64Assembler>::RegisterID, JSC::AbstractMacroAssembler<JSC::RISCV64Assembler>::RegisterID)’:
/builddir/build/BUILD/webkitgtk-2.43.4/Source/JavaScriptCore/assembler/MacroAssemblerRISCV64.h:4438:16: warning: enumeration value ‘Carry’ not handled in switch [-Wswitch]
 4438 |         switch (cond) {
      |                ^
In file included from /builddir/build/BUILD/webkitgtk-2.43.4/redhat-linux-build/webkitgtk-6.0/JavaScriptCore/DerivedSources/unified-sources/UnifiedSource-23a5fd0e-9.cpp:6:
/builddir/build/BUILD/webkitgtk-2.43.4/Source/JavaScriptCore/b3/B3Validate.cpp: In member function ‘void JSC::B3::{anonymous}::Validater::run()’:
/builddir/build/BUILD/webkitgtk-2.43.4/Source/JavaScriptCore/b3/B3Validate.cpp:457:43: error: ‘toB3Type’ was not declared in this scope
  457 |                 VALIDATE(value->type() == toB3Type(Wasm::simdScalarType(value->asSIMDValue()->simdLane())), ("At ", *value));
[..]
```

Signed-off-by: David Abdurachmanov <davidlt@rivosinc.com>
2024-03-05 11:20:41 +02:00
David Abdurachmanov 87b9049af0
Fix JavaScriptCore/offlineasm/riscv64.rb
Backport upstream fix.

Signed-off-by: David Abdurachmanov <davidlt@rivosinc.com>
2024-03-05 06:14:42 +02:00
Michael Catanzaro 92dbb98196 Remove use of real-time scheduling on vblank thread
https://bugzilla.redhat.com/show_bug.cgi?id=2253099
2024-02-07 08:43:02 -06:00
Michael Catanzaro b852437da9 Add patch to maybe fix rhbz#2253099 2024-02-06 15:48:50 -06:00
Michael Catanzaro cd7e45ea21 Update to 2.43.4 2024-02-02 09:58:52 -06:00
František Zatloukal c8d620fff1 Rebuilt for libavif 1.0.3 2024-01-31 16:26:07 +01:00
Fedora Release Engineering 9f3212f08f Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild 2024-01-27 08:34:00 +00:00
Michael Catanzaro b9ea0b1c48 Update to WebKitGTK 2.43.3 2023-12-21 09:22:23 -06:00
Yaakov Selkowitz 7d27584f98 Disable avif and jpegxl in RHEL builds
While we are working on dropping webkitgtk from RHEL, in the meantime
some optional dependencies that are otherwise unwanted can be avoided.
2023-12-20 01:39:22 -05:00
Michael Catanzaro 9686c85def Update to 2.43.2
Notably, the documentation has moved, and the dependency on libwpe and
wpebackend-fdo is gone.
2023-12-05 13:29:47 -06:00
Michael Catanzaro 51944b0e92 Fix build with libxml2 2.12 2023-11-20 17:45:01 -06:00
Michael Catanzaro 1e672992aa Update to 2.43.1
Also, add License tag to webkit2gtk-4.1-doc

Also, there are only two builds now instead of three, now that
webkit2gtk-4.0 has been removed.

Also, there is a new dependency on libbacktrace, but Fedora does not
package this library so we have to disable it.
2023-11-17 09:20:51 -06:00
Michael Catanzaro ad97763211 Update to 2.42.2
This also removes the unused bundled libavif/libdav1d from the tarball,
which slightly simplifies the license tag.
2023-11-10 11:52:38 -06:00
Miroslav Suchý 9c17d1998a license analysis
Initial migration to SPDX. But the code contains two licenses that are not on the SPDX list yet. 
The comment contains references to issues where it is tracked.
2023-10-22 08:53:48 +00:00
Michael Catanzaro f428956b0e Update to 2.40.1 and fix GL dependencies
GLES needs to be available at runtime or we'll crash, #2240428.

It's not needed at runtime because it's only used via libepoxy. And
desktop GL is no longer used at all.

Fixes #2240428
2023-09-27 09:09:22 -05:00
Michael Catanzaro 36e3f8cf9d Update to WebKitGTK 2.42.0 2023-09-15 09:21:08 -05:00
Michael Catanzaro 951bdc8fab Update to 2.41.92 2023-09-08 07:55:37 -05:00
Michael Catanzaro 8b3f7edd99 Disable LTO again to fix build
Avoids:

/usr/lib64/libglib-2.0.so  /usr/lib64/libz.so  /usr/lib64/libsystemd.so && :
/usr/bin/ld: /tmp/cczGkWSW.ltrans0.ltrans.o: in function `ipint_table_size_validate':
<artificial>:(.text+0x49f0f): undefined reference to `ipint_extern_table_size'
/usr/bin/ld: /tmp/cczGkWSW.ltrans0.ltrans.o: in function `ipint_table_fill_validate':
<artificial>:(.text+0x4a019): undefined reference to `ipint_extern_table_fill'

which I am not able to reproduce locally, even when using -flto=auto.
2023-08-19 14:10:44 -05:00
Michael Catanzaro a101936262 Remove webkitgtk-4.0 API version
https://fedoraproject.org/wiki/Changes/Remove_webkit2gtk-4.0_API_Version
2023-08-19 13:46:33 -05:00
Michael Catanzaro 11e3dc7d2f Update to 2.41.91 2023-08-19 13:44:52 -05:00
Adam Williamson 4b92cd6fc1 Backport PR #15929 to fix content not shown on llvmpipe 2023-07-20 17:24:13 -07:00
Yaakov Selkowitz 3fae8fa930 Only BuildRequires libsoup-devel when building 4.0 API
ELN and RHEL 10 are not building the 4.0 API, in which case we should
not need libsoup (2.y) even in the buildroot.
2023-07-11 22:24:11 -04:00
František Zatloukal 7eeeb66a4d Rebuilt for ICU 73.2 2023-07-11 23:02:36 +02:00
Michael Catanzaro 3b52a75db8 Upgrade to 2.41.6 2023-07-05 08:37:50 -05:00
Yaakov Selkowitz 4195221bd0 Disable 4.0 API in RHEL 10 builds 2023-06-21 22:21:46 -04:00
Michael Catanzaro ee8bb9de81 Revert "Remove all RHEL-related conditionals"
This reverts commit 77b316c320.
2023-06-21 12:23:25 -05:00
Sérgio M. Basto 2148153a10 Mass rebuild for jpegxl-0.8.1 2023-06-18 21:16:56 +01:00
Tomas Popela 97d8057b53 Drop the unneeded BR on pcre
Resolves: rhbz#2212686
2023-06-14 12:50:35 +02:00
Michael Catanzaro 69d2c3b175 Upgrade to 2.41.5 2023-06-13 21:05:55 -05:00
Michael Catanzaro 77b316c320 Remove all RHEL-related conditionals
No longer required
2023-06-13 08:29:54 -05:00
Michael Catanzaro 470cabb576 Upgrade to WebKitGTK 2.41.4 2023-05-17 08:57:44 -05:00
Michael Catanzaro c88765bc1c Upgrade to 2.41.3 2023-04-21 12:48:57 -05:00
Michael Catanzaro 37202f93bb Add patch to fix GPU permissions errors 2023-04-17 13:50:46 -05:00
Michael Catanzaro 229fcf8dd1 Add patch to fix rendering errors 2023-04-17 11:06:28 -05:00
Michael Catanzaro 1f31e30081 Upgrade to 2.41.2 2023-04-14 11:56:44 -05:00
6 changed files with 160 additions and 487 deletions

17
.gitignore vendored
View File

@ -16,3 +16,20 @@
/webkitgtk-2.39.91.tar.xz.asc
/webkitgtk-2.40.0.tar.xz.asc
/webkitgtk-2.41.1.tar.xz.asc
/webkitgtk-2.41.2.tar.xz.asc
/webkitgtk-2.41.3.tar.xz.asc
/webkitgtk-2.41.4.tar.xz.asc
/webkitgtk-2.41.5.tar.xz.asc
/webkitgtk-2.41.6.tar.xz.asc
/webkitgtk-2.41.90.tar.xz.asc
/webkitgtk-2.41.91.tar.xz.asc
/webkitgtk-2.41.92.tar.xz.asc
/webkitgtk-2.42.0.tar.xz.asc
/webkitgtk-2.42.1.tar.xz.asc
/webkitgtk-2.42.2.tar.xz.asc
/webkitgtk-2.43.1.tar.xz.asc
/webkitgtk-2.43.2.tar.xz.asc
/webkitgtk-2.43.3.tar.xz.asc
/webkitgtk-2.43.4.tar.xz.asc
/webkitgtk-2.44.0.tar.xz.asc
/webkitgtk-2.44.1.tar.xz.asc

View File

@ -0,0 +1,45 @@
From 6b46c24db81426c056f4f1f6fe915c2cdd687a1e Mon Sep 17 00:00:00 2001
From: luyahan <luyahan@qq.com>
Date: Sat, 3 Feb 2024 23:39:01 -0800
Subject: [PATCH] Fix build failed for riscv64
https://bugs.webkit.org/show_bug.cgi?id=266218
Reviewed by Yusuke Suzuki.
fix the build error
* RISCV64.patch: Added.
* Source/JavaScriptCore/assembler/RISCV64Assembler.h:
* Source/JavaScriptCore/offlineasm/riscv64.rb:
Canonical link: https://commits.webkit.org/274066@main
---
Source/JavaScriptCore/assembler/RISCV64Assembler.h | 1 +
Source/JavaScriptCore/offlineasm/riscv64.rb | 2 +-
2 files changed, 2 insertions(+), 1 deletion(-)
diff --git a/Source/JavaScriptCore/assembler/RISCV64Assembler.h b/Source/JavaScriptCore/assembler/RISCV64Assembler.h
index bdaef036b52a2..73332f2d645a4 100644
--- a/Source/JavaScriptCore/assembler/RISCV64Assembler.h
+++ b/Source/JavaScriptCore/assembler/RISCV64Assembler.h
@@ -28,6 +28,7 @@
#if ENABLE(ASSEMBLER) && CPU(RISCV64)
#include "AssemblerBuffer.h"
+#include "AssemblerCommon.h"
#include "RISCV64Registers.h"
#include <tuple>
diff --git a/Source/JavaScriptCore/offlineasm/riscv64.rb b/Source/JavaScriptCore/offlineasm/riscv64.rb
index 4abb1761509d1..bead518f07d44 100644
--- a/Source/JavaScriptCore/offlineasm/riscv64.rb
+++ b/Source/JavaScriptCore/offlineasm/riscv64.rb
@@ -1624,7 +1624,7 @@ def lowerRISCV64
riscv64ValidateOperands(operands, [RegisterID, RegisterID])
$asm.puts "#{rvop(opcode)} #{operands[1].riscv64Operand}, #{operands[0].riscv64Operand}"
when /^rv_b(eq|ne|gt|ge|gtu|geu|lt|le|ltu|leu)$/
- riscv64ValidateOperands(operands, [RegisterID, RegisterID, LocalLabelReference])
+ riscv64ValidateOperands(operands, [RegisterID, RegisterID, LocalLabelReference], [RegisterID, RegisterID, LabelReference])
$asm.puts "#{rvop(opcode)} #{operands[0].riscv64Operand}, #{operands[1].riscv64Operand}, #{operands[2].asmLabel}"
when /^rv_b(eqz|nez|lez|ltz|gez|gtz)$/
riscv64ValidateOperands(operands, [RegisterID, LocalLabelReference])

View File

@ -1,149 +0,0 @@
From fd977228c791d5cf767a1e5b4ed3596add8ed6d5 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C5=BDan=20Dober=C5=A1ek?= <zdobersek@igalia.com>
Date: Thu, 30 Mar 2023 10:36:24 -0700
Subject: [PATCH] Build fix around std::variant in SourceBrush for
Clang/libstdc++ https://bugs.webkit.org/show_bug.cgi?id=254742
Unreviewed, build fix for the SourceBrush::Brush std::variant construction when
using Clang with libstdc++.
Things get mixed up when using Ref<Pattern> for constructing the variant, with
the compiler using it as initialization for the LogicalGradient type, the other
possible type in the variant, which ends up in a compile-time error.
This can be avoided by using the in-place tag when constructing the variant in
the SourceBrush::setPattern() method, specifying which variant-alternative type
should be used.
Similar fix for the same reasons is also needed in the decoding part of the
ArgumentCoder<std::variant<>> specialization, this being problematic due to the
SourceBrush::Brush decoding produced for the generated serializers purpose.
There the variant is constructed with the in-place tag that's based on the index
value of the alternative.
* Source/WebCore/platform/graphics/SourceBrush.cpp:
(WebCore::SourceBrush::setPattern):
* Source/WebCore/platform/graphics/SourceBrush.h:
* Source/WebKit/Platform/IPC/ArgumentCoders.h:
Canonical link: https://commits.webkit.org/262339@main
---
Source/WebCore/platform/graphics/SourceBrush.cpp | 2 +-
Source/WebCore/platform/graphics/SourceBrush.h | 3 ++-
Source/WebKit/Platform/IPC/ArgumentCoders.h | 2 +-
3 files changed, 4 insertions(+), 3 deletions(-)
diff --git a/Source/WebCore/platform/graphics/SourceBrush.cpp b/Source/WebCore/platform/graphics/SourceBrush.cpp
index f42e0d42f534..44135b7706ad 100644
--- a/Source/WebCore/platform/graphics/SourceBrush.cpp
+++ b/Source/WebCore/platform/graphics/SourceBrush.cpp
@@ -91,7 +91,7 @@ void SourceBrush::setGradient(Ref<Gradient>&& gradient, const AffineTransform& s
void SourceBrush::setPattern(Ref<Pattern>&& pattern)
{
- m_brush = { WTFMove(pattern) };
+ m_brush = { Brush::Variant { std::in_place_type<Ref<Pattern>>, WTFMove(pattern) } };
}
WTF::TextStream& operator<<(TextStream& ts, const SourceBrush& brush)
diff --git a/Source/WebCore/platform/graphics/SourceBrush.h b/Source/WebCore/platform/graphics/SourceBrush.h
index 176b9fc85c18..cd97b82c7444 100644
--- a/Source/WebCore/platform/graphics/SourceBrush.h
+++ b/Source/WebCore/platform/graphics/SourceBrush.h
@@ -42,7 +42,8 @@ class SourceBrush {
template<typename Decoder> static std::optional<LogicalGradient> decode(Decoder&);
};
- std::variant<LogicalGradient, Ref<Pattern>> brush;
+ using Variant = std::variant<LogicalGradient, Ref<Pattern>>;
+ Variant brush;
};
SourceBrush() = default;
diff --git a/Source/WebKit/Platform/IPC/ArgumentCoders.h b/Source/WebKit/Platform/IPC/ArgumentCoders.h
index ae37b2145fc2..2d93984e3f36 100644
--- a/Source/WebKit/Platform/IPC/ArgumentCoders.h
+++ b/Source/WebKit/Platform/IPC/ArgumentCoders.h
@@ -743,7 +743,7 @@ template<typename... Types> struct ArgumentCoder<std::variant<Types...>> {
auto optional = decoder.template decode<typename std::variant_alternative_t<index, std::variant<Types...>>>();
if (!optional)
return std::nullopt;
- return std::make_optional<std::variant<Types...>>(WTFMove(*optional));
+ return std::make_optional<std::variant<Types...>>(std::in_place_index<index>, WTFMove(*optional));
}
return decode(decoder, std::make_index_sequence<index + 1> { }, i);
} else
From 93920b55f52ff8b883296f4845269e2ed746acb3 Mon Sep 17 00:00:00 2001
From: Michael Catanzaro <mcatanzaro@redhat.com>
Date: Fri, 31 Mar 2023 12:24:09 -0700
Subject: [PATCH] Fix build of SourceBrush.cpp
https://bugs.webkit.org/show_bug.cgi?id=254821
Unreviewed build fix.
* Source/WebCore/platform/graphics/SourceBrush.cpp:
(WebCore::SourceBrush::setGradient):
(WebCore::SourceBrush::setPattern):
Canonical link: https://commits.webkit.org/262434@main
---
Source/WebCore/platform/graphics/SourceBrush.cpp | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/Source/WebCore/platform/graphics/SourceBrush.cpp b/Source/WebCore/platform/graphics/SourceBrush.cpp
index 44135b7706ad..5377831d7902 100644
--- a/Source/WebCore/platform/graphics/SourceBrush.cpp
+++ b/Source/WebCore/platform/graphics/SourceBrush.cpp
@@ -86,12 +86,12 @@ Pattern* SourceBrush::pattern() const
void SourceBrush::setGradient(Ref<Gradient>&& gradient, const AffineTransform& spaceTransform)
{
- m_brush = { Brush::LogicalGradient { { WTFMove(gradient) }, spaceTransform } };
+ m_brush = Brush { Brush::LogicalGradient { { WTFMove(gradient) }, spaceTransform } };
}
void SourceBrush::setPattern(Ref<Pattern>&& pattern)
{
- m_brush = { Brush::Variant { std::in_place_type<Ref<Pattern>>, WTFMove(pattern) } };
+ m_brush = Brush { Brush::Variant { std::in_place_type<Ref<Pattern>>, WTFMove(pattern) } };
}
WTF::TextStream& operator<<(TextStream& ts, const SourceBrush& brush)
From 2fd83187cbe7cf7f57f4d6834f6060b00703683b Mon Sep 17 00:00:00 2001
From: Michael Catanzaro <mcatanzaro@redhat.com>
Date: Fri, 31 Mar 2023 13:23:45 -0500
Subject: [PATCH] [GTK] AcceleratedSurfaceDMABuf.cpp does not build on i368
https://bugs.webkit.org/show_bug.cgi?id=254828
Reviewed by NOBODY (OOPS!).
* Source/WebKit/WebProcess/WebPage/gtk/AcceleratedSurfaceDMABuf.cpp:
(WebKit::AcceleratedSurfaceDMABuf::clientResize):
---
.../WebPage/gtk/AcceleratedSurfaceDMABuf.cpp | 10 +++++-----
1 file changed, 5 insertions(+), 5 deletions(-)
diff --git a/Source/WebKit/WebProcess/WebPage/gtk/AcceleratedSurfaceDMABuf.cpp b/Source/WebKit/WebProcess/WebPage/gtk/AcceleratedSurfaceDMABuf.cpp
index 2aa33586b317..34cca9f11d62 100644
--- a/Source/WebKit/WebProcess/WebPage/gtk/AcceleratedSurfaceDMABuf.cpp
+++ b/Source/WebKit/WebProcess/WebPage/gtk/AcceleratedSurfaceDMABuf.cpp
@@ -130,12 +130,12 @@ void AcceleratedSurfaceDMABuf::clientResize(const WebCore::IntSize& size)
}
UnixFileDescriptor backFD(gbm_bo_get_fd(backObject), UnixFileDescriptor::Adopt);
Vector<EGLAttrib> attributes = {
- EGL_WIDTH, gbm_bo_get_width(backObject),
- EGL_HEIGHT, gbm_bo_get_height(backObject),
- EGL_LINUX_DRM_FOURCC_EXT, gbm_bo_get_format(backObject),
+ EGL_WIDTH, static_cast<EGLAttrib>(gbm_bo_get_width(backObject)),
+ EGL_HEIGHT, static_cast<EGLAttrib>(gbm_bo_get_height(backObject)),
+ EGL_LINUX_DRM_FOURCC_EXT, static_cast<EGLAttrib>(gbm_bo_get_format(backObject)),
EGL_DMA_BUF_PLANE0_FD_EXT, backFD.value(),
- EGL_DMA_BUF_PLANE0_OFFSET_EXT, gbm_bo_get_offset(backObject, 0),
- EGL_DMA_BUF_PLANE0_PITCH_EXT, gbm_bo_get_stride(backObject),
+ EGL_DMA_BUF_PLANE0_OFFSET_EXT, static_cast<EGLAttrib>(gbm_bo_get_offset(backObject, 0)),
+ EGL_DMA_BUF_PLANE0_PITCH_EXT, static_cast<EGLAttrib>(gbm_bo_get_stride(backObject)),
EGL_NONE
};
m_backImage = display.createEGLImage(EGL_NO_CONTEXT, EGL_LINUX_DMA_BUF_EXT, nullptr, attributes);

View File

@ -1,155 +0,0 @@
From 63f0b2d0c54093bfea054cc6b302e578260d0fcc Mon Sep 17 00:00:00 2001
From: Yusuke Suzuki <ysuzuki@apple.com>
Date: Thu, 30 Mar 2023 19:47:10 -0700
Subject: [PATCH] [JSC] Reduce # of parameters of function#bind operations
https://bugs.webkit.org/show_bug.cgi?id=254752 rdar://problem/107427493
Reviewed by Ross Kirsling.
Let's reconstruct boundArgsLength via passed args to reduce # of parameters of operations,
to mitigate issues on x64 Windows (Windows x64 does not have appropriate implementation for more parameters).
* Source/JavaScriptCore/dfg/DFGByteCodeParser.cpp:
(JSC::DFG::ByteCodeParser::handleIntrinsicCall):
* Source/JavaScriptCore/dfg/DFGOperations.cpp:
(JSC::DFG::JSC_DEFINE_JIT_OPERATION):
* Source/JavaScriptCore/dfg/DFGOperations.h:
* Source/JavaScriptCore/dfg/DFGSpeculativeJIT64.cpp:
(JSC::DFG::SpeculativeJIT::compileFunctionBind):
(JSC::DFG::SpeculativeJIT::compileNewBoundFunction):
* Source/JavaScriptCore/ftl/FTLLowerDFGToB3.cpp:
(JSC::FTL::DFG::LowerDFGToB3::compileNewBoundFunction):
(JSC::FTL::DFG::LowerDFGToB3::compileFunctionBind):
Canonical link: https://commits.webkit.org/262385@main
---
Source/JavaScriptCore/dfg/DFGByteCodeParser.cpp | 2 +-
Source/JavaScriptCore/dfg/DFGOperations.cpp | 13 +++++++++++--
Source/JavaScriptCore/dfg/DFGOperations.h | 4 ++--
Source/JavaScriptCore/dfg/DFGSpeculativeJIT64.cpp | 6 ++----
Source/JavaScriptCore/ftl/FTLLowerDFGToB3.cpp | 5 ++---
5 files changed, 18 insertions(+), 12 deletions(-)
diff --git a/Source/JavaScriptCore/dfg/DFGByteCodeParser.cpp b/Source/JavaScriptCore/dfg/DFGByteCodeParser.cpp
index fc1cd9e88efc..ae1265bb4bc8 100644
--- a/Source/JavaScriptCore/dfg/DFGByteCodeParser.cpp
+++ b/Source/JavaScriptCore/dfg/DFGByteCodeParser.cpp
@@ -3886,7 +3886,7 @@ auto ByteCodeParser::handleIntrinsicCall(Node* callee, Operand result, CallVaria
for (; index < argumentCountIncludingThis; ++index)
addVarArgChild(get(virtualRegisterForArgumentIncludingThis(index, registerOffset)));
for (; index < numChildren; ++index)
- addVarArgChild(jsConstant(jsUndefined()));
+ addVarArgChild(jsConstant(JSValue()));
Node* resultNode = addToGraph(Node::VarArg, FunctionBind, OpInfo(0), OpInfo(static_cast<unsigned>(argumentCountIncludingThis >= 2 ? argumentCountIncludingThis - 2 : 0)));
setResult(resultNode);
return CallOptimizationResult::Inlined;
diff --git a/Source/JavaScriptCore/dfg/DFGOperations.cpp b/Source/JavaScriptCore/dfg/DFGOperations.cpp
index ca316e1bd6d2..f19fcd7df41c 100644
--- a/Source/JavaScriptCore/dfg/DFGOperations.cpp
+++ b/Source/JavaScriptCore/dfg/DFGOperations.cpp
@@ -2818,7 +2818,7 @@ JSC_DEFINE_JIT_OPERATION(operationFunctionToString, JSString*, (JSGlobalObject*
return function->toString(globalObject);
}
-JSC_DEFINE_JIT_OPERATION(operationFunctionBind, JSBoundFunction*, (JSGlobalObject* globalObject, JSObject* target, unsigned boundArgsLength, EncodedJSValue boundThisValue, EncodedJSValue arg0Value, EncodedJSValue arg1Value, EncodedJSValue arg2Value))
+JSC_DEFINE_JIT_OPERATION(operationFunctionBind, JSBoundFunction*, (JSGlobalObject* globalObject, JSObject* target, EncodedJSValue boundThisValue, EncodedJSValue arg0Value, EncodedJSValue arg1Value, EncodedJSValue arg2Value))
{
VM& vm = globalObject->vm();
CallFrame* callFrame = DECLARE_CALL_FRAME(vm);
@@ -2830,6 +2830,11 @@ JSC_DEFINE_JIT_OPERATION(operationFunctionBind, JSBoundFunction*, (JSGlobalObjec
return { };
}
+ unsigned boundArgsLength = 0;
+ boundArgsLength += !!(JSValue::decode(arg0Value));
+ boundArgsLength += !!(JSValue::decode(arg1Value));
+ boundArgsLength += !!(JSValue::decode(arg2Value));
+
JSValue boundThis = JSValue::decode(boundThisValue);
EncodedJSValue arguments[JSBoundFunction::maxEmbeddedArgs] {
arg0Value,
@@ -2871,7 +2876,7 @@ JSC_DEFINE_JIT_OPERATION(operationFunctionBind, JSBoundFunction*, (JSGlobalObjec
RELEASE_AND_RETURN(scope, JSBoundFunction::create(vm, globalObject, target, boundThis, boundArgs, length, name));
}
-JSC_DEFINE_JIT_OPERATION(operationNewBoundFunction, JSBoundFunction*, (JSGlobalObject* globalObject, JSFunction* function, unsigned boundArgsLength, EncodedJSValue boundThisValue, EncodedJSValue arg0Value, EncodedJSValue arg1Value, EncodedJSValue arg2Value))
+JSC_DEFINE_JIT_OPERATION(operationNewBoundFunction, JSBoundFunction*, (JSGlobalObject* globalObject, JSFunction* function, EncodedJSValue boundThisValue, EncodedJSValue arg0Value, EncodedJSValue arg1Value, EncodedJSValue arg2Value))
{
VM& vm = globalObject->vm();
CallFrame* callFrame = DECLARE_CALL_FRAME(vm);
@@ -2880,6 +2885,10 @@ JSC_DEFINE_JIT_OPERATION(operationNewBoundFunction, JSBoundFunction*, (JSGlobalO
JSValue arg0 = JSValue::decode(arg0Value);
JSValue arg1 = JSValue::decode(arg1Value);
JSValue arg2 = JSValue::decode(arg2Value);
+ unsigned boundArgsLength = 0;
+ boundArgsLength += !!(arg0);
+ boundArgsLength += !!(arg1);
+ boundArgsLength += !!(arg2);
return JSBoundFunction::createRaw(vm, globalObject, function, boundArgsLength, boundThis, arg0, arg1, arg2);
}
diff --git a/Source/JavaScriptCore/dfg/DFGOperations.h b/Source/JavaScriptCore/dfg/DFGOperations.h
index 9602feb3d66a..7e6080a3ec4e 100644
--- a/Source/JavaScriptCore/dfg/DFGOperations.h
+++ b/Source/JavaScriptCore/dfg/DFGOperations.h
@@ -274,8 +274,8 @@ JSC_DECLARE_JIT_OPERATION(operationInt32ToStringWithValidRadix, char*, (JSGlobal
JSC_DECLARE_JIT_OPERATION(operationInt52ToStringWithValidRadix, char*, (JSGlobalObject*, int64_t, int32_t));
JSC_DECLARE_JIT_OPERATION(operationDoubleToStringWithValidRadix, char*, (JSGlobalObject*, double, int32_t));
JSC_DECLARE_JIT_OPERATION(operationFunctionToString, JSString*, (JSGlobalObject*, JSFunction*));
-JSC_DECLARE_JIT_OPERATION(operationFunctionBind, JSBoundFunction*, (JSGlobalObject*, JSObject*, unsigned, EncodedJSValue, EncodedJSValue, EncodedJSValue, EncodedJSValue));
-JSC_DECLARE_JIT_OPERATION(operationNewBoundFunction, JSBoundFunction*, (JSGlobalObject*, JSFunction*, unsigned, EncodedJSValue, EncodedJSValue, EncodedJSValue, EncodedJSValue));
+JSC_DECLARE_JIT_OPERATION(operationFunctionBind, JSBoundFunction*, (JSGlobalObject*, JSObject*, EncodedJSValue, EncodedJSValue, EncodedJSValue, EncodedJSValue));
+JSC_DECLARE_JIT_OPERATION(operationNewBoundFunction, JSBoundFunction*, (JSGlobalObject*, JSFunction*, EncodedJSValue, EncodedJSValue, EncodedJSValue, EncodedJSValue));
JSC_DECLARE_JIT_OPERATION(operationNormalizeMapKeyHeapBigInt, EncodedJSValue, (VM*, JSBigInt*));
JSC_DECLARE_JIT_OPERATION(operationMapHash, UCPUStrictInt32, (JSGlobalObject*, EncodedJSValue input));
diff --git a/Source/JavaScriptCore/dfg/DFGSpeculativeJIT64.cpp b/Source/JavaScriptCore/dfg/DFGSpeculativeJIT64.cpp
index 167e61a8d1d0..67f5def0dceb 100644
--- a/Source/JavaScriptCore/dfg/DFGSpeculativeJIT64.cpp
+++ b/Source/JavaScriptCore/dfg/DFGSpeculativeJIT64.cpp
@@ -6574,12 +6574,10 @@ void SpeculativeJIT::compileFunctionBind(Node* node)
speculateObject(m_graph.child(node, 0), targetGPR);
- unsigned boundArgsLength = node->numberOfBoundArguments();
-
GPRFlushedCallResult result(this);
GPRReg resultGPR = result.gpr();
flushRegisters();
- callOperation(operationFunctionBind, resultGPR, LinkableConstant::globalObject(*this, node), targetGPR, TrustedImm32(boundArgsLength), boundThisRegs, arg0Regs, arg1Regs, arg2Regs);
+ callOperation(operationFunctionBind, resultGPR, LinkableConstant::globalObject(*this, node), targetGPR, boundThisRegs, arg0Regs, arg1Regs, arg2Regs);
exceptionCheck();
cellResult(resultGPR, node);
}
@@ -6629,7 +6627,7 @@ void SpeculativeJIT::compileNewBoundFunction(Node* node)
store8(TrustedImm32(static_cast<uint8_t>(TriState::Indeterminate)), Address(resultGPR, JSBoundFunction::offsetOfCanConstruct()));
mutatorFence(vm());
- addSlowPathGenerator(slowPathCall(slowPath, this, operationNewBoundFunction, resultGPR, LinkableConstant::globalObject(*this, node), targetGPR, TrustedImm32(node->numberOfBoundArguments()), boundThisRegs, arg0Regs, arg1Regs, arg2Regs));
+ addSlowPathGenerator(slowPathCall(slowPath, this, operationNewBoundFunction, resultGPR, LinkableConstant::globalObject(*this, node), targetGPR, boundThisRegs, arg0Regs, arg1Regs, arg2Regs));
cellResult(resultGPR, node);
}
diff --git a/Source/JavaScriptCore/ftl/FTLLowerDFGToB3.cpp b/Source/JavaScriptCore/ftl/FTLLowerDFGToB3.cpp
index 2dda50507633..704d0dd68d8c 100644
--- a/Source/JavaScriptCore/ftl/FTLLowerDFGToB3.cpp
+++ b/Source/JavaScriptCore/ftl/FTLLowerDFGToB3.cpp
@@ -7339,7 +7339,7 @@ IGNORE_CLANG_WARNINGS_END
LValue callResult = lazySlowPath(
[=, &vm] (const Vector<Location>& locations) -> RefPtr<LazySlowPath::Generator> {
return createLazyCallGenerator(vm, operationNewBoundFunction, locations[0].directGPR(),
- CCallHelpers::TrustedImmPtr(globalObject), locations[1].directGPR(), CCallHelpers::TrustedImm32(numberOfBoundArguments),
+ CCallHelpers::TrustedImmPtr(globalObject), locations[1].directGPR(),
locations[2].directGPR(), locations[3].directGPR(), locations[4].directGPR(), locations[5].directGPR());
},
target, thisValue, arg0, arg1, arg2);
@@ -9014,8 +9014,7 @@ IGNORE_CLANG_WARNINGS_END
void compileFunctionBind()
{
JSGlobalObject* globalObject = m_graph.globalObjectFor(m_origin.semantic);
- unsigned boundArgsLength = m_node->numberOfBoundArguments();
- setJSValue(vmCall(pointerType(), operationFunctionBind, weakPointer(globalObject), lowObject(m_graph.child(m_node, 0)), m_out.constInt32(boundArgsLength), lowJSValue(m_graph.child(m_node, 1)), lowJSValue(m_graph.child(m_node, 2)), lowJSValue(m_graph.child(m_node, 3)), lowJSValue(m_graph.child(m_node, 4))));
+ setJSValue(vmCall(pointerType(), operationFunctionBind, weakPointer(globalObject), lowObject(m_graph.child(m_node, 0)), lowJSValue(m_graph.child(m_node, 1)), lowJSValue(m_graph.child(m_node, 2)), lowJSValue(m_graph.child(m_node, 3)), lowJSValue(m_graph.child(m_node, 4))));
}
void compileToPrimitive()

View File

@ -1,2 +1,2 @@
SHA512 (webkitgtk-2.41.1.tar.xz) = a64e112855b53329d99b3f06239e2a7e593a4b22c4c91d87ae67cc37441fdd57458cfcd69151c43a614e10406b25d5f77c43f6865bb5883e32c25c993a506c37
SHA512 (webkitgtk-2.41.1.tar.xz.asc) = a622232ba91291e3a19cb3693b415e2cf2005bdb52e92054dbe5ced56663d471a1a8942c1a2f53f46124910a270aaec72272ee03e3a590729e195571eab329fe
SHA512 (webkitgtk-2.44.1.tar.xz) = b1752303f9ee38ef98c1e5c0cad001d389eaedbbf07d13fed8699104e6e311cb47a9bed7089868cb92c53d2777aaff441147353da13123d5c8eee4adf8709169
SHA512 (webkitgtk-2.44.1.tar.xz.asc) = 2d2ab4a903ff3e8eeb128b2e7a182d073fc12e14d4b8f2668aaafc638f194e2fa3cf707c040f679f320636c1398dd11df2b6e2941dd3580b8032ea30b604c711

View File

@ -6,9 +6,9 @@
cp -p %1 _license_files/$(echo '%1' | sed -e 's!/!.!g')
# No libmanette in RHEL
%if !0%{?rhel}
%global with_gamepad 1
%endif
%bcond gamepad %{undefined rhel}
%bcond avif %[%{undefined rhel} || %{defined epel}]
%bcond jpegxl %[%{undefined rhel} || %{defined epel}]
# Build documentation by default (use `rpmbuild --without docs` to override it).
# This is used by Coverity. Coverity injects custom compiler warnings, but
@ -16,11 +16,36 @@
%bcond_without docs
Name: webkitgtk
Version: 2.41.1
Release: %autorelease
Version: 2.44.1
Release: %autorelease -e 0.riscv64
Summary: GTK web content engine library
License: LGPLv2
# Source/bmalloc/bmalloc/*.h is BSD-2-Clause
# Source/bmalloc/bmalloc/CryptoRandom.cpp is ISC
# Source/bmalloc/bmalloc/valgrind.h is is bzip2-1.0.6
# Source/bmalloc/libpas/src/test/RedBlackTreeTests.cpp is BSD-3-Clause
# Source/JavaScriptCore/config.h is LGPL-2.0-or-later
# Source/JavaScriptCore/b3/B3ComputeDivisionMagic.h is NCSA
# Source/JavaScriptCore/disassembler/zydis/* is MIT
# Source/JavaScriptCore/runtime/JSDateMath.h is MPL 1.1/GPL 2.0/LGPL 2.1
# Source/JavaScriptCore/runtime/MathCommon.cpp is SunPro
# Source/JavaScriptCore/ucd/CaseFolding.txt is Unicode-TOU
# Source/ThirdParty/ANGLE/include/CL/cl_d3d10.h is Apache-2.0
# Source/ThirdParty/ANGLE/include/GLES/gl.h is MIT-Khronos (not on list see https://github.com/spdx/license-list-XML/issues/2017)
# Source/ThirdParty/ANGLE/src/compiler/preprocessor/preprocessor_tab_autogen.cpp is GPL-3.0-or-later WITH Bison-exception-2.2
# Source/ThirdParty/ANGLE/tools/flex-bison/third_party/m4sugar/m4sugar.m4 is GPL-3.0-only WITH Autoconf-exception-3.0
# Source/ThirdParty/pdfjs/web/images/annotation-paperclip.svg is MPL-2.0i
# Source/ThirdParty/pdfjs/web/standard_fonts/LICENSE_LIBERATION is OFL-1.1
# Source/ThirdParty/xdgmime/ is AFL-2.0 GPL-2.0-or-later
# Source/WebCore/dom/PseudoElement.h is BSD-Source-Code
# Source/WebCore/dom/SecurityContext.cpp is BSD-2-Clause-Views
# Source/WebKit/UIProcess/Launcher/glib/BubblewrapLauncher.cpp is LGPL-2.1-or-later
# Source/WTF/LICENSE-libc++.txt is NCSA OR MIT
# Source/WTF/LICENSE-LLVM.txt is Apache-2.0 WITH LLVM-exception
# Source/WTF/icu/LICENSE is ICU
# Source/WTF/wtf/Markable.h is BSL-1.0
# The license tag and above comment is up to date as of WebKitGTK 2.42.2.
License: LGPL-2.1-only AND BSD-2-Clause AND BSD-3-Clause AND ISC AND bzip2-1.0.6 AND NCSA AND MIT AND GPL-2.0-only AND MPL-1.1 AND SunPro AND Unicode-TOU AND Apache-2.0 AND GPL-3.0-or-later WITH Bison-exception-2.2 AND GPL-3.0-only WITH Autoconf-exception-3.0 AND MPL-2.0 AND OFL-1.1 AND (AFL-2.0 GPL-2.0-or-later) AND BSD-Source-Code AND BSD-2-Clause-Views AND LGPL-2.1-or-later AND (NCSA OR MIT) AND Apache-2.0 WITH LLVM-exception AND ICU AND BSL-1.0
URL: https://www.webkitgtk.org/
Source0: https://webkitgtk.org/releases/webkitgtk-%{version}.tar.xz
Source1: https://webkitgtk.org/releases/webkitgtk-%{version}.tar.xz.asc
@ -29,14 +54,6 @@ Source1: https://webkitgtk.org/releases/webkitgtk-%{version}.tar.xz.asc
# $ gpg --export --export-options export-minimal D7FCF61CF9A2DEAB31D81BD3F3D322D0EC4582C3 5AA3BC334FD7E3369E7C77B291C559DBE4C9123B > webkitgtk-keys.gpg
Source2: webkitgtk-keys.gpg
# https://commits.webkit.org/262385@main
Patch0: crashy-jit.patch
# https://commits.webkit.org/262339@main
# https://commits.webkit.org/262434@main
# https://github.com/WebKit/WebKit/pull/12250
Patch1: build.patch
BuildRequires: bison
BuildRequires: bubblewrap
BuildRequires: cmake
@ -54,6 +71,7 @@ BuildRequires: openssl-devel
BuildRequires: perl(English)
BuildRequires: perl(FindBin)
BuildRequires: perl(JSON::PP)
BuildRequires: perl(bigint)
BuildRequires: python3
BuildRequires: ruby
BuildRequires: rubygems
@ -69,9 +87,7 @@ BuildRequires: pkgconfig(epoxy)
BuildRequires: pkgconfig(fontconfig)
BuildRequires: pkgconfig(freetype2)
BuildRequires: pkgconfig(gbm)
BuildRequires: pkgconfig(gl)
BuildRequires: pkgconfig(glib-2.0)
BuildRequires: pkgconfig(glesv2)
BuildRequires: pkgconfig(gobject-introspection-1.0)
BuildRequires: pkgconfig(gstreamer-1.0)
BuildRequires: pkgconfig(gstreamer-plugins-bad-1.0)
@ -81,24 +97,26 @@ BuildRequires: pkgconfig(gtk4)
BuildRequires: pkgconfig(harfbuzz)
BuildRequires: pkgconfig(icu-uc)
BuildRequires: pkgconfig(lcms2)
%if %{with avif}
BuildRequires: pkgconfig(libavif)
%endif
BuildRequires: pkgconfig(libdrm)
BuildRequires: pkgconfig(libgcrypt)
BuildRequires: pkgconfig(libjpeg)
%if %{with jpegxl}
BuildRequires: pkgconfig(libjxl)
%endif
BuildRequires: pkgconfig(libnotify)
BuildRequires: pkgconfig(libopenjp2)
BuildRequires: pkgconfig(libpcre)
BuildRequires: pkgconfig(libpng)
BuildRequires: pkgconfig(libseccomp)
BuildRequires: pkgconfig(libsecret-1)
BuildRequires: pkgconfig(libsoup-2.4)
BuildRequires: pkgconfig(libsoup-3.0)
BuildRequires: pkgconfig(libsystemd)
BuildRequires: pkgconfig(libtasn1)
BuildRequires: pkgconfig(libwebp)
BuildRequires: pkgconfig(libwoff2dec)
BuildRequires: pkgconfig(libxslt)
%if 0%{?with_gamepad}
%if %{with gamepad}
BuildRequires: pkgconfig(manette-0.2)
%endif
BuildRequires: pkgconfig(sqlite3)
@ -107,8 +125,6 @@ BuildRequires: pkgconfig(wayland-client)
BuildRequires: pkgconfig(wayland-egl)
BuildRequires: pkgconfig(wayland-protocols)
BuildRequires: pkgconfig(wayland-server)
BuildRequires: pkgconfig(wpe-1.0)
BuildRequires: pkgconfig(wpebackend-fdo-1.0)
BuildRequires: pkgconfig(xt)
# Filter out provides for private libraries
@ -122,6 +138,7 @@ GTK platform.
Summary: WebKitGTK for GTK 4
Requires: javascriptcoregtk6.0%{?_isa} = %{version}-%{release}
Requires: bubblewrap
Requires: libGLES
Requires: xdg-dbus-proxy
Recommends: geoclue2
Recommends: gstreamer1-plugins-bad-free
@ -140,6 +157,7 @@ GTK platform. This package contains WebKitGTK for GTK 4.
Summary: WebKitGTK for GTK 3 and libsoup 3
Requires: javascriptcoregtk4.1%{?_isa} = %{version}-%{release}
Requires: bubblewrap
Requires: libGLES
Requires: xdg-dbus-proxy
Recommends: geoclue2
Recommends: gstreamer1-plugins-bad-free
@ -153,27 +171,6 @@ Provides: bundled(xdgmime)
WebKitGTK is the port of the WebKit web rendering engine to the
GTK platform. This package contains WebKitGTK for GTK 3 and libsoup 3.
%package -n webkit2gtk4.0
Summary: WebKitGTK for GTK 3 and libsoup 2
Requires: javascriptcoregtk4.0%{?_isa} = %{version}-%{release}
Requires: bubblewrap
Requires: xdg-dbus-proxy
Recommends: geoclue2
Recommends: gstreamer1-plugins-bad-free
Recommends: gstreamer1-plugins-good
Recommends: xdg-desktop-portal-gtk
Provides: bundled(angle)
Provides: bundled(pdfjs)
Provides: bundled(xdgmime)
Obsoletes: webkitgtk4 < %{version}-%{release}
Provides: webkitgtk4 = %{version}-%{release}
Obsoletes: webkit2gtk3 < %{version}-%{release}
Provides: webkit2gtk3 = %{version}-%{release}
%description -n webkit2gtk4.0
WebKitGTK is the port of the WebKit web rendering engine to the
GTK platform. This package contains WebKitGTK for GTK 3 and libsoup 2.
%package -n webkitgtk6.0-devel
Summary: Development files for webkitgtk6.0
Requires: webkitgtk6.0%{?_isa} = %{version}-%{release}
@ -195,20 +192,6 @@ Requires: javascriptcoregtk4.1-devel%{?_isa} = %{version}-%{release}
The webkit2gtk4.1-devel package contains libraries, build data, and header
files for developing applications that use webkit2gtk4.1.
%package -n webkit2gtk4.0-devel
Summary: Development files for webkit2gtk4.0
Requires: webkit2gtk4.0%{?_isa} = %{version}-%{release}
Requires: javascriptcoregtk4.0%{?_isa} = %{version}-%{release}
Requires: javascriptcoregtk4.0-devel%{?_isa} = %{version}-%{release}
Obsoletes: webkitgtk4-devel < %{version}-%{release}
Provides: webkitgtk4-devel = %{version}-%{release}
Obsoletes: webkit2gtk3-devel < %{version}-%{release}
Provides: webkit2gtk3-devel = %{version}-%{release}
%description -n webkit2gtk4.0-devel
The webkit2gtk4.0-devel package contains libraries, build data, and header
files for developing applications that use webkit2gtk4.0.
%if %{with docs}
%package -n webkitgtk6.0-doc
Summary: Documentation files for webkit2gtk5.0
@ -217,6 +200,15 @@ Requires: webkitgtk6.0 = %{version}-%{release}
Obsoletes: webkit2gtk5.0-doc < %{version}-%{release}
Recommends: gi-docgen-fonts
# Documentation/jsc-glib-4.1/fzy.js is MIT
# Documentation/jsc-glib-4.1/*.js and *css is Apache-2.0 OR GPL-3.0-or-later
# Documentation/jsc-glib-4.1/*html is BSD, LGPL-2.1
# Documentation/webkit2gtk-4.1/*html is BSD, LGPL-2.1
# Documentation/webkit2gtk-web-extension-4.1/*html is BSD, LGPL-2.1
# Documentation/webkit2gtk-web-extension-4.1/solarized* is MIT
# Documentation/webkit2gtk-web-extension-4.1/style.css is Apache-2.0 OR GPL-3.0-or-later
License: MIT AND LGPL-2.1-only AND BSD-3-Clause AND (Apache-2.0 OR GPL-3.0-or-later)
%description -n webkitgtk6.0-doc
This package contains developer documentation for webkitgtk6.0.
@ -226,21 +218,17 @@ BuildArch: noarch
Requires: webkit2gtk4.1 = %{version}-%{release}
Recommends: gi-docgen-fonts
# Documentation/jsc-glib-4.1/fzy.js is MIT
# Documentation/jsc-glib-4.1/*.js and *css is Apache-2.0 OR GPL-3.0-or-later
# Documentation/jsc-glib-4.1/*html is BSD, LGPL-2.1
# Documentation/webkit2gtk-4.1/*html is BSD, LGPL-2.1
# Documentation/webkit2gtk-web-extension-4.1/*html is BSD, LGPL-2.1
# Documentation/webkit2gtk-web-extension-4.1/solarized* is MIT
# Documentation/webkit2gtk-web-extension-4.1/style.css is Apache-2.0 OR GPL-3.0-or-later
License: MIT AND LGPL-2.1-only AND BSD-3-Clause AND (Apache-2.0 OR GPL-3.0-or-later)
%description -n webkit2gtk4.1-doc
This package contains developer documentation for webkit2gtk4.1.
%package -n webkit2gtk4.0-doc
Summary: Documentation files for webkit2gtk4.0
BuildArch: noarch
Requires: webkit2gtk4.0 = %{version}-%{release}
Obsoletes: webkitgtk4-doc < %{version}-%{release}
Provides: webkitgtk4-doc = %{version}-%{release}
Obsoletes: webkit2gtk3-doc < %{version}-%{release}
Provides: webkit2gtk3-doc = %{version}-%{release}
Recommends: gi-docgen-fonts
%description -n webkit2gtk4.0-doc
This package contains developer documentation for webkit2gtk4.0.
%endif
%package -n javascriptcoregtk6.0
@ -257,16 +245,6 @@ Obsoletes: webkit2gtk4.1-jsc < %{version}-%{release}
%description -n javascriptcoregtk4.1
This package contains the JavaScript engine from webkit2gtk4.1.
%package -n javascriptcoregtk4.0
Summary: JavaScript engine from webkit2gtk4.0
Obsoletes: webkitgtk4-jsc < %{version}-%{release}
Provides: webkitgtk4-jsc = %{version}-%{release}
Obsoletes: webkit2gtk3-jsc < %{version}-%{release}
Provides: webkit2gtk3-jsc = %{version}-%{release}
%description -n javascriptcoregtk4.0
This package contains the JavaScript engine from webkit2gtk4.0.
%package -n javascriptcoregtk6.0-devel
Summary: Development files for JavaScript engine from webkitgtk6.0
Requires: javascriptcoregtk6.0%{?_isa} = %{version}-%{release}
@ -285,18 +263,6 @@ Obsoletes: webkit2gtk4.1-jsc-devel < %{version}-%{release}
The javascriptcoregtk4.1-devel package contains libraries, build data, and header
files for developing applications that use JavaScript engine from webkit2gtk-4.1.
%package -n javascriptcoregtk4.0-devel
Summary: Development files for JavaScript engine from webkit2gtk4.0
Requires: javascriptcoregtk4.0%{?_isa} = %{version}-%{release}
Obsoletes: webkitgtk4-jsc-devel < %{version}-%{release}
Provides: webkitgtk4-jsc-devel = %{version}-%{release}
Obsoletes: webkit2gtk3-jsc-devel < %{version}-%{release}
Provides: webkit2gtk3-jsc-devel = %{version}-%{release}
%description -n javascriptcoregtk4.0-devel
The javascriptcoregtk4.0-devel package contains libraries, build data, and header
files for developing applications that use JavaScript engine from webkit2gtk-4.0.
%prep
%{gpgverify} --keyring='%{SOURCE2}' --signature='%{SOURCE1}' --data='%{SOURCE0}'
%autosetup -p1 -n webkitgtk-%{version}
@ -310,6 +276,7 @@ files for developing applications that use JavaScript engine from webkit2gtk-4.0
# https://bugzilla.redhat.com/show_bug.cgi?id=1456261
%global _dwz_max_die_limit_x86_64 250000000
%global _dwz_max_die_limit_aarch64 250000000
%global _dwz_max_die_limit_riscv64 250000000
# Require 32 GB of RAM per vCPU for debuginfo processing. 16 GB is not enough.
%global _find_debuginfo_opts %limit_build -m 32768
@ -317,7 +284,7 @@ files for developing applications that use JavaScript engine from webkit2gtk-4.0
# Reduce debuginfo verbosity 32-bit builds to reduce memory consumption even more.
# https://bugs.webkit.org/show_bug.cgi?id=140176
# https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org/thread/I6IVNA52TXTBRQLKW45CJ5K4RA4WNGMI/
%ifarch %{ix86}
%ifarch %{ix86} riscv64
%global optflags %(echo %{optflags} | sed 's/-g /-g1 /')
%endif
@ -335,12 +302,25 @@ files for developing applications that use JavaScript engine from webkit2gtk-4.0
-DPORT=GTK \
-DCMAKE_BUILD_TYPE=Release \
-DUSE_GTK4=ON \
-DUSE_LIBBACKTRACE=OFF \
%if %{without docs}
-DENABLE_DOCUMENTATION=OFF \
%endif
%if !0%{?with_gamepad}
%if %{without gamepad}
-DENABLE_GAMEPAD=OFF \
%endif
%if %{without avif}
-DUSE_AVIF=OFF \
%endif
%if %{without jpegxl}
-DUSE_JPEGXL=OFF \
%endif
%ifarch riscv64
-DENABLE_JIT=OFF \
-DENABLE_WEBASSEMBLY=OFF \
-DENABLE_C_LOOP=OFF \
-DENABLE_SAMPLING_PROFILER=OFF \
%endif
%if 0%{?rhel}
%ifarch aarch64
-DUSE_64KB_PAGE_BLOCK=ON \
@ -353,32 +333,26 @@ files for developing applications that use JavaScript engine from webkit2gtk-4.0
-GNinja \
-DPORT=GTK \
-DCMAKE_BUILD_TYPE=Release \
-DUSE_GTK4=OFF \
-DUSE_LIBBACKTRACE=OFF \
-DENABLE_WEBDRIVER=OFF \
%if %{without docs}
-DENABLE_DOCUMENTATION=OFF \
%endif
%if !0%{?with_gamepad}
%if %{without gamepad}
-DENABLE_GAMEPAD=OFF \
%endif
%if 0%{?rhel}
%ifarch aarch64
-DUSE_64KB_PAGE_BLOCK=ON \
%if %{without avif}
-DUSE_AVIF=OFF \
%endif
%if %{without jpegxl}
-DUSE_JPEGXL=OFF \
%endif
%{nil}
%define _vpath_builddir %{_vendor}-%{_target_os}-build/webkit2gtk-4.0
%cmake \
-GNinja \
-DPORT=GTK \
-DCMAKE_BUILD_TYPE=Release \
-DUSE_SOUP2=ON \
-DENABLE_WEBDRIVER=OFF \
%if %{without docs}
-DENABLE_DOCUMENTATION=OFF \
%endif
%if !0%{?with_gamepad}
-DENABLE_GAMEPAD=OFF \
%ifarch riscv64
-DENABLE_JIT=OFF \
-DENABLE_WEBASSEMBLY=OFF \
-DENABLE_C_LOOP=OFF \
-DENABLE_SAMPLING_PROFILER=OFF \
%endif
%if 0%{?rhel}
%ifarch aarch64
@ -388,15 +362,11 @@ files for developing applications that use JavaScript engine from webkit2gtk-4.0
%{nil}
%define _vpath_builddir %{_vendor}-%{_target_os}-build/webkitgtk-6.0
export NINJA_STATUS="[1/3][%f/%t %es] "
export NINJA_STATUS="[1/2][%f/%t %es] "
%cmake_build %limit_build -m 3072
%define _vpath_builddir %{_vendor}-%{_target_os}-build/webkit2gtk-4.1
export NINJA_STATUS="[2/3][%f/%t %es] "
%cmake_build %limit_build -m 3072
%define _vpath_builddir %{_vendor}-%{_target_os}-build/webkit2gtk-4.0
export NINJA_STATUS="[3/3][%f/%t %es] "
export NINJA_STATUS="[2/2][%f/%t %es] "
%cmake_build %limit_build -m 3072
%install
@ -406,12 +376,8 @@ export NINJA_STATUS="[3/3][%f/%t %es] "
%define _vpath_builddir %{_vendor}-%{_target_os}-build/webkit2gtk-4.1
%cmake_install
%define _vpath_builddir %{_vendor}-%{_target_os}-build/webkit2gtk-4.0
%cmake_install
%find_lang WebKitGTK-6.0
%find_lang WebKitGTK-4.1
%find_lang WebKitGTK-4.0
# Finally, copy over and rename various files for %%license inclusion
%add_to_license_files Source/JavaScriptCore/COPYING.LIB
@ -456,20 +422,6 @@ export NINJA_STATUS="[3/3][%f/%t %es] "
%exclude %{_libexecdir}/webkit2gtk-4.1/MiniBrowser
%exclude %{_libexecdir}/webkit2gtk-4.1/jsc
%files -n webkit2gtk4.0 -f WebKitGTK-4.0.lang
%license _license_files/*ThirdParty*
%license _license_files/*WebCore*
%license _license_files/*WebInspectorUI*
%license _license_files/*WTF*
%{_libdir}/libwebkit2gtk-4.0.so.37*
%dir %{_libdir}/girepository-1.0
%{_libdir}/girepository-1.0/WebKit2-4.0.typelib
%{_libdir}/girepository-1.0/WebKit2WebExtension-4.0.typelib
%{_libdir}/webkit2gtk-4.0/
%{_libexecdir}/webkit2gtk-4.0/
%exclude %{_libexecdir}/webkit2gtk-4.0/MiniBrowser
%exclude %{_libexecdir}/webkit2gtk-4.0/jsc
%files -n webkitgtk6.0-devel
%{_libexecdir}/webkitgtk-6.0/MiniBrowser
%{_includedir}/webkitgtk-6.0/
@ -493,18 +445,6 @@ export NINJA_STATUS="[3/3][%f/%t %es] "
%{_datadir}/gir-1.0/WebKit2-4.1.gir
%{_datadir}/gir-1.0/WebKit2WebExtension-4.1.gir
%files -n webkit2gtk4.0-devel
%{_libexecdir}/webkit2gtk-4.0/MiniBrowser
%{_includedir}/webkitgtk-4.0/
%exclude %{_includedir}/webkitgtk-4.0/JavaScriptCore
%exclude %{_includedir}/webkitgtk-4.0/jsc
%{_libdir}/libwebkit2gtk-4.0.so
%{_libdir}/pkgconfig/webkit2gtk-4.0.pc
%{_libdir}/pkgconfig/webkit2gtk-web-extension-4.0.pc
%dir %{_datadir}/gir-1.0
%{_datadir}/gir-1.0/WebKit2-4.0.gir
%{_datadir}/gir-1.0/WebKit2WebExtension-4.0.gir
%files -n javascriptcoregtk6.0
%license _license_files/*JavaScriptCore*
%{_libdir}/libjavascriptcoregtk-6.0.so.1*
@ -517,12 +457,6 @@ export NINJA_STATUS="[3/3][%f/%t %es] "
%dir %{_libdir}/girepository-1.0
%{_libdir}/girepository-1.0/JavaScriptCore-4.1.typelib
%files -n javascriptcoregtk4.0
%license _license_files/*JavaScriptCore*
%{_libdir}/libjavascriptcoregtk-4.0.so.18*
%dir %{_libdir}/girepository-1.0
%{_libdir}/girepository-1.0/JavaScriptCore-4.0.typelib
%files -n javascriptcoregtk6.0-devel
%{_libexecdir}/webkitgtk-6.0/jsc
%dir %{_includedir}/webkitgtk-6.0
@ -542,37 +476,18 @@ export NINJA_STATUS="[3/3][%f/%t %es] "
%dir %{_datadir}/gir-1.0
%{_datadir}/gir-1.0/JavaScriptCore-4.1.gir
%files -n javascriptcoregtk4.0-devel
%{_libexecdir}/webkit2gtk-4.0/jsc
%dir %{_includedir}/webkitgtk-4.0
%{_includedir}/webkitgtk-4.0/JavaScriptCore/
%{_includedir}/webkitgtk-4.0/jsc/
%{_libdir}/libjavascriptcoregtk-4.0.so
%{_libdir}/pkgconfig/javascriptcoregtk-4.0.pc
%dir %{_datadir}/gir-1.0
%{_datadir}/gir-1.0/JavaScriptCore-4.0.gir
%if %{with docs}
%files -n webkitgtk6.0-doc
%dir %{_datadir}/gtk-doc
%dir %{_datadir}/gtk-doc/html
%{_datadir}/gtk-doc/html/javascriptcoregtk-6.0/
%{_datadir}/gtk-doc/html/webkitgtk-6.0/
%{_datadir}/gtk-doc/html/webkitgtk-web-process-extension-6.0/
%dir %{_datadir}/doc
%{_datadir}/doc/javascriptcoregtk-6.0/
%{_datadir}/doc/webkitgtk-6.0/
%{_datadir}/doc/webkitgtk-web-process-extension-6.0/
%files -n webkit2gtk4.1-doc
%dir %{_datadir}/gtk-doc
%dir %{_datadir}/gtk-doc/html
%{_datadir}/gtk-doc/html/javascriptcoregtk-4.1/
%{_datadir}/gtk-doc/html/webkit2gtk-4.1/
%{_datadir}/gtk-doc/html/webkit2gtk-web-extension-4.1/
%files -n webkit2gtk4.0-doc
%dir %{_datadir}/gtk-doc
%dir %{_datadir}/gtk-doc/html
%{_datadir}/gtk-doc/html/javascriptcoregtk-4.0/
%{_datadir}/gtk-doc/html/webkit2gtk-4.0/
%{_datadir}/gtk-doc/html/webkit2gtk-web-extension-4.0/
%dir %{_datadir}/doc
%{_datadir}/doc/javascriptcoregtk-4.1/
%{_datadir}/doc/webkit2gtk-4.1/
%{_datadir}/doc/webkit2gtk-web-extension-4.1/
%endif
%changelog