- conditionalize system_build_flags

- cleaned up gn defines
- add BR on python3-importlib-metadata
- set correct toolchain gcc|clang
epel8
Than Ngo 2 years ago
parent 55ac5ad4da
commit 9677ab57db

@ -1,80 +0,0 @@
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 =

@ -1,5 +1,8 @@
%define _lto_cflags %{nil} %define _lto_cflags %{nil}
# enable|disable system build flags
%global system_build_flags 0
# disable the package notes info on f36 # disable the package notes info on f36
# workaround for linking issue # workaround for linking issue
%if 0%{?fedora} == 36 %if 0%{?fedora} == 36
@ -108,6 +111,13 @@
# enable clang by default # enable clang by default
%global clang 1 %global clang 1
# set correct toolchain
%if %{clang}
%global toolchain clang
%else
%global toolchain gcc
%endif
# enable system brotli # enable system brotli
%global bundlebrotli 0 %global bundlebrotli 0
@ -211,7 +221,7 @@
Name: chromium%{chromium_channel} Name: chromium%{chromium_channel}
Version: 109.0.5414.74 Version: 109.0.5414.74
Release: 1%{?dist} Release: 2%{?dist}
Summary: A WebKit (Blink) powered web browser that Google doesn't want you to use Summary: A WebKit (Blink) powered web browser that Google doesn't want you to use
Url: http://www.chromium.org/Home 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) 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)
@ -299,9 +309,6 @@ Patch86: chromium-94.0.4606.81-clang-format.patch
# This is only in Fedora 37+ # This is only in Fedora 37+
Patch87: chromium-99.0.4844.84-markdownsafe-soft_str.patch 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 # patch for using system brotli
Patch89: chromium-108-system-brotli.patch Patch89: chromium-108-system-brotli.patch
@ -409,7 +416,7 @@ Source16: https://github.com/web-platform-tests/wpt/raw/master/fonts/Ahem.ttf
Source17: GardinerModBug.ttf Source17: GardinerModBug.ttf
Source18: GardinerModCat.ttf Source18: GardinerModCat.ttf
%if 0%{?clang} %if %{clang}
%if 0%{?rhel} == 7 %if 0%{?rhel} == 7
BuildRequires: llvm-toolset-%{llvm_toolset_version} BuildRequires: llvm-toolset-%{llvm_toolset_version}
%else %else
@ -434,7 +441,7 @@ BuildRequires: binutils
%endif %endif
# build with system ffmpeg-free # build with system ffmpeg-free
%if ! 0%{?bundleffmpegfree} %if ! %{bundleffmpegfree}
BuildRequires: pkgconfig(libavcodec) BuildRequires: pkgconfig(libavcodec)
BuildRequires: pkgconfig(libavfilter) BuildRequires: pkgconfig(libavfilter)
BuildRequires: pkgconfig(libavformat) BuildRequires: pkgconfig(libavformat)
@ -442,7 +449,7 @@ BuildRequires: pkgconfig(libavutil)
%endif %endif
# build with system libaom # build with system libaom
%if ! 0%{?bundlelibaom} %if ! %{bundlelibaom}
BuildRequires: libaom-devel BuildRequires: libaom-devel
%endif %endif
@ -459,12 +466,12 @@ BuildRequires: glib2-devel
BuildRequires: glibc-devel BuildRequires: glibc-devel
BuildRequires: gperf BuildRequires: gperf
%if 0%{?use_qt} %if %{use_qt}
BuildRequires: pkgconfig(Qt5Core) BuildRequires: pkgconfig(Qt5Core)
BuildRequires: pkgconfig(Qt5Widgets) BuildRequires: pkgconfig(Qt5Widgets)
%endif %endif
%if ! 0%{?bundleharfbuzz} %if ! %{bundleharfbuzz}
BuildRequires: harfbuzz-devel >= 2.4.0 BuildRequires: harfbuzz-devel >= 2.4.0
%endif %endif
@ -472,7 +479,7 @@ BuildRequires: libatomic
BuildRequires: libcap-devel BuildRequires: libcap-devel
BuildRequires: libcurl-devel BuildRequires: libcurl-devel
%if ! 0%{?bundlelibdrm} %if ! %{bundlelibdrm}
BuildRequires: libdrm-devel BuildRequires: libdrm-devel
%endif %endif
@ -534,7 +541,7 @@ BuildRequires: elfutils
BuildRequires: elfutils-libelf-devel BuildRequires: elfutils-libelf-devel
BuildRequires: flac-devel BuildRequires: flac-devel
%if ! 0%{?bundlefreetype} %if ! %{bundlefreetype}
BuildRequires: freetype-devel BuildRequires: freetype-devel
%endif %endif
@ -545,29 +552,25 @@ BuildRequires: kernel-headers
BuildRequires: libevent-devel BuildRequires: libevent-devel
BuildRequires: libffi-devel BuildRequires: libffi-devel
%if ! 0%{?bundleicu} %if ! %{bundleicu}
# If this is true, we're using the bundled icu. # 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. # We'd like to use the system icu every time, but we cannot always do that.
# Not newer than 54 (at least not right now) # Not newer than 54 (at least not right now)
BuildRequires: libicu-devel = 54.1 BuildRequires: libicu-devel = 54.1
%endif %endif
%if ! 0%{?bundlelibjpeg} %if ! %{bundlelibjpeg}
# If this is true, we're using the bundled libjpeg # 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 # which we need to do because the RHEL 7 libjpeg doesn't work for chromium anymore
BuildRequires: libjpeg-devel BuildRequires: libjpeg-devel
%endif %endif
%if ! 0%{?bundlelibpng} %if ! %{bundlelibpng}
# If this is true, we're using the bundled libpng # 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 # which we need to do because the RHEL 7 libpng doesn't work right anymore
BuildRequires: libpng-devel BuildRequires: libpng-devel
%endif %endif
%if 0
# see https://code.google.com/p/chromium/issues/detail?id=501318
BuildRequires: libsrtp-devel >= 1.4.4
%endif
BuildRequires: libudev-devel BuildRequires: libudev-devel
%if ! %{bundlelibusbx} %if ! %{bundlelibusbx}
@ -575,7 +578,7 @@ Requires: libusbx >= 1.0.21-0.1.git448584a
BuildRequires: libusbx-devel >= 1.0.21-0.1.git448584a BuildRequires: libusbx-devel >= 1.0.21-0.1.git448584a
%endif %endif
%if 0%{?use_vaapi} %if %{use_vaapi}
BuildRequires: libva-devel BuildRequires: libva-devel
%endif %endif
@ -600,7 +603,7 @@ BuildRequires: opus-devel
BuildRequires: perl(Switch) BuildRequires: perl(Switch)
BuildRequires: %{chromium_pybin} BuildRequires: %{chromium_pybin}
%if 0%{gtk3} %if %{gtk3}
BuildRequires: pkgconfig(gtk+-3.0) BuildRequires: pkgconfig(gtk+-3.0)
%else %else
BuildRequires: pkgconfig(gtk+-2.0) BuildRequires: pkgconfig(gtk+-2.0)
@ -609,12 +612,13 @@ BuildRequires: pkgconfig(gtk+-2.0)
BuildRequires: python3-devel BuildRequires: python3-devel
BuildRequires: python3-zipp BuildRequires: python3-zipp
BuildRequires: python3-simplejson BuildRequires: python3-simplejson
BuildRequires: python3-importlib-metadata
%if 0%{?rhel} == 7 || 0%{?rhel} == 8 %if 0%{?rhel} == 7 || 0%{?rhel} == 8
BuildRequires: python3-dataclasses BuildRequires: python3-dataclasses
%endif %endif
%if ! 0%{?bundlepylibs} %if ! %{bundlepylibs}
%if 0%{?fedora} || 0%{?rhel} >= 8 %if 0%{?fedora} || 0%{?rhel} >= 8
BuildRequires: python3-beautifulsoup4 BuildRequires: python3-beautifulsoup4
BuildRequires: python3-html5lib BuildRequires: python3-html5lib
@ -628,12 +632,12 @@ BuildRequires: python-ply
%endif %endif
%endif %endif
%if ! 0%{?bundlere2} %if ! %{bundlere2}
Requires: re2 >= 20160401 Requires: re2 >= 20160401
BuildRequires: re2-devel >= 20160401 BuildRequires: re2-devel >= 20160401
%endif %endif
%if ! 0%{?bundlebrotli} %if ! %{bundlebrotli}
BuildRequires: brotli-devel BuildRequires: brotli-devel
%endif %endif
@ -700,7 +704,7 @@ Source115: https://github.com/googlefonts/noto-fonts/blob/master/hinted/NotoSans
BuildRequires: ninja-build BuildRequires: ninja-build
# Yes, java is needed as well.. # Yes, java is needed as well..
%if 0%{?build_headless} %if %{build_headless}
BuildRequires: java-1.8.0-openjdk-headless BuildRequires: java-1.8.0-openjdk-headless
%endif %endif
@ -709,7 +713,7 @@ Requires: nss%{_isa} >= 3.26
Requires: nss-mdns%{_isa} Requires: nss-mdns%{_isa}
# GTK modules it expects to find for some reason. # GTK modules it expects to find for some reason.
%if 0%{gtk3} %if %{gtk3}
Requires: libcanberra-gtk3%{_isa} Requires: libcanberra-gtk3%{_isa}
%else %else
Requires: libcanberra-gtk2%{_isa} Requires: libcanberra-gtk2%{_isa}
@ -742,7 +746,7 @@ Provides: bundled(bintrees) = 1.0.1
# This is a fork of openssl. # This is a fork of openssl.
Provides: bundled(boringssl) Provides: bundled(boringssl)
%if 0%{?bundlebrotli} %if %{bundlebrotli}
Provides: bundled(brotli) = 222564a95d9ab58865a096b8d9f7324ea5f2e03e Provides: bundled(brotli) = 222564a95d9ab58865a096b8d9f7324ea5f2e03e
%endif %endif
@ -755,34 +759,34 @@ Provides: bundled(expat) = 2.2.0
Provides: bundled(fdmlibm) = 5.3 Provides: bundled(fdmlibm) = 5.3
# Don't get too excited. MPEG and other legally problematic stuff is stripped out. # Don't get too excited. MPEG and other legally problematic stuff is stripped out.
%if %{?bundleffmpegfree} %if %{bundleffmpegfree}
Provides: bundled(ffmpeg) = 5.1.2 Provides: bundled(ffmpeg) = 5.1.2
%endif %endif
%if 0%{?bundlelibaom} %if %{bundlelibaom}
Provides: bundled(libaom) Provides: bundled(libaom)
%endif %endif
Provides: bundled(fips181) = 2.2.3 Provides: bundled(fips181) = 2.2.3
%if 0%{?bundlefontconfig} %if %{bundlefontconfig}
Provides: bundled(fontconfig) = 2.12.6 Provides: bundled(fontconfig) = 2.12.6
%endif %endif
%if 0%{?bundlefreetype} %if %{bundlefreetype}
Provides: bundled(freetype) = 2.11.0git Provides: bundled(freetype) = 2.11.0git
%endif %endif
Provides: bundled(gperftools) = svn144 Provides: bundled(gperftools) = svn144
%if 0%{?bundleharfbuzz} %if %{bundleharfbuzz}
Provides: bundled(harfbuzz) = 2.4.0 Provides: bundled(harfbuzz) = 2.4.0
%endif %endif
Provides: bundled(hunspell) = 1.6.0 Provides: bundled(hunspell) = 1.6.0
Provides: bundled(iccjpeg) Provides: bundled(iccjpeg)
%if 0%{?bundleicu} %if %{bundleicu}
Provides: bundled(icu) = 58.1 Provides: bundled(icu) = 58.1
%endif %endif
@ -790,20 +794,20 @@ Provides: bundled(kitchensink) = 1
Provides: bundled(leveldb) = 1.20 Provides: bundled(leveldb) = 1.20
Provides: bundled(libaddressinput) = 0 Provides: bundled(libaddressinput) = 0
%if 0%{?bundlelibdrm} %if %{bundlelibdrm}
Provides: bundled(libdrm) = 2.4.85 Provides: bundled(libdrm) = 2.4.85
%endif %endif
Provides: bundled(libevent) = 1.4.15 Provides: bundled(libevent) = 1.4.15
Provides: bundled(libjingle) = 9564 Provides: bundled(libjingle) = 9564
%if 0%{?bundlelibjpeg} %if %{bundlelibjpeg}
Provides: bundled(libjpeg-turbo) = 1.4.90 Provides: bundled(libjpeg-turbo) = 1.4.90
%endif %endif
Provides: bundled(libphonenumber) = a4da30df63a097d67e3c429ead6790ad91d36cf4 Provides: bundled(libphonenumber) = a4da30df63a097d67e3c429ead6790ad91d36cf4
%if 0%{?bundlelibpng} %if %{bundlelibpng}
Provides: bundled(libpng) = 1.6.22 Provides: bundled(libpng) = 1.6.22
%endif %endif
@ -840,7 +844,7 @@ Provides: bundled(ots) = 8d70cffebbfa58f67a5c3ed0e9bc84dccdbc5bc0
Provides: bundled(protobuf) = 3.0.0.beta.3 Provides: bundled(protobuf) = 3.0.0.beta.3
Provides: bundled(qcms) = 4 Provides: bundled(qcms) = 4
%if 0%{?bundlere2} %if %{bundlere2}
Provides: bundled(re2) Provides: bundled(re2)
%endif %endif
@ -874,10 +878,10 @@ Summary: Files needed for both the headless_shell and full Chromium
%if 0%{?fedora} >= 30 %if 0%{?fedora} >= 30
Requires: minizip-compat%{_isa} Requires: minizip-compat%{_isa}
%else %else
%if %{?rhel} == 7 %if 0%{?rhel} == 7
# Do nothing # Do nothing
%else %else
%if %{?rhel} == 9 %if 0%{?rhel} == 9
Requires: minizip1.2%{_isa} Requires: minizip1.2%{_isa}
%else %else
Requires: minizip%{_isa} Requires: minizip%{_isa}
@ -956,7 +960,7 @@ udev.
%patch57 -p1 -b .missing-cstring %patch57 -p1 -b .missing-cstring
%patch59 -p1 -b .VirtualCursor-std-layout %patch59 -p1 -b .VirtualCursor-std-layout
%if ! 0%{?bundleminizip} %if ! %{bundleminizip}
%patch61 -p1 -b .system-minizip %patch61 -p1 -b .system-minizip
%endif %endif
@ -972,15 +976,13 @@ udev.
%patch87 -p1 -b .markdownsafe-soft_str %patch87 -p1 -b .markdownsafe-soft_str
%endif %endif
%patch88 -p1 -b .drop-build-dep-on-python3-importlib-metadata %if ! %{bundlebrotli}
%if ! 0%{?bundlebrotli}
%patch89 -p1 -b .system-brotli %patch89 -p1 -b .system-brotli
%endif %endif
%patch90 -p1 -b .disable-GlobalMediaControlsCastStartStop %patch90 -p1 -b .disable-GlobalMediaControlsCastStartStop
%if ! 0%{?bundleopus} %if ! %{bundleopus}
%patch91 -p1 -b .system-opus %patch91 -p1 -b .system-opus
%endif %endif
@ -993,7 +995,7 @@ udev.
%patch12 -p1 -b .fedora-user-agent %patch12 -p1 -b .fedora-user-agent
%endif %endif
%if ! 0%{?bundleffmpegfree} %if ! %{bundleffmpegfree}
%patch114 -p1 -b .system-ffmppeg %patch114 -p1 -b .system-ffmppeg
%patch115 -p1 -b .prop-codecs %patch115 -p1 -b .prop-codecs
%patch116 -p1 -b .first_dts %patch116 -p1 -b .first_dts
@ -1022,13 +1024,13 @@ udev.
%endif %endif
# Feature specific patches # Feature specific patches
%if 0%{?use_vaapi} %if %{use_vaapi}
%patch202 -p1 -b .accel-mjpeg %patch202 -p1 -b .accel-mjpeg
%patch205 -p1 -b .vaapi-intel-fix %patch205 -p1 -b .vaapi-intel-fix
%patch206 -p1 -b .wayland-vaapi %patch206 -p1 -b .wayland-vaapi
%endif %endif
%if 0%{?use_qt} %if %{use_qt}
%patch121 -p1 -b .enable-allowqt %patch121 -p1 -b .enable-allowqt
%endif %endif
@ -1158,41 +1160,47 @@ sed -i 's|-g2|-g0|g' build/config/compiler/BUILD.gn
sed -i 's|moc|moc-qt5|g' ui/qt/moc_wrapper.py sed -i 's|moc|moc-qt5|g' ui/qt/moc_wrapper.py
%build %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=en_US.UTF-8
# Turning the buildsystem up to 11. # Turning the buildsystem up to 11.
ulimit -n 4096 ulimit -n 4096
# reduce warnings # reduce warnings
FLAGS="-Wno-deprecated-declarations -Wno-unknown-warning-option" FLAGS=' -Wno-deprecated-declarations -Wno-unknown-warning-option -Wno-unused-command-line-argument'
export CFLAGS="$FLAGS" FLAGS+=' -Wno-unused-but-set-variable -Wno-unused-result -Wunused-function -Wno-unused-variable'
export CXXFLAGS="$FLAGS" FLAGS+=' -Wno-unused-const-variable'
%if 0%{?clang} %if %{system_build_flags}
export CC="clang" CFLAGS=${CFLAGS/-fexceptions}
export CXX="clang++" CFLAGS=${CFLAGS/-Wp,-D_GLIBCXX_ASSERTIONS}
export AR="llvm-ar" CFLAGS=${CFLAGS/-fcf-protection}
export NM="llvm-nm" CFLAGS=${CFLAGS/-fstack-clash-protection}
export READELF="llvm-readelf" CFLAGS="$CFLAGS $FLAGS"
CXXFLAGS="$CFLAGS"
%else %else
export CC="gcc" # override system build flags
export CXX="g++" CFLAGS="$FLAGS"
export AR="ar" CXXFLAGS="$FLAGS"
export NM="nm"
export READELF="eu-readelf"
%endif %endif
export CFLAGS
export CXXFLAGS
export AR=ar
export NM=nm
# enable toolset on el7 # enable toolset on el7
%if 0%{?rhel} == 7 %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) %if %{clang}
export LANG=en_US.UTF-8
%if 0%{?clang}
. /opt/rh/llvm-toolset-%{llvm_toolset_version}/enable . /opt/rh/llvm-toolset-%{llvm_toolset_version}/enable
%else %else
. /opt/rh/%{toolset}-%{dts_version}/enable . /opt/rh/%{toolset}-%{dts_version}/enable
%endif %endif
%endif %endif
# enable toolset on el8 # enable gcc toolset on el8
%if 0%{?rhel} == 8 && !0%{?clang} %if 0%{?rhel} == 8 && ! %{clang}
. /opt/rh/%{toolset}-%{dts_version}/enable . /opt/rh/%{toolset}-%{dts_version}/enable
%endif %endif
@ -1203,6 +1211,7 @@ CHROMIUM_CORE_GN_DEFINES+=' custom_toolchain="//build/toolchain/linux/unbundle:d
CHROMIUM_CORE_GN_DEFINES+=' host_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' CHROMIUM_CORE_GN_DEFINES+=' is_debug=false dcheck_always_on=false dcheck_is_configurable=false'
CHROMIUM_CORE_GN_DEFINES+=' use_goma=false' CHROMIUM_CORE_GN_DEFINES+=' use_goma=false'
CHROMIUM_CORE_GN_DEFINES+=' enable_nacl=false'
CHROMIUM_CORE_GN_DEFINES+=' system_libdir="%{_lib}"' CHROMIUM_CORE_GN_DEFINES+=' system_libdir="%{_lib}"'
%if %{official_build} %if %{official_build}
@ -1217,10 +1226,11 @@ CHROMIUM_CORE_GN_DEFINES+=' google_api_key="%{api_key}"'
%endif %endif
%if %{userestrictedapikeys} %if %{userestrictedapikeys}
CHROMIUM_CORE_GN_DEFINES+=' google_default_client_id="%{default_client_id}" google_default_client_secret="%{default_client_secret}"' CHROMIUM_CORE_GN_DEFINES+=' google_default_client_id="%{default_client_id}"'
CHROMIUM_CORE_GN_DEFINES+=' google_default_client_secret="%{default_client_secret}"'
%endif %endif
%if %{?clang} %if %{clang}
CHROMIUM_CORE_GN_DEFINES+=' is_clang=true' CHROMIUM_CORE_GN_DEFINES+=' is_clang=true'
CHROMIUM_CORE_GN_DEFINES+=' clang_base_path="%{_prefix}"' CHROMIUM_CORE_GN_DEFINES+=' clang_base_path="%{_prefix}"'
CHROMIUM_CORE_GN_DEFINES+=' clang_use_chrome_plugins=false' CHROMIUM_CORE_GN_DEFINES+=' clang_use_chrome_plugins=false'
@ -1238,49 +1248,51 @@ CHROMIUM_CORE_GN_DEFINES+=' use_gold=true'
CHROMIUM_CORE_GN_DEFINES+=' use_gold=false' CHROMIUM_CORE_GN_DEFINES+=' use_gold=false'
%endif %endif
# if systemwide ffmpeg free is used, the proprietary codecs can be set to true to load the codecs from ffmpeg-free %ifarch aarch64
# the codecs computation is passed to ffmpeg-free in this case CHROMIUM_CORE_GN_DEFINES+=' target_cpu="arm64"'
%if ! %{?bundleffmpegfree}
CHROMIUM_CORE_GN_DEFINES+=' ffmpeg_branding="Chrome" proprietary_codecs=true is_component_ffmpeg=true'
%else
CHROMIUM_CORE_GN_DEFINES+=' ffmpeg_branding="Chromium" proprietary_codecs=false is_component_ffmpeg=false'
%endif %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+=' target_os="linux"'
CHROMIUM_CORE_GN_DEFINES+=' current_os="linux"' CHROMIUM_CORE_GN_DEFINES+=' current_os="linux"'
CHROMIUM_CORE_GN_DEFINES+=' enable_vr=false' CHROMIUM_CORE_GN_DEFINES+=' treat_warnings_as_errors=false'
CHROMIUM_CORE_GN_DEFINES+=' build_dawn_tests=false' CHROMIUM_CORE_GN_DEFINES+=' use_custom_libcxx=false'
CHROMIUM_CORE_GN_DEFINES+=' enable_iterator_debugging=false' CHROMIUM_CORE_GN_DEFINES+=' enable_iterator_debugging=false'
CHROMIUM_CORE_GN_DEFINES+=' enable_js_type_check=false' CHROMIUM_CORE_GN_DEFINES+=' enable_js_type_check=false'
CHROMIUM_CORE_GN_DEFINES+=' enable_vr=false'
CHROMIUM_CORE_GN_DEFINES+=' build_dawn_tests=false'
CHROMIUM_CORE_GN_DEFINES+=' blink_symbol_level=0 symbol_level=0 v8_symbol_level=0'
export CHROMIUM_CORE_GN_DEFINES
%ifarch aarch64 # browser gn defines
CHROMIUM_CORE_GN_DEFINES+=' target_cpu="arm64"' CHROMIUM_BROWSER_GN_DEFINES=""
# if systemwide ffmpeg free is used, the proprietary codecs can be set to true to load the codecs from ffmpeg-free
# the codecs computation is passed to ffmpeg-free in this case
%if ! %{bundleffmpegfree}
CHROMIUM_BROWSER_GN_DEFINES+=' ffmpeg_branding="Chrome" proprietary_codecs=true is_component_ffmpeg=true'
%else
CHROMIUM_BROWSER_GN_DEFINES+=' ffmpeg_branding="Chromium" proprietary_codecs=false is_component_ffmpeg=false'
%endif %endif
CHROMIUM_BROWSER_GN_DEFINES+=' media_use_openh264=false'
CHROMIUM_BROWSER_GN_DEFINES+=' rtc_use_h264=false'
CHROMIUM_BROWSER_GN_DEFINES+=' use_kerberos=true'
%if 0%{?rhel} == 8 %if 0%{?rhel} == 8
CHROMIUM_CORE_GN_DEFINES+=' use_gnome_keyring=false use_glib=true' CHROMIUM_BROWSER_GN_DEFINES+=' use_gnome_keyring=false use_glib=true'
%endif %endif
%if 0%{?use_qt} %if %{use_qt}
CHROMIUM_CORE_GN_DEFINES+=' use_qt=true' CHROMIUM_BROWSER_GN_DEFINES+=' use_qt=true'
%else %else
CHROMIUM_CORE_GN_DEFINES+=' use_qt=false' CHROMIUM_BROWSER_GN_DEFINES+=' use_qt=false'
%endif %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+=' use_gio=true use_pulseaudio=true icu_use_data_file=true'
CHROMIUM_BROWSER_GN_DEFINES+=' enable_nacl=false' CHROMIUM_BROWSER_GN_DEFINES+=' enable_hangout_services_extension=true'
CHROMIUM_BROWSER_GN_DEFINES+=' blink_symbol_level=0 enable_hangout_services_extension=true'
CHROMIUM_BROWSER_GN_DEFINES+=' use_aura=true' CHROMIUM_BROWSER_GN_DEFINES+=' use_aura=true'
CHROMIUM_BROWSER_GN_DEFINES+=' enable_widevine=true' CHROMIUM_BROWSER_GN_DEFINES+=' enable_widevine=true'
%if 0%{?use_vaapi} %if %{use_vaapi}
CHROMIUM_BROWSER_GN_DEFINES+=' use_vaapi=true' CHROMIUM_BROWSER_GN_DEFINES+=' use_vaapi=true'
%else %else
CHROMIUM_BROWSER_GN_DEFINES+=' use_vaapi=false' CHROMIUM_BROWSER_GN_DEFINES+=' use_vaapi=false'
@ -1296,32 +1308,36 @@ export CHROMIUM_BROWSER_GN_DEFINES
# headless gn defines # headless gn defines
CHROMIUM_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+=' 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+=' angle_enable_vulkan=true angle_enable_swiftshader=true headless_use_embedded_resources=false'
CHROMIUM_HEADLESS_GN_DEFINES+=' enable_nacl=false enable_print_preview=false enable_remoting=false use_alsa=false' CHROMIUM_HEADLESS_GN_DEFINES+=' headless_use_prefs=false headless_use_policy=false icu_use_data_file=false'
CHROMIUM_HEADLESS_GN_DEFINES+=' use_cups=false use_dbus=true use_gio=false use_kerberos=false use_libpci=false' CHROMIUM_HEADLESS_GN_DEFINES+=' v8_use_external_startup_data=false enable_print_preview=false enable_remoting=false'
CHROMIUM_HEADLESS_GN_DEFINES+=' use_pulseaudio=false use_udev=false use_gtk=false use_glib=false' CHROMIUM_HEADLESS_GN_DEFINES+=' use_alsa=false use_bluez=false use_cups=false use_dbus=false use_gio=false use_kerberos=false'
CHROMIUM_HEADLESS_GN_DEFINES+=' use_libpci=false use_pulseaudio=false use_udev=false rtc_use_pipewire=false'
CHROMIUM_HEADLESS_GN_DEFINES+=' v8_enable_lazy_source_positions=false use_glib=false use_gtk=false use_pangocairo=false'
CHROMIUM_HEADLESS_GN_DEFINES+=' use_qt=false is_component_build=false enable_ffmpeg_video_decoders=false media_use_ffmpeg=false'
CHROMIUM_HEADLESS_GN_DEFINES+=' media_use_libvpx=false proprietary_codecs=false'
export CHROMIUM_HEADLESS_GN_DEFINES export CHROMIUM_HEADLESS_GN_DEFINES
build/linux/unbundle/replace_gn_files.py --system-libraries \ build/linux/unbundle/replace_gn_files.py --system-libraries \
%if ! 0%{?bundlelibaom} %if ! %{bundlelibaom}
libaom \ libaom \
%endif %endif
%if ! 0%{?bundlebrotli} %if ! %{bundlebrotli}
brotli \ brotli \
%endif %endif
%if ! 0%{?bundlefontconfig} %if ! %{bundlefontconfig}
fontconfig \ fontconfig \
%endif %endif
%if ! 0%{?bundleffmpegfree} %if ! %{bundleffmpegfree}
ffmpeg \ ffmpeg \
%endif %endif
%if ! 0%{?bundlefreetype} %if ! %{bundlefreetype}
freetype \ freetype \
%endif %endif
%if ! 0%{?bundleharfbuzz} %if ! %{bundleharfbuzz}
harfbuzz-ng \ harfbuzz-ng \
%endif %endif
%if ! 0%{?bundleicu} %if ! %{bundleicu}
icu \ icu \
%endif %endif
%if ! %{bundlelibdrm} %if ! %{bundlelibdrm}
@ -1346,10 +1362,10 @@ build/linux/unbundle/replace_gn_files.py --system-libraries \
%if ! %{bundleopus} %if ! %{bundleopus}
opus \ opus \
%endif %endif
%if ! 0%{?bundlere2} %if ! %{bundlere2}
re2 \ re2 \
%endif %endif
%if ! 0%{?bundleminizip} %if ! %{bundleminizip}
zlib \ zlib \
%endif %endif
flac flac
@ -1371,15 +1387,12 @@ tools/gn/bootstrap/bootstrap.py --gn-gen-args="$CHROMIUM_CORE_GN_DEFINES $CHROMI
%{builddir}/gn --script-executable=%{chromium_pybin} gen --args="$CHROMIUM_CORE_GN_DEFINES $CHROMIUM_BROWSER_GN_DEFINES" %{remotingbuilddir} %{builddir}/gn --script-executable=%{chromium_pybin} gen --args="$CHROMIUM_CORE_GN_DEFINES $CHROMIUM_BROWSER_GN_DEFINES" %{remotingbuilddir}
%endif %endif
echo
%if %{build_headless} %if %{build_headless}
# Do headless first. # Do headless first.
%build_target %{headlessbuilddir} headless_shell %build_target %{headlessbuilddir} headless_shell
%endif %endif
%build_target %{builddir} chrome %build_target %{builddir} chrome chrome_sandbox chromedriver
%build_target %{builddir} chrome_sandbox
%build_target %{builddir} chromedriver
%if %{build_clear_key_cdm} %if %{build_clear_key_cdm}
%build_target %{builddir} clear_key_cdm %build_target %{builddir} clear_key_cdm
@ -1393,16 +1406,13 @@ echo
%build_target %{remotingbuilddir} remoting_all %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
%install %install
rm -rf %{buildroot} rm -rf %{buildroot}
mkdir -p %{buildroot}%{_bindir} mkdir -p %{buildroot}%{_bindir}
mkdir -p %{buildroot}%{chromium_path}/locales mkdir -p %{buildroot}%{chromium_path}/locales
%if 0%{?use_vaapi} %if %{use_vaapi}
cp -a %{SOURCE3} %{buildroot}%{chromium_path}/%{chromium_browser_channel}.sh cp -a %{SOURCE3} %{buildroot}%{chromium_path}/%{chromium_browser_channel}.sh
%else %else
grep -v features %{SOURCE3} > %{buildroot}%{chromium_path}/%{chromium_browser_channel}.sh grep -v features %{SOURCE3} > %{buildroot}%{chromium_path}/%{chromium_browser_channel}.sh
@ -1461,7 +1471,7 @@ pushd %{builddir}
strip %{buildroot}%{chromium_path}/libEGL.so strip %{buildroot}%{chromium_path}/libEGL.so
strip %{buildroot}%{chromium_path}/libGLESv2.so strip %{buildroot}%{chromium_path}/libGLESv2.so
%if 0%{?use_qt} %if %{use_qt}
cp -a libqt5_shim.so %{buildroot}%{chromium_path} cp -a libqt5_shim.so %{buildroot}%{chromium_path}
strip %{buildroot}%{chromium_path}/libqt5_shim.so strip %{buildroot}%{chromium_path}/libqt5_shim.so
%endif %endif
@ -1643,7 +1653,7 @@ getent group chrome-remote-desktop >/dev/null || groupadd -r chrome-remote-deskt
%attr(4755, root, root) %{chromium_path}/chrome-sandbox %attr(4755, root, root) %{chromium_path}/chrome-sandbox
%{chromium_path}/xdg-mime %{chromium_path}/xdg-mime
%{chromium_path}/xdg-settings %{chromium_path}/xdg-settings
%if 0%{?use_qt} %if %{use_qt}
%{chromium_path}/libqt5_shim.so %{chromium_path}/libqt5_shim.so
%endif %endif
%{_mandir}/man1/%{chromium_browser_channel}.* %{_mandir}/man1/%{chromium_browser_channel}.*
@ -1762,6 +1772,12 @@ getent group chrome-remote-desktop >/dev/null || groupadd -r chrome-remote-deskt
%{chromium_path}/chromedriver %{chromium_path}/chromedriver
%changelog %changelog
* Sun Jan 15 2023 Than Ngo <than@redhat.com> - 109.0.5414.74-2
- conditionalize system_build_flags
- cleaned up gn defines
- add BR on python3-importlib-metadata
- set correct toolchain gcc|clang
* Wed Jan 11 2023 Than Ngo <than@redhat.com> - 109.0.5414.74-1 * Wed Jan 11 2023 Than Ngo <than@redhat.com> - 109.0.5414.74-1
- update to 109.0.5414.74 - update to 109.0.5414.74

Loading…
Cancel
Save