aboutsummaryrefslogtreecommitdiff
path: root/patches/php
diff options
context:
space:
mode:
Diffstat (limited to 'patches/php')
-rwxr-xr-xpatches/php/php-pgsql.SlackBuild343
-rw-r--r--patches/php/php-pgsql.slack-desc19
-rw-r--r--patches/php/php-pgsql.slack-required2
-rwxr-xr-xpatches/php/php.SlackBuild1
-rwxr-xr-xpatches/php/php4-snapshot.SlackBuild1
-rw-r--r--patches/php/slack-required1
6 files changed, 364 insertions, 3 deletions
diff --git a/patches/php/php-pgsql.SlackBuild b/patches/php/php-pgsql.SlackBuild
new file mode 100755
index 00000000..181e100b
--- /dev/null
+++ b/patches/php/php-pgsql.SlackBuild
@@ -0,0 +1,343 @@
+#!/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
+# This script is used to build a php with postgresql support
+#
+
+if [ -s "php-pgsql.slack-required" ]; then
+ echo Recomended and required packages for building cairo are:
+ cat php-pgsql.slack-required | sed -e 's/^/\t/'
+ if [ "$INTERACT" != "no" ]; then
+ echo If you dont have those installed, press Ctrl-C. Otherwise, hit ENTER.
+ read crap
+ else
+ echo Sleeping 3 seconds...
+ sleep 3
+ fi
+fi
+
+CWD="`pwd`"
+
+if [ -f "/etc/slackbuildrc" ]; then
+ source /etc/slackbuildrc
+fi
+
+if [ -f "~/.slackbuildrc" ]; then
+ source ~/.slackbuildrc
+fi
+
+PACKAGE="php"
+PACKAGE_NAME="php-pgsql" # this is beacuse we're build with pgsql support
+VERSION=${VERSION:=4.4.4}
+PINE=${PINE:=4.64}
+ARCH=${ARCH:=i486}
+BUILD=${BUILD:=2rha}
+TMP=${TMP:=/tmp}
+SRC_DIR=${SRC:=$CWD}
+REPOS=${REPOS:=$TMP}
+
+# ------- error codes for createpkg --------------
+ERROR_WGET=31; ERROR_MAKE=32; ERROR_INSTALL=33
+ERROR_MD5=34; ERROR_CONF=35; ERROR_HELP=36
+ERROR_TAR=37; ERROR_MKPKG=38; ERROR_GPG=39
+ERROR_PATCH=40
+
+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"
+
+SRC_DIR="$SRC_DIR/$PACKAGE"
+mkdir -p $SRC_DIR
+
+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" || exit $ERROR_WGET
+ 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" || exit $ERROR_WGET
+ fi
+ done
+
+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 ; CLEANUP=no ./pine.SlackBuild )
+ ( cd $TMP/pine/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
+
+TMP="$TMP/$PACKAGE"
+PKG="$TMP/package-php"
+rm -rf $TMP
+mkdir -p $TMP
+cd $TMP
+
+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-pgsql \
+ --with-zlib=/usr $ADD_FLAGS || exit $ERROR_CONF
+ # --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 || exit $ERROR_TAR
+
+# 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 patching with $CWD/php-with-_lib-$VERSION.diff.gz...
+ zcat $CWD/php-with-_lib-$VERSION.diff.gz | patch -p1 --verbose || exit $ERROR_PATCH
+ 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 {} \;
+
+# Fix a UTF-8 parsing overflow:
+zcat $CWD/php4.utf8.diff.gz | patch -p1 --verbose --backup --suffix=.orig || exit $ERROR_PATCH
+
+# Patch ini files:
+
+if [ "$ARCH" == "x86_64" ]; then
+ zcat $CWD/php.ini-x86_64.diff.gz | patch -p1 --verbose --backup --suffix=.orig || exit $ERROR_PATCH
+ # 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 || exit $ERROR_PATCH
+fi
+
+# Make the Apache module version of PHP:
+echo "***START APACHE MODULE***"
+php_configure --disable-static --with-apxs=/usr/sbin/apxs || exit $ERROR_CONF
+make -j3 || exit $ERROR_MAKE
+make install INSTALL_ROOT=$PKG || exit $ERROR_INSTALL
+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 || exit $ERROR_CONF
+make -j3 || exit $ERROR_MAKE
+make install-cli INSTALL_ROOT=$PKG || exit $ERROR_INSTALL
+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/$PACKAGE_NAME-slack-desc > $PKG/install/slack-desc
+
+if [ -d "$IMAPLIBDIR" ]; then
+ ( cd $IMAPLIBDIR && rm -rf * )
+ rmdir $IMAPLIBDIR
+fi
+
+cd $PKG
+makepkg -l y -c n $REPOS/$PACKAGE_NAME-$VERSION-$ARCH-$BUILD.tgz || exit $ERROR_MKPKG
+
+if [ "$CLEANUP" == "yes" ]; then
+ rm -rf $TMP
+fi
+
diff --git a/patches/php/php-pgsql.slack-desc b/patches/php/php-pgsql.slack-desc
new file mode 100644
index 00000000..fdfd6144
--- /dev/null
+++ b/patches/php/php-pgsql.slack-desc
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+php-pgsql: php-pgsql (HTML-embedded scripting language)
+php-pgsql:
+php-pgsql: PHP is an HTML-embedded scripting language. It shares syntax
+php-pgsql: characteristics with C, Java, and Perl. The primary objective behind
+php-pgsql: this language is to make a fast and easy-to-use scripting language
+php-pgsql: for dynamic web sites.
+php-pgsql:
+php-pgsql: This PHP package was built with PostgreSQL support.
+php-pgsql: More information can be found online at http://www.php.net/
+php-pgsql:
+php-pgsql:
diff --git a/patches/php/php-pgsql.slack-required b/patches/php/php-pgsql.slack-required
new file mode 100644
index 00000000..fdb70fdb
--- /dev/null
+++ b/patches/php/php-pgsql.slack-required
@@ -0,0 +1,2 @@
+libiconv
+postgresql
diff --git a/patches/php/php.SlackBuild b/patches/php/php.SlackBuild
index ae422e09..76265378 100755
--- a/patches/php/php.SlackBuild
+++ b/patches/php/php.SlackBuild
@@ -191,7 +191,6 @@ CFLAGS="$SLKCFLAGS" \
--with-tsrm-pthreads \
--enable-shared \
--disable-debug \
- --with-pgsql \
--with-zlib=/usr $ADD_FLAGS || exit $ERROR_CONF
# --with-mod_charset # only for Russian patched Apache
# --with-readline=/usr # this is only for the CGI version
diff --git a/patches/php/php4-snapshot.SlackBuild b/patches/php/php4-snapshot.SlackBuild
index b6a7f172..b33775cc 100755
--- a/patches/php/php4-snapshot.SlackBuild
+++ b/patches/php/php4-snapshot.SlackBuild
@@ -189,7 +189,6 @@ CFLAGS="$SLKCFLAGS" \
--with-tsrm-pthreads \
--enable-shared \
--disable-debug \
- --with-pgsql \
--with-zlib=/usr $ADD_FLAGS || exit $ERROR_CONF
# --with-mod_charset # only for Russian patched Apache
# --with-readline=/usr # this is only for the CGI version
diff --git a/patches/php/slack-required b/patches/php/slack-required
index fdb70fdb..788f2359 100644
--- a/patches/php/slack-required
+++ b/patches/php/slack-required
@@ -1,2 +1 @@
libiconv
-postgresql