aboutsummaryrefslogtreecommitdiff
path: root/patches/php/php.SlackBuild
diff options
context:
space:
mode:
authorrhatto <rhatto@370017ae-e619-0410-ac65-c121f96126d4>2006-07-31 20:45:44 +0000
committerrhatto <rhatto@370017ae-e619-0410-ac65-c121f96126d4>2006-07-31 20:45:44 +0000
commit3ae891bbbaa3f96365f4c9fbe49e5cee26183fbc (patch)
tree59f0163f13e99eefb959385243c564c5662bc5c2 /patches/php/php.SlackBuild
downloadslackbuilds-3ae891bbbaa3f96365f4c9fbe49e5cee26183fbc.tar.gz
slackbuilds-3ae891bbbaa3f96365f4c9fbe49e5cee26183fbc.tar.bz2
initial import
git-svn-id: svn+slack://slack.fluxo.info/var/svn/slackbuilds@1 370017ae-e619-0410-ac65-c121f96126d4
Diffstat (limited to 'patches/php/php.SlackBuild')
-rwxr-xr-xpatches/php/php.SlackBuild310
1 files changed, 310 insertions, 0 deletions
diff --git a/patches/php/php.SlackBuild b/patches/php/php.SlackBuild
new file mode 100755
index 00000000..3628d7b9
--- /dev/null
+++ b/patches/php/php.SlackBuild
@@ -0,0 +1,310 @@
+#!/bin/bash
+#
+# Build and package mod_php on Slackware.
+# by: David Cantrell <david@slackware.com>
+# Modified for PHP 4+ by volkerdi@slackware.com
+#
+# Small changes by rhatto
+#
+
+CWD="`pwd`"
+
+if [ -f "/etc/slackbuildrc" ]; then
+ source /etc/slackbuildrc
+fi
+
+if [ -f "~/.slackbuildrc" ]; then
+ source ~/.slackbuildrc
+fi
+
+PACKAGE="php"
+VERSION=${VERSION:=4.4.2}
+PINE=${PINE:=4.64}
+ARCH=${ARCH:=x86_64}
+BUILD=${BUILD:=1rha}
+
+TMP=${TMP:=/tmp}
+PKG=$TMP/package-php
+SRC_DIR=${SRC:=$CWD}
+
+RTOOL="wget"
+
+SRC="$PACKAGE-$VERSION.tar.bz2"
+URL="http://mirror.pacific.net.au/linux/slackware/slackware-10.2/patches/source/php/$SRC"
+#URL="http://br.php.net/get/$SRC/from/this/mirror"
+
+# pear modules
+DB="DB-1.7.6.tgz"
+HTTP="HTTP-1.4.0.tgz"
+MAIL="Mail-1.1.9.tgz"
+SMTP="Net_SMTP-1.2.8.tgz"
+SOCKET="Net_Socket-1.0.6.tgz"
+PARSER="XML_Parser-1.2.7.tgz"
+RPC="XML_RPC-1.4.5.tgz"
+TAR="Archive_Tar-1.3.1.tgz"
+GETOPT="Console_Getopt-1.2.tgz"
+TEMPLATE="HTML_Template_IT-1.1.3.tgz"
+
+PEAR="http://pear.php.net/get"
+
+if [ "$RTOOL" == "wget" ]; then
+
+ if [ ! -f "$SRC_DIR/$SRC" ]; then
+ wget "$URL" -O "$SRC_DIR/$SRC"
+ fi
+
+ # rm -rf $SRC_DIR/pear*
+ mkdir -p $SRC_DIR/pear
+
+ if [ $VERSION = 4.4.2 ]; then
+ pearlist="$DB $HTTP $MAIL $SMTP $SOCKET $PARSER $RPC"
+ mkdir -p $SRC_DIR/pear-4.4.2-bad-md5sums
+ for pear in $TAR $GETOPT $TEMPLATE; do
+ if [ ! -f "$SRC_DIR/pear-4.4.2-bad-md5sums/$pear" ]; then
+ wget "$PEAR/$pear" -O "$SRC_DIR/pear-4.4.2-bad-md5sums/$pear"
+ fi
+ done
+ else
+ pearlist="$DB $HTTP $MAIL $SMTP $SOCKET $PARSER $RPC $TAR $GETOPT $TEMPLATE"
+ fi
+
+ for pear in $pearlist; do
+ if [ ! -f "$SRC_DIR/pear/$pear" ]; then
+ wget "$PEAR/$pear" -O "$SRC_DIR/pear/$pear"
+ fi
+ done
+
+fi
+
+if [ ! -d $TMP ]; then
+ mkdir -p $TMP
+fi
+
+if [ "$ARCH" = "i386" ]; then
+ SLKCFLAGS="-O2 -march=i386 -mcpu=i686"
+elif [ "$ARCH" = "i486" ]; then
+ SLKCFLAGS="-O2 -march=i486 -mcpu=i686"
+elif [ "$ARCH" = "s390" ]; then
+ SLKCFLAGS="-O2"
+elif [ "$ARCH" = "x86_64" ]; then
+ SLKCFLAGS="-O2 -fPIC"
+fi
+
+# we need to compile Pine to get c-client.a for IMAP support:
+
+if [ "$ARCH" == "x86_64" ]; then
+ IMAPLIBDIR=/usr/local/lib64/c-client
+ LIBDIR="/usr/lib64"
+ LIB="lib64"
+else
+ IMAPLIBDIR=/usr/local/lib/c-client
+ LIBDIR="/usr/lib"
+ LIB="lib"
+ ADD_FLAGS="--with-db3 --enable-yp"
+fi
+
+if [ -r $IMAPLIBDIR/$LIB/c-client.a ]; then
+ echo "Using IMAP library:"
+ ls -l $IMAPLIBDIR/$LIB/c-client.a
+ sleep 5
+else
+ ( cd $CWD/../pine ; ./pine.SlackBuild )
+ ( cd $TMP/pine${PINE}/imap/c-client
+ strip -g c-client.a
+ mkdir -p $IMAPLIBDIR/$LIB
+ cp c-client.a $IMAPLIBDIR/$LIB
+ mkdir -p $IMAPLIBDIR/include
+ cp *.h $IMAPLIBDIR/include
+ )
+fi
+
+php_configure() {
+EXTENSION_DIR=/usr/$LIB/php/extensions \
+CFLAGS="$SLKCFLAGS" \
+./configure --prefix=/usr \
+ $* \
+ --with-_lib=$LIB \
+ --libdir=$LIBDIR \
+ --sysconfdir=/etc \
+ --enable-discard-path \
+ --with-config-file-path=/etc/apache \
+ --enable-safe-mode \
+ --with-openssl \
+ --with-mhash \
+ --enable-bcmath \
+ --with-bz2 \
+ --with-pic \
+ --enable-calendar \
+ --enable-ctype \
+ --with-gdbm \
+ --with-imap-ssl=$IMAPLIBDIR \
+ --with-imap=$IMAPLIBDIR \
+ --enable-dbase \
+ --enable-ftp \
+ --with-iconv \
+ --with-dom \
+ --with-exif \
+ --enable-exif \
+ --with-gd \
+ --enable-gd-native-ttf \
+ --with-jpeg-dir=/usr \
+ --with-png \
+ --with-gmp \
+ --enable-mbstring \
+ --with-curl=/usr \
+ --with-pcre-regex=/usr \
+ --with-mysql=shared,/usr \
+ --with-gettext=shared,/usr \
+ --with-expat-dir=/usr \
+ --with-xml \
+ --enable-wddx \
+ --with-mm=/usr \
+ --enable-trans-sid \
+ --enable-shmop \
+ --enable-sockets \
+ --with-regex=php \
+ --enable-sysvsem \
+ --enable-sysvshm \
+ --enable-memory-limit \
+ --with-tsrm-pthreads \
+ --enable-shared \
+ --disable-debug \
+ --with-zlib=/usr $ADD_FLAGS
+ # --with-mod_charset # only for Russian patched Apache
+ # --with-readline=/usr # this is only for the CGI version
+ # --with-ttf # this links with the shlib, need X for that
+ # --with-java # no thanks
+
+ # strange bug, http://bugs.php.net/bug.php?id=31193
+ sed -e 's/^EXTRA_LIBS\(.*\)/EXTRA_LIBS\1 -liconv/' Makefile > Makefile.new
+ mv Makefile.new Makefile
+
+}
+
+# compile php
+rm -rf $PKG
+mkdir -p $PKG/etc/apache
+# A trick from DaMouse to enable building php into $PKG.
+# We'll remove this later on.
+cat /etc/apache/httpd.conf.default > $PKG/etc/apache/httpd.conf
+cd $TMP
+rm -rf php-$VERSION
+tar xjvf $SRC_DIR/$SRC
+
+# Add missing(?) PEAR modules back:
+( cd php-$VERSION/pear/packages
+ cp -a $SRC_DIR/pear/* .
+ bzip2 -d *.bz2 &> /dev/null
+ gunzip -d -f *.tgz &> /dev/null
+)
+
+# Replace PEAR packages for which the 4.4.2 release contained incorrect md5sums:
+if [ $VERSION = 4.4.2 ]; then
+ ( cd php-$VERSION/pear/packages
+ rm -f HTML_Template_IT-1.1.tar
+ cp -a $SRC_DIR/pear-4.4.2-bad-md5sums/* .
+ bzip2 -d --force *.bz2 &> /dev/null
+ gunzip -d -f *.tgz &> /dev/null
+ )
+fi
+
+cd php-$VERSION
+
+if [ "$ARCH" == "x86_64" ]; then
+ # Fix lib64 - thanks SuSE
+ echo patchin with $CWD/php-with-_lib-$VERSION.diff.gz...
+ zcat $CWD/php-with-_lib-$VERSION.diff.gz | patch -p1 --verbose
+ autoconf
+fi
+
+# Fixup perms/owners:
+chown -R root.root .
+find . -perm 777 -exec chmod 755 {} \;
+find . -perm 775 -exec chmod 755 {} \;
+find . -perm 666 -exec chmod 644 {} \;
+find . -perm 664 -exec chmod 644 {} \;
+find . -name "*.h" -exec chmod 644 {} \;
+# Sometimes they ship a few of these:
+find . -name "*.orig" -exec rm {} \;
+# Patch ini files:
+
+if [ "$ARCH" == "x86_64" ]; then
+ zcat $CWD/php.ini-x86_64.diff.gz | patch -p1 --verbose --backup --suffix=.orig
+ # Fix an issue introduced in PHP 4.4.1 that breaks SquirrelMail and
+ # probably some other PHP applications:
+ #zcat $CWD/php.squirrel.diff.gz | patch -p1 --verbose || exit
+else
+ zcat $CWD/php.ini.diff.gz | patch -p1 --verbose --backup --suffix=.orig
+fi
+
+# Make the Apache module version of PHP:
+echo "***START APACHE MODULE***"
+php_configure --disable-static --with-apxs=/usr/sbin/apxs
+make -j3
+make install INSTALL_ROOT=$PKG
+make distclean
+echo "***END APACHE MODULE***"
+
+# PHP likes to install Pear with some strange permissions.
+chmod 755 $PKG/usr/bin/pear
+
+# Make the standalone interpreter:
+php_configure --enable-force-cgi-redirect --enable-fastcgi --enable-pcntl --enable-sigchild
+make -j3
+make install-cli INSTALL_ROOT=$PKG
+chmod 755 $PKG/usr/bin/php
+chown root.bin $PKG/usr/bin/php
+
+# PHP 4.4.2 seems to be throwing some junk in the root directory:
+( cd $PKG
+ rm -rf .channels .depdb .depdblock .filemap .lock .registry
+)
+
+if [ "$ARCH" == "x86_64" ]; then
+ # Fix $PKG/usr/lib64/php perms:
+ ( cd $PKG/usr/lib64/php
+ find . -perm 666 -exec chmod 644 {} \;
+ )
+else
+ # Fix $PKG/usr/lib/php perms:
+ ( cd $PKG/usr/lib/php
+ find . -perm 666 -exec chmod 644 {} \;
+ )
+fi
+
+mkdir -p $PKG/usr/doc/php-$VERSION
+cp -a \
+ CODING_STANDARDS CREDITS EXTENSIONS INSTALL LICENSE NEWS README* TODO* \
+ sapi/cgi/README.FastCGI \
+ $PKG/usr/doc/php-$VERSION
+chown -R root.root $PKG/usr/doc/php-$VERSION
+
+mkdir -p $PKG/etc/apache
+cp -a php.ini-dist php.ini-recommended $PKG/etc/apache
+cp -a $CWD/mod_php.conf.example $PKG/etc/apache
+chmod 644 $PKG/etc/apache/*
+chown root.root $PKG/etc/apache/*
+
+rm -f $PKG/etc/apache/httpd*
+
+chown -R root:bin $PKG/usr/bin
+
+( cd $PKG
+ find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
+ find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
+)
+
+gzip -9 $PKG/usr/man/man?/*.?
+
+mkdir -p $PKG/install
+zcat $CWD/doinst.sh.gz > $PKG/install/doinst.sh
+cat $CWD/slack-desc > $PKG/install/slack-desc
+
+#if [ -d "$IMAPLIBDIR" ]; then
+# ( cd $IMAPLIBDIR && rm -rf * )
+# rmdir $IMAPLIBDIR
+#fi
+
+cd $PKG
+makepkg -l y -c n $TMP/php-$VERSION-$ARCH-$BUILD.tgz
+