diff options
author | Jonas Heinrich | 2017-11-18 20:41:55 +0100 |
---|---|---|
committer | Jonas Heinrich | 2017-11-18 20:41:55 +0100 |
commit | 190dd67272a7c20b6f3b90d11cd70584d0bffeb2 (patch) | |
tree | 589b6fc529589e31800158733de5ce134f951570 | |
parent | 9e84c5afbdfc88afb98b68005076ea0b35e62ce3 (diff) | |
download | aur-190dd67272a7c20b6f3b90d11cd70584d0bffeb2.tar.gz |
fixed compile bugs
-rw-r--r-- | .SRCINFO | 27 | ||||
-rw-r--r-- | PKGBUILD | 184 |
2 files changed, 148 insertions, 63 deletions
@@ -1,12 +1,11 @@ # Generated by mksrcinfo v8 -# Sun Nov 12 13:19:08 UTC 2017 +# Sat Nov 18 19:41:43 UTC 2017 pkgbase = chromium-wayland-git - pkgdesc = The open-source project behind Google Chrome, an attempt at creating a safer, faster, and more stable browser + pkgdesc = A web browser built for speed, simplicity, and security pkgver = 48.0.2548.0 - pkgrel = 1 - url = http://github.com/01org/ozone-wayland/ + pkgrel = 2 + url = https://github.com/Igalia/chromium install = chromium.install - arch = i686 arch = x86_64 license = BSD makedepends = python2 @@ -14,6 +13,8 @@ pkgbase = chromium-wayland-git makedepends = yasm makedepends = mesa makedepends = ninja + makedepends = nodejs + makedepends = git makedepends = libexif makedepends = libsecret depends = nss @@ -38,21 +39,29 @@ pkgbase = chromium-wayland-git depends = libxkbcommon depends = gtk2 depends = libpulse + depends = flac + depends = opus + depends = minizip + depends = libxml2 + depends = harfbuzz-icu + depends = libxslt + depends = re2 + depends = libwebp + depends = libjpeg + depends = snappy optdepends = kdebase-kdialog: needed for file dialogs in KDE optdepends = gnome-keyring: for storing passwords in GNOME keyring provides = chromium conflicts = chromium options = !strip - source = https://commondatastorage.googleapis.com/chromium-browser-official/chromium-48.0.2548.0.tar.xz + source = chromium-launcher-5.tar.gz::https://github.com/foutrelis/chromium-launcher/archive/v5.tar.gz source = chromium.desktop source = chromium-widevine.patch source = unbundle-libvpx_new-fix.patch - sha256sums = 4ca4e2adb340b3fb4d502266ad7d6bda45fa3519906dbf63cce11a63f680dbc8 + sha256sums = 4dc3428f2c927955d9ae117f2fb24d098cc6dd67adb760ac9c82b522ec8b0587 sha256sums = 028a748a5c275de9b8f776f97909f999a8583a4b77fd1cd600b4fc5c0c3e91e9 sha256sums = 379b746e187de28f80f5a7cd19edcfa31859656826f802a1ede054fcb6dfb221 sha256sums = 6a2fd2d8ce5363a67452f6531a6b83f1e535f800286119fd9910d3b31c76c3bc - makedepends_x86_64 = lib32-gcc-libs - makedepends_x86_64 = lib32-zlib pkgname = chromium-wayland-git @@ -1,4 +1,6 @@ -# Maintainer: Alastair Hughes < hobbitalastair at yandex dot com> +# Maintainer: Jonas Heinrich <onny@project-insanity.org> +# Contributor: Jonas Heinrich <onny@project-insanity.org> +# Contributor: Alastair Hughes < hobbitalastair at yandex dot com> # Contributor: Evangelos Foutras <evangelos@foutrelis.com> # Contributor: Pierre Schmitz <pierre@archlinux.de> # Contributor: Jan "heftig" Steffens <jan.steffens@gmail.com> @@ -7,129 +9,203 @@ pkgname=chromium-wayland-git _pkgname=chromium pkgver=48.0.2548.0 -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://github.com/01org/ozone-wayland/" +pkgrel=2 +_launcher_ver=5 +pkgdesc="A web browser built for speed, simplicity, and security" +arch=('x86_64') +url="https://github.com/Igalia/chromium" license=('BSD') depends=('nss' 'alsa-lib' 'bzip2' 'libevent' 'icu' 'libgcrypt' 'ttf-font' 'systemd' 'dbus' 'flac' 'snappy' 'pciutils' 'harfbuzz' 'libvpx' 'perl' 'perl-file-basedir' 'desktop-file-utils' 'libxslt' 'hicolor-icon-theme' 'libxkbcommon' 'gtk2' 'libpulse') -makedepends=('python2' 'gperf' 'yasm' 'mesa' 'ninja' 'libexif' 'libsecret') -makedepends_x86_64=('lib32-gcc-libs' 'lib32-zlib') +makedepends=('python2' 'gperf' 'yasm' 'mesa' 'ninja' 'nodejs' 'git' 'libexif' 'libsecret') optdepends=('kdebase-kdialog: needed for file dialogs in KDE' 'gnome-keyring: for storing passwords in GNOME keyring') conflicts=('chromium') provides=('chromium') options=('!strip') install=chromium.install -source=(https://commondatastorage.googleapis.com/chromium-browser-official/$_pkgname-$pkgver.tar.xz +source=(chromium-launcher-$_launcher_ver.tar.gz::https://github.com/foutrelis/chromium-launcher/archive/v$_launcher_ver.tar.gz chromium.desktop chromium-widevine.patch unbundle-libvpx_new-fix.patch) -sha256sums=('4ca4e2adb340b3fb4d502266ad7d6bda45fa3519906dbf63cce11a63f680dbc8' +sha256sums=('4dc3428f2c927955d9ae117f2fb24d098cc6dd67adb760ac9c82b522ec8b0587' '028a748a5c275de9b8f776f97909f999a8583a4b77fd1cd600b4fc5c0c3e91e9' '379b746e187de28f80f5a7cd19edcfa31859656826f802a1ede054fcb6dfb221' '6a2fd2d8ce5363a67452f6531a6b83f1e535f800286119fd9910d3b31c76c3bc') -# Google API keys (see http://www.chromium.org/developers/how-tos/api-keys) +# 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 # https://crbug.com/731766 + [flac]=flac + #[freetype]=freetype2 # https://crbug.com/pdfium/733 + [harfbuzz-ng]=harfbuzz-icu + #[icu]=icu # https://crbug.com/772655 + [libdrm]= + [libjpeg]=libjpeg + #[libpng]=libpng # https://crbug.com/752403#c10 + #[libvpx]=libvpx # https://bugs.gentoo.org/611394 + [libwebp]=libwebp + [libxml]=libxml2 + [libxslt]=libxslt + [opus]=opus + [re2]=re2 + [snappy]=snappy + [yasm]= + [zlib]=minizip +) +depends+=(${_system_libs[@]}) + +# Google API keys (see https://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 foutrelis@archlinux.org for -# more information. +# get your own set of keys. _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 +#pkgver() { +# cd "${srcdir}/chromium/src" +# git describe --long | sed 's/\([^-]*-g\)/r\1/;s/-/./g' +#} prepare() { - cd "$srcdir/$_pkgname-$pkgver" + cd "$srcdir/" - touch chrome/test/data/webui/i18n_process_css_test.html + mkdir -p chromium + cd chromium + + export PATH="/opt/depot_tools:$PATH" + export PATH="${srcdir}/python2-path:$PATH" + export GYP_DEFINES="target_arch=x64" + + gclient config --name=src https://github.com/Igalia/chromium.git + gclient sync --with_branch_heads --nohooks + + # touch chrome/test/data/webui/i18n_process_css_test.html # 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 + #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 + #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 "$srcdir/python2-path" ln -s /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 + #if (( $_build_nacl )); then + # python2 build/download_nacl_toolchains.py \ + # --packages nacl_x86_newlib,pnacl_newlib,pnacl_translator \ + # sync --extract + #fi # Ozone-Wayland - mv ../ozone-wayland ozone + #mv ../ozone-wayland ozone # Patch to fix build with use_system_libvpx # Chromium bug #541273 - patch -p1 < "${srcdir}/unbundle-libvpx_new-fix.patch" + #patch -p1 < "${srcdir}/unbundle-libvpx_new-fix.patch" # Patch! - for patchfile in ozone/patches/00*; do - echo "Applying ${patchfile}." - patch -p1 <$patchfile - done - + #for patchfile in ozone/patches/00*; do + # echo "Applying ${patchfile}." + # patch -p1 <$patchfile + #done + + # Patching bug while compiling for platform wayland + sed -i 's/\[ "wayland-egl" \]/\[ "wayland-egl" , "xkbcommon" \]/' src/ui/ozone/platform/wayland/BUILD.gn + + # Fix for downloading debian jessie sysroot + # src/build/linux/sysroot_scripts/install-sysroot.py + sed -i "s/InstallSysroot('Wheezy', 'amd64')/InstallSysroot('Jessie', 'amd64')/g" src/build/linux/sysroot_scripts/install-sysroot.py + ./src/build/linux/sysroot_scripts/install-sysroot.py --arch=amd64 } build() { - cd "${srcdir}/" - - mkdir chromium - cd chromium - - export PATH="${srcdir}/depot_tools:$PATH" - export PATH="${srcdir}/path:$PATH" - export GYP_DEFINES="target_arch=x64" + make -C chromium-launcher-$_launcher_ver + + cd "${srcdir}/chromium" + + export PATH="/opt/depot_tools:$PATH" + export PATH="${srcdir}/python2-path:$PATH" + export TMPDIR="$srcdir/temp" + mkdir -p "$TMPDIR" + + local _flags=( + 'is_clang=false' + 'clang_use_chrome_plugins=false' + 'is_debug=false' + 'fatal_linker_warnings=false' + 'treat_warnings_as_errors=false' + 'fieldtrial_testing_like_official_build=true' + 'remove_webcore_debug_symbols=true' + 'ffmpeg_branding="Chrome"' + 'proprietary_codecs=true' + 'link_pulseaudio=true' + 'use_gtk3=true' + 'use_gconf=false' + 'use_gnome_keyring=false' + 'use_gold=false' + 'use_sysroot=false' + 'linux_use_bundled_binutils=false' + 'use_custom_libcxx=false' + 'enable_hangout_services_extension=true' + 'enable_widevine=true' + 'enable_nacl=false' + 'enable_swiftshader=false' + "google_api_key=\"${_google_api_key}\"" + "google_default_client_id=\"${_google_default_client_id}\"" + "google_default_client_secret=\"${_google_default_client_secret}\"" + ) + + if check_option strip y; then + _flags+=('exclude_unwind_tables=true') + fi - gclient config --name=src https://github.com/Igalia/chromium.git - gclient sync --with_branch_heads --nohooks + cd src gclient runhooks - cd src - - gn args out/Ozone --args="use_ozone=true enable_package_mash_services=true" # use_xkbcommon=true - ninja -C out/Ozone chrome + gn gen out/Ozone --args="use_jessie_sysroot=true use_ozone=true enable_package_mash_services=true use_xkbcommon=true" #args + /usr/bin/ninja -C out/Ozone chrome chrome_sandbox chromedriver widevinecdmadapter } package() { + cd chromium-launcher-$_launcher_ver + make PREFIX=/usr DESTDIR="$pkgdir" install + install -Dm644 LICENSE \ + "$pkgdir/usr/share/licenses/chromium/LICENSE.launcher" + cd "$srcdir/chromium/src" install -D out/Ozone/chrome "$pkgdir/usr/lib/chromium/chromium" install -Dm644 out/Ozone/chrome.1 "$pkgdir/usr/share/man/man1/chromium.1" + install -Dm644 "$srcdir/chromium.desktop" \ + "$pkgdir/usr/share/applications/chromium.desktop" + + #install -Dm4755 out/Ozone/chrome_sandbox \ + # "$pkgdir/usr/lib/chromium/chrome-sandbox" - install -Dm4755 out/Ozone/chrome_sandbox \ - "$pkgdir/usr/lib/chromium/chrome-sandbox" +# ,chromedriver,libwidevinecdmadapter.so} \ +# out/Ozone/"*.bin" \ cp -a \ out/Ozone/{chrome_{100,200}_percent,resources}.pak \ - out/Ozone/{*.bin,chromedriver,libwidevinecdmadapter.so} \ + out/Ozone/{*.bin,*.so} \ out/Ozone/locales \ "$pkgdir/usr/lib/chromium/" |