From 9b703aeedff1ad8f402f4569dea1b2dcac6e176c Mon Sep 17 00:00:00 2001
From: Jesse Gilles <jgilles@multitech.com>
Date: Tue, 30 Aug 2011 16:38:45 -0500
Subject: php: add 5.3.6

---
 multitech/recipes/php/php.inc                      | 90 ++++++++++++++++++++++
 .../recipes/php/php/acinclude-xml2-config.patch    | 18 +++++
 multitech/recipes/php/php/iconv.patch              | 27 +++++++
 multitech/recipes/php/php/imap-fix-autofoo.patch   | 41 ++++++++++
 multitech/recipes/php/php/pear-makefile.patch      | 13 ++++
 multitech/recipes/php/php/phar-makefile.patch      | 26 +++++++
 multitech/recipes/php/php/php-m4-divert.patch      | 83 ++++++++++++++++++++
 multitech/recipes/php/php/php_exec_native.patch    | 11 +++
 multitech/recipes/php/php_5.3.6.bb                 | 16 ++++
 9 files changed, 325 insertions(+)
 create mode 100644 multitech/recipes/php/php.inc
 create mode 100644 multitech/recipes/php/php/acinclude-xml2-config.patch
 create mode 100644 multitech/recipes/php/php/iconv.patch
 create mode 100644 multitech/recipes/php/php/imap-fix-autofoo.patch
 create mode 100644 multitech/recipes/php/php/pear-makefile.patch
 create mode 100644 multitech/recipes/php/php/phar-makefile.patch
 create mode 100644 multitech/recipes/php/php/php-m4-divert.patch
 create mode 100644 multitech/recipes/php/php/php_exec_native.patch
 create mode 100644 multitech/recipes/php/php_5.3.6.bb

diff --git a/multitech/recipes/php/php.inc b/multitech/recipes/php/php.inc
new file mode 100644
index 0000000..673f6f5
--- /dev/null
+++ b/multitech/recipes/php/php.inc
@@ -0,0 +1,90 @@
+DESCRIPTION = "A server-side, HTML-embedded scripting language. This package provides the CGI."
+HOMEPAGE = "http://www.php.net"
+SECTION = "console/network"
+LICENSE = "PHP"
+BBCLASSEXTEND = "native"
+DEPENDS = "zlib libxml2 virtual/libiconv php-native lemon-native mysql5 \
+           libc-client openssl"
+DEPENDS_virtclass-native = "zlib-native libxml2-native"
+RDEPENDS_${PN}-pear = "${PN}"
+RDEPENDS_${PN}-cli = "${PN}"
+RDEPENDS_${PN}-dev = "${PN}"
+INC_PR = "r8"
+
+SRC_URI = "http://www.php.net/distributions/php-${PV}.tar.bz2"
+
+S = "${WORKDIR}/php-${PV}"
+
+inherit autotools pkgconfig
+
+# Common EXTRA_OECONF
+COMMON_EXTRA_OECONF = "--enable-sockets --enable-pcntl --enable-shared"
+EXTRA_OECONF = "--enable-mbstring --enable-discard-path --enable-wddx \
+                --enable-magic-quotes --enable-fastcgi \
+                --with-imap=${STAGING_DIR_HOST} \
+                --with-imap-ssl=${STAGING_DIR_HOST} \
+                --with-zlib --with-zlib-dir=${STAGING_LIBDIR}/.. \
+                --with-iconv=${STAGING_LIBDIR}/.. \
+                --with-libxml-dir=${STAGING_BINDIR_CROSS} \
+                --disable-embedded-mysqli \
+                --with-mysql="${STAGING_DIR_TARGET}${layout_exec_prefix}" \
+                --with-mysqli="${STAGING_BINDIR_CROSS}/mysql_config" \
+                --with-pdo-mysql="${STAGING_BINDIR_CROSS}/mysql_config" \
+                --without-pdo-sqlite ${COMMON_EXTRA_OECONF} \
+               "
+EXTRA_OECONF_virtclass-native = "--with-cgi --without-libpng --without-libjpeg \
+                --with-zlib --with-zlib-dir=${STAGING_LIBDIR_NATIVE}/.. \
+                --with-libxml-dir=${STAGING_BINDIR_NATIVE} \
+                ${COMMON_EXTRA_OECONF} \
+               "
+
+LIBS_virtclass-native = " -lxml2 "
+LIBS_pn-php =" -lpthread "
+export LIBS
+THREADS_pn-php = "pthread"
+export THREADS
+LD_LIBRARY_PATH_virtclass-native = "${STAGING_LIBDIR_NATIVE}"
+LD_LIBRARY_PATH_pn-php = "${STAGING_LIBDIR}"
+export LD_LIBRARY_PATH
+export PHP_NATIVE_DIR = "${STAGING_BINDIR_NATIVE}"
+export PHP_PEAR_PHP_BIN = "${STAGING_BINDIR_NATIVE}/php"
+CFLAGS += " -DPTYS_ARE_GETPT -DPTYS_ARE_SEARCHED -D_GNU_SOURCE"
+
+acpaths = ""
+
+do_install  () {
+    oe_runmake 'INSTALL_ROOT=${D}' install
+}
+
+# fixme
+do_install_append_pn-php() {
+    mv ${D}/${STAGING_DIR_NATIVE}/${sysconfdir} ${D}/${sysconfdir}
+    rm -rf ${D}/${STAGING_DIR_NATIVE}
+    rm -rf ${D}/.registry
+    rm -rf ${D}/.channels
+    rm -rf ${D}/.[a-z]*
+    sed -i 's:${STAGING_DIR_NATIVE}::g' ${D}/${sysconfdir}/pear.conf
+}
+
+PACKAGES = "${PN}-dbg ${PN}-cli ${PN}-cgi ${PN}-pear ${PN}-dev ${PN}-doc ${PN}"
+
+FILES_${PN}-dbg =+ "${bindir}/.debug"
+FILES_${PN}-doc += "${libdir}/php/doc"
+FILES_${PN}-cli = "${bindir}/php"
+FILES_${PN}-cgi = "${bindir}/php-cgi"
+FILES_${PN}-pear = "${bindir}/pear* ${bindir}/pecl ${libdir}/php/PEAR \
+                ${libdir}/php/PEAR.php ${libdir}/php/System.php \
+                ${libdir}php/peclcmd.php ${libdir}/php/pearcmd.php \
+                ${libdir}/php/.channels  ${libdir}/php/.channels/.alias  \
+                ${libdir}/php/.channels\__uri.reg \
+                ${libdir}/php/.channels\pear.php.net.reg \
+                ${libdir}/php/.channels/pecl.php.net.reg \
+                ${libdir}/php/.registry ${libdir}/php/Archive/Tar.php \
+                ${libdir}/php/Console/Getopt.php ${libdir}/php/OS/Guess.php \
+                ${sysconfdir}/pear.conf"
+FILES_${PN}-dev = "${includedir}/php ${libdir}/build ${bindir}/phpize \
+                ${bindir}/php-config ${libdir}/php/.depdb \
+                ${libdir}/php/.depdblock ${libdir}/php/.filemap \
+                ${libdir}/php/.lock ${libdir}/php/test"
+FILES_${PN} = "${libdir}/php"
+FILES_${PN} += "${bindir}"
diff --git a/multitech/recipes/php/php/acinclude-xml2-config.patch b/multitech/recipes/php/php/acinclude-xml2-config.patch
new file mode 100644
index 0000000..bf519d2
--- /dev/null
+++ b/multitech/recipes/php/php/acinclude-xml2-config.patch
@@ -0,0 +1,18 @@
+--- /orig-acinclude.m4 2007-02-20 15:03:25.000000000 +0200
++++ /acinclude.m4      2007-02-20 15:03:24.000000000 +0200
+@@ -2359,12 +2359,9 @@
+ AC_DEFUN([PHP_SETUP_LIBXML], [
+ AC_CACHE_CHECK([for xml2-config path], ac_cv_php_xml2_config_path,
+ [
+-  for i in $PHP_LIBXML_DIR /usr/local /usr; do
+-    if test -x "$i/bin/xml2-config"; then
+-      ac_cv_php_xml2_config_path="$i/bin/xml2-config"
+-      break
+-    fi
+-  done
++
++      ac_cv_php_xml2_config_path="$PHP_LIBXML_DIR/xml2-config"
++
+ ])
+
+   if test -x "$ac_cv_php_xml2_config_path"; then
diff --git a/multitech/recipes/php/php/iconv.patch b/multitech/recipes/php/php/iconv.patch
new file mode 100644
index 0000000..66b39cc
--- /dev/null
+++ b/multitech/recipes/php/php/iconv.patch
@@ -0,0 +1,27 @@
+Index: php-5.2.13/acinclude.m4
+===================================================================
+--- php-5.2.13.orig/acinclude.m4
++++ php-5.2.13/acinclude.m4
+@@ -2430,7 +2430,8 @@ AC_DEFUN([PHP_SETUP_ICONV], [
+   dnl
+   dnl Check libc first if no path is provided in --with-iconv
+   dnl
+-  if test "$PHP_ICONV" = "yes"; then
++  dnl must check against no, not against yes as PHP_ICONV can also include a path, which implies yes
++  if test "$PHP_ICONV" != "no"; then
+     AC_CHECK_FUNC(iconv, [
+       found_iconv=yes
+     ],[
+Index: php-5.2.13/ext/iconv/config.m4
+===================================================================
+--- php-5.2.13.orig/ext/iconv/config.m4
++++ php-5.2.13/ext/iconv/config.m4
+@@ -15,7 +15,7 @@ if test "$PHP_ICONV" != "no"; then
+ 
+   if test "$iconv_avail" != "no"; then
+     if test -z "$ICONV_DIR"; then
+-      for i in /usr/local /usr; do
++      for i in $PHP_ICONV /usr/local /usr; do
+         if test -f "$i/include/iconv.h" || test -f "$i/include/giconv.h"; then
+           PHP_ICONV_PREFIX="$i"
+           break
diff --git a/multitech/recipes/php/php/imap-fix-autofoo.patch b/multitech/recipes/php/php/imap-fix-autofoo.patch
new file mode 100644
index 0000000..3695b7b
--- /dev/null
+++ b/multitech/recipes/php/php/imap-fix-autofoo.patch
@@ -0,0 +1,41 @@
+Index: php-5.2.11/ext/imap/config.m4
+===================================================================
+--- php-5.2.11.orig/ext/imap/config.m4	2009-12-10 12:27:52.800974533 -0700
++++ php-5.2.11/ext/imap/config.m4	2009-12-10 12:28:33.720976583 -0700
+@@ -103,7 +103,7 @@
+     PHP_NEW_EXTENSION(imap, php_imap.c, $ext_shared)
+     AC_DEFINE(HAVE_IMAP,1,[ ])
+ 
+-    for i in $PHP_IMAP /usr/local /usr; do
++    for i in $PHP_IMAP $PHP_IMAP/usr /usr/local /usr; do
+       IMAP_INC_CHK()
+       el[]IMAP_INC_CHK(/include/c-client)
+       el[]IMAP_INC_CHK(/include/imap)
+@@ -192,13 +192,7 @@
+       AC_MSG_ERROR(Cannot find rfc822.h. Please check your c-client installation.)
+     fi
+ 
+-    if test -r "$IMAP_DIR/c-client/c-client.a"; then
+-      ln -s "$IMAP_DIR/c-client/c-client.a" "$IMAP_DIR/c-client/libc-client.a" >/dev/null 2>&1
+-    elif test -r "$IMAP_DIR/$PHP_LIBDIR/c-client.a"; then
+-      ln -s "$IMAP_DIR/$PHP_LIBDIR/c-client.a" "$IMAP_DIR/$PHP_LIBDIR/libc-client.a" >/dev/null 2>&1
+-    fi
+-
+-    for lib in c-client4 c-client imap; do
++    for lib in /usr/lib c-client4 c-client imap; do
+       IMAP_LIB=$lib
+       IMAP_LIB_CHK($PHP_LIBDIR)
+       IMAP_LIB_CHK(c-client)
+Index: php-5.2.11/acinclude.m4
+===================================================================
+--- php-5.2.11.orig/acinclude.m4	2009-12-10 12:37:13.134722881 -0700
++++ php-5.2.11/acinclude.m4	2009-12-10 12:37:39.342007053 -0700
+@@ -2338,7 +2338,7 @@
+       PHP_OPENSSL_DIR="/usr/local/ssl /usr/local /usr /usr/local/openssl"
+     fi
+ 
+-    for i in $PHP_OPENSSL_DIR; do
++    for i in $PHP_OPENSSL_DIR $PHP_OPENSSL_DIR/usr; do
+       if test -r $i/include/openssl/evp.h; then
+         OPENSSL_INCDIR=$i/include
+       fi
diff --git a/multitech/recipes/php/php/pear-makefile.patch b/multitech/recipes/php/php/pear-makefile.patch
new file mode 100644
index 0000000..1928b98
--- /dev/null
+++ b/multitech/recipes/php/php/pear-makefile.patch
@@ -0,0 +1,13 @@
+diff --git a/pear/Makefile.frag b/pear/Makefile.frag
+index 1f6f70e..b19a77c 100644
+--- a/pear/Makefile.frag
++++ b/pear/Makefile.frag
+@@ -11,7 +11,7 @@ PEAR_PREFIX = -dp a${program_prefix}
+ PEAR_SUFFIX = -ds a$(program_suffix)
+ 
+ install-pear-installer: $(SAPI_CLI_PATH)
+-	@$(top_builddir)/sapi/cli/php $(PEAR_INSTALL_FLAGS) pear/install-pear-nozlib.phar -d "$(peardir)" -b "$(bindir)" ${PEAR_PREFIX} ${PEAR_SUFFIX}
++	@$(PHP_NATIVE_DIR)/php $(PEAR_INSTALL_FLAGS) $(builddir)/install-pear-nozlib.phar -d "$(peardir)" -b "$(bindir)" ${PEAR_PREFIX} ${PEAR_SUFFIX}
+ 
+ install-pear:
+ 	@echo "Installing PEAR environment:      $(INSTALL_ROOT)$(peardir)/"
diff --git a/multitech/recipes/php/php/phar-makefile.patch b/multitech/recipes/php/php/phar-makefile.patch
new file mode 100644
index 0000000..6fde251
--- /dev/null
+++ b/multitech/recipes/php/php/phar-makefile.patch
@@ -0,0 +1,26 @@
+diff --git a/ext/phar/Makefile.frag b/ext/phar/Makefile.frag
+index fc93d1d..9a8cd65 100755
+--- a/ext/phar/Makefile.frag
++++ b/ext/phar/Makefile.frag
+@@ -6,19 +6,8 @@ pharcmd: $(builddir)/phar.php $(builddir)/phar.phar
+ 
+ PHP_PHARCMD_SETTINGS = -d 'open_basedir=' -d 'output_buffering=0' -d 'memory_limit=-1' -d phar.readonly=0 -d 'safe_mode=0'
+ PHP_PHARCMD_EXECUTABLE = ` \
+-	if test -x "$(top_builddir)/$(SAPI_CLI_PATH)"; then \
+-		$(top_srcdir)/build/shtool echo -n -- "$(top_builddir)/$(SAPI_CLI_PATH) -n"; \
+-		if test "x$(PHP_MODULES)" != "x"; then \
+-		$(top_srcdir)/build/shtool echo -n -- " -d extension_dir=$(top_builddir)/modules"; \
+-		for i in bz2 zlib phar; do \
+-			if test -f "$(top_builddir)/modules/$$i.la"; then \
+-				. $(top_builddir)/modules/$$i.la; $(top_srcdir)/build/shtool echo -n -- " -d extension=$$dlname"; \
+-			fi; \
+-		done; \
+-		fi; \
+-	else \
+-		$(top_srcdir)/build/shtool echo -n -- "$(PHP_EXECUTABLE)"; \
+-	fi;`
++		$(top_srcdir)/build/shtool echo -n -- "$(PHP_EXECUTABLE)"; `
++
+ PHP_PHARCMD_BANG = `$(top_srcdir)/build/shtool echo -n -- "$(INSTALL_ROOT)$(bindir)/$(program_prefix)php$(program_suffix)$(EXEEXT)";`
+ 
+ $(builddir)/phar/phar.inc: $(srcdir)/phar/phar.inc
diff --git a/multitech/recipes/php/php/php-m4-divert.patch b/multitech/recipes/php/php/php-m4-divert.patch
new file mode 100644
index 0000000..dfc7b64
--- /dev/null
+++ b/multitech/recipes/php/php/php-m4-divert.patch
@@ -0,0 +1,83 @@
+Patch taken from
+
+http://cvs.pld-linux.org/cgi-bin/cvsweb/packages/php/php-m4-divert.patch?rev=1.1
+
+diff -ur php-5.2.10.org/configure.in php-5.2.10/configure.in
+--- php-5.2.10.org/configure.in	2009-06-17 14:22:41.000000000 +0200
++++ php-5.2.10/configure.in	2009-08-18 12:16:25.317640253 +0200
+@@ -1,7 +1,7 @@
+ ## $Id: configure.in,v 1.579.2.52.2.139 2009/06/17 12:22:41 iliaa Exp $ -*- autoconf -*-
+ dnl ## Process this file with autoconf to produce a configure script.
+ 
+-divert(1)
++divert(1001)
+ 
+ dnl ## Diversion 1 is the autoconf + automake setup phase. We also
+ dnl ## set the PHP version, deal with platform-specific compile
+@@ -263,7 +263,7 @@
+ sinclude(TSRM/tsrm.m4)
+ 
+ 
+-divert(2)
++divert(1002)
+ 
+ dnl ## Diversion 2 is where we set PHP-specific options and come up
+ dnl ## with reasonable default values for them. We check for pthreads here
+@@ -302,7 +302,7 @@
+   PTHREADS_FLAGS
+ fi
+ 
+-divert(3)
++divert(1003)
+ 
+ dnl ## In diversion 3 we check for compile-time options to the PHP
+ dnl ## core and how to deal with different system dependencies.
+@@ -661,7 +661,7 @@
+   PHP_CRYPT_R_STYLE
+ fi
+ 
+-divert(4)
++divert(1004)
+ 
+ dnl ## In diversion 4 we check user-configurable general settings.
+ 
+@@ -902,7 +902,7 @@
+   AC_MSG_RESULT([using system default])
+ fi
+ 
+-divert(5)
++divert(1005)
+ 
+ dnl ## In diversion 5 we check which extensions should be compiled.
+ dnl ## All of these are normally in the extension directories.
+diff -ur php-5.2.10.org/ext/standard/config.m4 php-5.2.10/ext/standard/config.m4
+--- php-5.2.10.org/ext/standard/config.m4	2007-07-11 13:56:03.000000000 +0200
++++ php-5.2.10/ext/standard/config.m4	2009-08-18 12:16:25.317640253 +0200
+@@ -1,6 +1,6 @@
+ dnl $Id: config.m4,v 1.80.2.3.2.3 2007/07/11 11:56:03 jani Exp $ -*- autoconf -*-
+ 
+-divert(3)dnl
++divert(1003)dnl
+ 
+ dnl
+ dnl Check if flush should be called explicitly after buffered io
+@@ -205,7 +205,7 @@
+ AC_CHECK_FUNCS(getcwd getwd asinh acosh atanh log1p hypot glob strfmon nice fpclass isinf isnan)
+ AC_FUNC_FNMATCH	
+ 
+-divert(5)dnl
++divert(1005)dnl
+ 
+ dnl
+ dnl Check for regex library type
+diff -ur php-5.2.10.org/scripts/phpize.m4 php-5.2.10/scripts/phpize.m4
+--- php-5.2.10.org/scripts/phpize.m4	2009-06-02 21:54:22.000000000 +0200
++++ php-5.2.10/scripts/phpize.m4	2009-08-18 12:16:25.317640253 +0200
+@@ -1,6 +1,6 @@
+ dnl This file becomes configure.in for self-contained extensions.
+ 
+-divert(1)
++divert(1001)
+ 
+ AC_PREREQ(2.13)
+ AC_INIT(config.m4)
diff --git a/multitech/recipes/php/php/php_exec_native.patch b/multitech/recipes/php/php/php_exec_native.patch
new file mode 100644
index 0000000..a563c9a
--- /dev/null
+++ b/multitech/recipes/php/php/php_exec_native.patch
@@ -0,0 +1,11 @@
+--- php/configure.in.orig	2011-03-12 02:13:19.000000000 +0100
++++ php/configure.in	2011-03-12 02:14:05.000000000 +0100
+@@ -1216,7 +1216,7 @@
+   PHP_INSTALL_CLI_TARGET="install-cli"
+   PHP_ADD_SOURCES(sapi/cli, php_cli.c php_cli_readline.c,, cli)
+   PHP_INSTALLED_SAPIS="cli $PHP_SAPI"
+-  PHP_EXECUTABLE="\$(top_builddir)/\$(SAPI_CLI_PATH)"
++  PHP_EXECUTABLE="${PHP_NATIVE_DIR}/php"
+ else
+   PHP_INSTALLED_SAPIS="$PHP_SAPI"
+ fi
diff --git a/multitech/recipes/php/php_5.3.6.bb b/multitech/recipes/php/php_5.3.6.bb
new file mode 100644
index 0000000..620482f
--- /dev/null
+++ b/multitech/recipes/php/php_5.3.6.bb
@@ -0,0 +1,16 @@
+require php.inc
+
+PR = "${INC_PR}.0"
+
+SRC_URI += "file://acinclude-xml2-config.patch \
+            file://php-m4-divert.patch"
+
+SRC_URI_append_pn-php += "file://iconv.patch \
+            file://imap-fix-autofoo.patch \
+            file://pear-makefile.patch \
+            file://phar-makefile.patch \
+            file://php_exec_native.patch \
+            "
+
+SRC_URI[md5sum] = "2286f5a82a6e8397955a0025c1c2ad98"
+SRC_URI[sha256sum] = "30ae880f22e3ee93eccc9b80e3c58b0d6364d139bb4366dcc27f2fab658d3198"
-- 
cgit v1.2.3