%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_re2 1
%global use_system_libwebp 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.6.1
Release: 2%{?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
# Fix/workaround FTBFS on aarch64 with newer glibc
Patch3: qtwebengine-aarch64-new-stat.patch
Patch4: qtwebengine-ffmpeg-first_dts.patch

# FTBS warning: elaborated-type-specifier for a scoped enum must not
# use the 'class' keyword
Patch50: qtwebengine-fix-build.patch

# FTBFS Fix with Python 3.12 later on
# Parts of the project are fine with zombie-imp, this one not, however
# (It's messing with sys.path a lot)
Patch60: Partial-migration-from-imp-to-importlib.patch

## Upstream patches:
# https://webrtc-review.googlesource.com/c/src/+/285464
Patch100: qtwebengine-webrtc-dlopen-h264.patch

## Upstreamable patches:
Patch110: qtwebengine-blink-dlopen-h264.patch

Patch120: qtwebengine-icu-74.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
%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) >= 0.6.0
%if 0%{?rhel} == 8
Requires: rx-libwebp
%endif
%endif
%if !0%{?rhel}
BuildRequires: pkgconfig(harfbuzz)
%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)
BuildRequires: pkgconfig(xkbfile)
BuildRequires: pkgconfig(xshmfence)
BuildRequires: python3-html5lib
%if 0%{?use_system_tiff}
BuildRequires: pkgconfig(libtiff-4) >= 4.2.0
%endif

%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) = 119.0.6045.123

# 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) = 5.1.2
%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
# bundled as "libxml"
# see src/3rdparty/chromium/third_party/libxml/linux/include/libxml/xmlversion.h
Provides: bundled(libxml2) = 2.9.13
# 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.39.4
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) = 10.2.154.16
# 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}


%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
%patch3 -p1 -b .aarch64-new-stat
%patch4 -p1 -b .qtwebengine-ffmpeg-first_dts

%patch50 -p1 -b .fix-build.patch
%if 0%{?fedora} && 0%{?fedora} >= 39
%patch60 -p1 -b .fix-py-imp.patch
%endif

## upstream patches
%patch100 -p1 -b .webrtc-dlopen-h264

## upstreamable patches
%patch110 -p1 -b .blink-dlopen-h264

%patch120 -p1 -b .icu

# 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 4096

%if %{with clang}
export CC=clang
export CXX=clang++
%global optflags %(echo %{optflags}) -fpic -fno-semantic-interposition -Qunused-arguments
%else
%global _gcc_bindir %{_bindir}
%if 0%{?rhel} && 0%{?rhel} < 10
. /opt/rh/gcc-toolset-13/enable
%global _gcc_bindir /opt/rh/gcc-toolset-13/root/usr/bin
%endif
%endif

export STRIP=strip
export NINJAFLAGS="%{__ninja_common_opts}"
export NINJA_PATH=%{__ninja}

%if 0%{?rhel} == 8
%if 0%{?use_system_libwebp}
export CFLAGS="%{optflags} -I/opt/rx/include"
export LDFLAGS="$LDFLAGS -L/opt/rx/%{_lib}/ -Wl,-rpath=/opt/rx/%{_lib}/"
%endif
%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" \
%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_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 \
  -DQT_FEATURE_webengine_system_harfbuzz:BOOL=OFF \
  %{?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
%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
* Sat Dec 16 2023 Raven <raven@sysadmins.ws> - 6.6.1-2
- remove system protobuf

* Sat Dec 16 2023 Raven <raven@sysadmins.ws> - 6.6.1-1
- update to 6.6.1

* Thu Nov 16 2023 Raven <raven@sysadmins.ws> - 6.5.2-3
- rebuild for RHEL 8.9

* Wed Aug 30 2023 Raven <raven@sysadmins.ws> - 6.5.2-2
- rebuild for new libvpx

* Thu Aug 24 2023 Raven <raven@sysadmins.ws> - 6.5.2-1
- update to 6.5.2

* Fri Mar  3 2023 Raven <raven@sysadmins.ws> - 6.4.2-2
- rebuild for ffmpeg

* Tue Jan 17 2023 Raven <raven@sysadmins.ws> - 6.4.2-1
- update to 6.4.2

* Wed Apr 20 2022 Raven <raven@sysadmins.ws> - 6.3.0-1
- update to 6.3.0

* Wed Feb 16 2022 Raven <raven@sysadmins.ws> - 6.2.3-1
- update to 6.2.3

* Sat Oct 23 2021 Raven <raven@sysadmins.ws> - 6.2.0-1
- initial build based on qt5-qtwebengine package from F34
  and OpenSuSE qt6-webengine package
