# Contributor: William Pitcock # Maintainer: Unmaintained pkgname=chromium pkgver=17.0.942.0 pkgrel=0 pkgdesc="chromium web browser" url="http://www.chromium.org/" arch="x86 x86_64 arm" license="BSD" depends="xdg-utils" depends_dev="alsa-lib-dev libevent-dev libpng-dev jpeg-dev cairo-dev cups-dev mesa-dev dbus-glib-dev gtk+-dev libxml2-dev freetype-dev libxslt-dev libxtst-dev icu-dev flac-dev speex-dev hunspell-dev libxinerama-dev ffmpeg-dev nss-dev libwebp-dev v8-dev bzip2-dev libevent-dev libvpx-dev sqlite-dev libelf-dev libgcrypt-dev gnutls-dev" makedepends="$depends_dev xdg-utils yasm gperf bison flex perl python" install="" subpackages="$pkgname-doc" source="http://gsdview.appspot.com/chromium-browser-official/chromium-$pkgver.tar.bz2 chromium-c99math.patch chromium-futimens.patch chromium-dlfcn.patch chromium-yasm.patch chromium-no-mit-screensaver.patch chromium-uclibc-resolv.patch chromium-breakpad.patch chromium-webrtc.patch chromium-malloc.patch" _builddir="$srcdir"/chromium-$pkgver CHROMIUM_HOME="/usr/lib/${pkgname}" CHROMIUM_IMAGE="${_builddir}/out/Release" # ugly hack to deal with google shipping weird tarballs unpack() { default_unpack || return 0 } prepare() { local i cd "$_builddir" for i in $source; do case $i in *.patch) msg $i; patch -p1 -i "$srcdir"/$i || return 1;; esac done msg "Stripping Google cruft..." find third_party -type f \! -iname '*.gyp*' \ \! -path 'third_party/WebKit/*' \ \! -path 'third_party/angle/*' \ \! -path 'third_party/cacheinvalidation/*' \ \! -path 'third_party/cld/*' \ \! -path 'third_party/expat/*' \ \! -path 'third_party/ffmpeg/*' \ \! -path 'third_party/flac/flac.h' \ \! -path 'third_party/gpsd/*' \ \! -path 'third_party/harfbuzz/*' \ \! -path 'third_party/hunspell/*' \ \! -path 'third_party/iccjpeg/*' \ \! -path 'third_party/jsoncpp/*' \ \! -path 'third_party/launchpad_translations/*' \ \! -path 'third_party/leveldb/*' \ \! -path 'third_party/leveldatabase/*' \ \! -path 'third_party/libjingle/*' \ \! -path 'third_party/libphonenumber/*' \ \! -path 'third_party/libvpx/*' \ \! -path 'third_party/lss/*' \ \! -path 'third_party/mesa/*' \ \! -path 'third_party/modp_b64/*' \ \! -path 'third_party/mongoose/*' \ \! -path 'third_party/npapi/*' \ \! -path 'third_party/openmax/*' \ \! -path 'third_party/ots/*' \ \! -path 'third_party/protobuf/*' \ \! -path 'third_party/scons-2.0.1/*' \ \! -path 'third_party/sfntly/*' \ \! -path 'third_party/skia/*' \ \! -path 'third_party/smhasher/*' \ \! -path 'third_party/speex/speex.h' \ \! -path 'third_party/sqlite/*' \ \! -path 'third_party/tcmalloc/*' \ \! -path 'third_party/tlslite/*' \ \! -path 'third_party/undoview/*' \ \! -path 'third_party/v8-i18n/*' \ \! -path 'third_party/webdriver/*' \ \! -path 'third_party/webgl_conformance/*' \ \! -path 'third_party/webrtc/*' \ \! -path 'third_party/zlib/contrib/minizip/*' \ -delete || return 1 msg "Hacking source tree to use system V8 headers..." find v8 -type f \! -iname '*.gyp*' -delete || return 1 rmdir v8/include || return 1 ln -s /usr/include v8/include || return 1 } build() { cd "$_builddir" chromium_arch=ia32 test ${CARCH} = x86_64 && chromium_arch=x64 # enabling SSE2 causes psABI breakage. msg "chromium architecture is ${chromium_arch}" GYP_DEFINES="\ werror= \ disable_sse2=1 \ no_strict_aliasing=1 \ linux_sandbox_path=${CHROMIUM_HOME}/chrome_sandbox \ linux_sandbox_chrome_path=${CHROMIUM_HOME}/chrome \ linux_use_tcmalloc=0 \ release_extra_cflags='${CFLAGS}' \ proprietary_codecs=1 \ use_system_libjpeg=1 \ use_system_libxslt=1 \ use_system_libxml=1 \ use_system_bzip2=1 \ use_system_zlib=1 \ use_system_libpng=1 \ use_system_yasm=1 \ use_system_flac=1 \ use_system_libevent=1 \ use_system_icu=1 \ use_system_v8=1 \ use_system_libwebp=1 \ use_system_ffmpeg=1 \ use_system_vpx=1 \ use_system_ssl=0 \ use_system_sqlite=0 \ use_system_speex=1 \ use_system_xdg_utils=1 \ use_cups=1 \ use_gconf=0 \ use_gnome_keyring=0 \ use_kerberos=0 \ linux_link_kerberos=0 \ disable_nacl=1 \ remoting=0 \ target_arch=${chromium_arch}" export GYP_DEFINES msg "setting up makefiles" python build/gyp_chromium -f make --depth=. build/all.gyp msg "building chrome and chrome_sandbox targets" make V=1 BUILDTYPE=Release -j$JOBS chrome chrome_sandbox chromedriver || return 1 } package() { cd "$_builddir" mkdir -p "$pkgdir"/${CHROMIUM_HOME} install -m755 -c "${CHROMIUM_IMAGE}/chrome" "${pkgdir}/${CHROMIUM_HOME}/chrome" install -m755 -c "${CHROMIUM_IMAGE}/chromedriver" "${pkgdir}/${CHROMIUM_HOME}/chromedriver" install -m755 -c "${CHROMIUM_IMAGE}/chrome_sandbox" "${pkgdir}/${CHROMIUM_HOME}/chrome_sandbox" install -m644 -c "${CHROMIUM_IMAGE}/chrome.pak" "${pkgdir}/${CHROMIUM_HOME}/chrome.pak" install -m644 -c "${CHROMIUM_IMAGE}/resources.pak" "${pkgdir}/${CHROMIUM_HOME}/resources.pak" mkdir -p "$pkgdir"/usr/share/man/man1 install -m644 -c "${CHROMIUM_IMAGE}/chrome.1" "${pkgdir}/usr/share/man/man1/chrome.1" ln -sf "chrome.1" "${pkgdir}/usr/share/man/man1/chrome-browser.1" install -d "${pkgdir}"/usr/bin ln -sf "${CHROMIUM_HOME}/chrome" "${pkgdir}/usr/bin/chrome" ln -sf "${CHROMIUM_HOME}/chrome" "${pkgdir}/usr/bin/chrome-browser" ln -sf "${CHROMIUM_HOME}/chrome" "${pkgdir}/usr/bin/chromium" ln -sf "${CHROMIUM_HOME}/chrome" "${pkgdir}/usr/bin/chromium-browser" } md5sums="5660529559b1845217b679a883160873 chromium-17.0.942.0.tar.bz2 320d611dba59a881a4f178df743c4912 chromium-c99math.patch 1328245f1f21cf3abf54223ed06a70f4 chromium-futimens.patch 768d2ca4daa2db611fd4aeb561701f4e chromium-dlfcn.patch 76cb0975e631d54fb57bd298041cec05 chromium-yasm.patch 327850010ae407477083b91a4e04af51 chromium-no-mit-screensaver.patch 441bcd9fc987e290c610e2f1bbfb75f8 chromium-uclibc-resolv.patch f6531589ce894fcd9b6f4917e83cd3aa chromium-breakpad.patch 6257d567f83ad591360c3de4f9073725 chromium-webrtc.patch 42f0beecf6a9e4e65c88b5acb77d8a51 chromium-malloc.patch"