blob: 1372d9e1d21d62e95738e4fe4aa2388256a8184f (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
|
# 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"
|