pkgsrc/lang/php/phpversion.mk

222 lines
5.6 KiB
Makefile
Raw Normal View History

Update php70 to 7.0.2, including security fix. 07 Jan 2016 PHP 7.0.2 - Core: . Fixed bug #71165 (-DGC_BENCH=1 doesn't work on PHP7). (y dot uchiyama dot 1015 at gmail dot com) . Fixed bug #71163 (Segmentation Fault: cleanup_unfinished_calls). (Laruence) . Fixed bug #71109 (ZEND_MOD_CONFLICTS("xdebug") doesn't work). (Laruence) . Fixed bug #71092 (Segmentation fault with return type hinting). (Laruence) . Fixed bug memleak in header_register_callback. (Laruence) . Fixed bug #71067 (Local object in class method stays in memory for each call). (Laruence) . Fixed bug #66909 (configure fails utf8_to_mutf7 test). (Michael Orlitzky) . Fixed bug #70781 (Extension tests fail on dynamic ext dependency). (Francois Laupretre) . Fixed bug #71089 (No check to duplicate zend_extension). (Remi) . Fixed bug #71086 (Invalid numeric literal parse error within highlight_string() function). (Nikita) . Fixed bug #71154 (Incorrect HT iterator invalidation causes iterator reuse). (Nikita) . Fixed bug #52355 (Negating zero does not produce negative zero). (Andrea) . Fixed bug #66179 (var_export() exports float as integer). (Andrea) . Fixed bug #70804 (Unary add on negative zero produces positive zero). (Andrea) - CURL: . Fixed bug #71144 (Sementation fault when using cURL with ZTS). (Michael Maroszek, Laruence) - DBA: . Fixed key leak with invalid resource. (Laruence) - Filter: . Fixed bug #71063 (filter_input(INPUT_ENV, ..) does not work). (Reeze Xia) - FTP: . Implemented FR #55651 (Option to ignore the returned FTP PASV address). (abrender at elitehosts dot com) - FPM: . Fixed bug #70755 (fpm_log.c memory leak and buffer overflow). (Stas) - GD: . Fixed bug #70976 (Memory Read via gdImageRotateInterpolated Array Index Out of Bounds). (emmanuel dot law at gmail dot com). - Mbstring: . Fixed bug #71066 (mb_send_mail: Program terminated with signal SIGSEGV, Segmentation fault). (Laruence) - Opcache: . Fixed bug #71127 (Define in auto_prepend_file is overwrite). (Laruence) - PCRE: . Fixed bug #71178 (preg_replace with arrays creates [0] in replace array if not already set). (Laruence) - Readline: . Fixed bug #71094 (readline_completion_function corrupts static array on second TAB). (Nikita) - Session: . Fixed bug #71122 (Session GC may not remove obsolete session data). (Yasuo) - SPL: . Fixed bug #71077 (ReflectionMethod for ArrayObject constructor returns wrong number of parameters). (Laruence) . Fixed bug #71153 (Performance Degradation in ArrayIterator with large arrays). (Nikita) - Standard: . Fixed bug #71270 (Heap BufferOver Flow in escapeshell functions). (emmanuel dot law at gmail dot com) - WDDX: . Fixed bug #70661 (Use After Free Vulnerability in WDDX Packet Deserialization). (taoguangchen at icloud dot com) . Fixed bug #70741 (Session WDDX Packet Deserialization Type Confusion Vulnerability). (taoguangchen at icloud dot com) - XMLRPC . Fixed bug #70728 (Type Confusion Vulnerability in PHP_to_XMLRPC_worker). (Julien)
2016-01-08 04:29:12 +01:00
# $NetBSD: phpversion.mk,v 1.122 2016/01/08 03:29:12 taca Exp $
2007-06-18 09:21:09 +02:00
#
# 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.
2007-06-18 09:21:09 +02:00
#
# === User-settable variables ===
#
# PHP_VERSION_DEFAULT
# The PHP version to choose when more than one is acceptable to
# the package.
2007-06-18 09:21:09 +02:00
#
2015-12-06 16:13:02 +01:00
# Possible: 55 56 70
# Default: 55
2007-06-18 09:21:09 +02:00
#
# === 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}
#
2007-06-18 09:21:09 +02:00
# === Package-settable variables ===
#
# PHP_VERSIONS_ACCEPTED
# The PHP versions that are accepted by the package.
#
2015-12-06 16:13:02 +01:00
# Possible: 55 56 70
2015-12-05 06:50:33 +01:00
# Default: 55 56
2007-06-18 09:21:09 +02:00
#
# PHP_CHECK_INSTALLED
2015-12-05 06:50:33 +01:00
# Check installed version of PHP. Should be used by lang/php55,
2015-12-06 16:13:02 +01:00
# lang/php56 and lang/php70 only.
#
# Possible: Yes No
# Default: Yes
#
2007-06-18 09:21:09 +02:00
# === Variables defined by this file ===
#
# PKG_PHP_VERSION
# The selected PHP version.
#
2015-12-06 16:13:02 +01:00
# Possible: 55 56 70
2007-06-18 09:21:09 +02:00
# 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.
#
2015-12-06 16:13:02 +01:00
# Possible: 5 7
# Default: 5
#
2007-06-18 09:21:09 +02:00
# PKG_PHP
# The same as ${PKG_PHP_VERSION}, prefixed with "php-".
2007-06-18 09:21:09 +02:00
#
# PHPPKGSRCDIR
# The directory of the PHP implementation, relative to the
# package directory.
#
2015-12-05 06:50:33 +01:00
# Example: ../../lang/php55
2007-06-18 09:21:09 +02:00
#
# PHP_PKG_PREFIX
# The prefix that is prepended to the package name.
#
2015-12-06 16:13:02 +01:00
# Example: php55 php56 php70
2007-06-18 09:21:09 +02:00
#
# PHP_EXTENSION_DIR
# Relative path to ${PREFIX} for PHP's extensions. It is derived from
# initial release of major version.
#
# Example: lib/php/20090630
#
2007-06-18 09:21:09 +02:00
# Keywords: php
#
.if !defined(PHPVERSION_MK)
PHPVERSION_MK= defined
# Define each PHP's version.
PHP55_VERSION= 5.5.31
Update php55 to 5.6.17, including security fix. 07 Jan 2016, PHP 5.6.17 - Core: . Fixed bug #66909 (configure fails utf8_to_mutf7 test). (Michael Orlitzky) . Fixed bug #70958 (Invalid opcode while using ::class as trait method paramater default value). (Laruence) . Fixed bug #70957 (self::class can not be resolved with reflection for abstract class). (Laruence) . Fixed bug #70944 (try{ } finally{} can create infinite chains of exceptions). (Laruence) . Fixed bug #61751 (SAPI build problem on AIX: Undefined symbol: php_register_internal_extensions). (Lior Kaplan) - FPM: . Fixed bug #70755 (fpm_log.c memory leak and buffer overflow). (Stas) - GD: . Fixed bug #70976 (Memory Read via gdImageRotateInterpolated Array Index Out of Bounds). (emmanuel dot law at gmail dot com). - Mysqlnd: . Fixed bug #68077 (LOAD DATA LOCAL INFILE / open_basedir restriction). (Laruence) - SOAP: . Fixed bug #70900 (SoapClient systematic out of memory error). (Dmitry) - Standard: . Fixed bug #70960 (ReflectionFunction for array_unique returns wrong number of parameters). (Laruence) - PDO_Firebird: . Fixed bug #60052 (Integer returned as a 64bit integer on X64_86). (Mariuz) - WDDX: . Fixed bug #70661 (Use After Free Vulnerability in WDDX Packet Deserialization). (taoguangchen at icloud dot com) . Fixed bug #70741 (Session WDDX Packet Deserialization Type Confusion Vulnerability). (taoguangchen at icloud dot com) - XMLRPC: . Fixed bug #70728 (Type Confusion Vulnerability in PHP_to_XMLRPC_worker()). (Julien)
2016-01-08 04:28:20 +01:00
PHP56_VERSION= 5.6.17
Update php70 to 7.0.2, including security fix. 07 Jan 2016 PHP 7.0.2 - Core: . Fixed bug #71165 (-DGC_BENCH=1 doesn't work on PHP7). (y dot uchiyama dot 1015 at gmail dot com) . Fixed bug #71163 (Segmentation Fault: cleanup_unfinished_calls). (Laruence) . Fixed bug #71109 (ZEND_MOD_CONFLICTS("xdebug") doesn't work). (Laruence) . Fixed bug #71092 (Segmentation fault with return type hinting). (Laruence) . Fixed bug memleak in header_register_callback. (Laruence) . Fixed bug #71067 (Local object in class method stays in memory for each call). (Laruence) . Fixed bug #66909 (configure fails utf8_to_mutf7 test). (Michael Orlitzky) . Fixed bug #70781 (Extension tests fail on dynamic ext dependency). (Francois Laupretre) . Fixed bug #71089 (No check to duplicate zend_extension). (Remi) . Fixed bug #71086 (Invalid numeric literal parse error within highlight_string() function). (Nikita) . Fixed bug #71154 (Incorrect HT iterator invalidation causes iterator reuse). (Nikita) . Fixed bug #52355 (Negating zero does not produce negative zero). (Andrea) . Fixed bug #66179 (var_export() exports float as integer). (Andrea) . Fixed bug #70804 (Unary add on negative zero produces positive zero). (Andrea) - CURL: . Fixed bug #71144 (Sementation fault when using cURL with ZTS). (Michael Maroszek, Laruence) - DBA: . Fixed key leak with invalid resource. (Laruence) - Filter: . Fixed bug #71063 (filter_input(INPUT_ENV, ..) does not work). (Reeze Xia) - FTP: . Implemented FR #55651 (Option to ignore the returned FTP PASV address). (abrender at elitehosts dot com) - FPM: . Fixed bug #70755 (fpm_log.c memory leak and buffer overflow). (Stas) - GD: . Fixed bug #70976 (Memory Read via gdImageRotateInterpolated Array Index Out of Bounds). (emmanuel dot law at gmail dot com). - Mbstring: . Fixed bug #71066 (mb_send_mail: Program terminated with signal SIGSEGV, Segmentation fault). (Laruence) - Opcache: . Fixed bug #71127 (Define in auto_prepend_file is overwrite). (Laruence) - PCRE: . Fixed bug #71178 (preg_replace with arrays creates [0] in replace array if not already set). (Laruence) - Readline: . Fixed bug #71094 (readline_completion_function corrupts static array on second TAB). (Nikita) - Session: . Fixed bug #71122 (Session GC may not remove obsolete session data). (Yasuo) - SPL: . Fixed bug #71077 (ReflectionMethod for ArrayObject constructor returns wrong number of parameters). (Laruence) . Fixed bug #71153 (Performance Degradation in ArrayIterator with large arrays). (Nikita) - Standard: . Fixed bug #71270 (Heap BufferOver Flow in escapeshell functions). (emmanuel dot law at gmail dot com) - WDDX: . Fixed bug #70661 (Use After Free Vulnerability in WDDX Packet Deserialization). (taoguangchen at icloud dot com) . Fixed bug #70741 (Session WDDX Packet Deserialization Type Confusion Vulnerability). (taoguangchen at icloud dot com) - XMLRPC . Fixed bug #70728 (Type Confusion Vulnerability in PHP_to_XMLRPC_worker). (Julien)
2016-01-08 04:29:12 +01:00
PHP70_VERSION= 7.0.2
# Define initial release of major version.
PHP55_RELDATE= 20130620
2014-11-24 16:36:05 +01:00
PHP56_RELDATE= 20140828
2015-12-06 16:13:02 +01:00
PHP70_RELDATE= 20151203
2007-09-20 11:11:07 +02:00
_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
2007-09-20 11:11:07 +02:00
.include "../../mk/bsd.prefs.mk"
PHP_VERSION_DEFAULT?= 55
2015-12-06 16:13:02 +01:00
PHP_VERSIONS_ACCEPTED?= 55 56 70
# transform the list into individual variables
.for pv in ${PHP_VERSIONS_ACCEPTED}
_PHP_VERSION_${pv}_OK= yes
.endfor
# check what is installed
2014-11-24 16:36:05 +01:00
.if exists(${LOCALBASE}/lib/php/20140828)
_PHP_VERSION_56_INSTALLED= yes
_PHP_INSTALLED= yes
.elif exists(${LOCALBASE}/lib/php/20130620)
_PHP_VERSION_55_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/}
2015-12-06 16:13:02 +01:00
# 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)
2015-01-01 12:51:41 +01:00
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:
#
2015-12-05 06:50:33 +01:00
.if ${_PHP_VERSION} == "55"
PHPPKGSRCDIR= ../../lang/php55
PHP_VERSION= ${PHP55_VERSION}
PHP_INITIAL_TEENY= 1
PHP_PKG_PREFIX= php55
PHP_EXTENSION_DIR= lib/php/${PHP55_RELDATE}
2014-11-24 16:36:05 +01:00
.elif ${_PHP_VERSION} == "56"
PHPPKGSRCDIR= ../../lang/php56
PHP_VERSION= ${PHP56_VERSION}
PHP_INITIAL_TEENY= 3
2014-11-24 16:36:05 +01:00
PHP_PKG_PREFIX= php56
PHP_EXTENSION_DIR= lib/php/${PHP56_RELDATE}
2015-12-06 16:13:02 +01:00
.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}
.else
# force an error
2015-01-01 12:51:41 +01:00
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}
2015-01-01 12:51:41 +01:00
PKG_FAIL_REASON+= "${PKGBASE} requires ${PKG_PHP}, but php-${_PHP_VERSION_INSTALLED} is already installed."
.endif
.endif
.endif # PHPVERSION_MK