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

David Runge dvzrv at gemini.archlinux.org
Sun May 8 20:40:17 UTC 2022


    Date: Sunday, May 8, 2022 @ 20:40:17
  Author: dvzrv
Revision: 1196310

upgpkg: nextcloud-app-tasks 0.14.4-2: Rebuild to add more specific dependency on php-interpreter.

Implement a versioned dependency on php-interpreter.

Modified:
  nextcloud-app-tasks/trunk/PKGBUILD

----------+
 PKGBUILD |   53 ++++++++++++++++++++++++++++++++++++++++++++++++++---
 1 file changed, 50 insertions(+), 3 deletions(-)

Modified: PKGBUILD
===================================================================
--- PKGBUILD	2022-05-08 20:37:16 UTC (rev 1196309)
+++ PKGBUILD	2022-05-08 20:40:17 UTC (rev 1196310)
@@ -5,13 +5,12 @@
 pkgname=nextcloud-app-tasks
 _name=tasks
 pkgver=0.14.4
-pkgrel=1
+pkgrel=2
 pkgdesc="Enhanced task app for NextCloud"
 arch=('any')
 url="https://github.com/nextcloud/tasks"
 license=('AGPL')
-depends=('nextcloud')
-makedepends=('ripgrep' 'yq')
+makedepends=('nextcloud' 'ripgrep' 'yq')
 groups=('nextcloud-apps')
 options=('!strip')
 source=("tasks-${pkgver}.tar.gz::https://github.com/nextcloud/tasks/releases/download/v$pkgver/tasks.tar.gz")
@@ -23,10 +22,31 @@
   _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')"
+
+  if [[ $_app_max_php != 'null' ]]; then
+    _app_max_php="$(echo $_app_max_php | awk -F '.' '{print $1"."$2+1}')"
+  fi
+
+  _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
@@ -33,11 +53,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_max_php" )" -ge 0 ]]; then
+      printf "%s requires php-interpreter < %s, but %s is provided\n" $pkgname $_app_max_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}/tasks" "${pkgdir}/usr/share/webapps/nextcloud/apps/tasks"



More information about the arch-commits mailing list