diff options
author | jdolecek <jdolecek@pkgsrc.org> | 2016-08-04 14:09:03 +0000 |
---|---|---|
committer | jdolecek <jdolecek@pkgsrc.org> | 2016-08-04 14:09:03 +0000 |
commit | a73e350a936d9a936656d9e8dd2bd902c749a7ea (patch) | |
tree | 756e7b8ff87e64dd34eaee95eeba967ace1b7524 /lang/php71 | |
parent | 87f672d37fdc6cc3de0c523057a43aab8b6851b3 (diff) | |
download | pkgsrc-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')
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 |