aboutsummaryrefslogblamecommitdiffstats
path: root/community/firefox-esr/APKBUILD
blob: 7da20dde13b27d353b56af1a085fe46d3cffe0c7 (plain) (tree)
1
2
3
4
5
6
7
8
9
                                                         
                                                   
                   
             
               
               
        
                             
                                                              
          
                      




                     
                 






















                                
                    
                
                          
               
               
               




            
          
                          
                                                                                                          
                 
                 


                                        
                                    

                         
                             
                               
                                   


                         
                                
                                         


                                 
                                  
 

                             
 
                                          
                                   



                                                 
 


               
                                   





                                                                        
                                                                      






                                           

                                                                                                  
                                                                                                        
                            
 

                                                          
                                 
                                   
                           



                       


                                              
                                                           
 



                                            


                                                         

                                                                            

                                                                                                          

                                                                           
                            

                                               
                                                                     
                                                                              






                                                                            
                                                     

                                                  
 
                              

                                           

                                  
                                                                     
                                                                                                         




                                                               

 




                                                                        

 
                                                                          
                                           
                                           
                                                                  
                                                             
                                                              


                                                       
                                                         
                                                             

                                                   
                                                          
                                                                   


                                                           
                                                            

                                                       
                                                                                                             
                                                                           
                                                                           
                                                                                                  
                                                                                             
                                                                                              


                                                                                       
                                                                                         
                                                                                             

                                                                                   
                                                                                          
                                                                                                   


                                                                                           
                                                                                            

                                                                                       
                                                                                                                                                                             
                                                                                                                                           
                                                                                                                                           
                                                                                                                                                                  
                                                                                                                                                             
                                                                                                                                                              


                                                                                                                                                       
                                                                                                                                                         
                                                                                                                                                             

                                                                                                                                                   
                                                                                                                                                          
                                                                                                                                                                   


                                                                                                                                                           
                                                                                                                                                            

                                                                                                                                                       
# Contributor: William Pitcock <nenolod@dereferenced.org>
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname=firefox-esr
pkgver=45.4.0
_pkgver=$pkgver
_xulver=$pkgver
pkgrel=0
pkgdesc="Firefox web browser"
url="https://www.mozilla.org/en-US/firefox/organizations/faq/"
arch="all"
license="GPL LGPL MPL"
depends=""
depends_dev="
	alsa-lib-dev
	bzip2-dev
	dbus-glib-dev
	gconf-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
	autoconf2.13
	automake
	bsd-compat-headers
	libtool
	paxmark
	python2
	sed
	yasm
	zip
	"

install=""
subpackages="$pkgname-dev"
source="http://ftp.mozilla.org/pub/firefox/releases/${pkgver}esr/source/firefox-${pkgver}esr.source.tar.xz
	mozconfig
	vendor.js

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

	rhbz-966424.patch
	fix-fortify-inline.patch
	fix-fortify-system-wrappers.patch
	allow-utf8-fallback.patch
	libavutil.patch
	mallinfo.patch
	gcc6-fix-compilation.patch

	firefox.desktop
	firefox-safe.desktop"

_builddir="${srcdir}/firefox-${pkgver}esr"
_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" || return 1

	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 -fno-delete-null-pointer-checks -fno-lifetime-dse -fno-schedule-insns2"
	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="20358acfbb9e11782940c180fd2b1528  firefox-45.4.0esr.source.tar.xz
1f4c60e662ed93784431bd06c5141719  mozconfig
99b27aeac58923f318d083e5e71879ba  vendor.js
6ab77b80c8c7d6fd07ab53c54561f4df  0002-Use-C99-math-isfinite.patch
b18bd948aae828e5c8f5f63e440c96d6  fix-arm-atomics-grsec.patch
d209d8fc7c4f06d94e4bda097c0178bf  fix-arm-version-detect.patch
94ae976a54d1f84bf13d059c1e44ddf5  fix-toolkit.patch
fe88db05a9a1adfd79babd137b0e8de8  fix-tools.patch
aed3b88014fbfbe73db79851e52ca7fa  fix-seccomp-bpf.patch
308ba5b54116a035fe68d0d5c3974857  mozilla-build-arm.patch
4c7a5a634e53c05d8cc67cbd40a3174e  disable-moz-stackwalk.patch
4383d038b8d8411ea46f4a109197c19e  stab.h
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
c35d743dd706093ff5aa7dbb7e6168bb  gcc6-fix-compilation.patch
ba96924ece1d77453e462429037a2ce5  firefox.desktop
6f38a5899034b7786cb1f75ad42032b8  firefox-safe.desktop"
sha256sums="cfd90096b9e1019b9de4fe061ece8c65f668b8a24bcbb657ce6b3c940ef83ad0  firefox-45.4.0esr.source.tar.xz
23c2b4535ce83c92ba978e15ce328c9f140def155d12523c00df30baf41b98dc  mozconfig
afecb8c17a2bedafe600dd572d24eff24e540cda02f675705d11168040379ce6  vendor.js
080a55182b865471a86fa4b70a66ed9495f1e536f7fdc4060cb8c675b4749c6e  0002-Use-C99-math-isfinite.patch
ff7cb3c9c4712e0517a6f11e3bf08e9b0d13dbe6384930bdc7f55b1ceed039b5  fix-arm-atomics-grsec.patch
1c1ca7a60bcb571f3d2894a9b6ced9c57705f7b737e1e64a9cd451f91c2d3705  fix-arm-version-detect.patch
195cc0b2008f6728e9d85ca787960bb47d7fba723e10d29e255baaa3bd5dd4dc  fix-toolkit.patch
b7d43391006443da851c03546f2772ded7770a0ea045e8130be7011cf6718708  fix-tools.patch
517d95225b3323c373c11da6ab867deb76ffdb0b50c1762bdd893abd9b39d4c9  fix-seccomp-bpf.patch
6f5f5e4d2a17182b72b248e896450235ccdaf63252fdb89a8deb55da8adc9be3  mozilla-build-arm.patch
d87bbd011ec499f93119223360cd79afc628e5f0d020c4e8f0039627c85017e7  disable-moz-stackwalk.patch
960d82bbfdc88c95f5cb4f2e1c1bf23dae7519b3b7203914d7b3ddbff1ba4c28  stab.h
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
5ae2edf65b65a29c8d266343230c0ba9268f864697fc1f984d79e980a365a8fc  gcc6-fix-compilation.patch
b571c4a49884a3c98806246c9cc3e60c73d5a8f4aeb7f96217db0be1d6210eda  firefox.desktop
4b6de45753856a890f4482055666e77f9b01bdfb7e0df08bafaa3a4d9937eed3  firefox-safe.desktop"
sha512sums="2955e02f829a10186a8b22320fb97d4b0fc2b45721fcffa6295653fd760d516ae72b5656547685ba1e0699b381e28044996d9ee12a8738842b4e6b8acd296715  firefox-45.4.0esr.source.tar.xz
e14b4a646230f7a752ef864b0e6a074fdac74d6c4abde2c31656eb10ac6f002a5c664d257bf3f4bd22544f10103e38d5fae49f84fcaae402b81940e72bcfe0e5  mozconfig
cc10dba32d9c7faf1d99b8fdebc71bf0200ad10b976105edb45df696bf64a668b2b7aa8c3892a8056eb71fb071b0e0ae51c3ce2fb75acfb7e7035104c0e4fce3  vendor.js
7e123144bc2b1efed149dfb41b255c447d43ea93a63ebe114d01945e6a6d69edc2f2a3c36980a93279106c1842355851b8b6c1d96679ee6be7b9b30513e0b1a8  0002-Use-C99-math-isfinite.patch
4311464ae52b6d2e2b02c789c6d5fca9b3c211888a983aa609a62c2f2554516fea735ea90673387c69b38a30aa8453ed79faa44b5163df4293880d40df676b2d  fix-arm-atomics-grsec.patch
015e1ff6dbf920033982b5df95d869a0b7bf56c6964e45e50649ddf46d1ce09563458e45240c3ecb92808662b1300b67507f7af272ba184835d91068a9e7d5b0  fix-arm-version-detect.patch
d3f2ec8684aa485e1d08df325281629adb120f2e79c0065b96e14b99ca2968a3c701d18dda1fd1cab482aec2bc4ee8f294b9fda970ae159f8dab655f2c91aca9  fix-toolkit.patch
6322912a8b496332c593ee5c2069d346552299781148d6c829321a10be7f6550a6f7aab3d0cfeb08e1c4ecca2a79272ea7a6f31f1d2eb430c1b0041e3699c06c  fix-tools.patch
70863b985427b9653ce5e28d6064f078fb6d4ccf43dd1b68e72f97f44868fc0ce063161c39a4e77a0a1a207b7365d5dc7a7ca5e68c726825eba814f2b93e2f5d  fix-seccomp-bpf.patch
e61664bc93eadce5016a06a4d0684b34a05074f1815e88ef2613380d7b369c6fd305fb34f83b5eb18b9e3138273ea8ddcfdcb1084fdcaa922a1e5b30146a3b18  mozilla-build-arm.patch
c69cdb2d6c66180d6a67c386b862a5ed953aab4db434b054c9e1e6702bcc56ba219a4cb22747d9c891040a286388168e0cf5ca28a503389cd9708012fddf6c2b  disable-moz-stackwalk.patch
0b3f1e4b9fdc868e4738b5c81fd6c6128ce8885b260affcb9a65ff9d164d7232626ce1291aaea70132b3e3124f5e13fef4d39326b8e7173e362a823722a85127  stab.h
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
09288e3c9b94e7bfb4f764c506d98315ab3a44926cca59183dd22a84184c1de44f5dbe973367ec0ee0200d438c028e1dbe9fce4d9ce92f0e1367be50a9a72671  gcc6-fix-compilation.patch
f3b7c3e804ce04731012a46cb9e9a6b0769e3772aef9c0a4a8c7520b030fdf6cd703d5e9ff49275f14b7d738fe82a0a4fde3bc3219dff7225d5db0e274987454  firefox.desktop
5dcb6288d0444a8a471d669bbaf61cdb1433663eff38b72ee5e980843f5fc07d0d60c91627a2c1159215d0ad77ae3f115dcc5fdfe87e64ca704b641aceaa44ed  firefox-safe.desktop"