summaryrefslogtreecommitdiff
path: root/lang/php71
diff options
context:
space:
mode:
authorjdolecek <jdolecek@pkgsrc.org>2016-08-04 14:09:03 +0000
committerjdolecek <jdolecek@pkgsrc.org>2016-08-04 14:09:03 +0000
commita73e350a936d9a936656d9e8dd2bd902c749a7ea (patch)
tree756e7b8ff87e64dd34eaee95eeba967ace1b7524 /lang/php71
parent87f672d37fdc6cc3de0c523057a43aab8b6851b3 (diff)
downloadpkgsrc-a73e350a936d9a936656d9e8dd2bd902c749a7ea.tar.gz
Add php 7.1.0beta1
PHP 7.1.x builds upon 7.0.x, adding new features (so far) * Iterable type. * HTTP/2 Server Push Support in ext/curl & other ext/curl improvements * Fix inconsistent behavior in $this variable * Square bracket syntax for array destructuring assignment * Create closure from callable * More precise float values * Asynchronous Signal Handling (without ticks) in ext/pcntl. * Additional Context in pcntl_signal Handler NOTE: this is BETA, not suitable for production environment
Diffstat (limited to 'lang/php71')
-rw-r--r--lang/php71/DESCR19
-rw-r--r--lang/php71/MESSAGE13
-rw-r--r--lang/php71/Makefile71
-rw-r--r--lang/php71/Makefile.common22
-rw-r--r--lang/php71/Makefile.php92
-rw-r--r--lang/php71/PLIST283
-rw-r--r--lang/php71/buildlink3.mk15
-rw-r--r--lang/php71/distinfo27
-rw-r--r--lang/php71/patches/patch-acinclude.m413
-rw-r--r--lang/php71/patches/patch-configure91
-rw-r--r--lang/php71/patches/patch-ext_gd_config.m449
-rw-r--r--lang/php71/patches/patch-ext_imap_config.m428
-rw-r--r--lang/php71/patches/patch-ext_pcre_pcrelib_config.h26
-rw-r--r--lang/php71/patches/patch-ext_pdo__mysql_config.m413
-rw-r--r--lang/php71/patches/patch-ext_pdo_config.m425
-rw-r--r--lang/php71/patches/patch-ext_phar_Makefile.frag13
-rw-r--r--lang/php71/patches/patch-ext_phar_phar_phar.php10
-rw-r--r--lang/php71/patches/patch-ext_recode_recode.c22
-rw-r--r--lang/php71/patches/patch-ext_sqlite3_libsqlite_sqlite3.c13
-rw-r--r--lang/php71/patches/patch-ext_standard_basic__functions.c13
-rw-r--r--lang/php71/patches/patch-ext_standard_php__dns.h23
-rw-r--r--lang/php71/patches/patch-makedist13
-rw-r--r--lang/php71/patches/patch-php.ini-development33
-rw-r--r--lang/php71/patches/patch-php.ini-production33
-rw-r--r--lang/php71/patches/patch-run-tests.php10
-rw-r--r--lang/php71/patches/patch-sapi_cgi_Makefile.frag16
-rw-r--r--lang/php71/patches/patch-sapi_cli_Makefile.frag19
-rw-r--r--lang/php71/patches/patch-sapi_fpm_fpm_events_port.c45
-rw-r--r--lang/php71/patches/patch-sapi_fpm_php-fpm.conf.in13
29 files changed, 1063 insertions, 0 deletions
diff --git a/lang/php71/DESCR b/lang/php71/DESCR
new file mode 100644
index 00000000000..ce8ae43d3e8
--- /dev/null
+++ b/lang/php71/DESCR
@@ -0,0 +1,19 @@
+PHP is a widely-used open source general-purpose scripting language
+that is especially suited for web development and can be embedded
+into HTML. It is modular, and object-oriented. Much of its syntax
+is borrowed from C, Java and Perl with a couple of unique PHP-specific
+features thrown in. The language is designed to allow web developers
+to write dynamically generated pages quickly.
+
+This package provides PHP version 7.1.x.
+
+PHP 7.1.x builds upon 7.0.x, adding new features:
+
+* Iterable type.
+* HTTP/2 Server Push Support in ext/curl & other ext/curl improvements
+* Fix inconsistent behavior in $this variable
+* Square bracket syntax for array destructuring assignment
+* Create closure from callable
+* More precise float values
+* Asynchronous Signal Handling (without ticks) in ext/pcntl.
+* Additional Context in pcntl_signal Handler
diff --git a/lang/php71/MESSAGE b/lang/php71/MESSAGE
new file mode 100644
index 00000000000..1d6d323fb43
--- /dev/null
+++ b/lang/php71/MESSAGE
@@ -0,0 +1,13 @@
+===========================================================================
+$NetBSD: MESSAGE,v 1.1 2016/08/04 14:09:03 jdolecek Exp $
+
+To process PHP scripts, you will need a PHP-enabled HTTP server. You may
+either configure the HTTP server to use the PHP CGI binary located in
+
+ ${CGIDIR}/php
+
+or you may install a PHP module for your HTTP server, e.g. www/ap-php.
+
+WARNING:
+PHP 7.1 is BETA, THIS IS A DEVELOPMENT PREVIEW - DO NOT USE IT IN PRODUCTION!
+===========================================================================
diff --git a/lang/php71/Makefile b/lang/php71/Makefile
new file mode 100644
index 00000000000..fea89a04205
--- /dev/null
+++ b/lang/php71/Makefile
@@ -0,0 +1,71 @@
+# $NetBSD: Makefile,v 1.1 2016/08/04 14:09:03 jdolecek Exp $
+
+#
+# We can't omit PKGNAME here to handle PKG_OPTIONS.
+#
+PKGNAME= php-${PHP_VERSION}
+CATEGORIES= lang
+
+HOMEPAGE= http://www.php.net/
+COMMENT= PHP Hypertext Preprocessor version 7.1
+LICENSE= php
+
+# 7.1 is in beta, available only on dev location
+MASTER_SITES= https://downloads.php.net/~ab/
+
+TEST_TARGET= test
+
+USE_TOOLS+= gmake lex pkg-config
+LIBTOOL_OVERRIDE= # empty
+PHP_CHECK_INSTALLED= No
+
+PHP_VERSIONS_ACCEPTED= 71
+
+.include "Makefile.php"
+
+CGIDIR= ${PREFIX}/libexec/cgi-bin
+EGDIR= ${PREFIX}/share/examples/php
+MESSAGE_SUBST+= CGIDIR=${CGIDIR}
+
+CONFIGURE_ENV+= lt_cv_path_SED=${SED:Q}
+MAKE_ENV+= INSTALL_ROOT=${DESTDIR}
+
+CONF_FILES= ${EGDIR}/php.ini-production ${PKG_SYSCONFDIR}/php.ini
+PLIST_SUBST+= PHPEXTDIR="${PHP_EXTENSION_DIR}"
+
+SUBST_CLASSES+= path
+SUBST_MESSAGE.path= Fixing common paths.
+SUBST_STAGE.path= pre-configure
+SUBST_FILES.path= ext/phar/phar/phar.php
+SUBST_FILES.path+= php.ini-development php.ini-production run-tests.php
+SUBST_FILES.path+= sapi/cgi/Makefile.frag
+SUBST_SED.path= -e 's,@CGIDIR@,${CGIDIR},g'
+SUBST_SED.path+= -e 's,@PREFIX@,${PREFIX},g'
+
+INSTALLATION_DIRS+= ${CGIDIR} ${PHP_EXTENSION_DIR} ${EGDIR} share/php
+
+# Make sure modules can link correctly
+.if ${OPSYS} == "Darwin"
+INSTALL_UNSTRIPPED= yes
+.endif
+
+# Darwin < 9 (Mac OS X < 10.5 "Leopard") doesn't have gethostuuid(2)
+# and lacks the zone memory allocator
+.if !empty(MACHINE_PLATFORM:MDarwin-[0-8].*-*)
+CFLAGS+= -DSQLITE_ENABLE_LOCKING_STYLE=0 -DSQLITE_WITHOUT_ZONEMALLOC
+.endif
+
+post-extract:
+ cd ${WRKSRC} && \
+ ${FIND} . -xdev -type f -name '*.orig' -exec ${RM} -f {} \;
+
+post-install:
+ ${INSTALL_PROGRAM} ${WRKSRC}/sapi/cli/php ${DESTDIR}${PREFIX}/bin/php
+ ${INSTALL_DATA} ${WRKSRC}/sapi/cli/php.1 \
+ ${DESTDIR}${PREFIX}/${PKGMANDIR}/man1/php.1
+ ${INSTALL_PROGRAM} ${WRKSRC}/sapi/cgi/php-cgi ${DESTDIR}${CGIDIR}/php
+ cd ${WRKSRC}; ${INSTALL_DATA} php.ini-development php.ini-production \
+ ${DESTDIR}${EGDIR}
+ ${INSTALL_DATA} ${WRKSRC}/php.gif ${DESTDIR}${PREFIX}/share/php
+
+.include "../../mk/bsd.pkg.mk"
diff --git a/lang/php71/Makefile.common b/lang/php71/Makefile.common
new file mode 100644
index 00000000000..a4b617f09d5
--- /dev/null
+++ b/lang/php71/Makefile.common
@@ -0,0 +1,22 @@
+# $NetBSD: Makefile.common,v 1.1 2016/08/04 14:09:03 jdolecek Exp $
+# used by lang/php71/Makefile.php
+# used by lang/php/ext.mk
+# used by meta-pkgs/php71-extensions/Makefile
+
+PHP_VERSION_REQD= 71
+
+.include "../../lang/php/common.mk"
+
+CATEGORIES+= www
+MAINTAINER?= pkgsrc-users@NetBSD.org
+
+# needed due to (broken?) configure checks in php-xmlrpc and php5-dom
+CONFIGURE_ENV+= PHP_LIBXML_SHARED="1"
+
+EXTRACT_USING= gtar
+
+.include "../../mk/compiler.mk"
+.if !empty(PKGSRC_COMPILER:Mclang)
+# configure test gets confused by wrappers dropping -R /usr/lib
+CONFIGURE_ARGS+= php_cv_cc_dashr=no
+.endif
diff --git a/lang/php71/Makefile.php b/lang/php71/Makefile.php
new file mode 100644
index 00000000000..1fc94baea43
--- /dev/null
+++ b/lang/php71/Makefile.php
@@ -0,0 +1,92 @@
+# $NetBSD: Makefile.php,v 1.1 2016/08/04 14:09:03 jdolecek Exp $
+# used by lang/php71/Makefile
+# used by www/ap-php/Makefile
+# used by www/php-fpm/Makefile
+
+.include "../../lang/php71/Makefile.common"
+
+DISTINFO_FILE= ${.CURDIR}/../../lang/php71/distinfo
+PATCHDIR= ${.CURDIR}/../../lang/php71/patches
+
+USE_LIBTOOL= YES
+USE_LANGUAGES= c c++
+GNU_CONFIGURE= YES
+BUILD_DEFS+= VARBASE
+PLIST_VARS+= dtrace
+
+CONFIGURE_ENV+= EXTENSION_DIR="${PREFIX}/${PHP_EXTENSION_DIR}"
+
+.include "../../mk/bsd.prefs.mk"
+
+CONFIGURE_ARGS+= --with-config-file-path=${PKG_SYSCONFDIR}
+CONFIGURE_ARGS+= --with-config-file-scan-dir=${PKG_SYSCONFDIR}/php.d
+CONFIGURE_ARGS+= --sysconfdir=${PKG_SYSCONFDIR}
+CONFIGURE_ARGS+= --localstatedir=${VARBASE}
+
+CONFIGURE_ARGS+= --without-mysqli
+CONFIGURE_ARGS+= --without-iconv
+CONFIGURE_ARGS+= --without-pear
+#CONFIGURE_ARGS+= --without-intl
+
+CONFIGURE_ARGS+= --disable-posix
+CONFIGURE_ARGS+= --disable-dom
+CONFIGURE_ARGS+= --disable-opcache
+CONFIGURE_ARGS+= --disable-pdo
+CONFIGURE_ARGS+= --disable-json
+
+CONFIGURE_ARGS+= --enable-cgi
+CONFIGURE_ARGS+= --enable-mysqlnd
+CONFIGURE_ARGS+= --enable-xml
+CONFIGURE_ARGS+= --with-libxml-dir=${PREFIX}
+.include "../../textproc/libxml2/buildlink3.mk"
+
+PKG_OPTIONS_VAR= PKG_OPTIONS.${PHP_PKG_PREFIX}
+PKG_SUPPORTED_OPTIONS+= inet6 ssl maintainer-zts readline
+PKG_SUGGESTED_OPTIONS+= inet6 ssl
+
+.if ${OPSYS} == "SunOS" || ${OPSYS} == "Darwin" || ${OPSYS} == "FreeBSD"
+PKG_SUPPORTED_OPTIONS+= dtrace
+.endif
+
+.include "../../mk/bsd.options.mk"
+
+.if !empty(PKG_OPTIONS:Minet6)
+CONFIGURE_ARGS+= --enable-ipv6
+.else
+CONFIGURE_ARGS+= --disable-ipv6
+.endif
+
+.if !empty(PKG_OPTIONS:Mssl)
+. include "../../security/openssl/buildlink3.mk"
+. if ${OPSYS} == "SunOS"
+CONFIGURE_ARGS+= --with-openssl=yes
+LIBS.SunOS+= -lcrypto
+. else
+CONFIGURE_ARGS+= --with-openssl=${BUILDLINK_PREFIX.openssl}
+. endif
+.else
+CONFIGURE_ARGS+= --without-openssl
+.endif
+
+.if !empty(PKG_OPTIONS:Mmaintainer-zts)
+CONFIGURE_ARGS+= --enable-maintainer-zts
+.endif
+
+.if !empty(PKG_OPTIONS:Mreadline)
+USE_GNU_READLINE= yes
+.include "../../devel/readline/buildlink3.mk"
+CONFIGURE_ARGS+= --with-readline=${BUILDLINK_PREFIX.readline}
+.else
+CONFIGURE_ARGS+= --without-readline
+.endif
+
+.if !empty(PKG_OPTIONS:Mdtrace)
+PLIST.dtrace= yes
+CONFIGURE_ARGS+= --enable-dtrace
+
+# See https://bugs.php.net/bug.php?id=61268
+INSTALL_MAKE_FLAGS+= -r
+.endif
+
+DL_AUTO_VARS= yes
+.include "../../mk/dlopen.buildlink3.mk"
diff --git a/lang/php71/PLIST b/lang/php71/PLIST
new file mode 100644
index 00000000000..81e00f75fc3
--- /dev/null
+++ b/lang/php71/PLIST
@@ -0,0 +1,283 @@
+@comment $NetBSD: PLIST,v 1.1 2016/08/04 14:09:03 jdolecek Exp $
+bin/phar
+bin/phar.phar
+bin/php
+bin/php-config
+bin/phpdbg
+bin/phpize
+include/php/TSRM/TSRM.h
+include/php/TSRM/readdir.h
+include/php/TSRM/tsrm_config.h
+include/php/TSRM/tsrm_config.w32.h
+include/php/TSRM/tsrm_config_common.h
+include/php/TSRM/tsrm_nw.h
+include/php/TSRM/tsrm_strtok_r.h
+include/php/TSRM/tsrm_win32.h
+include/php/Zend/zend.h
+include/php/Zend/zend_API.h
+include/php/Zend/zend_alloc.h
+include/php/Zend/zend_alloc_sizes.h
+include/php/Zend/zend_arena.h
+include/php/Zend/zend_ast.h
+include/php/Zend/zend_bitset.h
+include/php/Zend/zend_build.h
+include/php/Zend/zend_builtin_functions.h
+include/php/Zend/zend_closures.h
+include/php/Zend/zend_compile.h
+include/php/Zend/zend_config.h
+include/php/Zend/zend_config.nw.h
+include/php/Zend/zend_config.w32.h
+include/php/Zend/zend_constants.h
+include/php/Zend/zend_dtrace.h
+${PLIST.dtrace}include/php/Zend/zend_dtrace_gen.h
+include/php/Zend/zend_errors.h
+include/php/Zend/zend_exceptions.h
+include/php/Zend/zend_execute.h
+include/php/Zend/zend_extensions.h
+include/php/Zend/zend_float.h
+include/php/Zend/zend_gc.h
+include/php/Zend/zend_generators.h
+include/php/Zend/zend_globals.h
+include/php/Zend/zend_globals_macros.h
+include/php/Zend/zend_hash.h
+include/php/Zend/zend_highlight.h
+include/php/Zend/zend_inheritance.h
+include/php/Zend/zend_ini.h
+include/php/Zend/zend_ini_parser.h
+include/php/Zend/zend_ini_scanner.h
+include/php/Zend/zend_ini_scanner_defs.h
+include/php/Zend/zend_interfaces.h
+include/php/Zend/zend_istdiostream.h
+include/php/Zend/zend_iterators.h
+include/php/Zend/zend_language_parser.h
+include/php/Zend/zend_language_scanner.h
+include/php/Zend/zend_language_scanner_defs.h
+include/php/Zend/zend_list.h
+include/php/Zend/zend_llist.h
+include/php/Zend/zend_long.h
+include/php/Zend/zend_modules.h
+include/php/Zend/zend_multibyte.h
+include/php/Zend/zend_multiply.h
+include/php/Zend/zend_object_handlers.h
+include/php/Zend/zend_objects.h
+include/php/Zend/zend_objects_API.h
+include/php/Zend/zend_operators.h
+include/php/Zend/zend_portability.h
+include/php/Zend/zend_ptr_stack.h
+include/php/Zend/zend_range_check.h
+include/php/Zend/zend_signal.h
+include/php/Zend/zend_smart_str.h
+include/php/Zend/zend_smart_str_public.h
+include/php/Zend/zend_sort.h
+include/php/Zend/zend_stack.h
+include/php/Zend/zend_stream.h
+include/php/Zend/zend_string.h
+include/php/Zend/zend_strtod.h
+include/php/Zend/zend_strtod_int.h
+include/php/Zend/zend_ts_hash.h
+include/php/Zend/zend_type_info.h
+include/php/Zend/zend_types.h
+include/php/Zend/zend_variables.h
+include/php/Zend/zend_virtual_cwd.h
+include/php/Zend/zend_vm.h
+include/php/Zend/zend_vm_def.h
+include/php/Zend/zend_vm_execute.h
+include/php/Zend/zend_vm_opcodes.h
+include/php/ext/date/lib/timelib.h
+include/php/ext/date/lib/timelib_config.h
+include/php/ext/date/lib/timelib_structs.h
+include/php/ext/date/php_date.h
+include/php/ext/filter/php_filter.h
+include/php/ext/hash/php_hash.h
+include/php/ext/hash/php_hash_adler32.h
+include/php/ext/hash/php_hash_crc32.h
+include/php/ext/hash/php_hash_fnv.h
+include/php/ext/hash/php_hash_gost.h
+include/php/ext/hash/php_hash_haval.h
+include/php/ext/hash/php_hash_joaat.h
+include/php/ext/hash/php_hash_md.h
+include/php/ext/hash/php_hash_ripemd.h
+include/php/ext/hash/php_hash_sha.h
+include/php/ext/hash/php_hash_sha3.h
+include/php/ext/hash/php_hash_snefru.h
+include/php/ext/hash/php_hash_tiger.h
+include/php/ext/hash/php_hash_whirlpool.h
+include/php/ext/libxml/php_libxml.h
+include/php/ext/mysqlnd/config-win.h
+include/php/ext/mysqlnd/mysql_float_to_double.h
+include/php/ext/mysqlnd/mysqlnd.h
+include/php/ext/mysqlnd/mysqlnd_alloc.h
+include/php/ext/mysqlnd/mysqlnd_auth.h
+include/php/ext/mysqlnd/mysqlnd_block_alloc.h
+include/php/ext/mysqlnd/mysqlnd_charset.h
+include/php/ext/mysqlnd/mysqlnd_commands.h
+include/php/ext/mysqlnd/mysqlnd_connection.h
+include/php/ext/mysqlnd/mysqlnd_debug.h
+include/php/ext/mysqlnd/mysqlnd_enum_n_def.h
+include/php/ext/mysqlnd/mysqlnd_ext_plugin.h
+include/php/ext/mysqlnd/mysqlnd_libmysql_compat.h
+include/php/ext/mysqlnd/mysqlnd_plugin.h
+include/php/ext/mysqlnd/mysqlnd_portability.h
+include/php/ext/mysqlnd/mysqlnd_priv.h
+include/php/ext/mysqlnd/mysqlnd_protocol_frame_codec.h
+include/php/ext/mysqlnd/mysqlnd_ps.h
+include/php/ext/mysqlnd/mysqlnd_read_buffer.h
+include/php/ext/mysqlnd/mysqlnd_result.h
+include/php/ext/mysqlnd/mysqlnd_result_meta.h
+include/php/ext/mysqlnd/mysqlnd_reverse_api.h
+include/php/ext/mysqlnd/mysqlnd_statistics.h
+include/php/ext/mysqlnd/mysqlnd_structs.h
+include/php/ext/mysqlnd/mysqlnd_vio.h
+include/php/ext/mysqlnd/mysqlnd_wireprotocol.h
+include/php/ext/mysqlnd/php_mysqlnd.h
+include/php/ext/pcre/pcrelib/config.h
+include/php/ext/pcre/pcrelib/pcre.h
+include/php/ext/pcre/pcrelib/pcre_internal.h
+include/php/ext/pcre/pcrelib/pcreposix.h
+include/php/ext/pcre/pcrelib/ucp.h
+include/php/ext/pcre/php_pcre.h
+include/php/ext/phar/php_phar.h
+include/php/ext/session/mod_files.h
+include/php/ext/session/mod_user.h
+include/php/ext/session/php_session.h
+include/php/ext/simplexml/php_simplexml.h
+include/php/ext/simplexml/php_simplexml_exports.h
+include/php/ext/spl/php_spl.h
+include/php/ext/spl/spl_array.h
+include/php/ext/spl/spl_directory.h
+include/php/ext/spl/spl_dllist.h
+include/php/ext/spl/spl_engine.h
+include/php/ext/spl/spl_exceptions.h
+include/php/ext/spl/spl_fixedarray.h
+include/php/ext/spl/spl_functions.h
+include/php/ext/spl/spl_heap.h
+include/php/ext/spl/spl_iterators.h
+include/php/ext/spl/spl_observer.h
+include/php/ext/standard/base64.h
+include/php/ext/standard/basic_functions.h
+include/php/ext/standard/crc32.h
+include/php/ext/standard/credits.h
+include/php/ext/standard/credits_ext.h
+include/php/ext/standard/credits_sapi.h
+include/php/ext/standard/crypt_blowfish.h
+include/php/ext/standard/crypt_freesec.h
+include/php/ext/standard/css.h
+include/php/ext/standard/cyr_convert.h
+include/php/ext/standard/datetime.h
+include/php/ext/standard/dl.h
+include/php/ext/standard/exec.h
+include/php/ext/standard/file.h
+include/php/ext/standard/flock_compat.h
+include/php/ext/standard/fsock.h
+include/php/ext/standard/head.h
+include/php/ext/standard/html.h
+include/php/ext/standard/html_tables.h
+include/php/ext/standard/info.h
+include/php/ext/standard/md5.h
+include/php/ext/standard/microtime.h
+include/php/ext/standard/pack.h
+include/php/ext/standard/pageinfo.h
+include/php/ext/standard/php_array.h
+include/php/ext/standard/php_assert.h
+include/php/ext/standard/php_browscap.h
+include/php/ext/standard/php_crypt.h
+include/php/ext/standard/php_crypt_r.h
+include/php/ext/standard/php_dir.h
+include/php/ext/standard/php_dns.h
+include/php/ext/standard/php_ext_syslog.h
+include/php/ext/standard/php_filestat.h
+include/php/ext/standard/php_fopen_wrappers.h
+include/php/ext/standard/php_ftok.h
+include/php/ext/standard/php_http.h
+include/php/ext/standard/php_image.h
+include/php/ext/standard/php_incomplete_class.h
+include/php/ext/standard/php_iptc.h
+include/php/ext/standard/php_lcg.h
+include/php/ext/standard/php_link.h
+include/php/ext/standard/php_mail.h
+include/php/ext/standard/php_math.h
+include/php/ext/standard/php_metaphone.h
+include/php/ext/standard/php_mt_rand.h
+include/php/ext/standard/php_password.h
+include/php/ext/standard/php_rand.h
+include/php/ext/standard/php_random.h
+include/php/ext/standard/php_smart_string.h
+include/php/ext/standard/php_smart_string_public.h
+include/php/ext/standard/php_standard.h
+include/php/ext/standard/php_string.h
+include/php/ext/standard/php_type.h
+include/php/ext/standard/php_uuencode.h
+include/php/ext/standard/php_var.h
+include/php/ext/standard/php_versioning.h
+include/php/ext/standard/proc_open.h
+include/php/ext/standard/quot_print.h
+include/php/ext/standard/scanf.h
+include/php/ext/standard/sha1.h
+include/php/ext/standard/streamsfuncs.h
+include/php/ext/standard/uniqid.h
+include/php/ext/standard/url.h
+include/php/ext/standard/url_scanner_ex.h
+include/php/ext/standard/winver.h
+include/php/ext/xml/expat_compat.h
+include/php/ext/xml/php_xml.h
+include/php/main/SAPI.h
+include/php/main/build-defs.h
+include/php/main/fastcgi.h
+include/php/main/fopen_wrappers.h
+include/php/main/http_status_codes.h
+include/php/main/php.h
+include/php/main/php_compat.h
+include/php/main/php_config.h
+include/php/main/php_content_types.h
+include/php/main/php_getopt.h
+include/php/main/php_globals.h
+include/php/main/php_ini.h
+include/php/main/php_main.h
+include/php/main/php_memory_streams.h
+include/php/main/php_network.h
+include/php/main/php_open_temporary_file.h
+include/php/main/php_output.h
+include/php/main/php_reentrancy.h
+include/php/main/php_scandir.h
+include/php/main/php_stdint.h
+include/php/main/php_streams.h
+include/php/main/php_syslog.h
+include/php/main/php_ticks.h
+include/php/main/php_variables.h
+include/php/main/php_version.h
+include/php/main/rfc1867.h
+include/php/main/snprintf.h
+include/php/main/spprintf.h
+include/php/main/streams/php_stream_context.h
+include/php/main/streams/php_stream_filter_api.h
+include/php/main/streams/php_stream_glob_wrapper.h
+include/php/main/streams/php_stream_mmap.h
+include/php/main/streams/php_stream_plain_wrapper.h
+include/php/main/streams/php_stream_transport.h
+include/php/main/streams/php_stream_userspace.h
+include/php/main/streams/php_streams_int.h
+include/php/main/win95nt.h
+include/php/sapi/cli/cli.h
+lib/php/build/Makefile.global
+lib/php/build/acinclude.m4
+lib/php/build/config.guess
+lib/php/build/config.sub
+lib/php/build/libtool.m4
+lib/php/build/ltmain.sh
+lib/php/build/mkdep.awk
+lib/php/build/phpize.m4
+lib/php/build/run-tests.php
+lib/php/build/scan_makefile_in.awk
+lib/php/build/shtool
+libexec/cgi-bin/php
+man/man1/phar.1
+man/man1/phar.phar.1
+man/man1/php-cgi.1
+man/man1/php-config.1
+man/man1/php.1
+man/man1/phpdbg.1
+man/man1/phpize.1
+share/examples/php/php.ini-development
+share/examples/php/php.ini-production
+share/php/php.gif
+@pkgdir ${PHPEXTDIR}
diff --git a/lang/php71/buildlink3.mk b/lang/php71/buildlink3.mk
new file mode 100644
index 00000000000..7b84c7c4dd1
--- /dev/null
+++ b/lang/php71/buildlink3.mk
@@ -0,0 +1,15 @@
+# $NetBSD: buildlink3.mk,v 1.1 2016/08/04 14:09:03 jdolecek Exp $
+
+BUILDLINK_TREE+= php
+
+.if !defined(PHP_BUILDLINK3_MK)
+PHP_BUILDLINK3_MK:=
+
+BUILDLINK_API_DEPENDS.php+= php>=7.1.0<7.2
+BUILDLINK_ABI_DEPENDS.php+= php>=7.1.0<7.2
+BUILDLINK_PKGSRCDIR.php?= ../../lang/php71
+
+.include "../../textproc/libxml2/buildlink3.mk"
+.endif # PHP_BUILDLINK3_MK
+
+BUILDLINK_TREE+= -php
diff --git a/lang/php71/distinfo b/lang/php71/distinfo
new file mode 100644
index 00000000000..4e4d75d6a4c
--- /dev/null
+++ b/lang/php71/distinfo
@@ -0,0 +1,27 @@
+$NetBSD: distinfo,v 1.1 2016/08/04 14:09:03 jdolecek Exp $
+
+SHA1 (php-7.1.0beta1.tar.bz2) = 134df472aa88f7f5089645485277f3a55f3320b8
+RMD160 (php-7.1.0beta1.tar.bz2) = a699275c1ff60182c36462f67c94091af285c9f1
+SHA512 (php-7.1.0beta1.tar.bz2) = 459e0ae6db88968f67168b8d6ebae1a4bc4cc03ee7ff7872bbdc065c10e8aeb139d56da3099f7918a18fee6c64231c3e8797f4bfd7b7e575e7372fc8fa540cd5
+Size (php-7.1.0beta1.tar.bz2) = 15129827 bytes
+SHA1 (patch-acinclude.m4) = b682280fd89950c082c2226bdb7364b0dc475bad
+SHA1 (patch-configure) = a129e19ef87338f6e53ccc967c40ddcde7c7357c
+SHA1 (patch-ext_gd_config.m4) = a7ec1bd0d876657d4b5e597b9aa1e97c2d2801e3
+SHA1 (patch-ext_imap_config.m4) = f4e10ab81697b72019313f63bc630627a08efd92
+SHA1 (patch-ext_pcre_pcrelib_config.h) = 0cb05c3b3bfafd8119cf43162c0f4db7f5b37ba8
+SHA1 (patch-ext_pdo__mysql_config.m4) = b1ef91be5a729040197e9af50da0f5fd1f6c90a8
+SHA1 (patch-ext_pdo_config.m4) = 522281775cc0e70a135b1f813158988ef1f3e244
+SHA1 (patch-ext_phar_Makefile.frag) = 558869b60f8ed6674a3ba1d595a65f010df4c426
+SHA1 (patch-ext_phar_phar_phar.php) = f630e3946b21b76d4fe857a43e00e25c9445f2c8
+SHA1 (patch-ext_recode_recode.c) = a97a1815d6a41410f68c289debbb9396128a2159
+SHA1 (patch-ext_sqlite3_libsqlite_sqlite3.c) = 8a529a1b3f7c97731f2e719d006f67c3a7259bb5
+SHA1 (patch-ext_standard_basic__functions.c) = f97a2748c7b15fbd9a2d3c21e56079088cc05d56
+SHA1 (patch-ext_standard_php__dns.h) = 3687ceac4dff4605263b53acb761b071f7446ccb
+SHA1 (patch-makedist) = 2ac0e0391c031c4fcf4993e2269cde4c6bfddfd5
+SHA1 (patch-php.ini-development) = dd65962000ec06439fae3c9bf252fa46be4e33fd
+SHA1 (patch-php.ini-production) = ae61dffedf574b688fe576b0b2af748b7a28cd89
+SHA1 (patch-run-tests.php) = 86c4d3f03eb8e31b5a35820f426533c9478571fb
+SHA1 (patch-sapi_cgi_Makefile.frag) = 18769900f588ff81cc34474542afa1d65c070e65
+SHA1 (patch-sapi_cli_Makefile.frag) = 1cd29d09042863acbf5330e406410fdcf75d06b3
+SHA1 (patch-sapi_fpm_fpm_events_port.c) = 0f10fdb32fb7cab58e2abda49fb1fc658c410150
+SHA1 (patch-sapi_fpm_php-fpm.conf.in) = b3c4fd499cbfd2dffd9176abb54e298ea542a5d7
diff --git a/lang/php71/patches/patch-acinclude.m4 b/lang/php71/patches/patch-acinclude.m4
new file mode 100644
index 00000000000..0c6a2c6afb4
--- /dev/null
+++ b/lang/php71/patches/patch-acinclude.m4
@@ -0,0 +1,13 @@
+$NetBSD: patch-acinclude.m4,v 1.1 2016/08/04 14:09:03 jdolecek Exp $
+
+--- acinclude.m4.orig 2015-06-23 17:33:33.000000000 +0000
++++ acinclude.m4
+@@ -2354,7 +2354,7 @@ AC_DEFUN([PHP_SETUP_OPENSSL],[
+ if test "$found_openssl" = "no"; then
+
+ if test "$PHP_OPENSSL_DIR" = "yes"; then
+- PHP_OPENSSL_DIR="/usr/local/ssl /usr/local /usr /usr/local/openssl"
++ PHP_OPENSSL_DIR="/usr/local/ssl /usr/local /usr /usr/local/openssl /"
+ fi
+
+ for i in $PHP_OPENSSL_DIR; do
diff --git a/lang/php71/patches/patch-configure b/lang/php71/patches/patch-configure
new file mode 100644
index 00000000000..b643af6f5ce
--- /dev/null
+++ b/lang/php71/patches/patch-configure
@@ -0,0 +1,91 @@
+$NetBSD: patch-configure,v 1.1 2016/08/04 14:09:03 jdolecek Exp $
+
+--- configure.orig 2016-04-28 18:12:26.000000000 +0000
++++ configure
+@@ -6930,27 +6930,6 @@ EOF
+ ;;
+ esac
+
+- if test "$APACHE_VERSION" -lt 2004001; then
+- APXS_MPM=`$APXS -q MPM_NAME`
+- if test "$APXS_MPM" != "prefork" && test "$APXS_MPM" != "peruser" && test "$APXS_MPM" != "itk"; then
+-
+- enable_maintainer_zts=yes
+- if test "$pthreads_working" != "yes"; then
+- as_fn_error $? "ZTS currently requires working POSIX threads. We were unable to verify that your system supports Pthreads." "$LINENO" 5
+- fi
+-
+- fi
+- else
+- APACHE_THREADED_MPM=`$APXS_HTTPD -V | grep 'threaded:.*yes'`
+- if test -n "$APACHE_THREADED_MPM"; then
+-
+- enable_maintainer_zts=yes
+- if test "$pthreads_working" != "yes"; then
+- as_fn_error $? "ZTS currently requires working POSIX threads. We were unable to verify that your system supports Pthreads." "$LINENO" 5
+- fi
+-
+- fi
+- fi
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+ $as_echo "yes" >&6; }
+
+@@ -18408,7 +18387,7 @@ fi
+ if test "$found_openssl" = "no"; then
+
+ if test "$PHP_OPENSSL_DIR" = "yes"; then
+- PHP_OPENSSL_DIR="/usr/local/ssl /usr/local /usr /usr/local/openssl"
++ PHP_OPENSSL_DIR="/usr/local/ssl /usr/local /usr /usr/local/openssl /"
+ fi
+
+ for i in $PHP_OPENSSL_DIR; do
+@@ -20572,7 +20551,7 @@ $as_echo "yes" >&6; }
+ PHP_SQLITE3_CFLAGS="-I@ext_srcdir@/libsqlite $other_flags $threadsafe_flags $debug_flags"
+
+
+- for header_file in ext/sqlite3/libsqlite/sqlite3.h; do
++ for header_file; do
+
+
+ unique=`echo $header_file|$SED 's/[^a-zA-Z0-9]/_/g'`
+@@ -31742,7 +31721,7 @@ fi
+ if test "$found_openssl" = "no"; then
+
+ if test "$PHP_OPENSSL_DIR" = "yes"; then
+- PHP_OPENSSL_DIR="/usr/local/ssl /usr/local /usr /usr/local/openssl"
++ PHP_OPENSSL_DIR="/usr/local/ssl /usr/local /usr /usr/local/openssl /"
+ fi
+
+ for i in $PHP_OPENSSL_DIR; do
+@@ -42631,7 +42610,7 @@ fi
+ if test "$found_openssl" = "no"; then
+
+ if test "$PHP_OPENSSL_DIR" = "yes"; then
+- PHP_OPENSSL_DIR="/usr/local/ssl /usr/local /usr /usr/local/openssl"
++ PHP_OPENSSL_DIR="/usr/local/ssl /usr/local /usr /usr/local/openssl /"
+ fi
+
+ for i in $PHP_OPENSSL_DIR; do
+@@ -92806,7 +92785,7 @@ fi
+ if test "$found_openssl" = "no"; then
+
+ if test "$PHP_OPENSSL_DIR" = "yes"; then
+- PHP_OPENSSL_DIR="/usr/local/ssl /usr/local /usr /usr/local/openssl"
++ PHP_OPENSSL_DIR="/usr/local/ssl /usr/local /usr /usr/local/openssl /"
+ fi
+
+ for i in $PHP_OPENSSL_DIR; do
+@@ -96439,12 +96418,7 @@ old_CC=$CC
+ if test "$PHP_THREAD_SAFETY" = "yes" && test -n "$ac_cv_pthreads_cflags"; then
+ CXXFLAGS="$CXXFLAGS $ac_cv_pthreads_cflags"
+ INLINE_CFLAGS="$INLINE_CFLAGS $ac_cv_pthreads_cflags"
+- cat >meta_ccld<<EOF
+-#! /bin/sh
+-exec $CC $ac_cv_pthreads_cflags \$@
+-EOF
+- CC="$abs_builddir/meta_ccld"
+- chmod +x meta_ccld
++ CPPFLAGS="$CPPFLAGS $ac_cv_pthreads_cflags"
+ fi
+
+ if test "$PHP_THREAD_SAFETY" = "yes" && test "$PHP_MYSQL" = "yes"; then
diff --git a/lang/php71/patches/patch-ext_gd_config.m4 b/lang/php71/patches/patch-ext_gd_config.m4
new file mode 100644
index 00000000000..901c37a5e67
--- /dev/null
+++ b/lang/php71/patches/patch-ext_gd_config.m4
@@ -0,0 +1,49 @@
+$NetBSD: patch-ext_gd_config.m4,v 1.1 2016/08/04 14:09:03 jdolecek Exp $
+
+--- ext/gd/config.m4.orig 2015-12-01 13:36:33.000000000 +0000
++++ ext/gd/config.m4
+@@ -46,18 +46,7 @@ dnl Checks for the configure options
+ dnl
+
+ AC_DEFUN([PHP_GD_ZLIB],[
+- if test "$PHP_ZLIB_DIR" != "no" && test "$PHP_ZLIB_DIR" != "yes"; then
+- if test -f "$PHP_ZLIB_DIR/include/zlib/zlib.h"; then
+- PHP_ZLIB_DIR="$PHP_ZLIB_DIR"
+- PHP_ZLIB_INCDIR="$PHP_ZLIB_DIR/include/zlib"
+- elif test -f "$PHP_ZLIB_DIR/include/zlib.h"; then
+- PHP_ZLIB_DIR="$PHP_ZLIB_DIR"
+- PHP_ZLIB_INCDIR="$PHP_ZLIB_DIR/include"
+- else
+- AC_MSG_ERROR([Can't find zlib headers under "$PHP_ZLIB_DIR"])
+- fi
+- else
+- for i in /usr/local /usr; do
++ for i in "$PHP_ZLIB_DIR" /usr/local /usr; do
+ if test -f "$i/include/zlib/zlib.h"; then
+ PHP_ZLIB_DIR="$i"
+ PHP_ZLIB_INCDIR="$i/include/zlib"
+@@ -66,7 +55,6 @@ AC_DEFUN([PHP_GD_ZLIB],[
+ PHP_ZLIB_INCDIR="$i/include"
+ fi
+ done
+- fi
+ ])
+
+ AC_DEFUN([PHP_GD_WEBP],[
+@@ -143,13 +131,13 @@ AC_DEFUN([PHP_GD_PNG],[
+ AC_MSG_ERROR([PNG support requires ZLIB. Use --with-zlib-dir=<DIR>])
+ fi
+
+- PHP_CHECK_LIBRARY(png,png_write_image,
++ PHP_CHECK_LIBRARY(png16,png_write_image,
+ [
+ PHP_ADD_INCLUDE($GD_PNG_DIR/include)
+ PHP_ADD_LIBRARY_WITH_PATH(z, $PHP_ZLIB_DIR/$PHP_LIBDIR, GD_SHARED_LIBADD)
+- PHP_ADD_LIBRARY_WITH_PATH(png, $GD_PNG_DIR/$PHP_LIBDIR, GD_SHARED_LIBADD)
++ PHP_ADD_LIBRARY_WITH_PATH(png16, $GD_PNG_DIR/$PHP_LIBDIR, GD_SHARED_LIBADD)
+ ],[
+- AC_MSG_ERROR([Problem with libpng.(a|so) or libz.(a|so). Please check config.log for more information.])
++ AC_MSG_ERROR([Problem with libpng16.(a|so) or libz.(a|so). Please check config.log for more information.])
+ ],[
+ -L$PHP_ZLIB_DIR/$PHP_LIBDIR -lz -L$GD_PNG_DIR/$PHP_LIBDIR
+ ])
diff --git a/lang/php71/patches/patch-ext_imap_config.m4 b/lang/php71/patches/patch-ext_imap_config.m4
new file mode 100644
index 00000000000..7c569f0a713
--- /dev/null
+++ b/lang/php71/patches/patch-ext_imap_config.m4
@@ -0,0 +1,28 @@
+$NetBSD: patch-ext_imap_config.m4,v 1.1 2016/08/04 14:09:03 jdolecek Exp $
+
+--- ext/imap/config.m4.orig 2015-06-23 17:33:33.000000000 +0000
++++ ext/imap/config.m4
+@@ -48,6 +48,14 @@ AC_DEFUN([PHP_IMAP_TEST_BUILD], [
+ ])
+ ])
+
++dsl Must be before --with-kerberos, affects the check
++PHP_ARG_WITH(imap-linkage,use IMAP c-client linkage,
++[ --with-imap-linkage Use IMAP c-client linkage to determine supported items.])
++
++if test "$PHP_IMAP_LINKAGE" != "no"; then
++ AC_DEFINE(HAVE_IMAP_LINKAGE, 1, [ ])
++fi
++
+ AC_DEFUN([PHP_IMAP_KRB_CHK], [
+ if test "$PHP_KERBEROS" != "no"; then
+ PHP_SETUP_KERBEROS(IMAP_SHARED_LIBADD,
+@@ -59,7 +67,7 @@ AC_DEFUN([PHP_IMAP_KRB_CHK], [
+ Check the path given to --with-kerberos (if no path is given, searches in /usr/kerberos, /usr/local and /usr )
+ ])
+ ])
+- else
++ elif test "$PHP_IMAP_LINKAGE" != "yes"; then
+ AC_EGREP_HEADER(auth_gss, $IMAP_INC_DIR/linkage.h, [
+ AC_MSG_ERROR([This c-client library is built with Kerberos support.
+
diff --git a/lang/php71/patches/patch-ext_pcre_pcrelib_config.h b/lang/php71/patches/patch-ext_pcre_pcrelib_config.h
new file mode 100644
index 00000000000..0607cf9e5ea
--- /dev/null
+++ b/lang/php71/patches/patch-ext_pcre_pcrelib_config.h
@@ -0,0 +1,26 @@
+$NetBSD: patch-ext_pcre_pcrelib_config.h,v 1.1 2016/08/04 14:09:03 jdolecek Exp $
+
+--- ext/pcre/pcrelib/config.h.orig 2016-02-02 16:32:32.000000000 +0000
++++ ext/pcre/pcrelib/config.h
+@@ -397,7 +397,20 @@ them both to 0; an emulation function wi
+ #undef SUPPORT_GCOV
+
+ /* Define to any value to enable support for Just-In-Time compiling. */
+-#define SUPPORT_JIT
++#if defined(__i386__) || defined(__i386) \
++|| defined(__x86_64__) \
++|| defined(__arm__) || defined(__ARM__) \
++|| defined (__aarch64__) \
++|| defined(__ppc64__) || defined(__powerpc64__) || defined(_ARCH_PPC64) \
++|| (defined(_POWER) && defined(__64BIT__)) \
++|| defined(__ppc__) || defined(__powerpc__) || defined(_ARCH_PPC) \
++|| defined(_ARCH_PWR) || defined(_ARCH_PWR2) || defined(_POWER) \
++|| (defined(__mips__) && !defined(_LP64)) \
++|| defined(__mips64) \
++|| defined(__sparc__) || defined(__sparc) \
++|| defined(__tilegx__)
++ #define SUPPORT_JIT
++#endif
+
+ /* Define to any value to allow pcregrep to be linked with libbz2, so that it
+ is able to handle .bz2 files. */
diff --git a/lang/php71/patches/patch-ext_pdo__mysql_config.m4 b/lang/php71/patches/patch-ext_pdo__mysql_config.m4
new file mode 100644
index 00000000000..abbc1548266
--- /dev/null
+++ b/lang/php71/patches/patch-ext_pdo__mysql_config.m4
@@ -0,0 +1,13 @@
+$NetBSD: patch-ext_pdo__mysql_config.m4,v 1.1 2016/08/04 14:09:03 jdolecek Exp $
+
+--- ext/pdo_mysql/config.m4.orig 2015-06-23 17:33:33.000000000 +0000
++++ ext/pdo_mysql/config.m4
+@@ -156,7 +156,7 @@ if test "$PHP_PDO_MYSQL" != "no"; then
+ fi
+
+ dnl fix after renaming to pdo_mysql
+- PHP_NEW_EXTENSION(pdo_mysql, pdo_mysql.c mysql_driver.c mysql_statement.c, $ext_shared,,-I$pdo_cv_inc_path -I -DZEND_ENABLE_STATIC_TSRMLS_CACHE=1)
++ PHP_NEW_EXTENSION(pdo_mysql, pdo_mysql.c mysql_driver.c mysql_statement.c, $ext_shared,,-DZEND_ENABLE_STATIC_TSRMLS_CACHE=1)
+ ifdef([PHP_ADD_EXTENSION_DEP],
+ [
+ PHP_ADD_EXTENSION_DEP(pdo_mysql, pdo)
diff --git a/lang/php71/patches/patch-ext_pdo_config.m4 b/lang/php71/patches/patch-ext_pdo_config.m4
new file mode 100644
index 00000000000..084a7c0a836
--- /dev/null
+++ b/lang/php71/patches/patch-ext_pdo_config.m4
@@ -0,0 +1,25 @@
+$NetBSD: patch-ext_pdo_config.m4,v 1.1 2016/08/04 14:09:03 jdolecek Exp $
+
+--- ext/pdo/config.m4.orig 2015-06-23 17:33:33.000000000 +0000
++++ ext/pdo/config.m4
+@@ -37,20 +37,6 @@ if test "$PHP_PDO" != "no"; then
+
+ PHP_PDO_PEAR_CHECK
+
+- if test "$ext_shared" = "yes" ; then
+- case $host_alias in
+- *darwin*)
+- AC_MSG_ERROR([
+-Due to the way that loadable modules work on OSX/Darwin, you need to
+-compile the PDO package statically into the PHP core.
+-
+-Please follow the instructions at: http://netevil.org/node.php?nid=202
+-for more detail on this issue.
+- ])
+- ext_shared=no
+- ;;
+- esac
+- fi
+ PHP_NEW_EXTENSION(pdo, pdo.c pdo_dbh.c pdo_stmt.c pdo_sql_parser.c pdo_sqlstate.c, $ext_shared)
+ ifdef([PHP_ADD_EXTENSION_DEP],
+ [
diff --git a/lang/php71/patches/patch-ext_phar_Makefile.frag b/lang/php71/patches/patch-ext_phar_Makefile.frag
new file mode 100644
index 00000000000..d02800c2789
--- /dev/null
+++ b/lang/php71/patches/patch-ext_phar_Makefile.frag
@@ -0,0 +1,13 @@
+$NetBSD: patch-ext_phar_Makefile.frag,v 1.1 2016/08/04 14:09:03 jdolecek Exp $
+
+--- ext/phar/Makefile.frag.orig 2015-06-23 17:33:33.000000000 +0000
++++ ext/phar/Makefile.frag
+@@ -18,7 +18,7 @@ PHP_PHARCMD_EXECUTABLE = ` \
+ else \
+ $(top_srcdir)/build/shtool echo -n -- "$(PHP_EXECUTABLE)"; \
+ fi;`
+-PHP_PHARCMD_BANG = `$(top_srcdir)/build/shtool echo -n -- "$(INSTALL_ROOT)$(bindir)/$(program_prefix)php$(program_suffix)$(EXEEXT)";`
++PHP_PHARCMD_BANG = `$(top_srcdir)/build/shtool echo -n -- "$(bindir)/$(program_prefix)php$(program_suffix)$(EXEEXT)";`
+
+ $(builddir)/phar/phar.inc: $(srcdir)/phar/phar.inc
+ -@test -d $(builddir)/phar || mkdir $(builddir)/phar
diff --git a/lang/php71/patches/patch-ext_phar_phar_phar.php b/lang/php71/patches/patch-ext_phar_phar_phar.php
new file mode 100644
index 00000000000..587e1029c3b
--- /dev/null
+++ b/lang/php71/patches/patch-ext_phar_phar_phar.php
@@ -0,0 +1,10 @@
+$NetBSD: patch-ext_phar_phar_phar.php,v 1.1 2016/08/04 14:09:03 jdolecek Exp $
+
+--- ext/phar/phar/phar.php.orig 2015-06-23 17:33:33.000000000 +0000
++++ ext/phar/phar/phar.php
+@@ -1,4 +1,4 @@
+-#!/usr/local/bin/php
++#!@PREFIX@/bin/php
+ <?php
+
+ /** @file phar.php
diff --git a/lang/php71/patches/patch-ext_recode_recode.c b/lang/php71/patches/patch-ext_recode_recode.c
new file mode 100644
index 00000000000..eadf754d79b
--- /dev/null
+++ b/lang/php71/patches/patch-ext_recode_recode.c
@@ -0,0 +1,22 @@
+$NetBSD: patch-ext_recode_recode.c,v 1.1 2016/08/04 14:09:03 jdolecek Exp $
+
+program_name is expected variable, is required by recode 3.5 and recode 3.6 to actually work.
+
+The config.m4 test for it is broken at least for some platforms - it only tests if program without it compiles, but on Solaris and MacOS/Darwin at least it only fails when run.
+
+--- ext/recode/recode.c.orig 2016-07-24 13:07:47.000000000 +0000
++++ ext/recode/recode.c
+@@ -29,11 +29,8 @@
+
+ #if HAVE_LIBRECODE
+
+-/* For recode 3.5 */
+-#if HAVE_BROKEN_RECODE
+-extern char *program_name;
+-char *program_name = "php";
+-#endif
++extern const char *program_name;
++const char *program_name = "php";
+
+ #ifdef HAVE_STDBOOL_H
+ # include <stdbool.h>
diff --git a/lang/php71/patches/patch-ext_sqlite3_libsqlite_sqlite3.c b/lang/php71/patches/patch-ext_sqlite3_libsqlite_sqlite3.c
new file mode 100644
index 00000000000..8e8da8662d2
--- /dev/null
+++ b/lang/php71/patches/patch-ext_sqlite3_libsqlite_sqlite3.c
@@ -0,0 +1,13 @@
+$NetBSD: patch-ext_sqlite3_libsqlite_sqlite3.c,v 1.1 2016/08/04 14:09:03 jdolecek Exp $
+
+--- ext/sqlite3/libsqlite/sqlite3.c.orig 2015-06-23 17:33:33.000000000 +0000
++++ ext/sqlite3/libsqlite/sqlite3.c
+@@ -8408,7 +8408,7 @@ struct sqlite3_rtree_query_info {
+ ** But _XOPEN_SOURCE define causes problems for Mac OS X, so omit
+ ** it.
+ */
+-#if !defined(_XOPEN_SOURCE) && !defined(__DARWIN__) && !defined(__APPLE__)
++#if !defined(_XOPEN_SOURCE) && !defined(__DARWIN__) && !defined(__APPLE__) && !defined(__sun)
+ # define _XOPEN_SOURCE 600
+ #endif
+
diff --git a/lang/php71/patches/patch-ext_standard_basic__functions.c b/lang/php71/patches/patch-ext_standard_basic__functions.c
new file mode 100644
index 00000000000..ebf622f0cf4
--- /dev/null
+++ b/lang/php71/patches/patch-ext_standard_basic__functions.c
@@ -0,0 +1,13 @@
+$NetBSD: patch-ext_standard_basic__functions.c,v 1.1 2016/08/04 14:09:03 jdolecek Exp $
+
+--- ext/standard/basic_functions.c.orig 2015-06-23 17:33:33.000000000 +0000
++++ ext/standard/basic_functions.c
+@@ -3499,7 +3499,7 @@ PHPAPI double php_get_nan(void) /* {{{ *
+
+ PHPAPI double php_get_inf(void) /* {{{ */
+ {
+-#if HAVE_HUGE_VAL_INF
++#if defined(HAVE_HUGE_VAL_INF) || defined(__vax__)
+ return HUGE_VAL;
+ #elif defined(__i386__) || defined(_X86_) || defined(ALPHA) || defined(_ALPHA) || defined(__alpha)
+ double val = 0.0;
diff --git a/lang/php71/patches/patch-ext_standard_php__dns.h b/lang/php71/patches/patch-ext_standard_php__dns.h
new file mode 100644
index 00000000000..ff7c4adf4e4
--- /dev/null
+++ b/lang/php71/patches/patch-ext_standard_php__dns.h
@@ -0,0 +1,23 @@
+$NetBSD: patch-ext_standard_php__dns.h,v 1.1 2016/08/04 14:09:03 jdolecek Exp $
+
+Fix memory leak.
+
+--- ext/standard/php_dns.h.orig 2016-04-28 18:13:00.000000000 +0000
++++ ext/standard/php_dns.h
+@@ -32,9 +32,15 @@
+ #elif defined(HAVE_RES_NSEARCH)
+ #define php_dns_search(res, dname, class, type, answer, anslen) \
+ res_nsearch(res, dname, class, type, answer, anslen);
++#ifdef __GLIBC__
+ #define php_dns_free_handle(res) \
+- res_nclose(res); \
++ res_nclose(res); \
++ php_dns_free_res(*res)
++#else
++#define php_dns_free_handle(res) \
++ res_ndestroy(res); \
+ php_dns_free_res(res)
++#endif
+
+ #elif defined(HAVE_RES_SEARCH)
+ #define php_dns_search(res, dname, class, type, answer, anslen) \
diff --git a/lang/php71/patches/patch-makedist b/lang/php71/patches/patch-makedist
new file mode 100644
index 00000000000..a0a478e4729
--- /dev/null
+++ b/lang/php71/patches/patch-makedist
@@ -0,0 +1,13 @@
+$NetBSD: patch-makedist,v 1.1 2016/08/04 14:09:03 jdolecek Exp $
+
+--- makedist.orig 2015-06-23 17:33:33.000000000 +0000
++++ makedist
+@@ -35,7 +35,7 @@ if test "${1}" = "1" -a "${2}" -lt "28";
+ fi
+ IFS="$old_IFS"
+
+-if test "x$PHPROOT" == "x"; then
++if test "x$PHPROOT" = "x"; then
+ PHPROOT=git@git.php.net:php-src.git;
+ fi
+
diff --git a/lang/php71/patches/patch-php.ini-development b/lang/php71/patches/patch-php.ini-development
new file mode 100644
index 00000000000..0a0fd991a37
--- /dev/null
+++ b/lang/php71/patches/patch-php.ini-development
@@ -0,0 +1,33 @@
+$NetBSD: patch-php.ini-development,v 1.1 2016/08/04 14:09:03 jdolecek Exp $
+
+--- php.ini-development.orig 2015-06-23 17:33:33.000000000 +0000
++++ php.ini-development
+@@ -697,7 +697,7 @@ default_charset = "UTF-8"
+ ;;;;;;;;;;;;;;;;;;;;;;;;;
+
+ ; UNIX: "/path1:/path2"
+-;include_path = ".:/php/includes"
++include_path = ".:@PREFIX@/lib/php"
+ ;
+ ; Windows: "\path1;\path2"
+ ;include_path = ".;c:\php\includes"
+@@ -718,8 +718,8 @@ doc_root =
+ ; http://php.net/user-dir
+ user_dir =
+
+-; Directory in which the loadable extensions (modules) reside.
+-; http://php.net/extension-dir
++; Directory in which the loadable extensions (modules) reside. If not
++; defined, then use the extension directory specified at compile-time.
+ ; extension_dir = "./"
+ ; On windows:
+ ; extension_dir = "ext"
+@@ -792,7 +792,7 @@ file_uploads = On
+ ; Temporary directory for HTTP uploaded files (will use system default if not
+ ; specified).
+ ; http://php.net/upload-tmp-dir
+-;upload_tmp_dir =
++upload_tmp_dir = /tmp
+
+ ; Maximum allowed size for uploaded files.
+ ; http://php.net/upload-max-filesize
diff --git a/lang/php71/patches/patch-php.ini-production b/lang/php71/patches/patch-php.ini-production
new file mode 100644
index 00000000000..13c26a3e059
--- /dev/null
+++ b/lang/php71/patches/patch-php.ini-production
@@ -0,0 +1,33 @@
+$NetBSD: patch-php.ini-production,v 1.1 2016/08/04 14:09:03 jdolecek Exp $
+
+--- php.ini-production.orig 2015-06-23 17:33:33.000000000 +0000
++++ php.ini-production
+@@ -697,7 +697,7 @@ default_charset = "UTF-8"
+ ;;;;;;;;;;;;;;;;;;;;;;;;;
+
+ ; UNIX: "/path1:/path2"
+-;include_path = ".:/php/includes"
++include_path = ".:@PREFIX@/lib/php"
+ ;
+ ; Windows: "\path1;\path2"
+ ;include_path = ".;c:\php\includes"
+@@ -718,8 +718,8 @@ doc_root =
+ ; http://php.net/user-dir
+ user_dir =
+
+-; Directory in which the loadable extensions (modules) reside.
+-; http://php.net/extension-dir
++; Directory in which the loadable extensions (modules) reside. If not
++; defined, then use the extension directory specified at compile-time.
+ ; extension_dir = "./"
+ ; On windows:
+ ; extension_dir = "ext"
+@@ -792,7 +792,7 @@ file_uploads = On
+ ; Temporary directory for HTTP uploaded files (will use system default if not
+ ; specified).
+ ; http://php.net/upload-tmp-dir
+-;upload_tmp_dir =
++upload_tmp_dir = /tmp
+
+ ; Maximum allowed size for uploaded files.
+ ; http://php.net/upload-max-filesize
diff --git a/lang/php71/patches/patch-run-tests.php b/lang/php71/patches/patch-run-tests.php
new file mode 100644
index 00000000000..873a1f65270
--- /dev/null
+++ b/lang/php71/patches/patch-run-tests.php
@@ -0,0 +1,10 @@
+$NetBSD: patch-run-tests.php,v 1.1 2016/08/04 14:09:03 jdolecek Exp $
+
+--- run-tests.php.orig 2015-06-23 17:33:33.000000000 +0000
++++ run-tests.php
+@@ -1,4 +1,4 @@
+-#!/usr/bin/env php
++#!@PREFIX@/bin/php
+ <?php
+ /*
+ +----------------------------------------------------------------------+
diff --git a/lang/php71/patches/patch-sapi_cgi_Makefile.frag b/lang/php71/patches/patch-sapi_cgi_Makefile.frag
new file mode 100644
index 00000000000..36c198cc298
--- /dev/null
+++ b/lang/php71/patches/patch-sapi_cgi_Makefile.frag
@@ -0,0 +1,16 @@
+$NetBSD: patch-sapi_cgi_Makefile.frag,v 1.1 2016/08/04 14:09:03 jdolecek Exp $
+
+--- sapi/cgi/Makefile.frag.orig 2015-06-23 17:33:33.000000000 +0000
++++ sapi/cgi/Makefile.frag
+@@ -4,9 +4,9 @@ $(SAPI_CGI_PATH): $(PHP_GLOBAL_OBJS) $(P
+ $(BUILD_CGI)
+
+ install-cgi: $(SAPI_CGI_PATH)
+- @echo "Installing PHP CGI binary: $(INSTALL_ROOT)$(bindir)/"
++ @echo "Installing PHP CGI binary: $(INSTALL_ROOT)@CGIDIR@/"
+ @$(mkinstalldirs) $(INSTALL_ROOT)$(bindir)
+- @$(INSTALL) -m 0755 $(SAPI_CGI_PATH) $(INSTALL_ROOT)$(bindir)/$(program_prefix)php-cgi$(program_suffix)$(EXEEXT)
++ @$(INSTALL) -m 0755 $(SAPI_CGI_PATH) $(INSTALL_ROOT)@CGIDIR@/$(program_prefix)php$(program_suffix)$(EXEEXT)
+ @echo "Installing PHP CGI man page: $(INSTALL_ROOT)$(mandir)/man1/"
+ @$(mkinstalldirs) $(INSTALL_ROOT)$(mandir)/man1
+ @$(INSTALL_DATA) sapi/cgi/php-cgi.1 $(INSTALL_ROOT)$(mandir)/man1/$(program_prefix)php-cgi$(program_suffix).1
diff --git a/lang/php71/patches/patch-sapi_cli_Makefile.frag b/lang/php71/patches/patch-sapi_cli_Makefile.frag
new file mode 100644
index 00000000000..e28edb1cc3c
--- /dev/null
+++ b/lang/php71/patches/patch-sapi_cli_Makefile.frag
@@ -0,0 +1,19 @@
+$NetBSD: patch-sapi_cli_Makefile.frag,v 1.1 2016/08/04 14:09:03 jdolecek Exp $
+
+Needed on NetBSD with PaX MPROTEXT, otherwise core dump with:
+#1 0x00000000004d0d87 in _pcre_jit_exec ()
+#2 0x00000000004a53f1 in php_pcre_exec ()
+https://bugs.php.net/bug.php?id=72281
+
+--- sapi/cli/Makefile.frag.orig 2016-04-28 18:12:27.000000000 +0000
++++ sapi/cli/Makefile.frag
+@@ -2,6 +2,9 @@ cli: $(SAPI_CLI_PATH)
+
+ $(SAPI_CLI_PATH): $(PHP_GLOBAL_OBJS) $(PHP_BINARY_OBJS) $(PHP_CLI_OBJS)
+ $(BUILD_CLI)
++ @if test -x /usr/sbin/paxctl; then \
++ /usr/sbin/paxctl +m $(SAPI_CLI_PATH); \
++ fi
+
+ install-cli: $(SAPI_CLI_PATH)
+ @echo "Installing PHP CLI binary: $(INSTALL_ROOT)$(bindir)/"
diff --git a/lang/php71/patches/patch-sapi_fpm_fpm_events_port.c b/lang/php71/patches/patch-sapi_fpm_fpm_events_port.c
new file mode 100644
index 00000000000..b28d94d3495
--- /dev/null
+++ b/lang/php71/patches/patch-sapi_fpm_fpm_events_port.c
@@ -0,0 +1,45 @@
+$NetBSD: patch-sapi_fpm_fpm_events_port.c,v 1.1 2016/08/04 14:09:03 jdolecek Exp $
+
+--- sapi/fpm/fpm/events/port.c.orig 2015-06-23 17:33:33.000000000 +0000
++++ sapi/fpm/fpm/events/port.c
+@@ -124,6 +124,7 @@ static int fpm_event_port_wait(struct fp
+ t.tv_nsec = (timeout % 1000) * 1000 * 1000;
+
+ /* wait for inconming event or timeout. We want at least one event or timeout */
++again:
+ nget = 1;
+ ret = port_getn(pfd, events, nevents, &nget, &t);
+ if (ret < 0) {
+@@ -133,17 +134,31 @@ static int fpm_event_port_wait(struct fp
+ zlog(ZLOG_WARNING, "poll() returns %d", errno);
+ return -1;
+ }
++
++ if (errno == EINTR)
++ goto again;
++
++ return 0;
+ }
+
+ for (i = 0; i < nget; i++) {
++ struct fpm_event_s *ev;
+
+ /* do we have a ptr to the event ? */
+ if (!events[i].portev_user) {
+ continue;
+ }
+
++ ev = (struct fpm_event_s *)events[i].portev_user;
++
++ if (port_associate(pfd, PORT_SOURCE_FD,
++ ev->fd, POLLIN, (void *)ev) < 0) {
++ zlog(ZLOG_ERROR, "port: unable to add the event");
++ return -1;
++ }
++
+ /* fire the event */
+- fpm_event_fire((struct fpm_event_s *)events[i].portev_user);
++ fpm_event_fire(ev);
+
+ /* sanity check */
+ if (fpm_globals.parent_pid != getpid()) {
diff --git a/lang/php71/patches/patch-sapi_fpm_php-fpm.conf.in b/lang/php71/patches/patch-sapi_fpm_php-fpm.conf.in
new file mode 100644
index 00000000000..2dd11b94584
--- /dev/null
+++ b/lang/php71/patches/patch-sapi_fpm_php-fpm.conf.in
@@ -0,0 +1,13 @@
+$NetBSD: patch-sapi_fpm_php-fpm.conf.in,v 1.1 2016/08/04 14:09:03 jdolecek Exp $
+
+--- sapi/fpm/php-fpm.conf.in.orig 2015-06-23 17:33:33.000000000 +0000
++++ sapi/fpm/php-fpm.conf.in
+@@ -14,7 +14,7 @@
+ ; Pid file
+ ; Note: the default prefix is @EXPANDED_LOCALSTATEDIR@
+ ; Default Value: none
+-;pid = run/php-fpm.pid
++pid = run/php-fpm.pid
+
+ ; Error log file
+ ; If it's set to "syslog", log is sent to syslogd instead of being written