diff options
30 files changed, 1037 insertions, 9 deletions
diff --git a/lang/Makefile b/lang/Makefile index a9d64f74fb8..a550506359a 100644 --- a/lang/Makefile +++ b/lang/Makefile @@ -1,4 +1,4 @@ -# $NetBSD: Makefile,v 1.469 2017/11/01 12:07:31 fhajny Exp $ +# $NetBSD: Makefile,v 1.470 2017/11/15 08:56:12 jdolecek Exp $ # COMMENT= Programming languages @@ -171,6 +171,7 @@ SUBDIR+= pforth SUBDIR+= php56 SUBDIR+= php70 SUBDIR+= php71 +SUBDIR+= php72 SUBDIR+= picoc SUBDIR+= pict SUBDIR+= polyml diff --git a/lang/php/phpversion.mk b/lang/php/phpversion.mk index 7cf20a78410..f3a1a5449bf 100644 --- a/lang/php/phpversion.mk +++ b/lang/php/phpversion.mk @@ -1,4 +1,4 @@ -# $NetBSD: phpversion.mk,v 1.193 2017/10/27 08:47:49 taca Exp $ +# $NetBSD: phpversion.mk,v 1.194 2017/11/15 08:56:12 jdolecek Exp $ # # This file selects a PHP version, based on the user's preferences and # the installed packages. It does not add a dependency on the PHP @@ -10,7 +10,7 @@ # The PHP version to choose when more than one is acceptable to # the package. # -# Possible: 56 70 71 +# Possible: 56 70 71 72 # Default: 56 # # === Infrastructure variables === @@ -27,13 +27,13 @@ # PHP_VERSIONS_ACCEPTED # The PHP versions that are accepted by the package. # -# Possible: 56 70 71 +# Possible: 56 70 71 72 # Default: 56 # # PHP_VERSIONS_INCOMPATIBLE # The PHP versions that are not supported by the package. # -# Possible: 56 70 71 +# Possible: 56 70 71 72 # Default: (empty) # # PHP_CHECK_INSTALLED @@ -48,7 +48,7 @@ # PKG_PHP_VERSION # The selected PHP version. # -# Possible: 56 70 71 +# Possible: 56 70 71 72 # Default: ${PHP_VERSION_DEFAULT} # # PHP_BASE_VERS @@ -72,7 +72,7 @@ # PHP_PKG_PREFIX # The prefix that is prepended to the package name. # -# Example: php56 php70 php71 +# Example: php56 php70 php71 php72 # # PHP_EXTENSION_DIR # Relative path to ${PREFIX} for PHP's extensions. It is derived from @@ -90,11 +90,13 @@ PHPVERSION_MK= defined PHP56_VERSION= 5.6.32 PHP70_VERSION= 7.0.25 PHP71_VERSION= 7.1.11 +PHP72_VERSION= 7.2.0RC6 # Define initial release of major version. PHP56_RELDATE= 20140828 PHP70_RELDATE= 20151203 PHP71_RELDATE= 20160303 +PHP72_RELDATE= 20170718 _VARGROUPS+= php _USER_VARS.php= PHP_VERSION_DEFAULT @@ -105,7 +107,7 @@ _SYS_VARS.php= PKG_PHP_VERSION PKG_PHP PHPPKGSRCDIR PHP_PKG_PREFIX \ .include "../../mk/bsd.prefs.mk" PHP_VERSION_DEFAULT?= 56 -PHP_VERSIONS_ACCEPTED?= 56 70 71 +PHP_VERSIONS_ACCEPTED?= 56 70 71 72 .for pv in ${PHP_VERSIONS_ACCEPTED} . if empty(PHP_VERSIONS_INCOMPATIBLE:M${pv}) _PHP_VERSIONS_ACCEPTED+= ${pv} @@ -118,7 +120,10 @@ _PHP_VERSION_${pv}_OK= yes .endfor # check what is installed -.if exists(${LOCALBASE}/lib/php/${PHP71_RELDATE}) +.if exists(${LOCALBASE}/lib/php/${PHP72_RELDATE}) +_PHP_VERSION_72_INSTALLED= yes +_PHP_INSTALLED= yes +.elif exists(${LOCALBASE}/lib/php/${PHP71_RELDATE}) _PHP_VERSION_71_INSTALLED= yes _PHP_INSTALLED= yes .elif exists(${LOCALBASE}/lib/php/${PHP70_RELDATE}) @@ -213,6 +218,12 @@ PHP_VERSION= ${PHP71_VERSION} PHP_INITIAL_TEENY= 0 PHP_PKG_PREFIX= php71 PHP_EXTENSION_DIR= lib/php/${PHP71_RELDATE} +.elif ${_PHP_VERSION} == "72" +PHPPKGSRCDIR= ../../lang/php72 +PHP_VERSION= ${PHP72_VERSION} +PHP_INITIAL_TEENY= 0 +PHP_PKG_PREFIX= php72 +PHP_EXTENSION_DIR= lib/php/${PHP72_RELDATE} .else # force an error PKG_FAIL_REASON+= "${PKG_PHP} is not a valid package" diff --git a/lang/php72/DESCR b/lang/php72/DESCR new file mode 100644 index 00000000000..2a6e822dc4e --- /dev/null +++ b/lang/php72/DESCR @@ -0,0 +1,22 @@ +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.2.x. + +PHP 7.2.x builds upon 7.1.x, adding new features: + +* Argument type declarations +* Object return type declarations +* Parameter Type Widening +* Trailing commas in list syntax +* Argon2 in password hash +* Libsodium as part of PHP Core +* Deprecated: __autoload, $php_errormsg, create_function(), + mbstring.func_overload, parse_str() without second argument, + gmp_random(), each(), assert(), $errcontext +* uniqid() patch to avoid usleep() integrated, 10000x improvement on NetBSD, + about 10x on Linux diff --git a/lang/php72/MESSAGE b/lang/php72/MESSAGE new file mode 100644 index 00000000000..f4914137315 --- /dev/null +++ b/lang/php72/MESSAGE @@ -0,0 +1,11 @@ +=========================================================================== +$NetBSD: MESSAGE,v 1.1 2017/11/15 08:56:12 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. + +=========================================================================== diff --git a/lang/php72/Makefile b/lang/php72/Makefile new file mode 100644 index 00000000000..378f22805cb --- /dev/null +++ b/lang/php72/Makefile @@ -0,0 +1,72 @@ +# $NetBSD: Makefile,v 1.1 2017/11/15 08:56:12 jdolecek Exp $ + +# +# We can't omit PKGNAME here to handle PKG_OPTIONS. +# +PKGNAME= php-${PHP_VERSION:S/RC/rc/} +CATEGORIES= lang +MASTER_SITES= https://downloads.php.net/~pollita/ + +HOMEPAGE= http://www.php.net/ +COMMENT= PHP Hypertext Preprocessor version 7.2 +LICENSE= php + +TEST_TARGET= test + +USE_TOOLS+= gmake lex pkg-config +LIBTOOL_OVERRIDE= # empty +PHP_CHECK_INSTALLED= No + +PHP_VERSIONS_ACCEPTED= 72 + +.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 + +# segfault generating phar.phar for i386 & SPARC +# revisit this if builtin PCRE is updated beyond PCRE1 8.38 +# https://bugs.php.net/bug.php?id=73880 +.if ${MACHINE_ARCH} != "x86_64" +CONFIGURE_ARGS+= --without-pcre-jit +.endif + +# 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-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/php72/Makefile.common b/lang/php72/Makefile.common new file mode 100644 index 00000000000..cc51dad97f9 --- /dev/null +++ b/lang/php72/Makefile.common @@ -0,0 +1,20 @@ +# $NetBSD: Makefile.common,v 1.1 2017/11/15 08:56:12 jdolecek Exp $ +# used by lang/php72/Makefile.php +# used by lang/php/ext.mk +# used by meta-pkgs/php72-extensions/Makefile + +PHP_VERSION_REQD= 72 + +.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" + +.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/php72/Makefile.php b/lang/php72/Makefile.php new file mode 100644 index 00000000000..ba4482c00a2 --- /dev/null +++ b/lang/php72/Makefile.php @@ -0,0 +1,96 @@ +# $NetBSD: Makefile.php,v 1.1 2017/11/15 08:56:12 jdolecek Exp $ +# used by lang/php72/Makefile +# used by www/ap-php/Makefile +# used by www/php-fpm/Makefile + +# PHP bug #74526 - segfaults on build with GCC 4.8.5 i386 +.if ${MACHINE_ARCH} == "i386" +GCC_REQD+= 4.9 +.endif + +.include "../../lang/php72/Makefile.common" + +DISTINFO_FILE= ${.CURDIR}/../../lang/php72/distinfo +PATCHDIR= ${.CURDIR}/../../lang/php72/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-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 readline + +.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/php72/PLIST b/lang/php72/PLIST new file mode 100644 index 00000000000..0cd4b2b3af8 --- /dev/null +++ b/lang/php72/PLIST @@ -0,0 +1,284 @@ +@comment $NetBSD: PLIST,v 1.1 2017/11/15 08:56:12 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_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_smart_string.h +include/php/Zend/zend_smart_string_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/php_date.h +include/php/ext/dom/xml_common.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/sapi/cli/cli.h +lib/php/build/Makefile.global +lib/php/build/acinclude.m4 +lib/php/build/ax_check_compile_flag.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/php72/buildlink3.mk b/lang/php72/buildlink3.mk new file mode 100644 index 00000000000..c20bc48a552 --- /dev/null +++ b/lang/php72/buildlink3.mk @@ -0,0 +1,15 @@ +# $NetBSD: buildlink3.mk,v 1.1 2017/11/15 08:56:12 jdolecek Exp $ + +BUILDLINK_TREE+= php + +.if !defined(PHP_BUILDLINK3_MK) +PHP_BUILDLINK3_MK:= + +BUILDLINK_API_DEPENDS.php+= php>=7.2.0rc1<7.3 +BUILDLINK_ABI_DEPENDS.php+= php>=7.2.0rc1<7.3 +BUILDLINK_PKGSRCDIR.php?= ../../lang/php72 + +.include "../../textproc/libxml2/buildlink3.mk" +.endif # PHP_BUILDLINK3_MK + +BUILDLINK_TREE+= -php diff --git a/lang/php72/distinfo b/lang/php72/distinfo new file mode 100644 index 00000000000..a773e22b16e --- /dev/null +++ b/lang/php72/distinfo @@ -0,0 +1,29 @@ +$NetBSD: distinfo,v 1.1 2017/11/15 08:56:12 jdolecek Exp $ + +SHA1 (php-7.2.0RC6.tar.bz2) = dfc81aa8965ec73f3d24725d207ad9f6b362a238 +RMD160 (php-7.2.0RC6.tar.bz2) = 8b4dac9c5247b3d63b8d7a785bb5015555f37fee +SHA512 (php-7.2.0RC6.tar.bz2) = 35cf7e4aaf461c360885aaa4bb7997ae60eb7d8a8134c8ab4c42412576a9c36b56f1acc24358be3e7722142a10f330719907f254d6bf174fb22a6d61d3fe3fde +Size (php-7.2.0RC6.tar.bz2) = 14953026 bytes +SHA1 (patch-acinclude.m4) = b682280fd89950c082c2226bdb7364b0dc475bad +SHA1 (patch-configure) = a129e19ef87338f6e53ccc967c40ddcde7c7357c +SHA1 (patch-ext_gd_config.m4) = 93b62daad93b9ee6dc28e06016f739bc26b0dc9f +SHA1 (patch-ext_imap_config.m4) = f4e10ab81697b72019313f63bc630627a08efd92 +SHA1 (patch-ext_intl_config.m4) = 1ea3d3e6f05d5fed0bd4ca4518440199aec0954d +SHA1 (patch-ext_pcre_pcrelib_config.h) = c5fba95856628f68639fe63feeef04a5f83d3916 +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_uniqid.c) = 154ed6e6d4796a52c6664b52994d6cad4ed22f30 +SHA1 (patch-ext_xsl_php__xsl.h) = a9877bff7bacc77926a4541a0ac171c00ad1a627 +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/php72/patches/patch-acinclude.m4 b/lang/php72/patches/patch-acinclude.m4 new file mode 100644 index 00000000000..97f336dacd2 --- /dev/null +++ b/lang/php72/patches/patch-acinclude.m4 @@ -0,0 +1,13 @@ +$NetBSD: patch-acinclude.m4,v 1.1 2017/11/15 08:56:12 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/php72/patches/patch-configure b/lang/php72/patches/patch-configure new file mode 100644 index 00000000000..655fa7d1dad --- /dev/null +++ b/lang/php72/patches/patch-configure @@ -0,0 +1,91 @@ +$NetBSD: patch-configure,v 1.1 2017/11/15 08:56:12 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/php72/patches/patch-ext_imap_config.m4 b/lang/php72/patches/patch-ext_imap_config.m4 new file mode 100644 index 00000000000..795cd2faf4d --- /dev/null +++ b/lang/php72/patches/patch-ext_imap_config.m4 @@ -0,0 +1,28 @@ +$NetBSD: patch-ext_imap_config.m4,v 1.1 2017/11/15 08:56:12 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/php72/patches/patch-ext_intl_config.m4 b/lang/php72/patches/patch-ext_intl_config.m4 new file mode 100644 index 00000000000..d83a0c12731 --- /dev/null +++ b/lang/php72/patches/patch-ext_intl_config.m4 @@ -0,0 +1,15 @@ +$NetBSD: patch-ext_intl_config.m4,v 1.1 2017/11/15 08:56:12 jdolecek Exp $ + +Work around for build problem. + +--- ext/intl/config.m4.orig 2017-02-14 18:35:43.000000000 +0000 ++++ ext/intl/config.m4 +@@ -86,7 +86,7 @@ if test "$PHP_INTL" != "no"; then + breakiterator/codepointiterator_methods.cpp \ + uchar/uchar.c \ + idn/idn.c \ +- $icu_spoof_src, $ext_shared,,$ICU_INCS -Wno-write-strings -D__STDC_LIMIT_MACROS -DZEND_ENABLE_STATIC_TSRMLS_CACHE=1,cxx) ++ $icu_spoof_src, $ext_shared,,$ICU_INCS -Wno-write-strings -D__STDC_LIMIT_MACROS -DZEND_ENABLE_STATIC_TSRMLS_CACHE=1) + PHP_ADD_BUILD_DIR($ext_builddir/collator) + PHP_ADD_BUILD_DIR($ext_builddir/converter) + PHP_ADD_BUILD_DIR($ext_builddir/common) diff --git a/lang/php72/patches/patch-ext_pcre_pcrelib_config.h b/lang/php72/patches/patch-ext_pcre_pcrelib_config.h new file mode 100644 index 00000000000..4995e471fc4 --- /dev/null +++ b/lang/php72/patches/patch-ext_pcre_pcrelib_config.h @@ -0,0 +1,27 @@ +$NetBSD: patch-ext_pcre_pcrelib_config.h,v 1.1 2017/11/15 08:56:12 jdolecek Exp $ + +--- ext/pcre/pcrelib/config.h.orig 2016-09-29 02:15:39.000000000 +0000 ++++ ext/pcre/pcrelib/config.h +@@ -400,8 +400,21 @@ them both to 0; an emulation function wi + + /* Define to any value to enable support for Just-In-Time compiling. */ + #if HAVE_PCRE_JIT_SUPPORT +-#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 ++#endif /* HAVE_PCRE_JIT_SUPPORT */ + + /* 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/php72/patches/patch-ext_pdo__mysql_config.m4 b/lang/php72/patches/patch-ext_pdo__mysql_config.m4 new file mode 100644 index 00000000000..e5a256091bb --- /dev/null +++ b/lang/php72/patches/patch-ext_pdo__mysql_config.m4 @@ -0,0 +1,13 @@ +$NetBSD: patch-ext_pdo__mysql_config.m4,v 1.1 2017/11/15 08:56:12 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/php72/patches/patch-ext_pdo_config.m4 b/lang/php72/patches/patch-ext_pdo_config.m4 new file mode 100644 index 00000000000..c4cd23e007b --- /dev/null +++ b/lang/php72/patches/patch-ext_pdo_config.m4 @@ -0,0 +1,25 @@ +$NetBSD: patch-ext_pdo_config.m4,v 1.1 2017/11/15 08:56:12 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/php72/patches/patch-ext_phar_Makefile.frag b/lang/php72/patches/patch-ext_phar_Makefile.frag new file mode 100644 index 00000000000..b48b24f528a --- /dev/null +++ b/lang/php72/patches/patch-ext_phar_Makefile.frag @@ -0,0 +1,13 @@ +$NetBSD: patch-ext_phar_Makefile.frag,v 1.1 2017/11/15 08:56:12 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/php72/patches/patch-ext_phar_phar_phar.php b/lang/php72/patches/patch-ext_phar_phar_phar.php new file mode 100644 index 00000000000..1d7f8286b5c --- /dev/null +++ b/lang/php72/patches/patch-ext_phar_phar_phar.php @@ -0,0 +1,10 @@ +$NetBSD: patch-ext_phar_phar_phar.php,v 1.1 2017/11/15 08:56:12 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/php72/patches/patch-ext_recode_recode.c b/lang/php72/patches/patch-ext_recode_recode.c new file mode 100644 index 00000000000..341aff3d981 --- /dev/null +++ b/lang/php72/patches/patch-ext_recode_recode.c @@ -0,0 +1,22 @@ +$NetBSD: patch-ext_recode_recode.c,v 1.1 2017/11/15 08:56:12 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/php72/patches/patch-ext_sqlite3_libsqlite_sqlite3.c b/lang/php72/patches/patch-ext_sqlite3_libsqlite_sqlite3.c new file mode 100644 index 00000000000..27fffae0e3a --- /dev/null +++ b/lang/php72/patches/patch-ext_sqlite3_libsqlite_sqlite3.c @@ -0,0 +1,13 @@ +$NetBSD: patch-ext_sqlite3_libsqlite_sqlite3.c,v 1.1 2017/11/15 08:56:12 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/php72/patches/patch-ext_xsl_php__xsl.h b/lang/php72/patches/patch-ext_xsl_php__xsl.h new file mode 100644 index 00000000000..12f99c36b37 --- /dev/null +++ b/lang/php72/patches/patch-ext_xsl_php__xsl.h @@ -0,0 +1,15 @@ +$NetBSD: patch-ext_xsl_php__xsl.h,v 1.1 2017/11/15 08:56:12 jdolecek Exp $ + +The dom header is now supplied by the main php bl3. + +--- ext/xsl/php_xsl.h.orig 2017-03-14 13:17:46.000000000 +0000 ++++ ext/xsl/php_xsl.h +@@ -41,7 +41,7 @@ extern zend_module_entry xsl_module_entr + #include <libexslt/exsltconfig.h> + #endif + +-#include "../dom/xml_common.h" ++#include "dom/xml_common.h" + #include "xsl_fe.h" + + #include <libxslt/extensions.h> diff --git a/lang/php72/patches/patch-makedist b/lang/php72/patches/patch-makedist new file mode 100644 index 00000000000..e7baef396f7 --- /dev/null +++ b/lang/php72/patches/patch-makedist @@ -0,0 +1,13 @@ +$NetBSD: patch-makedist,v 1.1 2017/11/15 08:56:12 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/php72/patches/patch-php.ini-development b/lang/php72/patches/patch-php.ini-development new file mode 100644 index 00000000000..637dc4604b0 --- /dev/null +++ b/lang/php72/patches/patch-php.ini-development @@ -0,0 +1,33 @@ +$NetBSD: patch-php.ini-development,v 1.1 2017/11/15 08:56:12 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/php72/patches/patch-php.ini-production b/lang/php72/patches/patch-php.ini-production new file mode 100644 index 00000000000..bf2119a093c --- /dev/null +++ b/lang/php72/patches/patch-php.ini-production @@ -0,0 +1,33 @@ +$NetBSD: patch-php.ini-production,v 1.1 2017/11/15 08:56:12 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/php72/patches/patch-run-tests.php b/lang/php72/patches/patch-run-tests.php new file mode 100644 index 00000000000..1a1bfaa73e1 --- /dev/null +++ b/lang/php72/patches/patch-run-tests.php @@ -0,0 +1,10 @@ +$NetBSD: patch-run-tests.php,v 1.1 2017/11/15 08:56:12 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/php72/patches/patch-sapi_cgi_Makefile.frag b/lang/php72/patches/patch-sapi_cgi_Makefile.frag new file mode 100644 index 00000000000..3f23e571bca --- /dev/null +++ b/lang/php72/patches/patch-sapi_cgi_Makefile.frag @@ -0,0 +1,16 @@ +$NetBSD: patch-sapi_cgi_Makefile.frag,v 1.1 2017/11/15 08:56:12 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/php72/patches/patch-sapi_cli_Makefile.frag b/lang/php72/patches/patch-sapi_cli_Makefile.frag new file mode 100644 index 00000000000..b2f92cc92a6 --- /dev/null +++ b/lang/php72/patches/patch-sapi_cli_Makefile.frag @@ -0,0 +1,19 @@ +$NetBSD: patch-sapi_cli_Makefile.frag,v 1.1 2017/11/15 08:56:12 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/php72/patches/patch-sapi_fpm_fpm_events_port.c b/lang/php72/patches/patch-sapi_fpm_fpm_events_port.c new file mode 100644 index 00000000000..cd7667e79c1 --- /dev/null +++ b/lang/php72/patches/patch-sapi_fpm_fpm_events_port.c @@ -0,0 +1,45 @@ +$NetBSD: patch-sapi_fpm_fpm_events_port.c,v 1.1 2017/11/15 08:56:12 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/php72/patches/patch-sapi_fpm_php-fpm.conf.in b/lang/php72/patches/patch-sapi_fpm_php-fpm.conf.in new file mode 100644 index 00000000000..73303c305a9 --- /dev/null +++ b/lang/php72/patches/patch-sapi_fpm_php-fpm.conf.in @@ -0,0 +1,13 @@ +$NetBSD: patch-sapi_fpm_php-fpm.conf.in,v 1.1 2017/11/15 08:56:12 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 |