summarylogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--.SRCINFO39
-rw-r--r--PKGBUILD73
-rw-r--r--chromium-52.0.2743.116-unset-madv_free.patch15
-rw-r--r--chromium-53.0.2785.92-last-commit-position.patch26
-rw-r--r--chromium-gn-bootstrap-r2.patch13
-rw-r--r--chromium-system-ffmpeg-r4.patch48
6 files changed, 111 insertions, 103 deletions
diff --git a/.SRCINFO b/.SRCINFO
index 78261bd733d7..7eaab29ebeb8 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -1,8 +1,8 @@
# Generated by mksrcinfo v8
-# Tue Nov 1 05:33:36 UTC 2016
+# Mon Apr 24 23:15:51 UTC 2017
pkgbase = iridium
pkgdesc = a free, open, and libre browser modification of the Chromium code base
- pkgver = 54.0
+ pkgver = 58.0
pkgrel = 1
url = https://iridiumbrowser.de/
arch = i686
@@ -13,57 +13,54 @@ pkgbase = iridium
makedepends = yasm
makedepends = mesa
makedepends = ninja
+ makedepends = nodejs
+ makedepends = git
depends = gtk2
depends = nss
depends = alsa-lib
depends = xdg-utils
- depends = bzip2
- depends = libevent
depends = libxss
depends = libexif
depends = libgcrypt
depends = ttf-font
depends = systemd
depends = dbus
- depends = flac
- depends = snappy
- depends = speech-dispatcher
- depends = pciutils
depends = libpulse
- depends = harfbuzz
- depends = libsecret
- depends = libvpx
depends = perl
depends = perl-file-basedir
+ depends = pciutils
depends = desktop-file-utils
depends = hicolor-icon-theme
depends = flac
- depends = libvpx
+ depends = ffmpeg
+ depends = icu
+ depends = minizip
+ depends = libxml2
+ depends = libpng
+ depends = harfbuzz-icu
depends = libxslt
depends = re2
depends = libwebp
depends = libjpeg
depends = snappy
- depends = libpng
- depends = harfbuzz-icu
- optdepends = kdebase-kdialog: needed for file dialogs in KDE
+ optdepends = kdialog: needed for file dialogs in KDE
optdepends = gnome-keyring: for storing passwords in GNOME keyring
optdepends = kwallet: for storing passwords in KWallet
conflicts = chromium
replaces = chromium
options = !strip
- source = https://downloads.iridiumbrowser.de/source/iridium-browser-54.0.tar.xz
+ source = https://downloads.iridiumbrowser.de/source/iridium-browser-58.0.tar.xz
source = chromium-launcher-3.tar.gz::https://github.com/foutrelis/chromium-launcher/archive/v3.tar.gz
source = chromium.desktop
+ source = chromium-system-ffmpeg-r4.patch
+ source = chromium-gn-bootstrap-r2.patch
source = chromium-widevine.patch
- source = chromium-52.0.2743.116-unset-madv_free.patch
- source = chromium-53.0.2785.92-last-commit-position.patch
- sha256sums = 0f93beeba06259178fde16948f712b997408b14bd04718c7563a54374811c74e
+ sha256sums = ec59bf66b1d686c85172c7b9dade6bbda10600df25b17f86a1847d29d8bb9d62
sha256sums = 8b01fb4efe58146279858a754d90b49e5a38c9a0b36a1f84cbb7d12f92b84c28
sha256sums = 028a748a5c275de9b8f776f97909f999a8583a4b77fd1cd600b4fc5c0c3e91e9
+ sha256sums = e3c474dbf3822a0be50695683bd8a2c9dfc82d41c1524a20b4581883c0c88986
+ sha256sums = 64d743c78183c302c42d1f289863e34c74832fca57443833e46a0a3157e2b5de
sha256sums = d6fdcb922e5a7fbe15759d39ccc8ea4225821c44d98054ce0f23f9d1f00c9808
- sha256sums = 3b3aa9e28f29e6f539ed1c7832e79463b13128863a02e9c6fecd16c30d61c227
- sha256sums = d3dc397956a26ec045e76c25c57a1fac5fc0acff94306b2a670daee7ba15709e
pkgname = iridium
diff --git a/PKGBUILD b/PKGBUILD
index 3dc5a9d48d21..9466f236935d 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -1,40 +1,42 @@
# $Id$
# Maintainer: Iru Cai <mytbk920423@gmail.com>
+# Contributor: Pierre Schmitz <pierre@archlinux.de>
+# Contributor: Jan "heftig" Steffens <jan.steffens@gmail.com>
+# Contributor: Daniel J Griffiths <ghost1227@archlinux.us>
# Possible replacements are listed in build/linux/unbundle/replace_gn_files.py
# Keys are the names in the above script; values are the dependencies in Arch
declare -rgA _system_libs=(
+ [ffmpeg]=ffmpeg
[flac]=flac
[harfbuzz-ng]=harfbuzz-icu
+ [icu]=icu
[libjpeg]=libjpeg
[libpng]=libpng
- [libvpx]=libvpx
+ #[libvpx]=libvpx
[libwebp]=libwebp
- #[libxml]=libxml2 # https://bugs.archlinux.org/task/29939
+ [libxml]=libxml2 # https://bugs.archlinux.org/task/29939
[libxslt]=libxslt
[re2]=re2
[snappy]=snappy
[yasm]=
- #[zlib]=zlib # Error during build
+ [zlib]=minizip
)
pkgname=iridium
-pkgver=54.0
+pkgver=58.0
pkgrel=1
_launcher_ver=3
pkgdesc="a free, open, and libre browser modification of the Chromium code base"
arch=('i686' 'x86_64')
url="https://iridiumbrowser.de/"
license=('BSD')
-depends=('gtk2' 'nss' 'alsa-lib' 'xdg-utils' 'bzip2' 'libevent' 'libxss'
- 'libexif' 'libgcrypt' 'ttf-font' 'systemd' 'dbus' 'flac' 'snappy'
- 'speech-dispatcher' 'pciutils' 'libpulse' 'harfbuzz' 'libsecret'
- 'libvpx' 'perl' 'perl-file-basedir' 'desktop-file-utils'
- 'hicolor-icon-theme')
+depends=('gtk2' 'nss' 'alsa-lib' 'xdg-utils' 'libxss' 'libexif' 'libgcrypt'
+ 'ttf-font' 'systemd' 'dbus' 'libpulse' 'perl' 'perl-file-basedir'
+ 'pciutils' 'desktop-file-utils' 'hicolor-icon-theme')
depends+=(${_system_libs[@]})
-makedepends=('python2' 'gperf' 'yasm' 'mesa' 'ninja')
-# makedepends_x86_64=('lib32-gcc-libs' 'lib32-zlib')
-optdepends=('kdebase-kdialog: needed for file dialogs in KDE'
+makedepends=('python2' 'gperf' 'yasm' 'mesa' 'ninja' 'nodejs' 'git')
+optdepends=('kdialog: needed for file dialogs in KDE'
'gnome-keyring: for storing passwords in GNOME keyring'
'kwallet: for storing passwords in KWallet')
# provides=('chromium')
@@ -44,15 +46,15 @@ options=('!strip')
source=(https://downloads.iridiumbrowser.de/source/iridium-browser-${pkgver}.tar.xz
chromium-launcher-$_launcher_ver.tar.gz::https://github.com/foutrelis/chromium-launcher/archive/v$_launcher_ver.tar.gz
chromium.desktop
- chromium-widevine.patch
- chromium-52.0.2743.116-unset-madv_free.patch
- chromium-53.0.2785.92-last-commit-position.patch)
-sha256sums=('0f93beeba06259178fde16948f712b997408b14bd04718c7563a54374811c74e'
+ chromium-system-ffmpeg-r4.patch
+ chromium-gn-bootstrap-r2.patch
+ chromium-widevine.patch)
+sha256sums=('ec59bf66b1d686c85172c7b9dade6bbda10600df25b17f86a1847d29d8bb9d62'
'8b01fb4efe58146279858a754d90b49e5a38c9a0b36a1f84cbb7d12f92b84c28'
'028a748a5c275de9b8f776f97909f999a8583a4b77fd1cd600b4fc5c0c3e91e9'
- 'd6fdcb922e5a7fbe15759d39ccc8ea4225821c44d98054ce0f23f9d1f00c9808'
- '3b3aa9e28f29e6f539ed1c7832e79463b13128863a02e9c6fecd16c30d61c227'
- 'd3dc397956a26ec045e76c25c57a1fac5fc0acff94306b2a670daee7ba15709e')
+ 'e3c474dbf3822a0be50695683bd8a2c9dfc82d41c1524a20b4581883c0c88986'
+ '64d743c78183c302c42d1f289863e34c74832fca57443833e46a0a3157e2b5de'
+ 'd6fdcb922e5a7fbe15759d39ccc8ea4225821c44d98054ce0f23f9d1f00c9808')
# Google API keys (see http://www.chromium.org/developers/how-tos/api-keys)
# Note: These are for Arch Linux use ONLY. For your own distribution, please
@@ -71,18 +73,9 @@ prepare() {
sed "s/@WIDEVINE_VERSION@/Pinkie Pie/" ../chromium-widevine.patch |
patch -Np1
- # Disable MADV_FREE (if set by glibc)
- # https://bugzilla.redhat.com/show_bug.cgi?id=1361157
- patch -Np1 -i ../chromium-52.0.2743.116-unset-madv_free.patch
-
- # Disable last_commit_position as we don't build from git repository
- patch -Np1 -i ../chromium-53.0.2785.92-last-commit-position.patch
-
- # Work around bug in blink in which GCC 6 optimizes away null pointer checks
- # https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=833524
- # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68853#c2
- sed -i '/config("compiler")/ a cflags_cc = [ "-fno-delete-null-pointer-checks" ]' \
- build/config/linux/BUILD.gn
+ # Fixes from Gentoo
+ patch -Np1 -i ../chromium-system-ffmpeg-r4.patch
+ patch -Np1 -i ../chromium-gn-bootstrap-r2.patch
# Use Python 2
find . -name '*.py' -exec sed -i -r 's|/usr/bin/python$|&2|g' {} +
@@ -91,6 +84,9 @@ prepare() {
mkdir -p "$srcdir/python2-path"
ln -sf /usr/bin/python2 "$srcdir/python2-path/python"
+ mkdir -p third_party/node/linux/node-linux-x64/bin
+ ln -s /usr/bin/node third_party/node/linux/node-linux-x64/bin/
+
# Remove bundled libraries for which we will use the system copies; this
# *should* do what the remove_bundled_libraries.py script does, with the
# added benefit of not having to list all the remaining libraries
@@ -99,6 +95,7 @@ prepare() {
find -type f -path "*third_party/$_lib/*" \
\! -path "*third_party/$_lib/chromium/*" \
\! -path "*third_party/$_lib/google/*" \
+ \! -path "*base/third_party/icu/*" \
\! -regex '.*\.\(gn\|gni\|isolate\|py\)' \
-delete
done
@@ -121,7 +118,6 @@ build() {
local _flags=(
'is_clang=false'
'clang_use_chrome_plugins=false'
- 'symbol_level=0'
'is_debug=false'
'fatal_linker_warnings=false'
'treat_warnings_as_errors=false'
@@ -131,19 +127,13 @@ build() {
'proprietary_codecs=true'
'link_pulseaudio=true'
'linux_use_bundled_binutils=false'
- 'use_allocator="none"'
- 'use_cups=true'
'use_gconf=false'
'use_gnome_keyring=false'
'use_gold=false'
- 'use_gtk3=false'
- 'use_kerberos=true'
- 'use_pulseaudio=true'
'use_sysroot=false'
'enable_hangout_services_extension=true'
'enable_widevine=true'
'enable_nacl=false'
- 'enable_nacl_nonsfi=false'
"google_api_key=\"${_google_api_key}\""
"google_default_client_id=\"${_google_default_client_id}\""
"google_default_client_secret=\"${_google_default_client_secret}\""
@@ -159,7 +149,7 @@ build() {
package() {
cd "$srcdir/chromium-launcher-$_launcher_ver"
- make PREFIX=/usr DESTDIR="$pkgdir" install-strip
+ make PREFIX=/usr DESTDIR="$pkgdir" install
install -Dm644 LICENSE \
"$pkgdir/usr/share/licenses/chromium/LICENSE.launcher"
@@ -173,9 +163,10 @@ package() {
install -Dm4755 out/Release/chrome_sandbox \
"$pkgdir/usr/lib/chromium/chrome-sandbox"
- cp -a out/Release/{*.pak,*.bin,chromedriver,libwidevinecdmadapter.so,icudtl.dat} \
+ cp -a \
+ out/Release/{chrome_{100,200}_percent,resources}.pak \
+ out/Release/{*.bin,chromedriver,libwidevinecdmadapter.so} \
out/Release/locales \
- out/Release/gen/content/content_resources.pak \
"$pkgdir/usr/lib/chromium/"
ln -s /usr/lib/chromium/chromedriver "$pkgdir/usr/bin/chromedriver"
diff --git a/chromium-52.0.2743.116-unset-madv_free.patch b/chromium-52.0.2743.116-unset-madv_free.patch
deleted file mode 100644
index 2867c7967770..000000000000
--- a/chromium-52.0.2743.116-unset-madv_free.patch
+++ /dev/null
@@ -1,15 +0,0 @@
-diff -up chromium-52.0.2743.116/third_party/WebKit/Source/wtf/allocator/PageAllocator.cpp.madv_free chromium-52.0.2743.116/third_party/WebKit/Source/wtf/allocator/PageAllocator.cpp
---- chromium-52.0.2743.116/third_party/WebKit/Source/wtf/allocator/PageAllocator.cpp.madv_free 2016-08-15 13:07:29.279655676 -0400
-+++ chromium-52.0.2743.116/third_party/WebKit/Source/wtf/allocator/PageAllocator.cpp 2016-08-15 13:08:38.447317416 -0400
-@@ -41,6 +41,11 @@
- #include <errno.h>
- #include <sys/mman.h>
-
-+#if OS(LINUX) && defined(MADV_FREE)
-+// Added in Linux 4.5, but it breaks the sandbox.
-+#undef MADV_FREE
-+#endif
-+
- #ifndef MADV_FREE
- #define MADV_FREE MADV_DONTNEED
- #endif
diff --git a/chromium-53.0.2785.92-last-commit-position.patch b/chromium-53.0.2785.92-last-commit-position.patch
deleted file mode 100644
index 700a86e86b61..000000000000
--- a/chromium-53.0.2785.92-last-commit-position.patch
+++ /dev/null
@@ -1,26 +0,0 @@
---- a/tools/gn/gn_main.cc.orig 2015-11-12 11:49:56.260549036 +0000
-+++ b/tools/gn/gn_main.cc 2015-11-12 11:50:14.780931485 +0000
-@@ -11,13 +11,7 @@
- #include "tools/gn/standard_out.h"
- #include "tools/gn/switches.h"
-
--// Only the GN-generated build makes this header for now.
--// TODO(brettw) consider adding this if we need it in GYP.
--#if defined(GN_BUILD)
--#include "tools/gn/last_commit_position.h"
--#else
- #define LAST_COMMIT_POSITION "UNKNOWN"
--#endif
-
- namespace {
-
---- a/tools/gn/BUILD.gn.orig 2015-11-12 11:50:43.513524769 +0000
-+++ b/tools/gn/BUILD.gn 2015-11-12 11:50:57.697817632 +0000
-@@ -227,7 +227,6 @@
-
- deps = [
- ":gn_lib",
-- ":last_commit_position",
- "//base",
- "//build/config/sanitizers:deps",
- ]
diff --git a/chromium-gn-bootstrap-r2.patch b/chromium-gn-bootstrap-r2.patch
new file mode 100644
index 000000000000..76287e1a56ec
--- /dev/null
+++ b/chromium-gn-bootstrap-r2.patch
@@ -0,0 +1,13 @@
+Index: tools/gn/bootstrap/bootstrap.py
+diff --git a/tools/gn/bootstrap/bootstrap.py b/tools/gn/bootstrap/bootstrap.py
+index 38cfb117d29c3895291379f00d8dc8c8b0727474..679170e610f8292bcbeb76508fd247d322a69c79 100755
+--- a/tools/gn/bootstrap/bootstrap.py
++++ b/tools/gn/bootstrap/bootstrap.py
+@@ -385,6 +385,7 @@ def write_gn_ninja(path, root_gen_dir, options):
+ 'base/base_switches.cc',
+ 'base/build_time.cc',
+ 'base/callback_internal.cc',
++ 'base/callback_helpers.cc',
+ 'base/command_line.cc',
+ 'base/debug/activity_tracker.cc',
+ 'base/debug/alias.cc',
diff --git a/chromium-system-ffmpeg-r4.patch b/chromium-system-ffmpeg-r4.patch
new file mode 100644
index 000000000000..3abfc163e8a2
--- /dev/null
+++ b/chromium-system-ffmpeg-r4.patch
@@ -0,0 +1,48 @@
+--- a/media/ffmpeg/ffmpeg_common.h.orig 2016-09-09 13:16:07.757294768 +0000
++++ b/media/ffmpeg/ffmpeg_common.h 2016-09-09 13:16:41.705989273 +0000
+@@ -22,10 +22,6 @@
+
+ // Include FFmpeg header files.
+ extern "C" {
+-// Disable deprecated features which result in spammy compile warnings. This
+-// list of defines must mirror those in the 'defines' section of FFmpeg's
+-// BUILD.gn file or the headers below will generate different structures!
+-#define FF_API_CONVERGENCE_DURATION 0
+ // Upstream libavcodec/utils.c still uses the deprecated
+ // av_dup_packet(), causing deprecation warnings.
+ // The normal fix for such things is to disable the feature as below,
+@@ -35,7 +35,6 @@
+ MSVC_PUSH_DISABLE_WARNING(4244);
+ #include <libavcodec/avcodec.h>
+ #include <libavformat/avformat.h>
+-#include <libavformat/internal.h>
+ #include <libavformat/avio.h>
+ #include <libavutil/avutil.h>
+ #include <libavutil/imgutils.h>
+--- a/media/filters/ffmpeg_demuxer.cc.orig 2016-09-09 14:21:40.185828912 +0000
++++ b/media/filters/ffmpeg_demuxer.cc 2016-09-09 14:21:52.894089352 +0000
+@@ -1185,24 +1185,6 @@
+ // If no estimate is found, the stream entry will be kInfiniteDuration.
+ std::vector<base::TimeDelta> start_time_estimates(format_context->nb_streams,
+ kInfiniteDuration);
+- const AVFormatInternal* internal = format_context->internal;
+- if (internal && internal->packet_buffer &&
+- format_context->start_time != static_cast<int64_t>(AV_NOPTS_VALUE)) {
+- struct AVPacketList* packet_buffer = internal->packet_buffer;
+- while (packet_buffer != internal->packet_buffer_end) {
+- DCHECK_LT(static_cast<size_t>(packet_buffer->pkt.stream_index),
+- start_time_estimates.size());
+- const AVStream* stream =
+- format_context->streams[packet_buffer->pkt.stream_index];
+- if (packet_buffer->pkt.pts != static_cast<int64_t>(AV_NOPTS_VALUE)) {
+- const base::TimeDelta packet_pts =
+- ConvertFromTimeBase(stream->time_base, packet_buffer->pkt.pts);
+- if (packet_pts < start_time_estimates[stream->index])
+- start_time_estimates[stream->index] = packet_pts;
+- }
+- packet_buffer = packet_buffer->next;
+- }
+- }
+
+ std::unique_ptr<MediaTracks> media_tracks(new MediaTracks());
+