Sync from SUSE:SLFO:Main webkit2gtk3 revision 45a6561f8e4d161fb48e626eb20eb221

This commit is contained in:
Adrian Schröter 2024-05-04 01:51:54 +02:00
commit e27a3bc8db
11 changed files with 4880 additions and 0 deletions

23
.gitattributes vendored Normal file
View File

@ -0,0 +1,23 @@
## Default LFS
*.7z filter=lfs diff=lfs merge=lfs -text
*.bsp filter=lfs diff=lfs merge=lfs -text
*.bz2 filter=lfs diff=lfs merge=lfs -text
*.gem filter=lfs diff=lfs merge=lfs -text
*.gz filter=lfs diff=lfs merge=lfs -text
*.jar filter=lfs diff=lfs merge=lfs -text
*.lz filter=lfs diff=lfs merge=lfs -text
*.lzma filter=lfs diff=lfs merge=lfs -text
*.obscpio filter=lfs diff=lfs merge=lfs -text
*.oxt filter=lfs diff=lfs merge=lfs -text
*.pdf filter=lfs diff=lfs merge=lfs -text
*.png filter=lfs diff=lfs merge=lfs -text
*.rpm filter=lfs diff=lfs merge=lfs -text
*.tbz filter=lfs diff=lfs merge=lfs -text
*.tbz2 filter=lfs diff=lfs merge=lfs -text
*.tgz filter=lfs diff=lfs merge=lfs -text
*.ttf filter=lfs diff=lfs merge=lfs -text
*.txz filter=lfs diff=lfs merge=lfs -text
*.whl filter=lfs diff=lfs merge=lfs -text
*.xz filter=lfs diff=lfs merge=lfs -text
*.zip filter=lfs diff=lfs merge=lfs -text
*.zst filter=lfs diff=lfs merge=lfs -text

45
_constraints Normal file
View File

@ -0,0 +1,45 @@
<?xml version="1.0" encoding="UTF-8"?>
<constraints>
<hardware>
<jobs>4</jobs>
<disk>
<size unit="G">26</size>
</disk>
<physicalmemory>
<size unit="G">15</size>
</physicalmemory>
</hardware>
<hostlabel exclude="true">SLOW_CPU</hostlabel>
<overwrite>
<conditions>
<arch>aarch64</arch>
<package>webkit2gtk3:gtk3-soup2</package>
</conditions>
<hardware>
<cpu>
<flag>asimdrdm</flag>
</cpu>
</hardware>
</overwrite>
<overwrite>
<conditions>
<arch>armv6l</arch>
<arch>armv7l</arch>
</conditions>
<hardware>
<physicalmemory>
<size unit="M">5500</size>
</physicalmemory>
</hardware>
</overwrite>
<overwrite>
<conditions>
<arch>riscv64</arch>
</conditions>
<hardware>
<physicalmemory>
<size unit="M">7250</size>
</physicalmemory>
</hardware>
</overwrite>
</constraints>

6
_multibuild Normal file
View File

@ -0,0 +1,6 @@
<multibuild>
<package>gtk3</package>
<package>gtk3-soup2</package>
<package>gtk4</package>
</multibuild>

4
baselibs.conf Normal file
View File

@ -0,0 +1,4 @@
libjavascriptcoregtk-4_0-18
libjavascriptcoregtk-4_1-0
libwebkit2gtk-4_0-37
libwebkit2gtk-4_1-0

18
gcc13-fix.patch Normal file
View File

@ -0,0 +1,18 @@
diff -urp webkitgtk-2.40.1.orig/Source/WebCore/platform/graphics/SourceBrush.cpp webkitgtk-2.40.1/Source/WebCore/platform/graphics/SourceBrush.cpp
--- webkitgtk-2.40.1.orig/Source/WebCore/platform/graphics/SourceBrush.cpp 2023-04-12 08:07:29.748326800 -0500
+++ webkitgtk-2.40.1/Source/WebCore/platform/graphics/SourceBrush.cpp 2023-04-20 11:31:00.456319923 -0500
@@ -65,12 +65,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)

11
reproducibility.patch Normal file
View File

@ -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

4079
webkit2gtk3.changes Normal file

File diff suppressed because it is too large Load Diff

87
webkit2gtk3.keyring Normal file
View File

@ -0,0 +1,87 @@
-----BEGIN PGP PUBLIC KEY BLOCK-----
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
2LN6whM=
=ZYVq
-----END PGP PUBLIC KEY BLOCK-----
-----BEGIN PGP PUBLIC KEY BLOCK-----
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
=9uz5
-----END PGP PUBLIC KEY BLOCK-----

598
webkit2gtk3.spec Normal file
View File

@ -0,0 +1,598 @@
#
# spec file
#
# Copyright (c) 2023 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
# Please submit bugfixes or comments via https://bugs.opensuse.org/
#
%define flavor @BUILD_FLAVOR@%nil
%define _name webkitgtk
%if "%{flavor}" == ""
# gtknamesuffix is just so we do not have to rename the source package - no package is generated here
%define _gtknamesuffix gtk3
ExclusiveArch: do-not-build
%endif
%define usegcc10 0%{?sle_version} && 0%{?sle_version} <= 150400
%if "%{flavor}" == "gtk3"
%define _gtknamesuffix gtk3
%define _pkgname_no_slpp libwebkit2gtk3
%define _apiver 4.1
%define _sover -4_1-0
%define _wk2sover -4_1-0
%define _sonamever 4.1
%define _sonameverpkg 4_1
%define _gtkver 3.0
%define _jscver 4.1
%define _pkgconfig_suffix gtk-3.0
%define _usesoup2 0
%endif
%if "%{flavor}" == "gtk3-soup2"
%define _gtknamesuffix gtk3-soup2
%define _pkgname_no_slpp libwebkit2gtk3
%define _apiver 4.0
%define _sover -4_0-18
%define _wk2sover -4_0-37
%define _sonamever 4.0
%define _sonameverpkg 4_0
%define _gtkver 3.0
%define _jscver 4
%define _pkgconfig_suffix gtk-3.0
%define _usesoup2 1
%endif
%if "%{flavor}" == "gtk4"
%define _gtknamesuffix gtk4
%define _pkgname_no_slpp libwebkit2gtk4
%define _apiver 6.0
%define _sover -6_0-0
%define _wk2sover -6_0-0
%define _sonamever 6.0
%define _sonameverpkg 6_0
%define _gtkver 4.0
%define _jscver 6.0
%define _pkgconfig_suffix gtk-4.0
%define _usesoup2 0
%define _wk2sover6api 6_0-4
%define _soverlj6api 6_0-1
%endif
Name: webkit2%{_gtknamesuffix}
Version: 2.40.1
Release: 0
Summary: Library for rendering web content, GTK+ Port
License: BSD-3-Clause AND LGPL-2.0-or-later
Group: Development/Libraries/C and C++
URL: https://webkitgtk.org
Source0: %{url}/releases/%{_name}-%{version}.tar.xz
Source1: %{url}/releases/%{_name}-%{version}.tar.xz.asc
Source98: baselibs.conf
Source99: webkit2gtk3.keyring
# PATCH-FEATURE-OPENSUSE reproducibility.patch -- Make build reproducible
Patch0: reproducibility.patch
# PATCH-FIX-UPSTREAM Fix rejected code by GCC 13: https://github.com/WebKit/WebKit/pull/11910
Patch1: gcc13-fix.patch
BuildRequires: Mesa-libEGL-devel
BuildRequires: Mesa-libGL-devel
BuildRequires: Mesa-libGLESv1_CM-devel
BuildRequires: Mesa-libGLESv2-devel
BuildRequires: Mesa-libGLESv3-devel
BuildRequires: bison >= 2.3
BuildRequires: bubblewrap
BuildRequires: cmake
BuildRequires: enchant-devel
BuildRequires: flex
%if %usegcc10
BuildRequires: gcc10-c++
%else
BuildRequires: gcc-c++ >= 8.3
%endif
BuildRequires: gobject-introspection-devel
BuildRequires: gperf >= 3.0.1
BuildRequires: hyphen-devel
BuildRequires: libicu-devel
BuildRequires: libjpeg-devel
BuildRequires: ninja
BuildRequires: openjpeg2
BuildRequires: openjpeg2-devel
BuildRequires: perl >= 5.10.0
BuildRequires: pkgconfig
BuildRequires: python3
BuildRequires: ruby >= 1.9
BuildRequires: unifdef
BuildRequires: xdg-dbus-proxy
BuildRequires: pkgconfig(atk)
BuildRequires: pkgconfig(atspi-2) >= 2.5.3
BuildRequires: pkgconfig(cairo) >= 1.14.0
BuildRequires: pkgconfig(fontconfig) >= 2.8.0
BuildRequires: pkgconfig(freetype2) >= 2.4.2
BuildRequires: pkgconfig(glib-2.0) >= 2.56.4
%if %usegcc10
BuildRequires: pkgconfig(glproto)
%endif
BuildRequires: pkgconfig(gnutls) >= 3.0.0
BuildRequires: pkgconfig(gstreamer-1.0) >= 1.14.0
BuildRequires: pkgconfig(gstreamer-app-1.0)
BuildRequires: pkgconfig(gstreamer-audio-1.0)
BuildRequires: pkgconfig(gstreamer-codecparsers-1.0)
BuildRequires: pkgconfig(gstreamer-fft-1.0)
BuildRequires: pkgconfig(gstreamer-gl-1.0)
BuildRequires: pkgconfig(gstreamer-mpegts-1.0)
BuildRequires: pkgconfig(gstreamer-pbutils-1.0)
BuildRequires: pkgconfig(gstreamer-plugins-base-1.0)
BuildRequires: pkgconfig(gstreamer-tag-1.0)
BuildRequires: pkgconfig(gstreamer-transcoder-1.0)
BuildRequires: pkgconfig(gstreamer-video-1.0)
%if "%{flavor}" == "gtk3" || "%{flavor}" == "gtk3-soup2"
BuildRequires: pkgconfig(gtk+-3.0) >= 3.22.0
%endif
%if "%{flavor}" == "gtk4"
BuildRequires: pkgconfig(gtk4) >= 3.98.50
BuildRequires: pkgconfig(xcomposite)
%endif
BuildRequires: pkgconfig(gudev-1.0)
BuildRequires: pkgconfig(harfbuzz) >= 0.9.18
BuildRequires: pkgconfig(lcms2)
BuildRequires: pkgconfig(libavif) >= 0.9.0
BuildRequires: pkgconfig(libpng)
BuildRequires: pkgconfig(libseccomp)
BuildRequires: pkgconfig(libsecret-1)
%if %{_usesoup2}
BuildRequires: pkgconfig(libsoup-2.4) >= 2.54.0
%else
BuildRequires: pkgconfig(libsoup-3.0) >= 3.0.0
%endif
BuildRequires: pkgconfig(libsystemd)
BuildRequires: pkgconfig(libwebp)
BuildRequires: pkgconfig(libwoff2dec)
BuildRequires: pkgconfig(libxml-2.0) >= 2.8.0
BuildRequires: pkgconfig(libxslt) >= 1.1.7
BuildRequires: pkgconfig(manette-0.2)
BuildRequires: pkgconfig(openssl)
BuildRequires: pkgconfig(sqlite3)
BuildRequires: pkgconfig(upower-glib)
BuildRequires: pkgconfig(wayland-protocols)
BuildRequires: pkgconfig(wpe-1.0) >= 1.3.0
BuildRequires: pkgconfig(wpebackend-fdo-1.0) >= 1.6.0
BuildRequires: pkgconfig(xt)
BuildRequires: pkgconfig(zlib)
%description
WebKit is a web content engine, derived from KHTML and KJS from KDE,
and used primarily in Apple's Safari browser. It is made to be
embedded in other applications, such as mail readers, or web browsers.
It is able to display content such as HTML, SVG, XML, and others. It
also supports DOM, XMLHttpRequest, XSLT, CSS, Javascript/ECMAscript and
more.
%package -n libwebkit2gtk%{_wk2sover}
Summary: Library for rendering web content, GTK+ Port
# Require the injected bundles. The bundles are dlopen()ed
Group: System/Libraries
Requires: bubblewrap
%if "%{flavor}" == "gtk4"
Requires: libjavascriptcoregtk%{_soverlj6api} = %{version}
%else
Requires: libjavascriptcoregtk%{_sover} = %{version}
%endif
Requires: webkit2gtk-%{_sonameverpkg}-injected-bundles
Requires: xdg-dbus-proxy
Provides: %{_pkgname_no_slpp} = %{version}
Provides: WebKitGTK-%{_apiver}
Obsoletes: webkit2gtk3-plugin-process-gtk2 < %{version}
Recommends: geoclue2
Recommends: gstreamer-plugins-bad
Recommends: gstreamer-plugins-good
Recommends: xdg-desktop-portal-gtk
%description -n libwebkit2gtk%{_wk2sover}
WebKit is a web content engine, derived from KHTML and KJS from KDE,
and used primarily in Apple's Safari browser. It is made to be
embedded in other applications, such as mail readers, or web browsers.
It is able to display content such as HTML, SVG, XML, and others. It
also supports DOM, XMLHttpRequest, XSLT, CSS, Javascript/ECMAscript and
more.
%package -n libwebkitgtk%{_wk2sover6api}
Summary: Library for rendering web content, GTK+ Port
# Require the injected bundles. The bundles are dlopen()ed
Group: System/Libraries
Requires: bubblewrap
%if "%{flavor}" == "gtk4"
Requires: libjavascriptcoregtk%{_soverlj6api} = %{version}
Requires: webkitgtk-%{_sonameverpkg}-injected-bundles
%else
Requires: libjavascriptcoregtk%{_sover} = %{version}
Requires: webkit2gtk-%{_sonameverpkg}-injected-bundles
%endif
Requires: xdg-dbus-proxy
Provides: %{_pkgname_no_slpp} = %{version}
Provides: WebKitGTK-%{_apiver}
Obsoletes: webkit2gtk3-plugin-process-gtk2 < %{version}
Recommends: geoclue2
Recommends: gstreamer-plugins-bad
Recommends: gstreamer-plugins-good
Recommends: xdg-desktop-portal-gtk
%description -n libwebkitgtk%{_wk2sover6api}
WebKit is a web content engine, derived from KHTML and KJS from KDE,
and used primarily in Apple's Safari browser. It is made to be
embedded in other applications, such as mail readers, or web browsers.
It is able to display content such as HTML, SVG, XML, and others. It
also supports DOM, XMLHttpRequest, XSLT, CSS, Javascript/ECMAscript and
more.
%package -n webkitgtk-%{_sonameverpkg}-injected-bundles
Summary: Injected bundles for %{name}
Group: System/Libraries
%description -n webkitgtk-%{_sonameverpkg}-injected-bundles
WebKit is a web content engine, derived from KHTML and KJS from KDE,
and used primarily in Apple's Safari browser. It is made to be
embedded in other applications, such as mail readers, or web browsers.
It is able to display content such as HTML, SVG, XML, and others. It
also supports DOM, XMLHttpRequest, XSLT, CSS, Javascript/ECMAscript and
more.
%package -n webkit2gtk-%{_sonameverpkg}-injected-bundles
Summary: Injected bundles for %{name}
Group: System/Libraries
%description -n webkit2gtk-%{_sonameverpkg}-injected-bundles
WebKit is a web content engine, derived from KHTML and KJS from KDE,
and used primarily in Apple's Safari browser. It is made to be
embedded in other applications, such as mail readers, or web browsers.
It is able to display content such as HTML, SVG, XML, and others. It
also supports DOM, XMLHttpRequest, XSLT, CSS, Javascript/ECMAscript and
more.
%package -n libjavascriptcoregtk%{_sover}
Summary: JavaScript Core Engine, GTK+ Port
Group: System/Libraries
%description -n libjavascriptcoregtk%{_sover}
WebKit is a web content engine, derived from KHTML and KJS from KDE,
and used primarily in Apple's Safari browser. It is made to be
embedded in other applications, such as mail readers, or web browsers.
It is able to display content such as HTML, SVG, XML, and others. It
also supports DOM, XMLHttpRequest, XSLT, CSS, Javascript/ECMAscript and
more.
%package -n libjavascriptcoregtk%{_soverlj6api}
Summary: JavaScript Core Engine, GTK+ Port
Group: System/Libraries
%description -n libjavascriptcoregtk%{_soverlj6api}
WebKit is a web content engine, derived from KHTML and KJS from KDE,
and used primarily in Apple's Safari browser. It is made to be
embedded in other applications, such as mail readers, or web browsers.
It is able to display content such as HTML, SVG, XML, and others. It
also supports DOM, XMLHttpRequest, XSLT, CSS, Javascript/ECMAscript and
more.
%package -n typelib-1_0-WebKit-%{_sonameverpkg}
Summary: Introspection bindings for %{name}
Group: System/Libraries
%description -n typelib-1_0-WebKit-%{_sonameverpkg}
WebKit is a web content engine, derived from KHTML and KJS from KDE,
and used primarily in Apple's Safari browser. It is made to be
embedded in other applications, such as mail readers, or web browsers.
It is able to display content such as HTML, SVG, XML, and others. It
also supports DOM, XMLHttpRequest, XSLT, CSS, Javascript/ECMAscript and
more.
This package provides the GObject Introspection bindings for the GTK+
port of WebKit2.
%package -n typelib-1_0-WebKitWebProcessExtension-%{_sonameverpkg}
Summary: Introspection bindings for %{name}
Group: System/Libraries
%description -n typelib-1_0-WebKitWebProcessExtension-%{_sonameverpkg}
WebKit is a web content engine, derived from KHTML and KJS from KDE,
and used primarily in Apple's Safari browser. It is made to be
embedded in other applications, such as mail readers, or web browsers.
It is able to display content such as HTML, SVG, XML, and others. It
also supports DOM, XMLHttpRequest, XSLT, CSS, Javascript/ECMAscript and
more.
This package provides the GObject Introspection bindings for the GTK+
port of WebKit2.
%package -n typelib-1_0-WebKit2-%{_sonameverpkg}
Summary: Introspection bindings for %{name}
Group: System/Libraries
%description -n typelib-1_0-WebKit2-%{_sonameverpkg}
WebKit is a web content engine, derived from KHTML and KJS from KDE,
and used primarily in Apple's Safari browser. It is made to be
embedded in other applications, such as mail readers, or web browsers.
It is able to display content such as HTML, SVG, XML, and others. It
also supports DOM, XMLHttpRequest, XSLT, CSS, Javascript/ECMAscript and
more.
This package provides the GObject Introspection bindings for the GTK+
port of WebKit2.
%package -n typelib-1_0-WebKit2WebExtension-%{_sonameverpkg}
Summary: Introspection bindings for %{name}
Group: System/Libraries
%description -n typelib-1_0-WebKit2WebExtension-%{_sonameverpkg}
WebKit is a web content engine, derived from KHTML and KJS from KDE,
and used primarily in Apple's Safari browser. It is made to be
embedded in other applications, such as mail readers, or web browsers.
It is able to display content such as HTML, SVG, XML, and others. It
also supports DOM, XMLHttpRequest, XSLT, CSS, Javascript/ECMAscript and
more.
This package provides the GObject Introspection bindings for the GTK+
port of WebKit2.
%package -n typelib-1_0-JavaScriptCore-%{_sonameverpkg}
Summary: Introspection bindings for the GTK+ port of the JavaScript Core Engine
Group: System/Libraries
%description -n typelib-1_0-JavaScriptCore-%{_sonameverpkg}
WebKit is a web content engine, derived from KHTML and KJS from KDE,
and used primarily in Apple's Safari browser. It is made to be
embedded in other applications, such as mail readers, or web browsers.
It is able to display content such as HTML, SVG, XML, and others. It
also supports DOM, XMLHttpRequest, XSLT, CSS, Javascript/ECMAscript and
more.
This package provides the GObject Introspection bindings for the GTK+
port of the JavaScript Core engine.
%package devel
Summary: Development files for %{name}
Group: Development/Libraries/C and C++
%if "%{flavor}" == "gtk4"
Requires: libjavascriptcoregtk%{_soverlj6api} = %{version}
Requires: libwebkitgtk%{_wk2sover6api} = %{version}
Requires: typelib-1_0-JavaScriptCore-%{_sonameverpkg}
Requires: typelib-1_0-WebKit-%{_sonameverpkg}
Requires: typelib-1_0-WebKitWebProcessExtension-%{_sonameverpkg}
%else
Requires: libjavascriptcoregtk%{_sover} = %{version}
Requires: libwebkit2gtk%{_wk2sover} = %{version}
Requires: typelib-1_0-JavaScriptCore-%{_sonameverpkg}
Requires: typelib-1_0-WebKit2-%{_sonameverpkg}
Requires: typelib-1_0-WebKit2WebExtension-%{_sonameverpkg}
%endif
%description devel
WebKit is a web content engine, derived from KHTML and KJS from KDE,
and used primarily in Apple's Safari browser. It is made to be
embedded in other applications, such as mail readers, or web browsers.
It is able to display content such as HTML, SVG, XML, and others. It
also supports DOM, XMLHttpRequest, XSLT, CSS, Javascript/ECMAscript and
more.
%package -n webkit-jsc-%{_jscver}
Summary: JavaScript command line from WebKit
Group: Development/Tools/Other
%description -n webkit-jsc-%{_jscver}
jsc is a command-line utility that allows you to run JavaScript
programs outside of the context of a web browser. It is primarily
used as part of the test harness for validating the JavaScript
portions of WebKit, but can also be used as a scripting tool.
jsc can be run in an interactive mode to test out JavaScript
expressions, or it can be passed one or more files to run similar to
invoking a Perl or Python script.
%package minibrowser
Summary: MiniBrowser from WebKit
Group: Development/Tools/Other
%description minibrowser
A small test browswer from webkit, useful for testing features.
# Expand %%lang_package to Obsoletes its older-name counterpart
%if "%{flavor}" == "gtk3-soup2"
%package -n WebKitGTK-%{_apiver}-lang
Summary: Translations for package %{name}
Group: System/Localization
Requires: WebKitGTK-%{_apiver} = %{version}
Provides: WebKitGTK-%{_apiver}-lang-all = %{version}
Obsoletes: libwebkit2gtk3-lang < %{version}
BuildArch: noarch
%description -n WebKitGTK-%{_apiver}-lang
Provides translations for the "%{name}" package.
%else
%lang_package -n WebKitGTK-%{_apiver}
%endif
%prep
%autosetup -p1 -n webkitgtk-%{version}
%build
# Here we must muzzle our dog so it doesn't eat all the memory
max_link_jobs="%{?jobs:%{jobs}}"
max_compile_jobs="%{?jobs:%{jobs}}"
echo "Available memory:"
cat /proc/meminfo
echo "System limits:"
ulimit -a
if test -n "$max_link_jobs" -a "$max_link_jobs" -gt 1 ; then
mem_per_process=1500000
max_mem=$(awk '/MemTotal/ { print $2 }' /proc/meminfo)
max_jobs="$(($max_mem / $mem_per_process))"
test "$max_link_jobs" -gt "$max_jobs" && max_link_jobs="$max_jobs" && echo "Warning: Reducing number of link jobs to $max_jobs because of memory limits"
test "$max_link_jobs" -le 0 && max_link_jobs=1 && echo "Warning: Not linking in parallel at all becuse of memory limits"
fi
export PYTHON=%{_bindir}/python3
# Use linker flags to reduce memory consumption
%global optflags %(echo %{optflags} -Wl,--no-keep-memory -Wl,--reduce-memory-overheads | sed 's/-g /-g1 /')
%cmake \
-GNinja \
-DCMAKE_BUILD_TYPE=Release \
-DENABLE_DOCUMENTATION=OFF \
%if %usegcc10
-DCMAKE_C_COMPILER=gcc-10 \
-DCMAKE_CXX_COMPILER=g++-10 \
%endif
-DPORT=GTK \
%if "%{flavor}" == "gtk4"
-DLIBEXEC_INSTALL_DIR=%{_libexecdir}/libwebkitgtk%{_wk2sover} \
-DUSE_GTK4=ON \
-DENABLE_WEBDRIVER=ON \
%else
-DLIBEXEC_INSTALL_DIR=%{_libexecdir}/libwebkit2gtk%{_wk2sover} \
-DENABLE_WEBDRIVER=OFF \
%endif
-DUSE_AVIF=ON \
-DENABLE_MINIBROWSER=ON \
-DCMAKE_EXE_LINKER_FLAGS="-Wl,--as-needed -Wl,-z,now -pthread" \
-DCMAKE_MODULE_LINKER_FLAGS="-Wl,--as-needed -Wl,-z,now -pthread" \
-DCMAKE_SHARED_LINKER_FLAGS="-Wl,--as-needed -Wl,-z,now -pthread" \
-DPYTHON_EXECUTABLE=%{_bindir}/python3 \
%if %{_usesoup2}
-DUSE_SOUP2=ON \
%endif
%ifarch aarch64
-DENABLE_JIT=OFF \
-DENABLE_C_LOOP=ON \
-DENABLE_SAMPLING_PROFILER=OFF \
-DUSE_SYSTEM_MALLOC=ON \
%endif
%ninja_build -j $max_link_jobs
%install
%ninja_install -C build
%find_lang WebKitGTK-%{_apiver}
%if "%{flavor}" == "gtk4"
%ldconfig_scriptlets -n libwebkitgtk%{_wk2sover6api}
%ldconfig_scriptlets -n libjavascriptcoregtk%{_soverlj6api}
%else
%ldconfig_scriptlets -n libwebkit2gtk%{_wk2sover}
%ldconfig_scriptlets -n libjavascriptcoregtk%{_sover}
%endif
%if "%{flavor}" == "gtk4"
%files -n libwebkitgtk%{_wk2sover6api}
# Exclude jsc and MiniBrowser - we package them on their own
%exclude %{_libexecdir}/libwebkitgtk%{_wk2sover}/jsc
%exclude %{_libexecdir}/libwebkitgtk%{_wk2sover}/MiniBrowser
%{_libexecdir}/libwebkitgtk%{_wk2sover}/
%{_libdir}/libwebkitgtk-%{_apiver}.so.*
%files -n webkitgtk-%{_sonameverpkg}-injected-bundles
%dir %{_libdir}/webkitgtk-%{_apiver}
%dir %{_libdir}/webkitgtk-%{_apiver}/injected-bundle
%{_libdir}/webkitgtk-%{_apiver}/injected-bundle/libwebkitgtkinjectedbundle.so
%else
%files -n libwebkit2gtk%{_wk2sover}
# Exclude jsc and MiniBrowser - we package them on their own
%exclude %{_libexecdir}/libwebkit2gtk%{_wk2sover}/jsc
%exclude %{_libexecdir}/libwebkit2gtk%{_wk2sover}/MiniBrowser
%{_libexecdir}/libwebkit2gtk%{_wk2sover}/
%{_libdir}/libwebkit2gtk-%{_apiver}.so.*
%files -n webkit2gtk-%{_sonameverpkg}-injected-bundles
%dir %{_libdir}/webkit2gtk-%{_apiver}
%dir %{_libdir}/webkit2gtk-%{_apiver}/injected-bundle
%{_libdir}/webkit2gtk-%{_apiver}/injected-bundle/libwebkit2gtkinjectedbundle.so
%endif
%if "%{flavor}" == "gtk4"
%files -n libjavascriptcoregtk%{_soverlj6api}
%license Source/JavaScriptCore/COPYING.LIB
%{_libdir}/libjavascriptcoregtk-%{_apiver}.so.*
%files -n typelib-1_0-WebKit-%{_sonameverpkg}
%{_libdir}/girepository-1.0/WebKit-%{_sonamever}.typelib
%files -n typelib-1_0-WebKitWebProcessExtension-%{_sonameverpkg}
%{_libdir}/girepository-1.0/WebKitWebProcessExtension-%{_sonamever}.typelib
%else
%files -n libjavascriptcoregtk%{_sover}
%license Source/JavaScriptCore/COPYING.LIB
%{_libdir}/libjavascriptcoregtk-%{_apiver}.so.*
%files -n typelib-1_0-WebKit2-%{_sonameverpkg}
%{_libdir}/girepository-1.0/WebKit2-%{_sonamever}.typelib
%files -n typelib-1_0-WebKit2WebExtension-%{_sonameverpkg}
%{_libdir}/girepository-1.0/WebKit2WebExtension-%{_sonamever}.typelib
%endif
%files -n typelib-1_0-JavaScriptCore-%{_sonameverpkg}
%{_libdir}/girepository-1.0/JavaScriptCore-%{_sonamever}.typelib
%files devel
%{_datadir}/gir-1.0/*.gir
%{_includedir}/webkitgtk-%{_apiver}/
%if "%{flavor}" == "gtk4"
%{_libdir}/libwebkitgtk-%{_sonamever}.so
%{_libdir}/pkgconfig/webkitgtk-%{_apiver}.pc
%{_libdir}/pkgconfig/webkitgtk-web-process-extension-%{_apiver}.pc
%else
%{_libdir}/libwebkit2gtk-%{_sonamever}.so
%{_libdir}/pkgconfig/webkit2gtk-%{_apiver}.pc
%{_libdir}/pkgconfig/webkit2gtk-web-extension-%{_apiver}.pc
%endif
%{_libdir}/libjavascriptcoregtk-%{_sonamever}.so
%{_libdir}/pkgconfig/javascriptcoregtk-%{_apiver}.pc
%files -n webkit-jsc-%{_jscver}
%if "%{flavor}" == "gtk4"
%{_libexecdir}/libwebkitgtk%{_wk2sover}/jsc
%else
%{_libexecdir}/libwebkit2gtk%{_wk2sover}/jsc
%endif
%files minibrowser
%if "%{flavor}" == "gtk4"
%{_libexecdir}/libwebkitgtk%{_wk2sover}/MiniBrowser
%{_bindir}/WebKitWebDriver
%else
%{_libexecdir}/libwebkit2gtk%{_wk2sover}/MiniBrowser
%endif
%files -n WebKitGTK-%{_apiver}-lang -f WebKitGTK-%{_apiver}.lang
%changelog

BIN
webkitgtk-2.40.1.tar.xz (Stored with Git LFS) Normal file

Binary file not shown.

View File

@ -0,0 +1,6 @@
-----BEGIN PGP SIGNATURE-----
iF0EABEDAB0WIQRao7wzT9fjNp58d7KRxVnb5MkSOwUCZEBCkQAKCRCRxVnb5MkS
O8umAJ4lwUaJE5wc06yCJ6KxQV3D040EkQCffYgpjfNmTer2Niy9lhrfMmAK+Gk=
=81MT
-----END PGP SIGNATURE-----