I use Nextcloud in FreeNAS jail, thanks for the package. Now the php version is rather old, it's php56, where as Nextcloud itself is already recommending php7 due performance and other improvements. E.g. I could not install Mindmap addon due it requires php7.
Now looking at the ports, dependency is fixed to php56. Could it be updated to php7, e.g. php72? I don't know what's the versioning logic in FreeBSD, could it be rather locked to php7 major version instead of minor version, or better yet any php and I could myself select if I use 5 or 7 due my needs as a user.
Here's sniplet from the port:
php56-pecl-smbclient>=0.9.0 : net/pecl-smbclient@php56
php.h : lang/php56
I tried installing it on php7, and noticed also the php-mysql package does not exists for php7, it's nowadays named as php72-mysqli. Note the i at the end. The end result of installing php7 packages nowadays is that it also removes php5, and nextcloud package depends on it, so nextcloud is also removed.
So without change in port nextcloud can not be pkg installed with php7. Can you please change it?
Setting default OFF for the pecl-smbclient dependency to prevent issues with the package
A commit references this bug:
Date: Fri Apr 27 08:17:30 UTC 2018
New revision: 468405
www/nextcloud: Update to 13.0.2
- SMB option now default OFF [1,2]
PR: 227510 , 216187 
Reported by: Ilkka Tengvall <ilkka tengvall iki fi> 
Reported by: johnllyon gmail com 
I reopen this ticket. It was not enough to touch the samba dependency. Still if I try replacing php56 packages with php72 packages, it removes nextcloud. So there is more to the dependency.
# pkg install nextcloud
Updating FreeBSD repository catalogue...
FreeBSD repository is up to date.
All repositories are up to date.
Checking integrity... done (28 conflicting)
- php56-session-5.6.36 conflicts with php72-session-7.2.5 on /usr/local/include/php/ext/session/php_session.h
- php56-5.6.36 conflicts with php72-7.2.5 on /usr/local/bin/php
- php56-opcache-5.6.36 conflicts with php72-opcache-7.2.5 on /usr/local/include/php/ext/opcache/zend_shared_alloc.h
- php56-xsl-5.6.36 conflicts with php72-xsl-7.2.5 on /usr/local/include/php/ext/xsl/xsl_fe.h
- php56-xml-5.6.36 conflicts with php72-xml-7.2.5 on /usr/local/include/php/ext/xml/php_xml.h
- php56-dom-5.6.36 conflicts with php72-dom-7.2.5 on /usr/local/include/php/ext/dom/dom_ce.h
- php56-xmlwriter-5.6.36 conflicts with php72-xmlwriter-7.2.5 on /usr/local/include/php/ext/xmlwriter/config.h
- php56-xmlreader-5.6.36 conflicts with php72-xmlreader-7.2.5 on /usr/local/include/php/ext/xmlreader/config.h
- php56-wddx-5.6.36 conflicts with php72-wddx-7.2.5 on /usr/local/include/php/ext/wddx/php_wddx.h
- php56-simplexml-5.6.36 conflicts with php72-simplexml-7.2.5 on /usr/local/include/php/ext/simplexml/php_simplexml.h
- php56-ctype-5.6.36 conflicts with php72-ctype-7.2.5 on /usr/local/include/php/ext/ctype/config.h
- php56-posix-5.6.36 conflicts with php72-posix-7.2.5 on /usr/local/include/php/ext/posix/config.h
- php56-fileinfo-5.6.36 conflicts with php72-fileinfo-7.2.5 on /usr/local/include/php/ext/fileinfo/config.h
- php56-openssl-5.6.36 conflicts with php72-openssl-7.2.5 on /usr/local/include/php/ext/openssl/config.h
- php56-hash-5.6.36 conflicts with php72-hash-7.2.5 on /usr/local/include/php/ext/hash/php_hash_crc32_tables.h
- php56-filter-5.6.36 conflicts with php72-filter-7.2.5 on /usr/local/include/php/ext/filter/filter_private.h
- php56-ldap-5.6.36 conflicts with php72-ldap-7.2.5 on /usr/local/include/php/ext/ldap/config.h
- php56-gd-5.6.36 conflicts with php72-gd-7.2.5 on /usr/local/include/php/ext/gd/gdcache.h
- php56-exif-5.6.36 conflicts with php72-exif-7.2.5 on /usr/local/include/php/ext/exif/config.h
- php56-curl-5.6.36 conflicts with php72-curl-7.2.5 on /usr/local/include/php/ext/curl/config.h
- php56-json-5.6.36 conflicts with php72-json-7.2.5 on /usr/local/include/php/ext/json/php_json.h
- php56-pdo_mysql-5.6.36 conflicts with php72-pdo_mysql-7.2.5 on /usr/local/include/php/ext/pdo_mysql/php_pdo_mysql.h
- php56-pdo-5.6.36 conflicts with php72-pdo-7.2.5 on /usr/local/include/php/ext/pdo/php_pdo.h
- php56-mbstring-5.6.36 conflicts with php72-mbstring-7.2.5 on /usr/local/include/php/ext/mbstring/php_mbregex.h
- php56-iconv-5.6.36 conflicts with php72-iconv-7.2.5 on /usr/local/include/php/ext/iconv/config.h
- php56-zlib-5.6.36 conflicts with php72-zlib-7.2.5 on /usr/local/include/php/ext/zlib/php_zlib.h
- php56-zip-5.6.36 conflicts with php72-zip-7.2.5 on /usr/local/include/php/ext/zip/php_zip.h
- php56-bz2-5.6.36 conflicts with php72-bz2-7.2.5 on /usr/local/include/php/ext/bz2/php_bz2.h
Checking integrity... done (0 conflicting)
The following 60 package(s) will be affected (of 0 checked):
Installed packages to be REMOVED:
New packages to be INSTALLED:
Number of packages to be removed: 30
Number of packages to be installed: 30
The process will require 145 MiB more space.
Proceed with this action? [y/N]:
That's not an issue of the port, but the default configuration that is used by the host building your packages.
Modify you /etc/make.conf and add
> DEFAULT_VERSIONS+= php=72
rebuild your packages and they will depend on 7.2.
Ilkka, I've opened a review for addition of flavors to the port. Please check if https://reviews.freebsd.org/D15235 works for you? You'd need to replace the installed port with nextcloud-php72
A commit references this bug:
Date: Mon Apr 30 15:43:18 UTC 2018
New revision: 468708
- Create flavors for all PHP versions
- Use releases dir (not pre-)
Approved by: mat
Differential Revision: https://reviews.freebsd.org/D15235
You should now replace nextcloud with nextcloud-php72 if you want to use the port with the latest PHP 7.2
Excellent, thank you! Now I just wait for repos to update with new binaries.