[arch-commits] Commit in chromium/trunk (6 files)
Evangelos Foutras
foutrelis at archlinux.org
Fri Apr 17 20:55:32 UTC 2015
Date: Friday, April 17, 2015 @ 22:55:31
Author: foutrelis
Revision: 237324
upgpkg: chromium 42.0.2311.90-1
- New upstream release.
- Implement new launcher.
- Enable support for the Widevine CDM plugin (packaged separately).
Added:
chromium/trunk/chromium-widevine.patch
Modified:
chromium/trunk/PKGBUILD
chromium/trunk/chromium.install
Deleted:
chromium/trunk/chromium-webkit-buffer-overflow.patch
chromium/trunk/chromium.default
chromium/trunk/chromium.sh
---------------------------------------+
PKGBUILD | 71 ++++++++++++++++----------------
chromium-webkit-buffer-overflow.patch | 23 ----------
chromium-widevine.patch | 12 +++++
chromium.default | 4 -
chromium.install | 23 ++++++++--
chromium.sh | 25 -----------
6 files changed, 68 insertions(+), 90 deletions(-)
Modified: PKGBUILD
===================================================================
--- PKGBUILD 2015-04-17 20:41:03 UTC (rev 237323)
+++ PKGBUILD 2015-04-17 20:55:31 UTC (rev 237324)
@@ -5,8 +5,8 @@
# Contributor: Daniel J Griffiths <ghost1227 at archlinux.us>
pkgname=chromium
-pkgver=41.0.2272.118
-pkgrel=2
+pkgver=42.0.2311.90
+pkgrel=1
pkgdesc="The open-source project behind Google Chrome, an attempt at creating a safer, faster, and more stable browser"
arch=('i686' 'x86_64')
url="http://www.chromium.org/"
@@ -13,28 +13,23 @@
license=('BSD')
depends=('gtk2' 'nss' 'alsa-lib' 'xdg-utils' 'bzip2' 'libevent' 'libxss' 'icu'
'libexif' 'libgcrypt' 'ttf-font' 'systemd' 'dbus' 'flac' 'snappy'
- 'speech-dispatcher' 'pciutils' 'libpulse' 'harfbuzz'
- 'desktop-file-utils' 'hicolor-icon-theme')
-makedepends=('python2' 'perl' 'gperf' 'yasm' 'mesa' 'libgnome-keyring'
- 'elfutils' 'subversion' 'ninja' 'clang')
+ 'speech-dispatcher' 'pciutils' 'libpulse' 'harfbuzz' 'libsecret'
+ 'perl' 'perl-file-basedir' 'desktop-file-utils' 'hicolor-icon-theme')
+makedepends=('python2' 'gperf' 'yasm' 'mesa' 'ninja' 'git')
makedepends_x86_64=('lib32-gcc-libs' 'lib32-zlib')
optdepends=('kdebase-kdialog: needed for file dialogs in KDE'
'gnome-keyring: for storing passwords in GNOME keyring'
- 'libgnome-keyring: for storing passwords in GNOME keyring'
'kdeutils-kwalletmanager: for storing passwords in KWallet')
-backup=('etc/chromium/default')
options=('!strip')
install=chromium.install
source=(https://commondatastorage.googleapis.com/chromium-browser-official/$pkgname-$pkgver.tar.xz
+ git+https://github.com/foutrelis/chromium-launcher.git
chromium.desktop
- chromium.default
- chromium.sh
- chromium-webkit-buffer-overflow.patch)
-sha256sums=('c043d2eca41acaabd4f7068a5d9a21835dac2ca7705dd865d376c8a732ec8c3c'
+ chromium-widevine.patch)
+sha256sums=('60b0eb38c1c3d0cc998dae70b7333e53b715cff2847c1652e03d1723300db4c9'
+ 'SKIP'
'09bfac44104f4ccda4c228053f689c947b3e97da9a4ab6fa34ce061ee83d0322'
- '478340d5760a9bd6c549e19b1b5d1c5b4933ebf5f8cfb2b3e2d70d07443fe232'
- 'db3a2ea59c64f5aa4618a385b9db0ac488e900664126af578676b5f09939f9f6'
- '870ca4516a0a5407b1e2da822a1ca4f201349c8699877f6bd248cd8e08e7f2f1')
+ '379b746e187de28f80f5a7cd19edcfa31859656826f802a1ede054fcb6dfb221')
# 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
@@ -45,8 +40,8 @@
_google_default_client_secret=0ZChLK6AxeA3Isu96MkwqDR4
# We can't build (P)NaCL on i686 because the toolchain is x86_64 only and the
-# instructions to build the toolchain from source don't work that well (at least
-# from within the Chromium 39 source tree).
+# instructions on how to build the toolchain from source don't work that well
+# (at least not from within the Chromium 39 source tree).
# https://sites.google.com/a/chromium.org/dev/nativeclient/pnacl/building-pnacl-components-for-distribution-packagers
_build_nacl=1
if [[ $CARCH == i686 ]]; then
@@ -56,15 +51,19 @@
prepare() {
cd "$srcdir/$pkgname-$pkgver"
+ # Enable support for the Widevine CDM plugin
+ # The actual libraries are not included, but can be copied over from Chrome:
+ # libwidevinecdmadapter.so
+ # libwidevinecdm.so
+ # (Version string doesn't seem to matter so let's go with "Pinkie Pie")
+ sed "s/@WIDEVINE_VERSION@/Pinkie Pie/" ../chromium-widevine.patch |
+ patch -Np1
+
# Remove bundled ICU; its header files appear to get picked up instead of
# the system ones, leading to errors during the final link stage
# https://groups.google.com/a/chromium.org/d/topic/chromium-packagers/BNGvJc08B6Q
find third_party/icu -type f \! -regex '.*\.\(gyp\|gypi\|isolate\)' -delete
- # Fix a buffer overflow in blink::HarfBuzzShaper::resolveCandidateRuns()
- # https://code.google.com/p/chromium/issues/detail?id=445075#c10
- patch -d third_party/WebKit -Np1 <../chromium-webkit-buffer-overflow.patch
-
# Use Python 2
find . -name '*.py' -exec sed -i -r 's|/usr/bin/python$|&2|g' {} +
# There are still a lot of relative calls which need a workaround
@@ -80,6 +79,10 @@
}
build() {
+ cd "$srcdir/chromium-launcher"
+
+ make PREFIX=/usr
+
cd "$srcdir/$pkgname-$pkgver"
export PATH="$srcdir/python2-path:$PATH"
@@ -108,6 +111,7 @@
-Dlibspeechd_h_prefix=speech-dispatcher/
-Dffmpeg_branding=Chrome
-Dproprietary_codecs=1
+ -Duse_gnome_keyring=0
-Duse_system_bzip2=1
-Duse_system_flac=1
-Duse_system_ffmpeg=0
@@ -142,36 +146,36 @@
}
package() {
+ cd "$srcdir/chromium-launcher"
+
+ make PREFIX=/usr DESTDIR="$pkgdir" install
+ strip $STRIP_BINARIES "$pkgdir/usr/lib/chromium-launcher/launcher-derp"
+ install -Dm644 LICENSE \
+ "$pkgdir/usr/share/licenses/chromium/LICENSE.launcher"
+
cd "$srcdir/$pkgname-$pkgver"
install -D out/Release/chrome "$pkgdir/usr/lib/chromium/chromium"
- install -Dm4755 -o root -g root out/Release/chrome_sandbox \
+ install -Dm4755 out/Release/chrome_sandbox \
"$pkgdir/usr/lib/chromium/chrome-sandbox"
install -D out/Release/chromedriver "$pkgdir/usr/lib/chromium/chromedriver"
- cp out/Release/{*.pak,*.bin,libffmpegsumo.so,libpdf.so} \
+ cp out/Release/{*.pak,*.bin,libffmpegsumo.so} \
"$pkgdir/usr/lib/chromium/"
- if (( $_build_nacl )); then
- cp out/Release/nacl_helper{,_bootstrap} out/Release/nacl_irt_*.nexe \
- "$pkgdir/usr/lib/chromium/"
- fi
-
# Manually strip binaries so that 'nacl_irt_*.nexe' is left intact
strip $STRIP_BINARIES "$pkgdir/usr/lib/chromium/"{chromium,chrome-sandbox} \
"$pkgdir/usr/lib/chromium/chromedriver"
- strip $STRIP_SHARED "$pkgdir/usr/lib/chromium/libffmpegsumo.so" \
- "$pkgdir/usr/lib/chromium/libpdf.so"
+ strip $STRIP_SHARED "$pkgdir/usr/lib/chromium/libffmpegsumo.so"
if (( $_build_nacl )); then
+ cp out/Release/nacl_helper{,_bootstrap} out/Release/nacl_irt_*.nexe \
+ "$pkgdir/usr/lib/chromium/"
strip $STRIP_BINARIES "$pkgdir/usr/lib/chromium/"nacl_helper{,_bootstrap}
fi
- # Allow users to override command-line options
- install -Dm644 "$srcdir/chromium.default" "$pkgdir/etc/chromium/default"
-
cp -a out/Release/locales "$pkgdir/usr/lib/chromium/"
install -Dm644 out/Release/chrome.1 "$pkgdir/usr/share/man/man1/chromium.1"
@@ -189,7 +193,6 @@
"$pkgdir/usr/share/icons/hicolor/${size}x${size}/apps/chromium.png"
done
- install -D "$srcdir/chromium.sh" "$pkgdir/usr/bin/chromium"
ln -s /usr/lib/chromium/chromedriver "$pkgdir/usr/bin/chromedriver"
install -Dm644 LICENSE "$pkgdir/usr/share/licenses/chromium/LICENSE"
Deleted: chromium-webkit-buffer-overflow.patch
===================================================================
--- chromium-webkit-buffer-overflow.patch 2015-04-17 20:41:03 UTC (rev 237323)
+++ chromium-webkit-buffer-overflow.patch 2015-04-17 20:55:31 UTC (rev 237324)
@@ -1,23 +0,0 @@
-diff --git a/Source/platform/fonts/shaping/HarfBuzzShaper.cpp b/Source/platform/fonts/shaping/HarfBuzzShaper.cpp
-index 87441d9..a90b925 100644
---- a/Source/platform/fonts/shaping/HarfBuzzShaper.cpp
-+++ b/Source/platform/fonts/shaping/HarfBuzzShaper.cpp
-@@ -702,7 +702,7 @@ static inline void resolveRunBasedOnScriptValue(Vector<CandidateRun>& runs,
-
- static inline bool resolveCandidateRuns(Vector<CandidateRun>& runs)
- {
-- UScriptCode scriptExtensions[8];
-+ UScriptCode scriptExtensions[USCRIPT_CODE_LIMIT];
- UErrorCode errorCode = U_ZERO_ERROR;
- size_t length = runs.size();
- size_t nextResolvedRun = 0;
-@@ -714,7 +714,8 @@ static inline bool resolveCandidateRuns(Vector<CandidateRun>& runs)
- run.script = i > 0 ? runs[i - 1].script : USCRIPT_COMMON;
-
- int extensionsLength = uscript_getScriptExtensions(run.character,
-- scriptExtensions, sizeof(scriptExtensions), &errorCode);
-+ scriptExtensions, sizeof(scriptExtensions) / sizeof(scriptExtensions[0]),
-+ &errorCode);
- if (U_FAILURE(errorCode))
- return false;
-
Added: chromium-widevine.patch
===================================================================
--- chromium-widevine.patch (rev 0)
+++ chromium-widevine.patch 2015-04-17 20:55:31 UTC (rev 237324)
@@ -0,0 +1,12 @@
+diff -upr chromium-42.0.2311.90.orig/third_party/widevine/cdm/widevine_cdm_version.h chromium-42.0.2311.90/third_party/widevine/cdm/widevine_cdm_version.h
+--- chromium-42.0.2311.90.orig/third_party/widevine/cdm/widevine_cdm_version.h 2015-04-15 01:18:59.000000000 +0300
++++ chromium-42.0.2311.90/third_party/widevine/cdm/widevine_cdm_version.h 2015-04-15 09:09:49.157260050 +0300
+@@ -14,4 +14,8 @@
+ // - WIDEVINE_CDM_VERSION_STRING (with the version of the CDM that's available
+ // as a string, e.g., "1.0.123.456").
+
++#include "third_party/widevine/cdm/widevine_cdm_common.h"
++#define WIDEVINE_CDM_AVAILABLE
++#define WIDEVINE_CDM_VERSION_STRING "@WIDEVINE_VERSION@"
++
+ #endif // WIDEVINE_CDM_VERSION_H_
Deleted: chromium.default
===================================================================
--- chromium.default 2015-04-17 20:41:03 UTC (rev 237323)
+++ chromium.default 2015-04-17 20:55:31 UTC (rev 237324)
@@ -1,4 +0,0 @@
-# Default settings for chromium. This file is sourced by /usr/bin/chromium
-
-# Options to pass to chromium
-CHROMIUM_FLAGS=""
Modified: chromium.install
===================================================================
--- chromium.install 2015-04-17 20:41:03 UTC (rev 237323)
+++ chromium.install 2015-04-17 20:55:31 UTC (rev 237324)
@@ -1,12 +1,27 @@
post_install() {
- xdg-icon-resource forceupdate --theme hicolor &>/dev/null
- update-desktop-database -q
+ gtk-update-icon-cache -q -t -f usr/share/icons/hicolor
+ update-desktop-database -q
}
post_upgrade() {
- post_install
+ if (($(vercmp $2 42.0.2311.90-1) < 0)); then
+ echo ':: This Chromium package no longer supports custom flags passed via the'
+ echo ' /etc/chromium/default file (or any other files under /etc/chromium/).'
+ echo
+ echo ' The new /usr/bin/chromium launcher script will automatically detect'
+ echo ' Pepper Flash (if installed) and pass the correct flags to Chromium.'
+ echo
+ echo ' If you need to pass extra command-line arguments to Chromium, you'
+ echo ' can put them in a "chromium-flags.conf" file under $HOME/.config/'
+ echo ' (or $XDG_CONFIG_HOME). Arguments are split on whitespace and shell'
+ echo ' quoting rules apply but no further parsing is performed.'
+ fi
+
+ #post_install
}
post_remove() {
- post_install
+ post_install
}
+
+# vim:set ts=2 sw=2 et:
Deleted: chromium.sh
===================================================================
--- chromium.sh 2015-04-17 20:41:03 UTC (rev 237323)
+++ chromium.sh 2015-04-17 20:55:31 UTC (rev 237324)
@@ -1,25 +0,0 @@
-#!/bin/bash
-
-# Allow users to override command-line options
-# Based on Gentoo's chromium package
-if [[ -f /etc/chromium/default ]]; then
- . /etc/chromium/default
-fi
-# Source additional configuration files
-for file in /etc/chromium/*; do
- # Don't source /etc/chromium/default again
- [[ $file == /etc/chromium/default ]] && continue
-
- if [[ -f $file ]]; then
- . $file
- fi
-done
-
-# Prefer user defined CHROMIUM_USER_FLAGS (from env) over system
-# default CHROMIUM_FLAGS (from /etc/chromium/default)
-CHROMIUM_FLAGS=${CHROMIUM_USER_FLAGS:-$CHROMIUM_FLAGS}
-
-export CHROME_WRAPPER=$(readlink -f "$0")
-export CHROME_DESKTOP=chromium.desktop
-
-exec /usr/lib/chromium/chromium $CHROMIUM_FLAGS "$@"
More information about the arch-commits
mailing list