summarylogtreecommitdiffstats
path: root/PKGBUILD
diff options
context:
space:
mode:
authorXZS2016-02-07 18:46:26 +0100
committerXZS2016-02-07 18:46:26 +0100
commite3c7f34d41aa657e58f10edba9c81549036cbb77 (patch)
treed39cf711d4704997de8d402a210563834cdee44f /PKGBUILD
parent5a1ba23ab279bfed1e87afe60db2707efbf967cf (diff)
downloadaur-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--PKGBUILD43
1 files changed, 41 insertions, 2 deletions
diff --git a/PKGBUILD b/PKGBUILD
index 0c3164946041..21b6c4a75c1b 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -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")
}