blob: 5f9a7a8fc35ee8a172f567a8fbf43aa15d453167 (
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
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
|
# Contributor: William Pitcock <nenolod@dereferenced.org>
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname=firefox
pkgver=38.0
_pkgver=$pkgver
_xulver=$pkgver
pkgrel=0
pkgdesc="Firefox web browser"
url="http://www.firefox.com"
arch="all"
license="GPL LGPL MPL"
depends=""
depends_dev="
alsa-lib-dev
bzip2-dev
dbus-glib-dev
gst-plugins-base1-dev
gstreamer1-dev
gtk+2.0-dev
hunspell-dev
icu-dev
libevent-dev
libidl-dev
libjpeg-turbo-dev
libnotify-dev
libogg-dev
libtheora-dev
libvorbis-dev
libvpx-dev
libxt-dev
libxcomposite-dev
mesa-dev
nspr-dev
nss-dev
sqlite-dev
startup-notification-dev
wireless-tools-dev
"
makedepends="$depends_dev
autoconf
automake
bsd-compat-headers
libtool
paxmark
python
sed
yasm
zip
"
install=""
subpackages="$pkgname-dev"
source="ftp://ftp.mozilla.org/pub/firefox/releases/$pkgver/source/firefox-$pkgver.source.tar.bz2
mozconfig
vendor.js
0002-Use-C99-math-isfinite.patch
fix-arm-atomics-grsec.patch
fix-ipc.patch
fix-media.patch
fix-netwerk.patch
fix-toolkit.patch
fix-tools.patch
fix-linux-include.patch
getchar.patch
mozilla-build-arm.patch
stat.patch
stab.h
rhbz-966424.patch
fix-fortify-inline.patch
firefox.desktop
firefox-safe.desktop"
_builddir="${srcdir}/mozilla-release"
_mozappdir=/usr/lib/firefox-$pkgver
_mozappdirdev=/usr/lib/firefox-devel-$pkgver
# help our shared-object scanner to find the libs
ldpath="$_mozappdir"
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
cp "$srcdir"/stab.h toolkit/crashreporter/google-breakpad/src/
cp "${srcdir}/mozconfig" .mozconfig
}
build() {
cd "$_builddir"
# mozilla's buildsystem is on drugs
export CFLAGS="$(echo $CFLAGS | sed -e 's/-Wall//' -e 's/-fexceptions/-fno-exceptions/g')"
export CXXFLAGS="$CFLAGS"
# set rpath so linker finds the libs
export LDFLAGS="$LDFLAGS -Wl,-rpath,${_mozappdir}"
make -f client.mk build \
STRIP="/bin/true" \
|| return 1
}
package() {
cd "$_builddir"
# only used for startupcache creation.
local paxflags="-msp"
paxmark "$paxflags" */dist/bin/xpcshell || return 1
make -j1 -f client.mk install \
DESTDIR="$pkgdir" \
MOZ_MAKE_FLAGS="$MAKEOPTS" \
|| return 1
install -m755 -d ${pkgdir}/usr/share/applications
install -m755 -d ${pkgdir}/usr/share/pixmaps
install -m644 "$_builddir"/browser/branding/official/default48.png \
${pkgdir}/usr/share/pixmaps/firefox.png || return 1
install -m644 ${srcdir}/firefox.desktop ${pkgdir}/usr/share/applications/firefox.desktop
install -m644 ${srcdir}/firefox-safe.desktop ${pkgdir}/usr/share/applications/firefox-safe.desktop
# firefox currently does not work with mprotect. disable it for now
local paxflags="-mp"
[ "$CARCH" = "x86" ] && paxflags="-msp"
paxmark "$paxflags" "$pkgdir"/$_mozappdir/firefox || return 1
# xulrunner stub launcher has changed to using a symlink overlay...
# go figure
ln -sf /usr/lib/xulrunner-${_xulver} ${pkgdir}/$_mozappdir/xulrunner
# launcher as symlink is broken from firefox-7.0
rm "$pkgdir"/usr/bin/firefox || return 1
libgl=$(scanelf -qF '#F%S' /usr/lib/libGL.so)
cat > "$pkgdir"/usr/bin/firefox << __EOF__
#!/bin/sh
# as a workaround for libGL's initial-exec TLS we preload libgl
# https://bugs.freedesktop.org/show_bug.cgi?id=35268
LD_PRELOAD=$libgl exec $_mozappdir/firefox "\$@"
__EOF__
chmod 755 "$pkgdir"/usr/bin/firefox
# install our vendor prefs
install -d "$pkgdir"/$_mozappdir/browser/defaults/preferences
cat "$srcdir"/vendor.js >> "$pkgdir"/$_mozappdir/browser/defaults/preferences/firefox-branding.js
# remove copied, huge, libraries
rm -f "$pkgdir"/${_mozappdirdev}/sdk/lib/libmozjs.so
rm -f "$pkgdir"/${_mozappdirdev}/sdk/lib/libmozalloc.so
rm -f "$pkgdir"/${_mozappdirdev}/sdk/lib/libxul.so
}
dev() {
mkdir -p "$subpkgdir"/${_mozappdirdev%/*}
mv "$pkgdir"/${_mozappdirdev} "$subpkgdir"/${_mozappdirdev%/*} \
|| return 1
default_dev
}
md5sums="28030dd8c3e84f05c3e362d70c657c9b firefox-38.0.source.tar.bz2
1f4c60e662ed93784431bd06c5141719 mozconfig
1515663477ce427cbdc42f04d8d5ca4e vendor.js
6ab77b80c8c7d6fd07ab53c54561f4df 0002-Use-C99-math-isfinite.patch
b18bd948aae828e5c8f5f63e440c96d6 fix-arm-atomics-grsec.patch
0c453c2e058ac568e0148c02b1c09abd fix-ipc.patch
f8bc97333847f37597c0bac0dca64eb2 fix-media.patch
170b8e7f8cab21f0965f226c291a57f9 fix-netwerk.patch
296954be4c6d6bfcc24d0a46a2bd7d74 fix-toolkit.patch
2279c55a85013fc1c0d01427768edd4d fix-tools.patch
2f0b995b1313884b10e4a61c2ce2cd01 fix-linux-include.patch
507742325de8687529e4e81e31132ddf getchar.patch
308ba5b54116a035fe68d0d5c3974857 mozilla-build-arm.patch
d9a2245b93a7f5855ee029b5fa44e4e9 stat.patch
4383d038b8d8411ea46f4a109197c19e stab.h
15ebeeeb6823c185f4fed98e9bf1b786 rhbz-966424.patch
f29e0036edc7b3a4158a82fa97bde500 fix-fortify-inline.patch
ba96924ece1d77453e462429037a2ce5 firefox.desktop
6f38a5899034b7786cb1f75ad42032b8 firefox-safe.desktop"
sha256sums="0f2877fe4528a91c19e89249c19b13bac846d7b9f9f6528abb7d8387197c31f3 firefox-38.0.source.tar.bz2
23c2b4535ce83c92ba978e15ce328c9f140def155d12523c00df30baf41b98dc mozconfig
d72ca759792cc8c88efc664d30087a139fed7fc3d7d058e4cd9ab287bb80ea46 vendor.js
080a55182b865471a86fa4b70a66ed9495f1e536f7fdc4060cb8c675b4749c6e 0002-Use-C99-math-isfinite.patch
ff7cb3c9c4712e0517a6f11e3bf08e9b0d13dbe6384930bdc7f55b1ceed039b5 fix-arm-atomics-grsec.patch
fa7d50f399b6fc1ec1c007cabadc5c0cb9e1daf92c7f6ad89f651b8ce268c765 fix-ipc.patch
c1d0fbcf5e8610df9adc66ea956753e7d495e8ed2d1c1e06d183f4680c85db97 fix-media.patch
4a2f8ff5e9b1359541eba8854098cee2caeb40ad9dbdc4b8fcf48b47ea8ca2d2 fix-netwerk.patch
666883189dba3f4c7ba6b5bc85026c85bcb84477c2d5ba00d6414ddd0f744368 fix-toolkit.patch
60ed0870119480994c6c455034c52dd21b8482b7617c3a0032e3b2abf4467e4d fix-tools.patch
a3a6291888819e0f10e3ca05b2979093b32c723c4bf67b19ea1ab14555085236 fix-linux-include.patch
d14357bf44f702d94b8d3ed79bdf81f6271370745c1ac8fa83522bd98be4adc4 getchar.patch
6f5f5e4d2a17182b72b248e896450235ccdaf63252fdb89a8deb55da8adc9be3 mozilla-build-arm.patch
a0f8a0fa9977ee43f3853b6c6bf5a506fdfabdfa32b4279e0ac3d7a3078f34cc stat.patch
960d82bbfdc88c95f5cb4f2e1c1bf23dae7519b3b7203914d7b3ddbff1ba4c28 stab.h
a50d15a640f230a2c66e1eb2afd2bed4117605d0f1591dcfec1ca30f0bc2352f rhbz-966424.patch
ecf808ef1bc2920f6f7a4786fafb46c74e8a2c3bc628f28f10d6e8e1a265e609 fix-fortify-inline.patch
b571c4a49884a3c98806246c9cc3e60c73d5a8f4aeb7f96217db0be1d6210eda firefox.desktop
4b6de45753856a890f4482055666e77f9b01bdfb7e0df08bafaa3a4d9937eed3 firefox-safe.desktop"
sha512sums="39e2ac45580a58e6b3c9c44afc75314c7017fafa85a1f96629e63451fe31a9ab7f448263933a760cc8127f4fee4e362b927af025137642c819639c96d60a93bc firefox-38.0.source.tar.bz2
e14b4a646230f7a752ef864b0e6a074fdac74d6c4abde2c31656eb10ac6f002a5c664d257bf3f4bd22544f10103e38d5fae49f84fcaae402b81940e72bcfe0e5 mozconfig
93570f821e59af4d233fc4b1df85e1d145a5e041ad402fd72921987a5a2f5218538d7a13d59bbf0bda5e7df1d5281407674a3765625936340106d1185b15b5d8 vendor.js
7e123144bc2b1efed149dfb41b255c447d43ea93a63ebe114d01945e6a6d69edc2f2a3c36980a93279106c1842355851b8b6c1d96679ee6be7b9b30513e0b1a8 0002-Use-C99-math-isfinite.patch
4311464ae52b6d2e2b02c789c6d5fca9b3c211888a983aa609a62c2f2554516fea735ea90673387c69b38a30aa8453ed79faa44b5163df4293880d40df676b2d fix-arm-atomics-grsec.patch
6419b3ec12c775c8bbce2c5737e68bb6c93f5b6c69af65b4fbbc525de3e2022def61943ab713c278aff9a6c27c1df1e19fb94940a755a94f6b40fd0492fae228 fix-ipc.patch
f4d1b0814247cdfe1655a0f345def4f80bd66f37ae5b0edc2cd6b8358e39e9a1bcc0a4ed7d1c4074a1302fb027a2f8be549225c5f4f56caf2513c968ed05d666 fix-media.patch
8a896ee4d1465a844351cec84217de1a28b9f27bfc1e34cc71368664b5b8804bd66bdcadc78c78ee365abd1d0cafed1e6c568045c93cb78ac94e2818f503d58c fix-netwerk.patch
72459754016f254c58d56d9a8719897fa8da9cf969eaa498e1e755457942d3f0ac56e4abd3f6a66ef924c94aa034d0af18a1fb653926b2496f0c2615fdb24c5e fix-toolkit.patch
426b57ce698de3eecd1b52f2998974c4e0b5922584b09b554d436c61fee039d1f86345e746fee067801ebbf50815c4d19b96266a2ed72a35ae5c3edbdb57bba1 fix-tools.patch
2c3319fd625c5d183e310ce6a27ec35e91caafd2206b7b992a539924f9bdb001b0340f1f4451650d4d968134ad35ba1f955cacfff10cb58980f27c42c90d280d fix-linux-include.patch
18f0696bf4d032c83041110b83ae6531b48474a778fc1deade3b06ba2ae1bfcc9891059287bfb78317c2f5ddc88f5b7ce957312acdb63d4902a57e0b40eb6520 getchar.patch
e61664bc93eadce5016a06a4d0684b34a05074f1815e88ef2613380d7b369c6fd305fb34f83b5eb18b9e3138273ea8ddcfdcb1084fdcaa922a1e5b30146a3b18 mozilla-build-arm.patch
1a8754830dbbf5432a611504c957c4ff24fdc31dc1a5ee7cdd4240bc5c084baa26a24f18527ff398ec81e56a36aee31732138243cf22a6bab89703656ff463e7 stat.patch
0b3f1e4b9fdc868e4738b5c81fd6c6128ce8885b260affcb9a65ff9d164d7232626ce1291aaea70132b3e3124f5e13fef4d39326b8e7173e362a823722a85127 stab.h
06ededcd196af98b77991dcba3b710b0dfc061404adb4676fcc380be80410a2621f64d67257b0aefdf36f566e0ea1294b5405b7b4db43e83281a1c64d02da579 rhbz-966424.patch
09bc32cf9ee81b9cc6bb58ddbc66e6cc5c344badff8de3435cde5848e5a451e0172153231db85c2385ff05b5d9c20760cb18e4138dfc99060a9e960de2befbd5 fix-fortify-inline.patch
f3b7c3e804ce04731012a46cb9e9a6b0769e3772aef9c0a4a8c7520b030fdf6cd703d5e9ff49275f14b7d738fe82a0a4fde3bc3219dff7225d5db0e274987454 firefox.desktop
5dcb6288d0444a8a471d669bbaf61cdb1433663eff38b72ee5e980843f5fc07d0d60c91627a2c1159215d0ad77ae3f115dcc5fdfe87e64ca704b641aceaa44ed firefox-safe.desktop"
|