diff --git a/qt5-qtwebengine.spec b/qt5-qtwebengine.spec index 1bcb199a182fc1095837ef5a19d8c463ab1fa998..2e47ef3d6f47046861763d345ade7d166f8a0f63 100644 --- a/qt5-qtwebengine.spec +++ b/qt5-qtwebengine.spec @@ -52,7 +52,7 @@ Summary: Qt5 - QtWebEngine components Name: qt5-qtwebengine Version: 5.15.10 -Release: 3 +Release: 4 # See LICENSE.GPL LICENSE.LGPL LGPL_EXCEPTION.txt, for details # See also http://qt-project.org/doc/qt-5.0/qtdoc/licensing.html @@ -112,6 +112,7 @@ Patch34: qtwebengine-support-clang-compile.patch #https://codereview.qt-project.org/c/qt/qtwebengine-chromium/+/518607 Patch35: CVE-2023-6112.patch ## Upstream patches: +Patch36: qtwebengine-icu-74.patch # handled by qt5-srpm-macros, which defines %%qt5_qtwebengine_arches #ExclusiveArch: %{qt5_qtwebengine_arches} @@ -420,6 +421,7 @@ popd %patch34 -p1 -b .support-clang-compile %patch35 -p1 +%patch36 -p1 # delete all "toolprefix = " lines from build/toolchain/linux/BUILD.gn, as we # never cross-compile in native Fedora RPMs, fixes ARM and aarch64 FTBFS @@ -637,6 +639,9 @@ done %changelog +* Tue Feb 20 2024 peijiankang - 5.15.10-4 +- add qtwebengine-icu-74.patch + * Tue Jan 30 2024 peijiankang - 5.15.10-3 - CVE-2023-6112.patch diff --git a/qtwebengine-icu-74.patch b/qtwebengine-icu-74.patch new file mode 100644 index 0000000000000000000000000000000000000000..703f5f30308b6f75c0b5e7ac6d218cfd95816124 --- /dev/null +++ b/qtwebengine-icu-74.patch @@ -0,0 +1,15 @@ +diff --git a/src/3rdparty/chromium/third_party/blink/renderer/platform/text/text_break_iterator.cc b/src/3rdparty/chromium/third_party/blink/renderer/platform/text/text_break_iterator.cc +index e34b07372..c0f9268aa 100644 +--- a/src/3rdparty/chromium/third_party/blink/renderer/platform/text/text_break_iterator.cc ++++ b/src/3rdparty/chromium/third_party/blink/renderer/platform/text/text_break_iterator.cc +@@ -162,7 +162,9 @@ static const unsigned char kAsciiLineBreakTable[][(kAsciiLineBreakTableLastChar + }; + // clang-format on + +-#if U_ICU_VERSION_MAJOR_NUM >= 58 ++#if U_ICU_VERSION_MAJOR_NUM >= 74 ++#define BA_LB_COUNT (U_LB_COUNT - 8) ++#elif U_ICU_VERSION_MAJOR_NUM >= 58 + #define BA_LB_COUNT (U_LB_COUNT - 3) + #else + #define BA_LB_COUNT U_LB_COUNT diff --git a/test b/test deleted file mode 100644 index a3596bc8aa797dba2f64928791b32e6683326a61..0000000000000000000000000000000000000000 --- a/test +++ /dev/null @@ -1,695 +0,0 @@ -%global qt_module qtwebengine - -%global _hardened_build 1 - -# package-notes causes FTBFS (#2043178) -%undefine _package_note_file - -# define to build docs, may need to undef this for bootstrapping -# where qt5-qttools (qt5-doctools) builds are not yet available -%global docs 0 - -#%if 0%{?fedora} -# need libvpx >= 1.8.0 (need commit 297dfd869609d7c3c5cd5faa3ebc7b43a394434e) -%global use_system_libvpx 0 -# For screen sharing on Wayland, currently Fedora only thing - no epel -#global pipewire 1 -#%endif -#%if 0%{?fedora} > 30 || 0%{?epel} > 7 -# need libwebp >= 0.6.0 -%global use_system_libwebp 1 -%global use_system_jsoncpp 1 -#%if 0%{?rhel} && 0%{?rhel} == 9 -#%global use_system_re2 0 -#%else -#%global use_system_re2 1 -#%endif -#%endif - -#%if 0%{?fedora} > 32 -# need libicu >= 65, only currently available on f33+ -%global use_system_libicu 1 -#%endif - -# NEON support on ARM (detected at runtime) - disable this if you are hitting -# FTBFS due to e.g. GCC bug https://bugzilla.redhat.com/show_bug.cgi?id=1282495 -#global arm_neon 1 - -# the QMake CONFIG flags to force debugging information to be produced in -# release builds, and for all parts of the code -%ifarch %{arm} aarch64 -# the ARM builder runs out of memory during linking with the full setting below, -# so omit debugging information for the parts upstream deems it dispensable for -# (webcore, v8base) -%global debug_config %{nil} -%else -%global debug_config force_debug_info -# webcore_debug v8base_debug -%endif - -#global prerelease rc - -# spellchecking dictionary directory -%global _qtwebengine_dictionaries_dir %{_qt5_datadir}/qtwebengine_dictionaries - -%global rpm_macros_dir %(d=%{_rpmconfigdir}/macros.d; [ -d $d ] || d=%{_sysconfdir}/rpm; echo $d) - -# exclude plugins -%global __provides_exclude ^lib.*plugin\\.so.*$ -# and designer plugins -%global __provides_exclude_from ^%{_qt5_plugindir}/.*\\.so$ - -Summary: Qt5 - QtWebEngine components -Name: qt5-qtwebengine -Version: 5.15.10 -Release: 1 - -# See LICENSE.GPL LICENSE.LGPL LGPL_EXCEPTION.txt, for details -# See also http://qt-project.org/doc/qt-5.0/qtdoc/licensing.html -# The other licenses are from Chromium and the code it bundles -License: (LGPLv2 with exceptions or GPLv3 with exceptions) and BSD and LGPLv2+ and ASL 2.0 and IJG and MIT and GPLv2+ and ISC and OpenSSL and (MPLv1.1 or GPLv2 or LGPLv2) -URL: http://www.qt.io -# cleaned tarball with patent-encumbered codecs removed from the bundled FFmpeg -# ./qtwebengine-release.sh -# ./clean_qtwebengine.sh 5.15.1 -Source0: qtwebengine-everywhere-src-%{version}-clean.tar.xz -# release script used above -Source1: qtwebengine-release.sh -# cleanup scripts used above -Source2: clean_qtwebengine.sh -Source3: clean_ffmpeg.sh -Source4: get_free_ffmpeg_source_files.py -# macros -Source10: macros.qt5-qtwebengine - -# pulseaudio headers -Source20: pulseaudio-12.2-headers.tar.gz - -## Python2 Sources -## src.rpm is Fedora spec with tests and tkinter turned off -## binary rpms have been built on epel9 -Source100: python2.7-2.7.18-19.el9.1.src.rpm -Source101: python2.7-2.7.18-19.el9.1.aarch64.rpm -Source102: python2.7-2.7.18-19.el9.1.x86_64.rpm - -# fix extractCFlag to also look in QMAKE_CFLAGS_RELEASE, needed to detect the -# ARM flags with our %%qmake_qt5 macro, including for the next patch -Patch2: qtwebengine-opensource-src-5.12.4-fix-extractcflag.patch -# disable NEON vector instructions on ARM where the NEON code FTBFS due to -# GCC bug https://bugzilla.redhat.com/show_bug.cgi?id=1282495 -Patch3: qtwebengine-opensource-src-5.9.0-no-neon.patch -# workaround FTBFS against kernel-headers-5.2.0+ -Patch4: qtwebengine-SIOCGSTAMP.patch -# fix build when using qt < 5.14 -Patch5: qtwebengine-5.15.0-QT_DEPRECATED_VERSION.patch -# gcc-12 FTBFS "use of deleted function" -Patch6: chromium-angle-nullptr.patch -Patch7: chromium-hunspell-nullptr.patch -Patch8: qtwebengine-everywhere-5.15.8-libpipewire-0.3.patch -# Fix/workaround FTBFS on aarch64 with newer glibc -Patch24: qtwebengine-everywhere-src-5.11.3-aarch64-new-stat.patch -# Use Python2 -Patch26: qtwebengine-everywhere-5.15.5-use-python2.patch -# FTBFS TRUE/FALSE undeclared -Patch31: qtwebengine-everywhere-src-5.15.5-TRUE.patch -Patch32: qtwebengine-skia-missing-includes.patch -# Fix QtWebEngine on Apple M1 hardware (patch from Arch Linux ARM) -## Cf. https://bugreports.qt.io/browse/QTBUG-108674 -## Cf. https://bugzilla.redhat.com/show_bug.cgi?id=2144200 -## From: https://chromium-review.googlesource.com/c/chromium/src/+/3545665 -Patch33: qtwebengine-5.15-Backport-of-16k-page-support-on-aarch64.patch - -## Upstream patches: -#%if 0%{?fedora} || 0%{?epel} > 7 -# handled by qt5-srpm-macros, which defines %%qt5_qtwebengine_arches -#ExclusiveArch: %{qt5_qtwebengine_arches} -#%endif - -BuildRequires: make -BuildRequires: qt5-qtbase-devel -BuildRequires: qt5-qtbase-private-devel -# TODO: check of = is really needed or if >= would be good enough -- rex -%{?_qt5:Requires: %{_qt5}%{?_isa} = %{_qt5_version}} -BuildRequires: qt5-qtdeclarative-devel -BuildRequires: qt5-qtxmlpatterns-devel -BuildRequires: qt5-qtlocation-devel -BuildRequires: qt5-qtsensors-devel -BuildRequires: qt5-qtsvg-devel -BuildRequires: qt5-qtwebchannel-devel -BuildRequires: qt5-qttools-static -# for examples? -BuildRequires: qt5-qtquickcontrols2-devel -BuildRequires: ninja-build -BuildRequires: cmake -BuildRequires: bison -BuildRequires: flex -BuildRequires: gcc-c++ -# gn links statically (for now) -BuildRequires: libstdc++-static -BuildRequires: git-core -BuildRequires: gperf -BuildRequires: krb5-devel -%if 0%{?use_system_libicu} -BuildRequires: libicu-devel >= 65 -%endif -BuildRequires: libjpeg-devel -BuildRequires: nodejs -#%if 0%{?use_system_re2} -#BuildRequires: re2-devel -#%endif -%if 0%{?pipewire} -BuildRequires: pkgconfig(libpipewire-0.3) -%endif -BuildRequires: snappy-devel -BuildRequires: pkgconfig(expat) -BuildRequires: pkgconfig(gobject-2.0) -BuildRequires: pkgconfig(glib-2.0) -BuildRequires: pkgconfig(fontconfig) -BuildRequires: pkgconfig(freetype2) -BuildRequires: pkgconfig(gl) -BuildRequires: pkgconfig(egl) -%if 0%{?use_system_jsoncpp} -BuildRequires: pkgconfig(jsoncpp) -%endif -BuildRequires: pkgconfig(libpng) -BuildRequires: pkgconfig(libudev) -%if 0%{?use_system_libwebp} -BuildRequires: pkgconfig(libwebp) >= 0.6.0 -%endif -BuildRequires: pkgconfig(harfbuzz) -BuildRequires: pkgconfig(libdrm) -BuildRequires: pkgconfig(opus) -BuildRequires: pkgconfig(libevent) -BuildRequires: pkgconfig(poppler-cpp) -BuildRequires: pkgconfig(zlib) -#%if 0%{?fedora} && 0%{?fedora} < 30 -#BuildRequires: pkgconfig(minizip) -#%else -BuildConflicts: minizip-devel -Provides: bundled(minizip) = 1.2 -#%endif -BuildRequires: pkgconfig(x11) -BuildRequires: pkgconfig(xi) -BuildRequires: pkgconfig(xcursor) -BuildRequires: pkgconfig(xext) -BuildRequires: pkgconfig(xfixes) -BuildRequires: pkgconfig(xrender) -BuildRequires: pkgconfig(xdamage) -BuildRequires: pkgconfig(xcomposite) -BuildRequires: pkgconfig(xtst) -BuildRequires: pkgconfig(xrandr) -BuildRequires: pkgconfig(xscrnsaver) -BuildRequires: pkgconfig(libcap) -BuildRequires: pkgconfig(libpulse) -BuildRequires: pkgconfig(alsa) -BuildRequires: pkgconfig(libpci) -BuildRequires: pkgconfig(dbus-1) -BuildRequires: pkgconfig(nss) -BuildRequires: pkgconfig(lcms2) -BuildRequires: pkgconfig(xkbcommon) -BuildRequires: pkgconfig(xkbfile) -## https://bugreports.qt.io/browse/QTBUG-59094 -## requires libxml2 built with icu support -#BuildRequires: pkgconfig(libxslt) pkgconfig(libxml-2.0) -BuildRequires: perl-interpreter -# fesco exception to allow python2 use: https://pagure.io/fesco/issue/2208 -# per https://fedoraproject.org/wiki/Changes/RetirePython2#FESCo_exceptions -# Only the interpreter is needed -#%if 0%{?fedora} > 29 || 0%{?rhel} > 8 -#%if 0%{?rhel} && 0%{?rhel} == 9 -BuildRequires: python3 -#%else -#BuildRequires: %{__python2} -#%endif -#%else -#BuildRequires: python2 -#BuildRequires: python2-rpm-macros -#%endif -%if 0%{?use_system_libvpx} -BuildRequires: pkgconfig(vpx) >= 1.8.0 -%endif -# For python on EPEL9, These get pulled in via python2 -BuildRequires: libtirpc -BuildRequires: libnsl2 -BuildRequires: python-rpm-macros - -# extra (non-upstream) functions needed, see -# src/3rdparty/chromium/third_party/sqlite/README.chromium for details -#BuildRequires: pkgconfig(sqlite3) - -## Various bundled libraries that Chromium does not support unbundling :-( -## Only the parts actually built are listed. -## Query for candidates: -## grep third_party/ build.log | sed 's!third_party/!\nthird_party/!g' | \ -## grep third_party/ | sed 's!^third_party/!!g' | sed 's!/.*$!!g' | \ -## sed 's/\;.*$//g' | sed 's/ .*$//g' | sort | uniq | less -## some false positives where only shim headers are generated for some reason -## some false positives with dummy placeholder dirs (swiftshader, widevine) -## some false negatives where a header-only library is bundled (e.g. x86inc) -## Spot's chromium.spec also has a list that I checked. - -# Of course, Chromium itself is bundled. It cannot be unbundled because it is -# not a library, but forked (modified) application code. -Provides: bundled(chromium) = 87.0.4280.144 - -# Bundled in src/3rdparty/chromium/third_party: -# Check src/3rdparty/chromium/third_party/*/README.chromium for version numbers, -# except where specified otherwise. -# Note that many of those libraries are git snapshots, so version numbers are -# necessarily approximate. -# Also note that the list is probably not complete anymore due to Chromium -# adding more and more bundled stuff at every release, some of which (but not -# all) is actually built in QtWebEngine. -# src/3rdparty/chromium/third_party/angle/doc/ChoosingANGLEBranch.md points to -# http://omahaproxy.appspot.com/deps.json?version=87.0.4280.144 chromium_branch -Provides: bundled(angle) = 2422 -# Google's fork of OpenSSL -# We cannot build against NSS instead because it no longer works with NSS 3.21: -# HTTPS on, ironically, Google's sites (Google, YouTube, etc.) stops working -# completely and produces only ERR_SSL_PROTOCOL_ERROR errors: -# http://kaosx.us/phpBB3/viewtopic.php?t=1235 -# https://bugs.launchpad.net/ubuntu/+source/chromium-browser/+bug/1520568 -# So we have to do what Chromium now defaults to (since 47): a "chimera build", -# i.e., use the BoringSSL code and the system NSS certificates. -Provides: bundled(boringssl) -Provides: bundled(brotli) -# Don't get too excited. MPEG and other legally problematic stuff is stripped -# out. See clean_qtwebengine.sh, clean_ffmpeg.sh, and -# get_free_ffmpeg_source_files.py. -# see src/3rdparty/chromium/third_party/ffmpeg/Changelog for the version number -Provides: bundled(ffmpeg) = 4.3 -Provides: bundled(hunspell) = 1.6.0 -Provides: bundled(iccjpeg) -# bundled as "khronos", headers only -Provides: bundled(khronos_headers) -# bundled as "leveldatabase" -Provides: bundled(leveldb) = 1.22 -# bundled as "libjingle_xmpp" -Provides: bundled(libjingle) -# see src/3rdparty/chromium/third_party/libsrtp/CHANGES for the version number -Provides: bundled(libsrtp) = 2.2.0 -%if !0%{?use_system_libvpx} -Provides: bundled(libvpx) = 1.8.2 -%endif -%if !0%{?use_system_libwebp} -Provides: bundled(libwebp) = 1.1.0-28-g55a080e5 -%endif -# bundled as "libxml" -# see src/3rdparty/chromium/third_party/libxml/linux/include/libxml/xmlversion.h -# post 2.9.9 snapshot?, 2.9.9-0b3c64d9f2f3e9ce1a98d8f19ee7a763c87e27d5 -Provides: bundled(libxml2) = 2.9.10 -# see src/3rdparty/chromium/third_party/libxslt/linux/config.h for version -Provides: bundled(libxslt) = 1.1.34 -Provides: bundled(libXNVCtrl) = 302.17 -Provides: bundled(libyuv) = 1768 -Provides: bundled(modp_b64) -Provides: bundled(ots) -Provides: bundled(re2) -# see src/3rdparty/chromium/third_party/protobuf/CHANGES.txt for the version -Provides: bundled(protobuf) = 3.9.0 -Provides: bundled(qcms) = 4 -Provides: bundled(skia) -# bundled as "smhasher" -Provides: bundled(SMHasher) = 0-147 -Provides: bundled(sqlite) = 3.35.5 -Provides: bundled(usrsctp) -Provides: bundled(webrtc) = 90 - -%ifarch %{ix86} x86_64 -# bundled by ffmpeg and libvpx: -# header (for assembly) only -Provides: bundled(x86inc) -%endif - -# Bundled in src/3rdparty/chromium/base/third_party: -# Check src/3rdparty/chromium/third_party/base/*/README.chromium for version -# numbers, except where specified otherwise. -Provides: bundled(dynamic_annotations) = 4384 -Provides: bundled(superfasthash) = 0 -Provides: bundled(symbolize) -# bundled as "valgrind", headers only -Provides: bundled(valgrind.h) -# bundled as "xdg_mime" -Provides: bundled(xdg-mime) -# bundled as "xdg_user_dirs" -Provides: bundled(xdg-user-dirs) = 0.10 - -# Bundled in src/3rdparty/chromium/net/third_party: -# Check src/3rdparty/chromium/third_party/net/*/README.chromium for version -# numbers, except where specified otherwise. -Provides: bundled(mozilla_security_manager) = 1.9.2 - -# Bundled in src/3rdparty/chromium/url/third_party: -# Check src/3rdparty/chromium/third_party/url/*/README.chromium for version -# numbers, except where specified otherwise. -# bundled as "mozilla", file renamed and modified -Provides: bundled(nsURLParsers) - -# Bundled outside of third_party, apparently not considered as such by Chromium: -Provides: bundled(mojo) -# see src/3rdparty/chromium/v8/include/v8_version.h for the version number -Provides: bundled(v8) = 8.7.220.35 -# bundled by v8 (src/3rdparty/chromium/v8/src/base/ieee754.cc) -# The version number is 5.3, the last version that upstream released, years ago: -# http://www.netlib.org/fdlibm/readme -Provides: bundled(fdlibm) = 5.3 - -%{?_qt5_version:Requires: qt5-qtbase%{?_isa} = %{_qt5_version}} - -%if 0%{?use_system_icu} -# Those versions were built with bundled ICU and want the data file. -Conflicts: qt5-qtwebengine-freeworld < 5.15.2-2 -%endif - -#%if 0%{?rhel} == 7 -#BuildRequires: devtoolset-7-toolchain -#%endif - -%description -%{summary}. - -%package devel -Summary: Development files for %{name} -Requires: %{name}%{?_isa} = %{version}-%{release} -Requires: qt5-qtbase-devel%{?_isa} -Requires: qt5-qtdeclarative-devel%{?_isa} -# not arch'd for now, see if can get away with avoiding multilib'ing -- rex -Requires: %{name}-devtools = %{version}-%{release} -%description devel -%{summary}. - -%package devtools -Summary: WebEngine devtools_resources -Requires: %{name}%{?_isa} = %{version}-%{release} -%description devtools -Support for remote debugging. - -%package examples -Summary: Example files for %{name} - -%description examples -%{summary}. - - -%if 0%{?docs} -%package doc -Summary: API documentation for %{name} -BuildRequires: qt5-qdoc -BuildRequires: qt5-qhelpgenerator -BuildRequires: qt5-qtbase-doc -Requires: qt5-qtbase-doc -BuildRequires: qt5-qtxmlpatterns-doc -Requires: qt5-qtxmlpatterns-doc -BuildRequires: qt5-qtdeclarative-doc -Requires: qt5-qtdeclarative-doc -BuildArch: noarch -%description doc -%{summary}. -%endif - - -%prep -%setup -q -n %{qt_module}-everywhere-src-%{version}%{?prerelease:-%{prerelease}} -a20 - -mv pulse src/3rdparty/chromium/ - -pushd src/3rdparty/chromium -popd - -#%if 0%{?rhel} && 0%{?rhel} == 9 -# Install python2 from rpms -mkdir python2 -pushd python2 -%ifarch aarch64 -rpm2cpio %{SOURCE101} | cpio -idm -%endif -%ifarch x86_64 -rpm2cpio %{SOURCE102} | cpio -idm -%endif -popd -#%endif - -%patch2 -p1 -b .fix-extractcflag -%if !0%{?arm_neon} -%patch3 -p1 -b .no-neon -%endif -%patch4 -p1 -b .SIOCGSTAMP -%patch5 -p1 -b .QT_DEPRECATED_VERSION -%patch6 -p1 -b .angle_nullptr -%patch7 -p1 -b .hunspell_nullptr -#if 0%{?pipewire} -%patch8 -p1 -b .libpipewire-0.3 -#endif - -## upstream patches -%patch24 -p1 -b .aarch64-new-stat -%patch26 -p1 -b .use-python2 -%patch31 -p1 -b .TRUE -%patch32 -p1 -b .skia-missing-includes -%patch33 -p1 -b .aarch64-16kb-support - -# delete all "toolprefix = " lines from build/toolchain/linux/BUILD.gn, as we -# never cross-compile in native Fedora RPMs, fixes ARM and aarch64 FTBFS -sed -i -e '/toolprefix = /d' -e 's/\${toolprefix}//g' \ - src/3rdparty/chromium/build/toolchain/linux/BUILD.gn - -#%if 0%{?use_system_re2} -## http://bugzilla.redhat.com/1337585 -## can't just delete, but we'll overwrite with system headers to be on the safe side -#cp -bv /usr/include/re2/*.h src/3rdparty/chromium/third_party/re2/src/re2/ -#%endif - -%if 0 -#ifarch x86_64 -# enable this to force -g2 on x86_64 (most arches run out of memory with -g2) -# DISABLED BECAUSE OF: -# /usr/lib/rpm/find-debuginfo.sh: line 188: 3619 Segmentation fault -# (core dumped) eu-strip --remove-comment $r $g -f "$1" "$2" -sed -i -e 's/symbol_level=1/symbol_level=2/g' src/core/config/common.pri -%endif - -%if 0%{?docs} -# generate qtwebengine-3rdparty.qdoc, it is missing from the tarball -pushd src/3rdparty -%{__python3} chromium/tools/licenses.py \ - --file-template ../../tools/about_credits.tmpl \ - --entry-template ../../tools/about_credits_entry.tmpl \ - credits >../webengine/doc/src/qtwebengine-3rdparty.qdoc -popd -%endif - -# copy the Chromium license so it is installed with the appropriate name -cp -p src/3rdparty/chromium/LICENSE LICENSE.Chromium - -# consider doing this as part of the tarball creation step instead? rdieter -# fix/workaround -# fatal error: QtWebEngineCore/qtwebenginecoreglobal.h: No such file or directory -if [ ! -f "./include/QtWebEngineCore/qtwebenginecoreglobal.h" ]; then -%_qt5_bindir/syncqt.pl -version %{version} -fi - -# abort if this doesn't get created by syncqt.pl -test -f "./include/QtWebEngineCore/qtwebenginecoreglobal.h" - - -%build -#%if 0%{?rhel} == 7 -#. /opt/rh/devtoolset-7/enable -#%endif - -# python2 path -export PATH=$(pwd)/python2/usr/bin:$PATH -export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$(pwd)/python2/usr/lib64 - -export STRIP=strip -export NINJAFLAGS="%{__ninja_common_opts}" -export NINJA_PATH=%{__ninja} - -%{qmake_qt5} \ - %{?debug_config:CONFIG+="%{debug_config}}" \ - CONFIG+="link_pulseaudio use_gold_linker" \ - %{?use_system_libicu:QMAKE_EXTRA_ARGS+="-system-webengine-icu"} \ - QMAKE_EXTRA_ARGS+="-webengine-kerberos" \ - %{?pipewire:QMAKE_EXTRA_ARGS+="-webengine-webrtc-pipewire"} \ - . - -# avoid %%make_build for now, the -O flag buffers output from intermediate build steps done via ninja -make - -%if 0%{?docs} -%make_build docs -%endif - -%install -make install INSTALL_ROOT=%{buildroot} - -%if 0%{?docs} -make install_docs INSTALL_ROOT=%{buildroot} -%endif - -# rpm macros -install -p -m644 -D %{SOURCE10} \ - %{buildroot}%{rpm_macros_dir}/macros.qt5-qtwebengine -sed -i \ - -e "s|@@NAME@@|%{name}|g" \ - -e "s|@@EPOCH@@|%{?epoch}%{!?epoch:0}|g" \ - -e "s|@@VERSION@@|%{version}|g" \ - -e "s|@@EVR@@|%{?epoch:%{epoch:}}%{version}-%{release}|g" \ - %{buildroot}%{rpm_macros_dir}/macros.qt5-qtwebengine - -## .prl/.la file love -# nuke .prl reference(s) to %%buildroot, excessive (.la-like) libs -pushd %{buildroot}%{_qt5_libdir} -for prl_file in libQt5*.prl ; do - sed -i -e "/^QMAKE_PRL_BUILD_DIR/d" ${prl_file} - if [ -f "$(basename ${prl_file} .prl).so" ]; then - rm -fv "$(basename ${prl_file} .prl).la" - sed -i -e "/^QMAKE_PRL_LIBS/d" ${prl_file} - fi -done -# explicitly omit, at least until there's a real library installed associated with it -- rex -rm -fv Qt5WebEngineCore.la -popd - -mkdir -p %{buildroot}%{_qtwebengine_dictionaries_dir} - -# adjust cmake dep(s) to allow for using the same Qt5 that was used to build it -# using the lesser of %%version, %%_qt5_version -%global lesser_version $(echo -e "%{version}\\n%{_qt5_version}" | sort -V | head -1) -sed -i -e "s|%{version} \${_Qt5WebEngine|%{lesser_version} \${_Qt5WebEngine|" \ - %{buildroot}%{_qt5_libdir}/cmake/Qt5WebEngine*/Qt5WebEngine*Config.cmake - - -%ldconfig_scriptlets - -#%if 0%{?fedora} > 35 || 0%{?epel} > 9 -%filetriggerin -- %{_datadir}/hunspell -#%else -#%filetriggerin -- %{_datadir}/myspell -#%endif -while read filename ; do - case "$filename" in - *.dic) - bdicname=%{_qtwebengine_dictionaries_dir}/`basename -s .dic "$filename"`.bdic - %{_qt5_bindir}/qwebengine_convert_dict "$filename" "$bdicname" &> /dev/null || : - ;; - esac -done - -%files -%license LICENSE.* -%if 0%{?docs} -%license src/webengine/doc/src/qtwebengine-3rdparty.qdoc -%endif -%{_qt5_libdir}/libQt5*.so.* -%{_qt5_bindir}/qwebengine_convert_dict -%{_qt5_libdir}/qt5/qml/* -%{_qt5_libdir}/qt5/libexec/QtWebEngineProcess -%{_qt5_plugindir}/designer/libqwebengineview.so -%{_qt5_plugindir}/imageformats/libqpdf.so -%dir %{_qt5_datadir}/resources/ -%if ! 0%{?use_system_libicu} -%{_qt5_datadir}/resources/icudtl.dat -%endif -%{_qt5_datadir}/resources/qtwebengine_resources_100p.pak -%{_qt5_datadir}/resources/qtwebengine_resources_200p.pak -%{_qt5_datadir}/resources/qtwebengine_resources.pak -%dir %{_qtwebengine_dictionaries_dir} -%dir %{_qt5_translationdir}/qtwebengine_locales -%lang(am) %{_qt5_translationdir}/qtwebengine_locales/am.pak -%lang(ar) %{_qt5_translationdir}/qtwebengine_locales/ar.pak -%lang(bg) %{_qt5_translationdir}/qtwebengine_locales/bg.pak -%lang(bn) %{_qt5_translationdir}/qtwebengine_locales/bn.pak -%lang(ca) %{_qt5_translationdir}/qtwebengine_locales/ca.pak -%lang(cs) %{_qt5_translationdir}/qtwebengine_locales/cs.pak -%lang(da) %{_qt5_translationdir}/qtwebengine_locales/da.pak -%lang(de) %{_qt5_translationdir}/qtwebengine_locales/de.pak -%lang(el) %{_qt5_translationdir}/qtwebengine_locales/el.pak -%lang(en) %{_qt5_translationdir}/qtwebengine_locales/en-GB.pak -%lang(en) %{_qt5_translationdir}/qtwebengine_locales/en-US.pak -%lang(es) %{_qt5_translationdir}/qtwebengine_locales/es-419.pak -%lang(es) %{_qt5_translationdir}/qtwebengine_locales/es.pak -%lang(et) %{_qt5_translationdir}/qtwebengine_locales/et.pak -%lang(fa) %{_qt5_translationdir}/qtwebengine_locales/fa.pak -%lang(fi) %{_qt5_translationdir}/qtwebengine_locales/fi.pak -%lang(fil) %{_qt5_translationdir}/qtwebengine_locales/fil.pak -%lang(fr) %{_qt5_translationdir}/qtwebengine_locales/fr.pak -%lang(gu) %{_qt5_translationdir}/qtwebengine_locales/gu.pak -%lang(he) %{_qt5_translationdir}/qtwebengine_locales/he.pak -%lang(hi) %{_qt5_translationdir}/qtwebengine_locales/hi.pak -%lang(hr) %{_qt5_translationdir}/qtwebengine_locales/hr.pak -%lang(hu) %{_qt5_translationdir}/qtwebengine_locales/hu.pak -%lang(id) %{_qt5_translationdir}/qtwebengine_locales/id.pak -%lang(it) %{_qt5_translationdir}/qtwebengine_locales/it.pak -%lang(ja) %{_qt5_translationdir}/qtwebengine_locales/ja.pak -%lang(kn) %{_qt5_translationdir}/qtwebengine_locales/kn.pak -%lang(ko) %{_qt5_translationdir}/qtwebengine_locales/ko.pak -%lang(lt) %{_qt5_translationdir}/qtwebengine_locales/lt.pak -%lang(lv) %{_qt5_translationdir}/qtwebengine_locales/lv.pak -%lang(ml) %{_qt5_translationdir}/qtwebengine_locales/ml.pak -%lang(mr) %{_qt5_translationdir}/qtwebengine_locales/mr.pak -%lang(ms) %{_qt5_translationdir}/qtwebengine_locales/ms.pak -%lang(nb) %{_qt5_translationdir}/qtwebengine_locales/nb.pak -%lang(nl) %{_qt5_translationdir}/qtwebengine_locales/nl.pak -%lang(pl) %{_qt5_translationdir}/qtwebengine_locales/pl.pak -%lang(pt_BR) %{_qt5_translationdir}/qtwebengine_locales/pt-BR.pak -%lang(pt_PT) %{_qt5_translationdir}/qtwebengine_locales/pt-PT.pak -%lang(ro) %{_qt5_translationdir}/qtwebengine_locales/ro.pak -%lang(ru) %{_qt5_translationdir}/qtwebengine_locales/ru.pak -%lang(sk) %{_qt5_translationdir}/qtwebengine_locales/sk.pak -%lang(sl) %{_qt5_translationdir}/qtwebengine_locales/sl.pak -%lang(sr) %{_qt5_translationdir}/qtwebengine_locales/sr.pak -%lang(sv) %{_qt5_translationdir}/qtwebengine_locales/sv.pak -%lang(sw) %{_qt5_translationdir}/qtwebengine_locales/sw.pak -%lang(ta) %{_qt5_translationdir}/qtwebengine_locales/ta.pak -%lang(te) %{_qt5_translationdir}/qtwebengine_locales/te.pak -%lang(th) %{_qt5_translationdir}/qtwebengine_locales/th.pak -%lang(tr) %{_qt5_translationdir}/qtwebengine_locales/tr.pak -%lang(uk) %{_qt5_translationdir}/qtwebengine_locales/uk.pak -%lang(vi) %{_qt5_translationdir}/qtwebengine_locales/vi.pak -%lang(zh_CN) %{_qt5_translationdir}/qtwebengine_locales/zh-CN.pak -%lang(zh_TW) %{_qt5_translationdir}/qtwebengine_locales/zh-TW.pak - -%files devel -%{rpm_macros_dir}/macros.qt5-qtwebengine -%{_qt5_headerdir}/Qt*/ -%{_qt5_libdir}/libQt5*.so -%{_qt5_libdir}/libQt5*.prl -%{_qt5_libdir}/cmake/Qt5*/ -%{_qt5_libdir}/pkgconfig/Qt5*.pc -%{_qt5_archdatadir}/mkspecs/modules/*.pri - -%files devtools -%{_qt5_datadir}/resources/qtwebengine_devtools_resources.pak - -%files examples -%{_qt5_examplesdir}/ - -%if 0%{?docs} -%files doc -%{_qt5_docdir}/* -%endif - - -%changelog -* Fri Dec 16 2022 peijiankang -5.15.10-1 -- update upstream version to 5.15.10 - -* Fri Jul 24 2020 maminjie -5.11.1-10 -- Fix the build error for U16_NEXT calls - -* Sun Jun 28 2020 huanghaitao -5.11.1-9 -- Fix the build errors with conflicting declaration of C - -* Sat Jun 20 2020 huanghaitao -5.11.1-8 -- Solved the unresolved problem - -* Wed Mar 18 2020 gulining - 5.11.1-7 -- Fix build error - -* Wed Mar 18 2020 yanglijin - 5.11.1-6 -- Remove help package - -* Fri Mar 6 2020 Ling Yang - 5.11.1-5 -- Package Init -