Date: Sunday, May 8, 2022 @ 19:37:48 Author: dvzrv Revision: 1196279 upgpkg: nextcloud-app-calendar 1:3.3.0-2: Rebuild to add more specific dependency on php-interpreter.
Implement a versioned dependency on php-interpreter. Modified: nextcloud-app-calendar/trunk/PKGBUILD ----------+ PKGBUILD | 45 ++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 44 insertions(+), 1 deletion(-) Modified: PKGBUILD =================================================================== --- PKGBUILD 2022-05-08 19:35:17 UTC (rev 1196278) +++ PKGBUILD 2022-05-08 19:37:48 UTC (rev 1196279) @@ -4,7 +4,7 @@ _name=calendar epoch=1 pkgver=3.3.0 -pkgrel=1 +pkgrel=2 pkgdesc="Calendar app for nextcloud" arch=('any') url="https://github.com/nextcloud/calendar/" @@ -22,10 +22,26 @@ _app_max_major_version=$(expr ${_app_max_major_version} + 1) } +_get_php_versions() { + local _phps=(php7 php) + + _app_min_php="$(xq '.info.dependencies.php["@min-version"]' "$_name/appinfo/info.xml"| sed 's/"//g')" + _app_max_php="$(xq '.info.dependencies.php["@max-version"]' "$_name/appinfo/info.xml"| sed 's/"//g' | awk -F '.' '{print $1"."$2+1}')" + _system_php="" + for _php in "${_phps[@]}"; do + if command -v "$_php" > /dev/null; then + if [[ -z "$_system_php" ]]; then + _system_php="$_php" + fi + fi + done +} + check() { local _app_min_major_version local _app_max_major_version _get_nextcloud_versions + _get_php_versions local _nextcloud_major_version="$(rg "OC_Version = " /usr/share/webapps/nextcloud/version.php |cut -d'(' -f2| cut -d ',' -f1)" if [[ "$(vercmp "${_nextcloud_major_version}" "${_app_min_major_version}")" -lt 0 ]] || [[ "$(vercmp "${_nextcloud_major_version}" "${_app_max_major_version}")" -gt 0 ]] ; then @@ -32,11 +48,38 @@ printf "%s requires nextcloud >= %s/ nextcloud <= %s, but nextcloud %s is provided.\n" "$pkgname" "${_app_min_major_version}" "${_app_max_major_version}" "${_nextcloud_major_version}" exit 1 fi + + local _php_version="$($_system_php --version |head -n1 |cut -d ' ' -f2 |sed 's/.[0-9]*$//g')" + if [[ "$(vercmp "$_php_version" "$_app_min_php" )" -lt 0 ]]; then + printf "%s requires php-interpreter >= %s, but %s is provided\n" $pkgname $_app_min_php $_php_version + exit 1 + fi + if [[ $_app_max_php != 'null' ]]; then + if [[ "$(vercmp "$_php_version" "$_app_min_php" )" -lt 0 ]]; then + printf "%s requires php-interpreter < %s, but %s is provided\n" $pkgname $_app_min_php $_php_version + exit 1 + fi + fi } package() { _get_nextcloud_versions + _get_php_versions + depends=("nextcloud>=${_app_min_major_version}" "nextcloud<${_app_max_major_version}") + if [[ "$_app_min_php" != 'null' ]]; then + depends+=( + "php-interpreter>=$_app_min_php" + ) + fi + if [[ "$_app_max_php" != 'null' ]]; then + depends+=( + "php-interpreter<$_app_max_php" + ) + fi + if [[ "$_app_min_php" == 'null' ]] && [[ "$_app_max_php" == 'null' ]]; then + depends+=(php-interpreter) + fi install -d "$pkgdir"/usr/share/webapps/nextcloud/apps cp -a "$srcdir"/calendar "$pkgdir"/usr/share/webapps/nextcloud/apps/calendar