summaryrefslogtreecommitdiff
path: root/lang/php55
diff options
context:
space:
mode:
authorAlex Dupre <ale@FreeBSD.org>2013-06-24 14:32:11 +0000
committerAlex Dupre <ale@FreeBSD.org>2013-06-24 14:32:11 +0000
commit7fe96c109332ecdb411ceef911efd11085a88346 (patch)
treefd816d2c8b34ef7db2d6bcabe7358eaa7fb2d04f /lang/php55
parentgraphics/radius-engine: minor fixes (diff)
Welcome PHP 5.5!
Future steps: - rename current php5 ports to php54 - make php55 the default one after an exp-run
Notes
Notes: svn path=/head/; revision=321684
Diffstat (limited to 'lang/php55')
-rw-r--r--lang/php55/Makefile207
-rw-r--r--lang/php55/Makefile.ext612
-rw-r--r--lang/php55/distinfo4
-rw-r--r--lang/php55/files/patch-TSRM_threads.m411
-rw-r--r--lang/php55/files/patch-Zend::zend.h11
-rw-r--r--lang/php55/files/patch-Zend_zend_list.c38
-rw-r--r--lang/php55/files/patch-Zend_zend_list.h24
-rw-r--r--lang/php55/files/patch-acinclude.m445
-rw-r--r--lang/php55/files/patch-configure.in45
-rw-r--r--lang/php55/files/patch-ext_standard_basic_functions.c20
-rw-r--r--lang/php55/files/patch-ext_standard_image.c50
-rw-r--r--lang/php55/files/patch-ext_zlib_config0.m411
-rw-r--r--lang/php55/files/patch-main::php_config.h.in12
-rw-r--r--lang/php55/files/patch-sapi_fpm_Makefile.frag12
-rw-r--r--lang/php55/files/patch-sapi_fpm_config.m420
-rw-r--r--lang/php55/files/patch-sapi_fpm_php-fpm.conf.in11
-rw-r--r--lang/php55/files/php-fpm.in43
-rw-r--r--lang/php55/pkg-descr8
-rw-r--r--lang/php55/pkg-message.mod10
-rw-r--r--lang/php55/pkg-plist263
20 files changed, 1457 insertions, 0 deletions
diff --git a/lang/php55/Makefile b/lang/php55/Makefile
new file mode 100644
index 000000000000..b0ba10c50057
--- /dev/null
+++ b/lang/php55/Makefile
@@ -0,0 +1,207 @@
+# Created by: Alex Dupre <ale@FreeBSD.org>
+# $FreeBSD$
+
+PORTNAME= php55
+PORTVERSION= 5.5.0
+PORTREVISION?= 0
+CATEGORIES?= lang devel www
+MASTER_SITES= ${MASTER_SITE_PHP}
+MASTER_SITE_SUBDIR= distributions
+DISTNAME= php-${PORTVERSION}
+
+MAINTAINER= ale@FreeBSD.org
+COMMENT= PHP Scripting Language
+
+LICENSE= PHP301
+
+LATEST_LINK= ${PKGNAMEPREFIX}${PORTNAME}${PKGNAMESUFFIX}
+
+USE_BZIP2= yes
+MAKE_JOBS_SAFE= yes
+NO_OPTIONS_SORT=yes
+.if !defined(PKGNAMESUFFIX)
+USE_AUTOTOOLS= autoconf
+
+LIB_DEPENDS= pcre:${PORTSDIR}/devel/pcre
+
+CONFIGURE_ARGS= \
+ --with-layout=GNU \
+ --localstatedir=/var \
+ --with-config-file-scan-dir=${PREFIX}/etc/php \
+ --disable-all \
+ --enable-libxml \
+ --enable-mysqlnd \
+ --with-libxml-dir=${LOCALBASE} \
+ --with-pcre-regex=${LOCALBASE} \
+ --with-zlib-dir=/usr \
+ --program-prefix=""
+
+USE_GNOME= libxml2
+
+OPTIONS_DEFINE= CLI CGI FPM APACHE AP2FILTER EMBED DEBUG DTRACE IPV6 MAILHEAD LINKTHR
+OPTIONS_DEFAULT=CLI CGI IPV6 LINKTHR
+
+CLI_DESC= Build CLI version
+CGI_DESC= Build CGI version
+FPM_DESC= Build FPM version
+APACHE_DESC= Build Apache module
+AP2FILTER_DESC= Use Apache 2.x filter interface (experimental)
+EMBED_DESC= Build embedded library
+DEBUG_DESC= Enable debug
+DTRACE_DESC= Enable DTrace support
+IPV6_DESC= Enable ipv6 support
+MAILHEAD_DESC= Enable mail header patch
+LINKTHR_DESC= Link thread lib (for threaded extensions)
+
+CONFLICTS= php52-5* php53-5* php54-5* php5-5*
+
+MAN1= php-config.1 phpize.1
+
+.include <bsd.port.pre.mk>
+
+PATCH_DIST_STRIP= -p1
+
+PATCH_SITES+= ${MASTER_SITE_LOCAL}
+PATCH_SITE_SUBDIR= ale
+
+.if ${PORT_OPTIONS:MMAILHEAD}
+PATCHFILES+= php-5.5.x-mail-header.patch:mail
+PATCH_SITES+= http://choon.net/opensource/php/:mail
+.endif
+
+.if ${PORT_OPTIONS:MCLI}
+PHP_SAPI+= cli
+PLIST_SUB+= CLI=""
+MAN1+= php.1
+.else
+PLIST_SUB+= CLI="@comment "
+CONFIGURE_ARGS+=--disable-cli
+.endif
+
+.if ${PORT_OPTIONS:MCGI}
+PHP_SAPI+= cgi
+PLIST_SUB+= CGI=""
+.else
+PLIST_SUB+= CGI="@comment "
+CONFIGURE_ARGS+=--disable-cgi
+.endif
+
+.if ${PORT_OPTIONS:MFPM}
+PHP_SAPI+= fpm
+MAN8+= php-fpm.8
+USE_RC_SUBR+= php-fpm
+CONFIGURE_ARGS+=--enable-fpm \
+ --with-fpm-user=${WWWOWN} \
+ --with-fpm-group=${WWWGRP}
+PLIST_SUB+= FPM=""
+.else
+PLIST_SUB+= FPM="@comment "
+.endif
+
+.if ${PORT_OPTIONS:MAPACHE} && ${PORT_OPTIONS:MEMBED}
+IGNORE= cannot be built with multiple SAPI (apache and embedded)
+.endif
+
+.if ${PORT_OPTIONS:MAPACHE}
+PHP_SAPI+= mod
+USE_APACHE= 22+
+.include "${PORTSDIR}/Mk/bsd.apache.mk"
+.if ${PORT_OPTIONS:MAP2FILTER}
+CONFIGURE_ARGS+=--with-apxs2filter=${APXS}
+.else
+CONFIGURE_ARGS+=--with-apxs2=${APXS}
+.endif
+PKGMESSAGE= ${PKGDIR}/pkg-message.mod
+MODULENAME= libphp5
+SHORTMODNAME= php5
+PLIST_SUB+= APACHE=""
+.else
+PLIST_SUB+= APACHE="@comment "
+.endif
+
+.if ${PORT_OPTIONS:MEMBED}
+PHP_SAPI+= embed
+CONFIGURE_ARGS+=--enable-embed
+PLIST_SUB+= EMBED=""
+.else
+PLIST_SUB+= EMBED="@comment "
+.endif
+
+.if !defined(WITH_REGEX_TYPE) || ${WITH_REGEX_TYPE} == "php"
+CONFIGURE_ARGS+=--with-regex=php
+.elif defined(WITH_REGEX_TYPE) && ${WITH_REGEX_TYPE} == "system"
+CONFIGURE_ARGS+=--with-regex=system
+.endif
+
+.if !defined(WITH_ZEND_VM) || ${WITH_ZEND_VM} == "CALL"
+CONFIGURE_ARGS+=--with-zend-vm=CALL
+.elif defined(WITH_ZEND_VM) && ${WITH_ZEND_VM} == "SWITCH"
+CONFIGURE_ARGS+=--with-zend-vm=SWITCH
+.elif defined(WITH_ZEND_VM) && ${WITH_ZEND_VM} == "GOTO"
+CONFIGURE_ARGS+=--with-zend-vm=GOTO
+.endif
+
+CONFIGURE_ENV+= ac_cv_pthreads_lib="" \
+ ac_cv_pthreads_cflags="" \
+ pthreads_working="yes" \
+ lt_cv_path_SED="sed"
+
+.if ${PORT_OPTIONS:MLINKTHR}
+CONFIGURE_ENV+= LIBS="${LIBS} ${PTHREAD_LIBS}"
+.endif
+
+.if ${PORT_OPTIONS:MDEBUG}
+CONFIGURE_ARGS+=--enable-debug
+.endif
+
+.if ${PORT_OPTIONS:MDTRACE}
+.if ${OSVERSION} < 900000
+IGNORE= cannot be built with DTrace support on FreeBSD < 9.x
+.endif
+CONFIGURE_ARGS+=--enable-dtrace
+.endif
+
+.if empty(PORT_OPTIONS:MIPV6)
+CONFIGURE_ARGS+=--disable-ipv6
+.endif
+
+post-patch:
+ @${TOUCH} ${WRKSRC}/ext/php_config.h
+ @${REINPLACE_CMD} "s|^\(extension_dir\)|; \1|" ${WRKSRC}/php.ini-*
+.if ${PORT_OPTIONS:MFPM}
+ @${REINPLACE_CMD} -e "s|^;\(pid\)|\1|;s|^;\(pm\.[a-z_]*_servers\)|\1|" \
+ ${WRKSRC}/sapi/fpm/php-fpm.conf.in
+.endif
+
+# Work around issues with newer (>=2.64) autoconf
+pre-configure:
+ @${REINPLACE_CMD} -E 's:^((m4_)?divert)[(]([0-9]*)[)]:\1(600\3):' \
+ ${WRKSRC}/configure.in `${FIND} ${WRKSRC} -name '*.m4'`
+ @${RM} ${WRKSRC}/configure
+ @${CAT} ${WRKSRC}/acinclude.m4 ${WRKSRC}/build/libtool.m4 > ${WRKSRC}/aclocal.m4
+
+post-build:
+ @${ECHO_CMD} "PHP_VER=55" > ${WRKDIR}/php.conf
+ @${ECHO_CMD} "PHP_VERSION=${PORTVERSION}" >> ${WRKDIR}/php.conf
+ @${ECHO_CMD} "PHP_SAPI=${PHP_SAPI}" >> ${WRKDIR}/php.conf
+ @${ECHO_CMD} "PHP_EXT_INC=pcre spl" >> ${WRKDIR}/php.conf
+
+test: build
+ @(cd ${WRKSRC} && ${MAKE} test)
+
+post-install:
+ @${INSTALL_DATA} ${WRKSRC}/php.ini-development ${PREFIX}/etc
+ @${INSTALL_DATA} ${WRKSRC}/php.ini-production ${PREFIX}/etc
+ @${INSTALL_DATA} ${WRKDIR}/php.conf ${PREFIX}/etc
+ @${TOUCH} ${PREFIX}/include/php/ext/php_config.h
+.if ${PORT_OPTIONS:MFPM}
+ @${CP} -n ${PREFIX}/etc/php-fpm.conf.default ${PREFIX}/etc/php-fpm.conf || ${TRUE}
+.endif
+.if ${PORT_OPTIONS:MAPACHE}
+ @${CAT} ${PKGMESSAGE}
+.endif
+
+.else
+.include "${MASTERDIR}/Makefile.ext"
+.endif
+.include <bsd.port.post.mk>
diff --git a/lang/php55/Makefile.ext b/lang/php55/Makefile.ext
new file mode 100644
index 000000000000..daabaef48fcf
--- /dev/null
+++ b/lang/php55/Makefile.ext
@@ -0,0 +1,612 @@
+COMMENT= The ${PHP_MODNAME} shared extension for php
+
+USE_PHP= yes
+USE_PHPEXT= yes
+PHP_MODNAME= ${PKGNAMESUFFIX:S/-//}
+DEFAULT_PHP_VER=55
+IGNORE_WITH_PHP=52 53 54 5
+
+EXTSUBDIR= ${DISTNAME}/ext/${PHP_MODNAME}
+WRKSRC= ${WRKDIR}/${EXTSUBDIR}
+PATCHDIR= ${.CURDIR}/files
+PLIST= ${NONEXISTENT}
+
+EXTRACT_AFTER_ARGS?= ${EXTSUBDIR}
+
+.if ${PHP_MODNAME} == "bcmath"
+CONFIGURE_ARGS+=--enable-bcmath
+
+PHP_HEADER_DIRS=libbcmath libbcmath/src
+.endif
+
+.if ${PHP_MODNAME} == "bz2"
+CONFIGURE_ARGS+=--with-bz2=/usr
+.endif
+
+.if ${PHP_MODNAME} == "calendar"
+CONFIGURE_ARGS+=--enable-calendar
+.endif
+
+.if ${PHP_MODNAME} == "ctype"
+CONFIGURE_ARGS+=--enable-ctype
+.endif
+
+.if ${PHP_MODNAME} == "curl"
+LIB_DEPENDS+= curl:${PORTSDIR}/ftp/curl
+
+CONFIGURE_ARGS+=--with-curl=${LOCALBASE}
+.endif
+
+.if ${PHP_MODNAME} == "dba"
+CONFIGURE_ARGS+=--enable-dba
+
+OPTIONS_DEFINE= CDB DB4 GDBM QDBM TOKYO INIFILE FLATFILE
+OPTIONS_DEFAULT=CDB INIFILE FLATFILE
+
+CDB_DESC= cdb database support
+DB4_DESC= Berkeley DB4 support
+GDBM_DESC= GDBM database support
+QDBM_DESC= QDBM database support
+TOKYO_DESC= Tokyo Cabinet database support
+INIFILE_DESC= INI file support
+FLATFILE_DESC= flatfile support
+
+PHP_HEADER_DIRS= libcdb libflatfile libinifile
+.endif
+
+.if ${PHP_MODNAME} == "dom"
+CONFIGURE_ARGS+=--enable-dom \
+ --with-libxml-dir=${LOCALBASE}
+
+USE_GNOME= libxml2
+.endif
+
+.if ${PHP_MODNAME} == "exif"
+CONFIGURE_ARGS+=--enable-exif
+.endif
+
+.if ${PHP_MODNAME} == "fileinfo"
+CONFIGURE_ARGS+=--enable-fileinfo \
+ --with-pcre-dir=${LOCALBASE}
+
+PHP_HEADER_DIRS= libmagic
+.endif
+
+.if ${PHP_MODNAME} == "filter"
+CONFIGURE_ARGS+=--enable-filter \
+ --with-pcre-dir=${LOCALBASE}
+.endif
+
+.if ${PHP_MODNAME} == "ftp"
+CONFIGURE_ARGS+=--enable-ftp \
+ --with-openssl-dir=${OPENSSLBASE}
+
+LDFLAGS+= -L${OPENSSLLIB} -lcrypto -lssl
+USE_OPENSSL= yes
+.endif
+
+.if ${PHP_MODNAME} == "gd"
+LIB_DEPENDS= freetype:${PORTSDIR}/print/freetype2 \
+ png15:${PORTSDIR}/graphics/png \
+ jpeg:${PORTSDIR}/graphics/jpeg
+
+CONFIGURE_ARGS+=--with-gd \
+ --with-freetype-dir=${LOCALBASE} \
+ --with-jpeg-dir=${LOCALBASE} \
+ --with-png-dir=${LOCALBASE} \
+ --with-zlib-dir=/usr
+
+OPTIONS_DEFINE= T1LIB TRUETYPE JIS X11 VPX
+OPTIONS_DEFAULT=T1LIB TRUETYPE X11
+
+T1LIB_DESC= Include T1lib support
+TRUETYPE_DESC= Enable TrueType string function
+JIS_DESC= Enable JIS-mapped Japanese font support
+X11_DESC= Enable XPM support
+VPX_DESC= Enable VP8 codec support
+
+PHP_HEADER_DIRS=libgd
+.endif
+
+.if ${PHP_MODNAME} == "gettext"
+CONFIGURE_ARGS+=--with-gettext=${LOCALBASE}
+
+USES+= gettext
+.endif
+
+.if ${PHP_MODNAME} == "gmp"
+LIB_DEPENDS+= gmp:${PORTSDIR}/math/gmp
+
+CONFIGURE_ARGS+=--with-gmp=${LOCALBASE}
+.endif
+
+.if ${PHP_MODNAME} == "hash"
+CONFIGURE_ARGS+=--enable-hash \
+ --with-mhash
+.endif
+
+.if ${PHP_MODNAME} == "iconv"
+CONFIGURE_ARGS+=--with-iconv=${LOCALBASE}
+
+USES+= iconv
+.endif
+
+.if ${PHP_MODNAME} == "imap"
+LIB_DEPENDS+= c-client4:${PORTSDIR}/mail/cclient
+
+CONFIGURE_ARGS+=--with-imap=${LOCALBASE} \
+ --with-pcre-dir=${LOCALBASE}
+.if !defined(WITHOUT_SSL)
+CONFIGURE_ARGS+=--with-imap-ssl=${OPENSSLBASE}
+
+LDFLAGS+= -L${OPENSSLLIB} -lcrypto -lssl
+USE_OPENSSL= yes
+.endif
+.endif
+
+.if ${PHP_MODNAME} == "interbase"
+CONFIGURE_ARGS+=--with-interbase=${LOCALBASE}
+
+USE_FIREBIRD= yes
+.endif
+
+.if ${PHP_MODNAME} == "json"
+CONFIGURE_ARGS+=--enable-json
+.endif
+
+.if ${PHP_MODNAME} == "ldap"
+CONFIGURE_ARGS+=--with-ldap=${LOCALBASE}
+
+USE_OPENLDAP= yes
+
+. ifdef(WANT_OPENLDAP_SASL)
+CONFIGURE_ARGS+=--with-ldap-sasl
+. endif
+.endif
+
+.if ${PHP_MODNAME} == "mbstring"
+
+CONFIGURE_ARGS+=--enable-mbstring \
+ --with-pcre-dir=${LOCALBASE}
+
+OPTIONS_DEFINE= REGEX
+OPTIONS_DEFAULT=REGEX
+
+REGEX_DESC= Enable multibyte regex support
+
+PHP_HEADER_DIRS=libmbfl libmbfl/filters libmbfl/mbfl libmbfl/nls
+.endif
+
+.if ${PHP_MODNAME} == "mcrypt"
+LIB_DEPENDS+= mcrypt:${PORTSDIR}/security/libmcrypt
+
+CONFIGURE_ARGS+=--with-mcrypt=${LOCALBASE}
+
+USE_AUTOTOOLS= libltdl
+.endif
+
+.if ${PHP_MODNAME} == "mssql"
+LIB_DEPENDS+= sybdb:${PORTSDIR}/databases/freetds-msdblib
+
+CONFIGURE_ARGS+=--with-mssql=${LOCALBASE}
+.endif
+
+.if ${PHP_MODNAME} == "mysql"
+OPTIONS_DEFINE= MYSQLND
+OPTIONS_DEFAULT=MYSQLND
+
+MYSQLND_DESC= Use MySQL Native Driver
+.endif
+
+.if ${PHP_MODNAME} == "mysqli"
+OPTIONS_DEFINE= MYSQLND
+OPTIONS_DEFAULT=MYSQLND
+
+MYSQLND_DESC= Use MySQL Native Driver
+.endif
+
+.if ${PHP_MODNAME} == "odbc"
+CONFIGURE_ARGS+=--enable-odbc
+
+OPTIONS_DEFINE= IODBC
+
+IODBC_DESC= Use the iODBC driver instead of unixODBC
+.endif
+
+.if ${PHP_MODNAME} == "openssl"
+CONFIGURE_ARGS+=--with-openssl=${OPENSSLBASE}
+
+LDFLAGS+= -L${OPENSSLLIB} -lcrypto -lssl
+USE_OPENSSL= yes
+.endif
+
+.if ${PHP_MODNAME} == "pcntl"
+CONFIGURE_ARGS+=--enable-pcntl
+.endif
+
+.if ${PHP_MODNAME} == "pdo"
+CONFIGURE_ARGS+=--enable-pdo
+.endif
+
+.if ${PHP_MODNAME} == "pdo_dblib"
+CONFIGURE_ARGS+=--with-pdo-dblib=${LOCALBASE}
+
+USE_PHP= pdo
+USE_PHP_BUILD= yes
+
+OPTIONS_DEFINE= MSSQL
+
+MSSQL_DESC= Enable Microsoft SQL Server support
+.endif
+
+.if ${PHP_MODNAME} == "pdo_firebird"
+CONFIGURE_ARGS+=--with-pdo-firebird=${LOCALBASE}
+
+USE_PHP= pdo
+USE_PHP_BUILD= yes
+
+USE_FIREBIRD= yes
+.endif
+
+.if ${PHP_MODNAME} == "pdo_mysql"
+OPTIONS_DEFINE= MYSQLND
+OPTIONS_DEFAULT=MYSQLND
+
+MYSQLND_DESC= Use MySQL Native Driver
+
+USE_PHP= pdo
+USE_PHP_BUILD= yes
+.endif
+
+.if ${PHP_MODNAME} == "pdo_odbc"
+OPTIONS_DEFINE= IODBC
+
+IODBC_DESC= Use the iODBC driver instead of unixODBC
+
+USE_PHP= pdo
+USE_PHP_BUILD= yes
+.endif
+
+.if ${PHP_MODNAME} == "pdo_pgsql"
+USE_PGSQL= yes
+
+CONFIGURE_ARGS+=--with-pdo-pgsql=${LOCALBASE}
+
+USE_PHP= pdo
+USE_PHP_BUILD= yes
+.endif
+
+.if ${PHP_MODNAME} == "pdo_sqlite"
+USE_SQLITE= yes
+CONFIGURE_ARGS+=--with-pdo-sqlite=${LOCALBASE}
+
+USE_PHP= pdo
+USE_PHP_BUILD= yes
+.endif
+
+.if ${PHP_MODNAME} == "pgsql"
+USE_PGSQL= yes
+
+CONFIGURE_ARGS+=--with-pgsql=${LOCALBASE}
+.endif
+
+.if ${PHP_MODNAME} == "phar"
+CONFIGURE_ARGS+=--enable-phar \
+ --with-pcre-dir=${LOCALBASE}
+
+USE_PHP= hash
+USE_PHP_BUILD= yes
+.endif
+
+.if ${PHP_MODNAME} == "posix"
+CONFIGURE_ARGS+=--enable-posix
+.endif
+
+.if ${PHP_MODNAME} == "pspell"
+LIB_DEPENDS+= aspell:${PORTSDIR}/textproc/aspell
+
+CONFIGURE_ARGS+=--with-pspell=${LOCALBASE}
+
+# Ugly hack to load session before psell to avoid crashes
+USE_PHP= session
+USE_PHP_BUILD= yes
+.endif
+
+.if ${PHP_MODNAME} == "readline"
+CONFIGURE_ARGS+=--with-readline=/usr
+.endif
+
+.if ${PHP_MODNAME} == "recode"
+LIB_DEPENDS+= recode:${PORTSDIR}/converters/recode
+
+CONFIGURE_ARGS+=--with-recode=${LOCALBASE}
+.endif
+
+.if ${PHP_MODNAME} == "session"
+CONFIGURE_ARGS+=--enable-session
+.endif
+
+.if ${PHP_MODNAME} == "shmop"
+CONFIGURE_ARGS+=--enable-shmop
+.endif
+
+.if ${PHP_MODNAME} == "simplexml"
+CONFIGURE_ARGS+=--enable-simplexml \
+ --with-libxml-dir=${LOCALBASE}
+
+USE_GNOME= libxml2
+.endif
+
+.if ${PHP_MODNAME} == "snmp"
+CONFIGURE_ARGS+=--with-snmp=${LOCALBASE} \
+ --with-openssl-dir=${OPENSSLBASE}
+
+CONFIGURE_ENV+= ac_cv_buggy_snprint_value="no"
+
+LIB_DEPENDS+= netsnmp:${PORTSDIR}/net-mgmt/net-snmp
+LDFLAGS+= -L${OPENSSLLIB} -lcrypto -lssl
+USE_OPENSSL= yes
+.endif
+
+.if ${PHP_MODNAME} == "soap"
+CONFIGURE_ARGS+=--enable-soap \
+ --with-libxml-dir=${LOCALBASE}
+
+USE_GNOME= libxml2
+
+USE_PHP= session
+USE_PHP_BUILD= yes
+.endif
+
+.if ${PHP_MODNAME} == "sockets"
+CONFIGURE_ARGS+=--enable-sockets
+.endif
+
+.if ${PHP_MODNAME} == "sqlite3"
+USE_SQLITE= yes
+CONFIGURE_ARGS+=--with-sqlite3=${LOCALBASE}
+.endif
+
+.if ${PHP_MODNAME} == "sybase_ct"
+LIB_DEPENDS+= ct:${PORTSDIR}/databases/freetds
+
+CONFIGURE_ARGS+=--with-sybase-ct=${LOCALBASE}
+.endif
+
+.if ${PHP_MODNAME} == "sysvmsg"
+CONFIGURE_ARGS+=--enable-sysvmsg
+.endif
+
+.if ${PHP_MODNAME} == "sysvsem"
+CONFIGURE_ARGS+=--enable-sysvsem
+.endif
+
+.if ${PHP_MODNAME} == "sysvshm"
+CONFIGURE_ARGS+=--enable-sysvshm
+.endif
+
+.if ${PHP_MODNAME} == "tidy"
+CONFIGURE_ARGS+=--with-tidy=${LOCALBASE}
+
+LIB_DEPENDS+= tidy-0.99:${PORTSDIR}/www/tidy-lib
+.endif
+
+.if ${PHP_MODNAME} == "tokenizer"
+CONFIGURE_ARGS+=--enable-tokenizer
+.endif
+
+.if ${PHP_MODNAME} == "wddx"
+CONFIGURE_ARGS+=--enable-wddx \
+ --with-libxml-dir=${LOCALBASE}
+
+USE_GNOME= libxml2
+
+USE_PHP= xml session
+USE_PHP_BUILD= yes
+.endif
+
+.if ${PHP_MODNAME} == "xml"
+CONFIGURE_ARGS+=--enable-xml \
+ --with-libxml-dir=${LOCALBASE}
+
+USE_GNOME= libxml2
+.endif
+
+.if ${PHP_MODNAME} == "xmlreader"
+CONFIGURE_ARGS+=--enable-xmlreader \
+ --with-libxml-dir=${LOCALBASE}
+
+USE_GNOME= libxml2
+
+USE_PHP= dom
+USE_PHP_BUILD= yes
+.endif
+
+.if ${PHP_MODNAME} == "xmlrpc"
+CONFIGURE_ARGS+=--with-xmlrpc \
+ --with-libxml-dir=${LOCALBASE} \
+ --with-iconv-dir=${LOCALBASE}
+
+USES+= iconv
+USE_GNOME= libxml2
+
+PHP_HEADER_DIRS=libxmlrpc
+
+USE_PHP= xml
+USE_PHP_BUILD= yes
+.endif
+
+.if ${PHP_MODNAME} == "xmlwriter"
+CONFIGURE_ARGS+=--enable-xmlwriter \
+ --with-libxml-dir=${LOCALBASE}
+
+USE_GNOME= libxml2
+.endif
+
+.if ${PHP_MODNAME} == "xsl"
+CONFIGURE_ARGS+=--with-xsl=${LOCALBASE}
+
+USE_GNOME= libxslt
+USE_PHP= dom xml
+USE_PHP_BUILD= yes
+.endif
+
+.if ${PHP_MODNAME} == "zip"
+CONFIGURE_ARGS+=--enable-zip \
+ --with-zlib-dir=/usr \
+ --with-pcre-dir=${LOCALBASE}
+.endif
+
+.if ${PHP_MODNAME} == "zlib"
+CONFIGURE_ARGS+=--with-zlib=/usr
+.endif
+
+.include <bsd.port.pre.mk>
+
+.if ${PHP_MODNAME} == "dba"
+. if empty(PORT_OPTIONS:MCDB)
+CONFIGURE_ARGS+=--without-cdb
+. endif
+. if ${PORT_OPTIONS:MDB4}
+CONFIGURE_ARGS+=--with-db4=${LOCALBASE}
+
+USE_BDB= 40+
+WITH_BDB_HIGHEST= yes
+. endif
+. if ${PORT_OPTIONS:MGDBM}
+LIB_DEPENDS+= gdbm:${PORTSDIR}/databases/gdbm
+
+CONFIGURE_ARGS+=--with-gdbm=${LOCALBASE}
+. endif
+. if ${PORT_OPTIONS:MQDBM}
+LIB_DEPENDS+= qdbm:${PORTSDIR}/databases/qdbm
+
+CONFIGURE_ARGS+=--with-qdbm=${LOCALBASE}
+. endif
+. if ${PORT_OPTIONS:MTOKYO}
+LIB_DEPENDS+= tokyocabinet:${PORTSDIR}/databases/tokyocabinet
+
+CONFIGURE_ARGS+=--with-tcadb=${LOCALBASE}
+. endif
+. if empty(PORT_OPTIONS:MINIFILE)
+CONFIGURE_ARGS+=--disable-inifile
+. endif
+. if empty(PORT_OPTIONS:MFLATFILE)
+CONFIGURE_ARGS+=--disable-flatfile
+. endif
+.endif
+
+.if ${PHP_MODNAME} == "gd"
+. if ${PORT_OPTIONS:MT1LIB}
+LIB_DEPENDS+= t1:${PORTSDIR}/devel/t1lib
+
+CONFIGURE_ARGS+=--with-t1lib=${LOCALBASE}
+. endif
+. if ${PORT_OPTIONS:MTRUETYPE}
+CONFIGURE_ARGS+=--enable-gd-native-ttf
+. endif
+. if ${PORT_OPTIONS:MJIS}
+CONFIGURE_ARGS+=--enable-gd-jis-conv
+. endif
+. if ${PORT_OPTIONS:MX11}
+USE_XORG= xpm
+
+CONFIGURE_ARGS+=--with-xpm-dir=${LOCALBASE}
+. endif
+. if ${PORT_OPTIONS:MVPX}
+LIB_DEPENDS+= vpx:${PORTSDIR}/multimedia/libvpx
+
+CONFIGURE_ARGS+=--with-vpx-dir=${LOCALBASE}
+. endif
+.endif
+
+.if ${PHP_MODNAME} == "mbstring"
+. if ${PORT_OPTIONS:MREGEX}
+LIB_DEPENDS+= onig:${PORTSDIR}/devel/oniguruma4
+CONFIGURE_ARGS+=--with-onig=${LOCALBASE}
+. else
+CONFIGURE_ARGS+=--disable-mbregex
+. endif
+.endif
+
+.if ${PHP_MODNAME} == "mysql"
+. if ${PORT_OPTIONS:MMYSQLND}
+CONFIGURE_ARGS+=--with-mysql=mysqlnd
+. else
+CONFIGURE_ARGS+=--with-mysql=${LOCALBASE} \
+ --with-zlib-dir=/usr
+
+USE_MYSQL= yes
+. endif
+.endif
+
+.if ${PHP_MODNAME} == "mysqli"
+. if ${PORT_OPTIONS:MMYSQLND}
+CONFIGURE_ARGS+=--with-mysqli=mysqlnd
+. else
+CONFIGURE_ARGS+=--with-mysqli=${LOCALBASE}/bin/mysql_config
+
+USE_MYSQL= yes
+. endif
+.endif
+
+.if ${PHP_MODNAME} == "openssl" || ${PHP_MODNAME} == "sqlite3"
+post-extract:
+ @${MV} ${WRKSRC}/config0.m4 ${WRKSRC}/config.m4
+.endif
+
+.if ${PHP_MODNAME} == "odbc"
+. if ${PORT_OPTIONS:MIODBC}
+LIB_DEPENDS+= iodbc:${PORTSDIR}/databases/libiodbc
+
+CONFIGURE_ARGS+=--with-iodbc=${LOCALBASE}
+. else
+LIB_DEPENDS+= odbc:${PORTSDIR}/databases/unixODBC
+
+CONFIGURE_ARGS+=--with-unixODBC=${LOCALBASE}
+. endif
+.endif
+
+.if ${PHP_MODNAME} == "pdo_dblib"
+. if ${PORT_OPTIONS:MMSSQL}
+LIB_DEPENDS+= sybdb:${PORTSDIR}/databases/freetds-msdblib
+. else
+LIB_DEPENDS+= ct:${PORTSDIR}/databases/freetds
+. endif
+.endif
+
+.if ${PHP_MODNAME} == "pdo_odbc"
+. if ${PORT_OPTIONS:MIODBC}
+LIB_DEPENDS+= iodbc:${PORTSDIR}/databases/libiodbc
+
+CONFIGURE_ARGS+=--with-pdo-odbc=iODBC,${LOCALBASE}
+. else
+LIB_DEPENDS+= odbc:${PORTSDIR}/databases/unixODBC
+
+CONFIGURE_ARGS+=--with-pdo-odbc=unixODBC,${LOCALBASE}
+. endif
+.endif
+
+.if ${PHP_MODNAME} == "pdo_mysql"
+. if ${PORT_OPTIONS:MMYSQLND}
+CONFIGURE_ARGS+=--with-pdo-mysql=mysqlnd
+
+USE_PHP+= mysql
+. else
+CONFIGURE_ARGS+=--with-pdo-mysql=${LOCALBASE} \
+ --with-zlib-dir=/usr
+
+USE_MYSQL= yes
+. endif
+.endif
+
+.if ${PHP_MODNAME} == "xml"
+post-extract:
+ @${MKDIR} ${WRKSRC}/ext/xml
+ @${CP} ${WRKSRC}/expat_compat.h ${WRKSRC}/ext/xml
+.endif
+
+.if ${PHP_MODNAME} == "zlib"
+post-extract:
+ @${MV} ${WRKSRC}/config0.m4 ${WRKSRC}/config.m4
+.endif
diff --git a/lang/php55/distinfo b/lang/php55/distinfo
new file mode 100644
index 000000000000..7447caa6d7df
--- /dev/null
+++ b/lang/php55/distinfo
@@ -0,0 +1,4 @@
+SHA256 (php-5.5.0.tar.bz2) = 29bb5ea45256f3983fab95af1f18d76dcc045565b2f175f11817069cefcf6cd1
+SIZE (php-5.5.0.tar.bz2) = 12256814
+SHA256 (php-5.5.x-mail-header.patch) = b0b5a7c961b2052eb14d9528e76155cbeaa881fb9b4a49f452f9dab07b6fb1c4
+SIZE (php-5.5.x-mail-header.patch) = 3379
diff --git a/lang/php55/files/patch-TSRM_threads.m4 b/lang/php55/files/patch-TSRM_threads.m4
new file mode 100644
index 000000000000..227f6d26c9d5
--- /dev/null
+++ b/lang/php55/files/patch-TSRM_threads.m4
@@ -0,0 +1,11 @@
+--- TSRM/threads.m4.orig 2005-04-27 15:22:18.000000000 +0200
++++ TSRM/threads.m4 2009-09-22 10:01:37.000000000 +0200
+@@ -79,7 +79,7 @@
+ pthread_mutexattr_t mattr;
+ int data = 1;
+ pthread_mutexattr_init(&mattr);
+- return pthread_create(&thd, NULL, thread_routine, &data);
++ return 0;
+ } ], [
+ pthreads_working=yes
+ ], [
diff --git a/lang/php55/files/patch-Zend::zend.h b/lang/php55/files/patch-Zend::zend.h
new file mode 100644
index 000000000000..0fb2398f171d
--- /dev/null
+++ b/lang/php55/files/patch-Zend::zend.h
@@ -0,0 +1,11 @@
+--- Zend/zend.h.orig 2008-08-15 21:47:23.000000000 +0200
++++ Zend/zend.h 2008-09-25 22:52:50.000000000 +0200
+@@ -192,7 +192,7 @@
+ # define ZEND_FASTCALL
+ #endif
+
+-#if (HAVE_ALLOCA || (defined (__GNUC__) && __GNUC__ >= 2)) && !(defined(ZTS) && defined(ZEND_WIN32)) && !(defined(ZTS) && defined(NETWARE)) && !(defined(ZTS) && defined(HPUX)) && !defined(DARWIN)
++#if (HAVE_ALLOCA || (defined (__GNUC__) && __GNUC__ >= 2)) && !(defined(ZTS) && defined(ZEND_WIN32)) && !(defined(ZTS) && defined(NETWARE)) && !(defined(ZTS) && defined(HPUX)) && !defined(DARWIN) && !(defined(ZTS) && defined(__FreeBSD__))
+ # define ZEND_ALLOCA_MAX_SIZE (32 * 1024)
+ # define ALLOCA_FLAG(name) \
+ zend_bool name;
diff --git a/lang/php55/files/patch-Zend_zend_list.c b/lang/php55/files/patch-Zend_zend_list.c
new file mode 100644
index 000000000000..f71b6f6ac0e2
--- /dev/null
+++ b/lang/php55/files/patch-Zend_zend_list.c
@@ -0,0 +1,38 @@
+--- Zend/zend_list.c.orig 2012-01-01 14:15:04.000000000 +0100
++++ Zend/zend_list.c 2012-03-02 10:29:02.000000000 +0100
+@@ -47,7 +47,7 @@
+ return index;
+ }
+
+-ZEND_API int _zend_list_delete(int id TSRMLS_DC)
++ZEND_API int _zend_list_delete(ulong id TSRMLS_DC)
+ {
+ zend_rsrc_list_entry *le;
+
+@@ -64,7 +64,7 @@
+ }
+
+
+-ZEND_API void *_zend_list_find(int id, int *type TSRMLS_DC)
++ZEND_API void *_zend_list_find(ulong id, int *type TSRMLS_DC)
+ {
+ zend_rsrc_list_entry *le;
+
+@@ -77,7 +77,7 @@
+ }
+ }
+
+-ZEND_API int _zend_list_addref(int id TSRMLS_DC)
++ZEND_API int _zend_list_addref(ulong id TSRMLS_DC)
+ {
+ zend_rsrc_list_entry *le;
+
+@@ -348,7 +348,7 @@
+ }
+
+
+-const char *zend_rsrc_list_get_rsrc_type(int resource TSRMLS_DC)
++const char *zend_rsrc_list_get_rsrc_type(ulong resource TSRMLS_DC)
+ {
+ zend_rsrc_list_dtors_entry *lde;
+ int rsrc_type;
diff --git a/lang/php55/files/patch-Zend_zend_list.h b/lang/php55/files/patch-Zend_zend_list.h
new file mode 100644
index 000000000000..cbfedf6a8a62
--- /dev/null
+++ b/lang/php55/files/patch-Zend_zend_list.h
@@ -0,0 +1,24 @@
+--- Zend/zend_list.h.orig 2012-01-01 14:15:04.000000000 +0100
++++ Zend/zend_list.h 2012-03-02 10:36:42.000000000 +0100
+@@ -71,9 +71,9 @@
+ void zend_destroy_rsrc_list_dtors(void);
+
+ ZEND_API int zend_list_insert(void *ptr, int type TSRMLS_DC);
+-ZEND_API int _zend_list_addref(int id TSRMLS_DC);
+-ZEND_API int _zend_list_delete(int id TSRMLS_DC);
+-ZEND_API void *_zend_list_find(int id, int *type TSRMLS_DC);
++ZEND_API int _zend_list_addref(ulong id TSRMLS_DC);
++ZEND_API int _zend_list_delete(ulong id TSRMLS_DC);
++ZEND_API void *_zend_list_find(ulong id, int *type TSRMLS_DC);
+
+ #define zend_list_addref(id) _zend_list_addref(id TSRMLS_CC)
+ #define zend_list_delete(id) _zend_list_delete(id TSRMLS_CC)
+@@ -82,7 +82,7 @@
+ ZEND_API int zend_register_resource(zval *rsrc_result, void *rsrc_pointer, int rsrc_type TSRMLS_DC);
+ ZEND_API void *zend_fetch_resource(zval **passed_id TSRMLS_DC, int default_id, const char *resource_type_name, int *found_resource_type, int num_resource_types, ...);
+
+-ZEND_API const char *zend_rsrc_list_get_rsrc_type(int resource TSRMLS_DC);
++ZEND_API const char *zend_rsrc_list_get_rsrc_type(ulong resource TSRMLS_DC);
+ ZEND_API int zend_fetch_list_dtor_id(char *type_name);
+
+ extern ZEND_API int le_index_ptr; /* list entry type for index pointers */
diff --git a/lang/php55/files/patch-acinclude.m4 b/lang/php55/files/patch-acinclude.m4
new file mode 100644
index 000000000000..29bb5a5d78ca
--- /dev/null
+++ b/lang/php55/files/patch-acinclude.m4
@@ -0,0 +1,45 @@
+--- acinclude.m4.orig 2009-05-09 22:28:02.000000000 +0200
++++ acinclude.m4 2009-06-25 08:08:05.000000000 +0200
+@@ -968,15 +968,9 @@
+ if test "$3" != "shared" && test "$3" != "yes" && test "$4" = "cli"; then
+ dnl ---------------------------------------------- CLI static module
+ [PHP_]translit($1,a-z_-,A-Z__)[_SHARED]=no
+- case "$PHP_SAPI" in
+- cgi|embed[)]
+- PHP_ADD_SOURCES(PHP_EXT_DIR($1),$2,$ac_extra,)
+- EXT_STATIC="$EXT_STATIC $1"
+- ;;
+- *[)]
+ PHP_ADD_SOURCES(PHP_EXT_DIR($1),$2,$ac_extra,cli)
+- ;;
+- esac
++ PHP_ADD_SOURCES(PHP_EXT_DIR($1),$2,$ac_extra,cgi)
++ PHP_ADD_SOURCES(PHP_EXT_DIR($1),$2,$ac_extra,fpm)
+ EXT_CLI_STATIC="$EXT_CLI_STATIC $1"
+ fi
+ PHP_ADD_BUILD_DIR($ext_builddir)
+@@ -1026,12 +1020,6 @@
+ build to be successful.
+ ])
+ fi
+- if test "x$is_it_enabled" = "xno" && test "x$3" != "xtrue"; then
+- AC_MSG_ERROR([
+-You've configured extension $1, which depends on extension $2,
+-but you've either not enabled $2, or have disabled it.
+-])
+- fi
+ dnl Some systems require that we link $2 to $1 when building
+ ])
+
+@@ -2303,9 +2291,9 @@
+ test -z "$PHP_IMAP_SSL" && PHP_IMAP_SSL=no
+
+ dnl Fallbacks for different configure options
+- if test "$PHP_OPENSSL" != "no"; then
++ if test -n "$PHP_OPENSSL" && test "$PHP_OPENSSL" != "no"; then
+ PHP_OPENSSL_DIR=$PHP_OPENSSL
+- elif test "$PHP_IMAP_SSL" != "no"; then
++ elif test -n "$PHP_IMAP_SSL" && test "$PHP_IMAP_SSL" != "no"; then
+ PHP_OPENSSL_DIR=$PHP_IMAP_SSL
+ fi
+
diff --git a/lang/php55/files/patch-configure.in b/lang/php55/files/patch-configure.in
new file mode 100644
index 000000000000..69c05a77124b
--- /dev/null
+++ b/lang/php55/files/patch-configure.in
@@ -0,0 +1,45 @@
+--- configure.in.orig 2011-03-04 10:10:54.000000000 +0100
++++ configure.in 2011-03-04 10:11:01.000000000 +0100
+@@ -302,7 +302,6 @@
+ dnl .
+ dnl -------------------------------------------------------------------------
+
+-PTHREADS_CHECK
+ PHP_HELP_SEPARATOR([SAPI modules:])
+ PHP_SHLIB_SUFFIX_NAMES
+ PHP_SAPI=default
+@@ -327,7 +326,6 @@
+
+ if test "$enable_maintainer_zts" = "yes"; then
+ PTHREADS_ASSIGN_VARS
+- PTHREADS_FLAGS
+ fi
+
+ divert(3)
+@@ -612,7 +610,7 @@
+ )
+
+ dnl Some systems (like OpenSolaris) do not have nanosleep in libc
+-PHP_CHECK_FUNC_LIB(nanosleep, rt)
++PHP_CHECK_FUNC(nanosleep, rt)
+
+ dnl Check for getaddrinfo, should be a better way, but...
+ dnl Also check for working getaddrinfo
+@@ -1162,7 +1160,7 @@
+ EXPANDED_DATADIR=$datadir
+ EXPANDED_PHP_CONFIG_FILE_PATH=`eval echo "$PHP_CONFIG_FILE_PATH"`
+ EXPANDED_PHP_CONFIG_FILE_SCAN_DIR=`eval echo "$PHP_CONFIG_FILE_SCAN_DIR"`
+-INCLUDE_PATH=.:$EXPANDED_PEAR_INSTALLDIR
++INCLUDE_PATH=.:${prefix}/share/pear
+
+ exec_prefix=$old_exec_prefix
+ libdir=$old_libdir
+@@ -1373,7 +1371,7 @@
+ PHP_SUBST(all_targets)
+ PHP_SUBST(install_targets)
+
+-PHP_INSTALL_HEADERS([Zend/ TSRM/ include/ main/ main/streams/])
++PHP_INSTALL_HEADERS([Zend/ TSRM/ main/ main/streams/])
+
+ PHP_ADD_SOURCES(TSRM, TSRM.c tsrm_strtok_r.c tsrm_virtual_cwd.c)
+
diff --git a/lang/php55/files/patch-ext_standard_basic_functions.c b/lang/php55/files/patch-ext_standard_basic_functions.c
new file mode 100644
index 000000000000..1907338d0298
--- /dev/null
+++ b/lang/php55/files/patch-ext_standard_basic_functions.c
@@ -0,0 +1,20 @@
+--- ext/standard/basic_functions.c.orig 2008-06-09 14:06:40.000000000 +0200
++++ ext/standard/basic_functions.c 2008-06-09 14:08:28.000000000 +0200
+@@ -3859,7 +3860,7 @@
+ SetEnvironmentVariable(pe->key, "bugbug");
+ #endif
+ putenv(pe->previous_value);
+-# if defined(PHP_WIN32)
++# if defined(PHP_WIN32) || __FreeBSD_version < 700050
+ efree(pe->previous_value);
+ # endif
+ } else {
+@@ -4461,7 +4462,7 @@
+ pe.previous_value = NULL;
+ for (env = environ; env != NULL && *env != NULL; env++) {
+ if (!strncmp(*env, pe.key, pe.key_len) && (*env)[pe.key_len] == '=') { /* found it */
+-#if defined(PHP_WIN32)
++#if defined(PHP_WIN32) || __FreeBSD_version < 700050
+ /* must copy previous value because MSVCRT's putenv can free the string without notice */
+ pe.previous_value = estrdup(*env);
+ #else
diff --git a/lang/php55/files/patch-ext_standard_image.c b/lang/php55/files/patch-ext_standard_image.c
new file mode 100644
index 000000000000..be29b54b2650
--- /dev/null
+++ b/lang/php55/files/patch-ext_standard_image.c
@@ -0,0 +1,50 @@
+--- ext/standard/image.c.orig 2007-10-04 15:31:11.000000000 +0200
++++ ext/standard/image.c 2007-11-13 22:47:04.000000000 +0100
+@@ -31,9 +31,7 @@
+ #endif
+ #include "php_image.h"
+
+-#if HAVE_ZLIB && !defined(COMPILE_DL_ZLIB)
+ #include "zlib.h"
+-#endif
+
+ /* file type markers */
+ PHPAPI const char php_sig_gif[3] = {'G', 'I', 'F'};
+@@ -80,9 +78,7 @@
+ REGISTER_LONG_CONSTANT("IMAGETYPE_JP2", IMAGE_FILETYPE_JP2, CONST_CS | CONST_PERSISTENT);
+ REGISTER_LONG_CONSTANT("IMAGETYPE_JPX", IMAGE_FILETYPE_JPX, CONST_CS | CONST_PERSISTENT);
+ REGISTER_LONG_CONSTANT("IMAGETYPE_JB2", IMAGE_FILETYPE_JB2, CONST_CS | CONST_PERSISTENT);
+-#if HAVE_ZLIB && !defined(COMPILE_DL_ZLIB)
+ REGISTER_LONG_CONSTANT("IMAGETYPE_SWC", IMAGE_FILETYPE_SWC, CONST_CS | CONST_PERSISTENT);
+-#endif
+ REGISTER_LONG_CONSTANT("IMAGETYPE_IFF", IMAGE_FILETYPE_IFF, CONST_CS | CONST_PERSISTENT);
+ REGISTER_LONG_CONSTANT("IMAGETYPE_WBMP", IMAGE_FILETYPE_WBMP, CONST_CS | CONST_PERSISTENT);
+ REGISTER_LONG_CONSTANT("IMAGETYPE_JPEG2000",IMAGE_FILETYPE_JPC, CONST_CS | CONST_PERSISTENT); /* keep alias */
+@@ -184,7 +180,6 @@
+ }
+ /* }}} */
+
+-#if HAVE_ZLIB && !defined(COMPILE_DL_ZLIB)
+ /* {{{ php_handle_swc
+ */
+ static struct gfxinfo *php_handle_swc(php_stream * stream TSRMLS_DC)
+@@ -255,7 +250,6 @@
+ return result;
+ }
+ /* }}} */
+-#endif
+
+ /* {{{ php_handle_swf
+ */
+@@ -1314,11 +1308,7 @@
+ result = php_handle_swf(stream TSRMLS_CC);
+ break;
+ case IMAGE_FILETYPE_SWC:
+-#if HAVE_ZLIB && !defined(COMPILE_DL_ZLIB)
+ result = php_handle_swc(stream TSRMLS_CC);
+-#else
+- php_error_docref(NULL TSRMLS_CC, E_NOTICE, "The image is a compressed SWF file, but you do not have a static version of the zlib extension enabled");
+-#endif
+ break;
+ case IMAGE_FILETYPE_PSD:
+ result = php_handle_psd(stream TSRMLS_CC);
diff --git a/lang/php55/files/patch-ext_zlib_config0.m4 b/lang/php55/files/patch-ext_zlib_config0.m4
new file mode 100644
index 000000000000..249c85b498d3
--- /dev/null
+++ b/lang/php55/files/patch-ext_zlib_config0.m4
@@ -0,0 +1,11 @@
+--- ext/zlib/config0.m4.orig 2010-08-26 13:19:52.000000000 +0200
++++ ext/zlib/config0.m4 2010-08-26 13:20:11.000000000 +0200
+@@ -8,7 +8,7 @@
+ PHP_ARG_WITH(zlib-dir,if the location of ZLIB install directory is defined,
+ [ --with-zlib-dir=<DIR> Define the location of zlib install directory], no, no)
+
+-if test "$PHP_ZLIB" != "no" || test "$PHP_ZLIB_DIR" != "no"; then
++if test "$PHP_ZLIB" != "no"; then
+ PHP_NEW_EXTENSION(zlib, zlib.c zlib_fopen_wrapper.c zlib_filter.c, $ext_shared)
+ PHP_SUBST(ZLIB_SHARED_LIBADD)
+
diff --git a/lang/php55/files/patch-main::php_config.h.in b/lang/php55/files/patch-main::php_config.h.in
new file mode 100644
index 000000000000..8e9938876421
--- /dev/null
+++ b/lang/php55/files/patch-main::php_config.h.in
@@ -0,0 +1,12 @@
+--- main/php_config.h.in.orig Wed Jan 11 15:25:52 2006
++++ main/php_config.h.in Wed May 3 09:38:09 2006
+@@ -2760,6 +2760,9 @@
+ /* Define if uint32_t type is present. */
+ #undef HAVE_UINT32_T
+
++/* Include external shared modules configurations */
++#include "ext/php_config.h"
++
+ /* Whether sprintf is broken */
+ #undef ZEND_BROKEN_SPRINTF
+
diff --git a/lang/php55/files/patch-sapi_fpm_Makefile.frag b/lang/php55/files/patch-sapi_fpm_Makefile.frag
new file mode 100644
index 000000000000..3d777795dd86
--- /dev/null
+++ b/lang/php55/files/patch-sapi_fpm_Makefile.frag
@@ -0,0 +1,12 @@
+--- sapi/fpm/Makefile.frag.orig 2011-10-08 23:04:10.000000000 +0200
++++ sapi/fpm/Makefile.frag 2012-02-09 16:43:25.000000000 +0100
+@@ -27,6 +27,6 @@
+ @$(mkinstalldirs) $(INSTALL_ROOT)$(mandir)/man8
+ @$(INSTALL_DATA) sapi/fpm/php-fpm.8 $(INSTALL_ROOT)$(mandir)/man8/php-fpm$(program_suffix).8
+
+- @echo "Installing PHP FPM status page: $(INSTALL_ROOT)$(datadir)/fpm/"
+- @$(mkinstalldirs) $(INSTALL_ROOT)$(datadir)/fpm
+- @$(INSTALL_DATA) sapi/fpm/status.html $(INSTALL_ROOT)$(datadir)/fpm/status.html
++ @echo "Installing PHP FPM status page: $(INSTALL_ROOT)$(datadir)/php/fpm/"
++ @$(mkinstalldirs) $(INSTALL_ROOT)$(datadir)/php/fpm
++ @$(INSTALL_DATA) sapi/fpm/status.html $(INSTALL_ROOT)$(datadir)/php/fpm/status.html
diff --git a/lang/php55/files/patch-sapi_fpm_config.m4 b/lang/php55/files/patch-sapi_fpm_config.m4
new file mode 100644
index 000000000000..a9db5afbe0af
--- /dev/null
+++ b/lang/php55/files/patch-sapi_fpm_config.m4
@@ -0,0 +1,20 @@
+--- sapi/fpm/config.m4.orig 2011-06-26 17:48:11.000000000 +0200
++++ sapi/fpm/config.m4 2011-11-18 11:05:21.000000000 +0100
+@@ -312,7 +312,7 @@
+
+ AC_MSG_CHECKING([for TCP_INFO])
+
+- AC_TRY_COMPILE([ #include <netinet/tcp.h> ], [struct tcp_info ti; int x = TCP_INFO;], [
++ AC_TRY_COMPILE([ #include <netinet/tcp.h> ], [struct tcp_info ti; ti.tcpi_sacked = 0; int x = TCP_INFO;], [
+ have_lq=tcp_info
+ AC_MSG_RESULT([yes])
+ ], [
+@@ -333,7 +333,7 @@
+ AC_MSG_RESULT([no])
+ ])
+
+- if test "$have_lq" = "tcp_info"; then
++ if test "$have_lq" = "so_listenq"; then
+ AC_DEFINE([HAVE_LQ_SO_LISTENQ], 1, [do we have SO_LISTENQxxx?])
+ fi
+ fi
diff --git a/lang/php55/files/patch-sapi_fpm_php-fpm.conf.in b/lang/php55/files/patch-sapi_fpm_php-fpm.conf.in
new file mode 100644
index 000000000000..315f2470a773
--- /dev/null
+++ b/lang/php55/files/patch-sapi_fpm_php-fpm.conf.in
@@ -0,0 +1,11 @@
+--- sapi/fpm/php-fpm.conf.in.orig 2012-02-08 15:50:42.000000000 +0100
++++ sapi/fpm/php-fpm.conf.in 2012-02-08 15:50:54.000000000 +0100
+@@ -317,7 +317,7 @@
+ ; last request memory: 0
+ ;
+ ; Note: There is a real-time FPM status monitoring sample web page available
+-; It's available in: @EXPANDED_DATADIR@/fpm/status.html
++; It's available in: @EXPANDED_DATADIR@/php/fpm/status.html
+ ;
+ ; Note: The value must start with a leading slash (/). The value can be
+ ; anything, but it may not be a good idea to use the .php extension or it
diff --git a/lang/php55/files/php-fpm.in b/lang/php55/files/php-fpm.in
new file mode 100644
index 000000000000..55e2ac992408
--- /dev/null
+++ b/lang/php55/files/php-fpm.in
@@ -0,0 +1,43 @@
+#!/bin/sh
+#
+# $FreeBSD$
+#
+
+# PROVIDE: php-fpm
+# REQUIRE: LOGIN
+# KEYWORD: shutdown
+
+#
+# Add the following line to /etc/rc.conf to enable php-fpm:
+# php_fpm_enable="YES"
+#
+
+. /etc/rc.subr
+
+name="php_fpm"
+rcvar=php_fpm_enable
+
+load_rc_config "$name"
+
+: ${php_fpm_enable="NO"}
+
+extra_commands="reload logrotate"
+
+command="%%PREFIX%%/sbin/php-fpm"
+pidfile="/var/run/php-fpm.pid"
+sig_stop="QUIT"
+sig_reload="USR2"
+logrotate_cmd="php_fpm_logrotate"
+
+required_files="%%PREFIX%%/etc/php-fpm.conf"
+
+php_fpm_logrotate() {
+ if [ -z "$rc_pid" ]; then
+ _run_rc_notrunning
+ return 1
+ fi
+ echo "Rotating logs $name."
+ kill -USR1 $rc_pid
+}
+
+run_rc_command "$1"
diff --git a/lang/php55/pkg-descr b/lang/php55/pkg-descr
new file mode 100644
index 000000000000..a53cdb1bde68
--- /dev/null
+++ b/lang/php55/pkg-descr
@@ -0,0 +1,8 @@
+PHP, which stands for "PHP: Hypertext Preprocessor" is a widely-used Open
+Source general-purpose scripting language that is especially suited for
+Web development and can be embedded into HTML. Its syntax draws upon C,
+Java, and Perl, and is easy to learn. The main goal of the language is to
+allow web developers to write dynamically generated webpages quickly, but
+you can do much more with PHP.
+
+WWW: http://www.php.net/
diff --git a/lang/php55/pkg-message.mod b/lang/php55/pkg-message.mod
new file mode 100644
index 000000000000..555f5b053ae8
--- /dev/null
+++ b/lang/php55/pkg-message.mod
@@ -0,0 +1,10 @@
+***************************************************************
+
+Make sure index.php is part of your DirectoryIndex.
+
+You should add the following to your Apache configuration file:
+
+AddType application/x-httpd-php .php
+AddType application/x-httpd-php-source .phps
+
+***************************************************************
diff --git a/lang/php55/pkg-plist b/lang/php55/pkg-plist
new file mode 100644
index 000000000000..7d7e692008fd
--- /dev/null
+++ b/lang/php55/pkg-plist
@@ -0,0 +1,263 @@
+%%CLI%%bin/php
+%%CGI%%bin/php-cgi
+bin/php-config
+bin/phpize
+%%FPM%%sbin/php-fpm
+etc/php.conf
+etc/php.ini-development
+etc/php.ini-production
+%%FPM%%@unexec if cmp -s %D/etc/php-fpm.conf %D/etc/php-fpm.conf.default; then rm -f %D/etc/php-fpm.conf; fi
+%%FPM%%etc/php-fpm.conf.default
+%%FPM%%@exec cp -n %D/%F %B/php-fpm.conf
+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_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_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/ereg/regex/cclass.h
+include/php/ext/ereg/regex/cname.h
+include/php/ext/ereg/regex/regex.h
+include/php/ext/ereg/regex/regex2.h
+include/php/ext/ereg/regex/utils.h
+include/php/ext/libxml/php_libxml.h
+include/php/ext/mysqlnd/config-win.h
+include/php/ext/mysqlnd/mysqlnd.h
+include/php/ext/mysqlnd/mysqlnd_alloc.h
+include/php/ext/mysqlnd/mysqlnd_block_alloc.h
+include/php/ext/mysqlnd/mysqlnd_charset.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_net.h
+include/php/ext/mysqlnd/mysqlnd_portability.h
+include/php/ext/mysqlnd/mysqlnd_priv.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_wireprotocol.h
+include/php/ext/mysqlnd/php_mysqlnd.h
+include/php/ext/mysqlnd/php_mysqlnd_config.h
+include/php/ext/pcre/php_pcre.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_password.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
+@exec touch %D/include/php/ext/php_config.h
+@unexec [ -s %D/include/php/ext/php_config.h ] || rm %D/include/php/ext/php_config.h
+include/php/main/SAPI.h
+include/php/main/build-defs.h
+include/php/main/fopen_wrappers.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_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_streams_int.h
+include/php/main/streams/php_stream_transport.h
+include/php/main/streams/php_stream_userspace.h
+include/php/main/streams/php_stream_plain_wrapper.h
+%%CLI%%include/php/sapi/cli/cli.h
+%%EMBED%%include/php/sapi/embed/php_embed.h
+include/php/main/win32_internal_function_disabled.h
+include/php/main/win95nt.h
+%%EMBED%%lib/libphp5.so
+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
+%%APACHE%%%%APACHEMODDIR%%/%%AP_MODULE%%
+%%APACHE%%@exec %D/sbin/apxs -e -a -n %%AP_NAME%% %f
+%%APACHE%%@unexec %D/sbin/apxs -e -A -n %%AP_NAME%% %f
+%%FPM%%share/php/fpm/status.html
+@dirrm include/php/TSRM
+@dirrm include/php/Zend
+@dirrm include/php/ext/date/lib
+@dirrm include/php/ext/date
+@dirrm include/php/ext/ereg/regex
+@dirrm include/php/ext/ereg
+@dirrm include/php/ext/libxml
+@dirrm include/php/ext/mysqlnd
+@dirrm include/php/ext/pcre
+@dirrm include/php/ext/spl
+@dirrm include/php/ext/standard
+@dirrmtry include/php/ext
+@dirrm include/php/main/streams
+@dirrm include/php/main
+@dirrm include/php/sapi/cli
+%%EMBED%%@dirrm include/php/sapi/embed
+@dirrm include/php/sapi
+@dirrmtry include/php
+@dirrm lib/php/build
+@dirrmtry lib/php
+%%FPM%%@dirrm share/php/fpm
+%%FPM%%@dirrm share/php