[arch-commits] Commit in nextcloud-app-calendar/trunk (PKGBUILD)

David Runge dvzrv at gemini.archlinux.org
Sun May 8 19:37:48 UTC 2022


    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



More information about the arch-commits mailing list