diff options
author | XZS | 2016-02-07 18:46:26 +0100 |
---|---|---|
committer | XZS | 2016-02-07 18:46:26 +0100 |
commit | e3c7f34d41aa657e58f10edba9c81549036cbb77 (patch) | |
tree | d39cf711d4704997de8d402a210563834cdee44f /PKGBUILD | |
parent | 5a1ba23ab279bfed1e87afe60db2707efbf967cf (diff) | |
download | aur-e3c7f34d41aa657e58f10edba9c81549036cbb77.tar.gz |
version Firefox dependency
This enables the package manager to detect a compatibility problem
between Firefox and the extension.
Diffstat (limited to 'PKGBUILD')
-rw-r--r-- | PKGBUILD | 43 |
1 files changed, 41 insertions, 2 deletions
@@ -52,6 +52,38 @@ build() { ./make-xpi.py } +# Version information for this extension is noted in the config.json and only +# inserted into the install.rdf, so overwriting this function directs it to the +# right location. +query-version() { + sed -n "s/^ *\"$1-version\": \"\\([^\"]\+\\)\",\$/\\1/p" *.json +} + +version-range() { + local emid=$(emid $1) + echo "$1>$(version min $emid)" "$1<$(version max $emid)" +} + +emid() { + case $1 in + firefox) echo '{ec8030f7-c20a-464f-9b0e-13a3a9e97384}' ;; + thunderbird) echo '{3550f703-e582-4d05-9a08-453d09bdfdc6}' ;; + *) return 1 ;; + esac +} + +version() { + local version="$(query-version $1 $2)" + if [[ $version =~ ([[:digit:]]+).\* ]]; then + if [[ $1 = max ]]; then + echo $(( ${BASH_REMATCH[1]} + 1 )) + else + echo "=${BASH_REMATCH[1]}" + fi + else + echo "=$version" + fi +} prepare_target() { local target=${pkgname%%-*} @@ -67,21 +99,28 @@ package() { } package_firefox-theme-gnome-git() { + real_depends_theme + package theme } +# Hide the versioned dependency from .SRCINFO generation in a subfunction. +real_depends_theme() { + depends+=($(version-range firefox)) +} + package_firefox-extension-gnome-theme-tweak-git() { provides=('firefox-extension-gnome-theme-tweak') conflicts=('firefox-extension-gnome-theme-tweak') pkgdesc='Extension for customizing GNOME theme.' depends=('firefox-theme-gnome') - real_depends + real_depends_extension package extension } # Hide the versioned dependency from mksrcinfo, as the pkgver # function has to update the value before it can be properly used. -real_depends() { +real_depends_extension() { depends=("firefox-theme-gnome=$pkgver") } |