Date: Sunday, April 3, 2016 @ 03:01:06 Author: fyan Revision: 263809 archrelease: copy trunk to staging-i686, staging-x86_64
Added: chromium/repos/staging-i686/ chromium/repos/staging-i686/PKGBUILD (from rev 263808, chromium/trunk/PKGBUILD) chromium/repos/staging-i686/chromium-widevine.patch (from rev 263808, chromium/trunk/chromium-widevine.patch) chromium/repos/staging-i686/chromium.desktop (from rev 263808, chromium/trunk/chromium.desktop) chromium/repos/staging-i686/chromium.install (from rev 263808, chromium/trunk/chromium.install) chromium/repos/staging-x86_64/ chromium/repos/staging-x86_64/PKGBUILD (from rev 263808, chromium/trunk/PKGBUILD) chromium/repos/staging-x86_64/chromium-widevine.patch (from rev 263808, chromium/trunk/chromium-widevine.patch) chromium/repos/staging-x86_64/chromium.desktop (from rev 263808, chromium/trunk/chromium.desktop) chromium/repos/staging-x86_64/chromium.install (from rev 263808, chromium/trunk/chromium.install) ----------------------------------------+ staging-i686/PKGBUILD | 211 +++++++++++++++++++++++++++++++ staging-i686/chromium-widevine.patch | 53 +++++++ staging-i686/chromium.desktop | 112 ++++++++++++++++ staging-i686/chromium.install | 27 +++ staging-x86_64/PKGBUILD | 211 +++++++++++++++++++++++++++++++ staging-x86_64/chromium-widevine.patch | 53 +++++++ staging-x86_64/chromium.desktop | 112 ++++++++++++++++ staging-x86_64/chromium.install | 27 +++ 8 files changed, 806 insertions(+) Copied: chromium/repos/staging-i686/PKGBUILD (from rev 263808, chromium/trunk/PKGBUILD) =================================================================== --- staging-i686/PKGBUILD (rev 0) +++ staging-i686/PKGBUILD 2016-04-03 01:01:06 UTC (rev 263809) @@ -0,0 +1,211 @@ +# $Id$ +# Maintainer: Evangelos Foutras <evange...@foutrelis.com> +# Contributor: Pierre Schmitz <pie...@archlinux.de> +# Contributor: Jan "heftig" Steffens <jan.steff...@gmail.com> +# Contributor: Daniel J Griffiths <ghost1...@archlinux.us> + +pkgname=chromium +pkgver=49.0.2623.110 +pkgrel=2 +_launcher_ver=3 +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/" +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' 'libsecret' + 'libvpx' 'perl' 'perl-file-basedir' 'desktop-file-utils' + 'hicolor-icon-theme') +makedepends=('python2' 'gperf' 'yasm' 'mesa' 'ninja') +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' + 'kwallet: for storing passwords in KWallet') +options=('!strip') +install=chromium.install +source=(https://commondatastorage.googleapis.com/chromium-browser-official/$pkgname-$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) +sha256sums=('41840925d3769555ce4ebd780ee0dc6789ffae27b1684006c9b543bcaa35bbd2' + '8b01fb4efe58146279858a754d90b49e5a38c9a0b36a1f84cbb7d12f92b84c28' + '028a748a5c275de9b8f776f97909f999a8583a4b77fd1cd600b4fc5c0c3e91e9' + '4660344789c45c9b9e52cb6d86f7cb6edb297b39320d04f6947e5216d6e5f64c') + +# 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 +# get your own set of keys. Feel free to contact foutre...@archlinux.org for +# more information. +_google_api_key=AIzaSyDwr302FpOSkGRpLlUpPThNTDPbXcIn_FM +_google_default_client_id=413772536636.apps.googleusercontent.com +_google_default_client_secret=0ZChLK6AxeA3Isu96MkwqDR4 + +# We can't build (P)NaCL on i686 because the toolchain is x86_64 only and the +# 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 + _build_nacl=0 +fi + +prepare() { + cd "$srcdir/$pkgname-$pkgver" + + # https://groups.google.com/a/chromium.org/d/topic/chromium-packagers/9JX1N2nf4PU/discussion + touch chrome/test/data/webui/i18n_process_css_test.html + + # https://code.google.com/p/chromium/issues/detail?id=541273 + sed -i "/'target_name': 'libvpx'/s/libvpx/&_new/" build/linux/unbundle/libvpx.gyp + + # Enable support for the Widevine CDM plugin + # libwidevinecdm.so is not included, but can be copied over from Chrome + # (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 + + # 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 + mkdir -p "$srcdir/python2-path" + ln -sf /usr/bin/python2 "$srcdir/python2-path/python" + + # Download the PNaCL toolchain on x86_64; i686 toolchain is no longer provided + if (( $_build_nacl )); then + python2 build/download_nacl_toolchains.py \ + --packages nacl_x86_newlib,pnacl_newlib,pnacl_translator \ + sync --extract + fi +} + +build() { + cd "$srcdir/chromium-launcher-$_launcher_ver" + + make PREFIX=/usr + + cd "$srcdir/$pkgname-$pkgver" + + export PATH="$srcdir/python2-path:$PATH" + + # CFLAGS are passed through release_extra_cflags below + export -n CFLAGS CXXFLAGS + + local _chromium_conf=( + -Dgoogle_api_key=$_google_api_key + -Dgoogle_default_client_id=$_google_default_client_id + -Dgoogle_default_client_secret=$_google_default_client_secret + -Dwerror= + -Dclang=0 + -Dpython_ver=2.7 + -Dlinux_link_gsettings=1 + -Dlinux_link_libpci=1 + -Dlinux_link_libspeechd=1 + -Dlinux_link_pulseaudio=1 + -Dlinux_strip_binary=1 + -Dlinux_use_bundled_binutils=0 + -Dlinux_use_bundled_gold=0 + -Dlinux_use_gold_flags=0 + -Dicu_use_data_file_flag=0 + -Dlogging_like_official_build=1 + -Dtracing_like_official_build=1 + -Dfieldtrial_testing_like_official_build=1 + -Drelease_extra_cflags="$CFLAGS" + -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 + -Duse_system_harfbuzz=1 + -Duse_system_icu=1 + -Duse_system_libevent=1 + -Duse_system_libjpeg=1 + -Duse_system_libpng=1 + -Duse_system_libvpx=1 + -Duse_system_libxml=0 + -Duse_system_snappy=1 + -Duse_system_xdg_utils=1 + -Duse_system_yasm=1 + -Duse_system_zlib=0 + -Dusb_ids_path=/usr/share/hwdata/usb.ids + -Duse_mojo=0 + -Duse_gconf=0 + -Duse_sysroot=0 + -Denable_hangout_services_extension=1 + -Denable_widevine=1 + -Ddisable_fatal_linker_warnings=1 + -Ddisable_glibc=1) + + if (( ! $_build_nacl )); then + _chromium_conf+=( + -Ddisable_nacl=1 + -Ddisable_pnacl=1 + ) + fi + + build/linux/unbundle/replace_gyp_files.py "${_chromium_conf[@]}" + build/gyp_chromium --depth=. "${_chromium_conf[@]}" + + ninja -C out/Release chrome chrome_sandbox chromedriver +} + +package() { + cd "$srcdir/chromium-launcher-$_launcher_ver" + + make PREFIX=/usr DESTDIR="$pkgdir" install-strip + 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 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,libwidevinecdmadapter.so} \ + "$pkgdir/usr/lib/chromium/" + + # 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/libwidevinecdmadapter.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 + + cp -a out/Release/locales "$pkgdir/usr/lib/chromium/" + + install -Dm644 out/Release/chrome.1 "$pkgdir/usr/share/man/man1/chromium.1" + + install -Dm644 "$srcdir/chromium.desktop" \ + "$pkgdir/usr/share/applications/chromium.desktop" + + for size in 22 24 48 64 128 256; do + install -Dm644 "chrome/app/theme/chromium/product_logo_$size.png" \ + "$pkgdir/usr/share/icons/hicolor/${size}x${size}/apps/chromium.png" + done + + for size in 16 32; do + install -Dm644 "chrome/app/theme/default_100_percent/chromium/product_logo_$size.png" \ + "$pkgdir/usr/share/icons/hicolor/${size}x${size}/apps/chromium.png" + done + + ln -s /usr/lib/chromium/chromedriver "$pkgdir/usr/bin/chromedriver" + + install -Dm644 LICENSE "$pkgdir/usr/share/licenses/chromium/LICENSE" +} + +# vim:set ts=2 sw=2 et: Copied: chromium/repos/staging-i686/chromium-widevine.patch (from rev 263808, chromium/trunk/chromium-widevine.patch) =================================================================== --- staging-i686/chromium-widevine.patch (rev 0) +++ staging-i686/chromium-widevine.patch 2016-04-03 01:01:06 UTC (rev 263809) @@ -0,0 +1,53 @@ +diff -upr chromium-48.0.2564.82.orig/chrome/common/chrome_content_client.cc chromium-48.0.2564.82/chrome/common/chrome_content_client.cc +--- chromium-48.0.2564.82.orig/chrome/common/chrome_content_client.cc 2016-01-20 22:01:20.000000000 +0200 ++++ chromium-48.0.2564.82/chrome/common/chrome_content_client.cc 2016-01-21 20:02:02.788936626 +0200 +@@ -158,7 +158,12 @@ void ComputeBuiltInPlugins(std::vector<c + #if defined(WIDEVINE_CDM_AVAILABLE) && defined(ENABLE_PEPPER_CDMS) && \ + !defined(WIDEVINE_CDM_IS_COMPONENT) + static bool skip_widevine_cdm_file_check = false; +- if (PathService::Get(chrome::FILE_WIDEVINE_CDM_ADAPTER, &path)) { ++ bool widevine_cdm_present = ++ skip_widevine_cdm_file_check || ++ (PathService::Get(chrome::FILE_WIDEVINE_CDM, &path) && ++ base::PathExists(path)); ++ if (widevine_cdm_present && ++ PathService::Get(chrome::FILE_WIDEVINE_CDM_ADAPTER, &path)) { + if (skip_widevine_cdm_file_check || base::PathExists(path)) { + content::PepperPluginInfo widevine_cdm; + widevine_cdm.is_out_of_process = true; +diff -upr chromium-48.0.2564.82.orig/chrome/common/chrome_paths.cc chromium-48.0.2564.82/chrome/common/chrome_paths.cc +--- chromium-48.0.2564.82.orig/chrome/common/chrome_paths.cc 2016-01-20 22:01:20.000000000 +0200 ++++ chromium-48.0.2564.82/chrome/common/chrome_paths.cc 2016-01-21 19:18:51.287978456 +0200 +@@ -375,6 +375,11 @@ bool PathProvider(int key, base::FilePat + return false; + cur = cur.AppendASCII(kWidevineCdmAdapterFileName); + break; ++ case chrome::FILE_WIDEVINE_CDM: ++ if (!GetInternalPluginsDirectory(&cur)) ++ return false; ++ cur = cur.AppendASCII(kWidevineCdmFileName); ++ break; + #endif // defined(WIDEVINE_CDM_AVAILABLE) && defined(ENABLE_PEPPER_CDMS) + case chrome::FILE_RESOURCES_PACK: + #if defined(OS_MACOSX) && !defined(OS_IOS) +diff -upr chromium-48.0.2564.82.orig/chrome/common/chrome_paths.h chromium-48.0.2564.82/chrome/common/chrome_paths.h +--- chromium-48.0.2564.82.orig/chrome/common/chrome_paths.h 2016-01-14 03:49:22.000000000 +0200 ++++ chromium-48.0.2564.82/chrome/common/chrome_paths.h 2016-01-21 19:18:51.287978456 +0200 +@@ -99,6 +99,7 @@ enum { + DIR_COMPONENT_WIDEVINE_CDM, // Directory that contains component-updated + // Widevine CDM files. + FILE_WIDEVINE_CDM_ADAPTER, // Full path to the Widevine CDM adapter file. ++ FILE_WIDEVINE_CDM, // Full path to the Widevine CDM file. + FILE_RESOURCES_PACK, // Full path to the .pak file containing + // binary data (e.g., html files and images + // used by internal pages). +diff -upr chromium-48.0.2564.82.orig/third_party/widevine/cdm/stub/widevine_cdm_version.h chromium-48.0.2564.82/third_party/widevine/cdm/stub/widevine_cdm_version.h +--- chromium-48.0.2564.82.orig/third_party/widevine/cdm/stub/widevine_cdm_version.h 2016-01-14 01:05:17.000000000 +0200 ++++ chromium-48.0.2564.82/third_party/widevine/cdm/stub/widevine_cdm_version.h 2016-01-21 19:18:51.287978456 +0200 +@@ -12,4 +12,6 @@ + + #define WIDEVINE_CDM_AVAILABLE + ++#define WIDEVINE_CDM_VERSION_STRING "@WIDEVINE_VERSION@" ++ + #endif // WIDEVINE_CDM_VERSION_H_ Copied: chromium/repos/staging-i686/chromium.desktop (from rev 263808, chromium/trunk/chromium.desktop) =================================================================== --- staging-i686/chromium.desktop (rev 0) +++ staging-i686/chromium.desktop 2016-04-03 01:01:06 UTC (rev 263809) @@ -0,0 +1,112 @@ +[Desktop Entry] +Name=Chromium +# Only KDE 4 seems to use GenericName, so we reuse the KDE strings. +# From Ubuntu's language-pack-kde-XX-base packages, version 9.04-20090413. +GenericName=Web Browser +GenericName[ar]=متصفح الشبكة +GenericName[bg]=Уеб браузър +GenericName[ca]=Navegador web +GenericName[cs]=WWW prohlížeč +GenericName[da]=Browser +GenericName[de]=Web-Browser +GenericName[el]=Περιηγητής ιστού +GenericName[en_GB]=Web Browser +GenericName[es]=Navegador web +GenericName[et]=Veebibrauser +GenericName[fi]=WWW-selain +GenericName[fr]=Navigateur Web +GenericName[gu]=વેબ બ્રાઉઝર +GenericName[he]=דפדפן אינטרנט +GenericName[hi]=वेब ब्राउज़र +GenericName[hu]=Webböngésző +GenericName[it]=Browser Web +GenericName[ja]=ウェブブラウザ +GenericName[kn]=ಜಾಲ ವೀಕ್ಷಕ +GenericName[ko]=웹 브라우저 +GenericName[lt]=Žiniatinklio naršyklė +GenericName[lv]=Tīmekļa pārlūks +GenericName[ml]=വെബ് ബ്രൌസര് +GenericName[mr]=वेब ब्राऊजर +GenericName[nb]=Nettleser +GenericName[nl]=Webbrowser +GenericName[pl]=Przeglądarka WWW +GenericName[pt]=Navegador Web +GenericName[pt_BR]=Navegador da Internet +GenericName[ro]=Navigator de Internet +GenericName[ru]=Веб-браузер +GenericName[sl]=Spletni brskalnik +GenericName[sv]=Webbläsare +GenericName[ta]=இணைய உலாவி +GenericName[th]=เว็บเบราว์เซอร์ +GenericName[tr]=Web Tarayıcı +GenericName[uk]=Навігатор Тенет +GenericName[zh_CN]=网页浏览器 +GenericName[zh_HK]=網頁瀏覽器 +GenericName[zh_TW]=網頁瀏覽器 +# Not translated in KDE, from Epiphany 2.26.1-0ubuntu1. +GenericName[bn]=ওয়েব ব্রাউজার +GenericName[fil]=Web Browser +GenericName[hr]=Web preglednik +GenericName[id]=Browser Web +GenericName[or]=ଓ୍ବେବ ବ୍ରାଉଜର +GenericName[sk]=WWW prehliadač +GenericName[sr]=Интернет прегледник +GenericName[te]=మహాతల అన్వేషి +GenericName[vi]=Bộ duyệt Web +# Gnome and KDE 3 uses Comment. +Comment=Access the Internet +Comment[ar]=الدخول إلى الإنترنت +Comment[bg]=Достъп до интернет +Comment[bn]=ইন্টারনেটটি অ্যাক্সেস করুন +Comment[ca]=Accedeix a Internet +Comment[cs]=Přístup k internetu +Comment[da]=Få adgang til internettet +Comment[de]=Internetzugriff +Comment[el]=Πρόσβαση στο Διαδίκτυο +Comment[en_GB]=Access the Internet +Comment[es]=Accede a Internet. +Comment[et]=Pääs Internetti +Comment[fi]=Käytä internetiä +Comment[fil]=I-access ang Internet +Comment[fr]=Accéder à Internet +Comment[gu]=ઇંટરનેટ ઍક્સેસ કરો +Comment[he]=גישה אל האינטרנט +Comment[hi]=इंटरनेट तक पहुंच स्थापित करें +Comment[hr]=Pristup Internetu +Comment[hu]=Internetelérés +Comment[id]=Akses Internet +Comment[it]=Accesso a Internet +Comment[ja]=インターネットにアクセス +Comment[kn]=ಇಂಟರ್ನೆಟ್ ಅನ್ನು ಪ್ರವೇಶಿಸಿ +Comment[ko]=인터넷 연결 +Comment[lt]=Interneto prieiga +Comment[lv]=Piekļūt internetam +Comment[ml]=ഇന്റര്നെറ്റ് ആക്സസ് ചെയ്യുക +Comment[mr]=इंटरनेटमध्ये प्रवेश करा +Comment[nb]=Gå til Internett +Comment[nl]=Verbinding maken met internet +Comment[or]=ଇଣ୍ଟର୍ନେଟ୍ ପ୍ରବେଶ କରନ୍ତୁ +Comment[pl]=Skorzystaj z internetu +Comment[pt]=Aceder à Internet +Comment[pt_BR]=Acessar a internet +Comment[ro]=Accesaţi Internetul +Comment[ru]=Доступ в Интернет +Comment[sk]=Prístup do siete Internet +Comment[sl]=Dostop do interneta +Comment[sr]=Приступите Интернету +Comment[sv]=Gå ut på Internet +Comment[ta]=இணையத்தை அணுகுதல் +Comment[te]=ఇంటర్నెట్ను ఆక్సెస్ చెయ్యండి +Comment[th]=เข้าถึงอินเทอร์เน็ต +Comment[tr]=İnternet'e erişin +Comment[uk]=Доступ до Інтернету +Comment[vi]=Truy cập Internet +Comment[zh_CN]=访问互联网 +Comment[zh_HK]=連線到網際網路 +Comment[zh_TW]=連線到網際網路 +Exec=chromium %U +Terminal=false +Icon=chromium +Type=Application +Categories=GTK;Network;WebBrowser; +MimeType=text/html;text/xml;application/xhtml+xml;text/mml;x-scheme-handler/http;x-scheme-handler/https; Copied: chromium/repos/staging-i686/chromium.install (from rev 263808, chromium/trunk/chromium.install) =================================================================== --- staging-i686/chromium.install (rev 0) +++ staging-i686/chromium.install 2016-04-03 01:01:06 UTC (rev 263809) @@ -0,0 +1,27 @@ +post_install() { + gtk-update-icon-cache -q -t -f usr/share/icons/hicolor + update-desktop-database -q +} + +post_upgrade() { + 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 +} + +# vim:set ts=2 sw=2 et: Copied: chromium/repos/staging-x86_64/PKGBUILD (from rev 263808, chromium/trunk/PKGBUILD) =================================================================== --- staging-x86_64/PKGBUILD (rev 0) +++ staging-x86_64/PKGBUILD 2016-04-03 01:01:06 UTC (rev 263809) @@ -0,0 +1,211 @@ +# $Id$ +# Maintainer: Evangelos Foutras <evange...@foutrelis.com> +# Contributor: Pierre Schmitz <pie...@archlinux.de> +# Contributor: Jan "heftig" Steffens <jan.steff...@gmail.com> +# Contributor: Daniel J Griffiths <ghost1...@archlinux.us> + +pkgname=chromium +pkgver=49.0.2623.110 +pkgrel=2 +_launcher_ver=3 +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/" +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' 'libsecret' + 'libvpx' 'perl' 'perl-file-basedir' 'desktop-file-utils' + 'hicolor-icon-theme') +makedepends=('python2' 'gperf' 'yasm' 'mesa' 'ninja') +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' + 'kwallet: for storing passwords in KWallet') +options=('!strip') +install=chromium.install +source=(https://commondatastorage.googleapis.com/chromium-browser-official/$pkgname-$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) +sha256sums=('41840925d3769555ce4ebd780ee0dc6789ffae27b1684006c9b543bcaa35bbd2' + '8b01fb4efe58146279858a754d90b49e5a38c9a0b36a1f84cbb7d12f92b84c28' + '028a748a5c275de9b8f776f97909f999a8583a4b77fd1cd600b4fc5c0c3e91e9' + '4660344789c45c9b9e52cb6d86f7cb6edb297b39320d04f6947e5216d6e5f64c') + +# 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 +# get your own set of keys. Feel free to contact foutre...@archlinux.org for +# more information. +_google_api_key=AIzaSyDwr302FpOSkGRpLlUpPThNTDPbXcIn_FM +_google_default_client_id=413772536636.apps.googleusercontent.com +_google_default_client_secret=0ZChLK6AxeA3Isu96MkwqDR4 + +# We can't build (P)NaCL on i686 because the toolchain is x86_64 only and the +# 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 + _build_nacl=0 +fi + +prepare() { + cd "$srcdir/$pkgname-$pkgver" + + # https://groups.google.com/a/chromium.org/d/topic/chromium-packagers/9JX1N2nf4PU/discussion + touch chrome/test/data/webui/i18n_process_css_test.html + + # https://code.google.com/p/chromium/issues/detail?id=541273 + sed -i "/'target_name': 'libvpx'/s/libvpx/&_new/" build/linux/unbundle/libvpx.gyp + + # Enable support for the Widevine CDM plugin + # libwidevinecdm.so is not included, but can be copied over from Chrome + # (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 + + # 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 + mkdir -p "$srcdir/python2-path" + ln -sf /usr/bin/python2 "$srcdir/python2-path/python" + + # Download the PNaCL toolchain on x86_64; i686 toolchain is no longer provided + if (( $_build_nacl )); then + python2 build/download_nacl_toolchains.py \ + --packages nacl_x86_newlib,pnacl_newlib,pnacl_translator \ + sync --extract + fi +} + +build() { + cd "$srcdir/chromium-launcher-$_launcher_ver" + + make PREFIX=/usr + + cd "$srcdir/$pkgname-$pkgver" + + export PATH="$srcdir/python2-path:$PATH" + + # CFLAGS are passed through release_extra_cflags below + export -n CFLAGS CXXFLAGS + + local _chromium_conf=( + -Dgoogle_api_key=$_google_api_key + -Dgoogle_default_client_id=$_google_default_client_id + -Dgoogle_default_client_secret=$_google_default_client_secret + -Dwerror= + -Dclang=0 + -Dpython_ver=2.7 + -Dlinux_link_gsettings=1 + -Dlinux_link_libpci=1 + -Dlinux_link_libspeechd=1 + -Dlinux_link_pulseaudio=1 + -Dlinux_strip_binary=1 + -Dlinux_use_bundled_binutils=0 + -Dlinux_use_bundled_gold=0 + -Dlinux_use_gold_flags=0 + -Dicu_use_data_file_flag=0 + -Dlogging_like_official_build=1 + -Dtracing_like_official_build=1 + -Dfieldtrial_testing_like_official_build=1 + -Drelease_extra_cflags="$CFLAGS" + -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 + -Duse_system_harfbuzz=1 + -Duse_system_icu=1 + -Duse_system_libevent=1 + -Duse_system_libjpeg=1 + -Duse_system_libpng=1 + -Duse_system_libvpx=1 + -Duse_system_libxml=0 + -Duse_system_snappy=1 + -Duse_system_xdg_utils=1 + -Duse_system_yasm=1 + -Duse_system_zlib=0 + -Dusb_ids_path=/usr/share/hwdata/usb.ids + -Duse_mojo=0 + -Duse_gconf=0 + -Duse_sysroot=0 + -Denable_hangout_services_extension=1 + -Denable_widevine=1 + -Ddisable_fatal_linker_warnings=1 + -Ddisable_glibc=1) + + if (( ! $_build_nacl )); then + _chromium_conf+=( + -Ddisable_nacl=1 + -Ddisable_pnacl=1 + ) + fi + + build/linux/unbundle/replace_gyp_files.py "${_chromium_conf[@]}" + build/gyp_chromium --depth=. "${_chromium_conf[@]}" + + ninja -C out/Release chrome chrome_sandbox chromedriver +} + +package() { + cd "$srcdir/chromium-launcher-$_launcher_ver" + + make PREFIX=/usr DESTDIR="$pkgdir" install-strip + 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 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,libwidevinecdmadapter.so} \ + "$pkgdir/usr/lib/chromium/" + + # 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/libwidevinecdmadapter.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 + + cp -a out/Release/locales "$pkgdir/usr/lib/chromium/" + + install -Dm644 out/Release/chrome.1 "$pkgdir/usr/share/man/man1/chromium.1" + + install -Dm644 "$srcdir/chromium.desktop" \ + "$pkgdir/usr/share/applications/chromium.desktop" + + for size in 22 24 48 64 128 256; do + install -Dm644 "chrome/app/theme/chromium/product_logo_$size.png" \ + "$pkgdir/usr/share/icons/hicolor/${size}x${size}/apps/chromium.png" + done + + for size in 16 32; do + install -Dm644 "chrome/app/theme/default_100_percent/chromium/product_logo_$size.png" \ + "$pkgdir/usr/share/icons/hicolor/${size}x${size}/apps/chromium.png" + done + + ln -s /usr/lib/chromium/chromedriver "$pkgdir/usr/bin/chromedriver" + + install -Dm644 LICENSE "$pkgdir/usr/share/licenses/chromium/LICENSE" +} + +# vim:set ts=2 sw=2 et: Copied: chromium/repos/staging-x86_64/chromium-widevine.patch (from rev 263808, chromium/trunk/chromium-widevine.patch) =================================================================== --- staging-x86_64/chromium-widevine.patch (rev 0) +++ staging-x86_64/chromium-widevine.patch 2016-04-03 01:01:06 UTC (rev 263809) @@ -0,0 +1,53 @@ +diff -upr chromium-48.0.2564.82.orig/chrome/common/chrome_content_client.cc chromium-48.0.2564.82/chrome/common/chrome_content_client.cc +--- chromium-48.0.2564.82.orig/chrome/common/chrome_content_client.cc 2016-01-20 22:01:20.000000000 +0200 ++++ chromium-48.0.2564.82/chrome/common/chrome_content_client.cc 2016-01-21 20:02:02.788936626 +0200 +@@ -158,7 +158,12 @@ void ComputeBuiltInPlugins(std::vector<c + #if defined(WIDEVINE_CDM_AVAILABLE) && defined(ENABLE_PEPPER_CDMS) && \ + !defined(WIDEVINE_CDM_IS_COMPONENT) + static bool skip_widevine_cdm_file_check = false; +- if (PathService::Get(chrome::FILE_WIDEVINE_CDM_ADAPTER, &path)) { ++ bool widevine_cdm_present = ++ skip_widevine_cdm_file_check || ++ (PathService::Get(chrome::FILE_WIDEVINE_CDM, &path) && ++ base::PathExists(path)); ++ if (widevine_cdm_present && ++ PathService::Get(chrome::FILE_WIDEVINE_CDM_ADAPTER, &path)) { + if (skip_widevine_cdm_file_check || base::PathExists(path)) { + content::PepperPluginInfo widevine_cdm; + widevine_cdm.is_out_of_process = true; +diff -upr chromium-48.0.2564.82.orig/chrome/common/chrome_paths.cc chromium-48.0.2564.82/chrome/common/chrome_paths.cc +--- chromium-48.0.2564.82.orig/chrome/common/chrome_paths.cc 2016-01-20 22:01:20.000000000 +0200 ++++ chromium-48.0.2564.82/chrome/common/chrome_paths.cc 2016-01-21 19:18:51.287978456 +0200 +@@ -375,6 +375,11 @@ bool PathProvider(int key, base::FilePat + return false; + cur = cur.AppendASCII(kWidevineCdmAdapterFileName); + break; ++ case chrome::FILE_WIDEVINE_CDM: ++ if (!GetInternalPluginsDirectory(&cur)) ++ return false; ++ cur = cur.AppendASCII(kWidevineCdmFileName); ++ break; + #endif // defined(WIDEVINE_CDM_AVAILABLE) && defined(ENABLE_PEPPER_CDMS) + case chrome::FILE_RESOURCES_PACK: + #if defined(OS_MACOSX) && !defined(OS_IOS) +diff -upr chromium-48.0.2564.82.orig/chrome/common/chrome_paths.h chromium-48.0.2564.82/chrome/common/chrome_paths.h +--- chromium-48.0.2564.82.orig/chrome/common/chrome_paths.h 2016-01-14 03:49:22.000000000 +0200 ++++ chromium-48.0.2564.82/chrome/common/chrome_paths.h 2016-01-21 19:18:51.287978456 +0200 +@@ -99,6 +99,7 @@ enum { + DIR_COMPONENT_WIDEVINE_CDM, // Directory that contains component-updated + // Widevine CDM files. + FILE_WIDEVINE_CDM_ADAPTER, // Full path to the Widevine CDM adapter file. ++ FILE_WIDEVINE_CDM, // Full path to the Widevine CDM file. + FILE_RESOURCES_PACK, // Full path to the .pak file containing + // binary data (e.g., html files and images + // used by internal pages). +diff -upr chromium-48.0.2564.82.orig/third_party/widevine/cdm/stub/widevine_cdm_version.h chromium-48.0.2564.82/third_party/widevine/cdm/stub/widevine_cdm_version.h +--- chromium-48.0.2564.82.orig/third_party/widevine/cdm/stub/widevine_cdm_version.h 2016-01-14 01:05:17.000000000 +0200 ++++ chromium-48.0.2564.82/third_party/widevine/cdm/stub/widevine_cdm_version.h 2016-01-21 19:18:51.287978456 +0200 +@@ -12,4 +12,6 @@ + + #define WIDEVINE_CDM_AVAILABLE + ++#define WIDEVINE_CDM_VERSION_STRING "@WIDEVINE_VERSION@" ++ + #endif // WIDEVINE_CDM_VERSION_H_ Copied: chromium/repos/staging-x86_64/chromium.desktop (from rev 263808, chromium/trunk/chromium.desktop) =================================================================== --- staging-x86_64/chromium.desktop (rev 0) +++ staging-x86_64/chromium.desktop 2016-04-03 01:01:06 UTC (rev 263809) @@ -0,0 +1,112 @@ +[Desktop Entry] +Name=Chromium +# Only KDE 4 seems to use GenericName, so we reuse the KDE strings. +# From Ubuntu's language-pack-kde-XX-base packages, version 9.04-20090413. +GenericName=Web Browser +GenericName[ar]=متصفح الشبكة +GenericName[bg]=Уеб браузър +GenericName[ca]=Navegador web +GenericName[cs]=WWW prohlížeč +GenericName[da]=Browser +GenericName[de]=Web-Browser +GenericName[el]=Περιηγητής ιστού +GenericName[en_GB]=Web Browser +GenericName[es]=Navegador web +GenericName[et]=Veebibrauser +GenericName[fi]=WWW-selain +GenericName[fr]=Navigateur Web +GenericName[gu]=વેબ બ્રાઉઝર +GenericName[he]=דפדפן אינטרנט +GenericName[hi]=वेब ब्राउज़र +GenericName[hu]=Webböngésző +GenericName[it]=Browser Web +GenericName[ja]=ウェブブラウザ +GenericName[kn]=ಜಾಲ ವೀಕ್ಷಕ +GenericName[ko]=웹 브라우저 +GenericName[lt]=Žiniatinklio naršyklė +GenericName[lv]=Tīmekļa pārlūks +GenericName[ml]=വെബ് ബ്രൌസര് +GenericName[mr]=वेब ब्राऊजर +GenericName[nb]=Nettleser +GenericName[nl]=Webbrowser +GenericName[pl]=Przeglądarka WWW +GenericName[pt]=Navegador Web +GenericName[pt_BR]=Navegador da Internet +GenericName[ro]=Navigator de Internet +GenericName[ru]=Веб-браузер +GenericName[sl]=Spletni brskalnik +GenericName[sv]=Webbläsare +GenericName[ta]=இணைய உலாவி +GenericName[th]=เว็บเบราว์เซอร์ +GenericName[tr]=Web Tarayıcı +GenericName[uk]=Навігатор Тенет +GenericName[zh_CN]=网页浏览器 +GenericName[zh_HK]=網頁瀏覽器 +GenericName[zh_TW]=網頁瀏覽器 +# Not translated in KDE, from Epiphany 2.26.1-0ubuntu1. +GenericName[bn]=ওয়েব ব্রাউজার +GenericName[fil]=Web Browser +GenericName[hr]=Web preglednik +GenericName[id]=Browser Web +GenericName[or]=ଓ୍ବେବ ବ୍ରାଉଜର +GenericName[sk]=WWW prehliadač +GenericName[sr]=Интернет прегледник +GenericName[te]=మహాతల అన్వేషి +GenericName[vi]=Bộ duyệt Web +# Gnome and KDE 3 uses Comment. +Comment=Access the Internet +Comment[ar]=الدخول إلى الإنترنت +Comment[bg]=Достъп до интернет +Comment[bn]=ইন্টারনেটটি অ্যাক্সেস করুন +Comment[ca]=Accedeix a Internet +Comment[cs]=Přístup k internetu +Comment[da]=Få adgang til internettet +Comment[de]=Internetzugriff +Comment[el]=Πρόσβαση στο Διαδίκτυο +Comment[en_GB]=Access the Internet +Comment[es]=Accede a Internet. +Comment[et]=Pääs Internetti +Comment[fi]=Käytä internetiä +Comment[fil]=I-access ang Internet +Comment[fr]=Accéder à Internet +Comment[gu]=ઇંટરનેટ ઍક્સેસ કરો +Comment[he]=גישה אל האינטרנט +Comment[hi]=इंटरनेट तक पहुंच स्थापित करें +Comment[hr]=Pristup Internetu +Comment[hu]=Internetelérés +Comment[id]=Akses Internet +Comment[it]=Accesso a Internet +Comment[ja]=インターネットにアクセス +Comment[kn]=ಇಂಟರ್ನೆಟ್ ಅನ್ನು ಪ್ರವೇಶಿಸಿ +Comment[ko]=인터넷 연결 +Comment[lt]=Interneto prieiga +Comment[lv]=Piekļūt internetam +Comment[ml]=ഇന്റര്നെറ്റ് ആക്സസ് ചെയ്യുക +Comment[mr]=इंटरनेटमध्ये प्रवेश करा +Comment[nb]=Gå til Internett +Comment[nl]=Verbinding maken met internet +Comment[or]=ଇଣ୍ଟର୍ନେଟ୍ ପ୍ରବେଶ କରନ୍ତୁ +Comment[pl]=Skorzystaj z internetu +Comment[pt]=Aceder à Internet +Comment[pt_BR]=Acessar a internet +Comment[ro]=Accesaţi Internetul +Comment[ru]=Доступ в Интернет +Comment[sk]=Prístup do siete Internet +Comment[sl]=Dostop do interneta +Comment[sr]=Приступите Интернету +Comment[sv]=Gå ut på Internet +Comment[ta]=இணையத்தை அணுகுதல் +Comment[te]=ఇంటర్నెట్ను ఆక్సెస్ చెయ్యండి +Comment[th]=เข้าถึงอินเทอร์เน็ต +Comment[tr]=İnternet'e erişin +Comment[uk]=Доступ до Інтернету +Comment[vi]=Truy cập Internet +Comment[zh_CN]=访问互联网 +Comment[zh_HK]=連線到網際網路 +Comment[zh_TW]=連線到網際網路 +Exec=chromium %U +Terminal=false +Icon=chromium +Type=Application +Categories=GTK;Network;WebBrowser; +MimeType=text/html;text/xml;application/xhtml+xml;text/mml;x-scheme-handler/http;x-scheme-handler/https; Copied: chromium/repos/staging-x86_64/chromium.install (from rev 263808, chromium/trunk/chromium.install) =================================================================== --- staging-x86_64/chromium.install (rev 0) +++ staging-x86_64/chromium.install 2016-04-03 01:01:06 UTC (rev 263809) @@ -0,0 +1,27 @@ +post_install() { + gtk-update-icon-cache -q -t -f usr/share/icons/hicolor + update-desktop-database -q +} + +post_upgrade() { + 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 +} + +# vim:set ts=2 sw=2 et: