60dd9aa21c
16 Feb 2017, PHP 7.1.2 - Core: . Improved GENERATOR_CREATE opcode handler. (Bob, Dmitry) . Fixed bug #73877 (readlink() returns garbage for UTF-8 paths). (Anatol) . Fixed bug #73876 (Crash when exporting **= in expansion of assign op). (Sara) . Fixed bug #73962 (bug with symlink related to cyrillic directory). (Anatol) . Fixed bug #73969 (segfault in debug_print_backtrace). (andrewnester) . Fixed bug #73994 (arginfo incorrect for unpack). (krakjoe) . Fixed bug #73973 (assertion error in debug_zval_dump). (andrewnester) - DOM: . Fixed bug #54382 (getAttributeNodeNS doesn't get xmlns* attributes). (aboks) - DTrace: . Fixed bug #73965 (DTrace reported as enabled when disabled). (Remi) - FCGI: . Fixed bug #73904 (php-cgi fails to load -c specified php.ini file). (Anatol) . Fixed bug #72898 (PHP_FCGI_CHILDREN is not included in phpinfo()). (Anatol) - FPM: . Fixed bug #69865 (php-fpm does not close stderr when using syslog). (m6w6) - GD: . Fixed bug #73968 (Premature failing of XBM reading). (cmb) - GMP: . Fixed bug #69993 (test for gmp.h needs to test machine includes). (Jordan Gigov) - Hash: . Added hash_hkdf() function. (Andrey Andreev) . Fixed bug #73961 (environmental build dependency in hash sha3 source). (krakjoe) - Intl: . Fix bug #73956 (Link use CC instead of CXX). (Remi) - LDAP: . Fixed bug #73933 (error/segfault with ldap_mod_replace and opcache). (Laruence) - MySQLi: . Fixed bug #73949 (leak in mysqli_fetch_object). (krakjoe) - Mysqlnd: . Fixed bug #69899 (segfault on close() after free_result() with mysqlnd). (Richard Fussenegger) - Opcache: . Fixed bug #73983 (crash on finish work with phar in cli + opcache). (Anatol) - OpenSSL: . Fixed bug #71519 (add serial hex to return value array). (xrobau) . Fixed bug #73692 (Compile ext/openssl with openssl 1.1.0 on Win). (Anatol) . Fixed bug #73978 (openssl_decrypt triggers bug in PDO). (Jakub Zelenka) - PDO_Firebird: . Implemented FR #72583 (All data are fetched as strings). (Dorin Marcoci) - PDO_PgSQL: . Fixed bug #73959 (lastInsertId fails to throw an exception for wrong sequence name). (andrewnester) - Phar: . Fixed bug #70417 (PharData::compress() doesn't close temp file). (cmb) - posix: . Fixed bug #71219 (configure script incorrectly checks for ttyname_r). (atoh) - Session: . Fixed bug #69582 (session not readable by root in CLI). (EvgeniySpinov) - SPL: . Fixed bug #73896 (spl_autoload() crashes when calls magic _call()). (Dmitry) - Standard: . Fixed bug #69442 (closing of fd incorrect when PTS enabled). (jaytaph) . Fixed bug #47021 (SoapClient stumbles over WSDL delivered with "Transfer-Encoding: chunked"). (Rowan Collins) . Fixed bug #72974 (imap is undefined service on AIX). (matthieu.sarter) . Fixed bug #72979 (money_format stores wrong length AIX). (matthieu.sarter) . Fixed bug #73374 (intval() with base 0 should detect binary). (Leigh) . Fixed bug #69061 (mail.log = syslog contains double information). (Tom Sommer) - ZIP: . Fixed bug #70103 (ZipArchive::addGlob ignores remove_all_path option). (cmb, Mitch Hagstrand)
235 lines
6 KiB
Makefile
235 lines
6 KiB
Makefile
# $NetBSD: phpversion.mk,v 1.173 2017/02/18 13:13:07 taca Exp $
|
|
#
|
|
# This file selects a PHP version, based on the user's preferences and
|
|
# the installed packages. It does not add a dependency on the PHP
|
|
# package.
|
|
#
|
|
# === User-settable variables ===
|
|
#
|
|
# PHP_VERSION_DEFAULT
|
|
# The PHP version to choose when more than one is acceptable to
|
|
# the package.
|
|
#
|
|
# Possible: 56 70 71
|
|
# Default: 56
|
|
#
|
|
# === Infrastructure variables ===
|
|
#
|
|
# PHP_VERSION_REQD
|
|
# PHP version to use. This variable should not be set in
|
|
# packages. Normally it is used by bulk build tools.
|
|
#
|
|
# Possible: ${PHP_VERSIONS_ACCEPTED}
|
|
# Default: ${PHP_VERSION_DEFAULT}
|
|
#
|
|
# === Package-settable variables ===
|
|
#
|
|
# PHP_VERSIONS_ACCEPTED
|
|
# The PHP versions that are accepted by the package.
|
|
#
|
|
# Possible: 56 70 71
|
|
# Default: 56
|
|
#
|
|
# PHP_VERSIONS_INCOMPATIBLE
|
|
# The PHP versions that are not supported by the package.
|
|
#
|
|
# Possible: 56 70 71
|
|
# Default: (empty)
|
|
#
|
|
# PHP_CHECK_INSTALLED
|
|
# Check installed version of PHP. Should be used by lang/php56,
|
|
# lang/php70, or lang/php71 only.
|
|
#
|
|
# Possible: Yes No
|
|
# Default: Yes
|
|
#
|
|
# === Variables defined by this file ===
|
|
#
|
|
# PKG_PHP_VERSION
|
|
# The selected PHP version.
|
|
#
|
|
# Possible: 56 70 71
|
|
# Default: ${PHP_VERSION_DEFAULT}
|
|
#
|
|
# PHP_BASE_VERS
|
|
# The selected PHP's full version depends on PKG_PHP_VERSION
|
|
#
|
|
# PKG_PHP_MAJOR_VERS
|
|
# The selected PHP's major version.
|
|
#
|
|
# Possible: 5 7
|
|
# Default: 5
|
|
#
|
|
# PKG_PHP
|
|
# The same as ${PKG_PHP_VERSION}, prefixed with "php-".
|
|
#
|
|
# PHPPKGSRCDIR
|
|
# The directory of the PHP implementation, relative to the
|
|
# package directory.
|
|
#
|
|
# Example: ../../lang/php56
|
|
#
|
|
# PHP_PKG_PREFIX
|
|
# The prefix that is prepended to the package name.
|
|
#
|
|
# Example: php56 php70 php71
|
|
#
|
|
# PHP_EXTENSION_DIR
|
|
# Relative path to ${PREFIX} for PHP's extensions. It is derived from
|
|
# initial release of major version.
|
|
#
|
|
# Example: lib/php/20140828
|
|
#
|
|
# Keywords: php
|
|
#
|
|
|
|
.if !defined(PHPVERSION_MK)
|
|
PHPVERSION_MK= defined
|
|
|
|
# Define each PHP's version.
|
|
PHP56_VERSION= 5.6.30
|
|
PHP70_VERSION= 7.0.16
|
|
PHP71_VERSION= 7.1.2
|
|
|
|
# Define initial release of major version.
|
|
PHP56_RELDATE= 20140828
|
|
PHP70_RELDATE= 20151203
|
|
PHP71_RELDATE= 20160303
|
|
|
|
_VARGROUPS+= php
|
|
_USER_VARS.php= PHP_VERSION_DEFAULT
|
|
_PKG_VARS.php= PHP_VERSIONS_ACCEPTED PHP_VERSION_REQD
|
|
_SYS_VARS.php= PKG_PHP_VERSION PKG_PHP PHPPKGSRCDIR PHP_PKG_PREFIX \
|
|
PKG_PHP_MAJOR_VERS
|
|
|
|
.include "../../mk/bsd.prefs.mk"
|
|
|
|
PHP_VERSION_DEFAULT?= 56
|
|
PHP_VERSIONS_ACCEPTED?= 56 70 71
|
|
.for pv in ${PHP_VERSIONS_ACCEPTED}
|
|
. if empty(PHP_VERSIONS_INCOMPATIBLE:M${pv})
|
|
_PHP_VERSIONS_ACCEPTED+= ${pv}
|
|
. endif
|
|
.endfor
|
|
|
|
# transform the list into individual variables
|
|
.for pv in ${_PHP_VERSIONS_ACCEPTED}
|
|
_PHP_VERSION_${pv}_OK= yes
|
|
.endfor
|
|
|
|
# check what is installed
|
|
.if exists(${LOCALBASE}/lib/php/${PHP71_RELDATE})
|
|
_PHP_VERSION_71_INSTALLED= yes
|
|
_PHP_INSTALLED= yes
|
|
.elif exists(${LOCALBASE}/lib/php/${PHP70_RELDATE})
|
|
_PHP_VERSION_70_INSTALLED= yes
|
|
_PHP_INSTALLED= yes
|
|
.elif exists(${LOCALBASE}/lib/php/${PHP56_RELDATE})
|
|
_PHP_VERSION_56_INSTALLED= yes
|
|
_PHP_INSTALLED= yes
|
|
.endif
|
|
|
|
# if a version is explicitely required, take it
|
|
.if defined(PHP_VERSION_REQD)
|
|
_PHP_VERSION= ${PHP_VERSION_REQD}
|
|
.endif
|
|
# if the default is already installed, it is first choice
|
|
.if !defined(_PHP_VERSION)
|
|
.if defined(_PHP_VERSION_${PHP_VERSION_DEFAULT}_OK)
|
|
.if defined(_PHP_VERSION_${PHP_VERSION_DEFAULT}_INSTALLED)
|
|
_PHP_VERSION= ${PHP_VERSION_DEFAULT}
|
|
.endif
|
|
.endif
|
|
.endif
|
|
# prefer an already installed version, in order of "accepted"
|
|
.if !defined(_PHP_VERSION)
|
|
.for pv in ${_PHP_VERSIONS_ACCEPTED}
|
|
.if defined(_PHP_VERSION_${pv}_INSTALLED)
|
|
_PHP_VERSION?= ${pv}
|
|
.else
|
|
# keep information as last resort - see below
|
|
_PHP_VERSION_FIRSTACCEPTED?= ${pv}
|
|
.endif
|
|
.endfor
|
|
.endif
|
|
# if the default is OK for the addon pkg, take this
|
|
.if !defined(_PHP_VERSION)
|
|
.if defined(_PHP_VERSION_${PHP_VERSION_DEFAULT}_OK)
|
|
_PHP_VERSION= ${PHP_VERSION_DEFAULT}
|
|
.endif
|
|
.endif
|
|
# take the first one accepted by the package
|
|
.if !defined(_PHP_VERSION)
|
|
_PHP_VERSION= ${_PHP_VERSION_FIRSTACCEPTED}
|
|
.endif
|
|
|
|
#
|
|
# Variable assignment for multi-PHP packages
|
|
MULTI+= PHP_VERSION_REQD=${_PHP_VERSION}
|
|
|
|
# export some of internal variables
|
|
PKG_PHP_VERSION:= ${_PHP_VERSION:C/\.[0-9]//}
|
|
PKG_PHP:= PHP${_PHP_VERSION:C/([0-9])([0-9])/\1.\2/}
|
|
|
|
# Major version
|
|
PKG_PHP_MAJOR_VERS:= ${_PHP_VERSION:C/^([0-9]).*/\1/}
|
|
|
|
PHP_CHECK_INSTALLED?= Yes
|
|
|
|
# if installed PHP isn't compatible with required PHP, bail out
|
|
.if empty(PHP_CHECK_INSTALLED:M[nN][oO])
|
|
.if defined(_PHP_INSTALLED) && !defined(_PHP_VERSION_${_PHP_VERSION}_INSTALLED)
|
|
PKG_FAIL_REASON+= "Package accepts ${PKG_PHP}, but different version is installed"
|
|
.endif
|
|
.endif
|
|
|
|
MESSAGE_SUBST+= PKG_PHP_VERSION=${PKG_PHP_VERSION} \
|
|
PKG_PHP=${PKG_PHP}
|
|
PLIST_SUBST+= PKG_PHP_VERSION=${PKG_PHP_VERSION} \
|
|
PKG_PHP_MAJOR_VERS=${PKG_PHP_MAJOR_VERS} \
|
|
PHP_EXTENSION_DIR=${PHP_EXTENSION_DIR}
|
|
|
|
# force the selected PHP version for recursive builds
|
|
PHP_VERSION_REQD:= ${PKG_PHP_VERSION}
|
|
|
|
#
|
|
# set variables for the version we decided to use:
|
|
#
|
|
.if ${_PHP_VERSION} == "56"
|
|
PHPPKGSRCDIR= ../../lang/php56
|
|
PHP_VERSION= ${PHP56_VERSION}
|
|
PHP_INITIAL_TEENY= 3
|
|
PHP_PKG_PREFIX= php56
|
|
PHP_EXTENSION_DIR= lib/php/${PHP56_RELDATE}
|
|
.elif ${_PHP_VERSION} == "70"
|
|
PHPPKGSRCDIR= ../../lang/php70
|
|
PHP_VERSION= ${PHP70_VERSION}
|
|
PHP_INITIAL_TEENY= 0
|
|
PHP_PKG_PREFIX= php70
|
|
PHP_EXTENSION_DIR= lib/php/${PHP70_RELDATE}
|
|
.elif ${_PHP_VERSION} == "71"
|
|
PHPPKGSRCDIR= ../../lang/php71
|
|
PHP_VERSION= ${PHP71_VERSION}
|
|
PHP_INITIAL_TEENY= 0
|
|
PHP_PKG_PREFIX= php71
|
|
PHP_EXTENSION_DIR= lib/php/${PHP71_RELDATE}
|
|
.else
|
|
# force an error
|
|
PKG_FAIL_REASON+= "${PKG_PHP} is not a valid package"
|
|
.endif
|
|
|
|
_PHP_VER_MAJOR= ${PHP_VERSION:C/([0-9]+)\.([0-9]+)\.([0-9]+)/\1/}
|
|
_PHP_VER_MINOR= ${PHP_VERSION:C/([0-9]+)\.([0-9]+)\.([0-9]+)/\2/}
|
|
|
|
PHP_BASE_VERS= ${_PHP_VER_MAJOR}.${_PHP_VER_MINOR}.${PHP_INITIAL_TEENY}
|
|
|
|
#
|
|
# check installed version aginst required:
|
|
#
|
|
.if !empty(PHP_CHECK_INSTALLED:M[nN][oO])
|
|
.if defined(_PHP_VERSION_INSTALLED) && ${_PHP_VERSION} != ${_PHP_VERSION_INSTALLED}
|
|
PKG_FAIL_REASON+= "${PKGBASE} requires ${PKG_PHP}, but php-${_PHP_VERSION_INSTALLED} is already installed."
|
|
.endif
|
|
.endif
|
|
|
|
.endif # PHPVERSION_MK
|