blob: 821ba39b24285dfdb8ead12380713039d7362d9e (
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
|
# $Id: PKGBUILD 170409 2012-11-07 11:29:05Z foutrelis $
# Maintainer: Evangelos Foutras <evangelos@foutrelis.com>
# Contributor: Pierre Schmitz <pierre@archlinux.de>
# Contributor: Jan "heftig" Steffens <jan.steffens@gmail.com>
# Contributor: Daniel J Griffiths <ghost1227@archlinux.us>
pkgname=chromium
pkgver=23.0.1271.64
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://www.chromium.org/"
license=('BSD')
depends=('gtk2' 'dbus-glib' 'nss' 'alsa-lib' 'xdg-utils' 'bzip2' 'libevent'
'libxss' 'libgcrypt' 'ttf-dejavu' 'desktop-file-utils'
'hicolor-icon-theme')
makedepends=('python2' 'perl' 'gperf' 'yasm' 'mesa' 'libgnome-keyring'
'elfutils' 'subversion' 'nacl-toolchain-newlib')
optdepends=('kdebase-kdialog: needed for file dialogs in KDE')
backup=('etc/chromium/default')
install=chromium.install
source=(http://commondatastorage.googleapis.com/chromium-browser-official/$pkgname-$pkgver.tar.bz2
chromium.desktop
chromium.default
chromium.sh
chromium-20.0.1132.57-glib-2.16-use-siginfo_t.patch
chromium-ppapi-r0.patch)
sha256sums=('e894bb22d4747c69fc34b181be3a25e20fd9599ed93f08779df600fe3402ffe7'
'09bfac44104f4ccda4c228053f689c947b3e97da9a4ab6fa34ce061ee83d0322'
'478340d5760a9bd6c549e19b1b5d1c5b4933ebf5f8cfb2b3e2d70d07443fe232'
'4999fded897af692f4974f0a3e3bbb215193519918a1fa9b31ed51e74a2dccb9'
'c1baf14121502efbc2a31b64029dcafa0e28ca5b71ad0e28a3c6342d18198615'
'1f4b57670d317959bc2dc60e5d2a44aa8fc6028f7ed540cdb502fa0aa99c81bd')
build() {
cd "$srcdir/chromium-$pkgver"
# Fix build with glibc 2.16
patch -Np1 -i "$srcdir/chromium-20.0.1132.57-glib-2.16-use-siginfo_t.patch"
# Fix build without NaCl glibc toolchain (patch from Gentoo)
patch -Np0 -i "$srcdir/chromium-ppapi-r0.patch"
# http://code.google.com/p/chromium/issues/detail?id=109527
sed -i 's|glib/gutils.h|glib.h|' ui/base/l10n/l10n_util.cc
# Missing gyp files in tarball (http://crbug.com/144823)
sed -i '/nacl_test_data\.gyp/d' chrome/chrome_tests.gypi
# Use Python 2
find . -type f -exec sed -i -r \
-e 's|/usr/bin/python$|&2|g' \
-e 's|(/usr/bin/python2)\.4$|\1|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"
export PATH="$srcdir/python2-path:$PATH"
# Prepare NaCL toolchain
mkdir -p sdk native_client/toolchain/.tars
cp -a /usr/lib/nacl-toolchain-newlib sdk/nacl-sdk
tar czf native_client/toolchain/.tars/naclsdk_linux_x86.tgz sdk
rm -r sdk
# CFLAGS are passed through release_extra_cflags below
export -n CFLAGS CXXFLAGS
# Silence "identifier 'nullptr' is a keyword in C++11" warnings
CFLAGS+=' -Wno-c++0x-compat'
build/gyp_chromium --depth=. \
-Dwerror= \
-Dlinux_sandbox_path=/usr/lib/chromium/chromium-sandbox \
-Dlinux_strip_binary=1 \
-Dlinux_use_gold_binary=0 \
-Dlinux_use_gold_flags=0 \
-Drelease_extra_cflags="$CFLAGS" \
-Dffmpeg_branding=Chrome \
-Dproprietary_codecs=1 \
-Duse_system_bzip2=1 \
-Duse_system_ffmpeg=0 \
-Duse_system_libevent=1 \
-Duse_system_libjpeg=1 \
-Duse_system_libpng=1 \
-Duse_system_libxml=0 \
-Duse_system_ssl=0 \
-Duse_system_yasm=1 \
-Duse_system_zlib=0 \
-Duse_gconf=0 \
-Ddisable_glibc=1 \
-Ddisable_pnacl=1 \
-Ddisable_sse2=1
make chrome chrome_sandbox BUILDTYPE=Release
}
package() {
cd "$srcdir/chromium-$pkgver"
install -D out/Release/chrome "$pkgdir/usr/lib/chromium/chromium"
install -Dm4755 -o root -g root out/Release/chrome_sandbox \
"$pkgdir/usr/lib/chromium/chromium-sandbox"
cp out/Release/{*.pak,libffmpegsumo.so,nacl_helper{,_bootstrap}} \
out/Release/{libppGoogleNaClPluginChrome.so,nacl_irt_*.nexe} \
"$pkgdir/usr/lib/chromium/"
if [[ $CARCH == i686 ]]; then
rm "$pkgdir/usr/lib/chromium/nacl_irt_x86_64.nexe"
fi
# Allow users to override command-line options
install -Dm644 "$srcdir/chromium.default" "$pkgdir/etc/chromium/default"
cp -a out/Release/locales "$pkgdir/usr/lib/chromium/"
install -Dm644 out/Release/chrome.1 "$pkgdir/usr/share/man/man1/chromium.1"
install -Dm644 "$srcdir/chromium.desktop" \
"$pkgdir/usr/share/applications/chromium.desktop"
for size in 22 24 48 64 128 256; do
install -Dm644 "chrome/app/theme/chromium/product_logo_$size.png" \
"$pkgdir/usr/share/icons/hicolor/${size}x${size}/apps/chromium.png"
done
for size in 16 32; do
install -Dm644 "chrome/app/theme/default_100_percent/chromium/product_logo_$size.png" \
"$pkgdir/usr/share/icons/hicolor/${size}x${size}/apps/chromium.png"
done
install -D "$srcdir/chromium.sh" "$pkgdir/usr/bin/chromium"
install -Dm644 LICENSE "$pkgdir/usr/share/licenses/chromium/LICENSE"
}
# vim:set ts=2 sw=2 et:
|