Compare commits

...

80 Commits
master ... f37

Author SHA1 Message Date
Jan Grulich
5d7fb448f0 Rebuild (qt5) 2022-09-21 08:23:11 +02:00
Ankur Sinha (Ankur Sinha Gmail)
56925bd64c
feat: bump spec to 5.15.10 2022-08-29 21:41:14 +01:00
Ankur Sinha (Ankur Sinha Gmail)
6deffa33bd
feat: upload 5.15.10 sources 2022-08-29 21:39:56 +01:00
František Zatloukal
c3db46dbfb Rebuilt for ICU 71.1 2022-08-02 13:23:52 +02:00
Fedora Release Engineering
b22f6246a6 Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2022-07-23 00:09:49 +00:00
Kevin Kofler
9816079afb Drop obsolete no-icudtl-dat patch, code has been fixed upstream since 5.11.0
* Wed Jul 20 2022 Kevin Kofler <Kevin@tigcc.ticalc.org> - 5.15.9-3
- Drop obsolete no-icudtl-dat patch, code has been fixed upstream since 5.11.0

If you look closely at the patch, you will see that the code that is
removed does not actually mention the offending icudtl.dat anywhere.
This upstream code snippet was fixed back in 5.11.0 to check for
qtwebengine_resources.pak instead, which is always installed. (Compare
my original patch with the version rebased by Rex Dieter for 5.11.0.)

Searching for alternate resource paths is still pointless in packaged
QtWebEngine, mind you. (The file installed by the package should always
be found.) So the patch did not hurt. But still, it is no longer
necessary to patch this out.
2022-07-20 02:52:28 +02:00
Jan Grulich
a9c79ab034 Rebuild (Qt 5.15.5) 2022-07-14 12:12:40 +02:00
Rex Dieter
734c76e76c 5.15.9 2022-06-02 08:08:23 -05:00
Jan Grulich
2583ebbf3f Add missing includes 2022-05-18 12:17:53 +02:00
Jan Grulich
28e4282899 Rebuild (Qt 5.15.4) 2022-05-17 12:27:19 +02:00
Troy Dawson
6f87bfde8d python2 rpms for rhel9 only 2022-05-06 09:59:03 -07:00
Parag Nemade
f79a8388e1
Update hunspell dictionary path by adding conditional support
F36 Change https://fedoraproject.org/wiki/Changes/Hunspell_dictionary_dir_change

Signed-off-by: Parag Nemade <pnemade@fedoraproject.org>
2022-04-05 09:35:29 +05:30
Jan Grulich
b20253f3ff Disable PipeWire for now, WebRTC in qtwebengine is still PW 0.2 based 2022-03-09 09:53:10 +01:00
Jan Grulich
046e95e43a Rebuild (qt5) 2022-03-09 08:15:12 +01:00
Rex Dieter
864d624114 respin pipewire patch
enable rtc_link_pipewire
2022-02-18 12:36:26 -06:00
Rex Dieter
5e1880c665 patch8 awol, added 2022-02-18 10:18:47 -06:00
Rex Dieter
54a875c23a fix pipewire support
patch inspired by chromium-80.0.3987.87-libpipewire-0.3.patch
2022-02-18 09:58:17 -06:00
Rex Dieter
4c3f7f038d fix typo
*appears* to work this way too, but want to keep option enablement
consistent
2022-02-17 14:12:57 -06:00
Rex Dieter
6736cadbe2 Screen sharing support under Wayland (#2054690) 2022-02-17 14:04:37 -06:00
Rex Dieter
af46fc18c6 use python2 hack only on epel
and not unconditionally
2022-02-17 14:03:23 -06:00
Troy Dawson
dfae144a41 Specifically for epel9 only, until things switch to python3
Bundle python2 for building only
Bundled re2
No docs
2022-02-01 15:45:56 -08:00
Tom spot Callaway
9294599c24 rebuild for libvpx 2022-01-27 16:38:58 -05:00
Troy Dawson
15ba324421 get_free_ffmpeg_source_files.py use python3 2022-01-26 09:39:53 -08:00
Kevin Kofler
f523d61a98 Fix Provides: bundled(*), remove no longer used BR pkgconfig(protobuf).
* Sun Jan 23 2022 Kevin Kofler <Kevin@tigcc.ticalc.org> - 5.15.8-2
- Update Provides: bundled(*) version numbers, remove ones dropped upstream
- Restore Provides: bundled(protobuf), unbundling support dropped years ago
- Remove no longer used BuildRequires: yasm and pkgconfig(protobuf)
2022-01-23 17:33:16 +01:00
Kevin Kofler
09d69c316a Remove no longer used BuildRequires: yasm. 2022-01-23 17:01:02 +01:00
Kevin Kofler
9aa6750784 Delete qtwebengine-everywhere-src-5.10.0-linux-pri.patch.
The yasm part is obsolete because QtWebEngine uses nasm now (but
currently a bundled copy, that needs to be fixed).

The libpci part seems obsolete as well, -lpci is getting linked already.

Also restore an AWOL patch comment.
2022-01-23 16:36:40 +01:00
Kevin Kofler
c7db84b885 Include qtwebengine-release.sh as Source1.
(and increment the Source numbers of the cleanup scripts by 1)
2022-01-23 16:22:27 +01:00
Kevin Kofler
e3cb59b44a Mark qtwebengine-release.sh executable. 2022-01-23 16:01:12 +01:00
Kevin Kofler
9ae22d8d06 %undefine _package_note_file (#2043178). 2022-01-22 23:49:21 +01:00
Kevin Kofler
6d39634c0e Set "%%global _package_notes_linker gold" (#2043178). 2022-01-22 16:09:01 +01:00
Kevin Kofler
f6a6f07c22 Revert "Drop "use_gold_linker" (see #2043178)."
This reverts commit b36104f4bb.

This fails to build on i686 due to ffmpeg text relocations (which
produce a warning from ld.bfd, and -Wl,--fatal-warnings gets passed):
https://bugzilla.redhat.com/show_bug.cgi?id=2043178#c14
2022-01-22 16:07:15 +01:00
Kevin Kofler
b36104f4bb Drop "use_gold_linker" (see #2043178). 2022-01-22 13:47:09 +01:00
Kevin Kofler
0c04e957df Fix Provides: bundled(chromium). 2022-01-22 13:45:54 +01:00
Rex Dieter
c36afa25bf one more nullptr.patch (hunspell) 2022-01-19 17:10:14 -06:00
Rex Dieter
02956c858d commit awol nullptr.patch 2022-01-19 09:36:28 -06:00
Rex Dieter
2126c35130 update bundle versions, nullptr gcc12 ftbfs fix 2022-01-19 09:35:51 -06:00
Rex Dieter
2ea927dfdb drop old/unused patches 2022-01-19 08:55:49 -06:00
Rex Dieter
b20c6739c1 5.15.8 2022-01-18 14:31:59 -06:00
Miro Hrončok
a8dd1a7a58 Rebuilt for libre2.so.9 2022-01-08 11:41:46 +01:00
Rex Dieter
1442be6d39 respin harfbuzz.patch 2021-09-21 09:45:06 -05:00
Rex Dieter
db3b70b97f patch use of deprecated harfbuzz apis 2021-09-21 08:58:51 -05:00
Rex Dieter
09d1fc370f rebuild (harfbuzz) 2021-09-20 15:51:37 -05:00
Rex Dieter
40e9dfd0b0 5.15.6 2021-09-03 14:07:40 -05:00
Rex Dieter
b08ccbcbe9 bump bundled(chromium) Provides 2021-08-23 12:24:57 -05:00
Troy Dawson
85acb836bc Fix use-python2.patch 2021-08-12 09:43:31 -07:00
Fedora Release Engineering
bb966b45bd - Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2021-07-23 10:52:38 +00:00
Rex Dieter
a767051e9c import qtwebengine-release.sh
Used to generate source tarball
2021-06-28 14:37:43 -05:00
Rex Dieter
d122c01163 5.15.5 2021-06-28 14:07:15 -05:00
Rex Dieter
5c93e67981 respin bool.patch 2021-06-24 14:44:19 -05:00
Rex Dieter
04f58d9aa7 respin bool.patch 2021-06-24 14:15:24 -05:00
Rex Dieter
c2956dae37 respin bool.patch 2021-06-24 12:46:53 -05:00
Rex Dieter
3e16f741fa workaround 'TRUE'/'FALSE' was not declared in this scope 2021-06-24 12:04:43 -05:00
Rex Dieter
4cef673b2d workaround SIGSTKSZ FTBFS (#19455950 2021-06-16 09:23:37 -05:00
Pete Walter
32062243e8 Rebuild for ICU 69 2021-05-20 01:16:47 +01:00
Jonathan Wakely
0236974f1f Rebuilt for removed libstdc++ symbols (#1937698) 2021-05-10 16:08:31 +01:00
Jonathan Wakely
75dddc5aef Rebuilt for removed libstdc++ symbol (#1937698) 2021-03-30 19:39:37 +01:00
Kevin Kofler
a86893d286 Add versioned Conflicts with -freeworld built against bundled ICU (#1920379)
* Tue Jan 26 2021 Kevin Kofler <Kevin@tigcc.ticalc.org> - 5.15.2-8
- Add versioned Conflicts with -freeworld built against bundled ICU (#1920379)

The offending -freeworld builds want the ICU data file previously
shipped here. -freeworld must be upgraded together with this package.
2021-01-26 13:52:53 +01:00
Kevin Kofler
8f7f959da3 Fix sandbox issue on 32-bit architectures with glibc >= 2.31 (from Debian)
* Sat Jan 23 2021 Kevin Kofler <Kevin@tigcc.ticalc.org> - 5.15.2-7
- Fix sandbox issue on 32-bit architectures with glibc >= 2.31 (from Debian)

Unlike the other sandbox fix, this one also affects stable Fedora
releases, but it affects only 32-bit architectures such as armv7hl or
the i386 multilib, not 64-bit architectures such as x86_64 or aarch64.
2021-01-23 23:31:04 +01:00
Kevin Kofler
393d059f13 Reenable system ICU on F33+, ICU 67 supported since 5.15.1 according to Debian
* Sat Jan 23 2021 Kevin Kofler <Kevin@tigcc.ticalc.org> - 5.15.2-6
- Reenable system ICU on F33+, ICU 67 supported since 5.15.1 according to Debian
2021-01-23 10:49:35 +01:00
Kevin Kofler
09e1adb883 -#1904652 patch: Fail more gracefully on bad fstatat.
Do not crash if an fstatat is not allowed, but fail in the way
documented by the fstatat manpage (set errno to EACCES and return -1).
Otherwise, QtWebEngine always crashes.
2021-01-22 19:13:51 +01:00
Kevin Kofler
98d7dd5b84 Fix sandbox issue breaking text rendering with glibc 2.33 (#1904652)
* Wed Jan 20 2021 Kevin Kofler <Kevin@tigcc.ticalc.org> - 5.15.2-5
- Fix sandbox issue breaking text rendering with glibc 2.33 (#1904652)
2021-01-20 02:50:55 +01:00
Tom Stellard
101979aadb Add BuildRequires: make
https://fedoraproject.org/wiki/Changes/Remove_make_from_BuildRoot
2021-01-09 06:37:01 +00:00
Mattia Verga
bf83cfa46f Rebuild for gcc bugfix upgrade 2020-12-30 14:00:14 +01:00
Jeff Law
6aa5c41e88 Fix another missing #include for gcc-11 2020-12-04 12:22:42 -07:00
Jan Grulich
a3ce39e504 Rebuild for qtbase with -no-reduce-relocations option 2020-11-24 07:55:17 +01:00
Jan Grulich
7d0e99c8fe Rebase GCC11 patch 2020-11-20 11:21:53 +01:00
Jan Grulich
5f4140fe45 Add back missing sources 2020-11-20 09:20:34 +01:00
Jan Grulich
62bdc27178 5.15.2 2020-11-20 09:12:46 +01:00
Jeff Law
bf0addefca Fix missing #includes for gcc-11 2020-11-04 13:39:21 -07:00
Jan Grulich
6cf36e6da8 Rebuild (libevent) 2020-09-23 12:53:07 +02:00
Jan Grulich
c0b909f308 BR: xkbcommon 2020-09-11 12:06:33 +02:00
Jan Grulich
87255949e2 Rebase patches 2020-09-11 10:56:41 +02:00
Jan Grulich
c3347b713e 5.15.1 2020-09-11 10:41:17 +02:00
Than Ngo
0f2066a515 Fix FTBFS 2020-09-06 10:44:40 +02:00
Fedora Release Engineering
9f9009e6e2 - Second attempt - Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2020-08-01 07:36:45 +00:00
Fedora Release Engineering
1d3b8d400f - Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2020-07-29 05:14:57 +00:00
Marie Loise Nolden
692d13d648 compile on rhel 7 2020-06-17 13:21:29 +00:00
Marie Loise Nolden
000c49fd94 introduce %if 0%{?use_system_re2} %if 0%{?use_system_jsoncpp} to select where to use system vs. shipped libs better
make things a bit more optional for shipped vs. built-in libs re2 and jsoncpp with variables collected at one place.
F30 fails to build because re2 is too small, centos-stream and rhel don't ship them at all while they are included in epel 8 already.
2020-06-17 13:18:40 +00:00
Rex Dieter
e83ad4cc52 pulseaudio header sources too 2020-06-11 15:27:30 -05:00
Rex Dieter
c778c7c102 5.15.0
f33's icu-67.x currently not compatible, use bundled icu
2020-06-11 15:26:18 -05:00
23 changed files with 454 additions and 385 deletions

18
.gitignore vendored
View File

@ -1,13 +1,7 @@
/qtwebengine-everywhere-src-5.11.1-clean.tar.xz
/qtwebengine-everywhere-src-5.11.2-clean.tar.xz
/qtwebengine-everywhere-src-5.11.3-clean.tar.xz
/qtwebengine-everywhere-src-5.12.1-clean.tar.xz
/qtwebengine-everywhere-src-5.12.2-clean.tar.xz
/qtwebengine-everywhere-src-5.12.3-clean.tar.xz
/qtwebengine-everywhere-src-5.12.4-clean.tar.xz
/pulseaudio-12.2-headers.tar.gz /pulseaudio-12.2-headers.tar.gz
/qtwebengine-everywhere-src-5.12.5-clean.tar.xz /qtwebengine-everywhere-src-5.15.8-clean.tar.xz
/qtwebengine-everywhere-src-5.12.6-clean.tar.xz /python2.7-2.7.18-19.el9.1.src.rpm
/qtwebengine-everywhere-src-5.13.2-clean.tar.xz /python2.7-2.7.18-19.el9.1.aarch64.rpm
/qtwebengine-everywhere-src-5.14.1-clean.tar.xz /python2.7-2.7.18-19.el9.1.x86_64.rpm
/qtwebengine-everywhere-src-5.14.2-clean.tar.xz /qtwebengine-everywhere-src-5.15.9-clean.tar.xz
/qtwebengine-everywhere-src-5.15.10-clean.tar.xz

View File

@ -0,0 +1,12 @@
diff -up qtwebengine-everywhere-src-5.15.8/src/3rdparty/chromium/third_party/angle/src/common/utilities.cpp.nullptr qtwebengine-everywhere-src-5.15.8/src/3rdparty/chromium/third_party/angle/src/common/utilities.cpp
--- qtwebengine-everywhere-src-5.15.8/src/3rdparty/chromium/third_party/angle/src/common/utilities.cpp.nullptr 2021-12-15 10:09:27.000000000 -0600
+++ qtwebengine-everywhere-src-5.15.8/src/3rdparty/chromium/third_party/angle/src/common/utilities.cpp 2022-01-19 08:52:02.659577615 -0600
@@ -254,7 +254,7 @@ std::string GetGLSLTypeString(GLenum typ
return "mat4";
default:
UNREACHABLE();
- return nullptr;
+ return "";
}
}

View File

@ -0,0 +1,12 @@
diff -up qtwebengine-everywhere-src-5.15.8/src/3rdparty/chromium/third_party/hunspell/src/hunspell/hunspell.cxx.nullptr qtwebengine-everywhere-src-5.15.8/src/3rdparty/chromium/third_party/hunspell/src/hunspell/hunspell.cxx
--- qtwebengine-everywhere-src-5.15.8/src/3rdparty/chromium/third_party/hunspell/src/hunspell/hunspell.cxx.nullptr 2021-12-15 10:09:27.000000000 -0600
+++ qtwebengine-everywhere-src-5.15.8/src/3rdparty/chromium/third_party/hunspell/src/hunspell/hunspell.cxx 2022-01-19 10:30:40.845051982 -0600
@@ -1725,7 +1725,7 @@ std::string HunspellImpl::get_xml_par(co
if (end == '>')
end = '<';
else if (end != '\'' && end != '"')
- return 0; // bad XML
+ return dest; // bad XML
for (par++; *par != '\0' && *par != end; ++par) {
dest.push_back(*par);
}

View File

@ -38,6 +38,7 @@ header_files=" libavutil/x86/asm.h \
libavutil/x86/timer.h \ libavutil/x86/timer.h \
libavutil/aarch64/asm.S \ libavutil/aarch64/asm.S \
libavutil/aarch64/bswap.h \ libavutil/aarch64/bswap.h \
libavutil/aarch64/cpu.h \
libavutil/aarch64/timer.h \ libavutil/aarch64/timer.h \
libavutil/arm/asm.S \ libavutil/arm/asm.S \
libavutil/arm/bswap.h \ libavutil/arm/bswap.h \
@ -61,6 +62,16 @@ header_files=" libavutil/x86/asm.h \
libavutil/avutil.h \ libavutil/avutil.h \
libavutil/bswap.h \ libavutil/bswap.h \
libavutil/buffer_internal.h \ libavutil/buffer_internal.h \
libavcodec/bsf_internal.h \
libavcodec/codec.h \
libavcodec/codec_desc.h \
libavcodec/codec_id.h \
libavcodec/codec_par.h \
libavcodec/decode.h \
libavcodec/hwconfig.h \
libavcodec/internal.h \
libavcodec/packet.h \
libavcodec/packet_internal.h \
libavutil/common.h \ libavutil/common.h \
libavutil/colorspace.h \ libavutil/colorspace.h \
libavutil/cpu_internal.h \ libavutil/cpu_internal.h \
@ -80,6 +91,7 @@ header_files=" libavutil/x86/asm.h \
libavutil/lzo.h \ libavutil/lzo.h \
libavutil/macros.h \ libavutil/macros.h \
libavutil/mem_internal.h \ libavutil/mem_internal.h \
libavcodec/mlp_parse.h \
libavutil/old_pix_fmts.h \ libavutil/old_pix_fmts.h \
libavutil/pixfmt.h \ libavutil/pixfmt.h \
libavutil/qsort.h \ libavutil/qsort.h \
@ -89,6 +101,8 @@ header_files=" libavutil/x86/asm.h \
libavutil/timer.h \ libavutil/timer.h \
libavutil/timestamp.h \ libavutil/timestamp.h \
libavutil/time_internal.h \ libavutil/time_internal.h \
libavutil/tx_priv.h \
libavutil/tx_template.c \
libavutil/version.h \ libavutil/version.h \
libavutil/x86_cpu.h libavutil/x86_cpu.h
libavcodec/aarch64/neon.S \ libavcodec/aarch64/neon.S \
@ -269,6 +283,7 @@ manual_files=" libavutil/x86/x86inc.asm \
libavutil/fixed_dsp.c \ libavutil/fixed_dsp.c \
libavutil/float_dsp.c \ libavutil/float_dsp.c \
libavutil/imgutils.c \ libavutil/imgutils.c \
libavutil/aarch64/cpu.c \
libavutil/aarch64/float_dsp_neon.S \ libavutil/aarch64/float_dsp_neon.S \
libavutil/arm/cpu.c \ libavutil/arm/cpu.c \
libavutil/arm/float_dsp_neon.S \ libavutil/arm/float_dsp_neon.S \

View File

@ -21,7 +21,7 @@
if [ -z "$1" ] ; then if [ -z "$1" ] ; then
echo "usage: ./clean_qtwebengine.sh VERSION" echo "usage: ./clean_qtwebengine.sh VERSION"
echo "e.g.: ./clean_qtwebengine.sh 5.14.1" echo "e.g.: ./clean_qtwebengine.sh 5.15.8"
exit 1 exit 1
fi fi
@ -61,7 +61,7 @@ echo "ripping out openh264 sources"
rm -rf "$DIRNAME/src/3rdparty/chromium/third_party/openh264/src" || exit $? rm -rf "$DIRNAME/src/3rdparty/chromium/third_party/openh264/src" || exit $?
echo "repacking as $DIRNAME-clean.tar.xz" echo "repacking as $DIRNAME-clean.tar.xz"
XZ_OPT="-9 -T 4" tar cJf "$DIRNAME-clean.tar.xz" "$DIRNAME" || exit $? XZ_OPT="-8 -T 2" tar cJf "$DIRNAME-clean.tar.xz" "$DIRNAME" || exit $?
echo "removing $DIRNAME" echo "removing $DIRNAME"
rm -rf "$DIRNAME" || exit $? rm -rf "$DIRNAME" || exit $?

View File

@ -1,4 +1,4 @@
#!/usr/bin/python2 #!/usr/bin/python3
# Copyright 2015 Tomas Popela <tpopela@redhat.com> # Copyright 2015 Tomas Popela <tpopela@redhat.com>
# Permission is hereby granted, free of charge, to any person obtaining # Permission is hereby granted, free of charge, to any person obtaining
# a copy of this software and associated documentation files (the # a copy of this software and associated documentation files (the
@ -73,7 +73,7 @@ def parse_ffmpeg_gyni_file(gyni_path, arch_not_arm):
sys.stderr.write("Something went wrong, no sources parsed!\n") sys.stderr.write("Something went wrong, no sources parsed!\n")
sys.exit(1) sys.exit(1)
print ' '.join(output_sources) print(' '.join(output_sources))
if __name__ == "__main__": if __name__ == "__main__":

View File

@ -2,19 +2,32 @@
%global _hardened_build 1 %global _hardened_build 1
# define to build docs, need to undef this for bootstrapping # 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 # where qt5-qttools (qt5-doctools) builds are not yet available
%global docs 1 %global docs 0
%if 0%{?fedora} %if 0%{?fedora}
# need libvpx >= 1.8.0 (need commit 297dfd869609d7c3c5cd5faa3ebc7b43a394434e) # need libvpx >= 1.8.0 (need commit 297dfd869609d7c3c5cd5faa3ebc7b43a394434e)
%global use_system_libvpx 1 %global use_system_libvpx 1
# For screen sharing on Wayland, currently Fedora only thing - no epel
#global pipewire 1
%endif %endif
%if 0%{?fedora} > 30 || 0%{?epel} > 7
# need libwebp >= 0.6.0 # need libwebp >= 0.6.0
%global use_system_libwebp 1 %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} > 31 %if 0%{?fedora} > 32
# need libicu >= 64, only currently available on f32+ # need libicu >= 65, only currently available on f33+
%global use_system_libicu 1 %global use_system_libicu 1
%endif %endif
@ -48,7 +61,7 @@
Summary: Qt5 - QtWebEngine components Summary: Qt5 - QtWebEngine components
Name: qt5-qtwebengine Name: qt5-qtwebengine
Version: 5.14.2 Version: 5.15.10
Release: 2%{?dist} Release: 2%{?dist}
# See LICENSE.GPL LICENSE.LGPL LGPL_EXCEPTION.txt, for details # See LICENSE.GPL LICENSE.LGPL LGPL_EXCEPTION.txt, for details
@ -56,27 +69,29 @@ Release: 2%{?dist}
# The other licenses are from Chromium and the code it bundles # 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) 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 URL: http://www.qt.io
# leaned tarball with patent-encumbered codecs removed from the bundled FFmpeg # cleaned tarball with patent-encumbered codecs removed from the bundled FFmpeg
# wget http://download.qt.io/official_releases/qt/5.14/5.14.2/submodules/qtwebengine-everywhere-src-5.14.2.tar.xz # ./qtwebengine-release.sh
# ./clean_qtwebengine.sh 5.14.2 # ./clean_qtwebengine.sh 5.15.1
Source0: qtwebengine-everywhere-src-%{version}-clean.tar.xz Source0: qtwebengine-everywhere-src-%{version}-clean.tar.xz
# release script used above
Source1: qtwebengine-release.sh
# cleanup scripts used above # cleanup scripts used above
Source1: clean_qtwebengine.sh Source2: clean_qtwebengine.sh
Source2: clean_ffmpeg.sh Source3: clean_ffmpeg.sh
Source3: get_free_ffmpeg_source_files.py Source4: get_free_ffmpeg_source_files.py
# macros # macros
Source10: macros.qt5-qtwebengine Source10: macros.qt5-qtwebengine
# pulseaudio headers # pulseaudio headers
Source20: pulseaudio-12.2-headers.tar.gz Source20: pulseaudio-12.2-headers.tar.gz
# some tweaks to linux.pri (system yasm, link libpci, run unbundling script) ## Python2 Sources
Patch0: qtwebengine-everywhere-src-5.10.0-linux-pri.patch ## src.rpm is Fedora spec with tests and tkinter turned off
# quick hack to avoid checking for the nonexistent icudtl.dat and silence the ## binary rpms have been built on epel9
# resulting warnings - not upstreamable as is because it removes the fallback Source100: python2.7-2.7.18-19.el9.1.src.rpm
# mechanism for the ICU data directory (which is not used in our builds because Source101: python2.7-2.7.18-19.el9.1.aarch64.rpm
# we use the system ICU, which embeds the data statically) completely Source102: python2.7-2.7.18-19.el9.1.x86_64.rpm
Patch1: qtwebengine-everywhere-src-5.11.0-no-icudtl-dat.patch
# fix extractCFlag to also look in QMAKE_CFLAGS_RELEASE, needed to detect the # 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 # ARM flags with our %%qmake_qt5 macro, including for the next patch
Patch2: qtwebengine-opensource-src-5.12.4-fix-extractcflag.patch Patch2: qtwebengine-opensource-src-5.12.4-fix-extractcflag.patch
@ -86,26 +101,27 @@ Patch3: qtwebengine-opensource-src-5.9.0-no-neon.patch
# workaround FTBFS against kernel-headers-5.2.0+ # workaround FTBFS against kernel-headers-5.2.0+
Patch4: qtwebengine-SIOCGSTAMP.patch Patch4: qtwebengine-SIOCGSTAMP.patch
# fix build when using qt < 5.14 # fix build when using qt < 5.14
Patch5: qtwebengine-5.14-1-QT_DEPRECATED_VERSION.patch Patch5: qtwebengine-5.15.0-QT_DEPRECATED_VERSION.patch
# remove Android dependencies from openmax_dl ARM NEON detection (detect.c) # gcc-12 FTBFS "use of deleted function"
Patch10: qtwebengine-opensource-src-5.9.0-openmax-dl-neon.patch Patch6: chromium-angle-nullptr.patch
# Force verbose output from the GN bootstrap process Patch7: chromium-hunspell-nullptr.patch
Patch21: qtwebengine-everywhere-src-5.12.0-gn-bootstrap-verbose.patch Patch8: qtwebengine-everywhere-5.15.8-libpipewire-0.3.patch
# Fix/workaround FTBFS on aarch64 with newer glibc # Fix/workaround FTBFS on aarch64 with newer glibc
Patch24: qtwebengine-everywhere-src-5.11.3-aarch64-new-stat.patch Patch24: qtwebengine-everywhere-src-5.11.3-aarch64-new-stat.patch
# Use Python2 # Use Python2
Patch26: qtwebengine-everywhere-5.13.2-use-python2.patch Patch26: qtwebengine-everywhere-5.15.5-use-python2.patch
# Fix missing include in chromium # FTBFS TRUE/FALSE undeclared
Patch27: qtwebengine-everywhere-5.13.2-fix-chromium-headers.patch Patch31: qtwebengine-everywhere-src-5.15.5-TRUE.patch
# Fix gcc10 FTBFS Patch32: qtwebengine-skia-missing-includes.patch
Patch29: qtwebengine-everywhere-5.14.1-gcc10.patch
## Upstream patches: ## Upstream patches:
# qtwebengine-chromium
%if 0%{?fedora} || 0%{?epel} > 7
# handled by qt5-srpm-macros, which defines %%qt5_qtwebengine_arches # handled by qt5-srpm-macros, which defines %%qt5_qtwebengine_arches
ExclusiveArch: %{qt5_qtwebengine_arches} ExclusiveArch: %{qt5_qtwebengine_arches}
%endif
BuildRequires: make
BuildRequires: qt5-qtbase-devel BuildRequires: qt5-qtbase-devel
BuildRequires: qt5-qtbase-private-devel BuildRequires: qt5-qtbase-private-devel
# TODO: check of = is really needed or if >= would be good enough -- rex # TODO: check of = is really needed or if >= would be good enough -- rex
@ -114,6 +130,7 @@ BuildRequires: qt5-qtdeclarative-devel
BuildRequires: qt5-qtxmlpatterns-devel BuildRequires: qt5-qtxmlpatterns-devel
BuildRequires: qt5-qtlocation-devel BuildRequires: qt5-qtlocation-devel
BuildRequires: qt5-qtsensors-devel BuildRequires: qt5-qtsensors-devel
BuildRequires: qt5-qtsvg-devel
BuildRequires: qt5-qtwebchannel-devel BuildRequires: qt5-qtwebchannel-devel
BuildRequires: qt5-qttools-static BuildRequires: qt5-qttools-static
# for examples? # for examples?
@ -129,14 +146,17 @@ BuildRequires: git-core
BuildRequires: gperf BuildRequires: gperf
BuildRequires: krb5-devel BuildRequires: krb5-devel
%if 0%{?use_system_libicu} %if 0%{?use_system_libicu}
BuildRequires: libicu-devel >= 64 BuildRequires: libicu-devel >= 65
%endif %endif
BuildRequires: libjpeg-devel BuildRequires: libjpeg-devel
BuildRequires: nodejs
%if 0%{?use_system_re2}
BuildRequires: re2-devel BuildRequires: re2-devel
BuildRequires: snappy-devel
%ifarch %{ix86} x86_64
BuildRequires: yasm
%endif %endif
%if 0%{?pipewire}
BuildRequires: pkgconfig(libpipewire-0.3)
%endif
BuildRequires: snappy-devel
BuildRequires: pkgconfig(expat) BuildRequires: pkgconfig(expat)
BuildRequires: pkgconfig(gobject-2.0) BuildRequires: pkgconfig(gobject-2.0)
BuildRequires: pkgconfig(glib-2.0) BuildRequires: pkgconfig(glib-2.0)
@ -144,7 +164,9 @@ BuildRequires: pkgconfig(fontconfig)
BuildRequires: pkgconfig(freetype2) BuildRequires: pkgconfig(freetype2)
BuildRequires: pkgconfig(gl) BuildRequires: pkgconfig(gl)
BuildRequires: pkgconfig(egl) BuildRequires: pkgconfig(egl)
%if 0%{?use_system_jsoncpp}
BuildRequires: pkgconfig(jsoncpp) BuildRequires: pkgconfig(jsoncpp)
%endif
BuildRequires: pkgconfig(libpng) BuildRequires: pkgconfig(libpng)
BuildRequires: pkgconfig(libudev) BuildRequires: pkgconfig(libudev)
%if 0%{?use_system_libwebp} %if 0%{?use_system_libwebp}
@ -153,12 +175,13 @@ BuildRequires: pkgconfig(libwebp) >= 0.6.0
BuildRequires: pkgconfig(harfbuzz) BuildRequires: pkgconfig(harfbuzz)
BuildRequires: pkgconfig(libdrm) BuildRequires: pkgconfig(libdrm)
BuildRequires: pkgconfig(opus) BuildRequires: pkgconfig(opus)
BuildRequires: pkgconfig(protobuf)
BuildRequires: pkgconfig(libevent) BuildRequires: pkgconfig(libevent)
BuildRequires: pkgconfig(poppler-cpp)
BuildRequires: pkgconfig(zlib) BuildRequires: pkgconfig(zlib)
%if 0%{?fedora} && 0%{?fedora} < 30 %if 0%{?fedora} && 0%{?fedora} < 30
BuildRequires: pkgconfig(minizip) BuildRequires: pkgconfig(minizip)
%else %else
BuildConflicts: minizip-devel
Provides: bundled(minizip) = 1.2 Provides: bundled(minizip) = 1.2
%endif %endif
BuildRequires: pkgconfig(x11) BuildRequires: pkgconfig(x11)
@ -179,21 +202,32 @@ BuildRequires: pkgconfig(libpci)
BuildRequires: pkgconfig(dbus-1) BuildRequires: pkgconfig(dbus-1)
BuildRequires: pkgconfig(nss) BuildRequires: pkgconfig(nss)
BuildRequires: pkgconfig(lcms2) BuildRequires: pkgconfig(lcms2)
BuildRequires: pkgconfig(xkbcommon)
BuildRequires: pkgconfig(xkbfile)
## https://bugreports.qt.io/browse/QTBUG-59094 ## https://bugreports.qt.io/browse/QTBUG-59094
## requires libxml2 built with icu support
#BuildRequires: pkgconfig(libxslt) pkgconfig(libxml-2.0) #BuildRequires: pkgconfig(libxslt) pkgconfig(libxml-2.0)
BuildRequires: perl-interpreter BuildRequires: perl-interpreter
# fesco exception to allow python2 use: https://pagure.io/fesco/issue/2208 # fesco exception to allow python2 use: https://pagure.io/fesco/issue/2208
# per https://fedoraproject.org/wiki/Changes/RetirePython2#FESCo_exceptions # per https://fedoraproject.org/wiki/Changes/RetirePython2#FESCo_exceptions
# Only the interpreter is needed # Only the interpreter is needed
%if 0%{?fedora} > 29 || 0%{?rhel} > 8 %if 0%{?fedora} > 29 || 0%{?rhel} > 8
%if 0%{?rhel} && 0%{?rhel} == 9
BuildRequires: %{__python3}
%else
BuildRequires: %{__python2} BuildRequires: %{__python2}
%endif
%else %else
BuildRequires: python2 BuildRequires: python2
BuildRequires: python2-rpm-macros BuildRequires: python2-rpm-macros
%endif %endif
%if 0%{?use_system_libvpx} %if 0%{?use_system_libvpx}
BuildRequires: pkgconfig(vpx) >= 1.7.0 BuildRequires: pkgconfig(vpx) >= 1.8.0
%endif %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 # extra (non-upstream) functions needed, see
# src/3rdparty/chromium/third_party/sqlite/README.chromium for details # src/3rdparty/chromium/third_party/sqlite/README.chromium for details
@ -212,16 +246,18 @@ BuildRequires: pkgconfig(vpx) >= 1.7.0
# Of course, Chromium itself is bundled. It cannot be unbundled because it is # Of course, Chromium itself is bundled. It cannot be unbundled because it is
# not a library, but forked (modified) application code. # not a library, but forked (modified) application code.
# Some security fixes (up to version 64.0.3282.140) are backported, see: Provides: bundled(chromium) = 87.0.4280.144
# 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) = 61.0.3163.140
# Bundled in src/3rdparty/chromium/third_party: # Bundled in src/3rdparty/chromium/third_party:
# Check src/3rdparty/chromium/third_party/*/README.chromium for version numbers, # Check src/3rdparty/chromium/third_party/*/README.chromium for version numbers,
# except where specified otherwise. # 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 Provides: bundled(angle) = 2422
# Google's fork of OpenSSL # Google's fork of OpenSSL
# We cannot build against NSS instead because it no longer works with NSS 3.21: # We cannot build against NSS instead because it no longer works with NSS 3.21:
@ -237,43 +273,41 @@ Provides: bundled(brotli)
# out. See clean_qtwebengine.sh, clean_ffmpeg.sh, and # out. See clean_qtwebengine.sh, clean_ffmpeg.sh, and
# get_free_ffmpeg_source_files.py. # get_free_ffmpeg_source_files.py.
# see src/3rdparty/chromium/third_party/ffmpeg/Changelog for the version number # see src/3rdparty/chromium/third_party/ffmpeg/Changelog for the version number
Provides: bundled(ffmpeg) = 3.3 Provides: bundled(ffmpeg) = 4.3
Provides: bundled(hunspell) = 1.6.0 Provides: bundled(hunspell) = 1.6.0
Provides: bundled(iccjpeg) Provides: bundled(iccjpeg)
# bundled as "khronos", headers only # bundled as "khronos", headers only
Provides: bundled(khronos_headers) Provides: bundled(khronos_headers)
# bundled as "leveldatabase" # bundled as "leveldatabase"
Provides: bundled(leveldb) = 1.20 Provides: bundled(leveldb) = 1.22
# bundled as "libjingle_xmpp" # bundled as "libjingle_xmpp"
Provides: bundled(libjingle) Provides: bundled(libjingle)
# see src/3rdparty/chromium/third_party/libsrtp/CHANGES for the version number # see src/3rdparty/chromium/third_party/libsrtp/CHANGES for the version number
Provides: bundled(libsrtp) = 2.1.0 Provides: bundled(libsrtp) = 2.2.0
%if !0%{?use_system_libvpx} %if !0%{?use_system_libvpx}
# claims "Version: 1.6.0", but according to the fine print, this is actually a Provides: bundled(libvpx) = 1.8.2
# snapshot from master from after the 1.6.1 release
Provides: bundled(libvpx) = 1.6.1
%endif %endif
%if !0%{?use_system_libwebp} %if !0%{?use_system_libwebp}
Provides: bundled(libwebp) = 0.6.0 Provides: bundled(libwebp) = 1.1.0-28-g55a080e5
%endif %endif
# bundled as "libxml" # bundled as "libxml"
# see src/3rdparty/chromium/third_party/libxml/linux/include/libxml/xmlversion.h # see src/3rdparty/chromium/third_party/libxml/linux/include/libxml/xmlversion.h
Provides: bundled(libxml2) = 2.9.4 # 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 # see src/3rdparty/chromium/third_party/libxslt/linux/config.h for version
Provides: bundled(libxslt) = 1.1.29 Provides: bundled(libxslt) = 1.1.34
Provides: bundled(libXNVCtrl) = 302.17 Provides: bundled(libXNVCtrl) = 302.17
Provides: bundled(libyuv) = 1658 Provides: bundled(libyuv) = 1768
Provides: bundled(modp_b64) Provides: bundled(modp_b64)
Provides: bundled(openmax_dl) = 1.0.2
Provides: bundled(ots) Provides: bundled(ots)
Provides: bundled(re2)
# see src/3rdparty/chromium/third_party/protobuf/CHANGES.txt for the version # see src/3rdparty/chromium/third_party/protobuf/CHANGES.txt for the version
#Provides: bundled(protobuf) = 3.0.0-0.1.beta3 Provides: bundled(protobuf) = 3.9.0
Provides: bundled(qcms) = 4 Provides: bundled(qcms) = 4
Provides: bundled(sfntly)
Provides: bundled(skia) Provides: bundled(skia)
# bundled as "smhasher" # bundled as "smhasher"
Provides: bundled(SMHasher) = 0-0.1.svn147 Provides: bundled(SMHasher) = 0-147
Provides: bundled(sqlite) = 3.20 Provides: bundled(sqlite) = 3.35.5
Provides: bundled(usrsctp) Provides: bundled(usrsctp)
Provides: bundled(webrtc) = 90 Provides: bundled(webrtc) = 90
@ -286,7 +320,6 @@ Provides: bundled(x86inc)
# Bundled in src/3rdparty/chromium/base/third_party: # Bundled in src/3rdparty/chromium/base/third_party:
# Check src/3rdparty/chromium/third_party/base/*/README.chromium for version # Check src/3rdparty/chromium/third_party/base/*/README.chromium for version
# numbers, except where specified otherwise. # numbers, except where specified otherwise.
Provides: bundled(dmg_fp)
Provides: bundled(dynamic_annotations) = 4384 Provides: bundled(dynamic_annotations) = 4384
Provides: bundled(superfasthash) = 0 Provides: bundled(superfasthash) = 0
Provides: bundled(symbolize) Provides: bundled(symbolize)
@ -311,7 +344,7 @@ Provides: bundled(nsURLParsers)
# Bundled outside of third_party, apparently not considered as such by Chromium: # Bundled outside of third_party, apparently not considered as such by Chromium:
Provides: bundled(mojo) Provides: bundled(mojo)
# see src/3rdparty/chromium/v8/include/v8_version.h for the version number # see src/3rdparty/chromium/v8/include/v8_version.h for the version number
Provides: bundled(v8) = 6.1.534.44 Provides: bundled(v8) = 8.7.220.35
# bundled by v8 (src/3rdparty/chromium/v8/src/base/ieee754.cc) # 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: # The version number is 5.3, the last version that upstream released, years ago:
# http://www.netlib.org/fdlibm/readme # http://www.netlib.org/fdlibm/readme
@ -319,6 +352,14 @@ Provides: bundled(fdlibm) = 5.3
%{?_qt5_version:Requires: qt5-qtbase%{?_isa} = %{_qt5_version}} %{?_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 %description
%{summary}. %{summary}.
@ -371,52 +412,47 @@ mv pulse src/3rdparty/chromium/
pushd src/3rdparty/chromium pushd src/3rdparty/chromium
popd popd
%patch0 -p1 -b .linux-pri %if 0%{?rhel} && 0%{?rhel} == 9
%if 0%{?use_system_libicu} # Install python2 from rpms
%patch1 -p1 -b .no-icudtl-dat mkdir python2
pushd python2
%ifarch aarch64
rpm2cpio %{SOURCE101} | cpio -idm
%endif %endif
%ifarch x86_64
rpm2cpio %{SOURCE102} | cpio -idm
%endif
popd
%endif
%patch2 -p1 -b .fix-extractcflag %patch2 -p1 -b .fix-extractcflag
%if !0%{?arm_neon} %if !0%{?arm_neon}
%patch3 -p1 -b .no-neon %patch3 -p1 -b .no-neon
%endif %endif
%patch4 -p1 -b .SIOCGSTAMP %patch4 -p1 -b .SIOCGSTAMP
%patch5 -p1 -b .QT_DEPRECATED_VERSION %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 ## upstream patches
#patch10 -p1 -b .openmax-dl-neon
## NEEDSWORK
#patch21 -p1 -b .gn-bootstrap-verbose
%patch24 -p1 -b .aarch64-new-stat %patch24 -p1 -b .aarch64-new-stat
%patch26 -p1 -b .use-python2 %patch26 -p1 -b .use-python2
%patch27 -p1 -b .fix-chromium %patch31 -p1 -b .TRUE
%patch29 -p1 -b .gcc10 %patch32 -p1 -b .skia-missing-includes
# the xkbcommon config/feature was renamed in 5.12, so need to adjust QT_CONFIG references
# when building on older Qt releases
%if "%{_qt5_version}" < "5.12.0"
sed -i -e 's|QT_CONFIG(xkbcommon)|QT_CONFIG(xkbcommon_evdev)|g' src/core/web_event_factory.cpp
%endif
# fix // in #include in content/renderer/gpu to avoid debugedit failure
#sed -i -e 's!gpu//!gpu/!g' \
# src/3rdparty/chromium/content/renderer/gpu/compositor_forwarding_message_filter.cc
# and another one in 2 files in WebRTC
sed -i -e 's!audio_processing//!audio_processing/!g' \
src/3rdparty/chromium/third_party/webrtc/modules/audio_processing/utility/ooura_fft.cc \
src/3rdparty/chromium/third_party/webrtc/modules/audio_processing/utility/ooura_fft_sse2.cc
# remove ./ from #line commands in ANGLE to avoid debugedit failure (?)
sed -i -e 's!\./!!g' \
src/3rdparty/chromium/third_party/angle/src/compiler/preprocessor/Tokenizer.cpp \
src/3rdparty/chromium/third_party/angle/src/compiler/translator/glslang_lex.cpp
# delete all "toolprefix = " lines from build/toolchain/linux/BUILD.gn, as we # delete all "toolprefix = " lines from build/toolchain/linux/BUILD.gn, as we
# never cross-compile in native Fedora RPMs, fixes ARM and aarch64 FTBFS # never cross-compile in native Fedora RPMs, fixes ARM and aarch64 FTBFS
sed -i -e '/toolprefix = /d' -e 's/\${toolprefix}//g' \ sed -i -e '/toolprefix = /d' -e 's/\${toolprefix}//g' \
src/3rdparty/chromium/build/toolchain/linux/BUILD.gn src/3rdparty/chromium/build/toolchain/linux/BUILD.gn
%if 0%{?use_system_re2}
# http://bugzilla.redhat.com/1337585 # http://bugzilla.redhat.com/1337585
# can't just delete, but we'll overwrite with system headers to be on the safe side # 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/ cp -bv /usr/include/re2/*.h src/3rdparty/chromium/third_party/re2/src/re2/
%endif
%if 0 %if 0
#ifarch x86_64 #ifarch x86_64
@ -427,28 +463,49 @@ cp -bv /usr/include/re2/*.h src/3rdparty/chromium/third_party/re2/src/re2/
sed -i -e 's/symbol_level=1/symbol_level=2/g' src/core/config/common.pri sed -i -e 's/symbol_level=1/symbol_level=2/g' src/core/config/common.pri
%endif %endif
%if 0%{?docs}
# generate qtwebengine-3rdparty.qdoc, it is missing from the tarball # generate qtwebengine-3rdparty.qdoc, it is missing from the tarball
pushd src/3rdparty pushd src/3rdparty
%{__python2} chromium/tools/licenses.py \ %{__python3} chromium/tools/licenses.py \
--file-template ../../tools/about_credits.tmpl \ --file-template ../../tools/about_credits.tmpl \
--entry-template ../../tools/about_credits_entry.tmpl \ --entry-template ../../tools/about_credits_entry.tmpl \
credits >../webengine/doc/src/qtwebengine-3rdparty.qdoc credits >../webengine/doc/src/qtwebengine-3rdparty.qdoc
popd popd
%endif
# copy the Chromium license so it is installed with the appropriate name # copy the Chromium license so it is installed with the appropriate name
cp -p src/3rdparty/chromium/LICENSE LICENSE.Chromium 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 %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 STRIP=strip
export NINJAFLAGS="%{__ninja_common_opts}" export NINJAFLAGS="%{__ninja_common_opts}"
export NINJA_PATH=%{__ninja} export NINJA_PATH=%{__ninja}
%{qmake_qt5} \ %{qmake_qt5} \
%{?debug_config:CONFIG+="%{debug_config}}" \ %{?debug_config:CONFIG+="%{debug_config}}" \
CONFIG+="link_pulseaudio" \ CONFIG+="link_pulseaudio use_gold_linker" \
%{?use_system_libicu:QMAKE_EXTRA_ARGS+="-system-webengine-icu"} \ %{?use_system_libicu:QMAKE_EXTRA_ARGS+="-system-webengine-icu"} \
QMAKE_EXTRA_ARGS+="-webengine-kerberos" \ 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 # avoid %%make_build for now, the -O flag buffers output from intermediate build steps done via ninja
@ -475,14 +532,6 @@ sed -i \
-e "s|@@EVR@@|%{?epoch:%{epoch:}}%{version}-%{release}|g" \ -e "s|@@EVR@@|%{?epoch:%{epoch:}}%{version}-%{release}|g" \
%{buildroot}%{rpm_macros_dir}/macros.qt5-qtwebengine %{buildroot}%{rpm_macros_dir}/macros.qt5-qtwebengine
# hardlink files to {_bindir}
mkdir -p %{buildroot}%{_bindir}
pushd %{buildroot}%{_qt5_bindir}
for i in * ; do
ln -v ${i} %{buildroot}%{_bindir}/${i}
done
popd
## .prl/.la file love ## .prl/.la file love
# nuke .prl reference(s) to %%buildroot, excessive (.la-like) libs # nuke .prl reference(s) to %%buildroot, excessive (.la-like) libs
pushd %{buildroot}%{_qt5_libdir} pushd %{buildroot}%{_qt5_libdir}
@ -508,7 +557,11 @@ sed -i -e "s|%{version} \${_Qt5WebEngine|%{lesser_version} \${_Qt5WebEngine|" \
%ldconfig_scriptlets %ldconfig_scriptlets
%if 0%{?fedora} > 35 || 0%{?epel} > 9
%filetriggerin -- %{_datadir}/hunspell
%else
%filetriggerin -- %{_datadir}/myspell %filetriggerin -- %{_datadir}/myspell
%endif
while read filename ; do while read filename ; do
case "$filename" in case "$filename" in
*.dic) *.dic)
@ -519,13 +572,16 @@ while read filename ; do
done done
%files %files
%license LICENSE.* src/webengine/doc/src/qtwebengine-3rdparty.qdoc %license LICENSE.*
%if 0%{?docs}
%license src/webengine/doc/src/qtwebengine-3rdparty.qdoc
%endif
%{_qt5_libdir}/libQt5*.so.* %{_qt5_libdir}/libQt5*.so.*
%{_bindir}/qwebengine_convert_dict
%{_qt5_bindir}/qwebengine_convert_dict %{_qt5_bindir}/qwebengine_convert_dict
%{_qt5_libdir}/qt5/qml/* %{_qt5_libdir}/qt5/qml/*
%{_qt5_libdir}/qt5/libexec/QtWebEngineProcess %{_qt5_libdir}/qt5/libexec/QtWebEngineProcess
%{_qt5_plugindir}/designer/libqwebengineview.so %{_qt5_plugindir}/designer/libqwebengineview.so
%{_qt5_plugindir}/imageformats/libqpdf.so
%dir %{_qt5_datadir}/resources/ %dir %{_qt5_datadir}/resources/
%if ! 0%{?use_system_libicu} %if ! 0%{?use_system_libicu}
%{_qt5_datadir}/resources/icudtl.dat %{_qt5_datadir}/resources/icudtl.dat
@ -594,7 +650,6 @@ done
%{_qt5_headerdir}/Qt*/ %{_qt5_headerdir}/Qt*/
%{_qt5_libdir}/libQt5*.so %{_qt5_libdir}/libQt5*.so
%{_qt5_libdir}/libQt5*.prl %{_qt5_libdir}/libQt5*.prl
#{_qt5_libdir}/Qt5WebEngineCore.la
%{_qt5_libdir}/cmake/Qt5*/ %{_qt5_libdir}/cmake/Qt5*/
%{_qt5_libdir}/pkgconfig/Qt5*.pc %{_qt5_libdir}/pkgconfig/Qt5*.pc
%{_qt5_archdatadir}/mkspecs/modules/*.pri %{_qt5_archdatadir}/mkspecs/modules/*.pri
@ -612,6 +667,136 @@ done
%changelog %changelog
* Wed Sep 21 2022 Jan Grulich <jgrulich@redhat.com> - 5.15.10-2
- Rebuild (qt5)
* Mon Aug 29 2022 Ankur Sinha <ankursinha AT fedoraproject DOT org> - 5.15.10-1
- Update to 5.15.10
* Tue Aug 02 2022 Frantisek Zatloukal <fzatlouk@redhat.com> - 5.15.9-5
- Rebuilt for ICU 71.1
* Sat Jul 23 2022 Fedora Release Engineering <releng@fedoraproject.org> - 5.15.9-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
* Wed Jul 20 2022 Kevin Kofler <Kevin@tigcc.ticalc.org> - 5.15.9-3
- Drop obsolete no-icudtl-dat patch, code has been fixed upstream since 5.11.0
* Thu Jul 14 2022 Jan Grulich <jgrulich@redhat.com> - 5.15.9-2
- Rebuild (Qt 5.15.5)
* Wed Jun 01 2022 Rex Dieter <rdieter@fedoraproject.org> - 5.15.9-1
- 5.15.9
* Tue May 17 2022 Jan Grulich <jgrulich@redhat.com> - 5.15.8-7
- Rebuild (Qt 5.15.4)
* Tue Mar 29 2022 Parag Nemade <pnemade AT redhat DOT com> - 5.15.8-6
- Update hunspell dictionary path by adding conditional support
F36 Change https://fedoraproject.org/wiki/Changes/Hunspell_dictionary_dir_change
* Wed Mar 09 2022 Jan Grulich <jgrulich@redhat.com> - 5.15.8-5
- Rebuild (qt5)
* Thu Feb 17 2022 Rex Dieter <rdieter@fedoraproject.org> - 5.15.8-4
- Screen sharing support under Wayland (#2054690)
* Tue Feb 01 2022 Troy Dawson <tdawson@redhat.com> - 5.15.8-3.1
- Specifically for epel9 only, until things switch to python3
- Bundle python2 for building only
- Bundled re2
- No docs
* Thu Jan 27 2022 Tom Callaway <spot@fedoraproject.org> - 5.15.8-3
- rebuild for libvpx
* Sun Jan 23 2022 Kevin Kofler <Kevin@tigcc.ticalc.org> - 5.15.8-2
- Update Provides: bundled(*) version numbers, remove ones dropped upstream
- Restore Provides: bundled(protobuf), unbundling support dropped years ago
- Remove no longer used BuildRequires: yasm and pkgconfig(protobuf)
* Tue Jan 11 2022 Rex Dieter <rdieter@fedoraproject.org> - 5.15.8-1
- 5.15.8
- %%undefine _package_note_file (#2043178)
* Sat Jan 08 2022 Miro Hrončok <mhroncok@redhat.com> - 5.15.6-3
- Rebuilt for libre2.so.9
* Mon Sep 20 2021 Rex Dieter <rdieter@fedoraproject.org> - 5.15.6-2
- patch use of deprecated harfbuzz apis
* Fri Sep 03 2021 Rex Dieter <rdieter@fedoraproject.org> - 5.15.6-1
- 5.15.6
* Thu Aug 12 2021 Troy Dawson <tdawson@redhat.com> - 5.15.5-3
- Fix use-python2.patch
* Fri Jul 23 2021 Fedora Release Engineering <releng@fedoraproject.org> - 5.15.5-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
* Wed Jun 23 2021 Rex Dieter <rdieter@fedoraproject.org> - 5.15.5-1
- 5.15.5
* Wed Jun 16 2021 Rex Dieter <rdieter@fedoraproject.org> - 5.15.2-12
- workaround SIGSTKSZ FTBFS (#1945595)
- workaround 'TRUE'/'FALSE' was not declared in this scope
* Thu May 20 2021 Pete Walter <pwalter@fedoraproject.org> - 5.15.2-11
- Rebuild for ICU 69
* Mon May 10 2021 Jonathan Wakely <jwakely@redhat.com> - 5.15.2-10
- Rebuilt for removed libstdc++ symbols (#1937698)
* Tue Mar 30 2021 Jonathan Wakely <jwakely@redhat.com> - 5.15.2-9
- Rebuilt for removed libstdc++ symbol (#1937698)
* Tue Jan 26 2021 Kevin Kofler <Kevin@tigcc.ticalc.org> - 5.15.2-8
- Add versioned Conflicts with -freeworld built against bundled ICU (#1920379)
* Sat Jan 23 2021 Kevin Kofler <Kevin@tigcc.ticalc.org> - 5.15.2-7
- Fix sandbox issue on 32-bit architectures with glibc >= 2.31 (from Debian)
* Sat Jan 23 2021 Kevin Kofler <Kevin@tigcc.ticalc.org> - 5.15.2-6
- Reenable system ICU on F33+, ICU 67 supported since 5.15.1 according to Debian
* Wed Jan 20 2021 Kevin Kofler <Kevin@tigcc.ticalc.org> - 5.15.2-5
- Fix sandbox issue breaking text rendering with glibc 2.33 (#1904652)
* Wed Dec 30 2020 Mattia Verga <mattia.verga@protonmail.com> - 5.15.2-4
- Rebuild for gcc bugfix upgrade
* Fri Dec 04 2020 Jeff Law <law@redhat.com> - 5.15.2-3
- Fix another missing #include for gcc-11
* Tue Nov 24 07:55:13 CET 2020 Jan Grulich <jgrulich@redhat.com> - 5.15.2-2
- Rebuild for qtbase with -no-reduce-relocations option
* Fri Nov 20 09:12:35 CET 2020 Jan Grulich <jgrulich@redhat.com> - 5.15.2-1
- 5.15.2
* Wed Nov 04 2020 Jeff Law <law@redhat.com> - 5.15.1-3
- Fix missing #includes for gcc-11
* Wed Sep 23 12:52:56 CEST 2020 Jan Grulich <jgrulich@redhat.com> - 5.15.1-2
- Rebuild (libevent)
* Fri Sep 11 2020 Jan Grulich <jgrulich@redhat.com> - 5.15.1-1
- 5.15.1
* Fri Sep 04 2020 Than Ngo <than@redhat.com> - 5.15.0-4
- Fix FTBFS
* Sat Aug 01 2020 Fedora Release Engineering <releng@fedoraproject.org> - 5.15.0-3
- Second attempt - Rebuilt for
https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
* Wed Jul 29 2020 Fedora Release Engineering <releng@fedoraproject.org> - 5.15.0-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
* Wed Jun 10 2020 Rex Dieter <rdieter@fedoraproject.org> - 5.15.0-1
- 5.15.0
- f33's icu-67.x currently not compatible, use bundled icu
* Sat Apr 04 2020 Rex Dieter <rdieter@fedoraproject.org> - 5.14.2-2 * Sat Apr 04 2020 Rex Dieter <rdieter@fedoraproject.org> - 5.14.2-2
- rebuild (qt5) - rebuild (qt5)

View File

@ -1,17 +0,0 @@
diff -up qtwebengine-everywhere-src-5.14.1.orig/src/webenginewidgets/api/qwebenginedownloaditem.h.QT_DEPRECATED qtwebengine-everywhere-src-5.14.1.orig/src/webenginewidgets/api/qwebenginedownloaditem.h
--- qtwebengine-everywhere-src-5.14.1.orig/src/webenginewidgets/api/qwebenginedownloaditem.h.QT_DEPRECATED 2020-01-20 05:17:16.000000000 -0600
+++ qtwebengine-everywhere-src-5.14.1.orig/src/webenginewidgets/api/qwebenginedownloaditem.h 2020-03-24 15:42:03.558394148 -0500
@@ -119,9 +119,13 @@ public:
QUrl url() const;
QString mimeType() const;
#if QT_DEPRECATED_SINCE(5, 14)
+#if QT_VERSION >= QT_VERSION_CHECK(5,14,0)
QT_DEPRECATED_VERSION_X(5, 14, "Use downloadDirectory() and downloadFileName() instead")
+#endif
QString path() const;
+#if QT_VERSION >= QT_VERSION_CHECK(5,14,0)
QT_DEPRECATED_VERSION_X(5, 14, "Use setDownloadDirectory() and setDownloadFileName() instead")
+#endif
void setPath(QString path);
#endif
bool isFinished() const;

View File

@ -0,0 +1,17 @@
diff -up qtwebengine-everywhere-src-5.15.5/src/webenginewidgets/api/qwebenginedownloaditem.h.QT_DEPRECATED_VERSION qtwebengine-everywhere-src-5.15.5/src/webenginewidgets/api/qwebenginedownloaditem.h
--- qtwebengine-everywhere-src-5.15.5/src/webenginewidgets/api/qwebenginedownloaditem.h.QT_DEPRECATED_VERSION 2021-06-24 07:34:27.991417071 -0500
+++ qtwebengine-everywhere-src-5.15.5/src/webenginewidgets/api/qwebenginedownloaditem.h 2021-06-24 07:36:28.996937357 -0500
@@ -120,9 +120,13 @@ public:
QString mimeType() const;
#if QT_DEPRECATED_SINCE(5, 14)
#if QT_VERSION >= QT_VERSION_CHECK(5, 14, 0)
+#if QT_VERSION >= QT_VERSION_CHECK(5,14,0)
QT_DEPRECATED_VERSION_X(5, 14, "Use downloadDirectory() and downloadFileName() instead")
+#endif
QString path() const;
+#if QT_VERSION >= QT_VERSION_CHECK(5,14,0)
QT_DEPRECATED_VERSION_X(5, 14, "Use setDownloadDirectory() and setDownloadFileName() instead")
+#endif
void setPath(QString path);
#else
QT_DEPRECATED_X("Use downloadDirectory() and downloadFileName() instead")

View File

@ -1,39 +0,0 @@
From 033c7aa2da1bc78347765d60c15843ece02ef4d8 Mon Sep 17 00:00:00 2001
From: Troy Dawson <tdawson@redhat.com>
Date: Tue, 11 Feb 2020 15:43:30 -0800
Subject: [PATCH] fix chromium headers
---
.../chromium/cc/base/list_container_helper.cc | 250 -----------------
.../chromium/cc/base/list_container_helper.h | 254 ++++++++++++++++++
.../aec3/clockdrift_detector.h | 1 +
.../modules/video_coding/decoding_state.h | 1 +
4 files changed, 256 insertions(+), 250 deletions(-)
diff --git a/src/3rdparty/chromium/third_party/webrtc/modules/audio_processing/aec3/clockdrift_detector.h b/src/3rdparty/chromium/third_party/webrtc/modules/audio_processing/aec3/clockdrift_detector.h
index 22528c948..69e624e8b 100644
--- a/src/3rdparty/chromium/third_party/webrtc/modules/audio_processing/aec3/clockdrift_detector.h
+++ b/src/3rdparty/chromium/third_party/webrtc/modules/audio_processing/aec3/clockdrift_detector.h
@@ -12,6 +12,7 @@
#define MODULES_AUDIO_PROCESSING_AEC3_CLOCKDRIFT_DETECTOR_H_
#include <array>
+#include <cstddef>
namespace webrtc {
diff --git a/src/3rdparty/chromium/third_party/webrtc/modules/video_coding/decoding_state.h b/src/3rdparty/chromium/third_party/webrtc/modules/video_coding/decoding_state.h
index b87fb2d03..ec972949d 100644
--- a/src/3rdparty/chromium/third_party/webrtc/modules/video_coding/decoding_state.h
+++ b/src/3rdparty/chromium/third_party/webrtc/modules/video_coding/decoding_state.h
@@ -11,6 +11,7 @@
#ifndef MODULES_VIDEO_CODING_DECODING_STATE_H_
#define MODULES_VIDEO_CODING_DECODING_STATE_H_
+#include <cstdint>
#include <map>
#include <set>
#include <vector>
--
2.24.1

View File

@ -1,13 +0,0 @@
diff --git a/src/webengine/module.pro b/src/webengine/module.pro
index 49a1086b2..afc89d49e 100644
--- a/src/webengine/module.pro
+++ b/src/webengine/module.pro
@@ -76,7 +76,7 @@ qtConfig(webengine-testsupport) {
python = $$pythonPathForShell()
chromium_attributions.commands = \
cd $$shell_quote($$shell_path($$PWD/../3rdparty)) && \
- $$python chromium/tools/licenses.py \
+ python2 chromium/tools/licenses.py \
--file-template ../../tools/about_credits.tmpl \
--entry-template ../../tools/about_credits_entry.tmpl credits \
$$shell_quote($$shell_path($$OUT_PWD/chromium_attributions.qdoc))

View File

@ -1,35 +0,0 @@
diff -up qtwebengine-everywhere-src-5.14.1.orig/src/3rdparty/chromium/media/cdm/supported_cdm_versions.cc.gcc10 qtwebengine-everywhere-src-5.14.1.orig/src/3rdparty/chromium/media/cdm/supported_cdm_versions.cc
diff -up qtwebengine-everywhere-src-5.14.1.orig/src/3rdparty/chromium/media/cdm/supported_cdm_versions.h.gcc10 qtwebengine-everywhere-src-5.14.1.orig/src/3rdparty/chromium/media/cdm/supported_cdm_versions.h
--- qtwebengine-everywhere-src-5.14.1.orig/src/3rdparty/chromium/media/cdm/supported_cdm_versions.h.gcc10 2020-01-20 04:37:42.000000000 -0600
+++ qtwebengine-everywhere-src-5.14.1.orig/src/3rdparty/chromium/media/cdm/supported_cdm_versions.h 2020-03-25 08:19:35.628534572 -0500
@@ -6,6 +6,7 @@
#define MEDIA_CDM_SUPPORTED_CDM_VERSIONS_H_
#include <array>
+#include <cstdlib>
#include "media/base/media_export.h"
#include "media/cdm/api/content_decryption_module.h"
diff -up qtwebengine-everywhere-src-5.14.1.orig/src/3rdparty/chromium/third_party/perfetto/include/perfetto/base/task_runner.h.gcc10 qtwebengine-everywhere-src-5.14.1.orig/src/3rdparty/chromium/third_party/perfetto/include/perfetto/base/task_runner.h
--- qtwebengine-everywhere-src-5.14.1.orig/src/3rdparty/chromium/third_party/perfetto/include/perfetto/base/task_runner.h.gcc10 2020-01-20 04:37:42.000000000 -0600
+++ qtwebengine-everywhere-src-5.14.1.orig/src/3rdparty/chromium/third_party/perfetto/include/perfetto/base/task_runner.h 2020-03-17 16:59:11.432193734 -0500
@@ -18,6 +18,7 @@
#define INCLUDE_PERFETTO_BASE_TASK_RUNNER_H_
#include <functional>
+#include <cstdint>
#include "perfetto/base/export.h"
diff -up qtwebengine-everywhere-src-5.14.1.orig/src/3rdparty/chromium/third_party/webrtc/call/rtx_receive_stream.h.gcc10 qtwebengine-everywhere-src-5.14.1.orig/src/3rdparty/chromium/third_party/webrtc/call/rtx_receive_stream.h
--- qtwebengine-everywhere-src-5.14.1.orig/src/3rdparty/chromium/third_party/webrtc/call/rtx_receive_stream.h.gcc10 2020-01-20 04:37:42.000000000 -0600
+++ qtwebengine-everywhere-src-5.14.1.orig/src/3rdparty/chromium/third_party/webrtc/call/rtx_receive_stream.h 2020-03-25 09:37:13.373280961 -0500
@@ -11,6 +11,8 @@
#ifndef CALL_RTX_RECEIVE_STREAM_H_
#define CALL_RTX_RECEIVE_STREAM_H_
+#include <cstdlib>
+#include <cstdint>
#include <map>
#include "call/rtp_packet_sink_interface.h"

View File

@ -0,0 +1,35 @@
diff --git a/src/3rdparty/chromium/third_party/catapult/common/py_vulcanize/py_vulcanize/generate.py b/src/3rdparty/chromium/third_party/catapult/common/py_vulcanize/py_vulcanize/generate.py
index 8af373102..b551c0fe2 100644
--- a/src/3rdparty/chromium/third_party/catapult/common/py_vulcanize/py_vulcanize/generate.py
+++ b/src/3rdparty/chromium/third_party/catapult/common/py_vulcanize/py_vulcanize/generate.py
@@ -83,7 +83,7 @@ def _MinifyJS(input_js):
with tempfile.NamedTemporaryFile() as _:
args = [
- 'python',
+ 'python2',
rjsmin_path
]
p = subprocess.Popen(args,
@@ -203,7 +203,7 @@ def _MinifyCSS(css_text):
os.path.join(py_vulcanize_path, 'third_party', 'rcssmin', 'rcssmin.py'))
with tempfile.NamedTemporaryFile() as _:
- rcssmin_args = ['python', rcssmin_path]
+ rcssmin_args = ['python2', rcssmin_path]
p = subprocess.Popen(rcssmin_args,
stdin=subprocess.PIPE,
stdout=subprocess.PIPE,
diff --git a/src/webengine/module.pro b/src/webengine/module.pro
index 49a1086b2..afc89d49e 100644
--- a/src/webengine/module.pro
+++ b/src/webengine/module.pro
@@ -76,7 +76,7 @@ qtConfig(webengine-testsupport) {
python = $$pythonPathForShell()
chromium_attributions.commands = \
cd $$shell_quote($$shell_path($$PWD/../3rdparty)) && \
- $$python chromium/tools/licenses.py \
+ python2 chromium/tools/licenses.py \
--file-template ../../tools/about_credits.tmpl \
--entry-template ../../tools/about_credits_entry.tmpl credits \
$$shell_quote($$shell_path($$OUT_PWD/chromium_attributions.qdoc))

View File

@ -0,0 +1,24 @@
diff -up qtwebengine-everywhere-src-5.15.8/src/3rdparty/chromium/third_party/webrtc/modules/desktop_capture/BUILD.gn.libpipewire-0.3 qtwebengine-everywhere-src-5.15.8/src/3rdparty/chromium/third_party/webrtc/modules/desktop_capture/BUILD.gn
--- qtwebengine-everywhere-src-5.15.8/src/3rdparty/chromium/third_party/webrtc/modules/desktop_capture/BUILD.gn.libpipewire-0.3 2021-12-15 10:09:27.000000000 -0600
+++ qtwebengine-everywhere-src-5.15.8/src/3rdparty/chromium/third_party/webrtc/modules/desktop_capture/BUILD.gn 2022-02-18 09:43:31.402923179 -0600
@@ -202,7 +202,7 @@ if (is_linux || is_chromeos) {
if (rtc_link_pipewire) {
pkg_config("pipewire") {
- packages = [ "libpipewire-0.2" ]
+ packages = [ "libpipewire-0.3" ]
}
} else {
# When libpipewire is not directly linked, use stubs to allow for dlopening of
diff -up qtwebengine-everywhere-src-5.15.8/src/3rdparty/chromium/third_party/webrtc/webrtc.gni.libpipewire-0.3 qtwebengine-everywhere-src-5.15.8/src/3rdparty/chromium/third_party/webrtc/webrtc.gni
--- qtwebengine-everywhere-src-5.15.8/src/3rdparty/chromium/third_party/webrtc/webrtc.gni.libpipewire-0.3 2021-12-15 10:09:27.000000000 -0600
+++ qtwebengine-everywhere-src-5.15.8/src/3rdparty/chromium/third_party/webrtc/webrtc.gni 2022-02-18 12:35:13.895009491 -0600
@@ -115,7 +115,7 @@ declare_args() {
rtc_use_pipewire = is_desktop_linux && use_sysroot
# Set this to link PipeWire directly instead of using the dlopen.
- rtc_link_pipewire = false
+ rtc_link_pipewire = true
# Enable to use the Mozilla internal settings.
build_with_mozilla = false

View File

@ -1,23 +0,0 @@
diff -ur qtwebengine-everywhere-src-5.10.0/src/buildtools/config/linux.pri qtwebengine-everywhere-src-5.10.0-linux-pri/src/buildtools/config/linux.pri
--- qtwebengine-everywhere-src-5.10.0/src/buildtools/config/linux.pri 2017-11-29 09:42:29.000000000 +0100
+++ qtwebengine-everywhere-src-5.10.0-linux-pri/src/buildtools/config/linux.pri 2017-12-25 12:07:40.262411459 +0100
@@ -157,3 +157,19 @@
#qtConfig(webengine-system-jsoncpp): gn_args += use_system_jsoncpp=true
#qtConfig(webengine-system-libsrtp: gn_args += use_system_libsrtp=true
}
+
+# yasm is only used on x86, and passing use_system_yasm makes the build fail on
+# other architectures (e.g., ARM), so make it conditional on the architecture
+contains(QT_ARCH, "x86_64")|contains(QT_ARCH, "i386") {
+ gn_args += use_system_yasm=true
+}
+
+# link libpci instead of dlopening it, our Qt packaging depends on it anyway
+gn_args += linux_link_libpci=true
+
+# run the unbundling script Chromium provides
+CHROMIUM_SRC_DIR = "$$QTWEBENGINE_ROOT/$$getChromiumSrcDir()"
+R_G_F_PY = "$$CHROMIUM_SRC_DIR/build/linux/unbundle/replace_gn_files.py"
+R_G_F_PY_ARGS = "--system-libraries yasm"
+log("Running python2 $$R_G_F_PY $$R_G_F_PY_ARGS$${EOL}")
+!system("python2 $$R_G_F_PY $$R_G_F_PY_ARGS"): error("-- unbundling failed")

View File

@ -1,34 +0,0 @@
diff --git a/src/core/web_engine_library_info.cpp b/src/core/web_engine_library_info.cpp
index 1c8316430..a1c27d28f 100644
--- a/src/core/web_engine_library_info.cpp
+++ b/src/core/web_engine_library_info.cpp
@@ -259,29 +259,12 @@ QString dictionariesPath()
QString resourcesDataPath()
{
- static bool initialized = false;
static QString potentialResourcesPath =
#if defined(OS_MACOSX) && defined(QT_MAC_FRAMEWORK_BUILD)
getResourcesPath(frameworkBundle());
#else
QLibraryInfo::location(QLibraryInfo::DataPath) % QLatin1String("/resources");
#endif
- if (!initialized) {
- initialized = true;
- if (!QFileInfo::exists(potentialResourcesPath % QLatin1String("/qtwebengine_resources.pak"))) {
- qWarning("Qt WebEngine resources not found at %s. Trying parent directory...", qPrintable(potentialResourcesPath));
- potentialResourcesPath = QLibraryInfo::location(QLibraryInfo::DataPath);
- }
- if (!QFileInfo::exists(potentialResourcesPath % QLatin1String("/qtwebengine_resources.pak"))) {
- qWarning("Qt WebEngine resources not found at %s. Trying application directory...", qPrintable(potentialResourcesPath));
- potentialResourcesPath = QCoreApplication::applicationDirPath();
- }
- if (!QFileInfo::exists(potentialResourcesPath % QLatin1String("/qtwebengine_resources.pak"))) {
- qWarning("Qt WebEngine resources not found at %s. Trying fallback directory... The application MAY NOT work.", qPrintable(potentialResourcesPath));
- potentialResourcesPath = fallbackDir();
- }
- }
-
return potentialResourcesPath;
}
} // namespace

View File

@ -1,13 +0,0 @@
diff --git a/src/buildtools/gn.pro b/src/buildtools/gn.pro
index b6bf9cfc4..30f92e6ac 100644
--- a/src/buildtools/gn.pro
+++ b/src/buildtools/gn.pro
@@ -18,7 +18,7 @@ build_pass|!debug_and_release {
src_3rd_party_dir = $$absolute_path("$${getChromiumSrcDir()}/../", "$$QTWEBENGINE_ROOT")
gn_bootstrap = $$system_path($$absolute_path(gn/build/gen.py, $$src_3rd_party_dir))
- gn_gen_args = --no-last-commit-position --out-path $$out_path \
+ gn_gen_args = --no-last-commit-position --verbose --out-path $$out_path \
--cc \"$$which($$QMAKE_CC)\" --cxx \"$$which($$QMAKE_CXX)\" \
--ld \"$$which($$QMAKE_LINK)\"

View File

@ -0,0 +1,12 @@
diff -up qtwebengine-everywhere-src-5.15.5/src/3rdparty/chromium/third_party/libxml/src/encoding.c.TRUE qtwebengine-everywhere-src-5.15.5/src/3rdparty/chromium/third_party/libxml/src/encoding.c
--- qtwebengine-everywhere-src-5.15.5/src/3rdparty/chromium/third_party/libxml/src/encoding.c.TRUE 2021-05-28 07:05:45.000000000 -0500
+++ qtwebengine-everywhere-src-5.15.5/src/3rdparty/chromium/third_party/libxml/src/encoding.c 2021-06-24 09:44:41.592468805 -0500
@@ -2004,7 +2004,7 @@ xmlEncOutputChunk(xmlCharEncodingHandler
#ifdef LIBXML_ICU_ENABLED
else if (handler->uconv_out != NULL) {
ret = xmlUconvWrapper(handler->uconv_out, 0, out, outlen, in, inlen,
- TRUE);
+ 1);
}
#endif /* LIBXML_ICU_ENABLED */
else {

View File

@ -1,97 +0,0 @@
diff --git a/src/3rdparty/chromium/third_party/openmax_dl/dl/BUILD.gn b/src/3rdparty/chromium/third_party/openmax_dl/dl/BUILD.gn
index 96a59c7c7..d5470f284 100644
--- a/src/3rdparty/chromium/third_party/openmax_dl/dl/BUILD.gn
+++ b/src/3rdparty/chromium/third_party/openmax_dl/dl/BUILD.gn
@@ -208,12 +208,6 @@ if (current_cpu == "arm") {
]
if (arm_optionally_use_neon) {
# Run-time NEON detection.
- deps = [
- "//third_party/android_tools:cpu_features",
- ]
-
- # To get the __android_log_print routine
- libs = [ "log" ]
# Detection routine
sources += [ "sp/src/arm/detect.c" ]
diff --git a/src/3rdparty/chromium/third_party/openmax_dl/dl/sp/src/arm/detect.c b/src/3rdparty/chromium/third_party/openmax_dl/dl/sp/src/arm/detect.c
index 57bfe4089..94a3f7ddc 100644
--- a/src/3rdparty/chromium/third_party/openmax_dl/dl/sp/src/arm/detect.c
+++ b/src/3rdparty/chromium/third_party/openmax_dl/dl/sp/src/arm/detect.c
@@ -9,13 +9,57 @@
*
*/
-#include <cpu-features.h>
-
-#include "android/log.h"
#include "dl/sp/api/omxSP.h"
+// For ArmCpuCaps()
+#include <stdio.h>
+#include <string.h>
+
+// based on libvpx arm_cpudetect.c
+static int ArmCpuCaps(const char* cpuinfo_name) {
+ char cpuinfo_line[512];
+ FILE* f = fopen(cpuinfo_name, "r");
+ if (!f) {
+ // Assume Neon if /proc/cpuinfo is unavailable.
+ // This will occur for Chrome sandbox for Pepper or Render process.
+ return 1;
+ }
+ while (fgets(cpuinfo_line, sizeof(cpuinfo_line) - 1, f)) {
+ if (memcmp(cpuinfo_line, "Features", 8) == 0) {
+ char* p = strstr(cpuinfo_line, " neon");
+ if (p && (p[5] == ' ' || p[5] == '\n')) {
+ fclose(f);
+ return 1;
+ }
+ // aarch64 uses asimd for Neon.
+ p = strstr(cpuinfo_line, " asimd");
+ if (p && (p[6] == ' ' || p[6] == '\n')) {
+ fclose(f);
+ return 1;
+ }
+ }
+ }
+ fclose(f);
+ return 0;
+}
+
int omxSP_HasArmNeon() {
- return (android_getCpuFeatures() & ANDROID_CPU_ARM_FEATURE_NEON) != 0;
+#if defined(__arm__) || defined(__aarch64__)
+// gcc -mfpu=neon defines __ARM_NEON__
+// __ARM_NEON__ generates code that requires Neon. NaCL also requires Neon.
+// For Linux, /proc/cpuinfo can be tested but without that assume Neon.
+#if defined(__ARM_NEON__) || defined(__native_client__) || !defined(__linux__)
+ return 1;
+// For aarch64(arm64), /proc/cpuinfo's feature is not complete, e.g. no neon
+// flag in it.
+// So for aarch64, neon enabling is hard coded here.
+#elif defined(__aarch64__)
+ return 1;
+#else
+ // Linux arm parse text file for neon detect.
+ return ArmCpuCaps("/proc/cpuinfo");
+#endif
+#endif // __arm__
}
static void SetFFTRoutines() {
@@ -24,13 +68,9 @@ static void SetFFTRoutines() {
* forward and inverse FFTs
*/
if (omxSP_HasArmNeon()) {
- __android_log_print(ANDROID_LOG_INFO, "OpenMAX DL FFT",
- "Using NEON FFT");
omxSP_FFTFwd_RToCCS_F32 = omxSP_FFTFwd_RToCCS_F32_Sfs;
omxSP_FFTInv_CCSToR_F32 = omxSP_FFTInv_CCSToR_F32_Sfs;
} else {
- __android_log_print(ANDROID_LOG_INFO, "OpenMAX DL FFT",
- "Using non-NEON FFT");
omxSP_FFTFwd_RToCCS_F32 = omxSP_FFTFwd_RToCCS_F32_Sfs_vfp;
omxSP_FFTInv_CCSToR_F32 = omxSP_FFTInv_CCSToR_F32_Sfs_vfp;
}

15
qtwebengine-release.sh Executable file
View File

@ -0,0 +1,15 @@
#!/bin/sh
set -x
VERSION=5.15.8
CHROMIUMHASH=`wget https://code.qt.io/cgit/qt/qtwebengine.git/tree/src/3rdparty?h=$VERSION -q --content-on-error -O - | grep "Bad object name: " | sed 's/^.*Bad object name: \([0-9a-f]\{40\}\).*$/\1/g'`
rm -rf qtwebengine-$VERSION qtwebengine-$VERSION.tar.gz qtwebengine-chromium-$CHROMIUMHASH qtwebengine-chromium-$CHROMIUMHASH.tar.gz qtwebengine-everywhere-src-$VERSION
wget https://github.com/qt/qtwebengine/archive/$VERSION.tar.gz -O qtwebengine-$VERSION.tar.gz || exit $?
tar xzf qtwebengine-$VERSION.tar.gz || exit $?
wget https://github.com/qt/qtwebengine-chromium/archive/$CHROMIUMHASH.tar.gz -O qtwebengine-chromium-$CHROMIUMHASH.tar.gz || exit $?
tar xzf qtwebengine-chromium-$CHROMIUMHASH.tar.gz || exit $?
mv qtwebengine-$VERSION qtwebengine-everywhere-src-$VERSION || exit $?
(cd qtwebengine-everywhere-src-$VERSION ; syncqt.pl -version $VERSION ) || exit $?
rmdir qtwebengine-everywhere-src-$VERSION/src/3rdparty || exit $?
mv qtwebengine-chromium-$CHROMIUMHASH qtwebengine-everywhere-src-$VERSION/src/3rdparty || exit $?
XZ_OPT="-9 -T2" tar cJf qtwebengine-everywhere-src-$VERSION.tar.xz qtwebengine-everywhere-src-$VERSION || exit $?
rm -rf qtwebengine-$VERSION qtwebengine-$VERSION.tar.gz qtwebengine-chromium-$CHROMIUMHASH qtwebengine-chromium-$CHROMIUMHASH.tar.gz qtwebengine-everywhere-src-$VERSION

View File

@ -0,0 +1,15 @@
diff --git a/src/3rdparty/chromium/third_party/skia/src/utils/SkParseColor.cpp b/src/3rdparty/chromium/third_party/skia/src/utils/SkParseColor.cpp
index 7260365..503ed08 100644
--- a/src/3rdparty/chromium/third_party/skia/src/utils/SkParseColor.cpp
+++ b/src/3rdparty/chromium/third_party/skia/src/utils/SkParseColor.cpp
@@ -8,6 +8,10 @@
#include "include/utils/SkParse.h"
+#include <string.h>
+#include <algorithm>
+#include <iterator>
+
static constexpr const char* gColorNames[] = {
"aliceblue",
"antiquewhite",

View File

@ -1,2 +1,5 @@
SHA512 (pulseaudio-12.2-headers.tar.gz) = a5a9bcbb16030b3bc83cc0cc8f5e7f90e0723d3e83258a5c77eacb32eaa267118a73fa7814fbcc99a24e4907916a2b371ebb6dedc4f45541c3acf6c834fd35be SHA512 (pulseaudio-12.2-headers.tar.gz) = a5a9bcbb16030b3bc83cc0cc8f5e7f90e0723d3e83258a5c77eacb32eaa267118a73fa7814fbcc99a24e4907916a2b371ebb6dedc4f45541c3acf6c834fd35be
SHA512 (qtwebengine-everywhere-src-5.14.2-clean.tar.xz) = 1b946115ac7fba2db6f2807bca5b8911147c164ed19aa13e46bd030a3317f484b2241150cad59ab071da5fd000fc003a81ccc93a68ef3f34a997ff8c4a7d113a SHA512 (python2.7-2.7.18-19.el9.1.src.rpm) = e6d738b2880b833ea80aec709f7bcf20dac2e8c59d45f1627f61245b3aa9be845888152232e9f08145723514eb29aeada3d5d99641aabe9ec9af2a5c15f32777
SHA512 (python2.7-2.7.18-19.el9.1.aarch64.rpm) = 66c8487a3323bb854ff79242287ae5d290315609b4f79fb985626e52d96286d6dfd2da9a8257e23be036b72adabbbec08d53db339935d5d6e8b6018417bbc769
SHA512 (python2.7-2.7.18-19.el9.1.x86_64.rpm) = 55f03b17f649a2da9edae67c1ca7c84738a023fc3ab2e7d6060db8a2b8ddf20099147533f3d50ce3dfafec5ca988f75ff229e67d331bcb669c879802ab6555a9
SHA512 (qtwebengine-everywhere-src-5.15.10-clean.tar.xz) = b268d9fe163ebb3a076d7a37d3189532cf9c5bd76d4dd9e20cc37dcc5c4a5c19070dca27b9b404bbe9837e2a1b339ca6cceb29826b8b1650815f9ea64733859a

1
sources.keep Normal file
View File

@ -0,0 +1 @@
SHA512 (pulseaudio-12.2-headers.tar.gz) = a5a9bcbb16030b3bc83cc0cc8f5e7f90e0723d3e83258a5c77eacb32eaa267118a73fa7814fbcc99a24e4907916a2b371ebb6dedc4f45541c3acf6c834fd35be