### this file is sourced not run
PKGVER=28.4.0
PKGBUILD=1
PKGARCH=x86_64

# source: BLFS Firefox 2014-06-06 modified for PaleMoon
TARBALL=palemoon-$PKGVER-source.tar.gz
MD5SUM=99d1a285549956e1629ab783ecdf9302
SRC_URL=https://github.com/MoonchildProductions/UXP/archive/PM${PKGVER}_Release.tar.gz
BUNDLE=

SLACKREQ='alsa-lib gtk2 ffmpeg libicu' # autoconf213 build-time dependency
SLACKDESC="palemoon: palemoon $PKGVER (Web browser)  
palemoon:  
palemoon: Palemoon is a derivative of Firefox browser, but built with
palemoon: specially selected features to make it slim and fast.
palemoon: 
palemoon: http://www.palemoon.org/
palemoon: 
palemoon: 
palemoon: 
palemoon: 
palemoon: 
"

### default pkg_download
### default pkg_prepare
pkg_prepare() {
#	mkdir tmp/UXP
#	cp -a /mnt/sda5/play/palemoon-build-dir tmp/UXP # USE-PREBUILT
	pkg_prepare_default &&
	cd tmp/UXP* &&
	sed -i 's#xlocale#locale#' intl/icu/source/i18n/digitlst.cpp
}

### package
pkg_package() {
	# cp -a tmp/*/palemoon-build-dir /mnt/sda5/play # backup the build output
	mkdir -p usr/$LIBDIR/palemoon-$PKGVER/browser/defaults &&
	cp -a tmp/pkg/profile usr/$LIBDIR/palemoon-$PKGVER/browser/defaults
}
### build
pkg_build() {
	! [ -e /usr/bin/env ] && ln -s /tools/bin/env /usr/bin
	cd /tmp/UXP* &&
############## MOZ-BUILD START #############
#<< "USE-PREBUILT"	
	chmod -R 0777 * # need this for palemoon, source is Windows-based
	
	export SHELL=/bin/sh PYTHON=python2.7-$USE_ARCH
	#export PATH=/usr/lib/distcc/bin:$PATH DISTCC_HOSTS='james-pc,lzo localhost'
	cat > mozconfig << EOF
######## official settings from pm4linux ########
#ac_add_options --enable-official-branding
#export MOZILLA_OFFICIAL=1

mk_add_options AUTOCLOBBER=1
ac_add_options --enable-application=palemoon

mk_add_options MOZ_OBJDIR=@TOPSRCDIR@/palemoon-build-dir

ac_add_options --disable-crashreporter
ac_add_options --disable-accessibility
ac_add_options --disable-parental-controls
ac_add_options --disable-webrtc
ac_add_options --disable-necko-wifi
ac_add_options --disable-updater
ac_add_options --disable-gamepad

ac_add_options --disable-tests
ac_add_options --disable-debug
ac_add_options --disable-debug-symbols

ac_add_options --enable-strip
#ac_add_options --enable-jemalloc # no need for kernel 3+ glib 2.36+
ac_add_options --enable-optimize="-O2 -msse2 -mfpmath=sse"
ac_add_options --enable-default-toolkit=cairo-gtk2
ac_add_options --with-pthreads

ac_add_options --enable-chrome-format=omni
ac_add_options --x-libraries=/usr/$LIBDIR
######## end of official settings from pm4linux ########

# additional settings for Fatdog, based on LFS
# If you have a multicore machine you can speed up the build by running
# several jobs at once, but if you have a single core, delete this line:
mk_add_options MOZ_MAKE_FLAGS="$MAKEFLAGS" #-j6 or whatever

ac_add_options --disable-dbus
ac_add_options --disable-pulseaudio
ac_add_options --enable-alsa

# disable sync services: https://github.com/MoonchildProductions/UXP/commit/e5e21699ca95369651670a302fde26dc6c19b4bd
ac_add_options --disable-sync

# Uncomment these if you have installed them:
ac_add_options --enable-startup-notification
ac_add_options --enable-system-hunspell
ac_add_options --enable-system-sqlite
# ac_add_options --with-system-libevent
ac_add_options --with-system-libvpx
# ac_add_options --with-system-nspr  # changes often - use internal instead
# ac_add_options --with-system-nss   # changes often - use internal instead

ac_add_options --enable-system-ffi
ac_add_options --with-system-jpeg
ac_add_options --with-system-png
ac_add_options --with-system-zlib
ac_add_options --with-system-bz2
ac_add_options --with-system-icu

#ac_add_options --disable-elf-hack
#ac_add_options --with-arm-kuser
#export LDFLAGS="-Wl,--no-keep-memory -Wl,--reduce-memory-overheads" # failed on ld.gold
export LDFLAGS="-Wl,--no-keep-memory"
EOF
	export ICU_DATA=/usr/share/icu/current/ && # so ICU knows where its data is
	make -f client.mk && 
	( cd palemoon-build-dir; make package; ) &&
	#make -C palemoon-build-dir/browser/installer &&
#USE-PREBUILT
############## MOZ-BUILD END #############
	
	# install
	rm -rf /usr/$LIBDIR/palemoon /usr/$LIBDIR/palemoon-$PKGVER &&
	cp -a palemoon-build-dir/dist/palemoon /usr/$LIBDIR/palemoon-$PKGVER &&
	ln -sf palemoon-$PKGVER /usr/$LIBDIR/palemoon &&
	ln -sf /usr/$LIBDIR/palemoon/palemoon /usr/bin/palemoon &&
	ln -sfv /usr/$LIBDIR/palemoon-$PKGVER/browser/icons/mozicon128.png \
        /usr/share/pixmaps/palemoon.png &&
	
	# plugins dir
	mkdir -pv /usr/$LIBDIR/mozilla/plugins                   &&
	ln -sfv ../mozilla/plugins /usr/$LIBDIR/palemoon-$PKGVER &&

	# "fast firefox by uncompressing omni.ja - thanks to BarryK
	#echo "unpacking omni.ja" &&
	#cd /usr/$LIBDIR/palemoon &&
	#mkdir xxx && cd xxx && 
	#{ unzip ../omni.ja; rm ../omni.ja; zip -r0 ../omni.ja *; } > /dev/null &&
	#cd .. && rm -rf xxx &&
	
	pkg_build_slackdesc && 	
	rm -f /usr/bin/env &&

	# run palemoon as spot
	#install -m755 /tmp/pkg/palemoon-spot /usr/bin &&
	ln -s program-spot /usr/bin/palemoon-spot &&
	
	# desktop file
	install -m644 /tmp/pkg/palemoon.desktop /usr/share/applications
}


