代码拉取完成,页面将自动刷新
%undefine __cmake_in_source_build
# Filter out provides for private libraries
%global __provides_exclude_from ^(%{_libdir}/webkit2gtk-4\\.1/.*\\.so)$
# Run dwz to reduce debuginfo package size
%global _dwz_max_die_limit 250000000
%global _find_debuginfo_dwz_opts --run-dwz\\\
--dwz-max-die-limit %{_dwz_max_die_limit}
%global add_to_license_files() \
mkdir -p _license_files ; \
cp -p %1 _license_files/$(echo '%1' | sed -e 's!/!.!g')
# Clang is preferred by skia
%global toolchain clang
# Build document by default
%bcond_without docs
# Not support GamePad by default
%bcond_with gamepad
Name: webkit2gtk4.1
Version: 2.50.3
Release: 1
Summary: GTK web content engine library
License: BSD-3-Clause AND LGPL-2.0-or-later
URL: https://www.webkitgtk.org/
Source0: https://webkitgtk.org/releases/webkitgtk-%{version}.tar.xz
Patch1000: webkitgtk-add-loongarch-and-sw.patch
# clang 17 has bug on Wunsafe-buffer-usage, disable it for now
Patch1001: webkitgtk-2.48.1-drop-Wunsafe-buffer-usage.patch
#Dependency
BuildRequires: bison
BuildRequires: bubblewrap
BuildRequires: clang
BuildRequires: cmake
BuildRequires: flex
BuildRequires: flite-devel >= 2.2
BuildRequires: gettext
BuildRequires: gi-docgen
BuildRequires: git
BuildRequires: gnupg2
BuildRequires: gperf
BuildRequires: hyphen-devel
BuildRequires: libatomic
BuildRequires: ninja-build
BuildRequires: openssl-devel
BuildRequires: perl(bigint)
BuildRequires: perl(English)
BuildRequires: perl(FindBin)
BuildRequires: perl(JSON::PP)
BuildRequires: python3
BuildRequires: ruby
BuildRequires: rubygems
BuildRequires: rubygem-json
BuildRequires: unifdef
BuildRequires: xdg-dbus-proxy
BuildRequires: pkgconfig(atspi-2)
BuildRequires: pkgconfig(cairo)
BuildRequires: pkgconfig(egl)
BuildRequires: pkgconfig(enchant-2)
BuildRequires: pkgconfig(epoxy)
BuildRequires: pkgconfig(expat)
BuildRequires: pkgconfig(fontconfig)
BuildRequires: pkgconfig(freetype2)
BuildRequires: pkgconfig(gbm)
BuildRequires: pkgconfig(glib-2.0)
BuildRequires: pkgconfig(gobject-introspection-1.0)
BuildRequires: pkgconfig(gstreamer-1.0)
BuildRequires: pkgconfig(gstreamer-plugins-base-1.0)
BuildRequires: pkgconfig(gtk+-3.0)
BuildRequires: pkgconfig(harfbuzz)
BuildRequires: pkgconfig(icu-uc)
BuildRequires: pkgconfig(lcms2)
BuildRequires: pkgconfig(libdrm)
BuildRequires: pkgconfig(libgcrypt)
BuildRequires: pkgconfig(libjpeg)
BuildRequires: pkgconfig(libnotify)
BuildRequires: pkgconfig(libpng)
BuildRequires: pkgconfig(libseccomp)
BuildRequires: pkgconfig(libsecret-1)
BuildRequires: pkgconfig(libsoup-3.0)
BuildRequires: pkgconfig(libsystemd)
BuildRequires: pkgconfig(libtasn1)
BuildRequires: pkgconfig(libwebp)
BuildRequires: pkgconfig(libwoff2dec)
BuildRequires: pkgconfig(libxslt)
%if %{with gamepad}
BuildRequires: pkgconfig(manette-0.2)
%endif
BuildRequires: pkgconfig(sqlite3)
BuildRequires: pkgconfig(sysprof-capture-4)
BuildRequires: pkgconfig(upower-glib)
BuildRequires: pkgconfig(wayland-client)
BuildRequires: pkgconfig(wayland-egl)
BuildRequires: pkgconfig(wayland-protocols)
BuildRequires: pkgconfig(wayland-server)
BuildRequires: pkgconfig(xt)
Requires: jsc4.1%{?_isa} = %{version}-%{release}
Requires: bubblewrap
Requires: libGLES
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(skia)
Provides: bundled(xdgmime)
%description
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.1-devel
Summary: Development files for webkit2gtk4.1
Requires: webkit2gtk4.1%{?_isa} = %{version}-%{release}
Requires: javascriptcoregtk4.1%{?_isa} = %{version}-%{release}
Requires: javascriptcoregtk4.1-devel%{?_isa} = %{version}-%{release}
%description -n webkit2gtk4.1-devel
The webkit2gtk4.1-devel package contains libraries, build data, and header
files for developing applications that use webkit2gtk4.1.
%if %{with docs}
%package -n webkit2gtk4.1-help
Summary: Documentation files for webkit2gtk4.1
BuildArch: noarch
Requires: webkit2gtk4.1 = %{version}-%{release}
%description -n webkit2gtk4.1-help
This package contains developer documentation for webkit2gtk4.1.
%endif
%package -n jsc4.1
Summary: JavaScript engine from webkit2gtk4.1
Provides: javascriptcoregtk4.1%{?_isa} = %{version}-%{release}
Obsoletes: webkit2gtk4.1-jsc < %{version}-%{release}
%description -n jsc4.1
This package contains JavaScript engine from webkit2gtk4.1.
%package -n jsc4.1-devel
Summary: Development files for JavaScript engine from webkit2gtk4.1
Provides: javascriptcoregtk4.1-devel%{?_isa} = %{version}-%{release}
Requires: javascriptcoregtk4.1%{?_isa} = %{version}-%{release}
Obsoletes: webkit2gtk4.1-jsc-devel < %{version}-%{release}
%description -n jsc4.1-devel
The jsc4.1-devel package contains libraries, build data, and header
files for developing applications that use JavaScript engine from webkit2gtk-4.1.
%prep
%autosetup -p1 -n webkitgtk-%{version}
%build
%ifarch aarch64
%global optflags %(echo %{optflags} | sed 's/-mbranch-protection=standard /-mbranch-protection=pac-ret /')
%endif
%cmake \
-GNinja \
-DPORT=GTK \
-DCMAKE_BUILD_TYPE=Release \
-DUSE_GTK4=OFF \
-DUSE_JPEGXL=OFF \
-DUSE_AVIF=OFF \
-DUSE_LIBBACKTRACE=OFF \
-DUSE_GSTREAMER_TRANSCODER=OFF \
%if %{without docs}
-DENABLE_DOCUMENTATION=OFF \
%endif
%if %{without gamepad}
-DENABLE_GAMEPAD=OFF \
%endif
%if 0%{?openEuler}
%ifarch aarch64
-DUSE_64KB_PAGE_BLOCK=ON \
%endif
%ifarch riscv64
-DENABLE_JIT=OFF \
-DUSE_SYSTEM_MALLOC=ON \
%endif
%endif
%{nil}
%cmake_build
%install
%cmake_install
%find_lang WebKitGTK-4.1
# Finally, copy over and rename various files for %%license inclusion
%add_to_license_files Source/JavaScriptCore/COPYING.LIB
%add_to_license_files Source/ThirdParty/ANGLE/LICENSE
%add_to_license_files Source/ThirdParty/ANGLE/src/third_party/libXNVCtrl/LICENSE
%add_to_license_files Source/WebCore/LICENSE-APPLE
%add_to_license_files Source/WebCore/LICENSE-LGPL-2
%add_to_license_files Source/WebCore/LICENSE-LGPL-2.1
%add_to_license_files Source/WebInspectorUI/UserInterface/External/CodeMirror/LICENSE
%add_to_license_files Source/WebInspectorUI/UserInterface/External/Esprima/LICENSE
%add_to_license_files Source/WebInspectorUI/UserInterface/External/three.js/LICENSE
%add_to_license_files Source/WTF/icu/LICENSE
%add_to_license_files Source/WTF/wtf/dtoa/COPYING
%add_to_license_files Source/WTF/wtf/dtoa/LICENSE
%files -n webkit2gtk4.1 -f WebKitGTK-4.1.lang
%license _license_files/*ThirdParty*
%license _license_files/*WebCore*
%license _license_files/*WebInspectorUI*
%license _license_files/*WTF*
%{_libdir}/libwebkit2gtk-4.1.so.0*
%dir %{_libdir}/girepository-1.0
%{_libdir}/girepository-1.0/WebKit2-4.1.typelib
%{_libdir}/girepository-1.0/WebKit2WebExtension-4.1.typelib
%{_libdir}/webkit2gtk-4.1/
%{_libexecdir}/webkit2gtk-4.1/
%exclude %{_libexecdir}/webkit2gtk-4.1/MiniBrowser
%exclude %{_libexecdir}/webkit2gtk-4.1/jsc
%{_bindir}/WebKitWebDriver
%files -n webkit2gtk4.1-devel
%{_libexecdir}/webkit2gtk-4.1/MiniBrowser
%{_includedir}/webkitgtk-4.1/
%exclude %{_includedir}/webkitgtk-4.1/JavaScriptCore
%exclude %{_includedir}/webkitgtk-4.1/jsc
%{_libdir}/libwebkit2gtk-4.1.so
%{_libdir}/pkgconfig/webkit2gtk-4.1.pc
%{_libdir}/pkgconfig/webkit2gtk-web-extension-4.1.pc
%dir %{_datadir}/gir-1.0
%{_datadir}/gir-1.0/WebKit2-4.1.gir
%{_datadir}/gir-1.0/WebKit2WebExtension-4.1.gir
%files -n jsc4.1
%license _license_files/*JavaScriptCore*
%{_libdir}/libjavascriptcoregtk-4.1.so.0*
%dir %{_libdir}/girepository-1.0
%{_libdir}/girepository-1.0/JavaScriptCore-4.1.typelib
%files -n jsc4.1-devel
%{_libexecdir}/webkit2gtk-4.1/jsc
%dir %{_includedir}/webkitgtk-4.1
%{_includedir}/webkitgtk-4.1/JavaScriptCore/
%{_includedir}/webkitgtk-4.1/jsc/
%{_libdir}/libjavascriptcoregtk-4.1.so
%{_libdir}/pkgconfig/javascriptcoregtk-4.1.pc
%dir %{_datadir}/gir-1.0
%{_datadir}/gir-1.0/JavaScriptCore-4.1.gir
%if %{with docs}
%files -n webkit2gtk4.1-help
%dir %{_datadir}/doc
%{_datadir}/doc/javascriptcoregtk-4.1/
%{_datadir}/doc/webkit2gtk-4.1/
%{_datadir}/doc/webkit2gtk-web-extension-4.1/
%endif
%changelog
* Sat Dec 06 2025 Funda Wang <fundawang@yeah.net> - 2.50.3-1
- update to version 2.50.3
* Wed Nov 26 2025 lingsheng <lingsheng1@h-partners.com> - 2.50.2-2
- fix CVE-2025-43421
* Fri Nov 21 2025 Funda Wang <fundawang@yeah.net> - 2.50.2-1
- update to 2.50.2
* Sat Oct 11 2025 Funda Wang <fundawang@yeah.net> - 2.50.1-1
- update to 2.50.1
* Thu Sep 18 2025 Funda Wang <fundawang@yeah.net> - 2.50.0-1
- update to 2.50.0
* Thu Aug 07 2025 Funda Wang <fundawang@yeah.net> - 2.48.5-1
- update to 2.48.5
* Mon Jul 21 2025 laokz <zhangkai@iscas.ac.cn> - 2.46.6-4
- riscv64: Disable JIT due to build problem
* Fri Apr 25 2025 lingsheng <lingsheng1@h-partners.com> - 2.46.6-3
- Adapt repo name webkitgtk
* Mon Mar 17 2025 lingsheng <lingsheng1@h-partners.com> - 2.46.6-2
- fix CVE-2025-24201
* Mon Feb 10 2025 lingsheng <lingsheng1@h-partners.com> - 2.46.6-1
- update to 2.46.6
* Mon Nov 18 2024 Funda Wang <fundawang@yeah.net> - 2.38.2-12
- adopt to new cmake macro
* Thu Aug 29 2024 lingsheng <lingsheng1@h-partners.com> - 2.38.2-11
- Modfiy loongarch64 and sw_64 support use all arch
* Thu Aug 22 2024 lingsheng <lingsheng1@h-partners.com> - 2.38.2-10
- fix CVE-2024-4558 CVE-2024-40779 CVE-2024-40780
* Mon Jul 22 2024 xinghe <xinghe2@h-partners.com> - 2.38.2-9
- fix build fails with libxml2 API change
* Wed Oct 11 2023 zhouwenpei <zhouwenpei1@h-partners.com> - 2.38.2-8
- fix check_install error
* Sun Oct 08 2023 zhouwenpei <zhouwenpei1@h-partners.com> - 2.38.2-7
- fix CVE-2023-39928
* Thu Aug 10 2023 xiasenlin <xiasenlin1@huawei.com> - 2.38.2-6
- split webkit2gtk4.1 from webkit2gtk3
* Tue Aug 08 2023 zhouwenpei <zhouwenpei1@h-partners.com> - 2.38.2-5
- Fix build with Ruby 3.2
* Mon May 29 2023 zhangpan <zhangpan103@h-partners.com> - 2.38.2-4
- fix CVE-2023-28204 CVE-2023-32373 CVE-2023-32409
* Fri Mar 17 2023 zhouwenpei <zhouwenpei1@h-partners.com> - 2.38.2-3
- strip binary files
* Thu Feb 16 2023 wenlong ding <wenlong.ding@turbolinux.com.cn> - 2.38.2-2
- Rename package to adaptor old Version
* Mon Dec 05 2022 lin zhang <lin.zhang@turbolinux.com.cn> - 2.38.2-1
- Update to 2.38.2 for gnome 43
* Tue Nov 29 2022 wuzx<wuzx1226@qq.com> - 2.36.3-3
- Add sw64 architecture
* Mon Nov 14 2022 huajingyun <huajingyun@loongson.cn> 2.36.3-2
- Add support loongarch
* Mon Jun 13 2022 lin zhang <lin.zhang@turbolinux.com.cn> 2.36.3-1
- Update to 2.36.3
* Fri Jun 10 2022 zhujunhao<zhujunhao11@huawei.com> - 2.32.4-4
- add wayland-porotocols-devel buildrequires
* Tue Jun 07 2022 houjinchang<houjinchang@huawei.com> - 2.32.4-3
- fix CVE-2022-30293 and CVE-2022-30294
* Thu Nov 04 2021 liuyumeng<liuyumeng5@huawei.com> - 2.32.4-2
- fix CVE-2021-42762
* Fri Oct 22 2021 zhanzhimin<zhanzhimin@huawei.com> - 2.32.4-1
- upgrade to 2.32.4
* Thu Jul 29 2021 wangkerong<wangkerong@huawei.com> - 2.32.1-2
- change xdg-desktop-protal-gts dependences
* Mon Jun 21 2021 wangkerong<wangkerong@huawei.com> - 2.32.1-1
- upgrade to 2.32.1
* Tue Dec 15 2020 hanhui<hanhui15@huawei.com> - 2.28.3-3
- modify license
* Wed Aug 05 2020 songnannan <songnannan2@huawei.com> - 2.28.3-2
- change the mesa-libELGS-devel to libglvnd-devel
* Thu Jul 23 2020 songnannan <songnannan2@huawei.com> - 2.28.3-1
- Type:enhancement
- Id:NA
- SUG:NA
- DESC: update to 2.28.3
* Mon Feb 24 2020 openEuler Buildteam <buildteam@openeuler.org> - 2.22.2-6
- Type:enhancement
- Id:NA
- SUG:NA
- DESC:fix rpmbuild fail in make
* Thu Jan 23 2020 openEuler Buildteam <buildteam@openeuler.org> - 2.22.2-5
- Type:enhancement
- Id:NA
- SUG:NA
- DESC:close build option gtkdoc
* Sat Jan 11 2020 openEuler Buildteam <buildteam@openeuler.org> - 2.22.2-4
- Type:enhancement
- Id:NA
- SUG:NA
- DESC:optimization the spec
* Tue Dec 31 2019 openEuler Buildteam <buildteam@openeuler.org> - 2.22.2-3
- Enable gtk-doc and go-introspection
* Fri Nov 8 2019 openEuler Buildteam <buildteam@openeuler.org> - 2.22.2-2
- Modify cmake option to disable gtk-doc and go-introspection
* Wed Sep 18 2019 openEuler Buildteam <buildteam@openeuler.org> - 2.22.2-1
- Package init
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。