]> gitweb.fluxo.info Git - slackbuilds.git/commitdiff
patches/php: support for postgresql now just built with php-pgsql.SlackBuild
authorrhatto <rhatto@370017ae-e619-0410-ac65-c121f96126d4>
Tue, 7 Nov 2006 16:16:22 +0000 (16:16 +0000)
committerrhatto <rhatto@370017ae-e619-0410-ac65-c121f96126d4>
Tue, 7 Nov 2006 16:16:22 +0000 (16:16 +0000)
git-svn-id: svn+slack://slack.fluxo.info/var/svn/slackbuilds@594 370017ae-e619-0410-ac65-c121f96126d4

patches/php/php-pgsql.SlackBuild [new file with mode: 0755]
patches/php/php-pgsql.slack-desc [new file with mode: 0644]
patches/php/php-pgsql.slack-required [new file with mode: 0644]
patches/php/php.SlackBuild
patches/php/php4-snapshot.SlackBuild
patches/php/slack-required

diff --git a/patches/php/php-pgsql.SlackBuild b/patches/php/php-pgsql.SlackBuild
new file mode 100755 (executable)
index 0000000..181e100
--- /dev/null
@@ -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 (file)
index 0000000..fdfd614
--- /dev/null
@@ -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 (file)
index 0000000..fdb70fd
--- /dev/null
@@ -0,0 +1,2 @@
+libiconv
+postgresql
index ae422e09a4cb4c2b25100a9dbe16c709ba8a568b..762653780482f5b2324681524e8d13be9f9eb51e 100755 (executable)
@@ -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
index b6a7f1729b277b94d182abbf241b2e416dfa99ae..b33775cc26165738c1b5a335d9ba749b3cebe2ec 100755 (executable)
@@ -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
index fdb70fdb937372f731ea4f1500c9e07ee65efca2..788f2359abea4e37947065c89f8b0e95761c3c72 100644 (file)
@@ -1,2 +1 @@
 libiconv
-postgresql