summarylogtreecommitdiffstats
path: root/PKGBUILD
diff options
context:
space:
mode:
authorJonas Heinrich2017-11-18 20:41:55 +0100
committerJonas Heinrich2017-11-18 20:41:55 +0100
commit190dd67272a7c20b6f3b90d11cd70584d0bffeb2 (patch)
tree589b6fc529589e31800158733de5ce134f951570 /PKGBUILD
parent9e84c5afbdfc88afb98b68005076ea0b35e62ce3 (diff)
downloadaur-190dd67272a7c20b6f3b90d11cd70584d0bffeb2.tar.gz
fixed compile bugs
Diffstat (limited to 'PKGBUILD')
-rw-r--r--PKGBUILD184
1 files changed, 130 insertions, 54 deletions
diff --git a/PKGBUILD b/PKGBUILD
index 04d22408472e..fa5e884df6c3 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -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/"