%global qt_module qtwebengine %global _hardened_build 1 #global _qt6_build_type MinSizeRel %bcond_with optimize_size %bcond_with clang %global use_system_ffmpeg 1 %if 0%{?rhel} == 8 # need libvpx >= 1.12.0 %global use_system_libvpx 1 %endif %if 0%{?rhel} >= 9 %global use_system_tiff 1 %endif %if 0%{?fedora} > 30 || 0%{?epel} > 7 %global use_system_jsoncpp 1 %global use_system_libwebp 1 %global use_system_harfbuzz 1 %endif %if 0%{?fedora} || 0%{?rhel} >= 9 %global use_system_re2 1 %endif %if 0%{?fedora} > 34 || 0%{?rhel} >= 8 # need libicu >= 70, only currently available on f34+ or raven-extras repo for rhel8 %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 %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 ^%{_qt6_plugindir}/.*\\.so$ Summary: Qt6 - QtWebEngine components Name: qt6-qtwebengine Version: 6.7.1 Release: 1%{?dist} # See LICENSE.GPL LICENSE.LGPL LGPL_EXCEPTION.txt, for details # See also http://qt-project.org/doc/qt-6.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 Source0: qtwebengine-everywhere-src-%{version}.tar.xz # macros Source10: macros.qt6-qtwebengine ## Upstream patches: # pulseaudio headers Source20: pulseaudio-12.2-headers.tar.gz # workaround FTBFS against kernel-headers-5.2.0+ Patch1: qtwebengine-SIOCGSTAMP.patch Patch2: qtwebengine-link-pipewire.patch # FTBS warning: elaborated-type-specifier for a scoped enum must not # use the 'class' keyword Patch50: qtwebengine-fix-build.patch ## Upstream patches: ## Upstreamable patches: Patch110: qtwebengine-webrtc-system-openh264.patch Patch111: qtwebengine-blink-system-openh264.patch Patch112: qtwebengine-media-system-openh264.patch Patch500: qtwebengine-everywhere-src-6.7.0-flags-1.patch BuildRequires: make BuildRequires: qt6-qtbase-devel BuildRequires: qt6-qtbase-private-devel # TODO: check of = is really needed or if >= would be good enough -- rex %{?_qt6:Requires: %{_qt6}%{?_isa} = %{_qt6_version}} BuildRequires: qt6-qtdeclarative-devel BuildRequires: qt6-qtlocation-devel BuildRequires: qt6-qtsensors-devel BuildRequires: qt6-qtsvg-devel BuildRequires: qt6-qtwebchannel-devel BuildRequires: qt6-qttools-static BuildRequires: cmake(Qt6Core) BuildRequires: cmake(Qt6Gui) BuildRequires: cmake(Qt6GuiTools) BuildRequires: cmake(Qt6Network) BuildRequires: cmake(Qt6OpenGL) BuildRequires: cmake(Qt6OpenGLWidgets) BuildRequires: cmake(Qt6Positioning) BuildRequires: cmake(Qt6PrintSupport) BuildRequires: cmake(Qt6Qml) BuildRequires: cmake(Qt6QmlModels) BuildRequires: cmake(Qt6QmlTools) BuildRequires: cmake(Qt6Quick) BuildRequires: cmake(Qt6QuickWidgets) BuildRequires: cmake(Qt6WebChannel) BuildRequires: cmake(Qt6Widgets) BuildRequires: cmake(Qt6WidgetsTools) BuildRequires: cmake(Qt6WebSockets) BuildRequires: cmake(Qt6) # for examples? BuildRequires: /usr/bin/gn BuildRequires: ninja-build BuildRequires: cmake >= 3.19 BuildRequires: bison BuildRequires: flex %if %{with clang} BuildRequires: clang %else %if 0%{?rhel} && 0%{?rhel} < 10 BuildRequires: gcc-toolset-13-libatomic-devel %else BuildRequires: gcc-c++ gcc %endif %endif # gn links statically (for now) BuildRequires: libstdc++-static BuildRequires: git-core BuildRequires: gperf BuildRequires: krb5-devel %if 0%{?use_system_libicu} BuildRequires: pkgconfig(icu-io) >= 70 %endif BuildRequires: libjpeg-devel BuildRequires: nodejs >= 1:14.0 %if 0%{?use_system_re2} BuildRequires: re2-devel %endif BuildRequires: snappy-devel %ifarch %{ix86} x86_64 BuildRequires: yasm %endif BuildRequires: pkgconfig(epoxy) BuildRequires: pkgconfig(gbm) 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) >= 1.2.0 %endif %if 0%{?use_system_harfbuzz} BuildRequires: pkgconfig(harfbuzz) >= 2.0 %endif BuildRequires: pkgconfig(libdrm) BuildRequires: pkgconfig(libopenjp2) BuildRequires: pkgconfig(libevent) BuildRequires: pkgconfig(poppler-cpp) BuildRequires: pkgconfig(zlib) %if 0%{?fedora} && 0%{?fedora} < 30 BuildRequires: pkgconfig(minizip) %else BuildConflicts: minizip-devel %if 0%{?rhel} == 8 BuildRequires: minizip1.2-devel %else Provides: bundled(minizip) = 1.2 %endif %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(libpipewire-0.3) BuildRequires: pkgconfig(alsa) BuildRequires: pkgconfig(libpci) BuildRequires: pkgconfig(dbus-1) BuildRequires: pkgconfig(nss) BuildRequires: pkgconfig(lcms2) BuildRequires: pkgconfig(xkbcommon) >= 1.3 BuildRequires: pkgconfig(xkbfile) BuildRequires: pkgconfig(xshmfence) BuildRequires: python3-html5lib %if 0%{?use_system_tiff} BuildRequires: pkgconfig(libtiff-4) >= 4.2.0 %endif BuildRequires: pkgconfig(openh264) %if 0%{?use_system_ffmpeg} BuildRequires: pkgconfig(libavcodec) BuildRequires: pkgconfig(libavformat) BuildRequires: pkgconfig(libavutil) %if 0%{?fedora} > 32 || 0%{?rhel} >= 8 BuildRequires: pkgconfig(opus) %endif %endif BuildRequires: perl-interpreter BuildRequires: python(abi) >= 3.11 %if 0%{?rhel} <= 9 BuildRequires: python3.11-html5lib BuildRequires: python3.11-rpm-macros %global __python3 %{_bindir}/python3.11 %endif %if 0%{?use_system_libvpx} BuildRequires: pkgconfig(vpx) >= 1.12.0 %endif # 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. # Some security fixes (up to version 64.0.3282.140) are backported, see: # http://code.qt.io/cgit/qt/qtwebengine-chromium.git/log/?h=61-based # see dist/changes-5.10.1 for the version numbers (base, security fixes) and for # a list of CVEs fixed by the added security backports # See Patch101 for additional fixes applied (up to version 65.0.3325.146) Provides: bundled(chromium) = 124.0.6367.202 # Bundled in src/3rdparty/chromium/third_party: # Check src/3rdparty/chromium/third_party/*/README.chromium for version numbers, # except where specified otherwise. 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) %if !0%{?use_system_ffmpeg} # see src/3rdparty/chromium/third_party/ffmpeg/Changelog for the version number Provides: bundled(ffmpeg) = 6.0.0 %endif 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.23 # bundled as "libjingle_xmpp" Provides: bundled(libjingle) # see src/3rdparty/chromium/third_party/libsrtp/CHANGES for the version number Provides: bundled(libsrtp) = 2.4.0 %if !0%{?use_system_libvpx} # claims "Version: 1.6.0", but according to the fine print, this is actually a # snapshot from master from after the 1.6.1 release Provides: bundled(libvpx) = 1.12.0 %endif %if !0%{?use_system_libwebp} Provides: bundled(libwebp) = 1.3.0 %endif %if !0%{?use_system_harfbuzz} Provides: bundled(harfbuzz) %endif # bundled as "libxml" # see src/3rdparty/chromium/third_party/libxml/linux/include/libxml/xmlversion.h Provides: bundled(libxml2) = 2.12.0 # see src/3rdparty/chromium/third_party/libxslt/linux/config.h for version Provides: bundled(libxslt) = 1.1.3 Provides: bundled(libXNVCtrl) = 302.17 Provides: bundled(libyuv) = 1819 Provides: bundled(modp_b64) Provides: bundled(openmax_dl) Provides: bundled(ots) # see src/3rdparty/chromium/third_party/libsrtp/CHANGES for the version number Provides: bundled(libsrtp) = 2.4.0 # see src/3rdparty/chromium/third_party/protobuf/CHANGES.txt for the version Provides: bundled(protobuf) = 3.20.3 Provides: bundled(qcms) = 4 Provides: bundled(sfntly) Provides: bundled(skia) # bundled as "smhasher" Provides: bundled(SMHasher) = 0-147 Provides: bundled(sqlite) = 3.42.0 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(dmg_fp) 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) = 11.8.172.18 # 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 %{?_qt6_version:Requires: qt6-qtbase%{?_isa} = %{_qt6_version}} %if 0%{?use_system_icu} # Those versions were built with bundled ICU and want the data file. Conflicts: qt6-qtwebengine-freeworld < 6.2.0-1 %endif Obsoletes: %{name}-libs < %{version}-%{release} Provides: %{name}-libs = %{version}-%{release} %if 0%{?rhel} == 8 Requires: rx-harfbuzz Requires: rx-libxkbcommon %if 0%{?use_system_libwebp} Requires: rx-libwebp %endif %endif %description %{summary}. %package devel Summary: Development files for %{name} Requires: %{name}%{?_isa} = %{version}-%{release} Requires: qt6-qtbase-devel%{?_isa} Requires: qt6-qtdeclarative-devel%{?_isa} # not arch'd for now, see if can get away with avoiding multilib'ing -- rex Requires: %{name} = %{version}-%{release} %description devel %{summary}. %package devtools Summary: Qt6 WebEngine devtools_resources Requires: %{name}%{?_isa} = %{version}-%{release} %description devtools %{summary}. %prep %setup -q -n %{qt_module}-everywhere-src-%{version}%{?prerelease:-%{prerelease}} -a20 mv pulse src/3rdparty/chromium/ pushd src/3rdparty/chromium popd %patch1 -p1 -b .SIOCGSTAMP %patch2 -p1 -b .link-pipewire %patch50 -p1 -b .fix-build.patch ## upstream patches ## upstreamable patches %patch110 -p1 -b .webrtc-system-openh264 %patch111 -p1 -b .blink-system-openh264 %patch112 -p1 -b .media-system-openh264 %patch500 -p1 -b .flags # 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_py_six} rm src/3rdparty/chromium/third_party/six/src/six.py rm src/3rdparty/chromium/third_party/catapult/third_party/six/six.py rm src/3rdparty/chromium/third_party/wpt_tools/wpt/tools/third_party/six/six.py ln -s /usr/lib/python%{python3_version}/site-packages/six.py src/3rdparty/chromium/third_party/six/src/six.py ln -s /usr/lib/python%{python3_version}/site-packages/six.py src/3rdparty/chromium/third_party/catapult/third_party/six/six.py ln -s /usr/lib/python%{python3_version}/site-packages/six.py src/3rdparty/chromium/third_party/wpt_tools/wpt/tools/third_party/six/six.py %endif %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 # copy the Chromium license so it is installed with the appropriate name cp -p src/3rdparty/chromium/LICENSE LICENSE.Chromium %build # Increase open files limit ulimit -n 8192 %if %{with clang} export CC=clang export CXX=clang++ %global optflags %(echo %{optflags}) -fpic -fno-semantic-interposition -Qunused-arguments %else . /opt/rh/gcc-toolset-13/enable %global _gcc_bindir /opt/rh/gcc-toolset-13/root/usr/bin %endif export STRIP=strip export NINJAFLAGS="%{__ninja_common_opts}" export NINJA_PATH=%{__ninja} %if 0%{?rhel} == 8 export PKG_CONFIG_PATH=/opt/rx/%{_lib}/pkgconfig${PKG_CONFIG_PATH:+:${PKG_CONFIG_PATH}} export CFLAGS="-I/opt/rx/include %(echo %{optflags} | sed 's/-Werror=format-security//') -fno-sized-deallocation -Wno-format-security" export CXXFLAGS="-I/opt/rx/include %(echo %{optflags} | sed 's/-Werror=format-security//') -fno-sized-deallocation -Wno-format-security" export LDFLAGS="-L/opt/rx/%{_lib}/ -Wl,-rpath=/opt/rx/%{_lib}/ %{__global_ldflags}" %endif %cmake_qt6 \ %if %{with optimize_size} -DCMAKE_BUILD_TYPE=MinSizeRel \ %else -DCMAKE_BUILD_TYPE=RelWithDebInfo \ %endif -DCMAKE_TOOLCHAIN_FILE:STRING="%{_qt6_libdir}/cmake/Qt6/qt.toolchain.cmake" \ -DCMAKE_C_FLAGS:STRING="$CFLAGS" \ -DCMAKE_CXX_FLAGS:STRING="$CXXFLAGS" \ %if %{with clang} -DCMAKE_C_COMPILER=clang \ -DCMAKE_CXX_COMPILER=clang++ \ %else -DCMAKE_C_COMPILER=%{_gcc_bindir}/gcc \ -DCMAKE_CXX_COMPILER=%{_gcc_bindir}/c++ \ %endif -DFEATURE_printer:BOOL=ON \ -DFEATURE_qtpdf_build:BOOL=ON \ -DFEATURE_webengine_developer_build:BOOL=OFF \ -DFEATURE_webengine_embedded_build:BOOL=OFF \ -DFEATURE_webengine_extensions:BOOL=ON \ -DFEATURE_webengine_kerberos:BOOL=ON \ -DFEATURE_webengine_native_spellchecker:BOOL=OFF \ -DFEATURE_webengine_printing_and_pdf:BOOL=ON \ -DFEATURE_webengine_webrtc:BOOL=ON \ -DFEATURE_webengine_webrtc_pipewire:BOOL=ON \ %if 0%{?use_system_ffmpeg} -DFEATURE_webengine_system_ffmpeg:BOOL=ON \ -DFEATURE_webengine_proprietary_codecs:BOOL=ON \ -DQT_FEATURE_webengine_system_opus:BOOL=ON \ %else -DQT_FEATURE_webengine_system_ffmpeg:BOOL=OFF \ %endif %{?use_system_libvpx:-DQT_FEATURE_webengine_system_libvpx:BOOL=ON} \ -DQT_FEATURE_webengine_system_libxml:BOOL=OFF \ %if ! 0%{?use_system_harfbuzz} -DQT_FEATURE_webengine_system_harfbuzz:BOOL=OFF \ %endif %{?use_system_libicu:-DQT_FEATURE_webengine_system_icu=ON} \ %if 0%{?rhel} >= 8 || 0%{?fedora} < 30 -DQT_FEATURE_webengine_system_minizip:BOOL=ON \ %endif -DQT_FEATURE_webengine_system_libevent:BOOL=ON \ %{?use_system_re2:-DQT_FEATURE_webengine_system_re2:BOOL=ON} \ %{?use_system_libwebp:-DQT_FEATURE_webengine_system_libwebp:BOOL=ON} \ -DQT_BUILD_EXAMPLES:BOOL=OFF \ %if 0%{?rhel} <= 9 -DPython3_EXECUTABLE:FILEPATH=%{_bindir}/python3.11 \ %endif . %cmake_build %install %cmake_install # rpm macros install -p -m644 -D %{SOURCE10} \ %{buildroot}%{rpm_macros_dir}/macros.qt6-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.qt6-qtwebengine ## .prl/.la file love # nuke .prl reference(s) to %%buildroot, excessive (.la-like) libs pushd %{buildroot}%{_qt6_libdir} for prl_file in libQt6*.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 popd # CMake files are not needed for plugins rm -fr %{buildroot}%{_qt6_libdir}/cmake/Qt6Gui/ rm -fr %{buildroot}%{_qt6_libdir}/cmake/Qt6Qml/QmlPlugins # This shouldn't be needed rm -fr %{buildroot}%{_qt6_libdir}/cmake/Qt6BuildInternals %ldconfig_scriptlets %files %license LICENSE.* %{_qt6_libdir}/libQt6*.so.* %{_qt6_plugindir}/imageformats/libqpdf.so %{_qt6_plugindir}/designer/libqwebengineview.so %{_qt6_qmldir}/Qt* %{_qt6_libdir}/qt6/qml/* %{_qt6_libexecdir}/QtWebEngineProcess %{_qt6_libexecdir}/webenginedriver %dir %{_qt6_datadir}/resources/ %if ! 0%{?use_system_libicu} %{_qt6_datadir}/resources/icudtl.dat %endif %{_qt6_datadir}/resources/qtwebengine_resources_100p.pak %{_qt6_datadir}/resources/qtwebengine_resources_200p.pak %{_qt6_datadir}/resources/qtwebengine_resources.pak %{_qt6_datadir}/resources/v8_context_snapshot.bin %dir %{_qt6_translationdir}/qtwebengine_locales %{_qt6_translationdir}/qtwebengine_locales/* %files devel %{rpm_macros_dir}/macros.qt6-qtwebengine %{_qt6_libexecdir}/gn %{_qt6_libexecdir}/qwebengine_convert_dict %{_qt6_headerdir}/Qt*/ %{_qt6_libdir}/libQt6*.so %{_qt6_libdir}/libQt6*.prl %{_qt6_libdir}/cmake/Qt6*/ %{_qt6_mkspecsdir}/modules/*.pri %{_qt6_libdir}/qt6/metatypes/*.json %{_qt6_libdir}/qt6/modules/*.json %{_libdir}/pkgconfig/Qt6*.pc %files devtools %{_qt6_datadir}/resources/qtwebengine_devtools_resources.pak %changelog * Thu May 16 2024 Raven - 6.7.1-1 - update to 6.7.1 * Wed May 8 2024 Raven - 6.7.0-1 - update to 6.7.0 * Sat Dec 16 2023 Raven - 6.6.1-2 - remove system protobuf * Sat Dec 16 2023 Raven - 6.6.1-1 - update to 6.6.1 * Thu Nov 16 2023 Raven - 6.5.2-3 - rebuild for RHEL 8.9 * Wed Aug 30 2023 Raven - 6.5.2-2 - rebuild for new libvpx * Thu Aug 24 2023 Raven - 6.5.2-1 - update to 6.5.2 * Fri Mar 3 2023 Raven - 6.4.2-2 - rebuild for ffmpeg * Tue Jan 17 2023 Raven - 6.4.2-1 - update to 6.4.2 * Wed Apr 20 2022 Raven - 6.3.0-1 - update to 6.3.0 * Wed Feb 16 2022 Raven - 6.2.3-1 - update to 6.2.3 * Sat Oct 23 2021 Raven - 6.2.0-1 - initial build based on qt5-qtwebengine package from F34 and OpenSuSE qt6-webengine package