Compare commits

...

47 Commits

Author SHA1 Message Date
David Abdurachmanov 6ce7c3d907
Disable JIT
Signed-off-by: David Abdurachmanov <davidlt@rivosinc.com>
2024-05-23 06:29:07 +03:00
David Abdurachmanov 7626394f48
Reduce debug information on riscv64
Signed-off-by: David Abdurachmanov <davidlt@rivosinc.com>
2024-05-22 19:33:22 +03:00
David Abdurachmanov 125ef46481
Merge remote-tracking branch 'up/main' into main-riscv64
Signed-off-by: David Abdurachmanov <davidlt@rivosinc.com>
2024-05-22 19:32:04 +03:00
Michael Catanzaro 98604192c5 Fix builds on i686, ppc64le, and s390x
Each build failed for a different reason :(
2024-05-14 17:48:49 -05:00
Michael Catanzaro 72634a91c2 Update to 2.45.2 2024-05-14 08:43:45 -05:00
Michael Catanzaro ba68f3ced9 Update to 2.44.1 2024-04-11 13:09:29 -05:00
Michael Catanzaro 56e83eb8d3 Attempt to reenable LTO
Let's see whether this builds. Probably not.

(Actually, it did build. Yippee!)
2024-04-11 13:09:18 -05:00
Michael Catanzaro 862ac4af72 Remove RHEL conditions from spec file
WebKitGTK is no longer part of ELN, so these are no longer needed.

It's probably desired in EPEL, but extra dependencies can be packaged
for EPEL.

Note that -DUSE_64KB_PAGE_BLOCK=ON is also no longer needed because the
relevant aarch64 builders are using Fedora and 4 KB page sizes. This
significantly improves both security and performance of the aarch64
builds.
2024-04-11 11:35:45 -05:00
Michael Catanzaro 5d9918b45f Fix i686 build 2024-03-16 19:46:33 -05:00
Michael Catanzaro d99a3321c0 Update to 2.44.0 2024-03-16 13:31:46 -05:00
Sérgio M. Basto 915328c4e3 Rebuild for jpegxl (libjxl) 0.10.2 2024-03-13 03:09:17 +00:00
Sérgio M. Basto 0ee430763b Rebuild for jpegxl (libjxl) 0.9.2 with soname bump 2024-02-14 02:50:09 +00: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
David Abdurachmanov 175d133dac
Fix autorelease macro arguments
Signed-off-by: David Abdurachmanov <davidlt@rivosinc.com>
2022-09-30 18:40:07 +03:00
David Abdurachmanov 0c3e9a8c86
Disable debug information
This is too heavy on riscv64 for now.

Signed-off-by: David Abdurachmanov <davidlt@rivosinc.com>
2022-09-30 18:28:30 +03:00
7 changed files with 127 additions and 505 deletions

19
.gitignore vendored
View File

@ -16,3 +16,22 @@
/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
/webkitgtk-2.45.1.tar.xz.asc
/webkitgtk-2.45.2.tar.xz.asc

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()

14
s390x-build.patch Normal file
View File

@ -0,0 +1,14 @@
diff --git a/Source/WTF/wtf/simde/arm/neon.h b/Source/WTF/wtf/simde/arm/neon.h
index 1ecd8cf565f1..83b2e681d976 100644
--- a/Source/WTF/wtf/simde/arm/neon.h
+++ b/Source/WTF/wtf/simde/arm/neon.h
@@ -8785,8 +8785,7 @@ SIMDE_BEGIN_DECLS_
defined(SIMDE_X86_AVX512FP16_NATIVE) || \
(defined(SIMDE_ARCH_X86_SSE2) && HEDLEY_GCC_VERSION_CHECK(12,0,0)) || \
(defined(SIMDE_ARCH_AARCH64) && HEDLEY_GCC_VERSION_CHECK(7,0,0) && !defined(__cplusplus)) || \
- ((defined(SIMDE_ARCH_X86) || defined(SIMDE_ARCH_AMD64)) && SIMDE_DETECT_CLANG_VERSION_CHECK(15,0,0)) || \
- (!(defined(SIMDE_ARCH_X86) || defined(SIMDE_ARCH_AMD64)) && SIMDE_DETECT_CLANG_VERSION_CHECK(6,0,0))) || \
+ ((defined(SIMDE_ARCH_X86) || defined(SIMDE_ARCH_AMD64)) && SIMDE_DETECT_CLANG_VERSION_CHECK(15,0,0))) || \
defined(SIMDE_ARCH_RISCV_ZVFH)
/* We haven't found a better way to detect this. It seems like defining
* __STDC_WANT_IEC_60559_TYPES_EXT__, then including float.h, then

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.45.2.tar.xz) = a662128de3345efaaa02d71d5e030f90fa20ebec736fc63fd267b16d463cc0f9fa7fc36b9ad15f5fda7d3bf0e5a019212147e2f8092302887d7807e9646c2893
SHA512 (webkitgtk-2.45.2.tar.xz.asc) = 39ad0c0b645cec61741038cb4e2268e8b52cba33ceadd5e506fcf32d1bf7007b611fb9d8f0dc00db8af5a7a3196b78d34ae2e9903f32dedc68b4687610441a3d

Binary file not shown.

View File

@ -5,40 +5,67 @@
mkdir -p _license_files ; \
cp -p %1 _license_files/$(echo '%1' | sed -e 's!/!.!g')
# No libmanette in RHEL
%if !0%{?rhel}
%global with_gamepad 1
%endif
# Build documentation by default (use `rpmbuild --without docs` to override it).
# This is used by Coverity. Coverity injects custom compiler warnings, but
# any warning during WebKit docs build is fatal!
%bcond_without docs
# Clang is preferred: https://skia.org/docs/user/build/#supported-and-preferred-compilers
# However, it crashes on ppc64le.
%ifnarch ppc64le
%global toolchain clang
%endif
# We run out of memory if building with LTO enabled on i686.
%ifarch %{ix86}
%global _lto_cflags %{nil}
%endif
Name: webkitgtk
Version: 2.41.1
Release: %autorelease
Version: 2.45.2
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
# Use the keys from https://webkitgtk.org/verifying.html
# $ gpg --import aperez.key carlosgc.key
# $ gpg --export --export-options export-minimal D7FCF61CF9A2DEAB31D81BD3F3D322D0EC4582C3 5AA3BC334FD7E3369E7C77B291C559DBE4C9123B > webkitgtk-keys.gpg
# $ gpg --export --export-options export-minimal 013A0127AC9C65B34FFA62526C1009B693975393 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
# https://bugs.webkit.org/show_bug.cgi?id=274086
Patch: s390x-build.patch
BuildRequires: bison
BuildRequires: bubblewrap
BuildRequires: clang
BuildRequires: cmake
BuildRequires: flex
BuildRequires: gcc-c++
@ -54,6 +81,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 +97,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)
@ -85,30 +111,24 @@ BuildRequires: pkgconfig(libavif)
BuildRequires: pkgconfig(libdrm)
BuildRequires: pkgconfig(libgcrypt)
BuildRequires: pkgconfig(libjpeg)
BuildRequires: pkgconfig(libjxl)
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}
BuildRequires: pkgconfig(manette-0.2)
%endif
BuildRequires: pkgconfig(sqlite3)
BuildRequires: pkgconfig(upower-glib)
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 +142,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
@ -129,6 +150,7 @@ Recommends: gstreamer1-plugins-good
Recommends: xdg-desktop-portal-gtk
Provides: bundled(angle)
Provides: bundled(pdfjs)
Provides: bundled(skia)
Provides: bundled(xdgmime)
Obsoletes: webkit2gtk5.0 < %{version}-%{release}
@ -140,6 +162,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
@ -147,33 +170,13 @@ Recommends: gstreamer1-plugins-good
Recommends: xdg-desktop-portal-gtk
Provides: bundled(angle)
Provides: bundled(pdfjs)
Provides: bundled(skia)
Provides: bundled(xdgmime)
%description -n webkit2gtk4.1
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 +198,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 +206,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 +224,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 +251,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 +269,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 +282,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 +290,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,16 +308,15 @@ 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}
-DENABLE_GAMEPAD=OFF \
%endif
%if 0%{?rhel}
%ifarch aarch64
-DUSE_64KB_PAGE_BLOCK=ON \
%endif
%ifarch riscv64
-DENABLE_JIT=OFF \
-DENABLE_WEBASSEMBLY=OFF \
-DENABLE_C_LOOP=OFF \
-DENABLE_SAMPLING_PROFILER=OFF \
%endif
%{nil}
@ -353,50 +325,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}
-DENABLE_GAMEPAD=OFF \
%endif
%if 0%{?rhel}
%ifarch aarch64
-DUSE_64KB_PAGE_BLOCK=ON \
%endif
%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 \
%endif
%if 0%{?rhel}
%ifarch aarch64
-DUSE_64KB_PAGE_BLOCK=ON \
%endif
%ifarch riscv64
-DENABLE_JIT=OFF \
-DENABLE_WEBASSEMBLY=OFF \
-DENABLE_C_LOOP=OFF \
-DENABLE_SAMPLING_PROFILER=OFF \
%endif
%{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 +354,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 +400,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 +423,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 +435,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 +454,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