summaryrefslogtreecommitdiff
path: root/lang
diff options
context:
space:
mode:
authortaca <taca@pkgsrc.org>2012-06-16 05:21:55 +0000
committertaca <taca@pkgsrc.org>2012-06-16 05:21:55 +0000
commit88040b8ac3bfc46302dd9cd6476db8b6e599d7d2 (patch)
treef68bcc41fd2e705ac5af3a56985fb47448b10d4f /lang
parent47467e27df18c9136142b274f6801f9351dbcf40 (diff)
downloadpkgsrc-88040b8ac3bfc46302dd9cd6476db8b6e599d7d2.tar.gz
Adding php54 (PHP 5.4.4) to pkgsrc.
Key new features: traits, a shortened array syntax, a built-in webserver for testing purposes and more. A migration guide: http://php.net/migration54 Full changes: http://www.php.net/ChangeLog-5.php
Diffstat (limited to 'lang')
-rw-r--r--lang/php54/DESCR5
-rw-r--r--lang/php54/MESSAGE11
-rw-r--r--lang/php54/MESSAGE.suhosin7
-rw-r--r--lang/php54/Makefile60
-rw-r--r--lang/php54/Makefile.common51
-rw-r--r--lang/php54/Makefile.php99
-rw-r--r--lang/php54/PLIST239
-rw-r--r--lang/php54/buildlink3.mk15
-rw-r--r--lang/php54/distinfo20
-rw-r--r--lang/php54/patches/patch-acinclude.m413
-rw-r--r--lang/php54/patches/patch-configure54
-rw-r--r--lang/php54/patches/patch-ext_gd_config.m449
-rw-r--r--lang/php54/patches/patch-ext_imap_config.m428
-rw-r--r--lang/php54/patches/patch-ext_mssql_php__mssql.c22
-rw-r--r--lang/php54/patches/patch-ext_pdo__mysql_config.m413
-rw-r--r--lang/php54/patches/patch-ext_pdo_config.m425
-rw-r--r--lang/php54/patches/patch-ext_phar_Makefile.frag19
-rw-r--r--lang/php54/patches/patch-ext_phar_phar_phar.php10
-rw-r--r--lang/php54/patches/patch-ext_standard_basic__functions.c15
-rw-r--r--lang/php54/patches/patch-main_streams_cast.c27
-rw-r--r--lang/php54/patches/patch-php.ini-development33
-rw-r--r--lang/php54/patches/patch-php.ini-production33
-rw-r--r--lang/php54/patches/patch-run-tests.php10
-rw-r--r--lang/php54/patches/patch-sapi_cgi_Makefile.frag13
24 files changed, 871 insertions, 0 deletions
diff --git a/lang/php54/DESCR b/lang/php54/DESCR
new file mode 100644
index 00000000000..2b28e8cc5cc
--- /dev/null
+++ b/lang/php54/DESCR
@@ -0,0 +1,5 @@
+PHP is an HTML-embedded scripting language. It is modular, with
+some object-oriented features. 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.
diff --git a/lang/php54/MESSAGE b/lang/php54/MESSAGE
new file mode 100644
index 00000000000..57ffec993d9
--- /dev/null
+++ b/lang/php54/MESSAGE
@@ -0,0 +1,11 @@
+===========================================================================
+$NetBSD: MESSAGE,v 1.1 2012/06/16 05:21:55 taca 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/php54/MESSAGE.suhosin b/lang/php54/MESSAGE.suhosin
new file mode 100644
index 00000000000..884861d1e5e
--- /dev/null
+++ b/lang/php54/MESSAGE.suhosin
@@ -0,0 +1,7 @@
+===========================================================================
+$NetBSD: MESSAGE.suhosin,v 1.1 2012/06/16 05:21:55 taca Exp $
+
+As you have chosen to install the Suhosin patch you may also want to
+install the Suhosin extension which can be found in security/php-suhosin.
+
+===========================================================================
diff --git a/lang/php54/Makefile b/lang/php54/Makefile
new file mode 100644
index 00000000000..8de8c8a6078
--- /dev/null
+++ b/lang/php54/Makefile
@@ -0,0 +1,60 @@
+# $NetBSD: Makefile,v 1.1 2012/06/16 05:21:55 taca Exp $
+
+#
+# We can't omit PKGNAME here to handle PKG_OPTIONS.
+#
+PKGNAME= php-${PHP_BASE_VERS}
+CATEGORIES= lang
+
+HOMEPAGE= http://www.php.net/
+COMMENT= PHP Hypertext Preprocessor version 5
+LICENSE= php
+
+TEST_TARGET= test
+PKG_DESTDIR_SUPPORT= user-destdir
+
+USE_TOOLS+= gmake lex pkg-config
+LIBTOOL_OVERRIDE= # empty
+
+.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= configure 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
+
+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/php54/Makefile.common b/lang/php54/Makefile.common
new file mode 100644
index 00000000000..dff503529a7
--- /dev/null
+++ b/lang/php54/Makefile.common
@@ -0,0 +1,51 @@
+# $NetBSD: Makefile.common,v 1.1 2012/06/16 05:21:55 taca Exp $
+# used by lang/php54/Makefile.php
+# used by lang/php/ext.mk
+# used by meta-pkgs/php54-extensions/Makefile
+
+#
+# NOTE:
+# The suhosin option includes a patch from http://www.hardened-php.net/
+# Which tracks with the exact version number of PHP. There may be a delay
+# in the patch which can leave the option broken until an updated patch
+# is released. When updating PHP please don't forget to update the
+# distnfo with the details of the suhosin patch as well.
+#
+# Check these packages when update to new release of PHP and consider to
+# reset PKG_REVISION:
+#
+# databases/php-mysqlnd (not yet packaged)
+# misc/php-intl
+# textproc/php-enchant
+#
+# Since other PHP extensions are shared between www/php5, we can't reset
+# PKGREVSION.
+#
+
+.if !defined(DISTNAME)
+DISTNAME= php-${PHP_BASE_VERS}
+.endif
+CATEGORIES+= www
+
+.if !defined(PECL_VERSION)
+MASTER_SITES?= http://www.php.net/distributions/ \
+ http://uk.php.net/distributions/ \
+ http://de.php.net/distributions/ \
+ http://us.php.net/distributions/
+EXTRACT_SUFX?= .tar.bz2
+.endif
+
+MAINTAINER?= pkgsrc-users@NetBSD.org
+HOMEPAGE?= http://www.php.net/
+
+PHP_BASE_VERS= 5.4.4
+
+PHP_EXTENSION_DIR= lib/php/20120301
+PLIST_SUBST+= PHP_EXTENSION_DIR=${PHP_EXTENSION_DIR}
+
+PKG_SYSCONFVAR?= php
+
+# needed due to (broken?) configure checks in php-xmlrpc and php5-dom
+CONFIGURE_ENV+= PHP_LIBXML_SHARED="1"
+
+.include "../../mk/bsd.prefs.mk"
diff --git a/lang/php54/Makefile.php b/lang/php54/Makefile.php
new file mode 100644
index 00000000000..93ef6146c1f
--- /dev/null
+++ b/lang/php54/Makefile.php
@@ -0,0 +1,99 @@
+# $NetBSD: Makefile.php,v 1.1 2012/06/16 05:21:55 taca Exp $
+# used by lang/php54/Makefile
+# used by www/ap-php/Makefile
+
+.include "../../lang/php54/Makefile.common"
+
+DISTINFO_FILE= ${.CURDIR}/../../lang/php54/distinfo
+PATCHDIR= ${.CURDIR}/../../lang/php54/patches
+
+USE_LIBTOOL= YES
+USE_LANGUAGES= c c++
+GNU_CONFIGURE= YES
+BUILD_DEFS+= VARBASE
+PLIST_VARS+= suhosin
+
+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+= --with-regex=system
+
+CONFIGURE_ARGS+= --without-mysql
+CONFIGURE_ARGS+= --without-sqlite
+#CONFIGURE_ARGS+= --without-sqlite3
+CONFIGURE_ARGS+= --without-iconv
+CONFIGURE_ARGS+= --without-pear
+#CONFIGURE_ARGS+= --without-intl
+
+CONFIGURE_ARGS+= --disable-posix
+CONFIGURE_ARGS+= --disable-dom
+CONFIGURE_ARGS+= --disable-pdo
+CONFIGURE_ARGS+= --disable-json
+
+CONFIGURE_ARGS+= --enable-cgi
+CONFIGURE_ARGS+= --enable-xml
+CONFIGURE_ARGS+= --with-libxml-dir=${PREFIX}
+.include "../../textproc/libxml2/buildlink3.mk"
+
+# Note: This expression is the same as ${PKGBASE}, but the latter is
+# not defined yet, so we cannot use it here.
+PKG_OPTIONS_VAR= PKG_OPTIONS.${PKGNAME:C/-[0-9].*//}
+PKG_SUPPORTED_OPTIONS+= inet6 ssl maintainer-zts # suhosin
+PKG_SUGGESTED_OPTIONS+= inet6 ssl
+
+#SUBST_CLASSES+= ini
+#SUBST_STAGE.ini= post-patch
+#SUBST_FILES.ini= php.ini-development
+#SUBST_FILES.ini+= php.ini-production
+#SUBST_SED.ini= -e "s|\\;include_path = \".:/php/includes\"|include_path = \".:${PREFIX}/lib/php\"|g"
+#SUBST_MESSAGE.ini= Fixing default ini files.
+
+.include "../../mk/bsd.options.mk"
+
+#.if !empty(PKG_OPTIONS:Msuhosin)
+#SUHOSIN_PHPVER= 5.4.0
+#. if ${SUHOSIN_PHPVER} != ${PHP_BASE_VERS}
+#PKG_FAIL_REASON+= "The suhosin patch is currently not available for"
+#PKG_FAIL_REASON+= "this version of PHP. You may have to wait until"
+#PKG_FAIL_REASON+= "an updated patch is released or temporarily"
+#PKG_FAIL_REASON+= "build this package without the suhosin option."
+#. else
+#PATCH_SITES= http://download.suhosin.org/
+#PATCHFILES+= suhosin-patch-${SUHOSIN_PHPVER}-0.9.10.patch.gz
+#PATCH_DIST_STRIP= -p1
+#PLIST.suhosin= yes
+#MESSAGE_SRC= ${.CURDIR}/../../lang/php54/MESSAGE
+#MESSAGE_SRC+= ${.CURDIR}/../../lang/php54/MESSAGE.suhosin
+#. endif
+#.endif
+
+.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
+
+DL_AUTO_VARS= yes
+.include "../../mk/dlopen.buildlink3.mk"
diff --git a/lang/php54/PLIST b/lang/php54/PLIST
new file mode 100644
index 00000000000..0a8c58be7d9
--- /dev/null
+++ b/lang/php54/PLIST
@@ -0,0 +1,239 @@
+@comment $NetBSD: PLIST,v 1.1 2012/06/16 05:21:55 taca Exp $
+bin/phar
+bin/phar.phar
+bin/php
+bin/php-config
+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_virtual_cwd.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_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
+include/php/Zend/zend_dynamic_array.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_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_indent.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_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_ptr_stack.h
+include/php/Zend/zend_qsort.h
+include/php/Zend/zend_signal.h
+include/php/Zend/zend_stack.h
+include/php/Zend/zend_static_allocator.h
+include/php/Zend/zend_stream.h
+include/php/Zend/zend_string.h
+include/php/Zend/zend_strtod.h
+include/php/Zend/zend_ts_hash.h
+include/php/Zend/zend_types.h
+include/php/Zend/zend_variables.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/ereg/php_ereg.h
+include/php/ext/ereg/php_regex.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_snefru.h
+include/php/ext/hash/php_hash_tiger.h
+include/php/ext/hash/php_hash_types.h
+include/php/ext/hash/php_hash_whirlpool.h
+include/php/ext/libxml/php_libxml.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/session/mod_files.h
+include/php/ext/session/mod_user.h
+include/php/ext/session/php_session.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_rand.h
+include/php/ext/standard/php_smart_str.h
+include/php/ext/standard/php_smart_str_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/fopen_wrappers.h
+include/php/main/logos.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_logos.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_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
+${PLIST.suhosin}include/php/main/suhosin_globals.h
+${PLIST.suhosin}include/php/main/suhosin_logo.h
+${PLIST.suhosin}include/php/main/suhosin_patch.h
+include/php/main/win32_internal_function_disabled.h
+include/php/main/win95nt.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/php-config.1
+man/man1/php.1
+man/man1/phpize.1
+share/examples/php/php.ini-development
+share/examples/php/php.ini-production
+share/php/php.gif
+@pkgdir include/php/include
+@pkgdir ${PHPEXTDIR}
diff --git a/lang/php54/buildlink3.mk b/lang/php54/buildlink3.mk
new file mode 100644
index 00000000000..fa0a976d991
--- /dev/null
+++ b/lang/php54/buildlink3.mk
@@ -0,0 +1,15 @@
+# $NetBSD: buildlink3.mk,v 1.1 2012/06/16 05:21:55 taca Exp $
+
+BUILDLINK_TREE+= php
+
+.if !defined(PHP_BUILDLINK3_MK)
+PHP_BUILDLINK3_MK:=
+
+BUILDLINK_API_DEPENDS.php+= php>=5.4.2<5.5
+BUILDLINK_ABI_DEPENDS.php+= php>=5.4.2<5.5
+BUILDLINK_PKGSRCDIR.php?= ../../lang/php54
+
+.include "../../textproc/libxml2/buildlink3.mk"
+.endif # PHP_BUILDLINK3_MK
+
+BUILDLINK_TREE+= -php
diff --git a/lang/php54/distinfo b/lang/php54/distinfo
new file mode 100644
index 00000000000..9b5a62e9891
--- /dev/null
+++ b/lang/php54/distinfo
@@ -0,0 +1,20 @@
+$NetBSD: distinfo,v 1.1 2012/06/16 05:21:55 taca Exp $
+
+SHA1 (php-5.4.4.tar.bz2) = 6d758cb864f7026954af4be29da04780909e889b
+RMD160 (php-5.4.4.tar.bz2) = 311fffdd9d5a55fdccff0af030d2c77b499a023e
+Size (php-5.4.4.tar.bz2) = 11150967 bytes
+SHA1 (patch-acinclude.m4) = afead7122844e8290d9ef4fdb8deec3c40cf0746
+SHA1 (patch-configure) = 149d27b5e120e0a15c93d25bcb219ea23caaecba
+SHA1 (patch-ext_gd_config.m4) = 089f1c88bd4daa8ebc8911122423c1f88e5d84a0
+SHA1 (patch-ext_imap_config.m4) = 01681e8b54ee586ec4db72a5da2d0aec3fa89fcc
+SHA1 (patch-ext_mssql_php__mssql.c) = 732e48b05086180585a3087c2e9737db557dbc3b
+SHA1 (patch-ext_pdo__mysql_config.m4) = 3526e737da25129710218e7141d5a05ae0a51390
+SHA1 (patch-ext_pdo_config.m4) = 26a4ad02e5c6b7a54c3c54a6d026a3ccfed62c59
+SHA1 (patch-ext_phar_Makefile.frag) = 1af23d9135557bc7ba2f3627b317d4cbef37aaba
+SHA1 (patch-ext_phar_phar_phar.php) = 011f2d68048dbc63f5efcab4e23062daa9e8e08c
+SHA1 (patch-ext_standard_basic__functions.c) = 563fe67eb78b786cd46195026381ef22128e0841
+SHA1 (patch-main_streams_cast.c) = ebf23f9908340be3d1f947c4112ec940f9324ecb
+SHA1 (patch-php.ini-development) = 79512bd276adaed6bcf5f7f28e965f8a6b589add
+SHA1 (patch-php.ini-production) = f5d275abe7668a139999b3607e99f271450f56ae
+SHA1 (patch-run-tests.php) = c4de72f42638c5e317eaf02d3ac1110600a3c306
+SHA1 (patch-sapi_cgi_Makefile.frag) = ba16463cc2a350df1db80c78ac9aec44b20d4bfe
diff --git a/lang/php54/patches/patch-acinclude.m4 b/lang/php54/patches/patch-acinclude.m4
new file mode 100644
index 00000000000..bb27de121fa
--- /dev/null
+++ b/lang/php54/patches/patch-acinclude.m4
@@ -0,0 +1,13 @@
+$NetBSD: patch-acinclude.m4,v 1.1 2012/06/16 05:21:55 taca Exp $
+
+--- acinclude.m4.orig 2012-05-03 17:10:43.000000000 +0000
++++ acinclude.m4
+@@ -2352,7 +2352,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/php54/patches/patch-configure b/lang/php54/patches/patch-configure
new file mode 100644
index 00000000000..d72a1bfb5aa
--- /dev/null
+++ b/lang/php54/patches/patch-configure
@@ -0,0 +1,54 @@
+$NetBSD: patch-configure,v 1.1 2012/06/16 05:21:55 taca Exp $
+
+--- configure.orig 2012-05-03 17:11:27.000000000 +0000
++++ configure
+@@ -23334,7 +23334,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
+@@ -25333,7 +25333,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'`
+@@ -36571,7 +36571,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
+@@ -51090,7 +51090,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
+@@ -105056,12 +105056,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/php54/patches/patch-ext_gd_config.m4 b/lang/php54/patches/patch-ext_gd_config.m4
new file mode 100644
index 00000000000..a292730ce34
--- /dev/null
+++ b/lang/php54/patches/patch-ext_gd_config.m4
@@ -0,0 +1,49 @@
+$NetBSD: patch-ext_gd_config.m4,v 1.1 2012/06/16 05:21:55 taca Exp $
+
+--- ext/gd/config.m4.orig 2012-05-03 17:10:43.000000000 +0000
++++ ext/gd/config.m4
+@@ -50,18 +50,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"
+@@ -70,7 +59,6 @@ AC_DEFUN([PHP_GD_ZLIB],[
+ PHP_ZLIB_INCDIR="$i/include"
+ fi
+ done
+- fi
+ ])
+
+ AC_DEFUN([PHP_GD_VPX],[
+@@ -139,13 +127,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(png15,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(png15, $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 libpng15.(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/php54/patches/patch-ext_imap_config.m4 b/lang/php54/patches/patch-ext_imap_config.m4
new file mode 100644
index 00000000000..120422925eb
--- /dev/null
+++ b/lang/php54/patches/patch-ext_imap_config.m4
@@ -0,0 +1,28 @@
+$NetBSD: patch-ext_imap_config.m4,v 1.1 2012/06/16 05:21:55 taca Exp $
+
+--- ext/imap/config.m4.orig 2012-05-03 17:10:43.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/php54/patches/patch-ext_mssql_php__mssql.c b/lang/php54/patches/patch-ext_mssql_php__mssql.c
new file mode 100644
index 00000000000..da19d65607c
--- /dev/null
+++ b/lang/php54/patches/patch-ext_mssql_php__mssql.c
@@ -0,0 +1,22 @@
+$NetBSD: patch-ext_mssql_php__mssql.c,v 1.1 2012/06/16 05:21:55 taca Exp $
+
+--- ext/mssql/php_mssql.c.orig 2012-05-03 17:10:43.000000000 +0000
++++ ext/mssql/php_mssql.c
+@@ -764,7 +764,7 @@ static void php_mssql_do_connect(INTERNA
+ dbfreelogin(mssql.login);
+ RETURN_FALSE;
+ }
+- link = (int) index_ptr->ptr;
++ link = (int)(long) index_ptr->ptr;
+ ptr = zend_list_find(link,&type); /* check if the link is still there */
+ if (ptr && (type==le_link || type==le_plink)) {
+ zend_list_addref(link);
+@@ -1117,7 +1117,7 @@ static void php_mssql_get_column_content
+ }
+
+ res_length = 19;
+- spprintf(&res_buf, 0, "%d-%02d-%02d %02d:%02d:%02d" , dateinfo.year, dateinfo.month, dateinfo.day, dateinfo.hour, dateinfo.minute, dateinfo.second);
++ spprintf((char **)&res_buf, 0, "%d-%02d-%02d %02d:%02d:%02d" , dateinfo.year, dateinfo.month, dateinfo.day, dateinfo.hour, dateinfo.minute, dateinfo.second);
+ }
+
+ ZVAL_STRINGL(result, res_buf, res_length, 0);
diff --git a/lang/php54/patches/patch-ext_pdo__mysql_config.m4 b/lang/php54/patches/patch-ext_pdo__mysql_config.m4
new file mode 100644
index 00000000000..45f68956341
--- /dev/null
+++ b/lang/php54/patches/patch-ext_pdo__mysql_config.m4
@@ -0,0 +1,13 @@
+$NetBSD: patch-ext_pdo__mysql_config.m4,v 1.1 2012/06/16 05:21:55 taca Exp $
+
+--- ext/pdo_mysql/config.m4.orig 2012-05-03 17:10:43.000000000 +0000
++++ ext/pdo_mysql/config.m4
+@@ -144,7 +144,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)
++ PHP_NEW_EXTENSION(pdo_mysql, pdo_mysql.c mysql_driver.c mysql_statement.c, $ext_shared)
+ ifdef([PHP_ADD_EXTENSION_DEP],
+ [
+ PHP_ADD_EXTENSION_DEP(pdo_mysql, pdo)
diff --git a/lang/php54/patches/patch-ext_pdo_config.m4 b/lang/php54/patches/patch-ext_pdo_config.m4
new file mode 100644
index 00000000000..7feb6a67711
--- /dev/null
+++ b/lang/php54/patches/patch-ext_pdo_config.m4
@@ -0,0 +1,25 @@
+$NetBSD: patch-ext_pdo_config.m4,v 1.1 2012/06/16 05:21:55 taca Exp $
+
+--- ext/pdo/config.m4.orig 2012-05-03 17:10:43.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/php54/patches/patch-ext_phar_Makefile.frag b/lang/php54/patches/patch-ext_phar_Makefile.frag
new file mode 100644
index 00000000000..b446bee00f2
--- /dev/null
+++ b/lang/php54/patches/patch-ext_phar_Makefile.frag
@@ -0,0 +1,19 @@
+$NetBSD: patch-ext_phar_Makefile.frag,v 1.1 2012/06/16 05:21:55 taca Exp $
+
+--- ext/phar/Makefile.frag.orig 2012-05-03 17:10:43.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
+@@ -39,4 +39,4 @@ install-pharcmd: pharcmd
+ -@$(mkinstalldirs) $(INSTALL_ROOT)$(bindir)
+ $(INSTALL) $(builddir)/phar.phar $(INSTALL_ROOT)$(bindir)
+ -@rm -f $(INSTALL_ROOT)$(bindir)/phar
+- $(LN_S) -f $(bindir)/phar.phar $(INSTALL_ROOT)$(bindir)/phar
++ $(LN_S) -f phar.phar $(INSTALL_ROOT)$(bindir)/phar
diff --git a/lang/php54/patches/patch-ext_phar_phar_phar.php b/lang/php54/patches/patch-ext_phar_phar_phar.php
new file mode 100644
index 00000000000..06ab9a37a1d
--- /dev/null
+++ b/lang/php54/patches/patch-ext_phar_phar_phar.php
@@ -0,0 +1,10 @@
+$NetBSD: patch-ext_phar_phar_phar.php,v 1.1 2012/06/16 05:21:55 taca Exp $
+
+--- ext/phar/phar/phar.php.orig 2012-05-03 17:10:43.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/php54/patches/patch-ext_standard_basic__functions.c b/lang/php54/patches/patch-ext_standard_basic__functions.c
new file mode 100644
index 00000000000..fd8a1404500
--- /dev/null
+++ b/lang/php54/patches/patch-ext_standard_basic__functions.c
@@ -0,0 +1,15 @@
+$NetBSD: patch-ext_standard_basic__functions.c,v 1.1 2012/06/16 05:21:55 taca Exp $
+
+Work around VAX FP lack of INF
+
+--- ext/standard/basic_functions.c.orig 2012-05-08 05:22:56.000000000 +0000
++++ ext/standard/basic_functions.c
+@@ -3498,7 +3498,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/php54/patches/patch-main_streams_cast.c b/lang/php54/patches/patch-main_streams_cast.c
new file mode 100644
index 00000000000..539a469414d
--- /dev/null
+++ b/lang/php54/patches/patch-main_streams_cast.c
@@ -0,0 +1,27 @@
+$NetBSD: patch-main_streams_cast.c,v 1.1 2012/06/16 05:21:55 taca Exp $
+
+--- main/streams/cast.c.orig 2012-05-03 17:10:43.000000000 +0000
++++ main/streams/cast.c
+@@ -34,7 +34,7 @@
+ typedef struct {
+ int (*reader)(void *, char *, int);
+ int (*writer)(void *, const char *, int);
+- fpos_t (*seeker)(void *, fpos_t, int);
++ off_t (*seeker)(void *, off_t, int);
+ int (*closer)(void *);
+ } COOKIE_IO_FUNCTIONS_T;
+
+@@ -68,11 +68,11 @@ static int stream_cookie_writer(void *co
+ return php_stream_write((php_stream *)cookie, (char *)buffer, size);
+ }
+
+-static fpos_t stream_cookie_seeker(void *cookie, off_t position, int whence)
++static off_t stream_cookie_seeker(void *cookie, off_t position, int whence)
+ {
+ TSRMLS_FETCH();
+
+- return (fpos_t)php_stream_seek((php_stream *)cookie, position, whence);
++ return (off_t)php_stream_seek((php_stream *)cookie, position, whence);
+ }
+
+ static int stream_cookie_closer(void *cookie)
diff --git a/lang/php54/patches/patch-php.ini-development b/lang/php54/patches/patch-php.ini-development
new file mode 100644
index 00000000000..ac6c87a1dd4
--- /dev/null
+++ b/lang/php54/patches/patch-php.ini-development
@@ -0,0 +1,33 @@
+$NetBSD: patch-php.ini-development,v 1.1 2012/06/16 05:21:55 taca Exp $
+
+--- php.ini-development.orig 2012-05-03 17:10:43.000000000 +0000
++++ php.ini-development
+@@ -702,7 +702,7 @@ default_mimetype = "text/html"
+ ;;;;;;;;;;;;;;;;;;;;;;;;;
+
+ ; UNIX: "/path1:/path2"
+-;include_path = ".:/php/includes"
++include_path = ".:@PREFIX@/lib/php"
+ ;
+ ; Windows: "\path1;\path2"
+ ;include_path = ".;c:\php\includes"
+@@ -723,8 +723,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"
+@@ -793,7 +793,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/php54/patches/patch-php.ini-production b/lang/php54/patches/patch-php.ini-production
new file mode 100644
index 00000000000..af1da423ae3
--- /dev/null
+++ b/lang/php54/patches/patch-php.ini-production
@@ -0,0 +1,33 @@
+$NetBSD: patch-php.ini-production,v 1.1 2012/06/16 05:21:55 taca Exp $
+
+--- php.ini-production.orig 2012-05-03 17:10:43.000000000 +0000
++++ php.ini-production
+@@ -702,7 +702,7 @@ default_mimetype = "text/html"
+ ;;;;;;;;;;;;;;;;;;;;;;;;;
+
+ ; UNIX: "/path1:/path2"
+-;include_path = ".:/php/includes"
++include_path = ".:@PREFIX@/lib/php"
+ ;
+ ; Windows: "\path1;\path2"
+ ;include_path = ".;c:\php\includes"
+@@ -723,8 +723,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"
+@@ -793,7 +793,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/php54/patches/patch-run-tests.php b/lang/php54/patches/patch-run-tests.php
new file mode 100644
index 00000000000..b055fb6fc5d
--- /dev/null
+++ b/lang/php54/patches/patch-run-tests.php
@@ -0,0 +1,10 @@
+$NetBSD: patch-run-tests.php,v 1.1 2012/06/16 05:21:55 taca Exp $
+
+--- run-tests.php.orig 2012-05-03 17:10:43.000000000 +0000
++++ run-tests.php
+@@ -1,4 +1,4 @@
+-#!/usr/bin/php
++#!@PREFIX@/bin/php
+ <?php
+ /*
+ +----------------------------------------------------------------------+
diff --git a/lang/php54/patches/patch-sapi_cgi_Makefile.frag b/lang/php54/patches/patch-sapi_cgi_Makefile.frag
new file mode 100644
index 00000000000..3e704a96373
--- /dev/null
+++ b/lang/php54/patches/patch-sapi_cgi_Makefile.frag
@@ -0,0 +1,13 @@
+$NetBSD: patch-sapi_cgi_Makefile.frag,v 1.1 2012/06/16 05:21:55 taca Exp $
+
+--- sapi/cgi/Makefile.frag.orig 2012-05-03 17:10:43.000000000 +0000
++++ sapi/cgi/Makefile.frag
+@@ -4,6 +4,6 @@ $(SAPI_CGI_PATH): $(PHP_GLOBAL_OBJS) $(P
+ $(BUILD_CGI)
+
+ install-cgi: $(SAPI_CGI_PATH)
+- @echo "Installing PHP CGI binary: $(INSTALL_ROOT)$(bindir)/"
+- @$(INSTALL) -m 0755 $(SAPI_CGI_PATH) $(INSTALL_ROOT)$(bindir)/$(program_prefix)php-cgi$(program_suffix)$(EXEEXT)
++ @echo "Installing PHP CGI binary: $(INSTALL_ROOT)@CGIDIR@/"
++ @$(INSTALL) -m 0755 $(SAPI_CGI_PATH) $(INSTALL_ROOT)@CGIDIR@/php
+