# Maintainer: # options if [ -n "$_srcinfo" ] || [ -n "$_pkgver" ] ; then : ${_autoupdate:=false} else : ${_autoupdate:=true} fi : ${_pkgtype:=-bin} # basic info _pkgname="mercury-browser-avx2" pkgname="$_pkgname${_pkgtype:-}" pkgver=123.0.1 pkgrel=1 pkgdesc="Compiler optimized, private Firefox fork" url="https://github.com/Alex313031/Mercury" license=('MPL-2.0') arch=('x86_64') # main package _main_package() { _update_version optdepends=( 'ffmpeg: H264/AAC/MP3 decoding' 'hunspell: Spell checking' 'hyphen: Hyphenation' 'networkmanager: Location detection via available WiFi networks' ) options=('!emptydirs' '!strip') : ${_dl_filename:=${_pkgname%-avx2}_${_pkgver:?}_AVX2.deb} : ${_dl_url:=$url/releases/download/v.$_pkgver/$_dl_filename} noextract+=("$_dl_filename") source=("$_dl_filename"::"$_dl_url") sha256sums=('SKIP') } # common functions pkgver() { echo "${_pkgver:?}" } prepare() { # desktop install -Dvm644 /dev/stdin "$_pkgname.desktop" < /dev/null ; then _filetype="deb" fi if [[ "${_filetype::1}" == 'z' ]] ; then _package_zip else _package_deb fi # script \rm -rf "$pkgdir/usr/bin/mercury-browser" install -Dm755 "$_pkgname.sh" "$pkgdir/usr/bin/$_pkgname" # icon install -Dm644 "$pkgdir/opt/$_pkgname/browser/chrome/icons/default/default128.png" "$pkgdir/usr/share/pixmaps/$_pkgname.png" # .desktop \rm -rf "$pkgdir/usr/share/applications/mercury-browser.desktop" install -Dm644 "$_pkgname.desktop" "$pkgdir/usr/share/applications/$_pkgname.desktop" # symlink duplicate file ln -sf "/usr/bin/$_pkgname" "$pkgdir/opt/$_pkgname/mercury-bin" # remove unnecessary folders \rm -rf "$pkgdir/usr/lib/" \rm -rf "$pkgdir/usr/share/doc/" \rm -rf "$pkgdir/usr/share/icons" \rm -rf "$pkgdir/usr/share/lintian/" \rm -rf "$pkgdir/usr/share/man/" # fix permissions chmod -R u+rwX,go+rX,go-w "$pkgdir/" } _package_deb() { # extract archive bsdtar -xf "$_dl_filename" data.tar.* bsdtar -xf data.tar.gz -C "$pkgdir/" rm data.tar.gz # move files from /lib to /opt install -dm755 "$pkgdir/opt/$_pkgname" mv "$pkgdir/usr/lib/mercury"/* "$pkgdir/opt/$_pkgname/" } _package_zip() { local _depth=$( bsdtar -tf "$_dl_filename" -- */mercury/mercury$ \ | tr -cd '/' | wc -c ) # extract archive install -dm755 "$pkgdir/opt/$_pkgname" bsdtar --strip-components="$_depth" -C "$pkgdir/opt/$_pkgname/" -xf "$_dl_filename" '*/mercury/*' } # update version _update_version() { : ${_pkgver:=${pkgver%%.r*}} if [[ "${_autoupdate::1}" != "t" ]] ; then return fi local _blacklist _response _tags _tag _pkgver_new _blacklist=( "v.121.0.2" # windows only ) _response=$(curl -Ssf "$url/releases.atom") _tags=$( printf '%s' "$_response" \ | grep '/releases/tag/' \ | sed -E 's@^.*/releases/tag/(.*)".*$@\1@' \ | grep -Ev '[a-z]{2}' ) for i in "${_blacklist[@]}" ; do _tags=${_tags/$i} done _tag=$(printf '%s' "$_tags" | sort -rV | head -1) _pkgver_new="${_tag#v.}" # update _pkgver if [ "$_pkgver" != "${_pkgver_new:?}" ] ; then _pkgver="${_pkgver_new:?}" fi } # execute _main_package