2011-09-20 16:10:49 +00:00
|
|
|
#
|
|
|
|
|
# spec file for package chromium
|
|
|
|
|
#
|
2021-01-07 09:19:26 +00:00
|
|
|
# Copyright (c) 2021 SUSE LLC
|
2011-09-20 16:10:49 +00:00
|
|
|
#
|
|
|
|
|
# All modifications and additions to the file contributed by third parties
|
|
|
|
|
# remain the property of their copyright owners, unless otherwise agreed
|
|
|
|
|
# upon. The license for this file, and modifications and additions to the
|
|
|
|
|
# file, is the same license as for the pristine package itself (unless the
|
|
|
|
|
# license for the pristine package is not an Open Source License, in which
|
|
|
|
|
# case the license is the MIT License). An "Open Source License" is a
|
|
|
|
|
# license that conforms to the Open Source Definition (Version 1.9)
|
|
|
|
|
# published by the Open Source Initiative.
|
|
|
|
|
|
2018-10-25 09:11:11 +00:00
|
|
|
# Please submit bugfixes or comments via https://bugs.opensuse.org/
|
2011-09-20 16:10:49 +00:00
|
|
|
#
|
|
|
|
|
|
2012-07-25 14:53:12 +00:00
|
|
|
|
2018-10-17 08:03:27 +00:00
|
|
|
# bsc#1108175
|
|
|
|
|
%define __provides_exclude ^lib.*\\.so.*$
|
2020-07-17 07:59:35 +00:00
|
|
|
%if 0%{?suse_version} > 1500
|
2018-01-25 09:39:46 +00:00
|
|
|
%bcond_without system_icu
|
2020-08-27 08:24:47 +00:00
|
|
|
%bcond_with system_vpx
|
2020-06-11 12:16:30 +00:00
|
|
|
%else
|
|
|
|
|
%bcond_with system_icu
|
|
|
|
|
%bcond_with system_vpx
|
|
|
|
|
%endif
|
2020-07-16 11:26:54 +00:00
|
|
|
%if 0%{?suse_version} > 1500 || 0%{?sle_version} >= 150200
|
2019-03-18 13:09:30 +00:00
|
|
|
%bcond_without system_harfbuzz
|
|
|
|
|
%bcond_without pipewire
|
2017-10-19 03:26:36 +00:00
|
|
|
%else
|
2019-03-18 13:09:30 +00:00
|
|
|
%bcond_with system_harfbuzz
|
|
|
|
|
%bcond_with pipewire
|
2019-03-13 10:16:54 +00:00
|
|
|
%endif
|
2019-11-07 10:15:42 +00:00
|
|
|
%ifarch %{arm} aarch64
|
|
|
|
|
%bcond_with swiftshader
|
|
|
|
|
%else
|
|
|
|
|
%bcond_without swiftshader
|
|
|
|
|
%endif
|
2019-07-03 13:21:29 +00:00
|
|
|
%ifarch x86_64
|
|
|
|
|
%if %{?suse_version} > 1500
|
2020-08-12 12:16:24 +00:00
|
|
|
%bcond_without lto
|
2019-07-03 13:21:29 +00:00
|
|
|
%else
|
|
|
|
|
%bcond_with lto
|
|
|
|
|
%endif
|
|
|
|
|
%else
|
|
|
|
|
%bcond_with lto
|
|
|
|
|
%endif
|
2019-08-02 08:37:13 +00:00
|
|
|
%bcond_with clang
|
2020-08-27 08:31:44 +00:00
|
|
|
Name: chromium
|
2021-04-14 21:50:25 +00:00
|
|
|
Version: 89.0.4389.128
|
2011-12-10 18:59:34 +00:00
|
|
|
Release: 0
|
2017-02-15 12:33:58 +00:00
|
|
|
Summary: Google's open source browser project
|
2018-03-08 09:07:27 +00:00
|
|
|
License: BSD-3-Clause AND LGPL-2.1-or-later
|
2018-10-17 08:03:27 +00:00
|
|
|
URL: https://www.chromium.org/
|
2021-04-03 17:58:39 +00:00
|
|
|
Source0: https://commondatastorage.googleapis.com/chromium-browser-official/%{name}-%{version}.tar.xz
|
2019-10-23 13:00:30 +00:00
|
|
|
# Toolchain definitions
|
2011-09-20 16:10:49 +00:00
|
|
|
Source30: master_preferences
|
|
|
|
|
Source100: chromium-browser.sh
|
|
|
|
|
Source101: chromium-browser.desktop
|
|
|
|
|
Source102: chromium-browser.xml
|
2012-11-25 12:55:50 +00:00
|
|
|
Source103: chromium.default
|
2020-03-27 15:15:58 +00:00
|
|
|
Source104: chromium-symbolic.svg
|
2018-10-17 08:03:27 +00:00
|
|
|
Patch0: chromium-libusb_interrupt_event_handler.patch
|
2013-08-27 08:00:10 +00:00
|
|
|
# PATCH-FIX-OPENSUSE Make the 1-click-install ymp file always download [bnc#836059]
|
2018-04-18 08:59:31 +00:00
|
|
|
Patch1: exclude_ymp.patch
|
2011-09-22 09:54:33 +00:00
|
|
|
# PATCH-FIX-OPENSUSE enables reading of the master preference
|
2016-08-22 10:45:36 +00:00
|
|
|
Patch2: chromium-master-prefs-path.patch
|
2015-12-05 10:45:51 +00:00
|
|
|
# PATCH-FIX-OPENSUSE fix_building_widevinecdm_with_chromium.patch - Enable WideVine plugin
|
2018-04-18 08:59:31 +00:00
|
|
|
Patch3: fix_building_widevinecdm_with_chromium.patch
|
2020-10-14 11:15:31 +00:00
|
|
|
Patch4: chromium-buildname.patch
|
|
|
|
|
Patch5: chromium-system-libusb.patch
|
|
|
|
|
Patch6: gcc-enable-lto.patch
|
2020-05-28 09:27:48 +00:00
|
|
|
# Do not use unrar code, it is non-free
|
2021-04-03 17:58:39 +00:00
|
|
|
Patch7: chromium-norar.patch
|
2020-07-16 11:26:54 +00:00
|
|
|
# revert location on old GCC on 15.1, 15.2 gets it right tho
|
2021-04-03 17:58:39 +00:00
|
|
|
Patch8: no-location-leap151.patch
|
|
|
|
|
Patch9: system-libdrm.patch
|
|
|
|
|
Patch10: chromium-disable-parallel-gold.patch
|
|
|
|
|
Patch11: chromium-lp151-old-drm.patch
|
2020-11-19 21:49:09 +00:00
|
|
|
# gentoo/fedora/arch patchset
|
2021-04-03 17:58:39 +00:00
|
|
|
Patch12: chromium-78-protobuf-RepeatedPtrField-export.patch
|
|
|
|
|
Patch13: chromium-80-QuicStreamSendBuffer-deleted-move-constructor.patch
|
|
|
|
|
Patch14: chromium-84-blink-disable-clang-format.patch
|
|
|
|
|
Patch15: chromium-88-compiler.patch
|
|
|
|
|
Patch16: chromium-86-ConsumeDurationNumber-constexpr.patch
|
|
|
|
|
Patch17: chromium-86-ImageMemoryBarrierData-init.patch
|
|
|
|
|
Patch18: chromium-86-nearby-explicit.patch
|
|
|
|
|
Patch19: chromium-86-nearby-include.patch
|
|
|
|
|
Patch20: chromium-86-f_seal.patch
|
|
|
|
|
Patch21: chromium-gcc11.patch
|
|
|
|
|
Patch22: chromium-lp152-missing-includes.patch
|
|
|
|
|
Patch23: chromium-glibc-2.33.patch
|
|
|
|
|
Patch24: chromium-89-quiche-private.patch
|
|
|
|
|
Patch25: chromium-89-quiche-dcheck.patch
|
|
|
|
|
Patch26: chromium-89-skia-CropRect.patch
|
|
|
|
|
Patch27: chromium-89-dawn-include.patch
|
|
|
|
|
Patch28: chromium-89-webcodecs-deps.patch
|
|
|
|
|
Patch29: chromium-89-EnumTable-crash.patch
|
|
|
|
|
Patch30: chromium-shim_headers.patch
|
|
|
|
|
Patch31: chromium-89-missing-cstring-header.patch
|
|
|
|
|
Patch32: chromium-89-AXTreeSerializer-include.patch
|
|
|
|
|
Patch33: chromium-88-gcc-fix-swiftshader-libEGL-visibility.patch
|
2018-04-08 10:50:56 +00:00
|
|
|
# Google seem not too keen on merging this but GPU accel is quite important
|
|
|
|
|
# https://chromium-review.googlesource.com/c/chromium/src/+/532294
|
2018-07-25 09:58:33 +00:00
|
|
|
# https://github.com/saiarcot895/chromium-ubuntu-build/tree/master/debian/patches
|
2018-12-06 08:33:56 +00:00
|
|
|
# Recreated from scratch to be smaller and use system the orginal switches
|
|
|
|
|
# (default on) compared to the PR
|
2021-04-03 17:58:39 +00:00
|
|
|
Patch34: chromium-vaapi.patch
|
|
|
|
|
Patch35: chromium-86-fix-vaapi-on-intel.patch
|
2018-10-19 12:53:28 +00:00
|
|
|
# PATCH-FIX-SUSE: allow prop codecs to be set with chromium branding
|
2021-04-03 17:58:39 +00:00
|
|
|
Patch36: chromium-prop-codecs.patch
|
|
|
|
|
Patch37: libva-2.11.patch
|
|
|
|
|
Patch38: libva-2.11-nolegacy.patch
|
2016-10-13 10:28:28 +00:00
|
|
|
BuildRequires: SDL-devel
|
2016-08-27 18:49:35 +00:00
|
|
|
BuildRequires: binutils-gold
|
2011-09-20 16:10:49 +00:00
|
|
|
BuildRequires: bison
|
|
|
|
|
BuildRequires: cups-devel
|
|
|
|
|
BuildRequires: desktop-file-utils
|
|
|
|
|
BuildRequires: fdupes
|
|
|
|
|
BuildRequires: flex
|
2020-10-14 11:15:31 +00:00
|
|
|
BuildRequires: gn >= 0.1807
|
2011-09-20 16:10:49 +00:00
|
|
|
BuildRequires: gperf
|
2013-03-27 21:38:42 +00:00
|
|
|
BuildRequires: hicolor-icon-theme
|
2019-03-18 13:09:30 +00:00
|
|
|
# Java used during build
|
|
|
|
|
BuildRequires: java-openjdk-headless
|
2016-08-27 18:49:35 +00:00
|
|
|
BuildRequires: libcap-devel
|
|
|
|
|
BuildRequires: libdc1394
|
2012-08-23 09:19:32 +00:00
|
|
|
BuildRequires: libgcrypt-devel
|
2016-08-27 18:49:35 +00:00
|
|
|
BuildRequires: libgsm-devel
|
2017-11-03 12:39:08 +00:00
|
|
|
BuildRequires: libjpeg-devel >= 8.1
|
2016-10-13 10:28:28 +00:00
|
|
|
BuildRequires: libpng-devel
|
2020-08-28 07:59:00 +00:00
|
|
|
BuildRequires: memory-constraints
|
2019-06-07 19:53:02 +00:00
|
|
|
BuildRequires: nasm
|
2016-08-27 18:49:35 +00:00
|
|
|
BuildRequires: ncurses-devel
|
2017-09-11 08:41:09 +00:00
|
|
|
BuildRequires: ninja >= 1.7.2
|
2018-10-17 08:03:27 +00:00
|
|
|
BuildRequires: nodejs >= 8.0
|
2013-03-27 21:38:42 +00:00
|
|
|
BuildRequires: pam-devel
|
2016-10-13 10:28:28 +00:00
|
|
|
BuildRequires: pkgconfig
|
2011-09-20 16:10:49 +00:00
|
|
|
BuildRequires: python
|
2020-03-14 11:16:45 +00:00
|
|
|
BuildRequires: python-xml
|
2020-05-20 10:20:10 +00:00
|
|
|
BuildRequires: python2-setuptools
|
2016-10-13 10:28:28 +00:00
|
|
|
BuildRequires: snappy-devel
|
|
|
|
|
BuildRequires: update-desktop-files
|
2013-04-10 20:44:14 +00:00
|
|
|
BuildRequires: util-linux
|
2011-09-20 16:10:49 +00:00
|
|
|
BuildRequires: wdiff
|
2016-10-13 10:28:28 +00:00
|
|
|
BuildRequires: perl(Switch)
|
|
|
|
|
BuildRequires: pkgconfig(alsa)
|
|
|
|
|
BuildRequires: pkgconfig(bzip2)
|
2012-03-06 09:34:34 +00:00
|
|
|
BuildRequires: pkgconfig(cairo) >= 1.6
|
|
|
|
|
BuildRequires: pkgconfig(dbus-1)
|
2016-10-13 10:28:28 +00:00
|
|
|
BuildRequires: pkgconfig(dirac) >= 1.0.0
|
2018-01-25 09:39:46 +00:00
|
|
|
BuildRequires: pkgconfig(dri)
|
2016-10-13 10:28:28 +00:00
|
|
|
BuildRequires: pkgconfig(expat)
|
|
|
|
|
BuildRequires: pkgconfig(flac++)
|
|
|
|
|
BuildRequires: pkgconfig(freetype2)
|
2020-04-08 08:38:34 +00:00
|
|
|
BuildRequires: pkgconfig(gbm)
|
2012-03-06 09:34:34 +00:00
|
|
|
BuildRequires: pkgconfig(glib-2.0)
|
|
|
|
|
BuildRequires: pkgconfig(gtk+-2.0)
|
2016-08-22 10:45:36 +00:00
|
|
|
BuildRequires: pkgconfig(gtk+-3.0)
|
2016-10-13 10:28:28 +00:00
|
|
|
BuildRequires: pkgconfig(hunspell)
|
|
|
|
|
BuildRequires: pkgconfig(imlib2)
|
|
|
|
|
BuildRequires: pkgconfig(jack)
|
|
|
|
|
BuildRequires: pkgconfig(kadm-client)
|
|
|
|
|
BuildRequires: pkgconfig(kdb)
|
|
|
|
|
BuildRequires: pkgconfig(krb5)
|
2017-07-26 13:22:21 +00:00
|
|
|
BuildRequires: pkgconfig(libavcodec)
|
|
|
|
|
BuildRequires: pkgconfig(libavfilter)
|
2018-06-01 17:46:47 +00:00
|
|
|
BuildRequires: pkgconfig(libavformat) >= 58
|
2017-07-26 13:22:21 +00:00
|
|
|
BuildRequires: pkgconfig(libavutil)
|
2016-08-27 18:49:35 +00:00
|
|
|
BuildRequires: pkgconfig(libcrypto)
|
2016-10-13 10:28:28 +00:00
|
|
|
BuildRequires: pkgconfig(libdc1394-2)
|
|
|
|
|
BuildRequires: pkgconfig(libdrm)
|
2019-03-13 10:16:54 +00:00
|
|
|
BuildRequires: pkgconfig(libelf)
|
2016-10-13 10:28:28 +00:00
|
|
|
BuildRequires: pkgconfig(libevent)
|
2016-08-27 18:49:35 +00:00
|
|
|
BuildRequires: pkgconfig(libexif)
|
2016-10-13 10:28:28 +00:00
|
|
|
BuildRequires: pkgconfig(libffi)
|
|
|
|
|
BuildRequires: pkgconfig(libpci)
|
|
|
|
|
BuildRequires: pkgconfig(libpulse)
|
|
|
|
|
BuildRequires: pkgconfig(libssl)
|
2021-04-03 17:58:39 +00:00
|
|
|
BuildRequires: pkgconfig(libtcmalloc)
|
2013-03-27 21:38:42 +00:00
|
|
|
BuildRequires: pkgconfig(libudev)
|
2018-10-17 08:03:27 +00:00
|
|
|
BuildRequires: pkgconfig(libusb-1.0)
|
2020-07-16 11:26:54 +00:00
|
|
|
BuildRequires: pkgconfig(libva)
|
2020-05-20 09:32:57 +00:00
|
|
|
BuildRequires: pkgconfig(libwebp) >= 0.4.0
|
|
|
|
|
BuildRequires: pkgconfig(libxml-2.0) >= 2.9.5
|
2013-01-27 09:26:35 +00:00
|
|
|
BuildRequires: pkgconfig(libxslt)
|
2018-03-08 08:58:24 +00:00
|
|
|
BuildRequires: pkgconfig(minizip)
|
2013-09-02 13:54:22 +00:00
|
|
|
BuildRequires: pkgconfig(nspr) >= 4.9.5
|
2017-09-11 08:41:09 +00:00
|
|
|
BuildRequires: pkgconfig(nss) >= 3.26
|
2016-10-13 10:28:28 +00:00
|
|
|
BuildRequires: pkgconfig(ogg)
|
|
|
|
|
BuildRequires: pkgconfig(openssl)
|
2020-05-20 09:32:57 +00:00
|
|
|
BuildRequires: pkgconfig(opus) >= 1.3.1
|
2016-10-13 10:28:28 +00:00
|
|
|
BuildRequires: pkgconfig(python)
|
2019-03-13 10:16:54 +00:00
|
|
|
BuildRequires: pkgconfig(re2)
|
2016-10-13 10:28:28 +00:00
|
|
|
BuildRequires: pkgconfig(schroedinger-1.0)
|
|
|
|
|
BuildRequires: pkgconfig(slang)
|
2016-08-27 18:49:35 +00:00
|
|
|
BuildRequires: pkgconfig(sqlite3)
|
2016-10-13 10:28:28 +00:00
|
|
|
BuildRequires: pkgconfig(theora) >= 1.1
|
|
|
|
|
BuildRequires: pkgconfig(vdpau)
|
|
|
|
|
BuildRequires: pkgconfig(vorbis)
|
2021-04-03 17:58:39 +00:00
|
|
|
BuildRequires: pkgconfig(wayland-client)
|
|
|
|
|
BuildRequires: pkgconfig(wayland-cursor)
|
|
|
|
|
BuildRequires: pkgconfig(wayland-scanner)
|
|
|
|
|
BuildRequires: pkgconfig(wayland-server)
|
2012-03-06 09:34:34 +00:00
|
|
|
BuildRequires: pkgconfig(x11)
|
2020-04-08 08:38:34 +00:00
|
|
|
BuildRequires: pkgconfig(xcb-dri3)
|
2020-07-16 11:26:54 +00:00
|
|
|
BuildRequires: pkgconfig(xcb-proto)
|
2012-03-06 09:34:34 +00:00
|
|
|
BuildRequires: pkgconfig(xcomposite)
|
2012-04-08 12:17:20 +00:00
|
|
|
BuildRequires: pkgconfig(xcursor)
|
2013-03-27 21:38:42 +00:00
|
|
|
BuildRequires: pkgconfig(xdamage)
|
2012-03-06 09:34:34 +00:00
|
|
|
BuildRequires: pkgconfig(xext)
|
|
|
|
|
BuildRequires: pkgconfig(xfixes)
|
|
|
|
|
BuildRequires: pkgconfig(xi)
|
2021-04-03 17:58:39 +00:00
|
|
|
BuildRequires: pkgconfig(xkbcommon)
|
2012-08-21 09:40:51 +00:00
|
|
|
BuildRequires: pkgconfig(xrandr)
|
2012-03-06 09:34:34 +00:00
|
|
|
BuildRequires: pkgconfig(xrender)
|
|
|
|
|
BuildRequires: pkgconfig(xscrnsaver)
|
2021-03-11 18:43:48 +00:00
|
|
|
BuildRequires: pkgconfig(xshmfence)
|
2012-03-06 09:34:34 +00:00
|
|
|
BuildRequires: pkgconfig(xt)
|
2013-03-09 19:11:01 +00:00
|
|
|
BuildRequires: pkgconfig(xtst)
|
2020-05-20 09:32:57 +00:00
|
|
|
BuildRequires: pkgconfig(zlib)
|
2016-01-31 12:23:18 +00:00
|
|
|
Requires: hicolor-icon-theme
|
|
|
|
|
Requires: xdg-utils
|
|
|
|
|
Requires(pre): permissions
|
2017-07-26 13:22:21 +00:00
|
|
|
Recommends: noto-coloremoji-fonts
|
2018-03-08 08:58:24 +00:00
|
|
|
Conflicts: chromium-browser
|
2016-01-31 12:23:18 +00:00
|
|
|
Provides: chromium-based-browser = %{version}
|
|
|
|
|
Provides: chromium-browser = %{version}
|
2019-02-11 08:18:05 +00:00
|
|
|
Provides: web_browser
|
2016-01-31 12:23:18 +00:00
|
|
|
Obsoletes: %{name}-suid-helper < %{version}
|
|
|
|
|
Obsoletes: chromium-browser < %{version}
|
|
|
|
|
Provides: %{name}-suid-helper = %{version}
|
2020-08-27 08:24:47 +00:00
|
|
|
Obsoletes: chromium-beta-desktop-gnome
|
2020-08-27 08:31:44 +00:00
|
|
|
Obsoletes: chromium-beta-desktop-kde
|
|
|
|
|
Obsoletes: chromium-desktop-gnome
|
|
|
|
|
Obsoletes: chromium-desktop-kde
|
2020-08-27 08:24:47 +00:00
|
|
|
Obsoletes: chromium-dev-desktop-gnome
|
2020-08-27 08:31:44 +00:00
|
|
|
Obsoletes: chromium-dev-desktop-kde
|
2017-07-26 13:22:21 +00:00
|
|
|
Obsoletes: chromium-ffmpeg
|
|
|
|
|
Obsoletes: chromium-ffmpegsumo
|
2018-03-08 08:58:24 +00:00
|
|
|
# no 32bit supported and it takes ages to build
|
2018-09-19 08:00:26 +00:00
|
|
|
ExcludeArch: %{ix86} %{arm} ppc ppc64 ppc64le s390 s390x
|
2020-11-19 21:49:09 +00:00
|
|
|
%if 0%{?suse_version} <= 1500
|
|
|
|
|
BuildRequires: pkgconfig(glproto)
|
|
|
|
|
%endif
|
2019-03-18 13:09:30 +00:00
|
|
|
%if %{with pipewire}
|
2020-03-24 13:22:18 +00:00
|
|
|
BuildRequires: pkgconfig(libpipewire-0.3)
|
2020-06-29 19:20:36 +00:00
|
|
|
BuildRequires: pkgconfig(libspa-0.2)
|
2020-03-24 13:22:18 +00:00
|
|
|
%endif
|
2018-04-06 12:59:51 +00:00
|
|
|
%if %{with system_harfbuzz}
|
2019-10-23 13:00:30 +00:00
|
|
|
BuildRequires: pkgconfig(harfbuzz) > 2.3.0
|
2018-03-08 08:58:24 +00:00
|
|
|
%endif
|
2016-12-03 09:55:55 +00:00
|
|
|
%if %{with system_icu}
|
2020-06-11 12:16:30 +00:00
|
|
|
BuildRequires: pkgconfig(icu-i18n) >= 67.0
|
2016-12-03 09:55:55 +00:00
|
|
|
%endif
|
|
|
|
|
%if %{with system_vpx}
|
2020-06-11 12:16:30 +00:00
|
|
|
BuildRequires: pkgconfig(vpx) >= 1.8.2
|
2016-12-03 09:55:55 +00:00
|
|
|
%endif
|
2016-10-13 10:28:28 +00:00
|
|
|
%if %{with clang}
|
2018-04-18 08:59:31 +00:00
|
|
|
BuildRequires: clang >= 5.0.0
|
2016-10-13 10:28:28 +00:00
|
|
|
%else
|
2019-03-13 10:16:54 +00:00
|
|
|
%if %{?suse_version} > 1500
|
2020-10-14 11:15:31 +00:00
|
|
|
BuildRequires: gcc >= 10
|
|
|
|
|
BuildRequires: gcc-c++ >= 10
|
2017-09-11 08:41:09 +00:00
|
|
|
%else
|
2020-10-14 11:15:31 +00:00
|
|
|
BuildRequires: gcc10
|
|
|
|
|
BuildRequires: gcc10-c++
|
2017-09-11 08:41:09 +00:00
|
|
|
%endif
|
2016-10-13 10:28:28 +00:00
|
|
|
%endif
|
2011-09-20 16:10:49 +00:00
|
|
|
|
|
|
|
|
%description
|
|
|
|
|
Chromium is the open-source project behind Google Chrome. We invite you to join us in our effort to help build a safer, faster, and more stable way for all Internet users to experience the web, and to create a powerful platform for developing a new generation of web applications.
|
|
|
|
|
|
2012-04-18 14:02:36 +00:00
|
|
|
%package -n chromedriver
|
2012-04-19 09:15:10 +00:00
|
|
|
Summary: WebDriver for Google Chrome/Chromium
|
|
|
|
|
License: BSD-3-Clause
|
2016-12-03 09:55:55 +00:00
|
|
|
Requires: %{name} = %{version}
|
2012-04-18 14:02:36 +00:00
|
|
|
|
|
|
|
|
%description -n chromedriver
|
2012-04-19 09:15:10 +00:00
|
|
|
WebDriver is an open source tool for automated testing of webapps across many browsers. It provides capabilities for navigating to web pages, user input, JavaScript execution, and more. ChromeDriver is a standalone server which implements WebDriver's wire protocol for Chromium. It is being developed by members of the Chromium and WebDriver teams.
|
2013-10-01 19:26:07 +00:00
|
|
|
|
2011-09-20 16:10:49 +00:00
|
|
|
%prep
|
2021-04-03 17:58:39 +00:00
|
|
|
%autosetup -N
|
|
|
|
|
%if 0%{?suse_version} < 1550
|
|
|
|
|
%{lua:for i=0,37 do print(string.format("%%patch%u -p1 \n", i, i)) end}
|
|
|
|
|
%else
|
2018-04-18 08:59:31 +00:00
|
|
|
%autopatch -p1
|
2021-04-03 17:58:39 +00:00
|
|
|
%endif
|
2018-09-18 09:30:20 +00:00
|
|
|
|
2021-03-05 12:09:31 +00:00
|
|
|
%build
|
2017-04-21 09:15:51 +00:00
|
|
|
# Fix the path to nodejs binary
|
|
|
|
|
mkdir -p third_party/node/linux/node-linux-x64/bin
|
|
|
|
|
ln -s %{_bindir}/node third_party/node/linux/node-linux-x64/bin/node
|
|
|
|
|
|
2016-12-03 09:55:55 +00:00
|
|
|
# Remove bundled libs
|
|
|
|
|
keeplibs=(
|
2019-08-02 08:37:13 +00:00
|
|
|
base/third_party/cityhash
|
2019-10-23 13:00:30 +00:00
|
|
|
base/third_party/double_conversion
|
2016-12-03 09:55:55 +00:00
|
|
|
base/third_party/dynamic_annotations
|
|
|
|
|
base/third_party/nspr
|
|
|
|
|
base/third_party/icu
|
|
|
|
|
base/third_party/superfasthash
|
|
|
|
|
base/third_party/symbolize
|
|
|
|
|
base/third_party/valgrind
|
2020-04-15 07:35:42 +00:00
|
|
|
base/third_party/xdg_mime
|
|
|
|
|
base/third_party/xdg_user_dirs
|
2018-04-18 08:59:31 +00:00
|
|
|
buildtools/third_party/libc++
|
|
|
|
|
buildtools/third_party/libc++abi
|
|
|
|
|
buildtools/third_party/libunwind
|
2016-12-03 09:55:55 +00:00
|
|
|
chrome/third_party/mozilla_security_manager
|
|
|
|
|
courgette/third_party
|
|
|
|
|
net/third_party/mozilla_security_manager
|
|
|
|
|
net/third_party/nss
|
2018-07-25 09:58:33 +00:00
|
|
|
net/third_party/quic
|
2018-10-17 08:03:27 +00:00
|
|
|
net/third_party/uri_template
|
2018-09-06 09:07:00 +00:00
|
|
|
third_party/abseil-cpp
|
2016-12-03 09:55:55 +00:00
|
|
|
third_party/angle
|
2017-09-11 08:41:09 +00:00
|
|
|
third_party/angle/src/common/third_party/base
|
2017-12-07 09:41:26 +00:00
|
|
|
third_party/angle/src/common/third_party/smhasher
|
2019-01-30 08:50:03 +00:00
|
|
|
third_party/angle/src/common/third_party/xxhash
|
2016-12-03 09:55:55 +00:00
|
|
|
third_party/angle/src/third_party/compiler
|
|
|
|
|
third_party/angle/src/third_party/libXNVCtrl
|
|
|
|
|
third_party/angle/src/third_party/trace_event
|
2020-04-08 08:38:34 +00:00
|
|
|
third_party/angle/src/third_party/volk
|
2019-01-30 08:50:03 +00:00
|
|
|
third_party/apple_apsl
|
2019-06-07 19:47:47 +00:00
|
|
|
third_party/axe-core
|
2017-12-07 09:41:26 +00:00
|
|
|
third_party/blink
|
2016-12-03 09:55:55 +00:00
|
|
|
third_party/boringssl
|
2018-01-25 09:39:46 +00:00
|
|
|
third_party/boringssl/src/third_party/fiat
|
2017-12-07 09:41:26 +00:00
|
|
|
third_party/breakpad
|
|
|
|
|
third_party/breakpad/breakpad/src/third_party/curl
|
2016-12-03 09:55:55 +00:00
|
|
|
third_party/brotli
|
|
|
|
|
third_party/catapult
|
2017-12-07 09:41:26 +00:00
|
|
|
third_party/catapult/common/py_vulcanize/third_party/rcssmin
|
|
|
|
|
third_party/catapult/common/py_vulcanize/third_party/rjsmin
|
2019-09-12 07:25:11 +00:00
|
|
|
third_party/catapult/third_party/beautifulsoup4
|
|
|
|
|
third_party/catapult/third_party/html5lib-python
|
|
|
|
|
third_party/catapult/third_party/polymer
|
|
|
|
|
third_party/catapult/third_party/six
|
2016-12-03 09:55:55 +00:00
|
|
|
third_party/catapult/tracing/third_party/d3
|
|
|
|
|
third_party/catapult/tracing/third_party/gl-matrix
|
2019-09-12 07:25:11 +00:00
|
|
|
third_party/catapult/tracing/third_party/jpeg-js
|
2016-12-03 09:55:55 +00:00
|
|
|
third_party/catapult/tracing/third_party/jszip
|
|
|
|
|
third_party/catapult/tracing/third_party/mannwhitneyu
|
2017-07-26 13:22:21 +00:00
|
|
|
third_party/catapult/tracing/third_party/oboe
|
2017-12-07 09:41:26 +00:00
|
|
|
third_party/catapult/tracing/third_party/pako
|
2016-12-03 09:55:55 +00:00
|
|
|
third_party/ced
|
|
|
|
|
third_party/cld_3
|
2018-05-30 11:15:30 +00:00
|
|
|
third_party/crashpad
|
2019-01-30 08:50:03 +00:00
|
|
|
third_party/closure_compiler
|
2019-06-07 19:47:47 +00:00
|
|
|
third_party/crashpad/crashpad/third_party/lss
|
2019-08-02 08:37:13 +00:00
|
|
|
third_party/crashpad/crashpad/third_party/zlib
|
2017-10-19 03:26:36 +00:00
|
|
|
third_party/crc32c
|
2016-12-03 09:55:55 +00:00
|
|
|
third_party/cros_system_api
|
2019-04-30 09:13:16 +00:00
|
|
|
third_party/dav1d
|
2019-06-07 19:47:47 +00:00
|
|
|
third_party/dawn
|
2019-10-23 13:00:30 +00:00
|
|
|
third_party/depot_tools
|
|
|
|
|
third_party/depot_tools/third_party/six
|
2016-12-03 09:55:55 +00:00
|
|
|
third_party/devscripts
|
2020-02-05 13:08:00 +00:00
|
|
|
third_party/devtools-frontend
|
2020-07-16 11:26:54 +00:00
|
|
|
third_party/devtools-frontend/src/front_end/third_party/acorn
|
2020-11-19 21:49:09 +00:00
|
|
|
third_party/devtools-frontend/src/front_end/third_party/axe-core
|
2020-10-14 11:15:31 +00:00
|
|
|
third_party/devtools-frontend/src/front_end/third_party/chromium
|
2020-07-16 11:26:54 +00:00
|
|
|
third_party/devtools-frontend/src/front_end/third_party/codemirror
|
2020-04-08 08:38:34 +00:00
|
|
|
third_party/devtools-frontend/src/front_end/third_party/fabricjs
|
2020-10-14 11:15:31 +00:00
|
|
|
third_party/devtools-frontend/src/front_end/third_party/i18n
|
|
|
|
|
third_party/devtools-frontend/src/front_end/third_party/intl-messageformat
|
2020-05-20 09:32:57 +00:00
|
|
|
third_party/devtools-frontend/src/front_end/third_party/lighthouse
|
2020-10-14 11:15:31 +00:00
|
|
|
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
|
2020-11-19 21:49:09 +00:00
|
|
|
third_party/devtools-frontend/src/front_end/third_party/puppeteer
|
2020-04-08 08:38:34 +00:00
|
|
|
third_party/devtools-frontend/src/front_end/third_party/wasmparser
|
2020-02-05 13:08:00 +00:00
|
|
|
third_party/devtools-frontend/src/third_party
|
2016-12-03 09:55:55 +00:00
|
|
|
third_party/dom_distiller_js
|
2019-04-30 09:13:16 +00:00
|
|
|
third_party/emoji-segmenter
|
2016-12-03 09:55:55 +00:00
|
|
|
third_party/flatbuffers
|
2021-01-23 17:08:22 +00:00
|
|
|
third_party/fusejs/dist
|
2020-02-05 13:08:00 +00:00
|
|
|
third_party/libgifcodec
|
2021-01-23 17:08:22 +00:00
|
|
|
third_party/libxcb-keysyms/keysyms
|
2016-12-03 09:55:55 +00:00
|
|
|
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
|
2017-07-26 13:22:21 +00:00
|
|
|
third_party/googletest
|
2020-05-20 09:32:57 +00:00
|
|
|
third_party/harfbuzz-ng/utils
|
2016-12-03 09:55:55 +00:00
|
|
|
third_party/hunspell
|
|
|
|
|
third_party/iccjpeg
|
2017-01-31 14:05:05 +00:00
|
|
|
third_party/inspector_protocol
|
2017-04-25 13:25:29 +00:00
|
|
|
third_party/jinja2
|
2018-12-06 08:33:56 +00:00
|
|
|
third_party/jsoncpp
|
2016-12-03 09:55:55 +00:00
|
|
|
third_party/jstemplate
|
|
|
|
|
third_party/khronos
|
|
|
|
|
third_party/leveldatabase
|
|
|
|
|
third_party/libXNVCtrl
|
|
|
|
|
third_party/libaddressinput
|
2018-03-08 08:58:24 +00:00
|
|
|
third_party/libaom
|
2018-10-17 08:03:27 +00:00
|
|
|
third_party/libaom/source/libaom/third_party/vector
|
|
|
|
|
third_party/libaom/source/libaom/third_party/x86inc
|
2020-07-16 11:26:54 +00:00
|
|
|
third_party/libavif
|
2016-12-03 09:55:55 +00:00
|
|
|
third_party/libjingle
|
|
|
|
|
third_party/libphonenumber
|
|
|
|
|
third_party/libsecret
|
|
|
|
|
third_party/libsrtp
|
2018-07-25 09:58:33 +00:00
|
|
|
third_party/libsync
|
2016-12-03 09:55:55 +00:00
|
|
|
third_party/libudev
|
2021-03-05 12:09:31 +00:00
|
|
|
third_party/liburlpattern
|
2016-12-03 09:55:55 +00:00
|
|
|
third_party/libwebm
|
2021-01-23 17:08:22 +00:00
|
|
|
third_party/libx11/src
|
2016-12-03 09:55:55 +00:00
|
|
|
third_party/libxml/chromium
|
2021-03-05 12:09:31 +00:00
|
|
|
third_party/libva_protected_content
|
2016-12-03 09:55:55 +00:00
|
|
|
third_party/libyuv
|
2020-07-16 11:26:54 +00:00
|
|
|
third_party/lottie
|
2016-12-03 09:55:55 +00:00
|
|
|
third_party/lss
|
|
|
|
|
third_party/lzma_sdk
|
2020-05-20 09:32:57 +00:00
|
|
|
third_party/mako
|
2017-04-25 13:25:29 +00:00
|
|
|
third_party/markupsafe
|
2016-12-03 09:55:55 +00:00
|
|
|
third_party/mesa
|
2018-01-25 09:39:46 +00:00
|
|
|
third_party/metrics_proto
|
2018-10-17 08:03:27 +00:00
|
|
|
third_party/minigbm
|
2016-12-03 09:55:55 +00:00
|
|
|
third_party/modp_b64
|
2019-04-30 09:13:16 +00:00
|
|
|
third_party/nasm
|
2020-10-14 11:15:31 +00:00
|
|
|
third_party/nearby
|
2017-04-21 09:15:51 +00:00
|
|
|
third_party/node
|
2017-10-19 03:26:36 +00:00
|
|
|
third_party/node/node_modules/polymer-bundler/lib/third_party/UglifyJS2
|
2019-09-12 07:25:11 +00:00
|
|
|
third_party/one_euro_filter
|
2020-08-27 08:24:47 +00:00
|
|
|
third_party/opencv
|
2020-11-19 21:49:09 +00:00
|
|
|
third_party/openh264
|
2019-08-02 08:37:13 +00:00
|
|
|
third_party/openscreen
|
2020-07-16 11:26:54 +00:00
|
|
|
third_party/openscreen/src/third_party/mozilla
|
2019-09-12 07:25:11 +00:00
|
|
|
third_party/openscreen/src/third_party/tinycbor/src/src
|
2016-12-03 09:55:55 +00:00
|
|
|
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
|
2017-10-19 03:26:36 +00:00
|
|
|
third_party/pdfium/third_party/lcms
|
2016-12-03 09:55:55 +00:00
|
|
|
third_party/pdfium/third_party/libopenjpeg20
|
|
|
|
|
third_party/pdfium/third_party/libpng16
|
|
|
|
|
third_party/pdfium/third_party/libtiff
|
2018-04-18 08:59:31 +00:00
|
|
|
third_party/pdfium/third_party/skia_shared
|
2018-07-25 09:58:33 +00:00
|
|
|
third_party/perfetto
|
2021-03-05 12:09:31 +00:00
|
|
|
third_party/perfetto/protos/third_party/chromium
|
2019-06-07 19:47:47 +00:00
|
|
|
third_party/pffft
|
2017-04-25 13:25:29 +00:00
|
|
|
third_party/ply
|
2016-12-03 09:55:55 +00:00
|
|
|
third_party/polymer
|
2019-10-23 13:00:30 +00:00
|
|
|
third_party/private-join-and-compute
|
2020-11-19 21:49:09 +00:00
|
|
|
third_party/private_membership
|
2016-12-03 09:55:55 +00:00
|
|
|
third_party/protobuf
|
|
|
|
|
third_party/protobuf/third_party/six
|
2018-07-25 09:58:33 +00:00
|
|
|
third_party/pyjson5
|
2016-12-03 09:55:55 +00:00
|
|
|
third_party/qcms
|
2018-07-25 09:58:33 +00:00
|
|
|
third_party/rnnoise
|
2018-03-08 08:58:24 +00:00
|
|
|
third_party/s2cellid
|
2020-05-20 09:32:57 +00:00
|
|
|
third_party/schema_org
|
2020-10-14 11:15:31 +00:00
|
|
|
third_party/securemessage
|
2020-11-19 21:49:09 +00:00
|
|
|
third_party/shell-encryption
|
2019-10-23 13:00:30 +00:00
|
|
|
third_party/simplejson
|
2016-12-03 09:55:55 +00:00
|
|
|
third_party/skia
|
2018-07-25 09:58:33 +00:00
|
|
|
third_party/skia/third_party/skcms
|
2017-07-26 13:22:21 +00:00
|
|
|
third_party/skia/third_party/vulkan
|
2019-03-13 10:16:54 +00:00
|
|
|
third_party/skia/include/third_party/vulkan/
|
2019-08-02 08:37:13 +00:00
|
|
|
third_party/skia/include/third_party/skcms/
|
2016-12-03 09:55:55 +00:00
|
|
|
third_party/smhasher
|
|
|
|
|
third_party/sqlite
|
2019-11-07 10:15:42 +00:00
|
|
|
third_party/swiftshader
|
2020-05-20 09:32:57 +00:00
|
|
|
third_party/swiftshader/third_party/astc-encoder
|
2020-09-01 12:45:08 +00:00
|
|
|
third_party/swiftshader/third_party/llvm-10.0
|
2019-11-07 10:15:42 +00:00
|
|
|
third_party/swiftshader/third_party/llvm-subzero
|
2019-12-11 09:26:30 +00:00
|
|
|
third_party/swiftshader/third_party/marl
|
2019-11-07 10:15:42 +00:00
|
|
|
third_party/swiftshader/third_party/subzero
|
|
|
|
|
third_party/swiftshader/third_party/SPIRV-Headers/include/spirv/unified1
|
2016-12-03 09:55:55 +00:00
|
|
|
third_party/tcmalloc
|
2020-10-14 11:15:31 +00:00
|
|
|
third_party/ukey2
|
2016-12-03 09:55:55 +00:00
|
|
|
third_party/usrsctp
|
2017-07-26 13:22:21 +00:00
|
|
|
third_party/vulkan
|
2020-11-19 21:49:09 +00:00
|
|
|
third_party/wayland
|
2016-12-03 09:55:55 +00:00
|
|
|
third_party/web-animations-js
|
|
|
|
|
third_party/webdriver
|
|
|
|
|
third_party/webrtc
|
2020-07-16 11:26:54 +00:00
|
|
|
third_party/webrtc/common_audio/third_party/ooura
|
2018-10-17 08:03:27 +00:00
|
|
|
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
|
2016-12-03 09:55:55 +00:00
|
|
|
third_party/widevine
|
|
|
|
|
third_party/woff2
|
2020-02-05 13:08:00 +00:00
|
|
|
third_party/wuffs
|
2021-01-23 17:08:22 +00:00
|
|
|
third_party/x11proto
|
2020-08-27 08:24:47 +00:00
|
|
|
third_party/xcbproto
|
2020-10-14 11:15:31 +00:00
|
|
|
third_party/zxcvbn-cpp
|
2016-12-03 09:55:55 +00:00
|
|
|
third_party/zlib/google
|
2019-10-23 13:00:30 +00:00
|
|
|
tools/grit/third_party/six
|
2016-12-03 09:55:55 +00:00
|
|
|
url/third_party/mozilla
|
2019-03-13 10:16:54 +00:00
|
|
|
v8/src/third_party/siphash
|
2016-12-03 09:55:55 +00:00
|
|
|
v8/src/third_party/valgrind
|
2018-03-08 08:58:24 +00:00
|
|
|
v8/src/third_party/utf8-decoder
|
2017-01-31 14:05:05 +00:00
|
|
|
v8/third_party/inspector_protocol
|
2018-10-17 08:03:27 +00:00
|
|
|
v8/third_party/v8/builtins
|
2016-12-03 09:55:55 +00:00
|
|
|
)
|
2018-03-14 09:01:19 +00:00
|
|
|
%if !%{with system_harfbuzz}
|
2018-03-20 12:34:27 +00:00
|
|
|
keeplibs+=(
|
|
|
|
|
third_party/freetype
|
|
|
|
|
third_party/harfbuzz-ng
|
|
|
|
|
)
|
2018-03-14 09:01:19 +00:00
|
|
|
%endif
|
2017-01-31 14:05:05 +00:00
|
|
|
%if !%{with system_icu}
|
|
|
|
|
keeplibs+=( third_party/icu )
|
|
|
|
|
%endif
|
2016-12-03 09:55:55 +00:00
|
|
|
%if !%{with system_vpx}
|
|
|
|
|
keeplibs+=(
|
|
|
|
|
third_party/libvpx
|
|
|
|
|
third_party/libvpx/source/libvpx/third_party/x86inc
|
|
|
|
|
)
|
|
|
|
|
%endif
|
|
|
|
|
# needed due to bugs in GN
|
|
|
|
|
keeplibs+=(
|
|
|
|
|
third_party/speech-dispatcher
|
|
|
|
|
third_party/usb_ids
|
2020-04-15 07:17:11 +00:00
|
|
|
third_party/xdg-utils
|
2016-12-03 09:55:55 +00:00
|
|
|
)
|
|
|
|
|
build/linux/unbundle/remove_bundled_libraries.py "${keeplibs[@]}" --do-remove
|
|
|
|
|
|
2019-12-11 09:26:30 +00:00
|
|
|
# GN sets lto on its own and we need just ldflag options, not cflags
|
|
|
|
|
%define _lto_cflags %{nil}
|
2017-01-31 14:05:05 +00:00
|
|
|
%if %{with clang}
|
|
|
|
|
export CC=clang
|
|
|
|
|
export CXX=clang++
|
2017-06-06 07:50:04 +00:00
|
|
|
%else
|
2017-01-31 14:05:05 +00:00
|
|
|
# REDUCE DEBUG as it gets TOO large
|
|
|
|
|
ARCH_FLAGS="`echo %{optflags} | sed -e 's/^-g / /g' -e 's/ -g / /g' -e 's/ -g$//g'`"
|
2021-01-16 11:45:45 +00:00
|
|
|
export CXXFLAGS="${ARCH_FLAGS} -Wno-return-type"
|
2019-08-08 07:28:13 +00:00
|
|
|
# extra flags to reduce warnings that aren't very useful
|
2019-08-08 07:56:16 +00:00
|
|
|
export CXXFLAGS="${CXXFLAGS} -Wno-pedantic -Wno-unused-result -Wno-unused-function -Wno-unused-variable -Wno-unused-but-set-variable -Wno-deprecated-declarations"
|
2019-08-08 07:28:13 +00:00
|
|
|
# ignore warnings for minor mistakes that are too common
|
2019-08-08 07:56:16 +00:00
|
|
|
export CXXFLAGS="${CXXFLAGS} -Wno-return-type -Wno-parentheses -Wno-misleading-indentation"
|
2019-08-08 07:28:13 +00:00
|
|
|
# ignore warnings that are not supported well until gcc 8
|
2021-01-16 11:45:45 +00:00
|
|
|
export CXXFLAGS="${CXXFLAGS} -Wno-attributes"
|
2019-08-08 07:28:13 +00:00
|
|
|
# ignore warnings due to gcc bug (https://gcc.gnu.org/bugzilla/show_bug.cgi?id=84055)
|
2019-08-08 07:56:16 +00:00
|
|
|
export CXXFLAGS="${CXXFLAGS} -Wno-ignored-attributes"
|
2019-08-08 07:28:13 +00:00
|
|
|
# ingore new gcc 8 warnings that aren't yet handled upstream
|
2021-01-16 11:45:45 +00:00
|
|
|
export CXXFLAGS="${CXXFLAGS} -Wno-address -Wno-dangling-else -Wno-packed-not-aligned"
|
2020-06-11 16:32:15 +00:00
|
|
|
# for wayland
|
2020-11-19 21:49:09 +00:00
|
|
|
export CXXFLAGS="${CXXFLAGS} -I/usr/include/wayland -I/usr/include/libxkbcommon"
|
2019-08-08 09:44:42 +00:00
|
|
|
export CFLAGS="${CXXFLAGS}"
|
2021-01-16 11:45:45 +00:00
|
|
|
export CXXFLAGS="${CXXFLAGS} -Wno-subobject-linkage -Wno-class-memaccess -Wno-invalid-offsetof -fpermissive"
|
2017-06-06 07:50:04 +00:00
|
|
|
export CC=gcc
|
|
|
|
|
export CXX=g++
|
2019-08-08 08:09:35 +00:00
|
|
|
export AR=ar
|
|
|
|
|
export NM=nm
|
2019-03-13 10:16:54 +00:00
|
|
|
%if 0%{?suse_version} <= 1500
|
2021-03-05 12:09:31 +00:00
|
|
|
mkdir -p "$HOME/bin/"
|
2020-10-19 15:06:01 +00:00
|
|
|
export CC=gcc-10
|
|
|
|
|
export CXX=g++-10
|
2017-10-26 09:18:32 +00:00
|
|
|
# some still call gcc/g++
|
2018-03-08 08:58:24 +00:00
|
|
|
ln -sfn %{_bindir}/$CC $HOME/bin/gcc
|
|
|
|
|
ln -sfn %{_bindir}/$CXX $HOME/bin/g++
|
2017-10-26 09:18:32 +00:00
|
|
|
export PATH="$HOME/bin/:$PATH"
|
2017-09-11 08:41:09 +00:00
|
|
|
%endif
|
2017-06-06 07:50:04 +00:00
|
|
|
%endif
|
2020-08-28 08:02:35 +00:00
|
|
|
# do not eat all memory
|
|
|
|
|
%limit_build -m 2600
|
2020-08-27 08:24:47 +00:00
|
|
|
%if %{with lto}
|
|
|
|
|
# reduce the threads for linking even more due to LTO eating ton of memory
|
|
|
|
|
_link_threads=$(((%{jobs} - 2)))
|
|
|
|
|
test "$_link_threads" -le 0 && _link_threads=1
|
|
|
|
|
export LDFLAGS="-flto=$_link_threads --param lto-max-streaming-parallelism=1"
|
|
|
|
|
%endif
|
2019-10-24 12:43:53 +00:00
|
|
|
|
2016-12-03 09:55:55 +00:00
|
|
|
# Set system libraries to be used
|
2017-03-10 10:52:51 +00:00
|
|
|
gn_system_libraries=(
|
|
|
|
|
ffmpeg
|
2016-12-03 09:55:55 +00:00
|
|
|
flac
|
2018-03-08 08:58:24 +00:00
|
|
|
fontconfig
|
2017-06-06 07:50:04 +00:00
|
|
|
libdrm
|
2020-10-12 06:49:57 +00:00
|
|
|
libevent
|
2016-12-03 09:55:55 +00:00
|
|
|
libjpeg
|
|
|
|
|
libpng
|
|
|
|
|
libxslt
|
2018-10-17 08:03:27 +00:00
|
|
|
libusb
|
2020-05-20 09:32:57 +00:00
|
|
|
libwebp
|
|
|
|
|
libxml
|
|
|
|
|
opus
|
2016-12-03 09:55:55 +00:00
|
|
|
re2
|
|
|
|
|
snappy
|
2020-05-20 09:32:57 +00:00
|
|
|
zlib
|
2018-05-30 11:15:30 +00:00
|
|
|
)
|
2018-03-14 09:01:19 +00:00
|
|
|
%if %{with system_harfbuzz}
|
2018-03-20 12:34:27 +00:00
|
|
|
gn_system_libraries+=(
|
|
|
|
|
harfbuzz-ng
|
|
|
|
|
freetype
|
|
|
|
|
)
|
2018-03-14 09:01:19 +00:00
|
|
|
%endif
|
2016-12-03 09:55:55 +00:00
|
|
|
%if %{with system_icu}
|
2017-03-10 10:52:51 +00:00
|
|
|
gn_system_libraries+=( icu )
|
2016-12-03 09:55:55 +00:00
|
|
|
%endif
|
|
|
|
|
%if %{with system_vpx}
|
2017-03-10 10:52:51 +00:00
|
|
|
gn_system_libraries+=( libvpx )
|
2016-12-03 09:55:55 +00:00
|
|
|
%endif
|
2017-03-10 10:52:51 +00:00
|
|
|
build/linux/unbundle/replace_gn_files.py --system-libraries ${gn_system_libraries[@]}
|
2016-12-03 09:55:55 +00:00
|
|
|
|
2016-08-22 10:45:36 +00:00
|
|
|
# Create the configuration for GN
|
2016-10-13 10:28:28 +00:00
|
|
|
# Available options: out/Release/gn args --list out/Release/
|
|
|
|
|
myconf_gn=""
|
2019-09-16 08:14:08 +00:00
|
|
|
myconf_gn+=" custom_toolchain=\"//build/toolchain/linux/unbundle:default\""
|
2019-08-08 07:56:16 +00:00
|
|
|
myconf_gn+=" host_toolchain=\"//build/toolchain/linux/unbundle:default\""
|
2017-09-11 08:41:09 +00:00
|
|
|
myconf_gn+=" use_custom_libcxx=false"
|
2016-08-22 10:45:36 +00:00
|
|
|
myconf_gn+=" is_debug=false"
|
|
|
|
|
myconf_gn+=" enable_nacl=false"
|
2019-11-07 10:15:42 +00:00
|
|
|
%if %{with swiftshader}
|
|
|
|
|
myconf_gn+=" use_swiftshader_with_subzero=true"
|
|
|
|
|
%endif
|
2016-08-22 10:45:36 +00:00
|
|
|
myconf_gn+=" is_component_ffmpeg=true"
|
|
|
|
|
myconf_gn+=" use_cups=true"
|
2016-10-13 10:28:28 +00:00
|
|
|
myconf_gn+=" use_aura=true"
|
2018-12-06 08:33:56 +00:00
|
|
|
myconf_gn+=" concurrent_links=1"
|
2016-10-13 10:28:28 +00:00
|
|
|
myconf_gn+=" symbol_level=1"
|
2019-06-07 19:47:47 +00:00
|
|
|
myconf_gn+=" blink_symbol_level=0"
|
2016-08-22 10:45:36 +00:00
|
|
|
myconf_gn+=" use_kerberos=true"
|
2018-03-08 08:58:24 +00:00
|
|
|
myconf_gn+=" enable_vr=false"
|
2018-10-17 08:03:27 +00:00
|
|
|
myconf_gn+=" optimize_webui=false"
|
|
|
|
|
myconf_gn+=" enable_reading_list=false"
|
2016-10-13 10:28:28 +00:00
|
|
|
myconf_gn+=" use_pulseaudio=true link_pulseaudio=true"
|
2016-12-03 09:55:55 +00:00
|
|
|
myconf_gn+=" is_component_build=false"
|
2016-08-22 10:45:36 +00:00
|
|
|
myconf_gn+=" use_sysroot=false"
|
2016-09-01 04:22:45 +00:00
|
|
|
myconf_gn+=" fatal_linker_warnings=false"
|
2018-05-09 08:24:10 +00:00
|
|
|
# Current tcmalloc does not support AArch64
|
2016-12-03 09:55:55 +00:00
|
|
|
myconf_gn+=" use_allocator=\"tcmalloc\""
|
2016-08-22 13:21:57 +00:00
|
|
|
myconf_gn+=" fieldtrial_testing_like_official_build=true"
|
2016-10-13 10:28:28 +00:00
|
|
|
myconf_gn+=" use_gold=true"
|
2018-10-17 08:03:27 +00:00
|
|
|
myconf_gn+=" use_gnome_keyring=false"
|
|
|
|
|
myconf_gn+=" use_unofficial_version_number=false"
|
2018-03-08 08:58:24 +00:00
|
|
|
myconf_gn+=" use_lld=false"
|
|
|
|
|
myconf_gn+=" use_vaapi=true"
|
2016-10-13 10:28:28 +00:00
|
|
|
myconf_gn+=" use_sysroot=false"
|
2017-03-10 10:52:51 +00:00
|
|
|
myconf_gn+=" treat_warnings_as_errors=false"
|
2016-10-13 10:28:28 +00:00
|
|
|
myconf_gn+=" enable_widevine=true"
|
2019-08-02 08:37:13 +00:00
|
|
|
myconf_gn+=" use_dbus=true"
|
2018-01-25 09:39:46 +00:00
|
|
|
# See dependency logic in third_party/BUILD.gn
|
2018-03-14 09:01:19 +00:00
|
|
|
%if %{with system_harfbuzz}
|
|
|
|
|
myconf_gn+=" use_system_harfbuzz=true"
|
|
|
|
|
myconf_gn+=" use_system_freetype=true"
|
2018-03-20 12:36:27 +00:00
|
|
|
%endif
|
2016-10-13 10:28:28 +00:00
|
|
|
myconf_gn+=" enable_hangout_services_extension=true"
|
2019-11-07 10:15:42 +00:00
|
|
|
myconf_gn+=" enable_vulkan=true"
|
2019-03-18 13:09:30 +00:00
|
|
|
%if %{with pipewire}
|
|
|
|
|
myconf_gn+=" rtc_use_pipewire=true rtc_link_pipewire=true"
|
2021-03-05 12:09:31 +00:00
|
|
|
myconf_gn+=" rtc_pipewire_version=\"0.3\""
|
2020-03-24 13:22:18 +00:00
|
|
|
%endif
|
2016-10-13 10:28:28 +00:00
|
|
|
%if %{with clang}
|
|
|
|
|
myconf_gn+=" is_clang=true clang_base_path=\"/usr\" clang_use_chrome_plugins=false"
|
|
|
|
|
%else
|
|
|
|
|
myconf_gn+=" is_clang=false"
|
|
|
|
|
%endif
|
2019-07-03 13:21:29 +00:00
|
|
|
%if %{with lto}
|
|
|
|
|
myconf_gn+=" gcc_lto=true"
|
|
|
|
|
%endif
|
2019-12-11 09:26:30 +00:00
|
|
|
%if %{with system_icu}
|
|
|
|
|
myconf_gn+=" icu_use_data_file=false"
|
|
|
|
|
%endif
|
2013-09-22 16:11:49 +00:00
|
|
|
|
2016-11-07 20:04:46 +00:00
|
|
|
# The proprietary codecs just force the chromium to say they can use it and
|
2017-03-10 10:52:51 +00:00
|
|
|
# offload the actual computation to the ffmpeg, otherwise the chromium
|
2016-11-07 20:04:46 +00:00
|
|
|
# won't be able to load the codec even if the library can handle it
|
2016-11-07 09:10:57 +00:00
|
|
|
myconf_gn+=" proprietary_codecs=true"
|
2016-08-22 10:45:36 +00:00
|
|
|
myconf_gn+=" ffmpeg_branding=\"Chrome\""
|
2013-09-22 11:36:12 +00:00
|
|
|
|
2016-10-13 10:28:28 +00:00
|
|
|
%ifarch %{arm}
|
|
|
|
|
myconf_gn+=" target_cpu=\"arm\""
|
2018-12-18 15:06:23 +00:00
|
|
|
myconf_gn+=" arm_float_abi=\"hard\""
|
|
|
|
|
%ifarch armv6l armv6hl
|
|
|
|
|
myconf_gn+=" arm_version=6"
|
|
|
|
|
%else
|
|
|
|
|
myconf_gn+=" arm_version=7"
|
|
|
|
|
# Setting arm_use_neon to false breaks build
|
|
|
|
|
myconf_gn+=" arm_use_neon=true"
|
|
|
|
|
myconf_gn+=" arm_optionally_use_neon=true"
|
|
|
|
|
%endif
|
2016-08-27 18:49:35 +00:00
|
|
|
myconf_gn+=" arm_use_thumb=true"
|
|
|
|
|
%endif
|
|
|
|
|
|
2019-03-13 10:16:54 +00:00
|
|
|
%ifarch %{arm}
|
2018-12-18 15:06:23 +00:00
|
|
|
# We don't need to cross compile while building on an arm system.
|
|
|
|
|
sed -i 's|arm-linux-gnu-||g' build/toolchain/linux/BUILD.gn
|
|
|
|
|
sed -i 's|arm-linux-gnueabihf-||g' build/toolchain/linux/BUILD.gn
|
|
|
|
|
%endif
|
|
|
|
|
|
2018-05-09 08:24:10 +00:00
|
|
|
%ifarch aarch64
|
|
|
|
|
myconf_gn+=" target_cpu=\"arm64\""
|
|
|
|
|
%endif
|
|
|
|
|
|
|
|
|
|
%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
|
|
|
|
|
%endif
|
|
|
|
|
|
2013-01-08 13:27:34 +00:00
|
|
|
# Set up Google API keys, see http://www.chromium.org/developers/how-tos/api-keys
|
|
|
|
|
# Note: these are for the openSUSE Chromium builds ONLY. For your own distribution,
|
|
|
|
|
# please get your own set of keys.
|
2016-08-22 10:45:36 +00:00
|
|
|
google_api_key="AIzaSyD1hTe85_a14kr1Ks8T3Ce75rvbR1_Dx7Q"
|
|
|
|
|
myconf_gn+=" google_api_key=\"${google_api_key}\""
|
|
|
|
|
|
2016-10-13 10:28:28 +00:00
|
|
|
# GN does not support passing cflags:
|
|
|
|
|
# https://bugs.chromium.org/p/chromium/issues/detail?id=642016
|
2018-09-06 09:07:00 +00:00
|
|
|
gn gen --args="${myconf_gn}" out/Release
|
2013-09-22 11:36:12 +00:00
|
|
|
|
2020-07-16 11:26:54 +00:00
|
|
|
# bundled xcb proto for python2
|
|
|
|
|
export PYTHONPATH="$PWD/xcb-proto-1.14${PYTHONPATH+:}${PYTHONPATH}"
|
|
|
|
|
|
2020-02-13 14:52:49 +00:00
|
|
|
ninja -v %{?_smp_mflags} -C out/Release chrome chromedriver
|
2011-09-20 16:10:49 +00:00
|
|
|
|
|
|
|
|
%install
|
2016-08-22 10:45:36 +00:00
|
|
|
mkdir -p %{buildroot}%{_libdir}/chromium
|
2020-08-27 06:37:19 +00:00
|
|
|
mkdir -p %{buildroot}%{_prefix}/lib/
|
2017-03-10 10:52:51 +00:00
|
|
|
mkdir -p %{buildroot}%{_bindir}
|
|
|
|
|
install -m 755 %{SOURCE100} %{buildroot}%{_bindir}/chromium
|
2013-09-22 16:11:49 +00:00
|
|
|
|
2017-03-10 10:52:51 +00:00
|
|
|
# x86_64 capable systems need this
|
2020-08-27 06:37:19 +00:00
|
|
|
sed -i "s|%{_prefix}/lib/chromium|%{_libdir}/chromium|g" %{buildroot}%{_bindir}/chromium
|
2013-09-22 16:11:49 +00:00
|
|
|
|
2017-03-10 10:52:51 +00:00
|
|
|
mkdir -p %{buildroot}%{_mandir}/man1/
|
|
|
|
|
pushd out/Release
|
2013-09-22 16:11:49 +00:00
|
|
|
|
2017-03-10 10:52:51 +00:00
|
|
|
# Install the file %{_sysconfdir}/default/chromium which defines the chromium flags
|
|
|
|
|
mkdir -p %{buildroot}%{_sysconfdir}/default
|
|
|
|
|
install -m 644 %{SOURCE103} %{buildroot}%{_sysconfdir}/default/chromium
|
2013-09-22 16:11:49 +00:00
|
|
|
|
2020-04-14 13:38:36 +00:00
|
|
|
cp -a *.bin *.pak locales %{buildroot}%{_libdir}/chromium/
|
2020-09-15 08:39:04 +00:00
|
|
|
|
|
|
|
|
# This is ANGLE, not to be confused with the similarly named files under swiftshader/
|
2020-09-16 10:17:27 +00:00
|
|
|
cp -a libEGL.so* libGLESv2.so* %{buildroot}%{_libdir}/chromium/
|
2020-09-23 08:39:20 +00:00
|
|
|
rm %{buildroot}%{_libdir}/chromium/*.so.TOC
|
2020-09-15 08:39:04 +00:00
|
|
|
|
2017-03-10 10:52:51 +00:00
|
|
|
%if !%{with system_icu}
|
|
|
|
|
cp -a icudtl.dat %{buildroot}%{_libdir}/chromium/
|
|
|
|
|
%endif
|
2013-09-22 16:11:49 +00:00
|
|
|
|
2019-11-07 10:15:42 +00:00
|
|
|
%if %{with swiftshader}
|
2020-09-12 17:02:33 +00:00
|
|
|
# general folder for these is swiftshader bsc#1176450
|
|
|
|
|
mkdir -p %{buildroot}%{_libdir}/chromium/swiftshader
|
|
|
|
|
cp -a swiftshader/*.so %{buildroot}%{_libdir}/chromium/swiftshader/
|
2019-11-07 10:15:42 +00:00
|
|
|
%endif
|
|
|
|
|
|
2017-03-10 10:52:51 +00:00
|
|
|
# chromedriver
|
|
|
|
|
cp -a chromedriver %{buildroot}%{_libdir}/chromium/
|
2020-02-17 12:19:26 +00:00
|
|
|
ln -s %{_libdir}/chromium/chromedriver %{buildroot}%{_bindir}/chromedriver
|
2013-09-22 16:11:49 +00:00
|
|
|
|
2017-03-10 10:52:51 +00:00
|
|
|
cp -a resources.pak %{buildroot}%{_libdir}/chromium/
|
|
|
|
|
cp -a chrome %{buildroot}%{_libdir}/chromium/chromium
|
|
|
|
|
popd
|
2013-09-22 16:11:49 +00:00
|
|
|
|
2020-05-20 09:32:57 +00:00
|
|
|
install -Dm 0644 chrome/app/theme/chromium/product_logo_256.png %{buildroot}%{_datadir}/icons/hicolor/256x256/apps/chromium-browser.png
|
|
|
|
|
install -Dm 0644 chrome/app/theme/chromium/product_logo_128.png %{buildroot}%{_datadir}/icons/hicolor/128x128/apps/chromium-browser.png
|
|
|
|
|
install -Dm 0644 chrome/app/theme/chromium/product_logo_64.png %{buildroot}%{_datadir}/icons/hicolor/64x64/apps/chromium-browser.png
|
|
|
|
|
install -Dm 0644 chrome/app/theme/chromium/product_logo_48.png %{buildroot}%{_datadir}/icons/hicolor/48x48/apps/chromium-browser.png
|
|
|
|
|
install -Dm 0644 chrome/app/theme/chromium/product_logo_24.png %{buildroot}%{_datadir}/icons/hicolor/24x24/apps/chromium-browser.png
|
2020-03-30 06:11:37 +00:00
|
|
|
install -Dm 0644 %{SOURCE104} %{buildroot}%{_datadir}/icons/hicolor/symbolic/apps/chromium-browser-symbolic.svg
|
2013-09-22 16:11:49 +00:00
|
|
|
|
2017-03-10 10:52:51 +00:00
|
|
|
mkdir -p %{buildroot}%{_datadir}/applications/
|
|
|
|
|
desktop-file-install --dir %{buildroot}%{_datadir}/applications %{SOURCE101}
|
2013-09-22 16:11:49 +00:00
|
|
|
|
2019-10-18 17:48:19 +00:00
|
|
|
install -D -m0644 chrome/installer/linux/common/chromium-browser/chromium-browser.appdata.xml %{buildroot}%{_datadir}/metainfo/chromium-browser.appdata.xml
|
2016-12-03 09:55:55 +00:00
|
|
|
|
2017-03-10 10:52:51 +00:00
|
|
|
mkdir -p %{buildroot}%{_datadir}/gnome-control-center/default-apps/
|
|
|
|
|
cp -a %{SOURCE102} %{buildroot}%{_datadir}/gnome-control-center/default-apps/
|
2013-09-22 16:11:49 +00:00
|
|
|
|
2017-03-10 10:52:51 +00:00
|
|
|
# link to browser plugin path. Plugin patch doesn't work. Why?
|
|
|
|
|
mkdir -p %{buildroot}%{_libdir}/browser-plugins
|
|
|
|
|
pushd %{buildroot}%{_libdir}/chromium
|
|
|
|
|
ln -s ../browser-plugins plugins
|
2019-07-03 10:18:52 +00:00
|
|
|
popd
|
2013-09-22 16:11:49 +00:00
|
|
|
|
2017-03-10 10:52:51 +00:00
|
|
|
# Install the master_preferences file
|
|
|
|
|
mkdir -p %{buildroot}%{_sysconfdir}/chromium
|
|
|
|
|
install -m 0644 %{SOURCE30} %{buildroot}%{_sysconfdir}/chromium
|
2013-09-22 16:11:49 +00:00
|
|
|
|
2019-07-02 07:35:59 +00:00
|
|
|
# install manpages
|
|
|
|
|
mkdir -p %{buildroot}%{_mandir}/man1/
|
|
|
|
|
cp -a chrome/app/resources/manpage.1.in %{buildroot}%{_mandir}/man1/chromium.1
|
|
|
|
|
sed -i "s|@@PACKAGE@@|chromium|g" %{buildroot}%{_mandir}/man1/chromium.1
|
|
|
|
|
sed -i "s|@@MENUNAME@@|Chromium|g" %{buildroot}%{_mandir}/man1/chromium.1
|
|
|
|
|
|
2018-04-18 08:59:31 +00:00
|
|
|
%fdupes %{buildroot}
|
|
|
|
|
|
2011-09-20 16:10:49 +00:00
|
|
|
%files
|
2018-05-30 11:15:30 +00:00
|
|
|
%license LICENSE
|
2018-04-06 12:59:51 +00:00
|
|
|
%doc AUTHORS
|
2016-10-13 10:28:28 +00:00
|
|
|
%config %{_sysconfdir}/chromium
|
2013-04-10 20:44:14 +00:00
|
|
|
%config(noreplace) %{_sysconfdir}/default/chromium
|
2011-09-20 16:10:49 +00:00
|
|
|
%dir %{_datadir}/gnome-control-center
|
|
|
|
|
%dir %{_datadir}/gnome-control-center/default-apps
|
2013-07-26 04:38:13 +00:00
|
|
|
%{_libdir}/chromium/
|
2019-11-07 10:15:42 +00:00
|
|
|
%if %{with swiftshader}
|
2020-09-12 17:02:33 +00:00
|
|
|
%dir %{_libdir}/chromium/swiftshader/
|
|
|
|
|
%{_libdir}/chromium/swiftshader/*.so
|
2019-11-07 10:15:42 +00:00
|
|
|
%endif
|
2020-09-23 08:39:20 +00:00
|
|
|
%{_libdir}/chromium/*.so
|
2011-09-20 16:10:49 +00:00
|
|
|
%{_datadir}/applications/*.desktop
|
2019-10-18 17:48:19 +00:00
|
|
|
%dir %{_datadir}/metainfo/
|
|
|
|
|
%{_datadir}/metainfo/chromium-browser.appdata.xml
|
2011-09-20 16:10:49 +00:00
|
|
|
%{_datadir}/gnome-control-center/default-apps/chromium-browser.xml
|
|
|
|
|
%{_datadir}/icons/hicolor/
|
2013-10-01 21:04:43 +00:00
|
|
|
%exclude %{_libdir}/chromium/chromedriver
|
2016-01-31 12:23:18 +00:00
|
|
|
%{_bindir}/chromium
|
2019-07-03 12:54:11 +00:00
|
|
|
%{_mandir}/man1/chromium.1%{?ext_man}
|
2011-09-20 16:10:49 +00:00
|
|
|
|
2012-04-18 14:02:36 +00:00
|
|
|
%files -n chromedriver
|
2013-10-01 14:27:29 +00:00
|
|
|
%{_libdir}/chromium/chromedriver
|
2020-02-17 12:19:26 +00:00
|
|
|
%{_bindir}/chromedriver
|
2012-04-18 14:02:36 +00:00
|
|
|
|
2011-09-20 16:10:49 +00:00
|
|
|
%changelog
|