2011-11-25 08:14:48 +00:00

184 lines
6.0 KiB
Plaintext

# Contributor: William Pitcock <nenolod@dereferenced.org>
# Maintainer: Unmaintained <unmaintained@alpinelinux.org>
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"