diff options
Diffstat (limited to 'extra/source/php80/php80.SlackBuild')
-rwxr-xr-x | extra/source/php80/php80.SlackBuild | 340 |
1 files changed, 0 insertions, 340 deletions
diff --git a/extra/source/php80/php80.SlackBuild b/extra/source/php80/php80.SlackBuild deleted file mode 100755 index 9b220b798..000000000 --- a/extra/source/php80/php80.SlackBuild +++ /dev/null @@ -1,340 +0,0 @@ -#!/bin/bash - -# Build and package mod_php on Slackware. -# by: David Cantrell <david@slackware.com> -# Modified for PHP 4-5 by volkerdi@slackware.com -# Copyright 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2015, 2017, 2019, 2020, 2021 Patrick Volkerding, Sebeka, MN, USA -# All rights reserved. -# -# Redistribution and use of this script, with or without modification, is -# permitted provided that the following conditions are met: -# -# 1. Redistributions of this script must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# -# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED -# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF -# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO -# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; -# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, -# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR -# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF -# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -cd $(dirname $0) ; CWD=$(pwd) - -PKGNAM=php -VERSION=${VERSION:-$(echo php-*.tar.xz | rev | cut -f 3- -d . | cut -f 1 -d - | rev)} -ALPINE=2.26 -BUILD=${BUILD:-1} - -# Automatically determine the architecture we're building on: -if [ -z "$ARCH" ]; then - case "$( uname -m )" in - i?86) export ARCH=i586 ;; - arm*) export ARCH=arm ;; - # Unless $ARCH is already set, use uname -m for all other archs: - *) export ARCH=$( uname -m ) ;; - esac -fi - -# If the variable PRINT_PACKAGE_NAME is set, then this script will report what -# the name of the created package would be, and then exit. This information -# could be useful to other scripts. -if [ ! -z "${PRINT_PACKAGE_NAME}" ]; then - echo "$PKGNAM-$VERSION-$ARCH-$BUILD.txz" - exit 0 -fi - -NUMJOBS=${NUMJOBS:-" -j$(expr $(nproc) + 1) "} - -TMP=${TMP:-/tmp} -PKG=$TMP/package-php80/ -rm -rf $PKG -mkdir -p $TMP $PKG - -if [ "$ARCH" = "i386" ]; then - SLKCFLAGS="-O2 -march=i386 -mcpu=i686" - LIBDIRSUFFIX="" -elif [ "$ARCH" = "i486" ]; then - SLKCFLAGS="-O2 -march=i486 -mtune=i686" - LIBDIRSUFFIX="" -elif [ "$ARCH" = "i586" ]; then - SLKCFLAGS="-O2 -march=i586 -mtune=i686" - LIBDIRSUFFIX="" -elif [ "$ARCH" = "s390" ]; then - SLKCFLAGS="-O2" - LIBDIRSUFFIX="" -elif [ "$ARCH" = "x86_64" ]; then - SLKCFLAGS="-O2 -fPIC" - LIBDIRSUFFIX="64" -else - SLKCFLAGS="-O2" - LIBDIRSUFFIX="" -fi - -# Look for Kerberos on the machine and in any precompiled c-client.a: -if /bin/ls /lib${LIBDIRSUFFIX}/libkrb5.so.? 1> /dev/null 2> /dev/null ; then - # Remove the c-client library if it doesn't contain Kerberos support: - if ! grep -q krb5_ /usr/local/lib${LIBDIRSUFFIX}/c-client/lib${LIBDIRSUFFIX}/c-client.a 2> /dev/null ; then - rm -rf /usr/local/lib${LIBDIRSUFFIX}/c-client - fi -else - # Remove the c-client library if it contains Kerberos support: - if grep -q krb5_ /usr/local/lib${LIBDIRSUFFIX}/c-client/lib${LIBDIRSUFFIX}/c-client.a 2> /dev/null ; then - rm -rf /usr/local/lib${LIBDIRSUFFIX}/c-client - fi -fi - -# we need to compile alpine to get c-client.a for IMAP support: -IMAPLIBDIR=/usr/local/lib${LIBDIRSUFFIX}/c-client -if [ -r $IMAPLIBDIR/lib${LIBDIRSUFFIX}/c-client.a ]; then - echo "Using IMAP library:" - ls -l $IMAPLIBDIR/lib${LIBDIRSUFFIX}/c-client.a - sleep 5 -else - ( cd $CWD/../alpine ; VERSION=${ALPINE} ; ./alpine.SlackBuild || exit 1 ) || exit 1 - ( cd $TMP/alpine-${ALPINE}/imap/c-client - strip -g c-client.a - mkdir -p $IMAPLIBDIR/lib${LIBDIRSUFFIX} - cp c-client.a $IMAPLIBDIR/lib${LIBDIRSUFFIX} - mkdir -p $IMAPLIBDIR/include - cp *.h $IMAPLIBDIR/include - ) -fi - -# Set Kerberos build option: -if /bin/ls /lib${LIBDIRSUFFIX}/libkrb5.so.? 1> /dev/null 2> /dev/null ; then - KRB5_OPTION="--with-kerberos" -else - unset KRB5_OPTION -fi - -mkdir -p $PKG/etc/httpd -mkdir -p $PKG/etc/php.d -# A trick from DaMouse to enable building php into $PKG. -# We'll remove this later on. -cat /etc/httpd/original/httpd.conf > $PKG/etc/httpd/httpd.conf -if [ ! -e /etc/httpd/original/httpd.conf ]; then - echo "FATAL: no /etc/httpd/original/httpd.conf found." - exit 1 -fi - -cd $TMP -rm -rf php-$VERSION -tar xvf $CWD/php-$VERSION.tar.xz || exit 1 -cd php-$VERSION || exit 1 - -# cleanup: -find . -name "*.orig" -delete - -if [ "$ARCH" = "s390" ]; then - zcat $CWD/php.configure.s390.diff.gz | patch -p1 || exit -fi - -# Fixup perms/owners: -chown -R root:root . -find . \ - \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \ - -exec chmod 755 {} \+ -o \ - \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \ - -exec chmod 644 {} \+ - -find . -name "*.h" -exec chmod 644 {} \+ - -# Sometimes they ship a few of these: -find . -name "*.orig" -exec rm {} \+ - -# Patch ini files: -zcat $CWD/php.ini-development.diff.gz | patch -p1 --verbose || exit 1 -zcat $CWD/php.ini-development.diff.gz | patch -p1 --verbose php.ini-production || exit 1 -zcat $CWD/php-fpm.conf.diff.gz | patch -p1 --verbose || exit 1 - -# Fix for imap API change: -zcat $CWD/php.imap.api.diff.gz | patch -p1 --verbose || exit 1 - -# Install the build folder into /usr/lib$LIBDIRSUFFIX/php/build -# and adapt phpize accordingly: -sed -i "s|build$|php/build|" scripts/Makefile.frag -sed -i "s|build\"$|php/build\"|" scripts/phpize.in - -# NOTE: Added -DU_USING_ICU_NAMESPACE=1 to CXXFLAGS, which should be a temporary -# requirement. See the link below: -# http://site.icu-project.org/download/61#TOC-Migration-Issues - -# -DU_DEFINE_FALSE_AND_TRUE=1 since recent icu4c no longer defines these otherwise. - -# Generic "kitchen sink" configure function, with as many things as possible (and -# maybe then some ;-) compiled as shared extensions: -EXTENSION_DIR=/usr/lib${LIBDIRSUFFIX}/php/extensions \ -CFLAGS="$SLKCFLAGS -DU_DEFINE_FALSE_AND_TRUE=1" \ -CXXFLAGS="$SLKCFLAGS -DU_USING_ICU_NAMESPACE=1 -DU_DEFINE_FALSE_AND_TRUE=1" \ -./configure \ - --prefix=/usr \ - --libdir=/usr/lib${LIBDIRSUFFIX} \ - --with-libdir=lib${LIBDIRSUFFIX} \ - --localstatedir=/var \ - --sysconfdir=/etc \ - --datarootdir=/usr/share \ - --datadir=/usr/share \ - --infodir=/usr/info \ - --mandir=/usr/man \ - --with-apxs2=/usr/bin/apxs \ - --enable-fpm \ - --with-fpm-user=apache \ - --with-fpm-group=apache \ - --enable-maintainer-zts \ - --enable-pcntl \ - --enable-mbregex \ - --enable-tokenizer=shared \ - --with-config-file-scan-dir=/etc/php.d \ - --with-config-file-path=/etc \ - --with-layout=PHP \ - --disable-sigchild \ - --with-libxml \ - --with-xmlrpc=shared \ - --with-expat \ - --enable-simplexml \ - --enable-xmlreader=shared \ - --enable-dom=shared \ - --enable-filter \ - --disable-debug \ - --with-openssl=shared \ - $KRB5_OPTION \ - --with-external-pcre \ - --with-zlib=shared,/usr \ - --enable-bcmath=shared \ - --with-bz2=shared,/usr \ - --enable-calendar=shared \ - --enable-ctype=shared \ - --with-curl=shared \ - --enable-dba=shared \ - --with-gdbm=/usr \ - --with-db4=/usr \ - --enable-exif=shared \ - --enable-ftp=shared \ - --enable-gd=shared \ - --with-external-gd \ - --with-jpeg \ - --with-xpm \ - --with-gettext=shared,/usr \ - --with-gmp=shared,/usr \ - --with-iconv=shared \ - --with-imap-ssl=/usr \ - --with-imap=$IMAPLIBDIR \ - --with-ldap=shared \ - --enable-mbstring=shared \ - --enable-mysqlnd=shared \ - --with-mysqli=shared,mysqlnd \ - --with-mysql-sock=/var/run/mysql/mysql.sock \ - --with-iodbc=shared,/usr \ - --enable-pdo=shared \ - --with-pdo-mysql=shared,mysqlnd \ - --with-pdo-sqlite=shared,/usr \ - --with-pdo-odbc=shared,iODBC,/usr \ - --with-pspell=shared,/usr \ - --with-enchant=shared,/usr \ - --enable-shmop=shared \ - --with-snmp=shared,/usr \ - --enable-soap=shared \ - --enable-sockets \ - --with-sqlite3=shared \ - --enable-sysvmsg \ - --enable-sysvsem \ - --enable-sysvshm \ - --with-xsl=shared,/usr \ - --with-zip=shared \ - --with-tsrm-pthreads \ - --enable-intl=shared \ - --enable-opcache \ - --enable-shared=yes \ - --enable-static=no \ - --with-gnu-ld \ - --with-pic \ - --enable-phpdbg \ - --with-sodium \ - --with-password-argon2 \ - --without-readline \ - --with-libedit \ - --with-pear \ - --with-tidy=shared \ - --build=$ARCH-slackware-linux || exit 1 - -# I am told this option is worse than nothing. :-) -# --enable-safe-mode -# -# I would recommend *against* and will take no responbility for turning on -# "safe" mode. - -make $NUMJOBS || make || exit 1 -make install INSTALL_ROOT=$PKG || exit 1 - -# Don't include the c-client library in php-config output: -sed -i "s| -L/usr/local/lib${LIBDIRSUFFIX}/c-client/lib${LIBDIRSUFFIX}||g" $PKG/usr/bin/php-config -sed -i "s| -lc-client||g" $PKG/usr/bin/php-config - -mkdir -p $PKG/etc/{rc.d,php-fpm.d} -cp sapi/fpm/init.d.php-fpm $PKG/etc/rc.d/rc.php-fpm.new -chmod 644 $PKG/etc/rc.d/rc.php-fpm.new - -# PHP (used to) install Pear with some strange permissions. -chmod 755 $PKG/usr/bin/pear - -# PHP sometimes puts junk in the root directory: -( cd $PKG - rm -rf .channels .depdb .depdblock .filemap .lock .registry -) - -# We do not package static extension libraries: -rm -f $PKG/usr/lib${LIBDIRSUFFIX}/php/extensions/*.a - -# Fix $PKG/usr/lib/php perms: -( cd $PKG/usr/lib${LIBDIRSUFFIX}/php - find . \ - \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \ - -exec chmod 755 {} \+ -o \ - \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \ - -exec chmod 644 {} \+ -) - -mkdir -p $PKG/usr/doc/php-$VERSION -cp -a \ - CODING_STANDARDS* CONTRIBUTING* EXTENSIONS* LICENSE* NEWS* README* UPGRADING* \ - $PKG/usr/doc/php-$VERSION - -mkdir -p $PKG/etc/httpd -cat $CWD/mod_php.conf.example | sed -e "s#lib/httpd#lib${LIBDIRSUFFIX}/httpd#" > $PKG/etc/httpd/mod_php.conf.new -chmod 644 $PKG/etc/httpd/* -chown root:root $PKG/etc/httpd/* - -cp -a php.ini-development php.ini-production $PKG/etc -chmod 755 $PKG/etc/php.d $PKG/etc/php-fpm.d $PKG/etc/httpd -chown root:root $PKG/etc/* - -# This can go now. -rm -f $PKG/etc/httpd/httpd* - -# Session directory for PHP: -mkdir -p $PKG/var/lib/php -chmod 770 $PKG/var/lib/php -chown root:apache $PKG/var/lib/php - -# Strip ELF objects. -find $PKG | xargs file | grep -e "executable" -e "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 -/sbin/makepkg -l y -c n $TMP/php80-$VERSION-$ARCH-$BUILD.txz |