# Maintainer: George Rawlinson # Contributor: Cyano Hao # Contributor: Bruno Pagani (a.k.a. ArchangeGabriel) # Contributor: Cedric MATHIEU _name=firefox _channel=nightly _lang=en-US _pkgname="${_name}-${_channel}" pkgname="${_pkgname}-bin" pkgdesc="Standalone Web Browser from Mozilla — Nightly build (${_lang})" url="https://www.mozilla.org/${_lang}/${_name}/${_channel}" # Apparently there is an alternate URL - https://archive.mozilla.org/pub/ _base_url="https://ftp.mozilla.org/pub/${_name}/${_channel}" _version=$(curl "${CURL_OPTS[@]}" ${_base_url}/latest-mozilla-central/ | grep "${_lang}.linux-${CARCH}.checksums" | sed "s/^.*>firefox-//; s/\.${_lang}.*//" | sort -n | tail -n 1) _build_id_raw="$(curl -s "${_base_url}/latest-mozilla-central/${_name}-${_version}.${_lang}.linux-${CARCH}.checksums" | grep '.partial.mar' | cut -d' ' -f4 | grep -E -o '[[:digit:]]{14}' | sort | tail -n1)" declare -A _build_id _build_id=( [year]="${_build_id_raw:0:4}" [month]="${_build_id_raw:4:2}" [day]="${_build_id_raw:6:2}" [hour]="${_build_id_raw:8:2}" [min]="${_build_id_raw:10:2}" [sec]="${_build_id_raw:12:2}" [date]="${_build_id_raw:0:8}" [time]="${_build_id_raw:8:6}" ) pkgver=${_version}.${_build_id[date]}.${_build_id[time]} pkgrel=1 arch=('x86_64') license=('MPL' 'GPL' 'LGPL') conflicts=('firefox-nightly') depends=( 'dbus-glib' 'gtk3' 'libxt' 'nss' 'mime-types' 'python' ) optdepends=( 'pulseaudio: audio support' 'ffmpeg: h.264 video' 'hunspell: spell checking' 'hyphen: hyphenation' 'libnotify: notification integration' 'networkmanager: location detection via available WiFi networks' 'speech-dispatcher: text-to-speech' 'startup-notification: support for FreeDesktop Startup Notification' ) _url="${_base_url}/${_build_id[year]}/${_build_id[month]}/${_build_id[year]}-${_build_id[month]}-${_build_id[day]}-${_build_id[hour]}-${_build_id[min]}-${_build_id[sec]}-mozilla-central" _src="${_name}-${_version}.${_lang}.linux-${CARCH}" _filename="${_build_id[date]}-${_build_id[time]}-${_src}" source=('firefox-nightly.desktop' 'policies.json' "${_filename}.tar.bz2::${_url}/${_src}.tar.bz2" "${_filename}.tar.bz2.asc::${_url}/${_src}.tar.bz2.asc") sha512sums=('87c181628c3be0762000ff3b5cb841ed2c2371937e4aab7f8f441c608dd08d349085036880c8e8aaed40d01fe258ea9be159741e9fad9f493c96fb9be4cc0de3' '5ed67bde39175d4d10d50ba5b12063961e725e94948eadb354c0588b30d3f97d2178b66c1af466a6e7bd208ab694227a1391c4141f88d3da1a1178454eba5308' '19ac581785638ba3295a5466e491e2a2b73ce863d90a8e6fb00b0897b78b9aec9e10a672b6b99c1ebab863a5076bc477d9780b51e3065ba83ffe5c490708fbc0' 'SKIP') validpgpkeys=('14F26682D0916CDD81E37B6D61B7B526D98F0353') # Mozilla’s GnuPG release key package() { OPT_PATH="opt/${_pkgname}" # Install the package files install -d "${pkgdir}"/{usr/bin,opt} cp -r ${_name} "${pkgdir}"/${OPT_PATH} ln -s "/${OPT_PATH}/${_name}" "${pkgdir}"/usr/bin/${_pkgname} # Install .desktop files install -Dm644 "${srcdir}"/${_pkgname}.desktop -t "${pkgdir}"/usr/share/applications # Install icons SRC_LOC="${srcdir}"/${_name}/browser DEST_LOC="${pkgdir}"/usr/share/icons/hicolor for i in 16 32 48 64 128 do install -Dm644 "${SRC_LOC}"/chrome/icons/default/default${i}.png "${DEST_LOC}"/${i}x${i}/apps/${_pkgname}.png done # Disable auto-updates install -Dm644 "${srcdir}"/policies.json -t "${pkgdir}"/${OPT_PATH}/distribution # Use system-provided dictionaries rm -rf "${pkgdir}"/${OPT_PATH}/{dictionaries,hyphenation} ln -sf /usr/share/hunspell "${pkgdir}"/${OPT_PATH}/dictionaries ln -sf /usr/share/hyphen "${pkgdir}"/${OPT_PATH}/hyphenation }