# $Id$ PNAME="php5" PVER="5.3.0" PBUILD="r3" PCATEGORIE="dev-lang" STATE="unstable" DESCRIPTION="PHP Hypertext Preprocessor, a scripting language especially suited for web development." HOMEPAGE="http://php.net/" DEPEND=">= net-www/apache2-2.2.14 >= sys-libs/ncurses-5.7 >= sys-libs/readline-6.0 >= sys-libs/zlib-1.2 >= app-arch/bzip2-1 >= dev-libs/libxml2-2.7 >= dev-libs/libxslt-1.1.26 >= dev-libs/openssl-0.9.8 >= dev-libs/libpcre-8.0 >= dev-libs/gmp-4.3 >= media-libs/libjpeg-7 >= media-libs/libpng-1.2.40 >= x11-libs/libXpm-3.5 >= media-libs/gd-2.0.35 >= media-libs/freetype-2.3 >= media-libs/t1lib-5.1 >= net-misc/curl-7.19 >= app-text/aspell-0.60 >= dev-db/db-4.8 >= dev-db/sqlite-3.6 >= dev-db/mysql5-5.1 >= dev-db/unixodbc-2.2 >= net-dns/libidn-1.15 >= app-text/htmltidy-1.46" # ToDO: mcrypt, imap, mhash SDEPEND=">= sys-apps/sed-4 >= sys-dev/m4-1.4 >= sys-dev/libtool-1.5 >= sys-dev/gettext-0.17" SRCFILE="${PNAME/5/}-${PVER}.tar.bz2" SRCDIR="${BUILDDIR}/${PNAME/5/}-${PVER}" SUHOSIN_PVER="0.9.8" PHP5_EXTENSIONS_DIR="/usr/$(mlibdir)/${PNAME}/extensions" sminclude mtools SRC_URI=( http://de2.php.net/distributions/${SRCFILE} http://us2.php.net/distributions/${SRCFILE} mirror://${PNAME}/${SRCFILE} mirror://${PNAME}/${PNAME}-5.2.4-multilib.patch mirror://${PNAME}/${PNAME}-5.2.3-httpd-config.patch mirror://${PNAME}/${PNAME}-5.2.4-build-dir.patch mirror://${PNAME}/${PNAME}-${PVER}-suhosin-${SUHOSIN_PVER}.patch mirror://${PNAME}/${PNAME}-${PVER}-gd-segfault.patch mirror://${PNAME}/php5_module.conf ) # 5.3 stable series UP2TAG="5.3" UP2DATE="updatecmd ${HOMEPAGE} | grep 'Current.*${UP2TAG}.*Stable' | sed 's/.*\:\ \(.*\)/\1/'" src_prepare() { munpack ${SRCFILE} || die cd ${SRCDIR} # version branding sed -i "s:^\(EXTRA_VERSION=\).*:\1-magellan-${PBUILD}:" configure.in || die # fixes multilib search pathes mpatch ${PNAME}-5.2.4-multilib.patch || die # do not touch the system httpd.conf mpatch ${PNAME}-5.2.3-httpd-config.patch || die # fixes build dir -> /usr/lib/php5/build mpatch ${PNAME}-5.2.4-build-dir.patch || die # hardend php core patch # see: http://www.hardened-php.net/suhosin/index.html mpatch ${PNAME}-${PVER}-suhosin-${SUHOSIN_PVER}.patch || die # fixes segfaults of gd in phpinfo() mpatch ${PNAME}-${PVER}-gd-segfault.patch || die # fully regenerate aclocal too rm aclocal.m4 || die # rebuild configure autoreconf --force --install --verbose || die # force use of system libtool mlibtoolize || die } src_compile() { cd ${SRCDIR} # --with-libdir needed, doesn't honor --libdir mconfigure \ --with-libdir=$(mlibdir) \ --with-config-file-path=/etc/${PNAME} \ --with-config-file-scan-dir=/etc/${PNAME}/conf.d \ --without-pear \ --with-apxs2 \ --enable-force-cgi-redirect \ --enable-fastcgi \ --enable-discard-path \ --with-zlib \ --with-bz2=shared \ --enable-bcmath=shared \ --enable-calendar=shared \ --enable-exif \ --enable-ftp=shared \ --with-gettext \ --enable-mbstring=shared \ --with-ncurses=shared \ --with-readline \ --with-openssl \ --with-gd=shared,/usr \ --enable-gd-native-ttf \ --with-freetype-dir=/usr \ --with-ttf \ --with-t1lib=/usr \ --with-pcre-regex \ --with-gmp \ --with-curl \ --with-curlwrappers \ --enable-dba=shared \ --with-db4 \ --with-mysql=shared \ --with-mysqli=shared \ --with-unixODBC=shared,/usr \ --with-sqlite=shared \ --enable-pdo=shared \ --with-pdo-odbc=shared,unixODBC,/usr \ --with-pdo-mysql=shared,/usr \ --with-pdo-sqlite=shared,/usr \ --enable-dbase=shared \ --enable-dom=shared \ --with-xmlrpc=shared \ --enable-xmlreader=shared \ --enable-xmlwriter=shared \ --with-xsl=shared,/usr \ --enable-json=shared \ --enable-zip=shared \ --enable-sockets=shared \ --enable-sysvsem=shared \ --enable-sysvshm=shared \ --enable-sysvmsg=shared \ --with-tidy=shared \ || die # ToDo: # --with-mcrypt=shared \ # --with-mhash=shared \ # --with-imap=shared \ # --with-imap-ssl \ mmake || die } src_install() { cd ${SRCDIR} mmake INSTALL_ROOT=${BINDIR} EXTENSION_DIR=${PHP5_EXTENSIONS_DIR} install || die local php_ini=php.ini-production # php config minstalldir /etc/${PNAME}/conf.d || die # fix extensions dir location sed -i "s:^\(extension_dir =\).*:\1 ${PHP5_EXTENSIONS_DIR}:" ${php_ini} || die # allow short php open-tags sed -i "s:^\(short_open_tag =\).*:\1 On:" ${php_ini} || die minstallfile ${php_ini} /etc/${PNAME}/php.ini || die # fix extension_dir also in php-config sed -i "s:^\(extension_dir=\).*:\1${PHP5_EXTENSIONS_DIR}:" ${BINDIR}/usr/bin/php-config || die # install apache module config minstalldir /etc/apache2/modules.d || die minstallfile -s php5_module.conf /etc/apache2/modules.d/php5.conf || die # enable all default extensions local i for i in $(ls ${BINDIR}/${PHP5_EXTENSIONS_DIR}/*.so | sort ) do echo "extension=$(basename ${i})" \ > ${BINDIR}/etc/${PNAME}/conf.d/$(basename ${i} .so).ini || die done minstalldocs CREDITS CODING_STANDARDS EXTENSIONS LICENSE NEWS README* TODO* || die }