summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--libre/qt5-styleplugins/PKGBUILD42
1 files changed, 39 insertions, 3 deletions
diff --git a/libre/qt5-styleplugins/PKGBUILD b/libre/qt5-styleplugins/PKGBUILD
index b751b253f..af78d9f1f 100644
--- a/libre/qt5-styleplugins/PKGBUILD
+++ b/libre/qt5-styleplugins/PKGBUILD
@@ -11,7 +11,7 @@ pkgname=(qt5-styleplugins)
pkgver=5.0.0.20170311
_commit=335dbece103e2cbf6c7cf819ab6672c2956b17b3 # unreleased master branch tip
pkgdesc='Additional style plugins for Qt5'
-pkgrel=31
+pkgrel=32
arch=(armv7h i686 x86_64)
url="https://github.com/qt/qtstyleplugins"
license=('LGPL')
@@ -27,6 +27,41 @@ sha512sums=(
'c39b468c93eaada7d49df9547627fbf91d50292523566ef93287ce0e958b29e6c3635f6e77ad42c4f449a062cc63b68e9f2a24c89524165649f776d205fb5382'
)
+
+_version_constraint() # (dep_pkgname [precision])
+{
+ local dep_pkgname=$1
+ local req_precision=$2
+ local full_version=$(pacman -S --print-format='%v' ${dep_pkgname} | tail -n 1)
+ local n_dots=$(tmp=${full_version%-*} ; tmp=${tmp//[^\.]} ; echo "${#tmp}" ;)
+ local def_precision=$(( n_dots + 1 ))
+ local is_reqprecision_valid=$( [[ "${req_precision}" =~ ^[1-${def_precision}]$ ]] && echo 1 || echo 0 )
+ local precision=$( (( is_reqprecision_valid )) && echo ${req_precision} || echo ${def_precision} )
+ local pkgver_rx='[^-\.\ ]+'
+ local subver_rx='\.'${pkgver_rx}
+ local pkgrel_rx='[^-\ ]+'
+ local capture_rx=${pkgver_rx}
+ for (( n_dots=1 ; n_dots < precision ; ++n_dots )) ; do capture_rx+=${subver_rx} ; done ;
+
+ if [[ "${full_version}" =~ ^(${capture_rx})(${subver_rx})*-(${pkgrel_rx})$ ]]
+ then local version=${BASH_REMATCH[1]}
+ local pkgrel=${BASH_REMATCH[3]%%.*}
+ local subver_inc=$(( ${version##*.} + 1 ))
+ local pkgrel_inc=$(( pkgrel + 1 ))
+ local version_min=$( (( ! is_reqprecision_valid )) && echo ${full_version%-*}-${pkgrel} || \
+ echo ${version} )
+ local version_max=$( ( (( ! is_reqprecision_valid )) && echo ${full_version%-*}-${pkgrel_inc} ) || \
+ ( [[ "${version}" =~ \. ]] && echo ${version%.*}.${subver_inc} ) || \
+ echo ${subver_inc} )
+ local constraint_string="${dep_pkgname}>=${version_min} ${dep_pkgname}<${version_max}"
+
+ echo "applied version constraint: '${constraint_string}'" >&2
+ echo -n "${constraint_string}"
+ else echo "ERROR: _version_constraint() error parsing: dep_pkgname='${dep_pkgname}' full_version='${full_version}'" >&2
+ exit 1
+ fi
+}
+
prepare() {
cd qtstyleplugins-${_commit}
@@ -51,6 +86,7 @@ package() {
make INSTALL_ROOT="${pkgdir}" install
# pin to current 'qt5-base' libs
- local qt5_ver=$(pacman -S --print-format='%v' qt5-base)
- depends=( ${depends[@]/qt5-base/qt5-base=${qt5_ver}} )
+ local qt5_ver=$(pacman -S --print-format='%v' )
+ depends=( ${depends[@]/qt5-base/} )
+ depends+=($(_version_constraint 'qt5-base' 3))
}