diff options
-rw-r--r-- | libre/qt5-styleplugins/PKGBUILD | 42 |
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)) } |