Browse Source

Init commit coped from chromium-browser-privacy

tags/90.0.4430.93-1
wchen342 5 months ago
commit
2a666232d1
Signed by: wchen342 GPG Key ID: 9C19365D69B04CEC
15 changed files with 1294 additions and 0 deletions
  1. +29
    -0
      LICENSE
  2. +41
    -0
      chromium-85-ffmpeg-4.3-r796966.patch
  3. +39
    -0
      chromium-browser-privacy.appdata.xml
  4. +66
    -0
      chromium-browser-privacy.sh
  5. +828
    -0
      chromium-browser-privacy.spec
  6. +14
    -0
      chromium-default-user-data-dir.patch
  7. +97
    -0
      chromium-enable-vaapi.patch
  8. +11
    -0
      chromium-enable-widevine.patch
  9. +40
    -0
      chromium-fix-vaapi-on-intel.patch
  10. +34
    -0
      chromium-manpage.patch
  11. +31
    -0
      chromium-py2-bootstrap.patch
  12. +16
    -0
      chromium-rpm-fusion-brand.patch
  13. +6
    -0
      chromium-symbolic.svg
  14. +39
    -0
      chromium-widevine-locations.patch
  15. +3
    -0
      sources

+ 29
- 0
LICENSE View File

@ -0,0 +1,29 @@
BSD 3-Clause License
Copyright (c) 2018, Akarshan Biswas
All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are met:
* Redistributions of source code must retain the above copyright notice, this
list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above copyright notice,
this list of conditions and the following disclaimer in the documentation
and/or other materials provided with the distribution.
* Neither the name of the copyright holder nor the names of its
contributors may be used to endorse or promote products derived from
this software without specific prior written permission.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

+ 41
- 0
chromium-85-ffmpeg-4.3-r796966.patch View File

@ -0,0 +1,41 @@
From 7f4c7ff6b0f0e74338c885b0d5e5ef80fed597c3 Mon Sep 17 00:00:00 2001
From: Dan Sanders <[email protected]>
Date: Tue, 11 Aug 2020 20:38:03 +0000
Subject: [PATCH] [media] Set allocation limit compatible with FFmpeg 4.3
Previously we set the limit to zero, meaning no limit, but FFmpeg 4.3
will not allocate at all with that setting.
Changed to std::numeric_limits<size_t>::max().
Bug: 1095962
Change-Id: I96820c21f794f2814e955ee75ff22dfd31804c29
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2349405
Reviewed-by: Dale Curtis <[email protected]>
Commit-Queue: Dan Sanders <[email protected]>
Cr-Commit-Position: refs/heads/[email protected]{#796966}
---
media/base/media.cc | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
--- a/media/base/media.cc
+++ b/media/base/media.cc
@@ -4,6 +4,9 @@
#include "media/base/media.h"
+#include <stdint.h>
+#include <limits>
+
#include "base/allocator/buildflags.h"
#include "base/command_line.h"
#include "base/macros.h"
@@ -41,7 +44,7 @@ class MediaInitializer {
#if BUILDFLAG(USE_ALLOCATOR_SHIM)
// Remove allocation limit from ffmpeg, so calls go down to shim layer.
- av_max_alloc(0);
+ av_max_alloc(std::numeric_limits<size_t>::max());
#endif // BUILDFLAG(USE_ALLOCATOR_SHIM)
#endif // BUILDFLAG(ENABLE_FFMPEG)

+ 39
- 0
chromium-browser-privacy.appdata.xml View File

@ -0,0 +1,39 @@
<?xml version="1.0" encoding="UTF-8"?>
<component type="desktop">
<id>chromium-browser-privacy.desktop</id>
<update_contact>[email protected]</update_contact>
<metadata_license>CC0-1.0</metadata_license>
<project_license>
BSD-3-Clause and LGPL-2.1+ and Apache-2.0 and IJG and MIT and
GPL-2.0+ and ISC and OpenSSL and (MPL-1.1 or GPL-2.0 or LGPL-2.0)
</project_license>
<name>Chromium (CBP)</name>
<summary>Chromium, sans integration with Google</summary>
<description>
<p>
chromium-browser-privacy is a distribution of ungoogled-chromium.
</p>
<p>
ungoogled-chromium is Chromium, sans integration with Google. It also
features some tweaks to enhance privacy, control, and transparency (almost
all of which require manual activation or enabling).
</p>
<p>
ungoogled-chromium retains the default Chromium experience as closely as
possible. Unlike other Chromium forks that have their own visions of a web
browser, ungoogled-chromium is essentially a drop-in replacement for
Chromium.
</p>
</description>
<screenshots>
<screenshot type="default">
<image>https://user-images.githubusercontent.com/16843577/91255906-aa6e5e00-e76e-11ea-9326-fd236ff1db1d.png</image>
<caption/>
</screenshot>
</screenshots>
<translation/>
<developer_name>The Chromium Authors</developer_name>
<url type="homepage">https://github.com/Eloston/ungoogled-chromium</url>
<url type="bugtracker">https://github.com/Eloston/ungoogled-chromium/issues</url>
<url type="faq">https://ungoogled-software.github.io/ungoogled-chromium-wiki/faq</url>
</component>

+ 66
- 0
chromium-browser-privacy.sh View File

@ -0,0 +1,66 @@
#!/bin/bash
#
# Copyright (c) 2011 The Chromium Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
# This file is obtained from https://src.fedoraproject.org/rpms/chromium/
# and modified by Akarshan Biswas <[email protected]>. All modifications are also
# licensed under 3-clause BSD license.
CHROMIUM_DISTRO_FLAGS=()
# Let the wrapped binary know that it has been run through the wrapper.
export CHROME_WRAPPER="$(readlink -f "$0")"
HERE="`dirname "$CHROME_WRAPPER"`"
export CHROME_DESKTOP="chromium-browser-privacy.desktop"
# We include some xdg utilities next to the binary, and we want to prefer them
# over the system versions when we know the system versions are very old. We
# detect whether the system xdg utilities are sufficiently new to be likely to
# work for us by looking for xdg-settings. If we find it, we leave $PATH alone,
# so that the system xdg utilities (including any distro patches) will be used.
if ! which xdg-settings &> /dev/null; then
# Old xdg utilities. Prepend $HERE to $PATH to use ours instead.
export PATH="$HERE:$PATH"
else
# Use system xdg utilities. But first create mimeapps.list if it doesn't
# exist; some systems have bugs in xdg-mime that make it fail without it.
xdg_app_dir="${XDG_DATA_HOME:-$HOME/.local/share/applications}"
mkdir -p "$xdg_app_dir"
[ -f "$xdg_app_dir/mimeapps.list" ] || touch "$xdg_app_dir/mimeapps.list"
fi
# Always use our versions of ffmpeg libs.
# This also makes RPMs find the compatibly-named library symlinks.
if [[ -n "$LD_LIBRARY_PATH" ]]; then
LD_LIBRARY_PATH="$HERE:$HERE/lib:$LD_LIBRARY_PATH"
else
LD_LIBRARY_PATH="$HERE:$HERE/lib"
fi
export LD_LIBRARY_PATH
#On wayland pass the correct GDK_BACKEND
# In future this will be used for running chromium natively on Wayland
if [ $XDG_SESSION_TYPE == "wayland" ]; then
export GDK_BACKEND=x11
fi
# Sanitize std{in,out,err} because they'll be shared with untrusted child
# processes (http://crbug.com/376567).
exec < /dev/null
exec > >(exec cat)
exec 2> >(exec cat >&2)
CHROMIUM_DISTRO_FLAGS+=" --enable-plugins \
--enable-extensions \
--enable-user-scripts \
--enable-features=WebRTCPipeWireCapturer \
--enable-printing \
--disable-sync \
--disable-background-networking \
--force-local-ntp \
--disallow-signin"
exec -a "$0" "@@[email protected]@/$(basename "$0" | sed 's/\.sh$//')" $CHROMIUM_DISTRO_FLAGS "[email protected]"

+ 828
- 0
chromium-browser-privacy.spec View File

@ -0,0 +1,828 @@
#Global Libraries
#Do not turn it on in Fedora copr!
%global freeworld 1
# A switch to disable domain substitution for development purposes.
%bcond_without domain_substitution
%global menu_name Chromium (CBP)
%global xdg_subdir ungoogled-chromium
#This can be any folder on out
%global target out/Release
### Google API keys (see http://www.chromium.org/developers/how-tos/api-keys)
### Note: These are for Fedora use ONLY.
### For your own distribution, please get your own set of keys.
### http://lists.debian.org/debian-legal/2013/11/msg00006.html
%global api_key %{nil}
%global default_client_id %{nil}
%global default_client_secret %{nil}
###############################Exclude Private chromium libs###########################
%global __requires_exclude %{chromiumdir}/.*\\.so
%global __provides_exclude_from %{chromiumdir}/.*\\.so
#######################################CONFIGS###########################################
#Require harfbuzz >= 2.4.0 for hb_subset_input_set_retain_gids
%bcond_without system_harfbuzz
# Require libxml2 > 2.9.4 for XML_PARSE_NOXXE
%bcond_without system_libxml2
# Allow testing whether icu can be unbundled
# A patch fix building so enabled by default for Fedora 30
# Need icu version >= 64
%bcond_with system_libicu
# Allow testing whether libvpx can be unbundled
%bcond_with system_libvpx
# Allow testing whether ffmpeg can be unbundled
%bcond_without system_ffmpeg
#Allow minizip to be unbundled
#mini-compat is going to be removed from fedora 30!
%bcond_without system_minizip
# Need re2 ver. 2016.07.21 for re2::LazyRE2
%bcond_with system_re2
#Turn on verbose mode
%global debug_logs 0
#------------------------------------------------------
#Build debug packages for debugging
%global debug_pkg 0
# Enable building with ozone support
%global ozone 0
##############################Package Definitions######################################
Name: chromium-browser-privacy
Version: 85.0.4183.102
Release: 1%{?dist}
Summary: Chromium, sans integration with Google
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)
URL: https://github.com/Eloston/ungoogled-chromium
%if %{freeworld}
Source0: https://commondatastorage.googleapis.com/chromium-browser-official/chromium-%{version}.tar.xz
%else
# Unfortunately, Fedora & Copr forbids uploading sources with patent-encumbered
# ffmpeg code even if they are never compiled and linked to target binaries,
# so we must repackage upstream tarballs to satisfy this requirement. However,
# we cannot simply delete all code of ffmpeg because this will disable support
# for some commonly-used free codecs such as Ogg Theora. Instead, helper
# scripts included in official Fedora packages are copied, modified, and used
# to automate the repackaging work.
# Get those helper scripts from https://src.fedoraproject.org/rpms/chromium
# If you don't use Fedora services, Just set the value of freeworld in this spec file
# to 1 to use the upstreanm packaged source.
# The repackaged source tarball used here is produced by:
# ./chromium-latest.py --stable --ffmpegclean --ffmpegarm --deleteunrar
Source0: chromium-%{version}-clean.tar.xz
%endif
# Patchset composed by Stephan Hartmann.
%global patchset_revision chromium-85-patchset-2
Source1: https://github.com/stha09/chromium-patches/archive/%{patchset_revision}/chromium-patches-%{patchset_revision}.tar.gz
# ungoogled-chromium.
%global ungoogled_chromium_revision 85.0.4183.102-1
Source300: https://github.com/Eloston/ungoogled-chromium/archive/%{ungoogled_chromium_revision}/ungoogled-chromium-%{ungoogled_chromium_revision}.tar.gz
# The following two source files are copied and modified from the chromium source
Source10: %{name}.sh
#Add our own appdata file.
Source11: %{name}.appdata.xml
Source12: chromium-symbolic.svg
#Personal stuff
Source15: LICENSE
######################## Installation Folder #################################################
#Our installation folder
%global chromiumdir %{_libdir}/%{name}
########################################################################################
#Compiler settings
# Make sure we don't encounter any bug
BuildRequires: gcc-c++
# Basic tools and libraries needed for building
BuildRequires: ninja-build, nodejs, bison, gperf, hwdata
BuildRequires: libgcc, glibc, libatomic
BuildRequires: libcap-devel, cups-devel, alsa-lib-devel
BuildRequires: mesa-libGL-devel, mesa-libEGL-devel
%if %{with system_minizip}
BuildRequires: minizip-compat-devel
%endif
# Pipewire need this.
BuildRequires: pkgconfig(libpipewire-0.2)
BuildRequires: pkgconfig(gtk+-2.0), pkgconfig(gtk+-3.0)
BuildRequires: pkgconfig(libexif), pkgconfig(nss)
BuildRequires: pkgconfig(xtst), pkgconfig(xscrnsaver)
BuildRequires: pkgconfig(dbus-1), pkgconfig(libudev)
BuildRequires: pkgconfig(gnome-keyring-1)
BuildRequires: pkgconfig(libffi)
#for vaapi
BuildRequires: pkgconfig(libva)
BuildRequires: pkgconfig(gbm)
%if %{ozone}
BuildRequires: pkgconfig(wayland-client)
BuildRequires: pkgconfig(wayland-cursor)
BuildRequires: pkgconfig(wayland-scanner)
BuildRequires: pkgconfig(wayland-server)
%endif
BuildRequires: python3
BuildRequires: /usr/bin/python2
BuildRequires: python2-setuptools
%if %{with system_re2}
BuildRequires: re2-devel
%endif
# replace_gn_files.py --system-libraries
BuildRequires: flac-devel
BuildRequires: freetype-devel
%if %{with system_harfbuzz}
BuildRequires: harfbuzz-devel
%endif
%if %{with system_libicu}
BuildRequires: libicu-devel
%endif
BuildRequires: libdrm-devel
BuildRequires: libjpeg-turbo-devel
BuildRequires: libpng-devel
# Chromium requires libvpx 1.5.0 and some non-default options
%if %{with system_libvpx}
BuildRequires: libvpx-devel
%endif
%if %{with system_ffmpeg}
BuildRequires: ffmpeg-devel
%endif
BuildRequires: libwebp-devel
%if %{with system_libxml2}
BuildRequires: pkgconfig(libxml-2.0)
%endif
BuildRequires: pkgconfig(libxslt)
BuildRequires: opus-devel
BuildRequires: snappy-devel
BuildRequires: expat-devel
BuildRequires: pciutils-devel
BuildRequires: speech-dispatcher-devel
BuildRequires: pulseaudio-libs-devel
# install desktop files
BuildRequires: desktop-file-utils
# install AppData files
BuildRequires: libappstream-glib
# Mojojojo need this >:(
BuildRequires: java-1.8.0-openjdk
# Libstdc++ static needed for linker
BuildRequires: libstdc++-static
#Runtime Requirements
Requires: hicolor-icon-theme
#Some recommendations
Recommends: libva-utils
%if !%{debug_pkg}
%global debug_package %{nil}
%endif
# This build should be only available to amd64
ExclusiveArch: x86_64
# Google patches (short-term fixes and backports):
%if 0%{?fedora} >= 33
Patch150: chromium-85-ffmpeg-4.3-r796966.patch
%endif
# Gentoo patches (short-term fixes):
# Fedora patches:
Patch300: chromium-py2-bootstrap.patch
# RPM Fusion patches [free/chromium-freeworld]:
Patch400: chromium-enable-vaapi.patch
Patch401: chromium-fix-vaapi-on-intel.patch
Patch402: chromium-enable-widevine.patch
Patch403: chromium-manpage.patch
%if %{freeworld}
Patch420: chromium-rpm-fusion-brand.patch
%endif
# RPM Fusion patches [free/chromium-browser-privacy]:
Patch500: chromium-default-user-data-dir.patch
# Additional patches:
Patch600: chromium-widevine-locations.patch
%description
%{name} is a distribution of ungoogled-chromium.
ungoogled-chromium is Chromium, sans integration with Google. It also features
some tweaks to enhance privacy, control, and transparency (almost all of which
require manual activation or enabling).
ungoogled-chromium retains the default Chromium experience as closely as
possible. Unlike other Chromium forks that have their own visions of a web
browser, ungoogled-chromium is essentially a drop-in replacement for Chromium.
############################################PREP###########################################################
%prep
%setup -q -T -n chromium-patches-%{patchset_revision} -b 1
%setup -q -T -n ungoogled-chromium-%{ungoogled_chromium_revision} -b 300
%setup -q -n chromium-%{version}
%global patchset_root %{_builddir}/chromium-patches-%{patchset_revision}
%global ungoogled_chromium_root %{_builddir}/ungoogled-chromium-%{ungoogled_chromium_revision}
# Apply patchset composed by Stephan Hartmann.
%global patchset_apply() %{__scm_apply_patch -p1} <%{patchset_root}/%{1}
%patchset_apply chromium-blink-gcc-diagnostic-pragma.patch
%patchset_apply chromium-fix-char_traits.patch
%patchset_apply chromium-quiche-invalid-offsetof.patch
%patchset_apply chromium-78-protobuf-RepeatedPtrField-export.patch
%patchset_apply chromium-79-gcc-protobuf-alignas.patch
%patchset_apply chromium-80-QuicStreamSendBuffer-deleted-move-constructor.patch
%patchset_apply chromium-84-blink-disable-clang-format.patch
%patchset_apply chromium-85-DelayNode-cast.patch
%patchset_apply chromium-85-FrameWidget-namespace.patch
%patchset_apply chromium-85-NearbyConnection-abstract.patch
%patchset_apply chromium-85-NearbyShareEncryptedMetadataKey-include.patch
%patchset_apply chromium-85-oscillator_node-cast.patch
%patchset_apply chromium-85-ostream-operator.patch
%patchset_apply chromium-85-ozone-include.patch
%patchset_apply chromium-85-sim_hash-include.patch
# ungoogled-chromium: binary pruning.
python3 -B %{ungoogled_chromium_root}/utils/prune_binaries.py . \
%{ungoogled_chromium_root}/pruning.list
# Apply patches from this spec.
%autopatch -p1
#Let's change the default shebang of python files.
find -depth -type f -writable -name "*.py" -exec sed -iE '1s=^#! */usr/bin/\(python\|env python\)[23]\?=#!%{__python2}=' {} +
./build/linux/unbundle/remove_bundled_libraries.py --do-remove \
base/third_party/cityhash \
base/third_party/double_conversion \
base/third_party/dynamic_annotations \
base/third_party/icu \
base/third_party/libevent \
base/third_party/nspr \
base/third_party/superfasthash \
base/third_party/symbolize \
base/third_party/valgrind \
base/third_party/xdg_mime \
base/third_party/xdg_user_dirs \
buildtools/third_party/libc++ \
buildtools/third_party/libc++abi \
chrome/third_party/mozilla_security_manager \
courgette/third_party \
native_client/src/third_party/dlmalloc \
native_client/src/third_party/valgrind \
net/third_party/mozilla_security_manager \
net/third_party/nss \
net/third_party/quic \
net/third_party/uri_template \
third_party/abseil-cpp \
third_party/adobe \
third_party/angle \
third_party/angle/src/common/third_party/base \
third_party/angle/src/common/third_party/smhasher \
third_party/angle/src/common/third_party/xxhash \
third_party/angle/src/third_party/compiler \
third_party/angle/src/third_party/libXNVCtrl \
third_party/angle/src/third_party/trace_event \
third_party/angle/src/third_party/volk \
third_party/libgifcodec \
third_party/glslang \
third_party/angle/third_party/spirv-headers \
third_party/angle/third_party/spirv-tools \
third_party/angle/third_party/vulkan-headers \
third_party/angle/third_party/vulkan-loader \
third_party/angle/third_party/vulkan-tools \
third_party/angle/third_party/vulkan-validation-layers \
third_party/apple_apsl \
third_party/axe-core \
third_party/boringssl \
third_party/boringssl/src/third_party/fiat \
third_party/blink \
third_party/breakpad \
third_party/breakpad/breakpad/src/third_party/curl \
third_party/brotli \
third_party/cacheinvalidation \
third_party/catapult \
third_party/catapult/common/py_vulcanize/third_party/rcssmin \
third_party/catapult/common/py_vulcanize/third_party/rjsmin \
third_party/catapult/third_party/beautifulsoup4 \
third_party/catapult/third_party/html5lib-python \
third_party/catapult/third_party/polymer \
third_party/catapult/third_party/six \
third_party/catapult/tracing/third_party/d3 \
third_party/catapult/tracing/third_party/gl-matrix \
third_party/catapult/tracing/third_party/jpeg-js \
third_party/catapult/tracing/third_party/jszip \
third_party/catapult/tracing/third_party/mannwhitneyu \
third_party/catapult/tracing/third_party/oboe \
third_party/catapult/tracing/third_party/pako \
third_party/ced \
third_party/cld_3 \
third_party/closure_compiler \
third_party/crashpad \
third_party/crashpad/crashpad/third_party/lss \
third_party/crashpad/crashpad/third_party/zlib \
third_party/crc32c \
third_party/cros_system_api \
third_party/dawn \
third_party/depot_tools \
third_party/dav1d \
third_party/devscripts \
third_party/devtools-frontend \
third_party/devtools-frontend/src/front_end/third_party/acorn \
third_party/devtools-frontend/src/front_end/third_party/codemirror \
third_party/devtools-frontend/src/front_end/third_party/fabricjs \
third_party/devtools-frontend/src/front_end/third_party/lighthouse \
third_party/devtools-frontend/src/front_end/third_party/wasmparser \
third_party/devtools-frontend/src/third_party \
third_party/dom_distiller_js \
third_party/emoji-segmenter \
%if !%{with system_ffmpeg}
third_party/ffmpeg \
%endif
third_party/flatbuffers \
third_party/freetype \
third_party/google_input_tools \
third_party/google_input_tools/third_party/closure_library \
third_party/google_input_tools/third_party/closure_library/third_party/closure \
third_party/googletest \
%if !%{with system_harfbuzz}
third_party/harfbuzz-ng \
%endif
third_party/harfbuzz-ng/utils \
third_party/hunspell \
third_party/iccjpeg \
%if !%{with system_libicu}
third_party/icu \
%endif
third_party/inspector_protocol \
third_party/jinja2 \
third_party/jsoncpp \
third_party/jstemplate \
third_party/khronos \
third_party/leveldatabase \
third_party/libaddressinput \
third_party/libaom \
third_party/libaom/source/libaom/third_party/vector \
third_party/libaom/source/libaom/third_party/x86inc \
third_party/libavif \
third_party/libjingle \
third_party/libphonenumber \
third_party/libsecret \
third_party/libsrtp \
third_party/libsync \
third_party/libudev \
%if !%{with system_libvpx}
third_party/libvpx \
third_party/libvpx/source/libvpx/third_party/x86inc \
%endif
third_party/libwebm \
%if %{with system_libxml2}
third_party/libxml/chromium \
%else
third_party/libxml \
%endif
third_party/libXNVCtrl \
third_party/libyuv \
third_party/lottie \
third_party/lss \
third_party/lzma_sdk \
third_party/mako \
third_party/markupsafe \
third_party/mesa \
third_party/metrics_proto \
%if %{ozone}
third_party/minigbm \
%endif
%if !%{with system_minizip}
third_party/minizip/ \
%endif
third_party/modp_b64 \
third_party/nasm \
third_party/node \
third_party/node/node_modules/polymer-bundler/lib/third_party/UglifyJS2 \
third_party/one_euro_filter \
third_party/opencv \
third_party/openh264 \
third_party/openscreen \
third_party/openscreen/src/third_party/mozilla \
third_party/openscreen/src/third_party/tinycbor/src/src \
third_party/ots \
third_party/pdfium \
third_party/pdfium/third_party/agg23 \
third_party/pdfium/third_party/base \
third_party/pdfium/third_party/bigint \
third_party/pdfium/third_party/freetype \
third_party/pdfium/third_party/lcms \
third_party/pdfium/third_party/libopenjpeg20 \
third_party/pdfium/third_party/libpng16 \
third_party/pdfium/third_party/libtiff \
third_party/pdfium/third_party/skia_shared \
third_party/perfetto \
third_party/pffft \
third_party/ply \
third_party/polymer \
third_party/private-join-and-compute \
third_party/protobuf \
third_party/protobuf/third_party/six \
third_party/pyjson5 \
third_party/qcms \
%if !%{with system_re2}
third_party/re2 \
%endif
third_party/rnnoise \
third_party/s2cellid \
third_party/schema_org \
third_party/skia \
third_party/skia/include/third_party/skcms \
third_party/skia/include/third_party/vulkan \
third_party/skia/third_party/vulkan \
third_party/skia/third_party/skcms \
third_party/smhasher \
third_party/speech-dispatcher \
third_party/spirv-headers \
third_party/SPIRV-Tools \
third_party/sqlite \
third_party/swiftshader \
third_party/swiftshader/third_party/astc-encoder \
third_party/swiftshader/third_party/llvm-10.0 \
third_party/swiftshader/third_party/llvm-subzero \
third_party/swiftshader/third_party/marl \
third_party/swiftshader/third_party/subzero \
third_party/swiftshader/third_party/SPIRV-Headers/include/spirv/unified1 \
third_party/tcmalloc \
third_party/unrar \
third_party/usb_ids \
third_party/usrsctp \
third_party/vulkan \
%if %{ozone}
third_party/wayland \
%endif
third_party/web-animations-js \
third_party/webdriver \
third_party/webrtc \
third_party/webrtc/common_audio/third_party/ooura \
third_party/webrtc/common_audio/third_party/spl_sqrt_floor \
third_party/webrtc/modules/third_party/fft \
third_party/webrtc/modules/third_party/g711 \
third_party/webrtc/modules/third_party/g722 \
third_party/webrtc/rtc_base/third_party/base64 \
third_party/webrtc/rtc_base/third_party/sigslot \
third_party/widevine \
third_party/woff2 \
third_party/xcbproto \
third_party/xdg-utils \
third_party/zlib/google \
tools/grit/third_party/six \
%if !%{with system_minizip}
third_party/zlib \
%endif
tools/gn/src/base/third_party/icu \
url/third_party/mozilla \
v8/src/third_party/siphash \
v8/src/third_party/valgrind \
v8/src/third_party/utf8-decoder \
v8/third_party/inspector_protocol \
v8/third_party/v8
./build/linux/unbundle/replace_gn_files.py --system-libraries \
%if %{with system_ffmpeg}
ffmpeg \
%endif
flac \
freetype \
fontconfig \
%if %{with system_libicu}
icu \
%endif
libdrm \
libjpeg \
libpng \
%if %{with system_libvpx}
libvpx \
%endif
libwebp \
%if %{with system_libxml2}
libxml \
%endif
libxslt \
opus \
%if %{with system_re2}
re2 \
%endif
snappy \
%if %{with system_minizip}
zlib
%endif
sed -i 's|//third_party/usb_ids|/usr/share/hwdata|g' \
services/device/public/cpp/usb/BUILD.gn
# 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
# ungoogled-chromium: patches
python3 -B %{ungoogled_chromium_root}/utils/patches.py apply . \
%{ungoogled_chromium_root}/patches
# ungoogled-chromium: domain substitution
%if %{with domain_substitution}
rm -f %{_builddir}/dsc.tar.gz
python3 -B %{ungoogled_chromium_root}/utils/domain_substitution.py apply . \
-r %{ungoogled_chromium_root}/domain_regex.list \
-f %{ungoogled_chromium_root}/domain_substitution.list \
-c %{_builddir}/dsc.tar.gz
%endif
#####################################BUILD#############################################
%build
# Final link uses lots of file descriptors.
ulimit -n 2048
#export compilar variables
export AR=ar NM=nm AS=as
export CC=gcc CXX=g++
export CXXFLAGS="$CXXFLAGS -fpermissive"
%if !%{debug_logs}
# Disable useless warning on non debug log builds
export CFLAGS="$CFLAGS -w"
export CXXFLAGS="$CXXFLAGS -w"
%endif
%if !%{debug_pkg}
export CFLAGS="$CFLAGS -g0"
export CXXFLAGS="$CXXFLAGS -g0"
%endif
gn_args=(
is_debug=false
use_vaapi=true
is_component_build=false
use_sysroot=false
use_custom_libcxx=false
use_aura=true
'system_libdir="%{_lib}"'
use_cups=true
use_gnome_keyring=true
use_gio=true
use_gold=false
use_kerberos=true
use_libpci=true
use_pulseaudio=true
link_pulseaudio=true
use_system_freetype=true
enable_widevine=true
%if %{with system_harfbuzz}
use_system_harfbuzz=true
%endif
%if %{freeworld}
'ffmpeg_branding="Chrome"'
proprietary_codecs=true
%else
'ffmpeg_branding="Chromium"'
proprietary_codecs=false
%endif
enable_nacl=false
enable_hangout_services_extension=false
fatal_linker_warnings=false
treat_warnings_as_errors=false
fieldtrial_testing_like_official_build=true
'custom_toolchain="//build/toolchain/linux/unbundle:default"'
'host_toolchain="//build/toolchain/linux/unbundle:default"'
'google_api_key="%{api_key}"'
'google_default_client_id="%{default_client_id}"'
'google_default_client_secret="%{default_client_secret}"'
enable_js_type_check=false
enable_mdns=false
enable_mse_mpeg2ts_stream_parser=true
enable_nacl_nonsfi=false
enable_one_click_signin=false
enable_reading_list=false
enable_remoting=false
enable_reporting=false
enable_service_discovery=false
exclude_unwind_tables=true
safe_browsing_mode=0
use_official_google_api_keys=false
use_unofficial_version_number=false
)
# Optimizations
gn_args+=(
enable_vr=false
%if %{with system_libicu}
icu_use_data_file=false
%endif
)
gn_args+=(
is_clang=false
)
#Pipewire
gn_args+=(
rtc_use_pipewire=true
rtc_link_pipewire=true
)
# Ozone stuff : Whole work is done completely upstream.
gn_args+=(
%if %{ozone}
use_ozone=true
use_system_minigbm=true
use_xkbcommon=true
%endif
)
#symbol
gn_args+=(
%if %{debug_pkg}
symbol_level=1
%else
symbol_level=0
blink_symbol_level=0
%endif
)
tools/gn/bootstrap/bootstrap.py --gn-gen-args "${gn_args[*]}"
%{target}/gn --script-executable=%{__python2} gen --args="${gn_args[*]}" %{target}
%if %{debug_logs}
ninja %{_smp_mflags} -C %{target} -v chrome chrome_sandbox chromedriver
%else
ninja %{_smp_mflags} -C %{target} chrome chrome_sandbox chromedriver
%endif
######################################Install####################################
%install
mkdir -p %{buildroot}%{_bindir}
mkdir -p %{buildroot}%{chromiumdir}/locales
mkdir -p %{buildroot}%{chromiumdir}/swiftshader
mkdir -p %{buildroot}%{_mandir}/man1
mkdir -p %{buildroot}%{_metainfodir}
mkdir -p %{buildroot}%{_datadir}/applications
mkdir -p %{buildroot}%{_datadir}/gnome-control-center/default-apps
mkdir -p %{buildroot}%{_datadir}/icons/hicolor/symbolic/apps
sed -e "s|@@[email protected]@|%{chromiumdir}|" %{SOURCE10} > %{name}.sh
install -m 755 %{name}.sh %{buildroot}%{_bindir}/%{name}
install -m 644 %{SOURCE11} %{buildroot}%{_metainfodir}
sed \
-e "s|@@[email protected]@|Chromium|g" \
-e "s|@@[email protected]@|%{name}|g" \
-e "s|@@[email protected]@|%{summary}|g" \
-e "s|@@[email protected]@|%{xdg_subdir}|g" \
chrome/app/resources/manpage.1.in >chrome.1
install -m 644 chrome.1 %{buildroot}%{_mandir}/man1/%{name}.1
sed \
-e "s|@@[email protected]@|%{menu_name}|g" \
-e "s|@@[email protected]@|%{name}|g" \
-e "s|@@[email protected]@|%{name}|g" \
chrome/installer/linux/common/desktop.template >%{name}.desktop
desktop-file-install --dir=%{buildroot}%{_datadir}/applications %{name}.desktop
sed \
-e "s|@@[email protected]@|%{_bindir}|g" \
-e "s|@@[email protected]@|%{menu_name}|g" \
-e "s|@@[email protected]@|%{name}|g" \
chrome/installer/linux/common/default-app.template >%{name}.xml
install -m 644 %{name}.xml %{buildroot}%{_datadir}/gnome-control-center/default-apps/
install -m 755 %{target}/chrome %{buildroot}%{chromiumdir}/%{name}
install -m 4755 %{target}/chrome_sandbox %{buildroot}%{chromiumdir}/chrome-sandbox
install -m 755 %{target}/chromedriver %{buildroot}%{chromiumdir}/
install -m 755 %{target}/libEGL.so %{buildroot}%{chromiumdir}/
install -m 755 %{target}/libGLESv2.so %{buildroot}%{chromiumdir}/
%if !%{with system_libicu}
install -m 644 %{target}/icudtl.dat %{buildroot}%{chromiumdir}/
%endif
install -m 644 %{target}/v8_context_snapshot.bin %{buildroot}%{chromiumdir}/
install -m 644 %{target}/*.pak %{buildroot}%{chromiumdir}/
install -m 644 %{target}/locales/*.pak %{buildroot}%{chromiumdir}/locales/
install -m 644 %{target}/xdg* %{buildroot}%{chromiumdir}/
install -m 755 %{target}/swiftshader/*.so %{buildroot}%{chromiumdir}/swiftshader/
# Icons
for i in 16 32; do
mkdir -p %{buildroot}%{_datadir}/icons/hicolor/${i}x${i}/apps
install -m 644 chrome/app/theme/default_100_percent/chromium/product_logo_$i.png \
%{buildroot}%{_datadir}/icons/hicolor/${i}x${i}/apps/%{name}.png
done
for i in 24 32 48 64 128 256; do
if [ ${i} = 32 ]; then ext=xpm; else ext=png; fi
if [ ${i} = 32 ]; then dir=linux/; else dir=; fi
mkdir -p %{buildroot}%{_datadir}/icons/hicolor/${i}x${i}/apps
install -m 644 chrome/app/theme/chromium/${dir}product_logo_$i.${ext} \
%{buildroot}%{_datadir}/icons/hicolor/${i}x${i}/apps/%{name}.${ext}
done
install -m 644 %{SOURCE12} \
%{buildroot}%{_datadir}/icons/hicolor/symbolic/apps/%{name}-symbolic.svg
####################################check##################################################
%check
appstream-util validate-relax --nonet "%{buildroot}%{_metainfodir}/%{name}.appdata.xml"
######################################files################################################
%files
%license LICENSE
%doc AUTHORS
%{_bindir}/%{name}
%{_metainfodir}/%{name}.appdata.xml
%{_datadir}/applications/%{name}.desktop
%{_datadir}/gnome-control-center/default-apps/%{name}.xml
%{_datadir}/icons/hicolor/16x16/apps/%{name}.png
%{_datadir}/icons/hicolor/24x24/apps/%{name}.png
%{_datadir}/icons/hicolor/32x32/apps/%{name}.png
%{_datadir}/icons/hicolor/32x32/apps/%{name}.xpm
%{_datadir}/icons/hicolor/48x48/apps/%{name}.png
%{_datadir}/icons/hicolor/64x64/apps/%{name}.png
%{_datadir}/icons/hicolor/128x128/apps/%{name}.png
%{_datadir}/icons/hicolor/256x256/apps/%{name}.png
%{_datadir}/icons/hicolor/symbolic/apps/%{name}-symbolic.svg
%{_mandir}/man1/%{name}.1.gz
%dir %{chromiumdir}
%{chromiumdir}/%{name}
%{chromiumdir}/chrome-sandbox
%{chromiumdir}/chromedriver
%{chromiumdir}/libEGL.so
%{chromiumdir}/libGLESv2.so
%if !%{with system_libicu}
%{chromiumdir}/icudtl.dat
%endif
%{chromiumdir}/v8_context_snapshot.bin
%{chromiumdir}/*.pak
%{chromiumdir}/xdg-mime
%{chromiumdir}/xdg-settings
%dir %{chromiumdir}/locales
%{chromiumdir}/locales/*.pak
%dir %{chromiumdir}/swiftshader
%{chromiumdir}/swiftshader/libEGL.so
%{chromiumdir}/swiftshader/libGLESv2.so
#########################################changelogs#################################################
%changelog
* Mon Sep 14 2020 qvint <[email protected]> - 85.0.4183.102-1
- Update Chromium to 85.0.4183.102
- Update ungoogled-chromium to 85.0.4183.102-1
- Add domain_substitution switch
- Fix manpage and desktop metadata files
- Update AppStream metadata
* Thu Aug 13 2020 qvint <[email protected]> - 84.0.4147.125-1
- Update Chromium to 84.0.4147.125
- Update ungoogled-chromium to 84.0.4147.125-1
* Sat Jul 18 2020 qvint <[email protected]> - 84.0.4147.89-1
- Update Chromium to 84.0.4147.89
- Update ungoogled-chromium to 84.0.4147.89-1
* Sat Jun 27 2020 qvint <[email protected]> - 83.0.4103.116-1
- Update Chromium to 83.0.4103.116
- Update ungoogled-chromium to 83.0.4103.116-1
- Try alternative locations for the Widevine CDM library
* Wed May 06 2020 qvint <[email protected]> - 81.0.4044.138-1
- Update Chromium to 81.0.4044.138
- Update ungoogled-chromium to 38e86b5
* Thu Apr 30 2020 qvint <[email protected]> - 81.0.4044.129-1
- Update Chromium to 81.0.4044.129
- Update ungoogled-chromium to 81.0.4044.129-1
* Fri Apr 10 2020 qvint <[email protected]> - 81.0.4044.92-1
- Update Chromium to 81.0.4044.92
- Update ungoogled-chromium to 209e24b
* Thu Feb 27 2020 qvint <[email protected]> - 80.0.3987.122-1
- Update Chromium to 80.0.3987.122
- Update ungoogled-chromium to 80.0.3987.122-1
* Tue Feb 04 2020 RPM Fusion Release Engineering <[email protected]> - 79.0.3945.130-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
* Fri Jan 17 2020 qvint <[email protected]> - 79.0.3945.130-1
- Update Chromium to 79.0.3945.130
- Update ungoogled-chromium to 79.0.3945.130-1
* Wed Jan 08 2020 qvint <[email protected]> - 79.0.3945.117-1
- Update Chromium to 79.0.3945.117
- Update ungoogled-chromium to 79.0.3945.117-1
* Wed Dec 18 2019 qvint <[email protected]> - 79.0.3945.88-1
- Update Chromium to 79.0.3945.88
- Update ungoogled-chromium to 7ddfefb
- Sync spec and sources with free/chromium-freeworld (e472355)
* Tue Nov 19 2019 qvint <[email protected]> - 78.0.3904.108-1
- Update Chromium to 78.0.3904.108
- Update ungoogled-chromium to 0529d60
* Thu Nov 07 2019 qvint <[email protected]> - 78.0.3904.97-1
- Update Chromium to 78.0.3904.97
- Update ungoogled-chromium to 6894e44
* Sat Nov 02 2019 qvint <[email protected]> - 78.0.3904.87-1
- Update Chromium to 78.0.3904.87
- Update ungoogled-chromium to 78.0.3904.87-1
- Disable debuginfo to match fedora chromium
* Fri Nov 01 2019 qvint <[email protected]> - 78.0.3904.70-1
- Update Chromium to 78.0.3904.70
- Update ungoogled-chromium to 78.0.3904.70-1
* Mon Oct 14 2019 qvint <[email protected]> - 77.0.3865.120-1
- Update Chromium to 77.0.3865.120
- Update ungoogled-chromium to 99b98c5
* Wed Sep 25 2019 qvint <[email protected]> - 77.0.3865.90-1
- Update Chromium to 77.0.3865.90
- Update ungoogled-chromium to 77.0.3865.90-1
- Disabled Nvidia support
- Use the bundled python2 as python2 is going to be removed from Fedora
* Mon Sep 23 2019 qvint <[email protected]> - 76.0.3809.132-1
- Initial version based on Akarshan Biswas' <[email protected]> work

+ 14
- 0
chromium-default-user-data-dir.patch View File

@ -0,0 +1,14 @@
Change default user data dir to ~/.config/ungoogled-chromium.
https://github.com/Eloston/ungoogled-chromium/issues/568#issuecomment-433724920
--- a/chrome/common/chrome_paths_linux.cc
+++ b/chrome/common/chrome_paths_linux.cc
@@ -91,7 +91,7 @@ bool GetDefaultUserDataDirectory(base::F
#if BUILDFLAG(GOOGLE_CHROME_BRANDING)
std::string data_dir_basename = "google-chrome";
#else
- std::string data_dir_basename = "chromium";
+ std::string data_dir_basename = "ungoogled-chromium";
#endif
*result = config_dir.Append(data_dir_basename + GetChannelSuffixForDataDir());
return true;

+ 97
- 0
chromium-enable-vaapi.patch View File

@ -0,0 +1,97 @@
From e04b52fc9b12f0725e76b889161ea45c776e6da5 Mon Sep 17 00:00:00 2001
From: Akarshan Biswas <[email protected]>
Date: Fri, 20 Sep 2019 19:55:45 +0530
Subject: [PATCH] Enable VAAPI on Linux
--- a/chrome/browser/about_flags.cc
+++ b/chrome/browser/about_flags.cc
@@ -2372,7 +2372,7 @@ const FeatureEntry kFeatureEntries[] = {
"disable-accelerated-video-decode",
flag_descriptions::kAcceleratedVideoDecodeName,
flag_descriptions::kAcceleratedVideoDecodeDescription,
- kOsMac | kOsWin | kOsCrOS | kOsAndroid,
+ kOsMac | kOsWin | kOsCrOS | kOsAndroid | kOsLinux,
SINGLE_DISABLE_VALUE_TYPE(switches::kDisableAcceleratedVideoDecode),
},
{
@@ -2823,12 +2823,12 @@ const FeatureEntry kFeatureEntries[] = {
flag_descriptions::kWebXrForceRuntimeDescription, kOsDesktop,
MULTI_VALUE_TYPE(kWebXrForceRuntimeChoices)},
#endif // ENABLE_VR
-#if defined(OS_CHROMEOS)
+#if defined(OS_CHROMEOS) || defined(OS_LINUX)
{"disable-accelerated-mjpeg-decode",
flag_descriptions::kAcceleratedMjpegDecodeName,
- flag_descriptions::kAcceleratedMjpegDecodeDescription, kOsCrOS,
+ flag_descriptions::kAcceleratedMjpegDecodeDescription, kOsCrOS | kOsLinux,
SINGLE_DISABLE_VALUE_TYPE(switches::kDisableAcceleratedMjpegDecode)},
-#endif // OS_CHROMEOS
+#endif // OS_CHROMEOS | OS_LINUX
{"system-keyboard-lock", flag_descriptions::kSystemKeyboardLockName,
flag_descriptions::kSystemKeyboardLockDescription, kOsDesktop,
FEATURE_VALUE_TYPE(features::kSystemKeyboardLock)},
--- a/chrome/browser/flag_descriptions.cc
+++ b/chrome/browser/flag_descriptions.cc
@@ -3257,16 +3257,19 @@ const char kMetalDescription[] =
#endif
-// Chrome OS -------------------------------------------------------------------
-
-#if defined(OS_CHROMEOS)
+// Chrome OS and Linux -------------------------------------------------------------------
+#if defined(OS_CHROMEOS) || (defined(OS_LINUX) && !defined(OS_ANDROID))
const char kAcceleratedMjpegDecodeName[] =
"Hardware-accelerated mjpeg decode for captured frame";
const char kAcceleratedMjpegDecodeDescription[] =
"Enable hardware-accelerated mjpeg decode for captured frame where "
"available.";
+#endif
+// Chrome OS -----------------------------------------------------------------------------
+
+#if defined(OS_CHROMEOS)
const char kAggregatedMlAppRankingName[] = "Rank suggested apps with ML.";
const char kAggregatedMlAppRankingDescription[] =
"Use the aggregated ML model to rank the suggested apps.";
--- a/chrome/browser/flag_descriptions.h
+++ b/chrome/browser/flag_descriptions.h
@@ -1881,13 +1881,19 @@ extern const char kMetalDescription[];
#endif // defined(OS_MACOSX)
-// Chrome OS ------------------------------------------------------------------
+// Chrome OS and Linux ---------------------------------------------------------
-#if defined(OS_CHROMEOS)
+#if defined(OS_CHROMEOS) || (defined(OS_LINUX) && !defined(OS_ANDROID))
extern const char kAcceleratedMjpegDecodeName[];
extern const char kAcceleratedMjpegDecodeDescription[];
+#endif
+
+// Chrome OS -------------------------------------------------------------------
+
+#if defined(OS_CHROMEOS)
+
extern const char kAggregatedMlAppRankingName[];
extern const char kAggregatedMlAppRankingDescription[];
--- a/gpu/config/software_rendering_list.json
+++ b/gpu/config/software_rendering_list.json
@@ -337,11 +337,12 @@
},
{
"id": 48,
- "description": "Accelerated video decode is unavailable on Linux",
+ "description": "Accelerated VA-API video decode is not supported on NVIDIA platforms",
"cr_bugs": [137247, 1032907],
"os": {
"type": "linux"
},
+ "vendor_id": "0x10de",
"exceptions": [
{
"machine_model_name": ["Chromecast"]

+ 11
- 0
chromium-enable-widevine.patch View File

@ -0,0 +1,11 @@
--- a/third_party/widevine/cdm/BUILD.gn
+++ b/third_party/widevine/cdm/BUILD.gn
@@ -14,7 +14,7 @@ buildflag_header("buildflags") {
flags = [
"ENABLE_WIDEVINE=$enable_widevine",
- "BUNDLE_WIDEVINE_CDM=$bundle_widevine_cdm",
+ "BUNDLE_WIDEVINE_CDM=true",
"ENABLE_WIDEVINE_CDM_COMPONENT=$enable_widevine_cdm_component",
]
}

+ 40
- 0
chromium-fix-vaapi-on-intel.patch View File

@ -0,0 +1,40 @@
From 9ff06536caf7ea51aad9fd2bb649c858eaf7ee84 Mon Sep 17 00:00:00 2001
From: Akarshan Biswas <[email protected]>
Date: Sat, 26 Oct 2019 10:06:30 +0530
Subject: [PATCH] Move offending function to chromeos only
--- a/media/gpu/vaapi/vaapi_video_decode_accelerator.cc
+++ b/media/gpu/vaapi/vaapi_video_decode_accelerator.cc
@@ -66,6 +66,7 @@ void ReportToUMA(VAVDADecoderFailure fai
VAVDA_DECODER_FAILURES_MAX + 1);
}
+#if defined(OS_ANDROID) || defined(OS_CHROMEOS)
// Returns true if the CPU is an Intel Gemini Lake or later (including Kaby
// Lake) Cpu platform id's are referenced from the following file in kernel
// source arch/x86/include/asm/intel-family.h
@@ -78,6 +79,7 @@ bool IsGeminiLakeOrLater() {
cpuid.model() >= kGeminiLakeModelId;
return is_geminilake_or_later;
}
+#endif
} // namespace
@@ -1169,6 +1171,8 @@ VaapiVideoDecodeAccelerator::DecideBuffe
if (output_mode_ == VideoDecodeAccelerator::Config::OutputMode::IMPORT)
return BufferAllocationMode::kNormal;
+#if defined(OS_ANDROID) || defined(OS_CHROMEOS)
+ // Move this to chromeOs only as it is causing problem in some intel linux drivers
// On Gemini Lake, Kaby Lake and later we can pass to libva the client's
// PictureBuffers to decode onto, which skips the use of the Vpp unit and its
// associated format reconciliation copy, avoiding all internal buffer
@@ -1184,6 +1188,7 @@ VaapiVideoDecodeAccelerator::DecideBuffe
num_extra_pics_ = 3;
return BufferAllocationMode::kNone;
}
+#endif
// For H.264 on older devices, another +1 is experimentally needed for
// high-to-high resolution changes.

+ 34
- 0
chromium-manpage.patch View File

@ -0,0 +1,34 @@
--- a/chrome/app/resources/manpage.1.in
+++ b/chrome/app/resources/manpage.1.in
@@ -3,7 +3,7 @@
.TH @@[email protected]@ 1 "" "" "USER COMMANDS"
.SH NAME
[email protected]@[email protected]@ \- the web browser from Google
[email protected]@[email protected]@ \- @@[email protected]@
.SH SYNOPSIS
.B @@[email protected]@
@@ -24,7 +24,7 @@ stable flags.
\fB\-\-user\-data\-dir\fR=\fIDIR\fR
Specifies the directory that user data (your "profile") is kept in.
Defaults to
-.I $HOME/.config/@@[email protected]@ .
+.I $HOME/.config/@@[email protected]@ .
Separate instances of @@[email protected]@ must use separate user data directories;
repeated invocations of @@[email protected]@ will reuse an existing process for
a given user data directory.
@@ -150,11 +150,11 @@ Comma separated list of hosts or pattern
.SH FILES
.TP
-.I $HOME/.config/@@[email protected]@
+.I $HOME/.config/@@[email protected]@
Default directory for configuration data.
.TP
-.I $HOME/.cache/@@[email protected]@
+.I $HOME/.cache/@@[email protected]@
Default directory for cache data. (Why? See
<http://standards.freedesktop.org/basedir-spec/latest/> .)

+ 31
- 0
chromium-py2-bootstrap.patch View File

@ -0,0 +1,31 @@
--- a/third_party/catapult/common/py_vulcanize/py_vulcanize/generate.py
+++ b/third_party/catapult/common/py_vulcanize/py_vulcanize/generate.py
@@ -83,7 +83,7 @@ def _MinifyJS(input_js):
with tempfile.NamedTemporaryFile() as _:
args = [
- 'python',
+ 'python2',
rjsmin_path
]
p = subprocess.Popen(args,
@@ -203,7 +203,7 @@ def _MinifyCSS(css_text):
os.path.join(py_vulcanize_path, 'third_party', 'rcssmin', 'rcssmin.py'))
with tempfile.NamedTemporaryFile() as _:
- rcssmin_args = ['python', rcssmin_path]
+ rcssmin_args = ['python2', rcssmin_path]
p = subprocess.Popen(rcssmin_args,
stdin=subprocess.PIPE,
stdout=subprocess.PIPE,
--- a/tools/gn/bootstrap/bootstrap.py
+++ b/tools/gn/bootstrap/bootstrap.py
@@ -129,7 +129,7 @@ def main(argv):
if not options.debug:
gn_gen_args += ' is_debug=false'
subprocess.check_call([
- gn_path, 'gen', out_dir,
+ gn_path, 'gen', out_dir, ' --script-executable=/usr/bin/python2',
'--args=%s' % gn_gen_args, "--root=" + SRC_ROOT
])

+ 16
- 0
chromium-rpm-fusion-brand.patch View File

@ -0,0 +1,16 @@
From bfff7b95bb4d9ff20a3a67191dfffe25334f9dca Mon Sep 17 00:00:00 2001
From: Akarshan Biswas <[email protected]>
Date: Wed, 7 Nov 2018 16:29:01 +0530
Subject: [PATCH] Let's brand chromium-vaapi
--- a/components/version_ui_strings.grdp
+++ b/components/version_ui_strings.grdp
@@ -7,7 +7,7 @@
Official Build
</message>
<message name="IDS_VERSION_UI_UNOFFICIAL" desc="unofficial build on the about:version page">
- Developer Build
+ RPM Fusion Build
</message>
<message name="IDS_VERSION_UI_32BIT" desc="32-bit on the chrome://version page">
(32-bit)

+ 6
- 0
chromium-symbolic.svg View File

@ -0,0 +1,6 @@
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16">
<g fill="#bebebe">
<path d="M8 0a8 8 0 00-6.3066406 3.078125l2.3867187 4.1308594A4 4 0 018 4h6.929688A8 8 0 008 0zM1.0703125 4A8 8 0 000 8a8 8 0 006.8886719 7.921875l2.3847656-4.130859A4 4 0 018 12a4 4 0 01-3.4648438-2 4 4 0 01-.0078124-.0136719L1.0703125 4zm9.5742185 1A4 4 0 0112 8a4 4 0 01-.535156 2L8 16a8 8 0 008-8 8 8 0 00-.585938-3h-4.769531z"/>
<circle r="3" cy="8" cx="8"/>
</g>
</svg>

+ 39
- 0
chromium-widevine-locations.patch View File

@ -0,0 +1,39 @@
Description: try alternative locations for the Widevine CDM library:
- $HOME/.local/lib/WidevineCdm/ (snap-friendly, see https://launchpad.net/bugs/1738149)
- /opt/google/chrome/WidevineCdm/ (installed by official google chrome package)
The manifest lives at the top level, whereas libwidevinecdm.so is inside
a platform specific directory, see media::GetPlatformSpecificDirectory(…).
Author: Olivier Tilloy <[email protected]>
Source: https://bazaar.launchpad.net/~chromium-team/chromium-browser/disco-dev/view/head:/debian/patches/widevine-other-locations
--- a/chrome/common/chrome_paths.cc
+++ b/chrome/common/chrome_paths.cc
@@ -374,8 +374,17 @@ bool PathProvider(int key, base::FilePat
cur = cur.Append(FILE_PATH_LITERAL("pnacl"));
break;
-#if defined(OS_LINUX) && BUILDFLAG(BUNDLE_WIDEVINE_CDM)
+#if defined(OS_LINUX) && BUILDFLAG(ENABLE_WIDEVINE_CDM_COMPONENT)
case chrome::DIR_BUNDLED_WIDEVINE_CDM:
+ base::PathService::Get(base::DIR_HOME, &cur);
+ cur = cur.Append(FILE_PATH_LITERAL(".local/lib"))
+ .AppendASCII(kWidevineCdmBaseDirectory);
+ if (base::PathExists(cur))
+ break;
+ cur = base::FilePath(FILE_PATH_LITERAL("/opt/google/chrome"))
+ .AppendASCII(kWidevineCdmBaseDirectory);
+ if (base::PathExists(cur))
+ break;
if (!GetComponentDirectory(&cur))
return false;
#if !defined(OS_CHROMEOS)
@@ -384,7 +393,7 @@ bool PathProvider(int key, base::FilePat
cur = cur.AppendASCII(kWidevineCdmBaseDirectory);
#endif // !defined(OS_CHROMEOS)
break;
-#endif // defined(OS_LINUX) && BUILDFLAG(BUNDLE_WIDEVINE_CDM)
+#endif // defined(OS_LINUX) && BUILDFLAG(ENABLE_WIDEVINE_CDM_COMPONENT)
#if defined(OS_LINUX) && !defined(OS_CHROMEOS) && \
BUILDFLAG(ENABLE_WIDEVINE_CDM_COMPONENT)

+ 3
- 0
sources View File

@ -0,0 +1,3 @@
SHA512 (chromium-85.0.4183.102.tar.xz) = acd6f0a7b74018098752b6598e09a2bd6d1c9f1120c39a5c6cd3d924c466be92b854f3c7f91693ba9506e47b173ef12c14427f998362524b2497fbe5587a6b6c
SHA512 (chromium-patches-chromium-85-patchset-2.tar.gz) = b8252b778ff16f1fbb0be22ebd1b9f711fafe6d6837e0806e4281aa659756a091c79609e2e4dd865b5f2d377f159c12d47feab201d4d72a93de5fc5ff596ff2e
SHA512 (ungoogled-chromium-85.0.4183.102-1.tar.gz) = b4ce88df6faece921d258aeb1554fbda00e25d1577d71967943abc475905ffb8e427a00aad893d3f1cc4cc2fad3ad0015154f12b59ee5ef041a3d7903774b935

Loading…
Cancel
Save