aboutsummaryrefslogtreecommitdiffstats
path: root/testing/firefox/APKBUILD
blob: bc489ce30cad8b02c6256996ecb4e1a61f7f5d35 (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
229
230
231
232
233
234
# Contributor: William Pitcock <nenolod@dereferenced.org>
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname=firefox
pkgver=48.0.2
_pkgver=$pkgver
_xulver=$pkgver
pkgrel=0
pkgdesc="Firefox web browser"
url="http://www.firefox.com"
arch="all !aarch64"
license="GPL LGPL MPL"
depends=""
depends_dev="
	alsa-lib-dev
	bzip2-dev
	dbus-glib-dev
	gconf-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
	autoconf2.13
	automake
	bsd-compat-headers
	libtool
	paxmark
	python
	sed
	yasm
	zip
	"

install=""
subpackages="$pkgname-dev"
source="https://ftp.mozilla.org/pub/firefox/releases/$pkgver/source/firefox-$pkgver.source.tar.xz
	mozconfig
	vendor.js
	stab.h

	0002-Use-C99-math-isfinite.patch
	fix-arm-atomics-grsec.patch
	fix-toolkit.patch
	fix-tools.patch
	fix-seccomp-bpf.patch
	mozilla-build-arm.patch
	disable-moz-stackwalk.patch
	disable-hunspell_hooks.patch

	rhbz-966424.patch
	fix-fortify-inline.patch
	fix-fortify-system-wrappers.patch
	allow-utf8-fallback.patch
	libavutil.patch
	mallinfo.patch
	firefox-gtk3-20.patch

	firefox.desktop
	firefox-safe.desktop"

_builddir="${srcdir}/firefox-$pkgver"
_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') -DBROTLI_BUILD_PORTABLE"
	export CXXFLAGS="$CFLAGS"
	export SHELL=/bin/sh

	# 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
	paxmark "$paxflags" "$pkgdir"/$_mozappdir/plugin-container || 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

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="bd6410592a8c608c0f771c056351493c  firefox-48.0.2.source.tar.xz
bf933892f1f004b253a644b72fd0ae84  mozconfig
99b27aeac58923f318d083e5e71879ba  vendor.js
4383d038b8d8411ea46f4a109197c19e  stab.h
6ab77b80c8c7d6fd07ab53c54561f4df  0002-Use-C99-math-isfinite.patch
b18bd948aae828e5c8f5f63e440c96d6  fix-arm-atomics-grsec.patch
d46da3e75dfc3abd38d6191d26fea3f1  fix-toolkit.patch
4ee6ff4b8961315a1b18932abb75a12d  fix-tools.patch
aed3b88014fbfbe73db79851e52ca7fa  fix-seccomp-bpf.patch
308ba5b54116a035fe68d0d5c3974857  mozilla-build-arm.patch
4c7a5a634e53c05d8cc67cbd40a3174e  disable-moz-stackwalk.patch
16b597e346d2172b4dea7b47382017f4  disable-hunspell_hooks.patch
15ebeeeb6823c185f4fed98e9bf1b786  rhbz-966424.patch
f29e0036edc7b3a4158a82fa97bde500  fix-fortify-inline.patch
9aba3811121f113fe547947591802d2b  fix-fortify-system-wrappers.patch
1feef5ea2fd5acc2a71a29350754d006  allow-utf8-fallback.patch
b8b2a3cdb38f402e4eb4885908233811  libavutil.patch
0db0cce8350d59a91ae2c4f0400f7146  mallinfo.patch
dd5ebfe5142855540bbd2b9164767a9b  firefox-gtk3-20.patch
ba96924ece1d77453e462429037a2ce5  firefox.desktop
6f38a5899034b7786cb1f75ad42032b8  firefox-safe.desktop"
sha256sums="6efbe0cc8dd120f16ff6d9394d96ea1b13bf6b4163d3b25d4210e06d23ea44b3  firefox-48.0.2.source.tar.xz
13af3dba823cd4237106d844f0feb0fbbd973762547efb47f5adc2309438ad0b  mozconfig
afecb8c17a2bedafe600dd572d24eff24e540cda02f675705d11168040379ce6  vendor.js
960d82bbfdc88c95f5cb4f2e1c1bf23dae7519b3b7203914d7b3ddbff1ba4c28  stab.h
080a55182b865471a86fa4b70a66ed9495f1e536f7fdc4060cb8c675b4749c6e  0002-Use-C99-math-isfinite.patch
ff7cb3c9c4712e0517a6f11e3bf08e9b0d13dbe6384930bdc7f55b1ceed039b5  fix-arm-atomics-grsec.patch
485297df325002728c15a87077ef6f762fa057265ca8d977c13fa0ffdc4028dd  fix-toolkit.patch
6162d1508ab0afa52684ae955fb8a18b14ae9501d32167c9faa75af249e27935  fix-tools.patch
517d95225b3323c373c11da6ab867deb76ffdb0b50c1762bdd893abd9b39d4c9  fix-seccomp-bpf.patch
6f5f5e4d2a17182b72b248e896450235ccdaf63252fdb89a8deb55da8adc9be3  mozilla-build-arm.patch
d87bbd011ec499f93119223360cd79afc628e5f0d020c4e8f0039627c85017e7  disable-moz-stackwalk.patch
3325749c2554aa24bb376358153fa2f6ca28809e9db2fa5308620e3689aa24b2  disable-hunspell_hooks.patch
a50d15a640f230a2c66e1eb2afd2bed4117605d0f1591dcfec1ca30f0bc2352f  rhbz-966424.patch
ecf808ef1bc2920f6f7a4786fafb46c74e8a2c3bc628f28f10d6e8e1a265e609  fix-fortify-inline.patch
cd19195cb4c316ad9f7d377cd8581218c888863b1bc4d112c97f48a4425fb946  fix-fortify-system-wrappers.patch
a1ba79ec0c50c19edcfb24bb2686a718a77b02035e412989b9208b9b818abe14  allow-utf8-fallback.patch
83113f1fbc0389602b3623e8a5428d41837c4ec9557615c37ca05619526a7404  libavutil.patch
2f564fa5f347f3c7f20d589ef273f000ca9c9aeca2c6ad0fb5b15bfc715d8b81  mallinfo.patch
c984c8bda3c173349d98f3fa71ec8ff8e8b74e6ca20a3f39f33596dbb4c4d1e8  firefox-gtk3-20.patch
b571c4a49884a3c98806246c9cc3e60c73d5a8f4aeb7f96217db0be1d6210eda  firefox.desktop
4b6de45753856a890f4482055666e77f9b01bdfb7e0df08bafaa3a4d9937eed3  firefox-safe.desktop"
sha512sums="d5addb0cd01e2aeb0fd9387800e82e385f3986716887840322d261d772a442f6fdb1d910cd53f2373f0fb82ed0b2a45356ac83f3ef230e14a2b9db8999ad8a4e  firefox-48.0.2.source.tar.xz
9eb1ec4b892e736f9f23e3921e4e3a0a8726821180450dc474037de3030c4f2f4fe7b0e0aa07b619bb88b9234ab4508008ea9b04875dc5ee2658810dbf40fc81  mozconfig
cc10dba32d9c7faf1d99b8fdebc71bf0200ad10b976105edb45df696bf64a668b2b7aa8c3892a8056eb71fb071b0e0ae51c3ce2fb75acfb7e7035104c0e4fce3  vendor.js
0b3f1e4b9fdc868e4738b5c81fd6c6128ce8885b260affcb9a65ff9d164d7232626ce1291aaea70132b3e3124f5e13fef4d39326b8e7173e362a823722a85127  stab.h
7e123144bc2b1efed149dfb41b255c447d43ea93a63ebe114d01945e6a6d69edc2f2a3c36980a93279106c1842355851b8b6c1d96679ee6be7b9b30513e0b1a8  0002-Use-C99-math-isfinite.patch
4311464ae52b6d2e2b02c789c6d5fca9b3c211888a983aa609a62c2f2554516fea735ea90673387c69b38a30aa8453ed79faa44b5163df4293880d40df676b2d  fix-arm-atomics-grsec.patch
a2925045154f4fd34e5fc056656f4f9da100341529e5d4104d249154db0c7863384083f421ce6e47e0f20566a8b20787fa35444c7933c03cd03f96f06dcd4532  fix-toolkit.patch
bc112a134618ffb8173af6a5c7d8e99500fd70e5773c780fac8175a5859bb0247cfb13fe01d02e0c89a6c272385b85a6139b6c597888752b7bdef1ba5e79b7f9  fix-tools.patch
70863b985427b9653ce5e28d6064f078fb6d4ccf43dd1b68e72f97f44868fc0ce063161c39a4e77a0a1a207b7365d5dc7a7ca5e68c726825eba814f2b93e2f5d  fix-seccomp-bpf.patch
e61664bc93eadce5016a06a4d0684b34a05074f1815e88ef2613380d7b369c6fd305fb34f83b5eb18b9e3138273ea8ddcfdcb1084fdcaa922a1e5b30146a3b18  mozilla-build-arm.patch
c69cdb2d6c66180d6a67c386b862a5ed953aab4db434b054c9e1e6702bcc56ba219a4cb22747d9c891040a286388168e0cf5ca28a503389cd9708012fddf6c2b  disable-moz-stackwalk.patch
0fcc647af53a3ce21c2bc36e5631eb0935e7243ebb3ab59b5719542cc54a6ac023a4a857b43b75756efb9ed80c0aecaa94dc5679a3b3792f82e87bf2c1af82e1  disable-hunspell_hooks.patch
06ededcd196af98b77991dcba3b710b0dfc061404adb4676fcc380be80410a2621f64d67257b0aefdf36f566e0ea1294b5405b7b4db43e83281a1c64d02da579  rhbz-966424.patch
09bc32cf9ee81b9cc6bb58ddbc66e6cc5c344badff8de3435cde5848e5a451e0172153231db85c2385ff05b5d9c20760cb18e4138dfc99060a9e960de2befbd5  fix-fortify-inline.patch
2a967e4619fd89a046bd40be7fdcef646fcb1eba5e47afc96aa1d59c25bcc8747cb07baee6c11f3b803db0981aced181534b806778e4d21e74958f5f4d74c784  fix-fortify-system-wrappers.patch
ebbc2b1336197c289e9b7c073d196fb5734e1dad0109fe70538f8089b1873e4b55305cd39cefcf95cd4eb36715be6dff298856c496616e935ff5579452e62b09  allow-utf8-fallback.patch
2213dbd7eb36f954add09977c0bb979aea79376164bc98d7e8957ecf584776bc11cc88b6d8235f9e04ac69d5975a47c2f52fd9aff9076326f15997657af8c9f3  libavutil.patch
bdcd1b402d2ec94957ba5d08cbad7b1a7f59c251c311be9095208491a05abb05a956c79f27908e1f26b54a3679387b2f33a51e945b650671ad85c0a2d59a5a29  mallinfo.patch
161a1151b817d82e14923c8aa0cf31a7c36379f0c2c6b5a8407b804db9fe78d86142911b00e6d232d7ca3b241d6ad6a451d67823484ba9d011cc96ce821c3ce0  firefox-gtk3-20.patch
f3b7c3e804ce04731012a46cb9e9a6b0769e3772aef9c0a4a8c7520b030fdf6cd703d5e9ff49275f14b7d738fe82a0a4fde3bc3219dff7225d5db0e274987454  firefox.desktop
5dcb6288d0444a8a471d669bbaf61cdb1433663eff38b72ee5e980843f5fc07d0d60c91627a2c1159215d0ad77ae3f115dcc5fdfe87e64ca704b641aceaa44ed  firefox-safe.desktop"