aboutsummaryrefslogtreecommitdiffstats
path: root/testing/php7/APKBUILD
diff options
context:
space:
mode:
Diffstat (limited to 'testing/php7/APKBUILD')
-rw-r--r--testing/php7/APKBUILD445
1 files changed, 445 insertions, 0 deletions
diff --git a/testing/php7/APKBUILD b/testing/php7/APKBUILD
new file mode 100644
index 0000000000..0b69648b52
--- /dev/null
+++ b/testing/php7/APKBUILD
@@ -0,0 +1,445 @@
+# Contributor: Valery Kartel <valery.kartel@gmail.com>
+# Maintainer: Valery Kartel <valery.kartel@gmail.com>
+pkgname=php7
+pkgver=7.1.3
+pkgrel=0
+_apiver=20160303
+_compat=7.1
+_suffix=${pkgname#php}
+_pkgreal=${pkgname%$_suffix}
+pkgdesc="The PHP$_suffix language runtime engine"
+url="http://www.php.net/"
+arch="all"
+license="PHP-3"
+options="!check"
+depends="$pkgname-config"
+depends_dev="$pkgname"
+replaces="$_pkgreal $_pkgreal-cli $_pkgreal$_compat $_pkgreal$_compat-cli"
+provides="$replaces $pkgname-cli"
+makedepends="autoconf bison re2c apache2-dev libxml2-dev libxslt-dev libzip-dev bzip2-dev zlib-dev
+ aspell-dev enchant-dev expat-dev pcre-dev curl-dev gmp-dev icu-dev imap-dev gd-dev
+ libical-dev libressl-dev openldap-dev net-snmp-dev db-dev krb5-dev gdbm-dev sqlite-dev
+ freetds-dev postgresql-dev unixodbc-dev freetype-dev tidyhtml-dev libwebp-dev
+ libpng-dev libjpeg-turbo-dev libmcrypt-dev recode-dev libedit-dev gettext-dev
+ "
+source="http://php.net/distributions/$_pkgreal-$pkgver.tar.bz2
+ $pkgname-module.conf
+ $pkgname-fpm.logrotate
+ $pkgname-fpm.initd
+ $pkgname-fpm.patch
+ $pkgname-includedir.patch
+ install-pear.patch
+ "
+# unimplemented extensions: com_dotnet interbase oci8 pdo_firebird pdo_oci
+_extension_dir=/usr/lib/$pkgname
+_extension_conf=/etc/$pkgname/conf.d
+_extensions="bcmath bz2 calendar ctype curl dba dom enchant exif fileinfo ftp gd gettext gmp iconv imap:1
+ intl json ldap mbstring mcrypt mysqli:1 mysqlnd odbc opcache openssl pcntl pdo pdo_dblib pdo_mysql
+ pdo_odbc pdo_pgsql pdo_sqlite pgsql phar posix pspell recode session shmop snmp soap sockets
+ sqlite3 sysvmsg sysvsem sysvshm tidy wddx xml xmlreader xmlrpc xmlwriter xsl zip zlib
+ "
+for _extension in $_extensions; do
+ [ -z "${_extension##*:*}" ] && eval _index_${_extension%:*}=${_extension#*:}
+ subpackages="$subpackages $pkgname-${_extension%:*}:_extension"
+done
+_prefix_opcache="zend_"
+_pkgdesc_opcache="Zend OPcache"
+_depends_mysqlnd="$pkgname-openssl"
+subpackages="$pkgname-dev $pkgname-doc $pkgname-libs $pkgname-apache2 $pkgname-phpdbg
+ $pkgname-litespeed $pkgname-cgi $pkgname-fpm $pkgname-pear::noarch $pkgname-pecl::noarch
+ $pkgname-phar-utils:_phar:noarch $subpackages $pkgname-config::noarch"
+builddir="$srcdir/$_pkgreal-$pkgver"
+
+prepare() {
+ cd "$builddir"
+
+ sed "$(($(grep -n 'Pool Definitions' sapi/fpm/php-fpm.conf.in | cut -d: -f1)+3)),\$d" \
+ -i sapi/fpm/php-fpm.conf.in && \
+ echo include=@php_fpm_sysconfdir@/php-fpm.d/*.conf >> \
+ sapi/fpm/php-fpm.conf.in
+
+ default_prepare || return 1
+ update_config_sub || return 1
+
+ local vapi=$(sed -n '/#define PHP_API_VERSION/{s/.* //;p}' main/php.h)
+ if [ "$vapi" != "$_apiver" ]; then
+ error "Upstreram API version is now $vapi. Expecting $_apiver"
+ error "After updating _apiver, all 3rd-party extensions must be rebuilt"
+ return 1
+ fi
+
+ autoconf
+}
+
+# Notes to ./configure parameters
+# recode and imap are defined in build function because can't build together
+# --with-libgd -- do not swith to system-wide libgd - runtime bugs.
+# --with-xmlrpc -- do not swith to system-wide xmlrpc - build errors.
+
+_build() {
+ ./configure \
+ EXTENSION_DIR=$_extension_dir \
+ --build=$CBUILD \
+ --host=$CHOST \
+ --prefix=/usr \
+ --program-suffix=$_suffix \
+ --libdir=$_extension_dir \
+ --datadir=/usr/share/$pkgname \
+ --sysconfdir=/etc/$pkgname \
+ --localstatedir=/var \
+ --with-layout=GNU \
+ --with-pic \
+ --with-pear=/usr/share/pear \
+ --with-config-file-path=/etc/$pkgname \
+ --with-config-file-scan-dir=$_extension_conf \
+ --disable-short-tags \
+ --without-readline \
+ --with-libedit \
+ --enable-bcmath=shared \
+ --with-bz2=shared \
+ --enable-calendar=shared \
+ --enable-ctype=shared \
+ --with-curl=shared \
+ --enable-dba=shared \
+ --with-gdbm \
+ --with-db4 \
+ --enable-dom=shared \
+ --with-libxml-dir \
+ --with-enchant=shared \
+ --enable-exif=shared \
+ --enable-fileinfo=shared \
+ --enable-ftp=shared \
+ --with-openssl-dir \
+ --with-gd=shared \
+ --with-jpeg-dir \
+ --with-png-dir \
+ --with-webp-dir \
+ --with-xpm-dir=no \
+ --with-freetype-dir \
+ --enable-gd-native-ttf \
+ --disable-gd-jis-conv \
+ --with-gettext=shared \
+ --with-gmp=shared \
+ --with-iconv=shared \
+ --enable-intl=shared \
+ --with-icu-dir=/usr \
+ --enable-json=shared \
+ --enable-libxml=shared \
+ --with-libxml-dir \
+ --with-libexpat-dir \
+ --with-ldap=shared \
+ --with-ldap-sasl \
+ --enable-mbstring=shared \
+ --enable-mbregex \
+ --with-mcrypt=shared \
+ --with-mysqli=shared,mysqlnd \
+ CFLAGS=-DMYSQLI_NO_CHANGE_USER_ON_PCONNECT \
+ --enable-mysqlnd=shared \
+ --with-zlib-dir \
+ --enable-opcache=shared \
+ --with-openssl=shared \
+ --with-kerberos \
+ --with-system-ciphers \
+ --enable-pcntl=shared \
+ --with-pcre-regex=/usr \
+ --with-pcre-dir \
+ --enable-pdo=shared \
+ --with-pdo-dblib=shared \
+ --with-pdo-mysql=shared,mysqlnd \
+ --with-pdo-odbc=shared,unixODBC,/usr \
+ --with-pdo-pgsql=shared \
+ --with-pdo-sqlite=shared,/usr \
+ --with-pgsql=shared \
+ --enable-phar=shared \
+ --enable-posix=shared \
+ --with-pspell=shared \
+ --enable-session=shared \
+ --enable-shmop=shared \
+ --with-snmp=shared \
+ --enable-soap=shared \
+ --enable-sockets=shared \
+ --with-sqlite3=shared,/usr \
+ --enable-sysvmsg=shared \
+ --enable-sysvsem=shared \
+ --enable-sysvshm=shared \
+ --with-tidy=shared \
+ --with-unixODBC=shared,/usr \
+ --enable-wddx=shared \
+ --enable-xml=shared \
+ --enable-xmlreader=shared \
+ --with-xmlrpc=shared \
+ --enable-xmlwriter=shared \
+ --with-xsl=shared \
+ --enable-zip=shared \
+ --with-libzip \
+ --with-zlib=shared \
+ --with-zlib-dir \
+ $@ || return 1
+ make
+}
+
+build() {
+ cd "$builddir"
+ # build phpdbg
+ _build --enable-phpdbg \
+ --enable-phpdbg-webhelper \
+ --disable-cgi \
+ --disable-cli \
+ || return 1
+ # build apache2 module + recode extension
+ _build --disable-phpdbg \
+ --disable-cgi \
+ --disable-cli \
+ --with-apxs2 \
+ --with-recode=shared \
+ || return 1
+ mv libs/lib$_pkgreal*.so sapi/apache2handler/
+ # build all other + imap extension
+ _build --disable-phpdbg \
+ --enable-fpm \
+ --enable-embed \
+ --with-litespeed \
+ --with-imap=shared \
+ --with-imap-ssl \
+ || return 1
+}
+
+package() {
+ pkgdesc="$pkgdesc (command line interface)"
+ make -C "$builddir" INSTALL_ROOT="$pkgdir" install || return 1
+
+ ln -sf /usr/bin/php$_suffix "$pkgdir"/usr/bin/php
+ rm -fr "$pkgdir"/.[[:alpha:]]*
+}
+
+dev() {
+ provides="$_pkgreal-dev $_pkgreal$_compat-dev"
+ replaces=$provides
+ default_dev || return 1
+
+ mkdir -p "$subpkgdir"/usr/bin \
+ "$subpkgdir"/$_extension_dir || return 1
+
+ local file
+ for file in php-config phpize; do
+ mv "$pkgdir"/usr/bin/$file$_suffix \
+ "$subpkgdir"/usr/bin/ || return 1
+ ln -sf /usr/bin/$file$_suffix "$subpkgdir"/usr/bin/$file
+ done
+
+ mv "$pkgdir"/$_extension_dir/build "$subpkgdir"/$_extension_dir
+}
+
+doc() {
+ provides=
+ replaces=
+ default_doc || return 1
+ install_if="docs $pkgname-config=$pkgver-r$pkgrel"
+
+ cd "$builddir"
+ local file
+ for file in $(ls CODING_STANDARDS CREDITS EXTENSIONS INSTALL LICENSE NEWS README* UPGRADING*); do
+ install -Dm644 $file "$subpkgdir"/usr/share/doc/$pkgname/$file || return 1
+ done
+}
+
+apache2() {
+ provides="$_pkgreal-apache2 $_pkgreal$_compat-apache2"
+ replaces=
+ pkgdesc="$pkgdesc (apache2 module)"
+ depends="$pkgname-config apache2"
+
+ mkdir -p "$subpkgdir"/usr/lib/apache2 || return 1
+ cp "$builddir"/sapi/apache2handler/lib$_pkgreal*.so \
+ "$subpkgdir"/usr/lib/apache2/mod_$pkgname.so || return 1
+
+ install -Dm644 "$srcdir"/$pkgname-module.conf \
+ "$subpkgdir"/etc/apache2/conf.d/$pkgname-module.conf
+}
+
+phpdbg() {
+ provides="$_pkgreal-phpdbg $_pkgreal$_compat-phpdbg"
+ replaces=$provides
+ pkgdesc="$pkgdesc (interactive debugger)"
+ depends="$pkgname-config"
+
+ install -Dm755 "$builddir"/sapi/phpdbg/phpdbg \
+ "$subpkgdir"/usr/bin/phpdbg$_suffix || return 1
+ ln -sf /usr/bin/phpdbg$_suffix "$subpkgdir"/usr/bin/phpdbg
+}
+
+libs() {
+ provides="$_pkgreal-libs $_pkgreal$_compat-libs"
+ replaces=
+ pkgdesc="$pkgdesc (embedded library)"
+ depends="$pkgname-config"
+
+ mkdir -p "$subpkgdir"/usr/lib || return 1
+ mv "$pkgdir"/usr/lib/lib$_pkgreal*.so \
+ "$subpkgdir"/usr/lib/lib$pkgname.so || return 1
+}
+
+litespeed() {
+ provides="$_pkgreal-litespeed $_pkgreal$_compat-litespeed"
+ replaces=$provides
+ pkgdesc="$pkgdesc (litespeed)"
+ depends="$pkgname-config"
+
+ mkdir -p "$subpkgdir"/usr/bin || return 1
+ mv "$pkgdir"/usr/bin/lsphp \
+ "$subpkgdir"/usr/bin/lsphp$_suffix || return 1
+ ln -sf /usr/bin/lsphp$_suffix "$subpkgdir"/usr/bin/lsphp
+}
+
+cgi() {
+ provides="$_pkgreal-cgi $_pkgreal$_compat-cgi"
+ replaces=$provides
+ pkgdesc="$pkgdesc (common gateway interface)"
+ depends="$pkgname-config"
+
+ mkdir -p "$subpkgdir"/usr/bin || return 1
+ mv "$pkgdir"/usr/bin/php-cgi$_suffix \
+ "$subpkgdir"/usr/bin/ || return 1
+ ln -sf /usr/bin/php-cgi$_suffix "$subpkgdir"/usr/bin/php-cgi
+}
+
+fpm() {
+ provides="$_pkgreal-fpm $_pkgreal$_compat-fpm"
+ replaces=
+ pkgdesc="$pkgdesc (fastcgi process manager)"
+ depends="$pkgname-config"
+
+ mkdir -p "$subpkgdir"/usr/share \
+ "$subpkgdir"/etc/$pkgname \
+ "$subpkgdir"/var/log/$pkgname || return 1
+
+ mv "$pkgdir"/usr/sbin "$subpkgdir"/usr/ || return 1
+ mv "$pkgdir"/usr/share/$pkgname \
+ "$subpkgdir"/usr/share/ || return 1
+ mv "$pkgdir"/etc/$pkgname/php-fpm* \
+ "$subpkgdir"/etc/$pkgname/ || return 1
+
+ local file;
+ for file in php-fpm.conf php-fpm.d/www.conf; do
+ mv "$subpkgdir"/etc/$pkgname/$file.default \
+ "$subpkgdir"/etc/$pkgname/$file || return 1
+ done
+
+ install -Dm755 "$srcdir"/$pkgname-fpm.initd \
+ "$subpkgdir"/etc/init.d/$_pkgreal-fpm$_suffix || return 1
+ install -Dm644 "$srcdir"/$pkgname-fpm.logrotate \
+ "$subpkgdir"/etc/logrotate.d/$_pkgreal-fpm$_suffix || return 1
+}
+
+pear() {
+ provides="$_pkgreal-pear $_pkgreal$_compat-pear"
+ replaces=$provides
+ pkgdesc="$pkgdesc (php extension and application repository)"
+ depends="$pkgname $pkgname-xml"
+
+ mkdir -p "$subpkgdir"/usr/bin \
+ "$subpkgdir"/etc/$pkgname || return 1
+
+ mv "$pkgdir"/etc/$pkgname/pear.conf \
+ "$subpkgdir"/etc/$pkgname/ || return 1
+
+ mv "$pkgdir"/usr/share \
+ "$subpkgdir"/usr/ || return 1
+
+ sed -e "s/\$INCARG/\$INCARG -d extension=xml.so/" \
+ -i "$pkgdir"/usr/bin/pecl || return 1
+
+ local file
+ for file in pear peardev pecl; do
+ mv "$pkgdir"/usr/bin/$file \
+ "$subpkgdir"/usr/bin/$file$_suffix || return 1
+ sed -e "s:/usr/bin/php:/usr/bin/php$_suffix:g" \
+ -i "$subpkgdir"/usr/bin/$file$_suffix || return 1
+ ln -sf /usr/bin/$file$_suffix \
+ "$subpkgdir"/usr/bin/$file || return 1
+ done
+}
+
+pecl() {
+ provides="$_pkgreal-pecl $_pkgreal$_compat-pecl"
+ replaces=
+ pkgdesc="$pkgdesc (php extension community library)"
+ depends="$pkgname-pear $pkgname-dev autoconf gcc make musl-dev"
+ mkdir -p "$subpkgdir"
+}
+
+config() {
+ provides="phpapi$_apiver"
+ replaces=
+ depends=
+ pkgdesc="$pkgdesc (common config)"
+
+ mkdir -p "$subpkgdir"/$_extension_conf || return 1
+
+ install -Dm644 "$builddir"/php.ini-production \
+ "$subpkgdir"/etc/$pkgname/php.ini || return 1
+
+ # exit with an error if some modules were not in subpackages
+ rmdir "$pkgdir"/$_extension_dir || return 1
+ rm -fr "$pkgdir"/etc "$pkgdir"/var "$pkgdir"/usr/lib
+}
+
+_phar() {
+ provides="$_pkgreal-phar-utils $_pkgreal$_compat-phar-utils"
+ replaces=$provides
+ pkgdesc="$pkgdesc (archive script)"
+ depends="$pkgname $pkgname-phar"
+
+ mkdir -p "$subpkgdir"/usr/bin || return 1
+
+ rm "$pkgdir"/usr/bin/phar || return 1
+ mv "$pkgdir"/usr/bin/phar.phar \
+ "$subpkgdir"/usr/bin/phar.phar$_suffix || return 1
+
+ local file
+ for file in phar$_suffix phar phar.phar; do
+ ln -sf /usr/bin/phar.phar$_suffix \
+ "$subpkgdir"/usr/bin/$file || return 1
+ done
+}
+
+_extension() {
+ local dep deps
+ local name=${subpkgname#$pkgname-}
+ local index=$(eval echo \${_index_$name:-0})
+ provides="$_pkgreal-$name $_pkgreal$_compat-$name"
+ replaces=
+ depends=$(eval echo \$_depends_$name)
+
+ pkgdesc=$(eval echo \$_pkgdesc_$name)
+ : ${pkgdesc:=$(head -n1 "$builddir"/ext/$name/CREDITS)}
+ pkgdesc="PHP$_suffix extension: ${pkgdesc:-$name}"
+
+ [ -f "$builddir"/ext/$name/config.w32 ] && \
+ deps=$(grep -o "_DEP('$name'.*" "$builddir"/ext/$name/config.w32 | sed "s/[',);]//g")
+ [ -f "$builddir"/ext/$name/config.m4 ] && \
+ deps="$deps $(grep -o "_DEP($name,.*" "$builddir"/ext/$name/config.m4 | sed "s/[,)]//g")"
+ for dep in $(echo -e ${deps//[[:space:]]/\\n} | sort -u); do
+ [ -z "${_extensions##*$dep*}" ] && depends="$depends $pkgname-$dep"
+ done
+
+ index=$(($(echo $depends | wc -w)+$index))
+ depends="$pkgname-config phpapi$_apiver $depends"
+
+ mkdir -p "$subpkgdir"/$_extension_dir \
+ "$subpkgdir"/$_extension_conf || return 1
+
+ mv "$pkgdir"/$_extension_dir/$name.so \
+ "$subpkgdir"/$_extension_dir || return 1
+
+ echo $(eval echo \$_prefix_$name)extension=$name.so > \
+ "$subpkgdir"/$_extension_conf/$(printf %02d $index)_$name.ini
+}
+
+sha512sums="90dd06348d5884a2bb4a22ab80bb4f50e603751a1787096f447762fe00e5b4f36deafda045ecf6345883d9f4b711755a854a2e7043f27702acfe78ade90b42d9 php-7.1.3.tar.bz2
+fbf9a1572d37370ec0d126502e1d066e045a992484d8fc4f1e2ede330134c1a15f4029f29fa4daebd48eed78b045dc051ced69fbf1f11efc7ad81d884a639a99 php7-module.conf
+cacce7bf789467ff40647b7319e3760c6c587218720538516e8d400baa75651f72165c4e28056cd0c1dc89efecb4d00d0d7823bed80b29136262c825ce816691 php7-fpm.logrotate
+d91a915d00b8a25565b0ef87d5788ec40eb02b7890ab72df8cea49693311645c97ce2eed6f706a12704c7818102daee7ba2c42ee814c61bb29f90e464e3bb17f php7-fpm.initd
+a4c35446745ab0ac806de801f0651fc5d2c98cf60063c3c2d3963a84f1c71ef78e09b7650c08e7231be0fdb93c0c255de38894d7f0e4f4c5a190d17f1a6bc476 php7-fpm.patch
+199aecdbd3b4035aabf5379c215f82412d3c98b79a1ee186944e7fe1f0ed6f40789ea30e2355149491de6be34fc66c5e486e2a79a7e41ab2ae18706ef3ffe79b php7-includedir.patch
+f1177cbf6b1f44402f421c3d317aab1a2a40d0b1209c11519c1158df337c8945f3a313d689c939768584f3e4edbe52e8bd6103fb6777462326a9d94e8ab1f505 install-pear.patch"