public inbox for git-commits@fedoraproject.org
help / color / mirror / Atom feed
From: Than Ngo <than@redhat.com>
To: git-commits@fedoraproject.org
Subject: [rpms/chromium] epel9-next: - conditionalize system_build_flags
Date: Fri, 07 Aug 2026 16:04:29 GMT [thread overview]
Message-ID: <178611866970.1.4055382318054173008.rpms-chromium-9677ab57db74@fedoraproject.org> (raw)
A new commit has been pushed.
Repo : rpms/chromium
Branch : epel9-next
Commit : 9677ab57db744d3d2a57bf3bc823a03138e5563a
Author : Than Ngo <than@redhat.com>
Date : 2023-01-15T19:58:57+01:00
Stats : +145/-209 in 2 file(s)
URL : https://src.fedoraproject.org/rpms/chromium/c/9677ab57db744d3d2a57bf3bc823a03138e5563a?branch=epel9-next
Log:
- conditionalize system_build_flags
- cleaned up gn defines
- add BR on python3-importlib-metadata
- set correct toolchain gcc|clang
---
diff --git a/chromium-108-drop-python-importlib-metadata.patch b/chromium-108-drop-python-importlib-metadata.patch
deleted file mode 100644
index dbba0c6..0000000
--- a/chromium-108-drop-python-importlib-metadata.patch
+++ /dev/null
@@ -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 =
diff --git a/chromium.spec b/chromium.spec
index fba8564..f568222 100644
--- a/chromium.spec
+++ b/chromium.spec
@@ -1,5 +1,8 @@
%define _lto_cflags %{nil}
+# enable|disable system build flags
+%global system_build_flags 0
+
# disable the package notes info on f36
# workaround for linking issue
%if 0%{?fedora} == 36
@@ -108,6 +111,13 @@
# enable clang by default
%global clang 1
+# set correct toolchain
+%if %{clang}
+%global toolchain clang
+%else
+%global toolchain gcc
+%endif
+
# enable system brotli
%global bundlebrotli 0
@@ -211,7 +221,7 @@
Name: chromium%{chromium_channel}
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
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)
@@ -299,9 +309,6 @@ 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
-# 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
@@ -409,7 +416,7 @@ Source16: https://github.com/web-platform-tests/wpt/raw/master/fonts/Ahem.ttf
Source17: GardinerModBug.ttf
Source18: GardinerModCat.ttf
-%if 0%{?clang}
+%if %{clang}
%if 0%{?rhel} == 7
BuildRequires: llvm-toolset-%{llvm_toolset_version}
%else
@@ -434,7 +441,7 @@ BuildRequires: binutils
%endif
# build with system ffmpeg-free
-%if ! 0%{?bundleffmpegfree}
+%if ! %{bundleffmpegfree}
BuildRequires: pkgconfig(libavcodec)
BuildRequires: pkgconfig(libavfilter)
BuildRequires: pkgconfig(libavformat)
@@ -442,7 +449,7 @@ BuildRequires: pkgconfig(libavutil)
%endif
# build with system libaom
-%if ! 0%{?bundlelibaom}
+%if ! %{bundlelibaom}
BuildRequires: libaom-devel
%endif
@@ -459,12 +466,12 @@ BuildRequires: glib2-devel
BuildRequires: glibc-devel
BuildRequires: gperf
-%if 0%{?use_qt}
-BuildRequires: pkgconfig(Qt5Core)
-BuildRequires: pkgconfig(Qt5Widgets)
+%if %{use_qt}
+BuildRequires: pkgconfig(Qt5Core)
+BuildRequires: pkgconfig(Qt5Widgets)
%endif
-%if ! 0%{?bundleharfbuzz}
+%if ! %{bundleharfbuzz}
BuildRequires: harfbuzz-devel >= 2.4.0
%endif
@@ -472,7 +479,7 @@ BuildRequires: libatomic
BuildRequires: libcap-devel
BuildRequires: libcurl-devel
-%if ! 0%{?bundlelibdrm}
+%if ! %{bundlelibdrm}
BuildRequires: libdrm-devel
%endif
@@ -534,7 +541,7 @@ BuildRequires: elfutils
BuildRequires: elfutils-libelf-devel
BuildRequires: flac-devel
-%if ! 0%{?bundlefreetype}
+%if ! %{bundlefreetype}
BuildRequires: freetype-devel
%endif
@@ -545,29 +552,25 @@ BuildRequires: kernel-headers
BuildRequires: libevent-devel
BuildRequires: libffi-devel
-%if ! 0%{?bundleicu}
+%if ! %{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.
# Not newer than 54 (at least not right now)
BuildRequires: libicu-devel = 54.1
%endif
-%if ! 0%{?bundlelibjpeg}
+%if ! %{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
BuildRequires: libjpeg-devel
%endif
-%if ! 0%{?bundlelibpng}
+%if ! %{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
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}
@@ -575,7 +578,7 @@ Requires: libusbx >= 1.0.21-0.1.git448584a
BuildRequires: libusbx-devel >= 1.0.21-0.1.git448584a
%endif
-%if 0%{?use_vaapi}
+%if %{use_vaapi}
BuildRequires: libva-devel
%endif
@@ -600,7 +603,7 @@ BuildRequires: opus-devel
BuildRequires: perl(Switch)
BuildRequires: %{chromium_pybin}
-%if 0%{gtk3}
+%if %{gtk3}
BuildRequires: pkgconfig(gtk+-3.0)
%else
BuildRequires: pkgconfig(gtk+-2.0)
@@ -609,31 +612,32 @@ BuildRequires: pkgconfig(gtk+-2.0)
BuildRequires: python3-devel
BuildRequires: python3-zipp
BuildRequires: python3-simplejson
+BuildRequires: python3-importlib-metadata
%if 0%{?rhel} == 7 || 0%{?rhel} == 8
BuildRequires: python3-dataclasses
%endif
-%if ! 0%{?bundlepylibs}
+%if ! %{bundlepylibs}
%if 0%{?fedora} || 0%{?rhel} >= 8
BuildRequires: python3-beautifulsoup4
BuildRequires: python3-html5lib
BuildRequires: python3-markupsafe
BuildRequires: python3-ply
%else
-BuildRequires: python-beautifulsoup4
-BuildRequires: python-html5lib
-BuildRequires: python-markupsafe
-BuildRequires: python-ply
+BuildRequires: python-beautifulsoup4
+BuildRequires: python-html5lib
+BuildRequires: python-markupsafe
+BuildRequires: python-ply
%endif
%endif
-%if ! 0%{?bundlere2}
+%if ! %{bundlere2}
Requires: re2 >= 20160401
BuildRequires: re2-devel >= 20160401
%endif
-%if ! 0%{?bundlebrotli}
+%if ! %{bundlebrotli}
BuildRequires: brotli-devel
%endif
@@ -700,7 +704,7 @@ Source115: https://github.com/googlefonts/noto-fonts/blob/master/hinted/NotoSans
BuildRequires: ninja-build
# Yes, java is needed as well..
-%if 0%{?build_headless}
+%if %{build_headless}
BuildRequires: java-1.8.0-openjdk-headless
%endif
@@ -709,7 +713,7 @@ Requires: nss%{_isa} >= 3.26
Requires: nss-mdns%{_isa}
# GTK modules it expects to find for some reason.
-%if 0%{gtk3}
+%if %{gtk3}
Requires: libcanberra-gtk3%{_isa}
%else
Requires: libcanberra-gtk2%{_isa}
@@ -742,7 +746,7 @@ Provides: bundled(bintrees) = 1.0.1
# This is a fork of openssl.
Provides: bundled(boringssl)
-%if 0%{?bundlebrotli}
+%if %{bundlebrotli}
Provides: bundled(brotli) = 222564a95d9ab58865a096b8d9f7324ea5f2e03e
%endif
@@ -755,34 +759,34 @@ 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 %{?bundleffmpegfree}
+%if %{bundleffmpegfree}
Provides: bundled(ffmpeg) = 5.1.2
%endif
-%if 0%{?bundlelibaom}
+%if %{bundlelibaom}
Provides: bundled(libaom)
%endif
Provides: bundled(fips181) = 2.2.3
-%if 0%{?bundlefontconfig}
+%if %{bundlefontconfig}
Provides: bundled(fontconfig) = 2.12.6
%endif
-%if 0%{?bundlefreetype}
+%if %{bundlefreetype}
Provides: bundled(freetype) = 2.11.0git
%endif
Provides: bundled(gperftools) = svn144
-%if 0%{?bundleharfbuzz}
+%if %{bundleharfbuzz}
Provides: bundled(harfbuzz) = 2.4.0
%endif
Provides: bundled(hunspell) = 1.6.0
Provides: bundled(iccjpeg)
-%if 0%{?bundleicu}
+%if %{bundleicu}
Provides: bundled(icu) = 58.1
%endif
@@ -790,20 +794,20 @@ Provides: bundled(kitchensink) = 1
Provides: bundled(leveldb) = 1.20
Provides: bundled(libaddressinput) = 0
-%if 0%{?bundlelibdrm}
+%if %{bundlelibdrm}
Provides: bundled(libdrm) = 2.4.85
%endif
Provides: bundled(libevent) = 1.4.15
Provides: bundled(libjingle) = 9564
-%if 0%{?bundlelibjpeg}
+%if %{bundlelibjpeg}
Provides: bundled(libjpeg-turbo) = 1.4.90
%endif
Provides: bundled(libphonenumber) = a4da30df63a097d67e3c429ead6790ad91d36cf4
-%if 0%{?bundlelibpng}
+%if %{bundlelibpng}
Provides: bundled(libpng) = 1.6.22
%endif
@@ -840,7 +844,7 @@ Provides: bundled(ots) = 8d70cffebbfa58f67a5c3ed0e9bc84dccdbc5bc0
Provides: bundled(protobuf) = 3.0.0.beta.3
Provides: bundled(qcms) = 4
-%if 0%{?bundlere2}
+%if %{bundlere2}
Provides: bundled(re2)
%endif
@@ -874,10 +878,10 @@ Summary: Files needed for both the headless_shell and full Chromium
%if 0%{?fedora} >= 30
Requires: minizip-compat%{_isa}
%else
-%if %{?rhel} == 7
+%if 0%{?rhel} == 7
# Do nothing
%else
-%if %{?rhel} == 9
+%if 0%{?rhel} == 9
Requires: minizip1.2%{_isa}
%else
Requires: minizip%{_isa}
@@ -956,7 +960,7 @@ udev.
%patch57 -p1 -b .missing-cstring
%patch59 -p1 -b .VirtualCursor-std-layout
-%if ! 0%{?bundleminizip}
+%if ! %{bundleminizip}
%patch61 -p1 -b .system-minizip
%endif
@@ -972,15 +976,13 @@ udev.
%patch87 -p1 -b .markdownsafe-soft_str
%endif
-%patch88 -p1 -b .drop-build-dep-on-python3-importlib-metadata
-
-%if ! 0%{?bundlebrotli}
+%if ! %{bundlebrotli}
%patch89 -p1 -b .system-brotli
%endif
%patch90 -p1 -b .disable-GlobalMediaControlsCastStartStop
-%if ! 0%{?bundleopus}
+%if ! %{bundleopus}
%patch91 -p1 -b .system-opus
%endif
@@ -993,7 +995,7 @@ udev.
%patch12 -p1 -b .fedora-user-agent
%endif
-%if ! 0%{?bundleffmpegfree}
+%if ! %{bundleffmpegfree}
%patch114 -p1 -b .system-ffmppeg
%patch115 -p1 -b .prop-codecs
%patch116 -p1 -b .first_dts
@@ -1022,13 +1024,13 @@ udev.
%endif
# Feature specific patches
-%if 0%{?use_vaapi}
+%if %{use_vaapi}
%patch202 -p1 -b .accel-mjpeg
%patch205 -p1 -b .vaapi-intel-fix
%patch206 -p1 -b .wayland-vaapi
%endif
-%if 0%{?use_qt}
+%if %{use_qt}
%patch121 -p1 -b .enable-allowqt
%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
%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.
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"
+FLAGS=' -Wno-deprecated-declarations -Wno-unknown-warning-option -Wno-unused-command-line-argument'
+FLAGS+=' -Wno-unused-but-set-variable -Wno-unused-result -Wunused-function -Wno-unused-variable'
+FLAGS+=' -Wno-unused-const-variable'
+
+%if %{system_build_flags}
+CFLAGS=${CFLAGS/-fexceptions}
+CFLAGS=${CFLAGS/-Wp,-D_GLIBCXX_ASSERTIONS}
+CFLAGS=${CFLAGS/-fcf-protection}
+CFLAGS=${CFLAGS/-fstack-clash-protection}
+CFLAGS="$CFLAGS $FLAGS"
+CXXFLAGS="$CFLAGS"
%else
-export CC="gcc"
-export CXX="g++"
-export AR="ar"
-export NM="nm"
-export READELF="eu-readelf"
+# override system build flags
+CFLAGS="$FLAGS"
+CXXFLAGS="$FLAGS"
%endif
+export CFLAGS
+export CXXFLAGS
+export AR=ar
+export NM=nm
+
# 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}
+%if %{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}
+# enable gcc toolset on el8
+%if 0%{?rhel} == 8 && ! %{clang}
. /opt/rh/%{toolset}-%{dts_version}/enable
%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+=' is_debug=false dcheck_always_on=false dcheck_is_configurable=false'
CHROMIUM_CORE_GN_DEFINES+=' use_goma=false'
+CHROMIUM_CORE_GN_DEFINES+=' enable_nacl=false'
CHROMIUM_CORE_GN_DEFINES+=' system_libdir="%{_lib}"'
%if %{official_build}
@@ -1217,17 +1226,18 @@ 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}"'
+CHROMIUM_CORE_GN_DEFINES+=' google_default_client_id="%{default_client_id}"'
+CHROMIUM_CORE_GN_DEFINES+=' google_default_client_secret="%{default_client_secret}"'
%endif
-%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'
+%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'
+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'
@@ -1238,49 +1248,51 @@ CHROMIUM_CORE_GN_DEFINES+=' use_gold=true'
CHROMIUM_CORE_GN_DEFINES+=' use_gold=false'
%endif
-# 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_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'
+%ifarch aarch64
+CHROMIUM_CORE_GN_DEFINES+=' target_cpu="arm64"'
%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+=' enable_vr=false'
-CHROMIUM_CORE_GN_DEFINES+=' build_dawn_tests=false'
+CHROMIUM_CORE_GN_DEFINES+=' treat_warnings_as_errors=false'
+CHROMIUM_CORE_GN_DEFINES+=' use_custom_libcxx=false'
CHROMIUM_CORE_GN_DEFINES+=' enable_iterator_debugging=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
- CHROMIUM_CORE_GN_DEFINES+=' target_cpu="arm64"'
+# browser gn defines
+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
+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
- CHROMIUM_CORE_GN_DEFINES+=' use_gnome_keyring=false use_glib=true'
+CHROMIUM_BROWSER_GN_DEFINES+=' use_gnome_keyring=false use_glib=true'
%endif
-%if 0%{?use_qt}
- CHROMIUM_CORE_GN_DEFINES+=' use_qt=true'
+%if %{use_qt}
+CHROMIUM_BROWSER_GN_DEFINES+=' use_qt=true'
%else
- CHROMIUM_CORE_GN_DEFINES+=' use_qt=false'
+CHROMIUM_BROWSER_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'
-CHROMIUM_BROWSER_GN_DEFINES+=' blink_symbol_level=0 enable_hangout_services_extension=true'
+CHROMIUM_BROWSER_GN_DEFINES+=' enable_hangout_services_extension=true'
CHROMIUM_BROWSER_GN_DEFINES+=' use_aura=true'
CHROMIUM_BROWSER_GN_DEFINES+=' enable_widevine=true'
-%if 0%{?use_vaapi}
+%if %{use_vaapi}
CHROMIUM_BROWSER_GN_DEFINES+=' use_vaapi=true'
%else
CHROMIUM_BROWSER_GN_DEFINES+=' use_vaapi=false'
@@ -1296,32 +1308,36 @@ 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'
+CHROMIUM_HEADLESS_GN_DEFINES+=' angle_enable_vulkan=true angle_enable_swiftshader=true headless_use_embedded_resources=false'
+CHROMIUM_HEADLESS_GN_DEFINES+=' headless_use_prefs=false headless_use_policy=false icu_use_data_file=false'
+CHROMIUM_HEADLESS_GN_DEFINES+=' v8_use_external_startup_data=false enable_print_preview=false enable_remoting=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
build/linux/unbundle/replace_gn_files.py --system-libraries \
-%if ! 0%{?bundlelibaom}
+%if ! %{bundlelibaom}
libaom \
%endif
-%if ! 0%{?bundlebrotli}
+%if ! %{bundlebrotli}
brotli \
%endif
-%if ! 0%{?bundlefontconfig}
+%if ! %{bundlefontconfig}
fontconfig \
%endif
-%if ! 0%{?bundleffmpegfree}
+%if ! %{bundleffmpegfree}
ffmpeg \
%endif
-%if ! 0%{?bundlefreetype}
+%if ! %{bundlefreetype}
freetype \
%endif
-%if ! 0%{?bundleharfbuzz}
+%if ! %{bundleharfbuzz}
harfbuzz-ng \
%endif
-%if ! 0%{?bundleicu}
+%if ! %{bundleicu}
icu \
%endif
%if ! %{bundlelibdrm}
@@ -1330,10 +1346,10 @@ build/linux/unbundle/replace_gn_files.py --system-libraries \
%if ! %{bundlelibjpeg}
libjpeg \
%endif
-%if !%{bundlelibpng}
+%if ! %{bundlelibpng}
libpng \
%endif
-%if !%{bundlelibusbx}
+%if ! %{bundlelibusbx}
libusb \
%endif
%if ! %{bundlelibwebp}
@@ -1346,10 +1362,10 @@ build/linux/unbundle/replace_gn_files.py --system-libraries \
%if ! %{bundleopus}
opus \
%endif
-%if ! 0%{?bundlere2}
+%if ! %{bundlere2}
re2 \
%endif
-%if ! 0%{?bundleminizip}
+%if ! %{bundleminizip}
zlib \
%endif
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}
%endif
-echo
%if %{build_headless}
# Do headless first.
%build_target %{headlessbuilddir} headless_shell
%endif
-%build_target %{builddir} chrome
-%build_target %{builddir} chrome_sandbox
-%build_target %{builddir} chromedriver
+%build_target %{builddir} chrome chrome_sandbox chromedriver
%if %{build_clear_key_cdm}
%build_target %{builddir} clear_key_cdm
@@ -1393,16 +1406,13 @@ echo
%build_target %{remotingbuilddir} remoting_all
%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
rm -rf %{buildroot}
mkdir -p %{buildroot}%{_bindir}
mkdir -p %{buildroot}%{chromium_path}/locales
-%if 0%{?use_vaapi}
+%if %{use_vaapi}
cp -a %{SOURCE3} %{buildroot}%{chromium_path}/%{chromium_browser_channel}.sh
%else
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}/libGLESv2.so
- %if 0%{?use_qt}
+ %if %{use_qt}
cp -a libqt5_shim.so %{buildroot}%{chromium_path}
strip %{buildroot}%{chromium_path}/libqt5_shim.so
%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
%{chromium_path}/xdg-mime
%{chromium_path}/xdg-settings
-%if 0%{?use_qt}
+%if %{use_qt}
%{chromium_path}/libqt5_shim.so
%endif
%{_mandir}/man1/%{chromium_browser_channel}.*
@@ -1762,6 +1772,12 @@ getent group chrome-remote-desktop >/dev/null || groupadd -r chrome-remote-deskt
%{chromium_path}/chromedriver
%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
- update to 109.0.5414.74
reply other threads:[~2026-08-07 16:04 UTC|newest]
Thread overview: [no followups] expand[flat|nested] mbox.gz Atom feed
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=178611866970.1.4055382318054173008.rpms-chromium-9677ab57db74@fedoraproject.org \
--to=than@redhat.com \
--cc=git-commits@fedoraproject.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox