The package rpms/chromium.git has added or updated architecture specific content in its spec file (ExclusiveArch/ExcludeArch or %ifarch/%ifnarch) in commit(s): https://src.fedoraproject.org/cgit/rpms/chromium.git/commit/?id=3aaab3062e93....
Change: -%ifarch %{ix86}
Thanks.
Full change: ============
commit e1d2ad7d482410d0a417a637e054889c8d9247d5 Author: Than Ngo than@redhat.com Date: Sat Dec 31 13:57:34 2022 +0100
enable system opus
diff --git a/chromium-108-system-opus.patch b/chromium-108-system-opus.patch new file mode 100644 index 0000000..3c7d9f2 --- /dev/null +++ b/chromium-108-system-opus.patch @@ -0,0 +1,12 @@ +diff -up chromium-108.0.5359.124/media/audio/audio_opus_encoder.h.me chromium-108.0.5359.124/media/audio/audio_opus_encoder.h +--- chromium-108.0.5359.124/media/audio/audio_opus_encoder.h.me 2022-12-31 09:49:17.100277502 +0100 ++++ chromium-108.0.5359.124/media/audio/audio_opus_encoder.h 2022-12-31 09:49:57.101016710 +0100 +@@ -12,7 +12,7 @@ + #include "media/base/audio_converter.h" + #include "media/base/audio_encoder.h" + #include "media/base/audio_timestamp_helper.h" +-#include "third_party/opus/src/include/opus.h" ++#include <opus/opus.h> + + namespace media { + diff --git a/chromium.spec b/chromium.spec index 0c23c08..417ac57 100644 --- a/chromium.spec +++ b/chromium.spec @@ -161,7 +161,7 @@ BuildRequires: libicu-devel >= 5.4 %else # Chromium really wants to use its bundled harfbuzz. Sigh. %global bundleharfbuzz 1 -%global bundleopus 1 +%global bundleopus 0 %global bundlelibusbx 0 %global bundlelibwebp 0 %global bundlelibpng 0 @@ -311,6 +311,9 @@ Patch89: chromium-108-system-brotli.patch # when using the address bar media player button Patch90: chromium-108-disable-GlobalMediaControlsCastStartStop.patch
+# patch for using system opus +Patch91: chromium-108-system-opus.patch + # Fix extra qualification error Patch97: chromium-107.0.5304.110-remoting-extra-qualification.patch
@@ -519,9 +522,7 @@ BuildRequires: elfutils BuildRequires: elfutils-libelf-devel BuildRequires: flac-devel
-%if 0%{?bundlefreetype} -# nothing -%else +%if ! 0%{?bundlefreetype} BuildRequires: freetype-devel %endif
@@ -532,25 +533,22 @@ BuildRequires: kernel-headers BuildRequires: libevent-devel BuildRequires: libffi-devel
-%if 0%{?bundleicu} +%if ! 0%{?bundleicu} # If this is true, we're using the bundled icu. # We'd like to use the system icu every time, but we cannot always do that. -%else # Not newer than 54 (at least not right now) BuildRequires: libicu-devel = 54.1 %endif
-%if 0%{?bundlelibjpeg} +%if ! 0%{?bundlelibjpeg} # If this is true, we're using the bundled libjpeg # which we need to do because the RHEL 7 libjpeg doesn't work for chromium anymore -%else BuildRequires: libjpeg-devel %endif
-%if 0%{?bundlelibpng} +%if ! 0%{?bundlelibpng} # If this is true, we're using the bundled libpng # which we need to do because the RHEL 7 libpng doesn't work right anymore -%else BuildRequires: libpng-devel %endif
@@ -560,11 +558,9 @@ BuildRequires: libsrtp-devel >= 1.4.4 %endif BuildRequires: libudev-devel
-%if %{bundlelibusbx} -# Do nothing -%else -Requires: libusbx >= 1.0.21-0.1.git448584a -BuildRequires: libusbx-devel >= 1.0.21-0.1.git448584a +%if ! %{bundlelibusbx} +Requires: libusbx >= 1.0.21-0.1.git448584a +BuildRequires: libusbx-devel >= 1.0.21-0.1.git448584a %endif
%if 0%{use_vaapi} @@ -574,9 +570,7 @@ BuildRequires: libva-devel # We don't use libvpx anymore because Chromium loves to # use bleeding edge revisions here that break other things # ... so we just use the bundled libvpx. -%if %{bundlelibwebp} -# Do nothing -%else +%if ! %{bundlelibwebp} BuildRequires: libwebp-devel %endif
@@ -587,9 +581,7 @@ BuildRequires: libxshmfence-devel # BuildRequires: libyuv-devel BuildRequires: mesa-libGL-devel
-%if %{bundleopus} -# Do nothing -%else +%if ! %{bundleopus} BuildRequires: opus-devel %endif
@@ -606,9 +598,7 @@ BuildRequires: python3-devel BuildRequires: python3-zipp BuildRequires: python3-simplejson
-%if 0%{?bundlepylibs} -# Using bundled bits, do nothing. -%else +%if ! 0%{?bundlepylibs} %if 0%{?fedora} || 0%{?rhel} >= 8 BuildRequires: python3-beautifulsoup4 BuildRequires: python3-html5lib @@ -622,13 +612,19 @@ BuildRequires: python-ply %endif %endif
-%if 0%{?bundlere2} -# Using bundled bits, do nothing. -%else +%if ! 0%{?bundlere2} Requires: re2 >= 20160401 BuildRequires: re2-devel >= 20160401 %endif
+%if ! 0%{?bundlebrotli} +BuildRequires: brotli-devel +%endif + +%if ! %{bundleopus} +BuildRequires: opus-devel +%endif + BuildRequires: speech-dispatcher-devel BuildRequires: yasm BuildRequires: zlib-devel @@ -731,9 +727,11 @@ Provides: bundled(angle) = 2422 Provides: bundled(bintrees) = 1.0.1 # This is a fork of openssl. Provides: bundled(boringssl) + %if 0%{?bundlebrotli} Provides: bundled(brotli) = 222564a95d9ab58865a096b8d9f7324ea5f2e03e %endif + Provides: bundled(bspatch) Provides: bundled(cacheinvalidation) = 20150720 Provides: bundled(colorama) = 799604a104 @@ -741,8 +739,12 @@ Provides: bundled(crashpad) Provides: bundled(dmg_fp) Provides: bundled(expat) = 2.2.0 Provides: bundled(fdmlibm) = 5.3 + # Don't get too excited. MPEG and other legally problematic stuff is stripped out. +%if %{?bundleffmpeg} Provides: bundled(ffmpeg) = 5.1.2 +%endif + Provides: bundled(fips181) = 2.2.3
%if 0%{?bundlefontconfig} @@ -754,6 +756,7 @@ Provides: bundled(freetype) = 2.11.0git %endif
Provides: bundled(gperftools) = svn144 + %if 0%{?bundleharfbuzz} Provides: bundled(harfbuzz) = 2.4.0 %endif @@ -960,6 +963,11 @@ udev. %endif
%patch90 -p1 -b .disable-GlobalMediaControlsCastStartStop + +%if ! 0%{?bundleopus} +%patch91 -p1 -b .system-opus +%endif + %patch97 -p1 -b .remoting-extra-qualification %patch98 -p1 -b .InkDropHost-crash %patch99 -p1 -b .enable-WebRTCPipeWireCapturer-byDefault
commit 8d5a9ea42095c39e2b282ce4b8bb962b03365c94 Author: Than Ngo than@redhat.com Date: Fri Dec 30 22:24:17 2022 +0100
- disable GlobalMediaControlsCastStartStop to avoid crash when using the address bar media player button - enable system brotli
diff --git a/chromium-108-disable-GlobalMediaControlsCastStartStop.patch b/chromium-108-disable-GlobalMediaControlsCastStartStop.patch new file mode 100644 index 0000000..ccf52a9 --- /dev/null +++ b/chromium-108-disable-GlobalMediaControlsCastStartStop.patch @@ -0,0 +1,20 @@ +diff -up chromium-108.0.5359.124/chrome/browser/media/router/media_router_feature.cc.me chromium-108.0.5359.124/chrome/browser/media/router/media_router_feature.cc +--- chromium-108.0.5359.124/chrome/browser/media/router/media_router_feature.cc.me 2022-12-30 13:05:24.520593426 +0100 ++++ chromium-108.0.5359.124/chrome/browser/media/router/media_router_feature.cc 2022-12-30 14:03:08.996254352 +0100 +@@ -46,16 +46,9 @@ BASE_FEATURE(kDialEnforceUrlIPAddress, + BASE_FEATURE(kMediaRemotingWithoutFullscreen, + "MediaRemotingWithoutFullscreen", + base::FEATURE_DISABLED_BY_DEFAULT); +- +-#if BUILDFLAG(IS_CHROMEOS) + BASE_FEATURE(kGlobalMediaControlsCastStartStop, + "GlobalMediaControlsCastStartStop", + base::FEATURE_DISABLED_BY_DEFAULT); +-#else +-BASE_FEATURE(kGlobalMediaControlsCastStartStop, +- "GlobalMediaControlsCastStartStop", +- base::FEATURE_ENABLED_BY_DEFAULT); +-#endif // BUILDFLAG(IS_CHROMEOS) + + #endif // !BUILDFLAG(IS_ANDROID) + diff --git a/chromium-108-system-brotli.patch b/chromium-108-system-brotli.patch new file mode 100644 index 0000000..a5a4ecc --- /dev/null +++ b/chromium-108-system-brotli.patch @@ -0,0 +1,36 @@ +diff -up chromium-108.0.5359.124/net/filter/brotli_source_stream.cc.me chromium-108.0.5359.124/net/filter/brotli_source_stream.cc +--- chromium-108.0.5359.124/net/filter/brotli_source_stream.cc.me 2022-12-30 16:00:58.320318310 +0100 ++++ chromium-108.0.5359.124/net/filter/brotli_source_stream.cc 2022-12-30 16:01:24.928581631 +0100 +@@ -10,7 +10,7 @@ + #include "base/memory/raw_ptr.h" + #include "base/metrics/histogram_macros.h" + #include "net/base/io_buffer.h" +-#include "third_party/brotli/include/brotli/decode.h" ++#include <brotli/decode.h> + + namespace net { + +diff -up chromium-108.0.5359.124/net/ssl/cert_compression.cc.me chromium-108.0.5359.124/net/ssl/cert_compression.cc +--- chromium-108.0.5359.124/net/ssl/cert_compression.cc.me 2022-12-30 15:57:59.859543993 +0100 ++++ chromium-108.0.5359.124/net/ssl/cert_compression.cc 2022-12-30 16:00:48.560221723 +0100 +@@ -9,7 +9,7 @@ + #include "third_party/boringssl/src/include/openssl/ssl.h" + + #if !defined(NET_DISABLE_BROTLI) +-#include "third_party/brotli/include/brotli/decode.h" ++#include <brotli/decode.h> + #endif + + namespace net { +diff -up chromium-108.0.5359.124/ui/base/resource/resource_bundle.cc.me chromium-108.0.5359.124/ui/base/resource/resource_bundle.cc +--- chromium-108.0.5359.124/ui/base/resource/resource_bundle.cc.me 2022-12-30 21:12:27.058346797 +0100 ++++ chromium-108.0.5359.124/ui/base/resource/resource_bundle.cc 2022-12-30 21:13:58.363183795 +0100 +@@ -31,7 +31,7 @@ + #include "build/build_config.h" + #include "net/filter/gzip_header.h" + #include "skia/ext/image_operations.h" +-#include "third_party/brotli/include/brotli/decode.h" ++#include <brotli/decode.h> + #include "third_party/skia/include/core/SkBitmap.h" + #include "third_party/skia/include/core/SkColor.h" + #include "third_party/zlib/google/compression_utils.h" diff --git a/chromium.spec b/chromium.spec index 8d5662f..0c23c08 100644 --- a/chromium.spec +++ b/chromium.spec @@ -109,6 +109,9 @@ # enable clang by default %global clang 1
+# enable system brotli +%global bundlebrotli 0 + # set bundleffmpeg 0 to enable system ffmpeg-free %global bundleffmpeg 1
@@ -301,6 +304,13 @@ Patch87: chromium-99.0.4844.84-markdownsafe-soft_str.patch # drop build dependency on python3-importlib-metadata Patch88: chromium-108-drop-python-importlib-metadata.patch
+# patch for using system brotli +Patch89: chromium-108-system-brotli.patch + +# disable GlobalMediaControlsCastStartStop to avoid crash +# when using the address bar media player button +Patch90: chromium-108-disable-GlobalMediaControlsCastStartStop.patch + # Fix extra qualification error Patch97: chromium-107.0.5304.110-remoting-extra-qualification.patch
@@ -721,7 +731,9 @@ Provides: bundled(angle) = 2422 Provides: bundled(bintrees) = 1.0.1 # This is a fork of openssl. Provides: bundled(boringssl) +%if 0%{?bundlebrotli} Provides: bundled(brotli) = 222564a95d9ab58865a096b8d9f7324ea5f2e03e +%endif Provides: bundled(bspatch) Provides: bundled(cacheinvalidation) = 20150720 Provides: bundled(colorama) = 799604a104 @@ -942,6 +954,12 @@ udev. %endif
%patch88 -p1 -b .drop-build-dep-on-python3-importlib-metadata + +%if ! 0%{?bundlebrotli} +%patch89 -p1 -b .system-brotli +%endif + +%patch90 -p1 -b .disable-GlobalMediaControlsCastStartStop %patch97 -p1 -b .remoting-extra-qualification %patch98 -p1 -b .InkDropHost-crash %patch99 -p1 -b .enable-WebRTCPipeWireCapturer-byDefault @@ -953,9 +971,7 @@ udev.
%patch113 -p1 -b .memset
-%if 0%{?bundleffmpeg} -# nothing -%else +%if ! 0%{?bundleffmpeg} %patch114 -p1 -b .system-ffmppeg %patch115 -p1 -b .prop-codecs %endif @@ -1243,62 +1259,51 @@ CHROMIUM_HEADLESS_GN_DEFINES+=' use_pulseaudio=false use_udev=false use_gtk=fals export CHROMIUM_HEADLESS_GN_DEFINES
build/linux/unbundle/replace_gn_files.py --system-libraries \ -%if 0%{?bundlefontconfig} -%else +%if ! 0%{?bundlebrotli} + brotli \ +%endif +%if ! 0%{?bundlefontconfig} fontconfig \ %endif -%if 0%{?bundlefreetype} -%else +%if ! 0%{?bundleffmpeg} + ffmpeg \ +%endif +%if ! 0%{?bundlefreetype} freetype \ %endif -%if 0%{?bundleharfbuzz} -%else +%if ! 0%{?bundleharfbuzz} harfbuzz-ng \ %endif -%if 0%{?bundleicu} -%else +%if ! 0%{?bundleicu} icu \ %endif -%if %{bundlelibdrm} -%else +%if ! %{bundlelibdrm} libdrm \ %endif -%if %{bundlelibjpeg} -%else +%if ! %{bundlelibjpeg} libjpeg \ %endif -%if %{bundlelibpng} -%else +%if !%{bundlelibpng} libpng \ %endif -%if %{bundlelibusbx} -%else +%if !%{bundlelibusbx} libusb \ %endif -%if %{bundlelibwebp} -%else +%if ! %{bundlelibwebp} libwebp \ %endif -%if %{bundlelibxml} -%else +%if ! %{bundlelibxml} libxml \ %endif libxslt \ -%if %{bundleopus} -%else +%if ! %{bundleopus} opus \ %endif -%if 0%{?bundlere2} -%else +%if ! 0%{?bundlere2} re2 \ %endif -%if 0%{?bundleminizip} -%else +%if ! 0%{?bundleminizip} zlib \ -%endif -%if 0%{?bundleffmpeg} -%else - ffmpeg \ %endif flac
commit 5bc3025588f5a7198acc134e90b84cebafaca98e Author: Than Ngo than@redhat.com Date: Fri Dec 30 12:07:43 2022 +0100
fixed symlinks
diff --git a/chromium.spec b/chromium.spec index 7aebe07..8d5662f 100644 --- a/chromium.spec +++ b/chromium.spec @@ -1367,7 +1367,7 @@ sed -i "s|@@CHROMIUM_BROWSER_CHANNEL@@|$CHROMIUM_BROWSER_CHANNEL|g" %{buildroot} sed -i "s|@@EXTRA_FLAGS@@|$EXTRA_FLAGS|g" %{buildroot}%{chromium_path}/%{chromium_browser_channel}.sh %endif
-ln -s ..%{chromium_path}/%{chromium_browser_channel}.sh %{buildroot}%{_bindir}/%{chromium_browser_channel} +ln -s ../..%{chromium_path}/%{chromium_browser_channel}.sh %{buildroot}%{_bindir}/%{chromium_browser_channel} mkdir -p %{buildroot}%{_mandir}/man1/
pushd %{builddir} @@ -1422,7 +1422,7 @@ pushd %{builddir}
# chromedriver cp -a chromedriver %{buildroot}%{chromium_path}/chromedriver - ln -s ..%{chromium_path}/chromedriver %{buildroot}%{_bindir}/chromedriver + ln -s ../..%{chromium_path}/chromedriver %{buildroot}%{_bindir}/chromedriver
%if %{build_remoting} # Remote desktop bits
commit 23f15e462f13bc4105ff1703cd6ca6f34b54d5c1 Author: Than Ngo than@redhat.com Date: Fri Dec 30 11:18:52 2022 +0100
fixed file list
diff --git a/chromium.spec b/chromium.spec index 292d851..7aebe07 100644 --- a/chromium.spec +++ b/chromium.spec @@ -23,10 +23,10 @@ export NINJA_STATUS="[%2:%f/%t] " ; \ ninja -j %{numjobs} -C '%1' '%2'
-# We usually want this. +# enable|disable headless client build %global build_headless 0
-# This doesn't work and it doesn't even build as of Chromium 83 +# enable|disable chrome-remote-desktop build %global build_remoting 0
# set nodejs_version @@ -1591,11 +1591,6 @@ getent group chrome-remote-desktop >/dev/null || groupadd -r chrome-remote-deskt %if %{build_clear_key_cdm} %{chromium_path}/libclearkeycdm.so %endif - -%if 0 -%{chromium_path}/pyproto/ -%endif -%{chromium_path}/resources/ %ifarch x86_64 i686 aarch64 %{chromium_path}/libvk_swiftshader.so* %{chromium_path}/libvulkan.so*
commit 1fc12f4322b4e948f97f0c1606669acde30fac44 Author: Than Ngo than@redhat.com Date: Thu Dec 29 21:28:51 2022 +0100
- drop use_jumbo buildflag - clean up
diff --git a/chromium.spec b/chromium.spec index 109247d..292d851 100644 --- a/chromium.spec +++ b/chromium.spec @@ -23,15 +23,11 @@ export NINJA_STATUS="[%2:%f/%t] " ; \ ninja -j %{numjobs} -C '%1' '%2'
-# This was faster when it worked, but it didn't always. -# As of chromium 80, it is no longer supported. RIP. -%global use_jumbo 0 - # We usually want this. -%global build_headless 1 +%global build_headless 0
# This doesn't work and it doesn't even build as of Chromium 83 -%global build_remoting 1 +%global build_remoting 0
# set nodejs_version %global nodejs_version v16.17.0 @@ -1202,10 +1198,6 @@ CHROMIUM_CORE_GN_DEFINES+=' enable_js_type_check=false' CHROMIUM_CORE_GN_DEFINES+=' target_cpu="arm64"' %endif
-%if %{?use_jumbo} - CHROMIUM_CORE_GN_DEFINES+=' use_jumbo_build=true jumbo_file_merge_limit=8' -%endif - %if 0%{?rhel} == 8 CHROMIUM_CORE_GN_DEFINES+=' use_gnome_keyring=false use_glib=true' %endif @@ -1356,7 +1348,7 @@ sed -e 's|${ICD_LIBRARY_PATH}|./libvk_swiftshader.so|g' third_party/swiftshader/ rm -rf %{buildroot}
mkdir -p %{buildroot}%{_bindir} -mkdir -p %{buildroot}%{chromium_path} +mkdir -p %{buildroot}%{chromium_path}/locales cp -a %{SOURCE3} %{buildroot}%{chromium_path}/%{chromium_browser_channel}.sh
export BUILD_TARGET=`cat /etc/redhat-release` @@ -1375,11 +1367,12 @@ sed -i "s|@@CHROMIUM_BROWSER_CHANNEL@@|$CHROMIUM_BROWSER_CHANNEL|g" %{buildroot} sed -i "s|@@EXTRA_FLAGS@@|$EXTRA_FLAGS|g" %{buildroot}%{chromium_path}/%{chromium_browser_channel}.sh %endif
-ln -s ../%{chromium_path}/%{chromium_browser_channel}.sh %{buildroot}%{_bindir}/%{chromium_browser_channel} +ln -s ..%{chromium_path}/%{chromium_browser_channel}.sh %{buildroot}%{_bindir}/%{chromium_browser_channel} mkdir -p %{buildroot}%{_mandir}/man1/
pushd %{builddir} - cp -a chrom*.pak resources.pak locales resources icudtl.dat %{buildroot}%{chromium_path} + cp -a chrom*.pak resources.pak icudtl.dat %{buildroot}%{chromium_path} + cp -a locales/*.pak %{buildroot}%{chromium_path}/locales/ %ifarch x86_64 i686 aarch64 cp -a libvk_swiftshader.so %{buildroot}%{chromium_path} strip %{buildroot}%{chromium_path}/libvk_swiftshader.so @@ -1429,7 +1422,7 @@ pushd %{builddir}
# chromedriver cp -a chromedriver %{buildroot}%{chromium_path}/chromedriver - ln -s ../%{chromium_path}/chromedriver %{buildroot}%{_bindir}/chromedriver + ln -s ..%{chromium_path}/chromedriver %{buildroot}%{_bindir}/chromedriver
%if %{build_remoting} # Remote desktop bits @@ -1440,13 +1433,14 @@ popd %if %{build_remoting} pushd %{remotingbuilddir} # Hey, there is a library now. - cp -a libremoting_core.so* %{buildroot}%{crd_path}/ + cp -a libremoting_core.so %{buildroot}%{crd_path}/ strip %{buildroot}%{crd_path}/libremoting_core.so
# See remoting/host/installer/linux/Makefile for logic + mkdir -p %{buildroot}%{crd_path}/remoting_locales cp -a remoting_native_messaging_host %{buildroot}%{crd_path}/native-messaging-host cp -a remote_assistance_host %{buildroot}%{crd_path}/remote-assistance-host - cp -a remoting_locales %{buildroot}%{crd_path}/ + cp -a remoting_locales/*.pak %{buildroot}%{crd_path}/remoting_locales/ cp -a remoting_me2me_host %{buildroot}%{crd_path}/chrome-remote-desktop-host cp -a remoting_start_host %{buildroot}%{crd_path}/start-host cp -a remoting_user_session %{buildroot}%{crd_path}/user-session @@ -1608,69 +1602,69 @@ getent group chrome-remote-desktop >/dev/null || groupadd -r chrome-remote-deskt %{chromium_path}/vk_swiftshader_icd.json %endif %dir %{chromium_path}/locales/ -%lang(af) %{chromium_path}/locales/af.pak* -%lang(am) %{chromium_path}/locales/am.pak* -%lang(ar) %{chromium_path}/locales/ar.pak* -%lang(bg) %{chromium_path}/locales/bg.pak* -%lang(bn) %{chromium_path}/locales/bn.pak* -%lang(ca) %{chromium_path}/locales/ca.pak* -%lang(cs) %{chromium_path}/locales/cs.pak* -%lang(da) %{chromium_path}/locales/da.pak* -%lang(de) %{chromium_path}/locales/de.pak* -%lang(el) %{chromium_path}/locales/el.pak* -%lang(en_GB) %{chromium_path}/locales/en-GB.pak* +%lang(af) %{chromium_path}/locales/af.pak +%lang(am) %{chromium_path}/locales/am.pak +%lang(ar) %{chromium_path}/locales/ar.pak +%lang(bg) %{chromium_path}/locales/bg.pak +%lang(bn) %{chromium_path}/locales/bn.pak +%lang(ca) %{chromium_path}/locales/ca.pak +%lang(cs) %{chromium_path}/locales/cs.pak +%lang(da) %{chromium_path}/locales/da.pak +%lang(de) %{chromium_path}/locales/de.pak +%lang(el) %{chromium_path}/locales/el.pak +%lang(en_GB) %{chromium_path}/locales/en-GB.pak # Chromium _ALWAYS_ needs en-US.pak as a fallback # This means we cannot apply the lang code here. # Otherwise, it is filtered out on install. -%{chromium_path}/locales/en-US.pak* -%lang(es) %{chromium_path}/locales/es.pak* -%lang(es) %{chromium_path}/locales/es-419.pak* -%lang(et) %{chromium_path}/locales/et.pak* -%lang(fa) %{chromium_path}/locales/fa.pak* -%lang(fi) %{chromium_path}/locales/fi.pak* -%lang(fil) %{chromium_path}/locales/fil.pak* -%lang(fr) %{chromium_path}/locales/fr.pak* -%lang(gu) %{chromium_path}/locales/gu.pak* -%lang(he) %{chromium_path}/locales/he.pak* -%lang(hi) %{chromium_path}/locales/hi.pak* -%lang(hr) %{chromium_path}/locales/hr.pak* -%lang(hu) %{chromium_path}/locales/hu.pak* -%lang(id) %{chromium_path}/locales/id.pak* -%lang(it) %{chromium_path}/locales/it.pak* -%lang(ja) %{chromium_path}/locales/ja.pak* -%lang(kn) %{chromium_path}/locales/kn.pak* -%lang(ko) %{chromium_path}/locales/ko.pak* -%lang(lt) %{chromium_path}/locales/lt.pak* -%lang(lv) %{chromium_path}/locales/lv.pak* -%lang(ml) %{chromium_path}/locales/ml.pak* -%lang(mr) %{chromium_path}/locales/mr.pak* -%lang(ms) %{chromium_path}/locales/ms.pak* -%lang(nb) %{chromium_path}/locales/nb.pak* -%lang(nl) %{chromium_path}/locales/nl.pak* -%lang(pl) %{chromium_path}/locales/pl.pak* -%lang(pt_BR) %{chromium_path}/locales/pt-BR.pak* -%lang(pt_PT) %{chromium_path}/locales/pt-PT.pak* -%lang(ro) %{chromium_path}/locales/ro.pak* -%lang(ru) %{chromium_path}/locales/ru.pak* -%lang(sk) %{chromium_path}/locales/sk.pak* -%lang(sl) %{chromium_path}/locales/sl.pak* -%lang(sr) %{chromium_path}/locales/sr.pak* -%lang(sv) %{chromium_path}/locales/sv.pak* -%lang(sw) %{chromium_path}/locales/sw.pak* -%lang(ta) %{chromium_path}/locales/ta.pak* -%lang(te) %{chromium_path}/locales/te.pak* -%lang(th) %{chromium_path}/locales/th.pak* -%lang(tr) %{chromium_path}/locales/tr.pak* -%lang(uk) %{chromium_path}/locales/uk.pak* -%lang(ur) %{chromium_path}/locales/ur.pak* -%lang(vi) %{chromium_path}/locales/vi.pak* -%lang(zh_CN) %{chromium_path}/locales/zh-CN.pak* -%lang(zh_TW) %{chromium_path}/locales/zh-TW.pak* +%{chromium_path}/locales/en-US.pak +%lang(es) %{chromium_path}/locales/es.pak +%lang(es) %{chromium_path}/locales/es-419.pak +%lang(et) %{chromium_path}/locales/et.pak +%lang(fa) %{chromium_path}/locales/fa.pak +%lang(fi) %{chromium_path}/locales/fi.pak +%lang(fil) %{chromium_path}/locales/fil.pak +%lang(fr) %{chromium_path}/locales/fr.pak +%lang(gu) %{chromium_path}/locales/gu.pak +%lang(he) %{chromium_path}/locales/he.pak +%lang(hi) %{chromium_path}/locales/hi.pak +%lang(hr) %{chromium_path}/locales/hr.pak +%lang(hu) %{chromium_path}/locales/hu.pak +%lang(id) %{chromium_path}/locales/id.pak +%lang(it) %{chromium_path}/locales/it.pak +%lang(ja) %{chromium_path}/locales/ja.pak +%lang(kn) %{chromium_path}/locales/kn.pak +%lang(ko) %{chromium_path}/locales/ko.pak +%lang(lt) %{chromium_path}/locales/lt.pak +%lang(lv) %{chromium_path}/locales/lv.pak +%lang(ml) %{chromium_path}/locales/ml.pak +%lang(mr) %{chromium_path}/locales/mr.pak +%lang(ms) %{chromium_path}/locales/ms.pak +%lang(nb) %{chromium_path}/locales/nb.pak +%lang(nl) %{chromium_path}/locales/nl.pak +%lang(pl) %{chromium_path}/locales/pl.pak +%lang(pt_BR) %{chromium_path}/locales/pt-BR.pak +%lang(pt_PT) %{chromium_path}/locales/pt-PT.pak +%lang(ro) %{chromium_path}/locales/ro.pak +%lang(ru) %{chromium_path}/locales/ru.pak +%lang(sk) %{chromium_path}/locales/sk.pak +%lang(sl) %{chromium_path}/locales/sl.pak +%lang(sr) %{chromium_path}/locales/sr.pak +%lang(sv) %{chromium_path}/locales/sv.pak +%lang(sw) %{chromium_path}/locales/sw.pak +%lang(ta) %{chromium_path}/locales/ta.pak +%lang(te) %{chromium_path}/locales/te.pak +%lang(th) %{chromium_path}/locales/th.pak +%lang(tr) %{chromium_path}/locales/tr.pak +%lang(uk) %{chromium_path}/locales/uk.pak +%lang(ur) %{chromium_path}/locales/ur.pak +%lang(vi) %{chromium_path}/locales/vi.pak +%lang(zh_CN) %{chromium_path}/locales/zh-CN.pak +%lang(zh_TW) %{chromium_path}/locales/zh-TW.pak # These are psuedolocales, not real ones. # They only get generated when is_official_build=false %if ! %{official_build} -%{chromium_path}/locales/ar-XB.pak* -%{chromium_path}/locales/en-XA.pak* +%{chromium_path}/locales/ar-XB.pak +%{chromium_path}/locales/en-XA.pak %endif
%if %{build_headless}
commit 3d21a3491ae8c085e9121cffb93615fbefe134eb Author: Than Ngo than@redhat.com Date: Thu Dec 29 18:10:49 2022 +0100
drop support of python2
diff --git a/chromium-71.0.3578.98-py2-bootstrap.patch b/chromium-71.0.3578.98-py2-bootstrap.patch deleted file mode 100644 index d575dff..0000000 --- a/chromium-71.0.3578.98-py2-bootstrap.patch +++ /dev/null @@ -1,33 +0,0 @@ -diff -up chromium-71.0.3578.98/third_party/catapult/common/py_vulcanize/py_vulcanize/generate.py.py2 chromium-71.0.3578.98/third_party/catapult/common/py_vulcanize/py_vulcanize/generate.py ---- chromium-71.0.3578.98/third_party/catapult/common/py_vulcanize/py_vulcanize/generate.py.py2 2018-12-12 17:02:58.000000000 -0500 -+++ chromium-71.0.3578.98/third_party/catapult/common/py_vulcanize/py_vulcanize/generate.py 2018-12-14 11:48:22.150229631 -0500 -@@ -58,7 +58,7 @@ def _MinifyJS(input_js): - - with tempfile.NamedTemporaryFile() as _: - args = [ -- 'python', -+ 'python2', - rjsmin_path - ] - p = subprocess.Popen(args, -@@ -177,7 +177,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 -up chromium-71.0.3578.98/tools/gn/bootstrap/bootstrap.py.py2 chromium-71.0.3578.98/tools/gn/bootstrap/bootstrap.py ---- chromium-71.0.3578.98/tools/gn/bootstrap/bootstrap.py.py2 2018-12-14 11:48:22.155229522 -0500 -+++ chromium-71.0.3578.98/tools/gn/bootstrap/bootstrap.py 2018-12-14 11:49:31.043728244 -0500 -@@ -93,7 +93,7 @@ def main(argv): - if not options.debug: - gn_gen_args += ' is_debug=false' - subprocess.check_call([ -- gn_path, 'gen', out_dir, -+ gn_path, 'gen', out_dir, ' --script-executable=/usr/bin/python2', - '--args=%s' % gn_gen_args, "--root=" + SRC_ROOT - ]) - diff --git a/chromium-75.0.3770.80-vaapi-libva1-compatibility.patch b/chromium-75.0.3770.80-vaapi-libva1-compatibility.patch deleted file mode 100644 index dc0bfcb..0000000 --- a/chromium-75.0.3770.80-vaapi-libva1-compatibility.patch +++ /dev/null @@ -1,14 +0,0 @@ -diff -up chromium-75.0.3770.80/media/gpu/vaapi/vaapi_mjpeg_decode_accelerator.cc.va1compat chromium-75.0.3770.80/media/gpu/vaapi/vaapi_mjpeg_decode_accelerator.cc ---- chromium-75.0.3770.80/media/gpu/vaapi/vaapi_mjpeg_decode_accelerator.cc.va1compat 2019-06-05 11:35:57.274466969 -0400 -+++ chromium-75.0.3770.80/media/gpu/vaapi/vaapi_mjpeg_decode_accelerator.cc 2019-06-05 11:36:17.201067326 -0400 -@@ -39,6 +39,10 @@ enum VAJDADecoderFailure { - VAJDA_DECODER_FAILURES_MAX, - }; - -+#ifndef VA_FOURCC_I420 -+#define VA_FOURCC_I420 VA_FOURCC('I', '4', '2', '0') -+#endif -+ - static void ReportToVAJDADecoderFailureUMA(VAJDADecoderFailure failure) { - UMA_HISTOGRAM_ENUMERATION("Media.VAJDA.DecoderFailure", failure, - VAJDA_DECODER_FAILURES_MAX + 1); diff --git a/chromium-91.0.4472.77-aarch64-cxxflags-addition.patch b/chromium-91.0.4472.77-aarch64-cxxflags-addition.patch deleted file mode 100644 index 0e2e5cd..0000000 --- a/chromium-91.0.4472.77-aarch64-cxxflags-addition.patch +++ /dev/null @@ -1,14 +0,0 @@ -diff -up chromium-91.0.4472.77/build/config/compiler/BUILD.gn.aarch-cxxflags chromium-91.0.4472.77/build/config/compiler/BUILD.gn ---- chromium-91.0.4472.77/build/config/compiler/BUILD.gn.aarch-cxxflags 2021-06-02 12:58:21.998750145 -0400 -+++ chromium-91.0.4472.77/build/config/compiler/BUILD.gn 2021-06-02 12:59:29.762092189 -0400 -@@ -1511,6 +1511,10 @@ config("default_warnings") { - cflags += [ "-Wno-psabi" ] - } - -+ if (current_cpu == "arm64" && !is_clang) { -+ cflags_cc += [ "-flax-vector-conversions" ] -+ } -+ - if (!is_clang) { - cflags_cc += [ - # See comment for -Wno-c++11-narrowing. diff --git a/chromium.spec b/chromium.spec index c93d7d5..109247d 100644 --- a/chromium.spec +++ b/chromium.spec @@ -33,9 +33,6 @@ # This doesn't work and it doesn't even build as of Chromium 83 %global build_remoting 1
-# This is finally possible with Chromium 93 -%global build_with_python3 1 - # set nodejs_version %global nodejs_version v16.17.0
@@ -52,15 +49,11 @@ %global toolset gcc-toolset %endif
-%if 0%{?build_with_python3} %if 0%{?rhel} == 7 %global chromium_pybin /usr/bin/python3 %else %global chromium_pybin %{__python3} %endif -%else -%global chromium_pybin %{__python2} -%endif
# We'd like to always have this on... %global use_vaapi 1 @@ -246,11 +239,7 @@ Patch7: chromium-71.0.3578.98-widevine-r3.patch Patch8: chromium-100.0.4896.60-widevine-other-locations.patch
# Tell bootstrap.py to always use the version of Python we specify -%if 0%{?build_with_python3} Patch11: chromium-93.0.4577.63-py3-bootstrap.patch -%else -Patch11: chromium-92.0.4515.107-py2-bootstrap.patch -%endif
# Add "Fedora" to the user agent string Patch12: chromium-101.0.4951.41-fedora-user-agent.patch @@ -589,7 +578,7 @@ BuildRequires: libxslt-devel BuildRequires: libxshmfence-devel
# Same here, it seems. -# BuildRequires: libyuv-devel +# BuildRequires: libyuv-devel BuildRequires: mesa-libGL-devel
%if %{bundleopus} @@ -607,15 +596,10 @@ BuildRequires: pkgconfig(gtk+-3.0) BuildRequires: pkgconfig(gtk+-2.0) %endif
-%if %{build_with_python3} BuildRequires: python3-devel BuildRequires: python3-zipp -%else -BuildRequires: python2-devel -BuildRequires: python-zipp -%endif +BuildRequires: python3-simplejson
-%if 0%{?build_with_python3} %if 0%{?bundlepylibs} # Using bundled bits, do nothing. %else @@ -626,32 +610,10 @@ BuildRequires: python3-markupsafe BuildRequires: python3-ply %else BuildRequires: python-beautifulsoup4 -BuildRequires: python-BeautifulSoup BuildRequires: python-html5lib BuildRequires: python-markupsafe BuildRequires: python-ply %endif -BuildRequires: python3-simplejson -%endif -%else -%if 0%{?bundlepylibs} -# Using bundled bits, do nothing. -%else -%if 0%{?fedora} -BuildRequires: python2-beautifulsoup4 -BuildRequires: python2-beautifulsoup -BuildRequires: python2-html5lib -BuildRequires: python2-markupsafe -BuildRequires: python2-ply -%else -BuildRequires: python-beautifulsoup4 -BuildRequires: python-BeautifulSoup -BuildRequires: python-html5lib -BuildRequires: python-markupsafe -BuildRequires: python-ply -%endif -BuildRequires: python2-simplejson -%endif %endif
%if 0%{?bundlere2} @@ -911,11 +873,7 @@ Requires(post): systemd Requires(preun): systemd Requires(postun): systemd Requires: xorg-x11-server-Xvfb -%if 0%{?build_with_python3} Requires: python3-psutil -%else -Requires: python2-psutil -%endif Requires: chromium-common%{_isa} = %{version}-%{release} Summary: Remote desktop support for google-chrome & chromium
@@ -955,10 +913,7 @@ udev. %patch6 -p1 -b .nounrar %patch7 -p1 -b .widevine-hack %patch8 -p1 -b .widevine-other-locations - -%if 0%{?build_with_python3} %patch11 -p1 -b .py3 -%endif
# Short term fixes (usually gcc and backports) %patch51 -p1 -b .gcc-remoting-constexpr @@ -975,7 +930,6 @@ udev. %patch61 -p1 -b .system-minizip %endif
-# %%patch62 -p1 -b .update-wayland-client-core %patch65 -p1 -b .java-only-allowed %patch67 -p1 -b .remoting-cstring %patch68 -p1 -b .i686-textrels @@ -1040,11 +994,7 @@ udev.
# Change shebang in all relevant files in this directory and all subdirectories # See `man find` for how the `-exec command {} +` syntax works -%if 0%{?build_with_python3} find -type f -exec sed -iE '1s=^#! */usr/bin/(python|env python)[23]?=#!%{__python3}=' {} + -%else -find -type f -exec sed -iE '1s=^#! */usr/bin/(python|env python)[23]?=#!%{__python2}=' {} + -%endif
# Unpack fonts pushd third_party/test_fonts @@ -1161,10 +1111,6 @@ sed -i 's|/opt/google/chrome-remote-desktop|%{crd_path}|g' remoting/host/setup/d sed -i 's|-g2|-g0|g' build/config/compiler/BUILD.gn
%build -# utf8 issue on epel7 -# Internal parsing error 'ascii' codec can't decode byte 0xe2 in position 474: ordinal not in range(128) -export LANG=C.UTF-8 - # Turning the buildsystem up to 11. ulimit -n 4096
@@ -1189,6 +1135,8 @@ export READELF="eu-readelf"
# enable toolset on el7 %if 0%{?rhel} == 7 +# utf8 issue on epel7, Internal parsing error 'ascii' codec can't decode byte 0xe2 in position 474: ordinal not in range(128) +export LANG=en_US.UTF-8 %if 0%{?clang} . /opt/rh/llvm-toolset-%{llvm_toolset_version}/enable %else @@ -1363,13 +1311,8 @@ build/linux/unbundle/replace_gn_files.py --system-libraries \ flac
# Check that there is no system 'google' module, shadowing bundled ones: -%if 0%{?build_with_python3} if python3 -c 'import google ; print google.__path__' 2> /dev/null ; then \ echo "Python 3 'google' module is defined, this will shadow modules of this build"; \ -%else -if python2 -c 'import google ; print google.__path__' 2> /dev/null ; then \ - echo "Python 2 'google' module is defined, this will shadow modules of this build"; \ -%endif exit 1 ; \ fi
commit 3cd5befbda9a87abc6ea333e50a5708b2f374f47 Author: Than Ngo than@redhat.com Date: Wed Dec 28 22:08:28 2022 +0100
drop build dependency on python3-importlib-metadata fix symlinks
diff --git a/chromium-105.0.5195.125-arm64-gcc-fix.patch b/chromium-105.0.5195.125-arm64-gcc-fix.patch deleted file mode 100644 index d9ad16a..0000000 --- a/chromium-105.0.5195.125-arm64-gcc-fix.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff -up chromium-105.0.5195.125/v8/BUILD.gn.arm64-gcc-fix chromium-105.0.5195.125/v8/BUILD.gn ---- chromium-105.0.5195.125/v8/BUILD.gn.arm64-gcc-fix 2022-09-20 18:12:30.766293126 +0000 -+++ chromium-105.0.5195.125/v8/BUILD.gn 2022-09-20 18:13:04.376435347 +0000 -@@ -1095,7 +1095,7 @@ config("toolchain") { - defines += [ "V8_TARGET_ARCH_ARM64" ] - if (current_cpu == "arm64") { - # This will enable PAC+BTI in code generation and static code. -- if (v8_control_flow_integrity && -+ if (v8_control_flow_integrity && is_clang && - (!build_with_chromium || arm_control_flow_integrity == "standard")) { - cflags += [ "-mbranch-protection=standard" ] - asmflags = [ "-mmark-bti-property" ] diff --git a/chromium-108-el7-drop-python-importlib-metadata.patch b/chromium-108-drop-python-importlib-metadata.patch similarity index 100% rename from chromium-108-el7-drop-python-importlib-metadata.patch rename to chromium-108-drop-python-importlib-metadata.patch diff --git a/chromium.spec b/chromium.spec index 2271496..c93d7d5 100644 --- a/chromium.spec +++ b/chromium.spec @@ -313,8 +313,8 @@ Patch86: chromium-94.0.4606.81-clang-format.patch # This is only in Fedora 37+ Patch87: chromium-99.0.4844.84-markdownsafe-soft_str.patch
-# There is a corner case where v8 tries to pass a clang only flag without checking is_clang -Patch88: chromium-105.0.5195.125-arm64-gcc-fix.patch +# drop build dependency on python3-importlib-metadata +Patch88: chromium-108-drop-python-importlib-metadata.patch
# Fix extra qualification error Patch97: chromium-107.0.5304.110-remoting-extra-qualification.patch @@ -331,9 +331,6 @@ Patch100: chromium-108-el7-include-fcntl-memfd.patch # add define HAVE_STRNDUP on epel7 Patch101: chromium-108-el7-wayland-strndup-error.patch
-# drop build dependency of python3-importlib-metadata on el7 -Patch102: chromium-108-el7-drop-python-importlib-metadata.patch - # Work around old and missing headers on EPEL7 Patch103: chromium-99.0.4844.51-epel7-old-headers-workarounds.patch
@@ -613,11 +610,9 @@ BuildRequires: pkgconfig(gtk+-2.0) %if %{build_with_python3} BuildRequires: python3-devel BuildRequires: python3-zipp -BuildRequires: python3-importlib-metadata %else BuildRequires: python2-devel BuildRequires: python-zipp -BuildRequires: python-importlib-metadata %endif
%if 0%{?build_with_python3} @@ -996,7 +991,7 @@ udev. %patch87 -p1 -b .markdownsafe-soft_str %endif
-# %%patch88 -p1 -b .arm64-gcc-fix +%patch88 -p1 -b .drop-build-dep-on-python3-importlib-metadata %patch97 -p1 -b .remoting-extra-qualification %patch98 -p1 -b .InkDropHost-crash %patch99 -p1 -b .enable-WebRTCPipeWireCapturer-byDefault @@ -1019,8 +1014,6 @@ udev. %if 0%{?rhel} == 7 %patch100 -p1 -b .el7-memfd-fcntl-include %patch101 -p1 -b .wayland-strndup-error -# drop BR on python3-importlib-metadata -# %%patch102 -p1 -b .drop-python-importlib-metadata %patch103 -p1 -b .epel7-header-workarounds %patch104 -p1 -b .el7cups %patch105 -p1 -b .el7-old-libdrm @@ -1439,8 +1432,7 @@ sed -i "s|@@CHROMIUM_BROWSER_CHANNEL@@|$CHROMIUM_BROWSER_CHANNEL|g" %{buildroot} sed -i "s|@@EXTRA_FLAGS@@|$EXTRA_FLAGS|g" %{buildroot}%{chromium_path}/%{chromium_browser_channel}.sh %endif
- -ln -sr %{chromium_path}/%{chromium_browser_channel}.sh %{buildroot}%{_bindir}/%{chromium_browser_channel} +ln -s ../%{chromium_path}/%{chromium_browser_channel}.sh %{buildroot}%{_bindir}/%{chromium_browser_channel} mkdir -p %{buildroot}%{_mandir}/man1/
pushd %{builddir} @@ -1494,7 +1486,7 @@ pushd %{builddir}
# chromedriver cp -a chromedriver %{buildroot}%{chromium_path}/chromedriver - ln -sr %{chromium_path}/chromedriver %{buildroot}%{_bindir}/chromedriver + ln -s ../%{chromium_path}/chromedriver %{buildroot}%{_bindir}/chromedriver
%if %{build_remoting} # Remote desktop bits
commit 754df0a7629bbbb9c501eac87d95b5688feee266 Author: Than Ngo than@redhat.com Date: Wed Dec 28 20:34:01 2022 +0100
set use_all_cpus to 0 to avoid resource temporarily unavailable
diff --git a/chromium.spec b/chromium.spec index 5cacd71..2271496 100644 --- a/chromium.spec +++ b/chromium.spec @@ -7,7 +7,7 @@
# This flag is so I can build things very fast on a giant system. # Enabling this in koji causes aarch64 builds to timeout indefinitely. -%global use_all_cpus 1 +%global use_all_cpus 0
%if %{use_all_cpus} %global numjobs %{_smp_build_ncpus} @@ -1019,7 +1019,8 @@ udev. %if 0%{?rhel} == 7 %patch100 -p1 -b .el7-memfd-fcntl-include %patch101 -p1 -b .wayland-strndup-error -%patch102 -p1 -b .drop-python-importlib-metadata +# drop BR on python3-importlib-metadata +# %%patch102 -p1 -b .drop-python-importlib-metadata %patch103 -p1 -b .epel7-header-workarounds %patch104 -p1 -b .el7cups %patch105 -p1 -b .el7-old-libdrm @@ -1169,7 +1170,7 @@ sed -i 's|-g2|-g0|g' build/config/compiler/BUILD.gn %build # utf8 issue on epel7 # Internal parsing error 'ascii' codec can't decode byte 0xe2 in position 474: ordinal not in range(128) -export LC_ALL=en_US.UTF-8 +export LANG=C.UTF-8
# Turning the buildsystem up to 11. ulimit -n 4096
commit 35c60c80e15dfc8778102ca94031058ae4e9fc1b Author: Than Ngo than@redhat.com Date: Wed Dec 28 19:05:33 2022 +0100
added missing patches
diff --git a/chromium-107-ffmpeg-duration.patch b/chromium-107-ffmpeg-duration.patch new file mode 100644 index 0000000..ee01cd9 --- /dev/null +++ b/chromium-107-ffmpeg-duration.patch @@ -0,0 +1,16 @@ +diff -up chromium-107.0.5304.121/media/filters/audio_file_reader.cc.me chromium-107.0.5304.121/media/filters/audio_file_reader.cc +--- chromium-107.0.5304.121/media/filters/audio_file_reader.cc.me 2022-12-17 08:27:12.204753071 +0100 ++++ chromium-107.0.5304.121/media/filters/audio_file_reader.cc 2022-12-17 08:28:40.908211808 +0100 +@@ -243,10 +243,10 @@ bool AudioFileReader::OnNewFrame( + // silence from being output. In the case where we are also discarding some + // portion of the packet (as indicated by a negative pts), we further want to + // adjust the duration downward by however much exists before zero. +- if (audio_codec_ == AudioCodec::kAAC && frame->duration) { ++ if (audio_codec_ == AudioCodec::kAAC && frame->pkt_duration) { + const base::TimeDelta pkt_duration = ConvertFromTimeBase( + glue_->format_context()->streams[stream_index_]->time_base, +- frame->duration + std::min(static_cast<int64_t>(0), frame->pts)); ++ frame->pkt_duration + std::min(static_cast<int64_t>(0), frame->pts)); + const base::TimeDelta frame_duration = + base::Seconds(frames_read / static_cast<double>(sample_rate_)); + diff --git a/chromium-107-proprietary-codecs.patch b/chromium-107-proprietary-codecs.patch new file mode 100644 index 0000000..94b95b6 --- /dev/null +++ b/chromium-107-proprietary-codecs.patch @@ -0,0 +1,16 @@ +diff -up chromium-107.0.5304.121/media/BUILD.gn.me chromium-107.0.5304.121/media/BUILD.gn +--- chromium-107.0.5304.121/media/BUILD.gn.me 2022-12-17 12:35:44.546779129 +0100 ++++ chromium-107.0.5304.121/media/BUILD.gn 2022-12-17 12:35:59.296047028 +0100 +@@ -64,12 +64,6 @@ buildflag_header("media_buildflags") { + } + } + +-if (proprietary_codecs && media_use_ffmpeg) { +- assert( +- ffmpeg_branding != "Chromium", +- "proprietary codecs and ffmpeg_branding set to Chromium are incompatible") +-} +- + # Common configuration for targets in the media directory; these must not be + # exported since things like USE_NEON and USE_CRAS have different meanings + # elsewhere in the code base.
commit 3aaab3062e93aad413dd75b5d8f1b9bb8c296731 Author: Than Ngo than@redhat.com Date: Wed Dec 28 18:04:46 2022 +0100
update to 108.0.5359.124 switch to clang
diff --git a/chromium-102.0.5005.115-el7-memfd-include.patch b/chromium-102.0.5005.115-el7-memfd-include.patch deleted file mode 100644 index 8724909..0000000 --- a/chromium-102.0.5005.115-el7-memfd-include.patch +++ /dev/null @@ -1,11 +0,0 @@ -diff -up chromium-102.0.5005.115/v8/src/base/platform/platform-posix.cc.el7-memfd-include chromium-102.0.5005.115/v8/src/base/platform/platform-posix.cc ---- chromium-102.0.5005.115/v8/src/base/platform/platform-posix.cc.el7-memfd-include 2022-06-15 10:52:49.553817031 -0400 -+++ chromium-102.0.5005.115/v8/src/base/platform/platform-posix.cc 2022-06-15 10:56:15.775173013 -0400 -@@ -56,6 +56,7 @@ - - #if V8_OS_LINUX - #include <sys/prctl.h> // for prctl -+#include <linux/memfd.h> // for MFD_CLOEXEC - #endif - - #if defined(V8_OS_FUCHSIA) diff --git a/chromium-107.0.5304.110-neon_2_sse.patch b/chromium-107.0.5304.110-neon_2_sse.patch deleted file mode 100644 index 689d1c1..0000000 --- a/chromium-107.0.5304.110-neon_2_sse.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff -up iridium-browser-2022.11.107/third_party/neon_2_sse/src/NEON_2_SSE.h.me iridium-browser-2022.11.107/third_party/neon_2_sse/src/NEON_2_SSE.h ---- iridium-browser-2022.11.107/third_party/neon_2_sse/src/NEON_2_SSE.h.me 2022-11-18 22:17:57.883182823 +0100 -+++ iridium-browser-2022.11.107/third_party/neon_2_sse/src/NEON_2_SSE.h 2022-11-18 22:18:51.883143167 +0100 -@@ -2292,7 +2292,7 @@ _NEON2SSESTORAGE float64x2_t vsqrtq_f64( - // the following macros solve the problem of the "immediate parameters requirement" for some x86 intrinsics. - // we need it to compile the code unless the "Intrinsic parameter must be an immediate value" error is our goal - // --#if ( defined (__INTEL_COMPILER) || defined (__GNUC__) && !defined(__llvm__) ) -+#if ( defined (__INTEL_COMPILER) && !defined(__llvm__) ) - # define _MM_ALIGNR_EPI8 _mm_alignr_epi8 - # define _MM_EXTRACT_EPI16 (int16_t) _mm_extract_epi16 - # define _MM_INSERT_EPI16 _mm_insert_epi16 diff --git a/chromium-107.0.5304.110-wayland-fcntl.patch b/chromium-107.0.5304.110-wayland-fcntl.patch deleted file mode 100644 index 7cd2f03..0000000 --- a/chromium-107.0.5304.110-wayland-fcntl.patch +++ /dev/null @@ -1,17 +0,0 @@ -diff -up iridium-browser-2022.11.107/third_party/wayland/src/src/wayland-shm.c.me iridium-browser-2022.11.107/third_party/wayland/src/src/wayland-shm.c ---- iridium-browser-2022.11.107/third_party/wayland/src/src/wayland-shm.c.me 2022-11-18 12:07:56.724329365 +0100 -+++ iridium-browser-2022.11.107/third_party/wayland/src/src/wayland-shm.c 2022-11-18 12:18:38.009916441 +0100 -@@ -45,6 +45,13 @@ - #include <errno.h> - #include <fcntl.h> - -+#ifndef F_GET_SEALS -+#define F_GET_SEALS 1034 /* Get seals for file. */ -+#endif -+#ifndef F_SEAL_SHRINK -+#define F_SEAL_SHRINK 0x0002 /* Prevent file from shrinking. */ -+#endif -+ - #include "wayland-util.h" - #include "wayland-private.h" - #include "wayland-server.h" diff --git a/chromium-98.0.4758.80-EnumTable-crash.patch b/chromium-108-EnumTable-crash.patch similarity index 88% rename from chromium-98.0.4758.80-EnumTable-crash.patch rename to chromium-108-EnumTable-crash.patch index 68459ba..661ec33 100644 --- a/chromium-98.0.4758.80-EnumTable-crash.patch +++ b/chromium-108-EnumTable-crash.patch @@ -1,6 +1,7 @@ -diff -up chromium-98.0.4758.80/components/cast_channel/enum_table.h.EnumTable-crash chromium-98.0.4758.80/components/cast_channel/enum_table.h ---- chromium-98.0.4758.80/components/cast_channel/enum_table.h.EnumTable-crash 2022-02-01 00:41:47.000000000 +0000 -+++ chromium-98.0.4758.80/components/cast_channel/enum_table.h 2022-02-02 18:54:23.096214186 +0000 +diff --git a/components/media_router/common/providers/cast/channel/enum_table.h b/components/media_router/common/providers/cast/channel/enum_table.h +index 842553a..89de703 100644 +--- a/components/media_router/common/providers/cast/channel/enum_table.h ++++ b/components/media_router/common/providers/cast/channel/enum_table.h @@ -8,6 +8,7 @@ #include <cstdint> #include <cstring> diff --git a/chromium-108-el7-drop-python-importlib-metadata.patch b/chromium-108-el7-drop-python-importlib-metadata.patch new file mode 100644 index 0000000..dbba0c6 --- /dev/null +++ b/chromium-108-el7-drop-python-importlib-metadata.patch @@ -0,0 +1,80 @@ +diff -up chromium-108.0.5359.124/third_party/mako/mako/mako/compat.py.drop-python-importlib-metadata chromium-108.0.5359.124/third_party/mako/mako/mako/compat.py +--- chromium-108.0.5359.124/third_party/mako/mako/mako/compat.py.drop-python-importlib-metadata 2022-12-14 01:40:09.000000000 +0100 ++++ chromium-108.0.5359.124/third_party/mako/mako/mako/compat.py 2022-12-28 14:07:33.761045114 +0100 +@@ -11,7 +11,6 @@ import sys + + win32 = sys.platform.startswith("win") + pypy = hasattr(sys, "pypy_version_info") +-py38 = sys.version_info >= (3, 8) + + ArgSpec = collections.namedtuple( + "ArgSpec", ["args", "varargs", "keywords", "defaults"] +@@ -60,17 +59,3 @@ def exception_as(): + + def exception_name(exc): + return exc.__class__.__name__ +- +- +-if py38: +- from importlib import metadata as importlib_metadata +-else: +- import importlib_metadata # noqa +- +- +-def importlib_metadata_get(group): +- ep = importlib_metadata.entry_points() +- if hasattr(ep, "select"): +- return ep.select(group=group) +- else: +- return ep.get(group, ()) +diff -up chromium-108.0.5359.124/third_party/mako/mako/mako/util.py.drop-python-importlib-metadata chromium-108.0.5359.124/third_party/mako/mako/mako/util.py +--- chromium-108.0.5359.124/third_party/mako/mako/mako/util.py.drop-python-importlib-metadata 2022-12-14 01:40:09.000000000 +0100 ++++ chromium-108.0.5359.124/third_party/mako/mako/mako/util.py 2022-12-28 14:07:33.761045114 +0100 +@@ -11,8 +11,6 @@ import os + import re + import timeit + +-from .compat import importlib_metadata_get +- + + def update_wrapper(decorated, fn): + decorated.__wrapped__ = fn +@@ -28,17 +26,17 @@ class PluginLoader: + def load(self, name): + if name in self.impls: + return self.impls[name]() ++ import pkg_resources + +- for impl in importlib_metadata_get(self.group): +- if impl.name == name: +- self.impls[name] = impl.load +- return impl.load() +- +- from mako import exceptions +- +- raise exceptions.RuntimeException( +- "Can't load plugin %s %s" % (self.group, name) +- ) ++ for impl in pkg_resources.iter_entry_points(self.group, name): ++ self.impls[name] = impl.load ++ return impl.load() ++ else: ++ from mako import exceptions ++ ++ raise exceptions.RuntimeException( ++ "Can't load plugin %s %s" % (self.group, name) ++ ) + + def register(self, name, modulepath, objname): + def load(): +diff -up chromium-108.0.5359.124/third_party/mako/mako/setup.cfg.drop-python-importlib-metadata chromium-108.0.5359.124/third_party/mako/mako/setup.cfg +--- chromium-108.0.5359.124/third_party/mako/mako/setup.cfg.drop-python-importlib-metadata 2022-12-28 14:07:33.761045114 +0100 ++++ chromium-108.0.5359.124/third_party/mako/mako/setup.cfg 2022-12-28 15:30:47.024152133 +0100 +@@ -33,7 +33,6 @@ python_requires = >=3.7 + zip_safe = false + install_requires = + MarkupSafe >= 0.9.2 +- importlib-metadata;python_version<"3.8" + + [options.packages.find] + exclude = diff --git a/chromium-108-el7-include-fcntl-memfd.patch b/chromium-108-el7-include-fcntl-memfd.patch new file mode 100644 index 0000000..bd2925b --- /dev/null +++ b/chromium-108-el7-include-fcntl-memfd.patch @@ -0,0 +1,36 @@ +diff -up chromium-108.0.5359.124/third_party/wayland/src/src/wayland-shm.c.me chromium-108.0.5359.124/third_party/wayland/src/src/wayland-shm.c +--- chromium-108.0.5359.124/third_party/wayland/src/src/wayland-shm.c.me 2022-12-24 11:08:03.212333476 +0100 ++++ chromium-108.0.5359.124/third_party/wayland/src/src/wayland-shm.c 2022-12-24 11:08:18.316606155 +0100 +@@ -44,7 +44,7 @@ + #include <signal.h> + #include <pthread.h> + #include <errno.h> +-#include <fcntl.h> ++#include <linux/fcntl.h> + + #include "wayland-os.h" + #include "wayland-util.h" +diff -up chromium-102.0.5005.115/v8/src/base/platform/platform-posix.cc.el7-memfd-include chromium-102.0.5005.115/v8/src/base/platform/platform-posix.cc +--- chromium-102.0.5005.115/v8/src/base/platform/platform-posix.cc.el7-memfd-include 2022-06-15 10:52:49.553817031 -0400 ++++ chromium-102.0.5005.115/v8/src/base/platform/platform-posix.cc 2022-06-15 10:56:15.775173013 -0400 +@@ -56,6 +56,7 @@ + + #if V8_OS_LINUX + #include <sys/prctl.h> // for prctl ++#include <linux/memfd.h> // for MFD_CLOEXEC + #endif + + #if defined(V8_OS_FUCHSIA) +diff -up iridium-browser-2022.12.108.1/third_party/wayland/src/cursor/os-compatibility.c.me iridium-browser-2022.12.108.1/third_party/wayland/src/cursor/os-compatibility.c +--- iridium-browser-2022.12.108.1/third_party/wayland/src/cursor/os-compatibility.c.me 2022-12-08 21:59:43.502200984 +0100 ++++ iridium-browser-2022.12.108.1/third_party/wayland/src/cursor/os-compatibility.c 2022-12-08 22:13:53.375653343 +0100 +@@ -29,7 +29,8 @@ + + #include <sys/types.h> + #include <unistd.h> +-#include <fcntl.h> ++#include <linux/fcntl.h> // for F_SEAL_SHRINK, F_ADD_SEALS, F_SEAL_SEAL ++#include <linux/memfd.h> // for MFD_CLOEXEC + #include <errno.h> + #include <signal.h> + #include <string.h> diff --git a/chromium-108-el7-wayland-strndup-error.patch b/chromium-108-el7-wayland-strndup-error.patch new file mode 100644 index 0000000..1147867 --- /dev/null +++ b/chromium-108-el7-wayland-strndup-error.patch @@ -0,0 +1,11 @@ +diff -up chromium-108.0.5359.124/third_party/wayland/src/src/scanner.c.me chromium-108.0.5359.124/third_party/wayland/src/src/scanner.c +--- chromium-108.0.5359.124/third_party/wayland/src/src/scanner.c.me 2022-12-27 16:14:22.507496575 +0100 ++++ chromium-108.0.5359.124/third_party/wayland/src/src/scanner.c 2022-12-27 16:35:17.617573610 +0100 +@@ -26,6 +26,7 @@ + */ + + #include "wayland-version.h" ++#include "config.h" // HAVE_STRNDUP + + #include <stdbool.h> + #include <stdio.h> diff --git a/chromium-108-enable-WebRTCPipeWireCapturer-byDefault.patch b/chromium-108-enable-WebRTCPipeWireCapturer-byDefault.patch new file mode 100644 index 0000000..a8bad1b --- /dev/null +++ b/chromium-108-enable-WebRTCPipeWireCapturer-byDefault.patch @@ -0,0 +1,12 @@ +diff -up chromium-108.0.5359.124/content/public/common/content_features.cc.me chromium-108.0.5359.124/content/public/common/content_features.cc +--- chromium-108.0.5359.124/content/public/common/content_features.cc.me 2022-12-24 11:02:56.417773922 +0100 ++++ chromium-108.0.5359.124/content/public/common/content_features.cc 2022-12-24 11:04:41.641696681 +0100 +@@ -1479,7 +1479,7 @@ BASE_FEATURE(kRetryGetVideoCaptureDevice + // Wayland display server. + BASE_FEATURE(kWebRtcPipeWireCapturer, + "WebRTCPipeWireCapturer", +- base::FEATURE_DISABLED_BY_DEFAULT); ++ base::FEATURE_ENABLED_BY_DEFAULT); + #endif // defined(WEBRTC_USE_PIPEWIRE) + + enum class VideoCaptureServiceConfiguration { diff --git a/chromium-95.0.4638.69-norar.patch b/chromium-108-norar.patch similarity index 55% rename from chromium-95.0.4638.69-norar.patch rename to chromium-108-norar.patch index ee8c255..f226f00 100644 --- a/chromium-95.0.4638.69-norar.patch +++ b/chromium-108-norar.patch @@ -1,6 +1,6 @@ -diff -up chromium-95.0.4638.69/chrome/common/safe_browsing/BUILD.gn.nounrar chromium-95.0.4638.69/chrome/common/safe_browsing/BUILD.gn ---- chromium-95.0.4638.69/chrome/common/safe_browsing/BUILD.gn.nounrar 2021-10-28 23:07:12.000000000 -0400 -+++ chromium-95.0.4638.69/chrome/common/safe_browsing/BUILD.gn 2021-11-12 11:33:52.691346496 -0500 +diff -up chromium-108.0.5359.124/chrome/common/safe_browsing/BUILD.gn.nounrar chromium-108.0.5359.124/chrome/common/safe_browsing/BUILD.gn +--- chromium-108.0.5359.124/chrome/common/safe_browsing/BUILD.gn.nounrar 2022-12-14 01:39:45.000000000 +0100 ++++ chromium-108.0.5359.124/chrome/common/safe_browsing/BUILD.gn 2022-12-24 13:15:57.877070764 +0100 @@ -58,39 +58,6 @@ if (safe_browsing_mode == 1) { public_deps = [ "//components/safe_browsing/core/common/proto:csd_proto" ] } @@ -41,27 +41,28 @@ diff -up chromium-95.0.4638.69/chrome/common/safe_browsing/BUILD.gn.nounrar chro if (is_linux || is_win) { source_set("document_analyzer") { sources = [ -@@ -189,7 +156,6 @@ source_set("safe_browsing") { +@@ -191,7 +158,6 @@ source_set("safe_browsing") { ":archive_analyzer_results", ":binary_feature_extractor", ":download_type_util", - ":rar_analyzer", "//components/safe_browsing/core/common", + "//third_party/lzma_sdk/google:seven_zip_reader", ] - -diff -up chromium-95.0.4638.69/chrome/common/safe_browsing/DEPS.nounrar chromium-95.0.4638.69/chrome/common/safe_browsing/DEPS ---- chromium-95.0.4638.69/chrome/common/safe_browsing/DEPS.nounrar 2021-11-12 11:30:02.629954310 -0500 -+++ chromium-95.0.4638.69/chrome/common/safe_browsing/DEPS 2021-11-12 11:34:16.732491978 -0500 -@@ -3,6 +3,5 @@ include_rules = [ +diff -up chromium-108.0.5359.124/chrome/common/safe_browsing/DEPS.nounrar chromium-108.0.5359.124/chrome/common/safe_browsing/DEPS +--- chromium-108.0.5359.124/chrome/common/safe_browsing/DEPS.nounrar 2022-12-24 12:49:52.621400599 +0100 ++++ chromium-108.0.5359.124/chrome/common/safe_browsing/DEPS 2022-12-24 13:16:21.551486489 +0100 +@@ -3,7 +3,6 @@ include_rules = [ "+components/safe_browsing/core/common", "+third_party/maldoca", "+third_party/protobuf", - "+third_party/unrar", "+third_party/zlib", + "+third_party/lzma_sdk/google", ] -diff -up chromium-95.0.4638.69/chrome/services/file_util/BUILD.gn.nounrar chromium-95.0.4638.69/chrome/services/file_util/BUILD.gn ---- chromium-95.0.4638.69/chrome/services/file_util/BUILD.gn.nounrar 2021-11-12 11:30:02.629954310 -0500 -+++ chromium-95.0.4638.69/chrome/services/file_util/BUILD.gn 2021-11-12 11:36:08.277168386 -0500 +diff -up chromium-108.0.5359.124/chrome/services/file_util/BUILD.gn.nounrar chromium-108.0.5359.124/chrome/services/file_util/BUILD.gn +--- chromium-108.0.5359.124/chrome/services/file_util/BUILD.gn.nounrar 2022-12-14 01:39:45.000000000 +0100 ++++ chromium-108.0.5359.124/chrome/services/file_util/BUILD.gn 2022-12-24 12:49:52.622400617 +0100 @@ -60,7 +60,6 @@ source_set("file_util") { deps += [ "//chrome/common/safe_browsing", @@ -70,10 +71,10 @@ diff -up chromium-95.0.4638.69/chrome/services/file_util/BUILD.gn.nounrar chromi ]
if (is_linux || is_win) { -diff -up chromium-95.0.4638.69/chrome/services/file_util/safe_archive_analyzer.cc.nounrar chromium-95.0.4638.69/chrome/services/file_util/safe_archive_analyzer.cc ---- chromium-95.0.4638.69/chrome/services/file_util/safe_archive_analyzer.cc.nounrar 2021-10-28 23:07:12.000000000 -0400 -+++ chromium-95.0.4638.69/chrome/services/file_util/safe_archive_analyzer.cc 2021-11-12 11:30:02.630954316 -0500 -@@ -45,10 +45,14 @@ void SafeArchiveAnalyzer::AnalyzeDmgFile +diff -up chromium-108.0.5359.124/chrome/services/file_util/safe_archive_analyzer.cc.nounrar chromium-108.0.5359.124/chrome/services/file_util/safe_archive_analyzer.cc +--- chromium-108.0.5359.124/chrome/services/file_util/safe_archive_analyzer.cc.nounrar 2022-12-24 12:49:52.622400617 +0100 ++++ chromium-108.0.5359.124/chrome/services/file_util/safe_archive_analyzer.cc 2022-12-24 13:18:43.477966285 +0100 +@@ -45,12 +45,16 @@ void SafeArchiveAnalyzer::AnalyzeDmgFile void SafeArchiveAnalyzer::AnalyzeRarFile(base::File rar_file, base::File temporary_file, AnalyzeRarFileCallback callback) { @@ -88,3 +89,5 @@ diff -up chromium-95.0.4638.69/chrome/services/file_util/safe_archive_analyzer.c + NOTREACHED(); +#endif } + + void SafeArchiveAnalyzer::AnalyzeSevenZipFile( diff --git a/chromium-108-vaapi-i686-fpermissive.patch b/chromium-108-vaapi-i686-fpermissive.patch new file mode 100644 index 0000000..3bd9b50 --- /dev/null +++ b/chromium-108-vaapi-i686-fpermissive.patch @@ -0,0 +1,22 @@ +--- chromium-108.0.5359.124/media/gpu/vaapi/BUILD.gn.orig 2022-12-14 01:39:52.992482000 +0100 ++++ chromium-108.0.5359.124/media/gpu/vaapi/BUILD.gn 2022-12-24 11:14:19.118033967 +0100 +@@ -14,6 +14,10 @@ + assert(is_linux || is_chromeos) + assert(use_vaapi) + ++config("vaapi_permissive") { ++ cflags = [ "-fpermissive" ] ++} ++ + generate_stubs("libva_stubs") { + extra_header = "va_stub_header.fragment" + sigs = [ "va.sigs" ] +@@ -138,6 +142,8 @@ + ] + } + ++ configs += [ ":vaapi_permissive" ] ++ + if (use_vaapi_x11) { + deps += [ "//ui/gfx/x" ] + sources += [ diff --git a/chromium-53-ffmpeg-no-deprecation-errors.patch b/chromium-53-ffmpeg-no-deprecation-errors.patch deleted file mode 100644 index d5e41e3..0000000 --- a/chromium-53-ffmpeg-no-deprecation-errors.patch +++ /dev/null @@ -1,22 +0,0 @@ ---- chromium-60.0.3112.40/build/linux/unbundle/ffmpeg.gn.ffmpeg-deprecation 2017-06-25 13:24:47.390218631 +0200 -+++ chromium-60.0.3112.40/build/linux/unbundle/ffmpeg.gn 2017-06-25 13:32:48.528583949 +0200 -@@ -19,6 +19,12 @@ - flags = [ "USE_SYSTEM_FFMPEG=true" ] - } - -+config("ffmpeg_deprecations") { -+ if (is_linux) { -+ cflags = [ "-Wno-error=deprecated-declarations" ] -+ } -+} -+ - shim_headers("ffmpeg_shim") { - root_path = "." - headers = [ -@@ -33,5 +39,5 @@ - ":ffmpeg_features", - ":ffmpeg_shim", - ] -- public_configs = [ ":system_ffmpeg" ] -+ public_configs = [ ":system_ffmpeg", ":ffmpeg_deprecations" ] - } diff --git a/chromium-86.0.4240.75-vaapi-i686-fpermissive.patch b/chromium-86.0.4240.75-vaapi-i686-fpermissive.patch deleted file mode 100644 index b902594..0000000 --- a/chromium-86.0.4240.75-vaapi-i686-fpermissive.patch +++ /dev/null @@ -1,23 +0,0 @@ -diff -up chromium-86.0.4240.75/media/gpu/vaapi/BUILD.gn.i686permissive chromium-86.0.4240.75/media/gpu/vaapi/BUILD.gn ---- chromium-86.0.4240.75/media/gpu/vaapi/BUILD.gn.i686permissive 2020-10-14 16:24:17.803206586 -0400 -+++ chromium-86.0.4240.75/media/gpu/vaapi/BUILD.gn 2020-10-14 16:24:59.212530721 -0400 -@@ -13,6 +13,10 @@ import("//ui/ozone/ozone.gni") - assert(is_linux || is_chromeos) - assert(use_vaapi) - -+config("vaapi_permissive") { -+ cflags = [ "-fpermissive" ] -+} -+ - generate_stubs("libva_stubs") { - extra_header = "va_stub_header.fragment" - sigs = [ "va.sigs" ] -@@ -121,6 +125,8 @@ source_set("vaapi") { - ] - } - -+ configs += [ ":vaapi_permissive" ] -+ - if (use_x11) { - deps += [ "//ui/gfx/x" ] - sources += [ diff --git a/chromium-96.0.4664.110-enable-WebRTCPipeWireCapturer-byDefault.patch b/chromium-96.0.4664.110-enable-WebRTCPipeWireCapturer-byDefault.patch deleted file mode 100644 index 9d22e71..0000000 --- a/chromium-96.0.4664.110-enable-WebRTCPipeWireCapturer-byDefault.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff -up chromium-96.0.4664.110/content/public/common/content_features.cc.enable-WebRTCPipeWireCapturer-byDefault chromium-96.0.4664.110/content/public/common/content_features.cc ---- chromium-96.0.4664.110/content/public/common/content_features.cc.enable-WebRTCPipeWireCapturer-byDefault 2021-12-20 11:24:28.862940185 -0500 -+++ chromium-96.0.4664.110/content/public/common/content_features.cc 2021-12-20 11:24:43.397027114 -0500 -@@ -1125,7 +1125,7 @@ const base::Feature kAuraWindowSubtreeCa - // Controls whether the PipeWire support for screen capturing is enabled on the - // Wayland display server. - const base::Feature kWebRtcPipeWireCapturer{"WebRTCPipeWireCapturer", -- base::FEATURE_DISABLED_BY_DEFAULT}; -+ base::FEATURE_ENABLED_BY_DEFAULT}; - #endif // defined(WEBRTC_USE_PIPEWIRE) - - enum class VideoCaptureServiceConfiguration { diff --git a/chromium-browser.sh b/chromium-browser.sh index b0ace53..18dfca1 100755 --- a/chromium-browser.sh +++ b/chromium-browser.sh @@ -55,12 +55,4 @@ if [ "$XDG_SESSION_TYPE" == "wayland" ] || [[ $WAYLAND_DISPLAY ]] ; then CHROMIUM_DISTRO_FLAGS="--ozone-platform=wayland $CHROMIUM_DISTRO_FLAGS" fi
-if [ -f "$HERE/PepperFlash/libpepflashplayer.so" ] && [ -f "$HERE/PepperFlash/manifest.json" ] ; then - CHROMIUM_FLASH_VERSION=$(grep '"version":' "$HERE/PepperFlash/manifest.json" | awk -F" '{ print $4 }') - CHROMIUM_FLASH_FLAGS=" --ppapi-flash-path=$HERE/PepperFlash/libpepflashplayer.so \ - --ppapi-flash-version=$CHROMIUM_FLASH_VERSION" -else - CHROMIUM_FLASH_FLAGS="" -fi - -exec -a "$0" "$HERE/@@CHROMIUM_BROWSER_CHANNEL@@" $CHROMIUM_DISTRO_FLAGS $CHROMIUM_FLASH_FLAGS "$@" +exec -a "$0" "$HERE/@@CHROMIUM_BROWSER_CHANNEL@@" $CHROMIUM_DISTRO_FLAGS "$@" diff --git a/chromium-gcc11.patch b/chromium-gcc11.patch deleted file mode 100644 index 75f2299..0000000 --- a/chromium-gcc11.patch +++ /dev/null @@ -1,127 +0,0 @@ -diff --git a/third_party/angle/src/libANGLE/HandleAllocator.cpp b/third_party/angle/src/libANGLE/HandleAllocator.cpp -index 013f1dfb2..3ce63c192 100644 ---- a/third_party/angle/src/libANGLE/HandleAllocator.cpp -+++ b/third_party/angle/src/libANGLE/HandleAllocator.cpp -@@ -9,6 +9,7 @@ - - #include "libANGLE/HandleAllocator.h" - -+#include <limits> - #include <algorithm> - #include <functional> - -diff --git a/third_party/perfetto/src/trace_processor/containers/string_pool.cc b/third_party/perfetto/src/trace_processor/containers/string_pool.cc -index fd651958f..1e8d0606c 100644 ---- a/third_party/perfetto/src/trace_processor/containers/string_pool.cc -+++ b/third_party/perfetto/src/trace_processor/containers/string_pool.cc -@@ -14,9 +14,9 @@ - * limitations under the License. - */ - -+#include <limits> - #include "src/trace_processor/containers/string_pool.h" - --#include <limits> - - #include "perfetto/base/logging.h" - #include "perfetto/ext/base/utils.h" -diff --git a/third_party/perfetto/src/trace_processor/db/column.cc b/third_party/perfetto/src/trace_processor/db/column.cc -index 00496b335..0dccfeb8a 100644 ---- a/third_party/perfetto/src/trace_processor/db/column.cc -+++ b/third_party/perfetto/src/trace_processor/db/column.cc -@@ -14,6 +14,7 @@ - * limitations under the License. - */ - -+#include <limits> - #include "src/trace_processor/db/column.h" - - #include "src/trace_processor/db/compare.h" -diff --git a/third_party/perfetto/src/trace_processor/types/variadic.cc b/third_party/perfetto/src/trace_processor/types/variadic.cc -index 837bfeba9..cdd56817d 100644 ---- a/third_party/perfetto/src/trace_processor/types/variadic.cc -+++ b/third_party/perfetto/src/trace_processor/types/variadic.cc -@@ -14,6 +14,7 @@ - * limitations under the License. - */ - -+#include <limits> - #include "src/trace_processor/types/variadic.h" - - namespace perfetto { -diff --git a/ui/accessibility/platform/ax_platform_atk_hyperlink.cc b/ui/accessibility/platform/ax_platform_atk_hyperlink.cc -index be91def6b..73f202356 100644 ---- a/ui/accessibility/platform/ax_platform_atk_hyperlink.cc -+++ b/ui/accessibility/platform/ax_platform_atk_hyperlink.cc -@@ -245,7 +245,7 @@ static void AXPlatformAtkHyperlinkInit(AXPlatformAtkHyperlink* self, gpointer) { - } - - GType ax_platform_atk_hyperlink_get_type() { -- static volatile gsize type_volatile = 0; -+ static gsize type_volatile = 0; - - AXPlatformNodeAuraLinux::EnsureGTypeInit(); - -diff --git a/ui/accessibility/platform/ax_platform_node_auralinux.cc b/ui/accessibility/platform/ax_platform_node_auralinux.cc -index 04125c6fd..6c64e5d8e 100644 ---- a/ui/accessibility/platform/ax_platform_node_auralinux.cc -+++ b/ui/accessibility/platform/ax_platform_node_auralinux.cc -@@ -2274,7 +2274,7 @@ void ClassInit(gpointer class_pointer, gpointer /* class_data */) { - GType GetType() { - AXPlatformNodeAuraLinux::EnsureGTypeInit(); - -- static volatile gsize type_volatile = 0; -+ static gsize type_volatile = 0; - if (g_once_init_enter(&type_volatile)) { - static const GTypeInfo type_info = { - sizeof(AXPlatformNodeAuraLinuxClass), // class_size -diff --git a/ui/gtk/gtk_key_bindings_handler.cc b/ui/gtk/gtk_key_bindings_handler.cc -index c663a2074..38a342484 100644 ---- a/ui/gtk/gtk_key_bindings_handler.cc -+++ b/ui/gtk/gtk_key_bindings_handler.cc -@@ -141,7 +141,7 @@ void GtkKeyBindingsHandler::HandlerClassInit(HandlerClass* klass) { - } - - GType GtkKeyBindingsHandler::HandlerGetType() { -- static volatile gsize type_id_volatile = 0; -+ static gsize type_id_volatile = 0; - if (g_once_init_enter(&type_id_volatile)) { - GType type_id = g_type_register_static_simple( - GTK_TYPE_TEXT_VIEW, g_intern_static_string("GtkKeyBindingsHandler"), -diff --git a/chrome/browser/ui/bookmarks/bookmark_tab_helper.cc b/chrome/browser/ui/bookmarks/bookmark_tab_helper.cc -index c0b5a805b..e6f921926 100644 ---- a/chrome/browser/ui/bookmarks/bookmark_tab_helper.cc -+++ b/chrome/browser/ui/bookmarks/bookmark_tab_helper.cc -@@ -2,6 +2,7 @@ - // Use of this source code is governed by a BSD-style license that can be - // found in the LICENSE file. - -+#include <cstddef> - #include "chrome/browser/ui/bookmarks/bookmark_tab_helper.h" - - #include "base/observer_list.h" -diff --git a/components/bookmarks/browser/bookmark_expanded_state_tracker.cc b/components/bookmarks/browser/bookmark_expanded_state_tracker.cc -index 4ad2afa1f..5c4596e12 100644 ---- a/components/bookmarks/browser/bookmark_expanded_state_tracker.cc -+++ b/components/bookmarks/browser/bookmark_expanded_state_tracker.cc -@@ -2,6 +2,7 @@ - // Use of this source code is governed by a BSD-style license that can be - // found in the LICENSE file. - -+#include <cstddef> - #include "components/bookmarks/browser/bookmark_expanded_state_tracker.h" - - #include <stdint.h> -diff --git a/components/bookmarks/browser/base_bookmark_model_observer.cc b/components/bookmarks/browser/base_bookmark_model_observer.cc -index 657a3c96b..ad641a082 100644 ---- a/components/bookmarks/browser/base_bookmark_model_observer.cc -+++ b/components/bookmarks/browser/base_bookmark_model_observer.cc -@@ -2,6 +2,8 @@ - // Use of this source code is governed by a BSD-style license that can be - // found in the LICENSE file. - -+#include <cstddef> -+ - #include "components/bookmarks/browser/base_bookmark_model_observer.h" - - namespace bookmarks { diff --git a/chromium.spec b/chromium.spec index 5a66af1..5cacd71 100644 --- a/chromium.spec +++ b/chromium.spec @@ -7,7 +7,7 @@
# This flag is so I can build things very fast on a giant system. # Enabling this in koji causes aarch64 builds to timeout indefinitely. -%global use_all_cpus 0 +%global use_all_cpus 1
%if %{use_all_cpus} %global numjobs %{_smp_build_ncpus} @@ -21,7 +21,7 @@ # %2 what %global build_target() \ export NINJA_STATUS="[%2:%f/%t] " ; \ - ../depot_tools/ninja -j %{numjobs} -C '%1' -vvv '%2' + ninja -j %{numjobs} -C '%1' '%2'
# This was faster when it worked, but it didn't always. # As of chromium 80, it is no longer supported. RIP. @@ -36,6 +36,22 @@ # This is finally possible with Chromium 93 %global build_with_python3 1
+# set nodejs_version +%global nodejs_version v16.17.0 + +# set version for devtoolset and gcc-toolset +%global dts_version 12 + +# set version for llvm-toolset on el7 +%global llvm_toolset_version 14.0 + +# set name for toolset +%if 0%{?rhel} == 7 +%global toolset devtoolset +%else +%global toolset gcc-toolset +%endif + %if 0%{?build_with_python3} %if 0%{?rhel} == 7 %global chromium_pybin /usr/bin/python3 @@ -48,14 +64,16 @@
# We'd like to always have this on... %global use_vaapi 1 + # ... but the libva in EL7 (and EL8) is too old. %if 0%{?rhel} == 7 || 0%{?rhel} == 8 %global use_vaapi 0 %endif + # ... and EL9 doesn't ship libva-devel on aarch64? %if 0%{?rhel} == 9 %ifarch aarch64 - %global use_vaapi 0 + %global use_vaapi 0 %endif %endif
@@ -65,25 +83,9 @@
%global build_clear_key_cdm 0
-# Since no one liked replacing just the media components, we do not build shared anymore. -%global shared 0 - -# NEVER EVER EVER turn this on in official builds -%global freeworld 0 -%if %{freeworld} -%global lsuffix freeworld -%if 0%{?shared} -%global nsuffix -libs-media-freeworld -%else -%global nsuffix -freeworld -%endif -%else -%global lsuffix fedora -%global nsuffix %{nil} -%endif - # Disabled because of Google, starting with Chromium 88. %global userestrictedapikeys 0 + # We can still use the api key though. For now. %global useapikey 1
@@ -111,31 +113,20 @@ # for i in `find . -name "*.so" | sort`; do NAME=`basename -s .so $i`; printf "$NAME|"; done # for RHEL7, append libfontconfig to the end # make sure there is not a trailing | at the end of the list - # We always filter provides. We only filter Requires when building shared. -%global __provides_exclude_from ^(%{chromium_path}/.*\.so|%{chromium_path}/.*\.so.*|%{chromium_path}/lib/.*\.so|%{chromium_path}/lib/.*\.so.*)$ +%global __provides_exclude_from ^(%{chromium_path}/.*\.so|%{chromium_path}/.*\.so.*)$ +%global __requires_exclude ^(%{chromium_path}/.*\.so|%{chromium_path}/.*\.so.*)$
-%if 0%{?shared} +# enable clang by default +%global clang 1
-%if 0%{?rhel} == 7 -%global privlibs libaccessibility|libandroid_mojo_bindings_shared|libanimation|libapdu|libaura|libaura_extra|libauthenticator_test_mojo_bindings_shared|libbase|libbase_i18n|libbindings|libbindings_base|libblink_common|libblink_controller|libblink_core|libblink_embedded_frame_sink_mojo_bindings_shared|libblink_features|libblink_modules|libblink_mojom_broadcastchannel_bindings_shared|libblink_platform|libbluetooth|libboringssl|libbrowser_ui_views|libcaptive_portal|libcapture_base|libcapture_lib|libcbor|libcc|libcc_animation|libcc_base|libcc_debug|libcc_ipc|libcc_mojo_embedder|libcc_paint|libcertificate_matching|libcert_verifier|libchrome_features|libchromium_sqlite3|libclearkeycdm|libclient|libcloud_policy_proto_generated_compile|libcodec|libcolor_space|libcolor_utils|libcommon|libcompositor|libcontent|libcontent_common_mojo_bindings_shared|libcontent_public_common_mojo_bindings_shared|libcontent_service_cpp|libcontent_service_mojom|libcontent_service_mojom_shared|libcontent_settings_features|libcrash_key_lib|libcrcrypto|libcrdtp|libdbus|libdevice_base|libdevice_event_log|libdevice_features|libdevice_gamepad|libdevices|libdevice_vr|libdevice_vr_mojo_bindings|libdevice_vr_mojo_bindings_blink|libdevice_vr_mojo_bindings_shared|libdevice_vr_test_mojo_bindings|libdevice_vr_test_mojo_bindings_blink|libdevice_vr_test_mojo_bindings_shared|libdiscardable_memory_client|libdiscardable_memory_common|libdiscardable_memory_service|libdisplay|libdisplay_types|libdisplay_util|libdomain_reliability|libdom_storage_mojom|libdom_storage_mojom_shared|libEGL|libEGL|libembedder|libembedder_switches|libevents|libevents_base|libevents_devices_x11|libevents_ozone_layout|libevents_x|libextras|libffmpeg|libfido|libfingerprint|libfreetype_harfbuzz|libgamepad_mojom|libgamepad_mojom_blink|libgamepad_mojom_shared|libgamepad_shared_typemap_traits|libgcm|libgeometry|libgeometry_skia|libgesture_detection|libgfx|libgfx_ipc|libgfx_ipc_buffer_types|libgfx_ipc_color|libgfx_ipc_geometry|libgfx_ipc_skia|libgfx_switches|libgfx_x11|libgin|libgles2|libgles2_implementation|libgles2_utils|libGLESv2|libGLESv2|libgl_init|libgl_in_process_context|libgl_wrapper|libgpu|libgpu_ipc_service|libgtkui|libheadless_non_renderer|libhost|libicui18n|libicuuc|libinterfaces_shared|libipc|libipc_mojom|libipc_mojom_shared|libkeycodes_x11|libkeyed_service_content|libkeyed_service_core|liblearning_common|liblearning_impl|libleveldatabase|libleveldb_proto|libmanager|libmedia|libmedia_blink|libmedia_gpu|libmedia_learning_mojo_impl|libmedia_message_center|libmedia_mojo_services|libmedia_session_base_cpp|libmedia_session_cpp|libmedia_webrtc|libmemory_instrumentation|libmenu|libmessage_center|libmessage_support|libmetrics_cpp|libmidi|libmirroring_service|libmojo_base_lib|libmojo_base_mojom|libmojo_base_mojom_blink|libmojo_base_mojom_shared|libmojo_base_shared_typemap_traits|libmojo_core_embedder|libmojo_core_embedder_internal|libmojo_core_ports|libmojo_cpp_platform|libmojom_core_shared|libmojom_mhtml_load_result_shared|libmojom_modules_shared|libmojo_mojom_bindings|libmojo_mojom_bindings_shared|libmojom_platform_shared|libmojo_public_system|libmojo_public_system_cpp|libnative_theme|libnet|libnetwork_cpp|libnetwork_cpp_base|libnetwork_service|libnetwork_session_configurator|libonc|libos_crypt|libparsers|libpdfium|libperfetto|libperformace_manager_public_mojom|libperformace_manager_public_mojom_blink|libperformace_manager_public_mojom_shared|libplatform|libplatform_window|libplatform_window_common|libplatform_window_handler_libs|libpolicy_component|libpolicy_proto|libppapi_host|libppapi_proxy|libppapi_shared|libprefs|libprinting|libproperties|libprotobuf_lite|libproxy_config|libpublic|librange|libraster|libresource_coordinator_public_mojom|libresource_coordinator_public_mojom_blink|libresource_coordinator_public_mojom_shared|libsandbox|libsandbox_services|libscheduling_metrics|libseccomp_bpf|libsecurity_state_features|libservice|libservice_manager_cpp|libservice_manager_cpp_types|libservice_manager_mojom|libservice_manager_mojom_blink|libservice_manager_mojom_constants|libservice_manager_mojom_constants_blink|libservice_manager_mojom_constants_shared|libservice_manager_mojom_shared|libservice_manager_mojom_traits|libservice_provider|libsessions|libshared_memory_support|libshared_with_blink|libshell_dialogs|libskia|libskia_shared_typemap_traits|libsnapshot|libsql|libstartup_tracing|libstorage_browser|libstorage_common|libstorage_service_public|libstub_window|libsuid_sandbox_client|libsurface|libsystem_media_controls|libtab_count_metrics|libthread_linux|libtracing|libtracing_cpp|libtracing_mojom|libtracing_mojom_shared|libui_accessibility_ax_mojom|libui_accessibility_ax_mojom_blink|libui_accessibility_ax_mojom_shared|libui_base|libui_base_clipboard|libui_base_clipboard_types|libui_base_features|libui_base_idle|libui_base_ime|libui_base_ime_init|libui_base_ime_linux|libui_base_ime_types|libui_base_x|libui_data_pack|libui_devtools|libui_message_center_cpp|libui_touch_selection|liburl|liburl_ipc|liburl_matcher|libusb_shared|libuser_manager|libuser_prefs|libv8|libv8_libbase|libv8_libplatform|libviews|libviz_common|libviz_resource_format_utils|libviz_vulkan_context_provider|libVkICD_mock_icd|libvk_swiftshader|libvr_base|libvr_common|libvulkan_info|libvulkan_init|libvulkan_wrapper|libvulkan_x11|libvulkan_ycbcr_info|libweb_bluetooth_mojo_bindings_shared|libwebdata_common|libweb_dialogs|libweb_feature_mojo_bindings_mojom|libweb_feature_mojo_bindings_mojom_blink|libweb_feature_mojo_bindings_mojom_shared|libwebgpu|libweb_modal|libwebrtc_component|libwebview|libwm|libwm_public|libwtf|libwtf_support|libx11_events_platform|libx11_window|libzygote|libfontconfig -%else -%global privlibs libaccessibility|libandroid_mojo_bindings_shared|libanimation|libapdu|libaura|libaura_extra|libauthenticator_test_mojo_bindings_shared|libbase|libbase_i18n|libbindings|libbindings_base|libblink_common|libblink_controller|libblink_core|libblink_embedded_frame_sink_mojo_bindings_shared|libblink_features|libblink_modules|libblink_mojom_broadcastchannel_bindings_shared|libblink_platform|libbluetooth|libboringssl|libbrowser_ui_views|libcaptive_portal|libcapture_base|libcapture_lib|libcbor|libcc|libcc_animation|libcc_base|libcc_debug|libcc_ipc|libcc_mojo_embedder|libcc_paint|libcertificate_matching|libcert_verifier|libchrome_features|libchromium_sqlite3|libclearkeycdm|libclient|libcloud_policy_proto_generated_compile|libcodec|libcolor_space|libcolor_utils|libcommon|libcompositor|libcontent|libcontent_common_mojo_bindings_shared|libcontent_public_common_mojo_bindings_shared|libcontent_service_cpp|libcontent_service_mojom|libcontent_service_mojom_shared|libcontent_settings_features|libcrash_key_lib|libcrcrypto|libcrdtp|libdbus|libdevice_base|libdevice_event_log|libdevice_features|libdevice_gamepad|libdevices|libdevice_vr|libdevice_vr_mojo_bindings|libdevice_vr_mojo_bindings_blink|libdevice_vr_mojo_bindings_shared|libdevice_vr_test_mojo_bindings|libdevice_vr_test_mojo_bindings_blink|libdevice_vr_test_mojo_bindings_shared|libdiscardable_memory_client|libdiscardable_memory_common|libdiscardable_memory_service|libdisplay|libdisplay_types|libdisplay_util|libdomain_reliability|libdom_storage_mojom|libdom_storage_mojom_shared|libEGL|libEGL|libembedder|libembedder_switches|libevents|libevents_base|libevents_devices_x11|libevents_ozone_layout|libevents_x|libextras|libffmpeg|libfido|libfingerprint|libfreetype_harfbuzz|libgamepad_mojom|libgamepad_mojom_blink|libgamepad_mojom_shared|libgamepad_shared_typemap_traits|libgcm|libgeometry|libgeometry_skia|libgesture_detection|libgfx|libgfx_ipc|libgfx_ipc_buffer_types|libgfx_ipc_color|libgfx_ipc_geometry|libgfx_ipc_skia|libgfx_switches|libgfx_x11|libgin|libgles2|libgles2_implementation|libgles2_utils|libGLESv2|libGLESv2|libgl_init|libgl_in_process_context|libgl_wrapper|libgpu|libgpu_ipc_service|libgtkui|libheadless_non_renderer|libhost|libicui18n|libicuuc|libinterfaces_shared|libipc|libipc_mojom|libipc_mojom_shared|libkeycodes_x11|libkeyed_service_content|libkeyed_service_core|liblearning_common|liblearning_impl|libleveldatabase|libleveldb_proto|libmanager|libmedia|libmedia_blink|libmedia_gpu|libmedia_learning_mojo_impl|libmedia_message_center|libmedia_mojo_services|libmedia_session_base_cpp|libmedia_session_cpp|libmedia_webrtc|libmemory_instrumentation|libmenu|libmessage_center|libmessage_support|libmetrics_cpp|libmidi|libmirroring_service|libmojo_base_lib|libmojo_base_mojom|libmojo_base_mojom_blink|libmojo_base_mojom_shared|libmojo_base_shared_typemap_traits|libmojo_core_embedder|libmojo_core_embedder_internal|libmojo_core_ports|libmojo_cpp_platform|libmojom_core_shared|libmojom_mhtml_load_result_shared|libmojom_modules_shared|libmojo_mojom_bindings|libmojo_mojom_bindings_shared|libmojom_platform_shared|libmojo_public_system|libmojo_public_system_cpp|libnative_theme|libnet|libnetwork_cpp|libnetwork_cpp_base|libnetwork_service|libnetwork_session_configurator|libonc|libos_crypt|libparsers|libpdfium|libperfetto|libperformace_manager_public_mojom|libperformace_manager_public_mojom_blink|libperformace_manager_public_mojom_shared|libplatform|libplatform_window|libplatform_window_common|libplatform_window_handler_libs|libpolicy_component|libpolicy_proto|libppapi_host|libppapi_proxy|libppapi_shared|libprefs|libprinting|libproperties|libprotobuf_lite|libproxy_config|libpublic|librange|libraster|libresource_coordinator_public_mojom|libresource_coordinator_public_mojom_blink|libresource_coordinator_public_mojom_shared|libsandbox|libsandbox_services|libscheduling_metrics|libseccomp_bpf|libsecurity_state_features|libservice|libservice_manager_cpp|libservice_manager_cpp_types|libservice_manager_mojom|libservice_manager_mojom_blink|libservice_manager_mojom_constants|libservice_manager_mojom_constants_blink|libservice_manager_mojom_constants_shared|libservice_manager_mojom_shared|libservice_manager_mojom_traits|libservice_provider|libsessions|libshared_memory_support|libshared_with_blink|libshell_dialogs|libskia|libskia_shared_typemap_traits|libsnapshot|libsql|libstartup_tracing|libstorage_browser|libstorage_common|libstorage_service_public|libstub_window|libsuid_sandbox_client|libsurface|libsystem_media_controls|libtab_count_metrics|libthread_linux|libtracing|libtracing_cpp|libtracing_mojom|libtracing_mojom_shared|libui_accessibility_ax_mojom|libui_accessibility_ax_mojom_blink|libui_accessibility_ax_mojom_shared|libui_base|libui_base_clipboard|libui_base_clipboard_types|libui_base_features|libui_base_idle|libui_base_ime|libui_base_ime_init|libui_base_ime_linux|libui_base_ime_types|libui_base_x|libui_data_pack|libui_devtools|libui_message_center_cpp|libui_touch_selection|liburl|liburl_ipc|liburl_matcher|libusb_shared|libuser_manager|libuser_prefs|libv8|libv8_libbase|libv8_libplatform|libviews|libviz_common|libviz_resource_format_utils|libviz_vulkan_context_provider|libVkICD_mock_icd|libvk_swiftshader|libvr_base|libvr_common|libvulkan_info|libvulkan_init|libvulkan_wrapper|libvulkan_x11|libvulkan_ycbcr_info|libweb_bluetooth_mojo_bindings_shared|libwebdata_common|libweb_dialogs|libweb_feature_mojo_bindings_mojom|libweb_feature_mojo_bindings_mojom_blink|libweb_feature_mojo_bindings_mojom_shared|libwebgpu|libweb_modal|libwebrtc_component|libwebview|libwm|libwm_public|libwtf|libwtf_support|libx11_events_platform|libx11_window|libzygote -%endif -%global __requires_exclude ^(%{privlibs})\.so* - -%endif - -# AddressSanitizer mode -# https://www.chromium.org/developers/testing/addresssanitizer -%global asan 0 - -%global use_qt 0 +# set bundleffmpeg 0 to enable system ffmpeg-free +%global bundleffmpeg 1
%if 0 # Chromium's fork of ICU is now something we can't unbundle. # This is left here to ease the change if that ever switches. -BuildRequires: libicu-devel >= 5.4 +BuildRequires: libicu-devel >= 5.4 %global bundleicu 0 %else %global bundleicu 1 @@ -159,13 +150,13 @@ BuildRequires: libicu-devel >= 5.4 %global bundleminizip 1 %endif
-# Chromium used to break on wayland, hidpi, and colors with gtk3 enabled. -# Hopefully it does not anymore. +# disable qt by default +%global use_qt 0 + +# enable gtk3 by default %global gtk3 1
%if 0%{?rhel} == 7 || 0%{?rhel} == 8 -%global dts_version 11 - %global bundleopus 1 %global bundlelibusbx 1 %global bundleharfbuzz 1 @@ -222,66 +213,60 @@ BuildRequires: libicu-devel >= 5.4 %global chromoting_client_id %nil %endif
-%global majorversion 107 - -%if %{freeworld} -Name: chromium%{chromium_channel}%{nsuffix} -%else -Name: chromium%{chromium_channel} -%endif -Version: %{majorversion}.0.5304.121 -Release: 1%{?dist} -%if %{?freeworld} -%if %{?shared} -# chromium-libs-media-freeworld -Summary: Chromium media libraries built with all possible codecs -%else -# chromium-freeworld -Summary: A WebKit (Blink) powered web browser built with all possible codecs -%endif -%else -Summary: A WebKit (Blink) powered web browser that Google doesn't want you to use -%endif -Url: http://www.chromium.org/Home -License: BSD and LGPLv2+ and ASL 2.0 and IJG and MIT and GPLv2+ and ISC and OpenSSL and (MPLv1.1 or GPLv2 or LGPLv2) +Name: chromium%{chromium_channel} +Version: 108.0.5359.124 +Release: 1%{?dist} +Summary: A WebKit (Blink) powered web browser that Google doesn't want you to use +Url: http://www.chromium.org/Home +License: BSD and LGPLv2+ and ASL 2.0 and IJG and MIT and GPLv2+ and ISC and OpenSSL and (MPLv1.1 or GPLv2 or LGPLv2)
### Chromium Fedora Patches ### -Patch0: chromium-70.0.3538.67-sandbox-pie.patch +Patch0: chromium-70.0.3538.67-sandbox-pie.patch + # Use /etc/chromium for initial_prefs -Patch1: chromium-91.0.4472.77-initial_prefs-etc-path.patch +Patch1: chromium-91.0.4472.77-initial_prefs-etc-path.patch + # Use gn system files -Patch2: chromium-107.0.5304.110-gn-system.patch +Patch2: chromium-107.0.5304.110-gn-system.patch + # Do not prefix libpng functions -Patch3: chromium-60.0.3112.78-no-libpng-prefix.patch +Patch3: chromium-60.0.3112.78-no-libpng-prefix.patch + # Do not mangle zlib -Patch5: chromium-77.0.3865.75-no-zlib-mangle.patch +Patch5: chromium-77.0.3865.75-no-zlib-mangle.patch + # Do not use unrar code, it is non-free -Patch6: chromium-95.0.4638.69-norar.patch +Patch6: chromium-108-norar.patch + # Use Gentoo's Widevine hack # https://gitweb.gentoo.org/repo/gentoo.git/tree/www-client/chromium/files/chr... -Patch7: chromium-71.0.3578.98-widevine-r3.patch +Patch7: chromium-71.0.3578.98-widevine-r3.patch + # Try to load widevine from other places -Patch10: chromium-100.0.4896.60-widevine-other-locations.patch +Patch8: chromium-100.0.4896.60-widevine-other-locations.patch + # Tell bootstrap.py to always use the version of Python we specify %if 0%{?build_with_python3} -Patch11: chromium-93.0.4577.63-py3-bootstrap.patch +Patch11: chromium-93.0.4577.63-py3-bootstrap.patch %else -Patch11: chromium-92.0.4515.107-py2-bootstrap.patch +Patch11: chromium-92.0.4515.107-py2-bootstrap.patch %endif + # Add "Fedora" to the user agent string Patch12: chromium-101.0.4951.41-fedora-user-agent.patch
# Needs to be submitted.. Patch51: chromium-96.0.4664.45-gcc-remoting-constexpr.patch + # https://gitweb.gentoo.org/repo/gentoo.git/tree/www-client/chromium/files/chr... Patch52: chromium-81.0.4044.92-unbundle-zlib.patch + # ../../third_party/perfetto/include/perfetto/base/task_runner.h:48:55: error: 'uint32_t' has not been declared Patch56: chromium-96.0.4664.45-missing-cstdint-header.patch + # Missing <cstring> (thanks c++17) Patch57: chromium-96.0.4664.45-missing-cstring.patch -# prepare for using system ffmpeg (clean) -# http://svnweb.mageia.org/packages/cauldron/chromium-browser-stable/current/S... -Patch58: chromium-53-ffmpeg-no-deprecation-errors.patch + # https://github.com/stha09/chromium-patches/blob/master/chromium-103-VirtualC... Patch59: chromium-103-VirtualCursor-std-layout.patch
@@ -297,6 +282,7 @@ Patch65: chromium-91.0.4472.77-java-only-allowed-in-android-builds.patch
# Fix missing cstring in remoting code Patch67: chromium-98.0.4758.80-remoting-cstring.patch + # Apply fix_textrels hack for i686 (even without lld) Patch68: chromium-84.0.4147.125-i686-fix_textrels.patch
@@ -311,7 +297,8 @@ Patch79: chromium-99.0.4844.51-widevine-no-download.patch
# Fix crashes with components/cast_* # Thanks to Gentoo -Patch80: chromium-98.0.4758.80-EnumTable-crash.patch +Patch80: chromium-108-EnumTable-crash.patch + # Disable tests on remoting build Patch82: chromium-98.0.4758.102-remoting-no-tests.patch
@@ -331,61 +318,67 @@ Patch88: chromium-105.0.5195.125-arm64-gcc-fix.patch
# Fix extra qualification error Patch97: chromium-107.0.5304.110-remoting-extra-qualification.patch + # From gentoo Patch98: chromium-94.0.4606.71-InkDropHost-crash.patch + # Enable WebRTCPPipeWireCapturer by default -Patch99: chromium-96.0.4664.110-enable-WebRTCPipeWireCapturer-byDefault.patch +Patch99: chromium-108-enable-WebRTCPipeWireCapturer-byDefault.patch + +# need to explicitly include a kernel header on EL7 to support MFD_CLOEXEC, F_SEAL_SHRINK, F_ADD_SEALS, F_SEAL_SEAL +Patch100: chromium-108-el7-include-fcntl-memfd.patch
+# add define HAVE_STRNDUP on epel7 +Patch101: chromium-108-el7-wayland-strndup-error.patch + +# drop build dependency of python3-importlib-metadata on el7 +Patch102: chromium-108-el7-drop-python-importlib-metadata.patch
# Work around old and missing headers on EPEL7 -Patch103: chromium-99.0.4844.51-epel7-old-headers-workarounds.patch +Patch103: chromium-99.0.4844.51-epel7-old-headers-workarounds.patch + # Use old cups (chromium's code workaround breaks on gcc) # Revert: https://github.com/chromium/chromium/commit/c3213f8779ddc427e89d982514185ed5... -Patch104: chromium-99.0.4844.51-epel7-old-cups.patch -# Need to explicitly include a kernel header on EL7 to support MFD_CLOEXEC -Patch105: chromium-102.0.5005.115-el7-memfd-include.patch +Patch104: chromium-99.0.4844.51-epel7-old-cups.patch + +# libdrm on EL7 is rather old and chromium assumes newer +# This gets us by for now +Patch105: chromium-85.0.4183.83-el7-old-libdrm.patch
# error: no matching function for call to 'std::basic_string<char>::erase(std::basic_string<char>::const_iterator, __gnu_cxx::__normal_iterator<const char*, std::basic_string<char> >&)' # 33 | property_name.erase(property_name.cbegin(), cur); # Not sure how this EVER worked anywhere, but it only seems to fail on EPEL-7. -Patch109: chromium-98.0.4758.80-epel7-erase-fix.patch +Patch106: chromium-98.0.4758.80-epel7-erase-fix.patch + +# Add additional operator== to make el7 happy. +Patch107: chromium-99.0.4844.51-el7-extra-operator==.patch + # Again, not sure how epel8 is the only one to hit this... # AARCH64 neon symbols need to be prefixed too to prevent multiple definition issue at linktime -Patch110: chromium-90.0.4430.93-epel8-aarch64-libpng16-symbol-prefixes.patch -# Add additional operator== to make el7 happy. -Patch111: chromium-99.0.4844.51-el7-extra-operator==.patch -# missing F_GET_SEALS, F_SEAL_SHRINK -Patch112: chromium-107.0.5304.110-wayland-fcntl.patch +Patch110: chromium-90.0.4430.93-epel8-aarch64-libpng16-symbol-prefixes.patch + # memset was not declared in this scope Patch113: chromium-107.0.5304.110-cstring-memset.patch
+# system ffmpeg +Patch114: chromium-107-ffmpeg-duration.patch +Patch115: chromium-107-proprietary-codecs.patch + # VAAPI # Upstream turned VAAPI on in Linux in 86 -Patch202: chromium-104.0.5112.101-enable-hardware-accelerated-mjpeg.patch -Patch203: chromium-86.0.4240.75-vaapi-i686-fpermissive.patch -Patch205: chromium-86.0.4240.75-fix-vaapi-on-intel.patch +Patch202: chromium-104.0.5112.101-enable-hardware-accelerated-mjpeg.patch +Patch203: chromium-108-vaapi-i686-fpermissive.patch +Patch205: chromium-86.0.4240.75-fix-vaapi-on-intel.patch
# Apply these patches to work around EPEL8 issues -Patch300: chromium-99.0.4844.51-rhel8-force-disable-use_gnome_keyring.patch - -# Apply this patch to work around EPEL9 issues -Patch350: chromium-107.0.5304.110-neon_2_sse.patch - -# And fixes for new compilers -Patch400: %{name}-gcc11.patch +Patch300: chromium-99.0.4844.51-rhel8-force-disable-use_gnome_keyring.patch
# Use chromium-latest.py to generate clean tarball from released build tarballs, found here: # http://build.chromium.org/buildbot/official/ # For Chromium Fedora use chromium-latest.py --stable --ffmpegclean --ffmpegarm # If you want to include the ffmpeg arm sources append the --ffmpegarm switch # https://commondatastorage.googleapis.com/chromium-browser-official/chromium-... -%if %{freeworld} -Source0: https://commondatastorage.googleapis.com/chromium-browser-official/chromium-... -%else Source0: chromium-%{version}-clean.tar.xz -%endif -# https://chromium.googlesource.com/chromium/tools/depot_tools.git/+archive/7e... -Source2: depot_tools.git-master.tar.gz Source3: chromium-browser.sh Source4: %{chromium_browser_channel}.desktop # Also, only used if you want to reproduce the clean tarball. @@ -397,24 +390,55 @@ Source7: get_free_ffmpeg_source_files.py Source8: get_linux_tests_names.py # GNOME stuff Source9: chromium-browser.xml -Source11: chrome-remote-desktop@.service -Source13: master_preferences -# Unpackaged fonts -Source14: https://fontlibrary.org/assets/downloads/gelasio/4d610887ff4d445cbc639aae782... -Source15: http://download.savannah.nongnu.org/releases/freebangfont/MuktiNarrow-0.94.t... -Source16: https://github.com/web-platform-tests/wpt/raw/master/fonts/Ahem.ttf -Source17: GardinerModBug.ttf -Source18: GardinerModCat.ttf +Source11: chrome-remote-desktop@.service +Source13: master_preferences + # RHEL 7|8 needs newer nodejs -%if 0%{?rhel} && 0%{?rhel} <= 8 -Source19: https://nodejs.org/dist/latest-v16.x/node-v16.17.0-linux-x64.tar.xz -Source21: https://nodejs.org/dist/latest-v16.x/node-v16.17.0-linux-arm64.tar.xz +%if 0%{?rhel} == 8 +Source19: https://nodejs.org/dist/latest-v16.x/node-%%7Bnodejs_version%7D-linux-x64.ta... +Source21: https://nodejs.org/dist/latest-v16.x/node-%%7Bnodejs_version%7D-linux-arm64.... %endif -# Bring xcb-proto with us (might need more than python on EPEL?) -Source20: https://www.x.org/releases/individual/proto/xcb-proto-1.14.tar.xz
-# We can assume gcc and binutils. +# Unpackaged fonts +Source14: https://fontlibrary.org/assets/downloads/gelasio/4d610887ff4d445cbc639aae782... +Source15: http://download.savannah.nongnu.org/releases/freebangfont/MuktiNarrow-0.94.t... +Source16: https://github.com/web-platform-tests/wpt/raw/master/fonts/Ahem.ttf +Source17: GardinerModBug.ttf +Source18: GardinerModCat.ttf + +%if 0%{?clang} +%if 0%{?rhel} == 7 +BuildRequires: llvm-toolset-%{llvm_toolset_version} +%else +BuildRequires: clang +BuildRequires: clang-tools-extra +BuildRequires: llvm +BuildRequires: lld +%endif +# needs for libatomic +%if 0%{?rhel} >= 7 +BuildRequires: %{toolset}-%{dts_version}-libatomic-devel +%endif +%else +%if 0%{?rhel} == 7 || 0%{?rhel} == 8 +BuildRequires: %{toolset}-%{dts_version}-toolchain, %{toolset}-%{dts_version}-libatomic-devel +%endif +%if 0{?fedora} || 0%{?rhel} > 8 BuildRequires: gcc-c++ +BuildRequires: gcc +BuildRequires: binutils +%endif +%endif + +# build with system ffmpeg-free +%if 0%{?bundleffmpeg} +# nothing +%else +BuildRequires: pkgconfig(libavcodec) +BuildRequires: pkgconfig(libavfilter) +BuildRequires: pkgconfig(libavformat) +BuildRequires: pkgconfig(libavutil) +%endif
BuildRequires: alsa-lib-devel BuildRequires: atk-devel @@ -428,32 +452,39 @@ BuildRequires: fontconfig-devel BuildRequires: glib2-devel BuildRequires: glibc-devel BuildRequires: gperf + %if 0%{?bundleharfbuzz} #nothing %else BuildRequires: harfbuzz-devel >= 2.4.0 %endif -BuildRequires: libatomic + +BuildRequires: libatomic BuildRequires: libcap-devel BuildRequires: libcurl-devel + %if 0%{?bundlelibdrm} #nothing %else BuildRequires: libdrm-devel %endif + BuildRequires: libgcrypt-devel BuildRequires: libudev-devel BuildRequires: libuuid-devel + %if 0%{?fedora} >= 37 BuildRequires: libusb-compat-0.1-devel %else BuildRequires: libusb-devel %endif + BuildRequires: libutempter-devel BuildRequires: libXdamage-devel BuildRequires: libXtst-devel BuildRequires: xcb-proto BuildRequires: mesa-libgbm-devel + # Old Fedora (before 30) uses the 1.2 minizip by default. # Newer Fedora needs to use the compat package %if 0%{?fedora} >= 30 @@ -467,12 +498,14 @@ BuildRequires: minizip-compat-devel # BuildRequires: minizip-devel %endif %endif -# RHEL 7|8's nodejs is too old -%if 0%{?rhel} && 0%{?rhel} <= 8 -# Use bundled. + +# RHEL 8 needs newer nodejs +%if 0%{?rhel} == 8 +# nothing %else BuildRequires: nodejs %endif + BuildRequires: nss-devel >= 3.26 BuildRequires: pciutils-devel BuildRequires: pulseaudio-libs-devel @@ -484,10 +517,8 @@ BuildRequires: pkgconfig(libpipewire-0.3)
# for /usr/bin/appstream-util BuildRequires: libappstream-glib - # gn needs these BuildRequires: libstdc++-static -BuildRequires: libstdc++-devel, openssl-devel # Fedora tries to use system libs whenever it can. BuildRequires: bzip2-devel BuildRequires: dbus-glib-devel @@ -495,17 +526,20 @@ BuildRequires: dbus-glib-devel BuildRequires: elfutils BuildRequires: elfutils-libelf-devel BuildRequires: flac-devel + %if 0%{?bundlefreetype} # nothing %else BuildRequires: freetype-devel %endif + # One of the python scripts invokes git to look for a hash. So helpful. BuildRequires: /usr/bin/git BuildRequires: hwdata BuildRequires: kernel-headers BuildRequires: libevent-devel BuildRequires: libffi-devel + %if 0%{?bundleicu} # If this is true, we're using the bundled icu. # We'd like to use the system icu every time, but we cannot always do that. @@ -513,32 +547,38 @@ BuildRequires: libffi-devel # Not newer than 54 (at least not right now) BuildRequires: libicu-devel = 54.1 %endif + %if 0%{?bundlelibjpeg} # If this is true, we're using the bundled libjpeg # which we need to do because the RHEL 7 libjpeg doesn't work for chromium anymore %else BuildRequires: libjpeg-devel %endif + %if 0%{?bundlelibpng} # If this is true, we're using the bundled libpng # which we need to do because the RHEL 7 libpng doesn't work right anymore %else BuildRequires: libpng-devel %endif + %if 0 # see https://code.google.com/p/chromium/issues/detail?id=501318 BuildRequires: libsrtp-devel >= 1.4.4 %endif BuildRequires: libudev-devel + %if %{bundlelibusbx} # Do nothing %else Requires: libusbx >= 1.0.21-0.1.git448584a BuildRequires: libusbx-devel >= 1.0.21-0.1.git448584a %endif + %if 0%{use_vaapi} BuildRequires: libva-devel %endif + # We don't use libvpx anymore because Chromium loves to # use bleeding edge revisions here that break other things # ... so we just use the bundled libvpx. @@ -547,27 +587,37 @@ BuildRequires: libva-devel %else BuildRequires: libwebp-devel %endif + BuildRequires: libxslt-devel BuildRequires: libxshmfence-devel + # Same here, it seems. # BuildRequires: libyuv-devel BuildRequires: mesa-libGL-devel + %if %{bundleopus} # Do nothing %else BuildRequires: opus-devel %endif + BuildRequires: perl(Switch) +BuildRequires: %{chromium_pybin} + %if 0%{gtk3} BuildRequires: pkgconfig(gtk+-3.0) %else BuildRequires: pkgconfig(gtk+-2.0) %endif -BuildRequires: %{chromium_pybin} -%if ! %{build_with_python3} -BuildRequires: python2-devel + +%if %{build_with_python3} +BuildRequires: python3-devel +BuildRequires: python3-zipp +BuildRequires: python3-importlib-metadata %else -BuildRequires: python3-devel +BuildRequires: python2-devel +BuildRequires: python-zipp +BuildRequires: python-importlib-metadata %endif
%if 0%{?build_with_python3} @@ -575,11 +625,10 @@ BuildRequires: python3-devel # Using bundled bits, do nothing. %else %if 0%{?fedora} || 0%{?rhel} >= 8 -BuildRequires: python3-beautifulsoup4 -# BuildRequires: python2-beautifulsoup -BuildRequires: python3-html5lib -BuildRequires: python3-markupsafe -BuildRequires: python3-ply +BuildRequires: python3-beautifulsoup4 +BuildRequires: python3-html5lib +BuildRequires: python3-markupsafe +BuildRequires: python3-ply %else BuildRequires: python-beautifulsoup4 BuildRequires: python-BeautifulSoup @@ -587,167 +636,130 @@ BuildRequires: python-html5lib BuildRequires: python-markupsafe BuildRequires: python-ply %endif -BuildRequires: python3-importlib-metadata -BuildRequires: python3-simplejson +BuildRequires: python3-simplejson %endif %else %if 0%{?bundlepylibs} # Using bundled bits, do nothing. %else %if 0%{?fedora} -BuildRequires: python2-beautifulsoup4 -BuildRequires: python2-beautifulsoup -BuildRequires: python2-html5lib -BuildRequires: python2-markupsafe -BuildRequires: python2-ply +BuildRequires: python2-beautifulsoup4 +BuildRequires: python2-beautifulsoup +BuildRequires: python2-html5lib +BuildRequires: python2-markupsafe +BuildRequires: python2-ply %else -BuildRequires: python-beautifulsoup4 -BuildRequires: python-BeautifulSoup -BuildRequires: python-html5lib -BuildRequires: python-markupsafe -BuildRequires: python-ply +BuildRequires: python-beautifulsoup4 +BuildRequires: python-BeautifulSoup +BuildRequires: python-html5lib +BuildRequires: python-markupsafe +BuildRequires: python-ply %endif -BuildRequires: python2-simplejson +BuildRequires: python2-simplejson %endif %endif
- %if 0%{?bundlere2} # Using bundled bits, do nothing. %else -Requires: re2 >= 20160401 +Requires: re2 >= 20160401 BuildRequires: re2-devel >= 20160401 %endif + BuildRequires: speech-dispatcher-devel BuildRequires: yasm BuildRequires: zlib-devel + # Technically, this logic probably applies to older rhel too... but whatever. # RHEL 8 and 9 do not have gnome-keyring. Not sure why, but whatever again. %if 0%{?fedora} || 0%{?rhel} == 7 BuildRequires: pkgconfig(gnome-keyring-1) %endif + # remote desktop needs this BuildRequires: pam-devel BuildRequires: systemd -# for third_party/test_fonts -%if %{freeworld} -# dont need fonts for this -%else + +# fonts +BuildRequires: dejavu-sans-fonts +BuildRequires: thai-scalable-garuda-fonts +BuildRequires: lohit-devanagari-fonts +BuildRequires: lohit-tamil-fonts +BuildRequires: google-noto-sans-khmer-fonts +BuildRequires: google-noto-emoji-color-fonts + %if 0%{?rhel} >= 7 -Source100: https://github.com/google/fonts/blob/master/apache/arimo/Arimo-Bold.ttf -Source101: https://github.com/google/fonts/blob/master/apache/arimo/Arimo-BoldItalic.tt... -Source102: https://github.com/google/fonts/blob/master/apache/arimo/Arimo-Italic.ttf -Source103: https://github.com/google/fonts/blob/master/apache/arimo/Arimo-Regular.ttf -Source104: https://github.com/google/fonts/blob/master/apache/cousine/Cousine-Bold.ttf -Source105: https://github.com/google/fonts/blob/master/apache/cousine/Cousine-BoldItali... -Source106: https://github.com/google/fonts/blob/master/apache/cousine/Cousine-Italic.tt... -Source107: https://github.com/google/fonts/blob/master/apache/cousine/Cousine-Regular.t... -Source108: https://github.com/google/fonts/blob/master/apache/tinos/Tinos-Bold.ttf -Source109: https://github.com/google/fonts/blob/master/apache/tinos/Tinos-BoldItalic.tt... -Source110: https://github.com/google/fonts/blob/master/apache/tinos/Tinos-Italic.ttf -Source111: https://github.com/google/fonts/blob/master/apache/tinos/Tinos-Regular.ttf -%else -BuildRequires: google-croscore-arimo-fonts -BuildRequires: google-croscore-cousine-fonts -BuildRequires: google-croscore-tinos-fonts +Source100: https://github.com/google/fonts/blob/master/apache/arimo/Arimo-Bold.ttf +Source101: https://github.com/google/fonts/blob/master/apache/arimo/Arimo-BoldItalic.tt... +Source102: https://github.com/google/fonts/blob/master/apache/arimo/Arimo-Italic.ttf +Source103: https://github.com/google/fonts/blob/master/apache/arimo/Arimo-Regular.ttf +Source104: https://github.com/google/fonts/blob/master/apache/cousine/Cousine-Bold.ttf +Source105: https://github.com/google/fonts/blob/master/apache/cousine/Cousine-BoldItali... +Source106: https://github.com/google/fonts/blob/master/apache/cousine/Cousine-Italic.tt... +Source107: https://github.com/google/fonts/blob/master/apache/cousine/Cousine-Regular.t... +Source108: https://github.com/google/fonts/blob/master/apache/tinos/Tinos-Bold.ttf +Source109: https://github.com/google/fonts/blob/master/apache/tinos/Tinos-BoldItalic.tt... +Source110: https://github.com/google/fonts/blob/master/apache/tinos/Tinos-Italic.ttf +Source111: https://github.com/google/fonts/blob/master/apache/tinos/Tinos-Regular.ttf +%else +BuildRequires: google-croscore-arimo-fonts +BuildRequires: google-croscore-cousine-fonts +BuildRequires: google-croscore-tinos-fonts %endif + %if 0%{?rhel} == 7 -Source112: https://releases.pagure.org/lohit/lohit-gurmukhi-ttf-2.91.2.tar.gz -Source113: https://noto-website-2.storage.googleapis.com/pkgs/NotoSansCJKjp-hinted.zip -%else -BuildRequires: google-noto-sans-cjk-jp-fonts -BuildRequires: lohit-gurmukhi-fonts -%endif -BuildRequires: dejavu-sans-fonts -BuildRequires: thai-scalable-garuda-fonts -BuildRequires: lohit-devanagari-fonts -BuildRequires: lohit-tamil-fonts -BuildRequires: google-noto-sans-khmer-fonts -BuildRequires: google-noto-emoji-color-fonts +Source112: https://releases.pagure.org/lohit/lohit-gurmukhi-ttf-2.91.2.tar.gz +Source113:https://noto-website-2.storage.googleapis.com/pkgs/NotoSansCJKjp-hinted.zip +%else +BuildRequires: google-noto-sans-cjk-jp-fonts +BuildRequires: lohit-gurmukhi-fonts +%endif + %if 0%{?fedora} >= 30 -BuildRequires: google-noto-sans-symbols2-fonts +BuildRequires: google-noto-sans-symbols2-fonts %else -Source114: https://github.com/googlefonts/noto-fonts/blob/master/unhinted/NotoSansSymbo... +Source114: https://github.com/googlefonts/noto-fonts/blob/master/unhinted/NotoSansSymbo... %endif + # There used to be a copy of this font file here, but it looks like NotoSansTibetan is no more. # And yet, the chromium code still wants it. -Source115: https://github.com/googlefonts/noto-fonts/blob/master/hinted/NotoSansTibetan... -%endif +Source115: https://github.com/googlefonts/noto-fonts/blob/master/hinted/NotoSansTibetan... + # using the built from source version on aarch64 BuildRequires: ninja-build + # Yes, java is needed as well.. BuildRequires: java-1.8.0-openjdk-headless
-%if 0%{?rhel} == 7 -BuildRequires: devtoolset-%{dts_version}-toolchain, devtoolset-%{dts_version}-libatomic-devel -%endif - -# We need to workaround a gcc 8 bug -# https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94929 -# https://bugs.gentoo.org/726604 -%if 0%{?rhel} == 8 -BuildRequires: gcc-toolset-%{dts_version}-toolchain, gcc-toolset-%{dts_version}-libatomic-devel -%endif - # There is a hardcoded check for nss 3.26 in the chromium code (crypto/nss_util.cc) -Requires: nss%{_isa} >= 3.26 -Requires: nss-mdns%{_isa} +Requires: nss%{_isa} >= 3.26 +Requires: nss-mdns%{_isa}
# GTK modules it expects to find for some reason. %if 0%{gtk3} -Requires: libcanberra-gtk3%{_isa} +Requires: libcanberra-gtk3%{_isa} %else -Requires: libcanberra-gtk2%{_isa} +Requires: libcanberra-gtk2%{_isa} %endif
%if 0%{?fedora} # This enables support for u2f tokens -Requires: u2f-hidraw-policy -%endif - -# Once upon a time, we tried to split these out... but that's not worth the effort anymore. -Provides: chromium-ffmpegsumo = %{version}-%{release} -Obsoletes: chromium-ffmpegsumo <= 35.0.1916.114 -# This is a lie. v8 has its own version... but I'm being lazy and not using it here. -# Barring Google getting much faster on the v8 side (or much slower on the Chromium side) -# the true v8 version will be much smaller than the Chromium version that it came from. -Provides: chromium-v8 = %{version}-%{release} -Obsoletes: chromium-v8 <= 3.25.28.18 -# This is a lie. webrtc never had any real version. 0.2 is greater than 0.1 -Provides: webrtc = 0.2 -Obsoletes: webrtc <= 0.1 -Requires: chromium-common%{_isa} = %{version}-%{release} -%if 0%{?shared} -%if 0%{?freeworld} -# chromium-libs-media-freeworld case -Provides: chromium-libs-media = %{version}-%{release} -Provides: chromium-libs-media%{_isa} = %{version}-%{release} -Requires: chromium-libs%{_isa} = %{version} -Requires(post): %{_sbindir}/update-alternatives -Requires(preun): %{_sbindir}/update-alternatives -%else -# chromium case with shared libs -Requires: chromium-libs%{_isa} = %{version}-%{release} -# This is broken out so it can be replaced. -Requires: chromium-libs-media%{_isa} = %{version}-%{release} -%endif -# Nothing to do here. chromium-libs is real. -%else -Provides: chromium-libs = %{version}-%{release} -Obsoletes: chromium-libs <= %{version}-%{release} -%endif - -#rhel 7: ia32 x86_64 -#rhel 8+: ia32, x86_64, aarch64 -#fedora 32 or older: ia32, x86_64, aarch64 -#fedora 33+: x86_64 aarch64 only +Requires: u2f-hidraw-policy +%endif + +Requires: chromium-common%{_isa} = %{version}-%{release} + +# rhel 7: ia32 x86_64 +# rhel 8+: ia32, x86_64, aarch64 +# fedora 32 or older: ia32, x86_64, aarch64 +# fedora 33+: x86_64 aarch64 only %if 0%{?rhel} == 7 -ExclusiveArch: x86_64 i686 +ExclusiveArch: x86_64 i686 %else %if 0%{?fedora} > 32 -ExclusiveArch: x86_64 aarch64 +ExclusiveArch: x86_64 aarch64 %else -ExclusiveArch: x86_64 i686 aarch64 +ExclusiveArch: x86_64 i686 aarch64 %endif %endif
@@ -765,50 +777,67 @@ Provides: bundled(dmg_fp) Provides: bundled(expat) = 2.2.0 Provides: bundled(fdmlibm) = 5.3 # Don't get too excited. MPEG and other legally problematic stuff is stripped out. -Provides: bundled(ffmpeg) = 3.2git +Provides: bundled(ffmpeg) = 5.1.2 Provides: bundled(fips181) = 2.2.3 + %if 0%{?bundlefontconfig} Provides: bundled(fontconfig) = 2.12.6 %endif + %if 0%{?bundlefreetype} Provides: bundled(freetype) = 2.11.0git %endif + Provides: bundled(gperftools) = svn144 %if 0%{?bundleharfbuzz} Provides: bundled(harfbuzz) = 2.4.0 %endif + Provides: bundled(hunspell) = 1.6.0 Provides: bundled(iccjpeg) + %if 0%{?bundleicu} Provides: bundled(icu) = 58.1 %endif + Provides: bundled(kitchensink) = 1 Provides: bundled(leveldb) = 1.20 Provides: bundled(libaddressinput) = 0 + %if 0%{?bundlelibdrm} Provides: bundled(libdrm) = 2.4.85 %endif + Provides: bundled(libevent) = 1.4.15 Provides: bundled(libjingle) = 9564 + %if 0%{?bundlelibjpeg} Provides: bundled(libjpeg-turbo) = 1.4.90 %endif + Provides: bundled(libphonenumber) = a4da30df63a097d67e3c429ead6790ad91d36cf4 + %if 0%{?bundlelibpng} Provides: bundled(libpng) = 1.6.22 %endif + Provides: bundled(libsrtp) = 2cbd85085037dc7bf2eda48d4cf62e2829056e2d + %if %{bundlelibusbx} Provides: bundled(libusbx) = 1.0.17 %endif + Provides: bundled(libvpx) = 1.6.0 + %if %{bundlelibwebp} Provides: bundled(libwebp) = 0.6.0 %endif + %if %{bundlelibxml} # Well, it's actually newer than 2.9.4 and has code in it that has been reverted upstream... but eh. Provides: bundled(libxml) = 2.9.4 %endif + Provides: bundled(libXNVCtrl) = 302.17 Provides: bundled(libyuv) = 1651 Provides: bundled(lzma) = 15.14 @@ -816,15 +845,19 @@ Provides: bundled(libudis86) = 1.7.1 Provides: bundled(mesa) = 9.0.3 Provides: bundled(NSBezierPath) = 1.0 Provides: bundled(mozc) + %if %{bundleopus} Provides: bundled(opus) = 1.1.3 %endif + Provides: bundled(ots) = 8d70cffebbfa58f67a5c3ed0e9bc84dccdbc5bc0 Provides: bundled(protobuf) = 3.0.0.beta.3 Provides: bundled(qcms) = 4 + %if 0%{?bundlere2} Provides: bundled(re2) %endif + Provides: bundled(sfntly) = 04740d2600193b14aa3ef24cd9fbb3d5996b9f77 Provides: bundled(skia) Provides: bundled(SMHasher) = 0 @@ -844,39 +877,9 @@ Provides: bundled(xdg-user-dirs) # For selinux scriptlet Requires(post): /usr/sbin/semanage Requires(post): /usr/sbin/restorecon -%if %{?shared} -# Do nothing -%else -Provides: chromium-libs = %{version}-%{release} -Obsoletes: chromium-libs <= %{version}-%{release} -Provides: chromium-libs-media = %{version}-%{release} -Obsoletes: chromium-libs-media <= %{version}-%{release} -# This may not actually be true (depending on how freeworld is set). But what -# is definite here is that if we're upgrading from a shared build to a static -# build none of the shared subpackages (or replacement packages) will work at -# all and without these provides/obsoletes, the upgrade transaction will fail. -# Since we have no way of conditionalizing whether the user has the freeworld -# replacement, we just assume they do. -Provides: chromium-libs-media-freeworld = %{version}-%{release} -Obsoletes: chromium-libs-media-freeworld <= %{version}-%{release} -%endif - -%if %{?freeworld} -%if %{?shared} -%description -Chromium media libraries built with all possible codecs. Chromium is an -open-source web browser, powered by WebKit (Blink). This package replaces -the default chromium-libs-media package, which is limited in what it -can include. -%else -%description -Chromium built with all possible codecs. Chromium is an -open-source web browser, powered by WebKit (Blink). -%endif -%else + %description Chromium is an open-source web browser, powered by WebKit (Blink). -%endif
%package common Summary: Files needed for both the headless_shell and full Chromium @@ -906,29 +909,6 @@ Obsoletes: chrome-remote-desktop <= 81.0.4044.138 %description common %{summary}.
-%if 0%{?shared} -%package libs -Summary: Shared libraries used by chromium (and chrome-remote-desktop) -Requires: chromium-common%{_isa} = %{version}-%{release} -Requires: chromium-libs-media%{_isa} >= %{majorversion} -Requires(post): %{_sbindir}/update-alternatives -Requires(preun): %{_sbindir}/update-alternatives - -%description libs -Shared libraries used by chromium (and chrome-remote-desktop). - -%if ! %{freeworld} -%package libs-media -Summary: Shared libraries used by the chromium media subsystem -Requires: chromium-libs%{_isa} = %{version} -Requires(post): %{_sbindir}/update-alternatives -Requires(preun): %{_sbindir}/update-alternatives - -%description libs-media -Shared libraries used by the chromium media subsystem. -%endif -%endif - %if %{build_remoting} %package -n chrome-remote-desktop Requires(pre): shadow-utils @@ -941,11 +921,7 @@ Requires: python3-psutil %else Requires: python2-psutil %endif -%if 0%{?shared} -Requires: chromium-libs%{_isa} = %{version}-%{release} -%else Requires: chromium-common%{_isa} = %{version}-%{release} -%endif Summary: Remote desktop support for google-chrome & chromium
%description -n chrome-remote-desktop @@ -954,15 +930,7 @@ Remote desktop support for google-chrome & chromium.
%package -n chromedriver Summary: WebDriver for Google Chrome/Chromium -%if 0%{?shared} -Requires: chromium-libs%{_isa} = %{version}-%{release} -%else -Requires: chromium-common%{_isa} = %{version}-%{release} -%endif -# From Russian Fedora (minus the epoch) -Provides: chromedriver-stable = %{version}-%{release} -Conflicts: chromedriver-testing -Conflicts: chromedriver-unstable +Requires: chromium-common%{_isa} = %{version}-%{release}
%description -n chromedriver WebDriver is an open source tool for automated testing of webapps across many @@ -973,7 +941,7 @@ members of the Chromium and WebDriver teams.
%package headless Summary: A minimal headless shell built from Chromium -Requires: chromium-common%{_isa} = %{version}-%{release} +Requires: chromium-common%{_isa} = %{version}-%{release}
%description headless A minimal headless client built from Chromium. headless_shell is built @@ -981,7 +949,6 @@ without support for alsa, cups, dbus, gconf, gio, kerberos, pulseaudio, or udev.
%prep -%setup -q -T -c -n depot_tools -a 2 %setup -q -n chromium-%{version}
### Chromium Fedora Patches ### @@ -992,26 +959,28 @@ udev. %patch5 -p1 -b .nozlibmangle %patch6 -p1 -b .nounrar %patch7 -p1 -b .widevine-hack -%patch10 -p1 -b .widevine-other-locations +%patch8 -p1 -b .widevine-other-locations + %if 0%{?build_with_python3} %patch11 -p1 -b .py3 %endif
# Short term fixes (usually gcc and backports) %patch51 -p1 -b .gcc-remoting-constexpr + %if 0%{?fedora} || 0%{?rhel} >= 8 %patch52 -p1 -b .unbundle-zlib %endif + %patch56 -p1 -b .missing-cstdint %patch57 -p1 -b .missing-cstring -%patch58 -p1 -b .ffmpeg-deprecations %patch59 -p1 -b .VirtualCursor-std-layout
%if ! 0%{?bundleminizip} %patch61 -p1 -b .system-minizip %endif -%patch62 -p1 -b .update-wayland-client-core
+# %%patch62 -p1 -b .update-wayland-client-core %patch65 -p1 -b .java-only-allowed %patch67 -p1 -b .remoting-cstring %patch68 -p1 -b .i686-textrels @@ -1022,10 +991,12 @@ udev. %patch82 -p1 -b .remoting-no-tests %patch84 -p1 -b .remoting-missing-cmath-header %patch86 -p1 -b .clang-format-py3 + %if 0%{?fedora} >= 37 %patch87 -p1 -b .markdownsafe-soft_str %endif -%patch88 -p1 -b .arm64-gcc-fix + +# %%patch88 -p1 -b .arm64-gcc-fix %patch97 -p1 -b .remoting-extra-qualification %patch98 -p1 -b .InkDropHost-crash %patch99 -p1 -b .enable-WebRTCPipeWireCapturer-byDefault @@ -1037,14 +1008,23 @@ udev.
%patch113 -p1 -b .memset
+%if 0%{?bundleffmpeg} +# nothing +%else +%patch114 -p1 -b .system-ffmppeg +%patch115 -p1 -b .prop-codecs +%endif + # EPEL specific patches %if 0%{?rhel} == 7 +%patch100 -p1 -b .el7-memfd-fcntl-include +%patch101 -p1 -b .wayland-strndup-error +%patch102 -p1 -b .drop-python-importlib-metadata %patch103 -p1 -b .epel7-header-workarounds %patch104 -p1 -b .el7cups -%patch105 -p1 -b .el7-memfd-include -%patch109 -p1 -b .el7-erase-fix -%patch111 -p1 -b .el7-extra-operator-equalequal -%patch112 -p1 -b .fcntl +%patch105 -p1 -b .el7-old-libdrm +%patch106 -p1 -b .el7-erase-fix +%patch107 -p1 -b .el7-extra-operator-equalequal %endif
%if 0%{?rhel} == 8 @@ -1064,13 +1044,6 @@ udev. %patch300 -p1 -b .disblegnomekeyring %endif
-# rhel9 support -%if 0%{?rhel} >= 9 -%patch350 -p1 -b .neon_2_sse-gcc -%endif - -%patch400 -p1 -b .gcc11 - # Change shebang in all relevant files in this directory and all subdirectories # See `man find` for how the `-exec command {} +` syntax works %if 0%{?build_with_python3} @@ -1079,22 +1052,7 @@ find -type f -exec sed -iE '1s=^#! */usr/bin/(python|env python)[23]?=#!%{__ find -type f -exec sed -iE '1s=^#! */usr/bin/(python|env python)[23]?=#!%{__python2}=' {} + %endif
-%if 0%{?asan} -export CC="clang" -export CXX="clang++" -%else -export CC="gcc" -export CXX="g++" -%endif -export AR="ar" -export RANLIB="ranlib" - -rm -rf buildtools/third_party/libc++/BUILD.gn - # Unpack fonts -%if %{freeworld} -# no font fun needed. -%else pushd third_party/test_fonts mkdir test_fonts cd test_fonts @@ -1129,6 +1087,7 @@ cp -a /usr/share/fonts/google-croscore/Cousine-*.ttf . cp -a /usr/share/fonts/google-croscore/Tinos-*.ttf . %endif %endif + %if 0%{?rhel} == 7 tar xf %{SOURCE112} mv lohit-gurmukhi-ttf-2.91.2/Lohit-Gurmukhi.ttf . @@ -1138,86 +1097,193 @@ unzip %{SOURCE113} cp -a /usr/share/fonts/lohit-gurmukhi/Lohit-Gurmukhi.ttf . cp -a /usr/share/fonts/google-noto-cjk/NotoSansCJKjp-Regular.otf . %endif + %if 0%{?fedora} >= 32 || 0%{?rhel} >= 9 cp -a /usr/share/fonts/dejavu-sans-fonts/DejaVuSans.ttf /usr/share/fonts/dejavu-sans-fonts/DejaVuSans-Bold.ttf . %else cp -a /usr/share/fonts/dejavu/DejaVuSans.ttf /usr/share/fonts/dejavu/DejaVuSans-Bold.ttf . %endif + %if 0%{?fedora} >= 33 || 0%{?rhel} >= 9 cp -a /usr/share/fonts/thai-scalable/Garuda.otf . sed -i 's|Garuda.ttf|Garuda.otf|g' ../BUILD.gn %else cp -a /usr/share/fonts/thai-scalable/Garuda.ttf . %endif + cp -a /usr/share/fonts/lohit-devanagari/Lohit-Devanagari.ttf /usr/share/fonts/lohit-tamil/Lohit-Tamil.ttf . cp -a /usr/share/fonts/google-noto/NotoSansKhmer-Regular.ttf . cp -a /usr/share/fonts/google-noto-emoji/NotoColorEmoji.ttf . + %if 0%{?fedora} >= 30 cp -a /usr/share/fonts/google-noto/NotoSansSymbols2-Regular.ttf . %else cp -a %{SOURCE114} . %endif + cp -a %{SOURCE115} . popd + +%if 0%{?rhel} == 8 + pushd third_party/node/linux +%ifarch x86_64 + tar xf %{SOURCE19} + mv node-%{nodejs_version}-linux-x64 node-linux-x64 +%endif +%ifarch aarch64 + tar xf %{SOURCE21} + mv node-%{nodejs_version}-linux-arm64 node-linux-arm64 + # This is weird, but whatever + ln -s node-linux-arm64 node-linux-x64 +%endif +popd +%else + mkdir -p third_party/node/linux/node-linux-x64/bin + ln -s %{_bindir}/node third_party/node/linux/node-linux-x64/bin/node +%endif + +# Get rid of the pre-built eu-strip binary, it is x86_64 and of mysterious origin +rm -rf buildtools/third_party/eu-strip/bin/eu-strip + +# Replace it with a symlink to the Fedora copy +ln -s %{_bindir}/eu-strip buildtools/third_party/eu-strip/bin/eu-strip + +%if %{bundlelibusbx} +# no hackity hack hack +%else +# hackity hack hack +rm -rf third_party/libusb/src/libusb/libusb.h +# we _shouldn't need to do this, but it looks like we do. +cp -a %{_includedir}/libusb-1.0/libusb.h third_party/libusb/src/libusb/libusb.h +%endif + +# Hard code extra version +sed -i.orig -e 's/getenv("CHROME_VERSION_EXTRA")/"Fedora Project"/' chrome/common/channel_info_posix.cc + +# Fix hardcoded path in remoting code +sed -i 's|/opt/google/chrome-remote-desktop|%{crd_path}|g' remoting/host/setup/daemon_controller_delegate_linux.cc + +# reduce debuginfos +sed -i 's|-g2|-g0|g' build/config/compiler/BUILD.gn + +%build +# utf8 issue on epel7 +# Internal parsing error 'ascii' codec can't decode byte 0xe2 in position 474: ordinal not in range(128) +export LC_ALL=en_US.UTF-8 + +# Turning the buildsystem up to 11. +ulimit -n 4096 + +# reduce warnings +FLAGS="-Wno-deprecated-declarations -Wno-unknown-warning-option" +export CFLAGS="$FLAGS" +export CXXFLAGS="$FLAGS" + +%if 0%{?clang} +export CC="clang" +export CXX="clang++" +export AR="llvm-ar" +export NM="llvm-nm" +export READELF="llvm-readelf" +%else +export CC="gcc" +export CXX="g++" +export AR="ar" +export NM="nm" +export READELF="eu-readelf" +%endif + +# enable toolset on el7 +%if 0%{?rhel} == 7 +%if 0%{?clang} +. /opt/rh/llvm-toolset-%{llvm_toolset_version}/enable +%else +. /opt/rh/%{toolset}-%{dts_version}/enable +%endif +%endif + +# enable toolset on el8 +%if 0%{?rhel} == 8 && !0%{?clang} +. /opt/rh/%{toolset}-%{dts_version}/enable %endif
# Core defines are flags that are true for both the browser and headless. CHROMIUM_CORE_GN_DEFINES="" +# using system toolchain +CHROMIUM_CORE_GN_DEFINES+=' custom_toolchain="//build/toolchain/linux/unbundle:default"' +CHROMIUM_CORE_GN_DEFINES+=' host_toolchain="//build/toolchain/linux/unbundle:default"' CHROMIUM_CORE_GN_DEFINES+=' is_debug=false dcheck_always_on=false dcheck_is_configurable=false' -%ifarch x86_64 aarch64 -CHROMIUM_CORE_GN_DEFINES+=' system_libdir="lib64"' -%endif +CHROMIUM_CORE_GN_DEFINES+=' use_goma=false' +CHROMIUM_CORE_GN_DEFINES+=' system_libdir="%{_lib}"' %if %{official_build} CHROMIUM_CORE_GN_DEFINES+=' is_official_build=true use_thin_lto=false is_cfi=false chrome_pgo_phase=0 use_debug_fission=true' sed -i 's|OFFICIAL_BUILD|GOOGLE_CHROME_BUILD|g' tools/generate_shim_headers/generate_shim_headers.py -# Too much debuginfo for i686 and aarch64 -%ifarch i686 aarch64 +# Too much debuginfo sed -i 's|-g2|-g0|g' build/config/compiler/BUILD.gn %endif -%endif %if %{useapikey} CHROMIUM_CORE_GN_DEFINES+=' google_api_key="%{api_key}"' %endif %if %{userestrictedapikeys} CHROMIUM_CORE_GN_DEFINES+=' google_default_client_id="%{default_client_id}" google_default_client_secret="%{default_client_secret}"' %endif -CHROMIUM_CORE_GN_DEFINES+=' is_clang=false use_sysroot=false disable_fieldtrial_testing_config=true use_lld=false rtc_enable_symbol_export=true' +%if %{?clang} + CHROMIUM_CORE_GN_DEFINES+=' is_clang=true' + CHROMIUM_CORE_GN_DEFINES+=' clang_base_path="%{_prefix}"' + CHROMIUM_CORE_GN_DEFINES+=' clang_use_chrome_plugins=false' + CHROMIUM_CORE_GN_DEFINES+=' use_lld=true' +%else + CHROMIUM_CORE_GN_DEFINES+=' is_clang=false' + CHROMIUM_CORE_GN_DEFINES+=' use_lld=false' +%endif +CHROMIUM_CORE_GN_DEFINES+=' use_sysroot=false disable_fieldtrial_testing_config=true rtc_enable_symbol_export=true' %if %{use_gold} CHROMIUM_CORE_GN_DEFINES+=' use_gold=true' %else CHROMIUM_CORE_GN_DEFINES+=' use_gold=false' %endif - -%if %{freeworld} -CHROMIUM_CORE_GN_DEFINES+=' ffmpeg_branding="ChromeOS" proprietary_codecs=true' -%else CHROMIUM_CORE_GN_DEFINES+=' ffmpeg_branding="Chromium" proprietary_codecs=false' -%endif +CHROMIUM_CORE_GN_DEFINES+=' media_use_openh264=false' +CHROMIUM_CORE_GN_DEFINES+=' rtc_use_h264=false' CHROMIUM_CORE_GN_DEFINES+=' treat_warnings_as_errors=false' CHROMIUM_CORE_GN_DEFINES+=' use_custom_libcxx=false' CHROMIUM_CORE_GN_DEFINES+=' use_kerberos=true' +CHROMIUM_CORE_GN_DEFINES+=' target_os="linux"' +CHROMIUM_CORE_GN_DEFINES+=' current_os="linux"' +CHROMIUM_CORE_GN_DEFINES+=' use_allocator="none"' +CHROMIUM_CORE_GN_DEFINES+=' enable_vr=false' +CHROMIUM_CORE_GN_DEFINES+=' build_dawn_tests=false' +CHROMIUM_CORE_GN_DEFINES+=' enable_iterator_debugging=false' +CHROMIUM_CORE_GN_DEFINES+=' enable_js_type_check=false' + %ifarch aarch64 -CHROMIUM_CORE_GN_DEFINES+=' target_cpu="arm64"' + CHROMIUM_CORE_GN_DEFINES+=' target_cpu="arm64"' %endif + %if %{?use_jumbo} -CHROMIUM_CORE_GN_DEFINES+=' use_jumbo_build=true jumbo_file_merge_limit=8' + CHROMIUM_CORE_GN_DEFINES+=' use_jumbo_build=true jumbo_file_merge_limit=8' %endif + %if 0%{?rhel} == 8 -CHROMIUM_CORE_GN_DEFINES+=' use_gnome_keyring=false use_glib=true' + CHROMIUM_CORE_GN_DEFINES+=' use_gnome_keyring=false use_glib=true' +%endif + +%if 0%{?use_qt} + CHROMIUM_CORE_GN_DEFINES+=' use_qt=true' +%else + CHROMIUM_CORE_GN_DEFINES+=' use_qt=false' %endif export CHROMIUM_CORE_GN_DEFINES
CHROMIUM_BROWSER_GN_DEFINES="" CHROMIUM_BROWSER_GN_DEFINES+=' use_gio=true use_pulseaudio=true icu_use_data_file=true' CHROMIUM_BROWSER_GN_DEFINES+=' enable_nacl=false' -%if 0%{?shared} -CHROMIUM_BROWSER_GN_DEFINES+=' is_component_ffmpeg=true is_component_build=true' -%else -CHROMIUM_BROWSER_GN_DEFINES+=' is_component_ffmpeg=false is_component_build=false' -%endif +CHROMIUM_BROWSER_GN_DEFINES+=' is_component_ffmpeg=false' +CHROMIUM_BROWSER_GN_DEFINES+=' is_component_build=false' CHROMIUM_BROWSER_GN_DEFINES+=' blink_symbol_level=0 enable_hangout_services_extension=true' CHROMIUM_BROWSER_GN_DEFINES+=' use_aura=true' CHROMIUM_BROWSER_GN_DEFINES+=' enable_widevine=true' + %if %{use_vaapi} %if 0%{?fedora} >= 28 CHROMIUM_BROWSER_GN_DEFINES+=' use_vaapi=true' @@ -1225,323 +1291,23 @@ CHROMIUM_BROWSER_GN_DEFINES+=' use_vaapi=true' %else CHROMIUM_BROWSER_GN_DEFINES+=' use_vaapi=false' %endif + %if 0%{?fedora} CHROMIUM_BROWSER_GN_DEFINES+=' rtc_use_pipewire=true rtc_link_pipewire=true' %endif -%if 0%{?use_qt} - CHROMIUM_BROWSER_GN_DEFINES+=' use_qt=true' -%else - CHROMIUM_BROWSER_GN_DEFINES+=' use_qt=false' -%endif + CHROMIUM_BROWSER_GN_DEFINES+=' use_system_libffi=true' export CHROMIUM_BROWSER_GN_DEFINES
+# headless gn defines CHROMIUM_HEADLESS_GN_DEFINES="" CHROMIUM_HEADLESS_GN_DEFINES+=' use_ozone=true ozone_auto_platforms=false ozone_platform="headless" ozone_platform_headless=true' CHROMIUM_HEADLESS_GN_DEFINES+=' headless_use_embedded_resources=false icu_use_data_file=false v8_use_external_startup_data=false' CHROMIUM_HEADLESS_GN_DEFINES+=' enable_nacl=false enable_print_preview=false enable_remoting=false use_alsa=false' CHROMIUM_HEADLESS_GN_DEFINES+=' use_cups=false use_dbus=true use_gio=false use_kerberos=false use_libpci=false' -CHROMIUM_HEADLESS_GN_DEFINES+=' use_pulseaudio=false use_udev=false use_gtk=false use_glib=false use_qt=false' +CHROMIUM_HEADLESS_GN_DEFINES+=' use_pulseaudio=false use_udev=false use_gtk=false use_glib=false' export CHROMIUM_HEADLESS_GN_DEFINES
-%if 0%{?rhel} && 0%{?rhel} <= 8 -pushd third_party/node/linux -%ifarch x86_64 -tar xf %{SOURCE19} -mv node-v16.17.0-linux-x64 node-linux-x64 -%endif -%ifarch aarch64 -tar xf %{SOURCE21} -mv node-v16.17.0-linux-arm64 node-linux-arm64 -# This is weird, but whatever -ln -s node-linux-arm64 node-linux-x64 -%endif -popd -%else -mkdir -p third_party/node/linux/node-linux-x64/bin -ln -s %{_bindir}/node third_party/node/linux/node-linux-x64/bin/node -%endif - -# Remove most of the bundled libraries. Libraries specified below (taken from -# Gentoo's Chromium ebuild) are the libraries that needs to be preserved. -build/linux/unbundle/remove_bundled_libraries.py \ - 'base/third_party/cityhash' \ - 'base/third_party/cityhash_v103' \ - 'base/third_party/double_conversion' \ - 'base/third_party/dynamic_annotations' \ - 'base/third_party/icu' \ - 'base/third_party/nspr' \ - 'base/third_party/superfasthash' \ - 'base/third_party/symbolize' \ - 'base/third_party/valgrind' \ - 'base/third_party/xdg_mime' \ - 'base/third_party/xdg_user_dirs' \ - 'buildtools/third_party/eu-strip' \ - 'buildtools/third_party/libc++' \ - 'buildtools/third_party/libc++abi' \ - 'chrome/third_party/mozilla_security_manager' \ - 'courgette/third_party' \ - 'net/third_party/mozilla_security_manager' \ - 'net/third_party/nss' \ - 'net/third_party/quiche' \ - 'net/third_party/uri_template' \ - 'third_party/abseil-cpp' \ - 'third_party/angle' \ - 'third_party/angle/src/common/third_party/base' \ - 'third_party/angle/src/common/third_party/smhasher' \ - 'third_party/angle/src/common/third_party/xxhash' \ - 'third_party/angle/src/third_party/libXNVCtrl' \ - 'third_party/angle/src/third_party/trace_event' \ - 'third_party/angle/src/third_party/volk' \ - 'third_party/apple_apsl' \ - 'third_party/axe-core' \ - 'third_party/blanketjs' \ - 'third_party/blink' \ - 'third_party/bidimapper' \ - 'third_party/boringssl' \ - 'third_party/boringssl/src/third_party/fiat' \ - 'third_party/breakpad' \ - 'third_party/breakpad/breakpad/src/third_party/curl' \ - 'third_party/brotli' \ - 'third_party/catapult' \ - 'third_party/catapult/common/py_vulcanize/third_party/rcssmin' \ - 'third_party/catapult/common/py_vulcanize/third_party/rjsmin' \ - 'third_party/catapult/third_party/beautifulsoup4' \ - 'third_party/catapult/third_party/beautifulsoup4-4.9.3' \ - 'third_party/catapult/third_party/google-endpoints' \ - 'third_party/catapult/third_party/html5lib-1.1' \ - 'third_party/catapult/third_party/html5lib-python' \ - 'third_party/catapult/third_party/polymer' \ - 'third_party/catapult/third_party/six' \ - 'third_party/catapult/tracing/third_party/d3' \ - 'third_party/catapult/tracing/third_party/gl-matrix' \ - 'third_party/catapult/tracing/third_party/jpeg-js' \ - 'third_party/catapult/tracing/third_party/jszip' \ - 'third_party/catapult/tracing/third_party/mannwhitneyu' \ - 'third_party/catapult/tracing/third_party/oboe' \ - 'third_party/catapult/tracing/third_party/pako' \ - 'third_party/ced' \ - 'third_party/cld_3' \ - 'third_party/closure_compiler' \ - 'third_party/content_analysis_sdk' \ - 'third_party/cpuinfo' \ - 'third_party/crashpad' \ - 'third_party/crashpad/crashpad/third_party/lss' \ - 'third_party/crashpad/crashpad/third_party/zlib/' \ - 'third_party/crc32c' \ - 'third_party/cros_system_api' \ - 'third_party/dav1d' \ - 'third_party/dawn' \ - 'third_party/dawn/third_party/gn' \ - 'third_party/dawn/third_party/khronos' \ - 'third_party/depot_tools' \ - 'third_party/devscripts' \ - 'third_party/devtools-frontend' \ - 'third_party/devtools-frontend/src/third_party/typescript' \ - 'third_party/devtools-frontend/src/front_end/third_party' \ - 'third_party/devtools-frontend/src/front_end/third_party/acorn' \ - 'third_party/devtools-frontend/src/front_end/third_party/axe-core' \ - 'third_party/devtools-frontend/src/front_end/third_party/chromium' \ - 'third_party/devtools-frontend/src/front_end/third_party/codemirror' \ - 'third_party/devtools-frontend/src/front_end/third_party/diff' \ - 'third_party/devtools-frontend/src/front_end/third_party/i18n' \ - 'third_party/devtools-frontend/src/front_end/third_party/intl-messageformat' \ - 'third_party/devtools-frontend/src/front_end/third_party/lighthouse' \ - 'third_party/devtools-frontend/src/front_end/third_party/lit-html' \ - 'third_party/devtools-frontend/src/front_end/third_party/lodash-isequal' \ - 'third_party/devtools-frontend/src/front_end/third_party/marked' \ - 'third_party/devtools-frontend/src/front_end/third_party/puppeteer' \ - 'third_party/devtools-frontend/src/front_end/third_party/wasmparser' \ - 'third_party/devtools-frontend/src/test/unittests/front_end/third_party/i18n' \ - 'third_party/devtools-frontend/src/third_party' \ - 'third_party/distributed_point_functions' \ - 'third_party/dom_distiller_js' \ - 'third_party/eigen3' \ - 'third_party/emoji-segmenter' \ - 'third_party/expat' \ - 'third_party/farmhash' \ - 'third_party/fdlibm' \ - 'third_party/ffmpeg' \ - 'third_party/fft2d' \ - 'third_party/flac' \ - 'third_party/flatbuffers' \ - 'third_party/fontconfig' \ - 'third_party/fp16' \ - 'third_party/freetype' \ - 'third_party/fusejs' \ - 'third_party/fxdiv' \ - 'third_party/gemmlowp' \ - 'third_party/google_input_tools' \ - 'third_party/google_input_tools/third_party/closure_library' \ - 'third_party/google_input_tools/third_party/closure_library/third_party/closure' \ - 'third_party/google_trust_services' \ - 'third_party/googletest' \ - 'third_party/grpc' \ - 'third_party/harfbuzz-ng' \ - 'third_party/highway' \ - 'third_party/hunspell' \ - 'third_party/iccjpeg' \ - 'third_party/icu' \ - 'third_party/inspector_protocol' \ - 'third_party/ipcz' \ - 'third_party/jinja2' \ - 'third_party/jsoncpp' \ - 'third_party/jstemplate' \ - 'third_party/khronos' \ - 'third_party/leveldatabase' \ - 'third_party/libaddressinput' \ - 'third_party/libaom' \ - 'third_party/libaom/source/libaom/third_party/fastfeat' \ - 'third_party/libaom/source/libaom/third_party/vector' \ - 'third_party/libaom/source/libaom/third_party/x86inc' \ - 'third_party/libavif' \ - 'third_party/libdrm' \ - 'third_party/libevent' \ - 'third_party/libgav1' \ - 'third_party/libgifcodec' \ - 'third_party/libjingle' \ - 'third_party/libjpeg_turbo' \ - 'third_party/libjxl' \ - 'third_party/libphonenumber' \ - 'third_party/libpng' \ - 'third_party/libsecret' \ - 'third_party/libsrtp' \ - 'third_party/libsync' \ - 'third_party/libudev' \ - 'third_party/liburlpattern' \ - 'third_party/libusb' \ - 'third_party/libva_protected_content' \ - 'third_party/libvpx' \ - 'third_party/libvpx/source/libvpx/third_party/x86inc' \ - 'third_party/libwebm' \ - 'third_party/libwebp' \ - 'third_party/libx11' \ - 'third_party/libxcb-keysyms' \ - 'third_party/libxml' \ - 'third_party/libxml/chromium' \ - 'third_party/libxslt' \ - 'third_party/libyuv' \ - 'third_party/libzip' \ - 'third_party/lottie' \ - 'third_party/lss' \ - 'third_party/lzma_sdk' \ - 'third_party/mako' \ - 'third_party/maldoca' \ - 'third_party/maldoca/src/third_party/tensorflow_protos' \ - 'third_party/maldoca/src/third_party/zlibwrapper' \ - 'third_party/markupsafe' \ - 'third_party/mesa' \ - 'third_party/metrics_proto' \ - 'third_party/minigbm' \ - 'third_party/modp_b64' \ - 'third_party/nasm' \ - 'third_party/nearby' \ - 'third_party/neon_2_sse' \ - 'third_party/node' \ - 'third_party/omnibox_proto' \ - 'third_party/one_euro_filter' \ -%if %{freeworld} - 'third_party/openh264' \ -%endif - 'third_party/openscreen' \ - 'third_party/openscreen/src/third_party/mozilla' \ - 'third_party/openscreen/src/third_party/tinycbor' \ - 'third_party/opus' \ - 'third_party/ots' \ - 'third_party/pdfium' \ - 'third_party/pdfium/third_party/agg23' \ - 'third_party/pdfium/third_party/base' \ - 'third_party/pdfium/third_party/bigint' \ - 'third_party/pdfium/third_party/freetype' \ - 'third_party/pdfium/third_party/lcms' \ - 'third_party/pdfium/third_party/libopenjpeg' \ - 'third_party/pdfium/third_party/libpng16' \ - 'third_party/pdfium/third_party/libtiff' \ - 'third_party/pdfium/third_party/skia_shared' \ - 'third_party/perfetto' \ - 'third_party/perfetto/protos/third_party/chromium' \ - 'third_party/pffft' \ - 'third_party/ply' \ - 'third_party/polymer' \ - 'third_party/pthreadpool' \ - 'third_party/private-join-and-compute' \ - 'third_party/private_membership' \ - 'third_party/protobuf' \ - 'third_party/protobuf/third_party/six' \ - 'third_party/pyjson5' \ - 'third_party/qcms' \ - 'third_party/qunit' \ -%if 0%{?bundlere2} - 'third_party/re2' \ -%endif - 'third_party/rnnoise' \ - 'third_party/ruy' \ - 'third_party/s2cellid' \ - 'third_party/securemessage' \ - 'third_party/shell-encryption' \ - 'third_party/simplejson' \ - 'third_party/sinonjs' \ - 'third_party/six' \ - 'third_party/skia' \ - 'third_party/skia/include/third_party/vulkan' \ - 'third_party/skia/third_party/vulkan' \ - 'third_party/smhasher' \ - 'third_party/snappy' \ - 'third_party/speech-dispatcher' \ - 'third_party/sqlite' \ - 'third_party/swiftshader' \ - 'third_party/swiftshader/third_party/astc-encoder' \ - 'third_party/swiftshader/third_party/llvm-subzero' \ - 'third_party/swiftshader/third_party/llvm-10.0' \ - 'third_party/swiftshader/third_party/marl' \ - 'third_party/swiftshader/third_party/subzero' \ - 'third_party/swiftshader/third_party/SPIRV-Headers' \ - 'third_party/swiftshader/third_party/SPIRV-Tools' \ - 'third_party/tensorflow-text' \ - 'third_party/test_fonts' \ - 'third_party/tflite' \ - 'third_party/tflite/src/third_party/eigen3' \ - 'third_party/tflite/src/third_party/fft2d' \ - 'third_party/ukey2' \ - 'third_party/usb_ids' \ - 'third_party/utf' \ - 'third_party/vulkan' \ - 'third_party/wayland' \ - 'third_party/web-animations-js' \ - 'third_party/webdriver' \ - 'third_party/webgpu-cts' \ - 'third_party/webrtc' \ - 'third_party/webrtc/common_audio/third_party/ooura' \ - 'third_party/webrtc/common_audio/third_party/spl_sqrt_floor' \ - 'third_party/webrtc/modules/third_party/fft' \ - 'third_party/webrtc/modules/third_party/g711' \ - 'third_party/webrtc/modules/third_party/g722' \ - 'third_party/webrtc/rtc_base/third_party/base64' \ - 'third_party/webrtc/rtc_base/third_party/sigslot' \ - 'third_party/widevine' \ - 'third_party/woff2' \ - 'third_party/wuffs' \ - 'third_party/x11proto' \ - 'third_party/xcbproto' \ - 'third_party/xdg-utils' \ - 'third_party/xnnpack' \ - 'third_party/zxcvbn-cpp' \ - 'third_party/zlib' \ - 'third_party/zlib/google' \ - 'tools/gn/src/base/third_party/icu' \ - 'url/third_party/mozilla' \ - 'v8/src/third_party/siphash' \ - 'v8/src/third_party/utf8-decoder' \ - 'v8/src/third_party/valgrind' \ - 'v8/third_party/v8' \ - 'v8/third_party/inspector_protocol' \ - --do-remove - -# Fix hardcoded path in remoting code -sed -i 's|/opt/google/chrome-remote-desktop|%{crd_path}|g' remoting/host/setup/daemon_controller_delegate_linux.cc - -export PATH=$PATH:%{_builddir}/depot_tools - build/linux/unbundle/replace_gn_files.py --system-libraries \ %if 0%{?bundlefontconfig} %else @@ -1596,33 +1362,11 @@ build/linux/unbundle/replace_gn_files.py --system-libraries \ %else zlib \ %endif - flac - -# fix arm gcc -sed -i 's|arm-linux-gnueabihf-|arm-linux-gnu-|g' build/toolchain/linux/BUILD.gn - -%ifarch aarch64 -# We don't need to cross compile while building on an aarch64 system. -sed -i 's|aarch64-linux-gnu-||g' build/toolchain/linux/BUILD.gn - -# Correct the ninja file to check for aarch64, not just x86. -sed -i '/${LONG_BIT}/ a \ aarch64)' ../depot_tools/ninja -sed -i '/aarch64)/ a \ exec "/usr/bin/ninja-build" "$@";;' ../depot_tools/ninja -%endif -sed -i 's|exec "${THIS_DIR}/ninja-linux${LONG_BIT}"|exec "/usr/bin/ninja-build"|g' ../depot_tools/ninja - -# Get rid of the pre-built eu-strip binary, it is x86_64 and of mysterious origin -rm -rf buildtools/third_party/eu-strip/bin/eu-strip -# Replace it with a symlink to the Fedora copy -ln -s %{_bindir}/eu-strip buildtools/third_party/eu-strip/bin/eu-strip - -%if 0%{?rhel} == 7 -. /opt/rh/devtoolset-%{dts_version}/enable -%endif - -%if 0%{?rhel} == 8 -. /opt/rh/gcc-toolset-%{dts_version}/enable +%if 0%{?bundleffmpeg} +%else + ffmpeg \ %endif + flac
# Check that there is no system 'google' module, shadowing bundled ones: %if 0%{?build_with_python3} @@ -1635,70 +1379,18 @@ if python2 -c 'import google ; print google.__path__' 2> /dev/null ; then \ exit 1 ; \ fi
-tools/gn/bootstrap/bootstrap.py -v --no-clean --gn-gen-args="$CHROMIUM_CORE_GN_DEFINES $CHROMIUM_BROWSER_GN_DEFINES" +tools/gn/bootstrap/bootstrap.py --gn-gen-args="$CHROMIUM_CORE_GN_DEFINES $CHROMIUM_BROWSER_GN_DEFINES" %{builddir}/gn --script-executable=%{chromium_pybin} gen --args="$CHROMIUM_CORE_GN_DEFINES $CHROMIUM_BROWSER_GN_DEFINES" %{builddir}
-%if %{freeworld} -# do not need to do headless gen -%else %if %{build_headless} %{builddir}/gn --script-executable=%{chromium_pybin} gen --args="$CHROMIUM_CORE_GN_DEFINES $CHROMIUM_HEADLESS_GN_DEFINES" %{headlessbuilddir} %endif -%endif
%if %{build_remoting} %{builddir}/gn --script-executable=%{chromium_pybin} gen --args="$CHROMIUM_CORE_GN_DEFINES $CHROMIUM_BROWSER_GN_DEFINES" %{remotingbuilddir} %endif
-%if %{bundlelibusbx} -# no hackity hack hack -%else -# hackity hack hack -rm -rf third_party/libusb/src/libusb/libusb.h -# we _shouldn't need to do this, but it looks like we do. -cp -a %{_includedir}/libusb-1.0/libusb.h third_party/libusb/src/libusb/libusb.h -%endif - -# Hard code extra version -FILE=chrome/common/channel_info_posix.cc -sed -i.orig -e 's/getenv("CHROME_VERSION_EXTRA")/"Fedora Project"/' $FILE - -%build -# utf8 issue in epel7 -# Internal parsing error 'ascii' codec can't decode byte 0xe2 in position 474: ordinal not in range(128) -export LC_CTYPE=C.UTF-8 - -# Turning the buildsystem up to 11. -ulimit -n 4096 - -# unpack a local copy of the xcb-proto bits -tar xf %{SOURCE20} - -%if 0%{?rhel} == 7 -. /opt/rh/devtoolset-%{dts_version}/enable -%endif - -%if 0%{?rhel} == 8 -. /opt/rh/gcc-toolset-%{dts_version}/enable -%endif - -# Decrease the debuginfo verbosity, so it compiles in koji -%ifarch %{ix86} -%global optflags %(echo %{optflags} | sed 's/-g /-g1 /') -%endif - -# export PYTHONPATH="../../third_party/pyjson5/src:../../third_party/catapult/third_party/google-endpoints:../../xcb-proto-1.14" -%if 0%{?rhel} == 8 -export PYTHONPATH="../../third_party/protobuf/third_party/six:../../third_party/pyjson5/src:../../xcb-proto-1.14:../../third_party/catapult/third_party/html5lib-1.1" -%else -export PYTHONPATH="../../third_party/pyjson5/src:../../xcb-proto-1.14:../../third_party/catapult/third_party/html5lib-1.1" -%endif - echo -# Now do the full browser -%if 0%{freeworld} -%build_target %{builddir} media -%else %if %{build_headless} # Do headless first. %build_target %{headlessbuilddir} headless_shell @@ -1707,17 +1399,18 @@ echo %build_target %{builddir} chrome %build_target %{builddir} chrome_sandbox %build_target %{builddir} chromedriver + %if %{build_clear_key_cdm} %build_target %{builddir} clear_key_cdm %endif + %build_target %{builddir} policy_templates
%if %{build_remoting} # remote client -# ../../depot_tools/ninja -C ../%{builddir} -vvv remoting_me2me_host remoting_start_host remoting_it2me_native_messaging_host remoting_me2me_native_messaging_host remoting_native_messaging_manifests remoting_resources +# ninja -C ../%{builddir} -vvv remoting_me2me_host remoting_start_host remoting_it2me_native_messaging_host remoting_me2me_native_messaging_host remoting_native_messaging_manifests remoting_resources %build_target %{remotingbuilddir} remoting_all %endif -%endif
# bug #827861, vk_swiftshader_icd.json not getting properly installed in out/Release sed -e 's|${ICD_LIBRARY_PATH}|./libvk_swiftshader.so|g' third_party/swiftshader/src/Vulkan/vk_swiftshader_icd.json.tmpl > out/Release/vk_swiftshader_icd.json @@ -1725,209 +1418,178 @@ sed -e 's|${ICD_LIBRARY_PATH}|./libvk_swiftshader.so|g' third_party/swiftshader/ %install rm -rf %{buildroot}
-%if 0%{freeworld} - mkdir -p %{buildroot}%{chromium_path} +mkdir -p %{buildroot}%{_bindir} +mkdir -p %{buildroot}%{chromium_path} +cp -a %{SOURCE3} %{buildroot}%{chromium_path}/%{chromium_browser_channel}.sh
- pushd %{builddir} - cp -a libffmpeg.so* %{buildroot}%{chromium_path} - cp -a libmedia.so* %{buildroot}%{chromium_path} - mv %{buildroot}%{chromium_path}/libffmpeg.so{,.%{lsuffix}} - mv %{buildroot}%{chromium_path}/libffmpeg.so.TOC{,.%{lsuffix}} - mv %{buildroot}%{chromium_path}/libmedia.so{,.%{lsuffix}} - mv %{buildroot}%{chromium_path}/libmedia.so.TOC{,.%{lsuffix}} - popd +export BUILD_TARGET=`cat /etc/redhat-release` +export CHROMIUM_PATH=%{chromium_path} +export CHROMIUM_BROWSER_CHANNEL=%{chromium_browser_channel} + +sed -i "s|@@BUILD_TARGET@@|$BUILD_TARGET|g" %{buildroot}%{chromium_path}/%{chromium_browser_channel}.sh +sed -i "s|@@CHROMIUM_PATH@@|$CHROMIUM_PATH|g" %{buildroot}%{chromium_path}/%{chromium_browser_channel}.sh +sed -i "s|@@CHROMIUM_BROWSER_CHANNEL@@|$CHROMIUM_BROWSER_CHANNEL|g" %{buildroot}%{chromium_path}/%{chromium_browser_channel}.sh + +%if "%{chromium_channel}" == "%{nil}" + sed -i "s|@@EXTRA_FLAGS@@||g" %{buildroot}%{chromium_path}/%{chromium_browser_channel}.sh %else - mkdir -p %{buildroot}%{_bindir} - mkdir -p %{buildroot}%{chromium_path} - cp -a %{SOURCE3} %{buildroot}%{chromium_path}/%{chromium_browser_channel}.sh - export BUILD_TARGET=`cat /etc/redhat-release` - export CHROMIUM_PATH=%{chromium_path} - export CHROMIUM_BROWSER_CHANNEL=%{chromium_browser_channel} - sed -i "s|@@BUILD_TARGET@@|$BUILD_TARGET|g" %{buildroot}%{chromium_path}/%{chromium_browser_channel}.sh - sed -i "s|@@CHROMIUM_PATH@@|$CHROMIUM_PATH|g" %{buildroot}%{chromium_path}/%{chromium_browser_channel}.sh - sed -i "s|@@CHROMIUM_BROWSER_CHANNEL@@|$CHROMIUM_BROWSER_CHANNEL|g" %{buildroot}%{chromium_path}/%{chromium_browser_channel}.sh - %if "%{chromium_channel}" == "%{nil}" - sed -i "s|@@EXTRA_FLAGS@@||g" %{buildroot}%{chromium_path}/%{chromium_browser_channel}.sh - %else - # Enable debug outputs for beta and dev channels - export EXTRA_FLAGS="--enable-logging=stderr --v=2" - sed -i "s|@@EXTRA_FLAGS@@|$EXTRA_FLAGS|g" %{buildroot}%{chromium_path}/%{chromium_browser_channel}.sh - %endif + # Enable debug outputs for beta and dev channels + export EXTRA_FLAGS="--enable-logging=stderr --v=2" + sed -i "s|@@EXTRA_FLAGS@@|$EXTRA_FLAGS|g" %{buildroot}%{chromium_path}/%{chromium_browser_channel}.sh +%endif
- ln -s %{chromium_path}/%{chromium_browser_channel}.sh %{buildroot}%{_bindir}/%{chromium_browser_channel} - mkdir -p %{buildroot}%{_mandir}/man1/ - - pushd %{builddir} - cp -a *.pak locales resources icudtl.dat %{buildroot}%{chromium_path} - %ifarch x86_64 i686 aarch64 - # cp -a swiftshader %{buildroot}%{chromium_path} - # strip %{buildroot}%{chromium_path}/swiftshader/libEGL.so - # strip %{buildroot}%{chromium_path}/swiftshader/libGLESv2.so - cp -a libvk_swiftshader.so* %{buildroot}%{chromium_path} - strip %{buildroot}%{chromium_path}/libvk_swiftshader.so - cp -a libvulkan.so* %{buildroot}%{chromium_path} - strip %{buildroot}%{chromium_path}/libvulkan.so.1 - cp -a vk_swiftshader_icd.json %{buildroot}%{chromium_path} - %endif - cp -a chrome %{buildroot}%{chromium_path}/%{chromium_browser_channel} - # Explicitly strip chromium-browser (since we don't use debuginfo here anyway) - strip %{buildroot}%{chromium_path}/%{chromium_browser_channel} - cp -a chrome_sandbox %{buildroot}%{chromium_path}/chrome-sandbox - strip %{buildroot}%{chromium_path}/chrome-sandbox - cp -a chrome_crashpad_handler %{buildroot}%{chromium_path}/chrome_crashpad_handler - strip %{buildroot}%{chromium_path}/chrome_crashpad_handler - cp -a ../../chrome/app/resources/manpage.1.in %{buildroot}%{_mandir}/man1/%{chromium_browser_channel}.1 - sed -i "s|@@PACKAGE@@|%{chromium_browser_channel}|g" %{buildroot}%{_mandir}/man1/%{chromium_browser_channel}.1 - sed -i "s|@@MENUNAME@@|%{chromium_menu_name}|g" %{buildroot}%{_mandir}/man1/%{chromium_browser_channel}.1 - # V8 initial snapshots - # https://code.google.com/p/chromium/issues/detail?id=421063 - cp -a snapshot_blob.bin %{buildroot}%{chromium_path} - cp -a v8_context_snapshot.bin %{buildroot}%{chromium_path} - cp -a xdg-mime xdg-settings %{buildroot}%{chromium_path} - cp -a MEIPreload %{buildroot}%{chromium_path} - # This is ANGLE, not to be confused with the similarly named files under swiftshader/ - cp -a libEGL.so* libGLESv2.so* %{buildroot}%{chromium_path} - strip %{buildroot}%{chromium_path}/libEGL.so - strip %{buildroot}%{chromium_path}/libGLESv2.so - - %if %{build_clear_key_cdm} - %ifarch i686 - cp -a ClearKeyCdm/_platform_specific/linux_x86/libclearkeycdm.so %{buildroot}%{chromium_path} + +ln -sr %{chromium_path}/%{chromium_browser_channel}.sh %{buildroot}%{_bindir}/%{chromium_browser_channel} +mkdir -p %{buildroot}%{_mandir}/man1/ + +pushd %{builddir} + cp -a chrom*.pak resources.pak locales resources icudtl.dat %{buildroot}%{chromium_path} + %ifarch x86_64 i686 aarch64 + cp -a libvk_swiftshader.so %{buildroot}%{chromium_path} + strip %{buildroot}%{chromium_path}/libvk_swiftshader.so + cp -a libvulkan.so.1 %{buildroot}%{chromium_path} + strip %{buildroot}%{chromium_path}/libvulkan.so.1 + cp -a vk_swiftshader_icd.json %{buildroot}%{chromium_path} + %endif + cp -a chrome %{buildroot}%{chromium_path}/%{chromium_browser_channel} + # Explicitly strip chromium-browser (since we don't use debuginfo here anyway) + strip %{buildroot}%{chromium_path}/%{chromium_browser_channel} + cp -a chrome_sandbox %{buildroot}%{chromium_path}/chrome-sandbox + strip %{buildroot}%{chromium_path}/chrome-sandbox + cp -a chrome_crashpad_handler %{buildroot}%{chromium_path}/chrome_crashpad_handler + strip %{buildroot}%{chromium_path}/chrome_crashpad_handler + cp -a ../../chrome/app/resources/manpage.1.in %{buildroot}%{_mandir}/man1/%{chromium_browser_channel}.1 + sed -i "s|@@PACKAGE@@|%{chromium_browser_channel}|g" %{buildroot}%{_mandir}/man1/%{chromium_browser_channel}.1 + sed -i "s|@@MENUNAME@@|%{chromium_menu_name}|g" %{buildroot}%{_mandir}/man1/%{chromium_browser_channel}.1 + + # V8 initial snapshots + # https://code.google.com/p/chromium/issues/detail?id=421063 + cp -a snapshot_blob.bin %{buildroot}%{chromium_path} + cp -a v8_context_snapshot.bin %{buildroot}%{chromium_path} + cp -a xdg-mime xdg-settings %{buildroot}%{chromium_path} + cp -a MEIPreload %{buildroot}%{chromium_path} + + # This is ANGLE, not to be confused with the similarly named files under swiftshader/ + cp -a libEGL.so libGLESv2.so %{buildroot}%{chromium_path} + strip %{buildroot}%{chromium_path}/libEGL.so + strip %{buildroot}%{chromium_path}/libGLESv2.so + + %if %{build_clear_key_cdm} + %ifarch i686 + cp -a ClearKeyCdm/_platform_specific/linux_x86/libclearkeycdm.so %{buildroot}%{chromium_path} + %else + %ifarch x86_64 + cp -a ClearKeyCdm/_platform_specific/linux_x64/libclearkeycdm.so %{buildroot}%{chromium_path} %else - %ifarch x86_64 - cp -a ClearKeyCdm/_platform_specific/linux_x64/libclearkeycdm.so %{buildroot}%{chromium_path} + %ifarch aarch64 + cp -a ClearKeyCdm/_platform_specific/linux_arm64/libclearkeycdm.so %{buildroot}%{chromium_path} %else - %ifarch aarch64 - cp -a ClearKeyCdm/_platform_specific/linux_arm64/libclearkeycdm.so %{buildroot}%{chromium_path} - %else - cp -a libclearkeycdm.so %{buildroot}%{chromium_path} - %endif + cp -a libclearkeycdm.so %{buildroot}%{chromium_path} %endif %endif - strip %{buildroot}%{chromium_path}/libclearkeycdm.so %endif + strip %{buildroot}%{chromium_path}/libclearkeycdm.so + %endif
- %if 0%{?shared} - cp -a lib*.so* %{buildroot}%{chromium_path} - # cp -p %%{buildroot}%{chromium_path}/libwidevinecdm.so{,.fedora} - cp -p %{buildroot}%{chromium_path}/libffmpeg.so{,.%{lsuffix}} - cp -p %{buildroot}%{chromium_path}/libffmpeg.so.TOC{,.%{lsuffix}} - cp -p %{buildroot}%{chromium_path}/libmedia.so{,.%{lsuffix}} - cp -p %{buildroot}%{chromium_path}/libmedia.so.TOC{,.%{lsuffix}} - %endif + # chromedriver + cp -a chromedriver %{buildroot}%{chromium_path}/chromedriver + ln -sr %{chromium_path}/chromedriver %{buildroot}%{_bindir}/chromedriver
- # chromedriver - cp -a chromedriver %{buildroot}%{chromium_path}/chromedriver - ln -s %{chromium_path}/chromedriver %{buildroot}%{_bindir}/chromedriver - - %if %{build_remoting} - # Remote desktop bits - mkdir -p %{buildroot}%{crd_path} - - %if 0%{?shared} - pushd %{buildroot}%{crd_path} - for i in ../chromium-browser%{?chromium_channel}/lib*.so; do - libname=`basename $i` - ln -s $i $libname - done - popd - %endif - %endif - popd %if %{build_remoting} - pushd %{remotingbuilddir} - - # Hey, there is a library now. - cp -a libremoting_core.so* %{buildroot}%{crd_path}/ - strip %{buildroot}%{crd_path}/libremoting_core.so - - # See remoting/host/installer/linux/Makefile for logic - cp -a remoting_native_messaging_host %{buildroot}%{crd_path}/native-messaging-host - cp -a remote_assistance_host %{buildroot}%{crd_path}/remote-assistance-host - cp -a remoting_locales %{buildroot}%{crd_path}/ - cp -a remoting_me2me_host %{buildroot}%{crd_path}/chrome-remote-desktop-host - cp -a remoting_start_host %{buildroot}%{crd_path}/start-host - cp -a remoting_user_session %{buildroot}%{crd_path}/user-session - chmod +s %{buildroot}%{crd_path}/user-session - - # chromium - mkdir -p %{buildroot}%{_sysconfdir}/chromium/native-messaging-hosts - # google-chrome - mkdir -p %{buildroot}%{_sysconfdir}/opt/chrome/ - cp -a remoting/* %{buildroot}%{_sysconfdir}/chromium/native-messaging-hosts/ - for i in %{buildroot}%{_sysconfdir}/chromium/native-messaging-hosts/*.json; do - sed -i 's|/opt/google/chrome-remote-desktop|%{crd_path}|g' $i - done - mkdir -p %{buildroot}%{_sysconfdir}/opt/chrome/native-messaging-hosts - pushd %{buildroot}%{_sysconfdir}/opt/chrome/native-messaging-hosts - for i in ../../../chromium/native-messaging-hosts/*; do - # rpm gets unhappy when we symlink here - cp -a $i . - done - popd - popd - - mkdir -p %{buildroot}/var/lib/chrome-remote-desktop - touch %{buildroot}/var/lib/chrome-remote-desktop/hashes - - mkdir -p %{buildroot}%{_sysconfdir}/pam.d/ - pushd %{buildroot}%{_sysconfdir}/pam.d/ - ln -s system-auth chrome-remote-desktop - popd + # Remote desktop bits + mkdir -p %{buildroot}%{crd_path} %endif +popd
- %if %{build_headless} - pushd %{headlessbuilddir} - cp -a headless_lib_data.pak headless_lib_strings.pak headless_shell %{buildroot}%{chromium_path} - # Explicitly strip headless_shell binary - strip %{buildroot}%{chromium_path}/headless_shell +%if %{build_remoting} + pushd %{remotingbuilddir} + # Hey, there is a library now. + cp -a libremoting_core.so* %{buildroot}%{crd_path}/ + strip %{buildroot}%{crd_path}/libremoting_core.so + + # See remoting/host/installer/linux/Makefile for logic + cp -a remoting_native_messaging_host %{buildroot}%{crd_path}/native-messaging-host + cp -a remote_assistance_host %{buildroot}%{crd_path}/remote-assistance-host + cp -a remoting_locales %{buildroot}%{crd_path}/ + cp -a remoting_me2me_host %{buildroot}%{crd_path}/chrome-remote-desktop-host + cp -a remoting_start_host %{buildroot}%{crd_path}/start-host + cp -a remoting_user_session %{buildroot}%{crd_path}/user-session + chmod +s %{buildroot}%{crd_path}/user-session + + # chromium + mkdir -p %{buildroot}%{_sysconfdir}/chromium/native-messaging-hosts + # google-chrome + mkdir -p %{buildroot}%{_sysconfdir}/opt/chrome/ + cp -a remoting/* %{buildroot}%{_sysconfdir}/chromium/native-messaging-hosts/ + for i in %{buildroot}%{_sysconfdir}/chromium/native-messaging-hosts/*.json; do + sed -i 's|/opt/google/chrome-remote-desktop|%{crd_path}|g' $i + done + mkdir -p %{buildroot}%{_sysconfdir}/opt/chrome/native-messaging-hosts + pushd %{buildroot}%{_sysconfdir}/opt/chrome/native-messaging-hosts + for i in ../../../chromium/native-messaging-hosts/*; do + # rpm gets unhappy when we symlink here + cp -a $i . + done popd - %endif + popd
- %if %{build_remoting} - cp -a remoting/host/linux/linux_me2me_host.py %{buildroot}%{crd_path}/chrome-remote-desktop - cp -a remoting/host/installer/linux/is-remoting-session %{buildroot}%{crd_path}/ + mkdir -p %{buildroot}/var/lib/chrome-remote-desktop + touch %{buildroot}/var/lib/chrome-remote-desktop/hashes
- mkdir -p %{buildroot}%{_unitdir} - cp -a %{SOURCE11} %{buildroot}%{_unitdir}/ - sed -i 's|@@CRD_PATH@@|%{crd_path}|g' %{buildroot}%{_unitdir}/chrome-remote-desktop@.service - %endif + mkdir -p %{buildroot}%{_sysconfdir}/pam.d/ + pushd %{buildroot}%{_sysconfdir}/pam.d/ + ln -s system-auth chrome-remote-desktop + popd +%endif
- # Add directories for policy management - mkdir -p %{buildroot}%{_sysconfdir}/chromium/policies/managed - mkdir -p %{buildroot}%{_sysconfdir}/chromium/policies/recommended +%if %{build_headless} + pushd %{headlessbuilddir} + cp -a headless_lib_data.pak headless_lib_strings.pak headless_shell %{buildroot}%{chromium_path} + # Explicitly strip headless_shell binary + strip %{buildroot}%{chromium_path}/headless_shell + popd +%endif
- cp -a out/Release/gen/chrome/app/policy/common/html/en-US/*.html . - cp -a out/Release/gen/chrome/app/policy/linux/examples/chrome.json . +%if %{build_remoting} + cp -a remoting/host/linux/linux_me2me_host.py %{buildroot}%{crd_path}/chrome-remote-desktop + cp -a remoting/host/installer/linux/is-remoting-session %{buildroot}%{crd_path}/
- mkdir -p %{buildroot}%{_datadir}/icons/hicolor/256x256/apps - cp -a chrome/app/theme/chromium/product_logo_256.png %{buildroot}%{_datadir}/icons/hicolor/256x256/apps/%{chromium_browser_channel}.png - mkdir -p %{buildroot}%{_datadir}/icons/hicolor/128x128/apps - cp -a chrome/app/theme/chromium/product_logo_128.png %{buildroot}%{_datadir}/icons/hicolor/128x128/apps/%{chromium_browser_channel}.png - mkdir -p %{buildroot}%{_datadir}/icons/hicolor/64x64/apps - cp -a chrome/app/theme/chromium/product_logo_64.png %{buildroot}%{_datadir}/icons/hicolor/64x64/apps/%{chromium_browser_channel}.png - mkdir -p %{buildroot}%{_datadir}/icons/hicolor/48x48/apps - cp -a chrome/app/theme/chromium/product_logo_48.png %{buildroot}%{_datadir}/icons/hicolor/48x48/apps/%{chromium_browser_channel}.png - mkdir -p %{buildroot}%{_datadir}/icons/hicolor/24x24/apps - cp -a chrome/app/theme/chromium/product_logo_24.png %{buildroot}%{_datadir}/icons/hicolor/24x24/apps/%{chromium_browser_channel}.png + mkdir -p %{buildroot}%{_unitdir} + cp -a %{SOURCE11} %{buildroot}%{_unitdir}/ + sed -i 's|@@CRD_PATH@@|%{crd_path}|g' %{buildroot}%{_unitdir}/chrome-remote-desktop@.service +%endif
- # Install the master_preferences file - mkdir -p %{buildroot}%{_sysconfdir}/%{name} - install -m 0644 %{SOURCE13} %{buildroot}%{_sysconfdir}/%{name}/ +# Add directories for policy management +mkdir -p %{buildroot}%{_sysconfdir}/chromium/policies/managed +mkdir -p %{buildroot}%{_sysconfdir}/chromium/policies/recommended
- mkdir -p %{buildroot}%{_datadir}/applications/ - desktop-file-install --dir %{buildroot}%{_datadir}/applications %{SOURCE4} +cp -a out/Release/gen/chrome/app/policy/common/html/en-US/*.html . +cp -a out/Release/gen/chrome/app/policy/linux/examples/chrome.json .
- install -D -m0644 chrome/installer/linux/common/chromium-browser/chromium-browser.appdata.xml ${RPM_BUILD_ROOT}%{_datadir}/metainfo/%{chromium_browser_channel}.appdata.xml - appstream-util validate-relax --nonet ${RPM_BUILD_ROOT}%{_datadir}/metainfo/%{chromium_browser_channel}.appdata.xml +mkdir -p %{buildroot}%{_datadir}/icons/hicolor/256x256/apps +cp -a chrome/app/theme/chromium/product_logo_256.png %{buildroot}%{_datadir}/icons/hicolor/256x256/apps/%{chromium_browser_channel}.png +mkdir -p %{buildroot}%{_datadir}/icons/hicolor/128x128/apps +cp -a chrome/app/theme/chromium/product_logo_128.png %{buildroot}%{_datadir}/icons/hicolor/128x128/apps/%{chromium_browser_channel}.png +mkdir -p %{buildroot}%{_datadir}/icons/hicolor/64x64/apps +cp -a chrome/app/theme/chromium/product_logo_64.png %{buildroot}%{_datadir}/icons/hicolor/64x64/apps/%{chromium_browser_channel}.png +mkdir -p %{buildroot}%{_datadir}/icons/hicolor/48x48/apps +cp -a chrome/app/theme/chromium/product_logo_48.png %{buildroot}%{_datadir}/icons/hicolor/48x48/apps/%{chromium_browser_channel}.png +mkdir -p %{buildroot}%{_datadir}/icons/hicolor/24x24/apps +cp -a chrome/app/theme/chromium/product_logo_24.png %{buildroot}%{_datadir}/icons/hicolor/24x24/apps/%{chromium_browser_channel}.png
- mkdir -p %{buildroot}%{_datadir}/gnome-control-center/default-apps/ - cp -a %{SOURCE9} %{buildroot}%{_datadir}/gnome-control-center/default-apps/ +# Install the master_preferences file +mkdir -p %{buildroot}%{_sysconfdir}/%{name} +install -m 0644 %{SOURCE13} %{buildroot}%{_sysconfdir}/%{name}/
- mkdir -p %{buildroot}%{chromium_path}/PepperFlash +mkdir -p %{buildroot}%{_datadir}/applications/ +desktop-file-install --dir %{buildroot}%{_datadir}/applications %{SOURCE4}
-# freeworld conditional -%endif +install -D -m0644 chrome/installer/linux/common/chromium-browser/chromium-browser.appdata.xml \ + ${RPM_BUILD_ROOT}%{_datadir}/metainfo/%{chromium_browser_channel}.appdata.xml +appstream-util validate-relax --nonet ${RPM_BUILD_ROOT}%{_datadir}/metainfo/%{chromium_browser_channel}.appdata.xml + +mkdir -p %{buildroot}%{_datadir}/gnome-control-center/default-apps/ +cp -a %{SOURCE9} %{buildroot}%{_datadir}/gnome-control-center/default-apps/
%post # Set SELinux labels - semanage itself will adjust the lib directory naming @@ -1948,44 +1610,6 @@ if st and st.type == "link" then end %endif
-%if %{shared} -%if %{freeworld} -%posttrans -n chromium-libs-media-freeworld -%{_sbindir}/update-alternatives --install \ - %{_libdir}/chromium-browser/libffmpeg.so libffmpeg.so \ - %{_libdir}/chromium-browser/libffmpeg.so.freeworld 20 \ - --slave %{_libdir}/chromium-browser/libffmpeg.so.TOC libffmpeg.so.TOC \ - %{_libdir}/chromium-browser/libffmpeg.so.TOC.freeworld \ - --slave %{_libdir}/chromium-browser/libmedia.so libmedia.so \ - %{_libdir}/chromium-browser/libmedia.so.freeworld \ - --slave %{_libdir}/chromium-browser/libmedia.so.TOC libmedia.so.TOC \ - %{_libdir}/chromium-browser/libmedia.so.TOC.freeworld - -%preun -n chromium-libs-media-freeworld -if [ $1 = 0 ]; then - %{_sbindir}/alternatives --remove libffmpeg.so \ - %{_libdir}/chromium-browser/libffmpeg.so.freeworld -fi -%else -%posttrans libs-media -%{_sbindir}/update-alternatives --install \ - %{_libdir}/chromium-browser/libffmpeg.so libffmpeg.so \ - %{_libdir}/chromium-browser/libffmpeg.so.fedora 10 \ - --slave %{_libdir}/chromium-browser/libffmpeg.so.TOC libffmpeg.so.TOC \ - %{_libdir}/chromium-browser/libffmpeg.so.TOC.fedora \ - --slave %{_libdir}/chromium-browser/libmedia.so libmedia.so \ - %{_libdir}/chromium-browser/libmedia.so.fedora \ - --slave %{_libdir}/chromium-browser/libmedia.so.TOC libmedia.so.TOC \ - %{_libdir}/chromium-browser/libmedia.so.TOC.fedora - -%preun libs-media -if [ $1 = 0 ]; then - %{_sbindir}/alternatives --remove libffmpeg.so \ - %{_libdir}/chromium-browser/libffmpeg.so.fedora -fi -%endif -%endif - %if %{build_remoting} %pre -n chrome-remote-desktop getent group chrome-remote-desktop >/dev/null || groupadd -r chrome-remote-desktop @@ -2000,18 +1624,14 @@ getent group chrome-remote-desktop >/dev/null || groupadd -r chrome-remote-deskt %systemd_postun_with_restart chrome-remote-desktop@.service %endif
-%if 0%{freeworld} -# We only build libs-media-freeworld. -%else - %files %doc AUTHORS %doc chrome_policy_list.html *.json %license LICENSE %config %{_sysconfdir}/%{name}/ -# %%dir %%{_sysconfdir}/%%{name}/native-messaging-hosts -# This is chrome-remote-desktop stuff +%if %{build_remoting} %exclude %{_sysconfdir}/%{name}/native-messaging-hosts/* +%endif %{_bindir}/%{chromium_browser_channel} %dir %{chromium_path} %{chromium_path}/*.bin @@ -2024,13 +1644,6 @@ getent group chrome-remote-desktop >/dev/null || groupadd -r chrome-remote-deskt %{chromium_path}/libEGL.so* %{chromium_path}/libGLESv2.so* %{chromium_path}/MEIPreload/ -%dir %{chromium_path}/PepperFlash/ -%if 0 -%{chromium_path}/protoc -%endif -# %%{chromium_path}/remoting_locales/ -# %%{chromium_path}/pseudo_locales/ -# %%{chromium_path}/plugins/ %attr(4755, root, root) %{chromium_path}/chrome-sandbox %{chromium_path}/xdg-mime %{chromium_path}/xdg-settings @@ -2048,13 +1661,12 @@ getent group chrome-remote-desktop >/dev/null || groupadd -r chrome-remote-deskt %if %{build_clear_key_cdm} %{chromium_path}/libclearkeycdm.so %endif -# %%{chromium_path}/mus_app_resources_*.pak + %if 0 %{chromium_path}/pyproto/ %endif %{chromium_path}/resources/ %ifarch x86_64 i686 aarch64 -# %%{chromium_path}/swiftshader/ %{chromium_path}/libvk_swiftshader.so* %{chromium_path}/libvulkan.so* %{chromium_path}/vk_swiftshader_icd.json @@ -2130,23 +1742,12 @@ getent group chrome-remote-desktop >/dev/null || groupadd -r chrome-remote-deskt %{chromium_path}/headless_shell %endif
-%if 0%{?shared} -%files libs -%exclude %{chromium_path}/libffmpeg.so* -%exclude %{chromium_path}/libmedia.so* -# %%exclude %%{chromium_path}/libwidevinecdm.so -%{chromium_path}/lib*.so* -%endif - %if %{build_remoting} %files -n chrome-remote-desktop %{crd_path}/chrome-remote-desktop %{crd_path}/chrome-remote-desktop-host %{crd_path}/is-remoting-session %{crd_path}/libremoting_core.so* -%if 0%{?shared} -%{crd_path}/lib*.so -%endif %{crd_path}/native-messaging-host %{crd_path}/remote-assistance-host %{_sysconfdir}/pam.d/chrome-remote-desktop @@ -2165,22 +1766,11 @@ getent group chrome-remote-desktop >/dev/null || groupadd -r chrome-remote-deskt %{_bindir}/chromedriver %{chromium_path}/chromedriver
-%endif - -%if 0%{?shared} -%if %{freeworld} -%files -n chromium-libs-media-freeworld -%else -%files libs-media -%endif -%{chromium_path}/libffmpeg.so.%{lsuffix}* -%{chromium_path}/libffmpeg.so.TOC.%{lsuffix}* -%{chromium_path}/libmedia.so.%{lsuffix}* -%{chromium_path}/libmedia.so.TOC.%{lsuffix}* -%endif - - %changelog +* Wed Dec 28 2022 Than Ngo than@redhat.com - 108.0.5359.124-1 +- update to 108.0.5359.124 +- switch to clang + * Tue Nov 29 2022 Than Ngo than@redhat.com - 107.0.5304.121-1 - update to 107.0.5304.121
diff --git a/sources b/sources index bf539e7..adb7c77 100644 --- a/sources +++ b/sources @@ -15,10 +15,8 @@ SHA512 (Tinos-Bold.ttf) = 54aeca804c06a4d5c57ade596e73df91a6a1c4401c4aadba55d987 SHA512 (Tinos-Italic.ttf) = d4f4f096110ef98a781a2a0e0d319317e5f84e650fe6f4d4f6b0e22a16414278217f37497b904a18540273c0e2d79d4f1faabde3b0eb5446283b318c73bafb38 SHA512 (Tinos-Regular.ttf) = 58085c5dac6d067d60ba2ab3220c4a0cc1efcf279cadfcfb8746a5e5fa1a6f6daa62750dc2051b3b2d8a51b4d2e9bb0f66594caf2253c0870ed9c7286fa45e8f SHA512 (Ahem.ttf) = aeb64b10ab9c87860714cb60b4900254b13dc52c51319256a1a3722c882026ab7c616bf628fbc2fe14e38a6003f3a481af60b52a7ed62071d28ddaf428e4e3fd -SHA512 (xcb-proto-1.14.tar.xz) = de66d568163b6da2be9d6c59984f3afa3acd119a781378638045fd68018665ef5c9af98f024e9962ba3eb7c7a4d85c27ba70ffafceb2324ccc6940f34de16690 -SHA512 (depot_tools.git-master.tar.gz) = dc323888812b66cc92c53a24a8a58ccf9e2961be67aa21852bd091b8b49569071f06ae9104cb58950e6253ac3a29f0db0663e9f35ef2b1ea28696efb38b42708 SHA512 (NotoSansSymbols2-Regular.ttf) = 2644b42c3fdccfe12395f9b61553aced169a0f1dc09f5a0fd7898e9d0a372ee4422b6b1cdab3c86ecc91db437e9ae8a951e64e85edc3ac9e9fca428852dbb2ad SHA512 (NotoSansTibetan-Regular.ttf) = fb5a48fcaea80eebe7d692f6fcf00d59d47658a358d0ec8e046fc559873f88bd595b2da474d2826abd9e9305f3741c69058d867b1e6048f37fe7d71b5d3af36a SHA512 (node-v16.17.0-linux-x64.tar.xz) = aedfeeb71420a7fbcb07fbc4c5d2ba74ffe4f88c15998809346a84148132ec866dbae4e848531a2a77ca41413f442e1046f981d4f188bdf667faf88069aa28cd SHA512 (node-v16.17.0-linux-arm64.tar.xz) = ae4aabc2389779c9e1b4a15622cae3ba50e0c313ca3d7a1dc7b2344df06ade1f303d6a75b941d37e2a0ef368cf047c862a822a893684494f55446afd6ab0610e -SHA512 (chromium-107.0.5304.121-clean.tar.xz) = d50af82aeec0c3683ec73e177eb3bb71b5c05cddf1723500c9e28221d1e5cbf3bfa2b3807672b5fbdceeaaae222723261fdaf72e84e1782c72255f24554aed69 +SHA512 (chromium-108.0.5359.124-clean.tar.xz) = a47fb046b5be2f26f65f467a20fe300a86542bebf3d7e8d8a6064458bf4cfcc0243a1f5212755d1d4121b79f79bc2d3b61d7918431daef26538f0755608e444b
arch-excludes@lists.fedoraproject.org