aboutsummaryrefslogtreecommitdiffstats
path: root/community
diff options
context:
space:
mode:
Diffstat (limited to 'community')
-rw-r--r--community/php7/APKBUILD376
1 files changed, 241 insertions, 135 deletions
diff --git a/community/php7/APKBUILD b/community/php7/APKBUILD
index f020f70ae1..2fcb595c3e 100644
--- a/community/php7/APKBUILD
+++ b/community/php7/APKBUILD
@@ -21,24 +21,62 @@ pkgname=php7
_pkgreal=php
pkgver=7.1.4
pkgrel=0
+_apiver=20160303
_suffix=${pkgname#php}
pkgdesc="The PHP$_suffix language runtime engine"
url="http://www.php.net/"
arch="all"
license="PHP-3 BSD LGPL2 MIT Zend"
-options=""
depends="$pkgname-common"
-depends_mysqlnd="$pkgname-openssl"
+# Most dependencies between extensions is auto-discovered (see _extension()).
+_depends_mysqlnd="$pkgname-openssl"
+_depends_pdo_mysql="$pkgname-pdo $pkgname-mysqlnd"
+_depends_phar="$pkgname"
# openssl is actually transitive dependency here, but we need to because of
# load index based on number of dependencies.
-depends_mysqli="$pkgname-mysqlnd $pkgname-openssl"
-depends_pdo_mysql="$pkgname-pdo $pkgname-mysqlnd"
-depends_phar="$pkgname"
-makedepends="autoconf bison re2c apache2-dev libxml2-dev libxslt-dev libzip-dev bzip2-dev zlib-dev
- aspell-dev enchant-dev pcre-dev curl-dev gmp-dev icu-dev imap-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 libxpm-dev
- libpng-dev libwebp-dev libjpeg-turbo-dev libmcrypt-dev recode-dev libedit-dev gettext-dev
+_depends_mysqli="$pkgname-mysqlnd $pkgname-openssl"
+makedepends="
+ autoconf
+ apache2-dev
+ aspell-dev
+ bison
+ bzip2-dev
+ curl-dev
+ db-dev
+ enchant-dev
+ freetds-dev
+ freetype-dev
+ gdbm-dev
+ gettext-dev
+ gmp-dev
+ icu-dev
+ imap-dev
+ krb5-dev
+ libedit-dev
+ libical-dev
+ libjpeg-turbo-dev
+ libmcrypt-dev
+ libpng-dev
+ libressl-dev
+ libwebp-dev
+ libxml2-dev
+ libxpm-dev
+ libxslt-dev
+ libzip-dev
+ net-snmp-dev
+ openldap-dev
+ pcre-dev
+ postgresql-dev
+ re2c
+ recode-dev
+ sqlite-dev
+ tidyhtml-dev
+ unixodbc-dev
+ zlib-dev
+ "
+subpackages="$pkgname-dev $pkgname-doc $pkgname-apache2 $pkgname-phpdbg
+ $pkgname-embed $pkgname-litespeed $pkgname-cgi $pkgname-fpm
+ $pkgname-pear::noarch
"
source="http://php.net/distributions/$_pkgreal-$pkgver.tar.bz2
$pkgname-fpm.initd
@@ -58,33 +96,85 @@ _libdir="/usr/lib/$pkgname"
_extension_dir="$_libdir/modules"
_extension_confd="/etc/$pkgname/conf.d"
-_exts="bcmath bz2 calendar ctype curl dba dom enchant exif fileinfo ftp gd gettext gmp iconv imap intl json
- ldap mbstring mcrypt mysqli mysqlnd odbc opcache openssl pcntl pdo pdo_dblib pdo_mysql
- pdo_odbc pdo_pgsql pdo_sqlite pgsql phar posix pspell recode session shmop simplexml snmp soap
- sockets sqlite3 sysvmsg sysvsem sysvshm tidy tokenizer wddx xml xmlreader xmlrpc xmlwriter xsl zip zlib
+_extensions="
+ bcmath
+ bz2
+ calendar
+ ctype
+ curl
+ dba
+ dom
+ enchant
+ exif
+ fileinfo
+ ftp
+ gd
+ gettext
+ gmp
+ iconv
+ imap
+ intl
+ json
+ ldap
+ mbstring
+ mcrypt
+ mysqli
+ mysqlnd
+ odbc
+ opcache
+ openssl
+ pcntl
+ pdo
+ pdo_dblib
+ pdo_mysql
+ pdo_odbc
+ pdo_pgsql
+ pdo_sqlite
+ pgsql
+ phar
+ posix
+ pspell
+ recode
+ session
+ shmop
+ simplexml
+ snmp
+ soap
+ sockets
+ sqlite3
+ sysvmsg
+ sysvsem
+ sysvshm
+ tidy
+ tokenizer
+ wddx
+ xml
+ xmlreader
+ xmlrpc
+ xmlwriter
+ xsl
+ zip
+ zlib
"
-subpackages="$pkgname-dev $pkgname-doc $pkgname-apache2 $pkgname-phpdbg $pkgname-embed
- $pkgname-litespeed $pkgname-cgi $pkgname-fpm $pkgname-pear::noarch
- "
-for _ext in $_exts; do
+for _ext in $_extensions; do
case "$_ext" in
- phar) subpackages="$subpackages $pkgname-$_ext:$_ext";;
- *) subpackages="$subpackages $pkgname-$_ext:_package_ext";;
+ phar) subpackages="$subpackages $pkgname-$_ext:$_ext";;
+ *) subpackages="$subpackages $pkgname-$_ext:_extension";;
esac
done
subpackages="$subpackages $pkgname-common::noarch"
-_apiver="20160303"
prepare() {
cd "$builddir"
- default_prepare || return 1
- update_config_sub || return 1
+ default_prepare
+ update_config_sub
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
@@ -116,7 +206,8 @@ prepare() {
# * Doesn't work with system-provided onigurama, some tests fail (invalid code
# point); probably because bundled onigurama is version 5.x, but we have 6.x.
_build() {
- [ "$CARCH" = "s390x" ] && _disable_pcre_jit="--without-pcre-jit"
+ local without_pcre_jit
+ [ "$CARCH" = "s390x" ] && without_pcre_jit="--without-pcre-jit"
EXTENSION_DIR=$_extension_dir ./configure \
--build=$CBUILD \
@@ -133,48 +224,65 @@ _build() {
--with-config-file-path=/etc/$pkgname \
--with-config-file-scan-dir=$_extension_confd \
--disable-short-tags \
- --with-openssl=shared --with-kerberos --with-system-ciphers \
- --with-pcre-regex=/usr --with-pcre-dir=/usr \
- $_disable_pcre_jit \
- --with-zlib=shared --with-zlib-dir=/usr \
+ \
--enable-bcmath=shared \
--with-bz2=shared \
--enable-calendar=shared \
--enable-ctype=shared \
--with-curl=shared \
- --enable-dba=shared --with-gdbm --with-db4 \
+ --enable-dba=shared \
+ --with-db4 \
+ --with-dbmaker=shared \
+ --with-gdbm \
--enable-dom=shared \
--with-enchant=shared \
--enable-exif=shared \
--enable-fileinfo=shared \
--enable-ftp=shared \
- --with-gd=shared --with-webp-dir=/usr --with-jpeg-dir=/usr --with-png-dir=/usr --with-xpm-dir=/usr \
- --with-freetype-dir=/usr --enable-gd-native-ttf --disable-gd-jis-conv \
+ --with-gd=shared \
+ --with-freetype-dir=/usr \
+ --disable-gd-jis-conv \
+ --enable-gd-native-ttf \
+ --with-jpeg-dir=/usr \
+ --with-png-dir=/usr \
+ --with-webp-dir=/usr \
+ --with-xpm-dir=/usr \
--with-gettext=shared \
--with-gmp=shared \
--with-iconv=shared \
- --with-imap=shared --with-imap-ssl \
- --enable-intl=shared --with-icu-dir=/usr \
+ --with-imap=shared \
+ --with-imap-ssl \
+ --with-icu-dir=/usr \
+ --enable-intl=shared \
--enable-json=shared \
- --enable-libxml --with-libxml-dir=/usr \
- --with-ldap=shared --with-ldap-sasl \
+ --with-kerberos \
+ --with-ldap=shared \
+ --with-ldap-sasl \
+ --with-libedit \
+ --enable-libxml \
+ --with-libxml-dir=/usr \
--enable-mbstring=shared \
--with-mcrypt=shared \
- --with-sqlite3=shared,/usr --with-pdo-sqlite=shared,/usr \
- --with-pdo-dblib=shared \
--with-mysqli=shared,mysqlnd \
- --enable-mysqlnd=shared --with-pdo-mysql=shared,mysqlnd --with-mysql-sock=/run/mysqld/mysqld.sock \
- --with-pgsql=shared --with-pdo-pgsql=shared \
- --with-unixODBC=shared,/usr --with-pdo-odbc=shared,unixODBC,/usr \
- --with-dbmaker=shared \
+ --with-mysql-sock=/run/mysqld/mysqld.sock \
+ --enable-mysqlnd=shared \
--enable-opcache=shared \
- --enable-pdo=shared \
+ --with-openssl=shared \
+ --with-system-ciphers \
--enable-pcntl=shared \
- --enable-posix=shared \
+ --with-pcre-regex=/usr \
+ $without_pcre_jit \
+ --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 \
--without-readline \
- --with-libedit \
--with-recode=shared \
--enable-session=shared \
--enable-shmop=shared \
@@ -182,20 +290,25 @@ _build() {
--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 \
--enable-tokenizer=shared \
+ --with-unixODBC=shared,/usr \
+ --enable-wddx=shared \
--enable-xml=shared \
--enable-xmlreader=shared \
--with-xmlrpc=shared \
--enable-xmlwriter=shared \
--with-xsl=shared \
- --enable-wddx=shared \
- --enable-zip=shared --with-libzip=/usr \
- $@ || return 1
- make || return 1
+ --enable-zip=shared \
+ --with-libzip=/usr \
+ --with-zlib=shared \
+ --with-zlib-dir=/usr \
+ $@
+ make
}
build() {
@@ -206,21 +319,20 @@ build() {
--enable-phpdbg \
--enable-phpdbg-webhelper \
--disable-cgi \
- --disable-cli \
- || return 1
+ --disable-cli
+
# apache2 module
_build --disable-phpdbg \
--disable-cgi \
--disable-cli \
- --with-apxs2 \
- || return 1
+ --with-apxs2
mv libs/libphp$_suffix.so sapi/apache2handler/mod_php$_suffix.so
- # cgi,cli,fpm,embed,litespeed
+
+ # cgi, cli, fpm, embed, litespeed
_build --disable-phpdbg \
--enable-fpm \
--enable-embed \
- --with-litespeed \
- || return 1
+ --with-litespeed
}
check() {
@@ -249,34 +361,32 @@ check() {
package() {
cd "$builddir"
- make -j1 INSTALL_ROOT="$pkgdir" install || return 1
+ make -j1 INSTALL_ROOT="$pkgdir" install
- install -Dm644 php.ini-production "$pkgdir"/etc/$pkgname/php.ini || return 1
+ install -Dm644 php.ini-production "$pkgdir"/etc/$pkgname/php.ini
local file; for file in pear peardev pecl; do
- sed -i -e "s~/usr/bin/php~/usr/bin/php$_suffix~g" \
- -e "s~PHP=php~PHP=php$_suffix~" \
- "$pkgdir"/usr/bin/$file || return 1
+ sed -i -e "s|/usr/bin/php|/usr/bin/php$_suffix|g" \
+ -e "s|PHP=php|PHP=php$_suffix|" \
+ "$pkgdir"/usr/bin/$file
done
- find "$pkgdir" -name '.*' | xargs rm -rf || return 1
+ find "$pkgdir" -name '.*' | xargs rm -rf
rmdir "$pkgdir"/var/run
}
dev() {
default_dev
replaces="php-dev"
- depends="$depends $pkgname $pkgname-pear"
+ depends="$depends $pkgname=$pkgver-r$pkgrel $pkgname-pear"
- mkdir -p "$subpkgdir"/usr/bin \
- "$subpkgdir"/$_libdir || return 1
+ cd "$pkgdir"
- mv "$pkgdir"/usr/bin/php-config$_suffix \
- "$pkgdir"/usr/bin/phpize$_suffix \
- "$subpkgdir"/usr/bin/ || return 1
+ _mv usr/bin/php-config$_suffix \
+ usr/bin/phpize$_suffix \
+ "$subpkgdir"/usr/bin/
- mv "$pkgdir"/$_libdir/build \
- "$subpkgdir"/$_libdir/ || return 1
+ _mv ./$_libdir/build "$subpkgdir"/$_libdir/
ln -s phpize$_suffix "$subpkgdir"/usr/bin/phpize
ln -s php-config$_suffix "$subpkgdir"/usr/bin/php-config
@@ -285,129 +395,121 @@ dev() {
doc() {
default_doc
- mkdir -p "$subpkgdir"/usr/share/doc/$pkgname
+ cd "$builddir"
- local file
- for file in CODING_STANDARDS CREDITS EXTENSIONS INSTALL LICENSE NEWS README* UPGRADING*; do
- cp "$builddir"/$file "$subpkgdir"/usr/share/doc/$pkgname/ || return 1
- done
+ mkdir -p "$subpkgdir"/usr/share/doc/$pkgname
+ cp CODING_STANDARDS CREDITS EXTENSIONS INSTALL LICENSE NEWS \
+ README* UPGRADING* \
+ "$subpkgdir"/usr/share/doc/$pkgname/
}
apache2() {
- pkgdesc="PHP Module for Apache2"
- depends="$pkgname-common apache2"
+ pkgdesc="PHP$_suffix Module for Apache2"
+ depends="$depends apache2"
- install -D -m755 "$builddir"/sapi/apache2handler/mod_php$_suffix.so \
- "$subpkgdir"/usr/lib/apache2/mod_php$_suffix.so || return 1
+ install -D -m 755 "$builddir"/sapi/apache2handler/mod_php$_suffix.so \
+ "$subpkgdir"/usr/lib/apache2/mod_php$_suffix.so
- install -D -m644 "$srcdir"/php$_suffix-module.conf \
+ install -D -m 644 "$srcdir"/php$_suffix-module.conf \
"$subpkgdir"/etc/apache2/conf.d/php$_suffix-module.conf
}
phpdbg() {
- pkgdesc="Interactive PHP debugger"
- depends="$pkgname-common"
+ pkgdesc="Interactive PHP$_suffix debugger"
install -Dm755 "$builddir"/sapi/phpdbg/phpdbg \
"$subpkgdir"/usr/bin/phpdbg$_suffix
}
embed() {
- pkgdesc="PHP Embedded Library"
- depends="$pkgname-common"
+ pkgdesc="PHP$_suffix Embedded Library"
- mkdir -p "$subpkgdir"/usr/lib
- mv "$pkgdir"/usr/lib/libphp*.so "$subpkgdir"/usr/lib/
+ _mv "$pkgdir"/usr/lib/libphp*.so "$subpkgdir"/usr/lib/
}
litespeed() {
- pkgdesc="PHP LiteSpeed SAPI"
- depends="$pkgname-common"
+ pkgdesc="PHP$_suffix LiteSpeed SAPI"
mkdir -p "$subpkgdir"/usr/bin
mv "$pkgdir"/usr/bin/lsphp "$subpkgdir"/usr/bin/lsphp$_suffix
}
cgi() {
- pkgdesc="PHP Common Gateway Interface"
- depends="$pkgname-common"
+ pkgdesc="PHP$_suffix Common Gateway Interface"
- mkdir -p "$subpkgdir"/usr/bin
- mv "$pkgdir"/usr/bin/php-cgi$_suffix "$subpkgdir"/usr/bin/
+ _mv "$pkgdir"/usr/bin/php-cgi$_suffix "$subpkgdir"/usr/bin/
ln -s php-cgi$_suffix "$subpkgdir"/usr/bin/php-cgi
}
fpm() {
- pkgdesc="PHP FastCGI Process Manager"
- depends="$pkgname-common"
-
- mv "$pkgdir"/var "$subpkgdir"/ || return 1
+ pkgdesc="PHP$_suffix FastCGI Process Manager"
- mkdir -p "$subpkgdir"/etc/$pkgname \
- "$subpkgdir"/usr \
- "$subpkgdir"/var/lib \
- "$subpkgdir"/var/log/$pkgname
+ cd "$pkgdir"
- mv "$pkgdir"/usr/share/$pkgname/fpm "$subpkgdir"/var/lib/$pkgname/ || return 1
- mv "$pkgdir"/usr/sbin "$subpkgdir"/usr/ || return 1
- mv "$pkgdir"/etc/$pkgname/php-fpm* "$subpkgdir"/etc/$pkgname/ || return 1
+ _mv var "$subpkgdir"/
+ _mv usr/share/$pkgname/fpm "$subpkgdir"/var/lib/$pkgname/
+ _mv usr/sbin "$subpkgdir"/usr/
+ _mv etc/$pkgname/php-fpm* "$subpkgdir"/etc/$pkgname/
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
+ "$subpkgdir"/etc/$pkgname/$file
done
- install -D -m755 "$srcdir"/$pkgname-fpm.initd \
- "$subpkgdir"/etc/init.d/php-fpm$_suffix || return 1
- install -D -m644 "$srcdir"/$pkgname-fpm.logrotate \
+ install -D -m 755 "$srcdir"/$pkgname-fpm.initd \
+ "$subpkgdir"/etc/init.d/php-fpm$_suffix
+
+ install -D -m 644 "$srcdir"/$pkgname-fpm.logrotate \
"$subpkgdir"/etc/logrotate.d/php-fpm$_suffix
+
+ mkdir -p "$subpkgdir"/var/log/$pkgname
}
pear() {
- pkgdesc="PHP Extension and Application Repository"
+ pkgdesc="PHP$_suffix Extension and Application Repository"
depends="$pkgname $pkgname-xml"
+ cd "$pkgdir"
+
# pecl needs xml extension and since we build it as shared, it must be
# explicitly declared to be loaded.
- sed -i 's/\$INCARG/& -d extension=xml.so/' \
- "$pkgdir"/usr/bin/pecl || return 1
-
- mkdir -p "$subpkgdir"/usr/bin \
- "$subpkgdir"/etc/$pkgname
+ sed -i 's/\$INCARG/& -d extension=xml.so/' usr/bin/pecl
+ mkdir -p "$subpkgdir"/usr/bin
local file; for file in pecl pear peardev; do
- mv "$pkgdir"/usr/bin/$file "$subpkgdir"/usr/bin/$file$_suffix
+ mv usr/bin/$file "$subpkgdir"/usr/bin/$file$_suffix
done
- mv "$pkgdir"/etc/$pkgname/pear.conf "$subpkgdir"/etc/$pkgname/ || return 1
- mv "$pkgdir"/usr/share "$subpkgdir"/usr/
+
+ _mv etc/$pkgname/pear.conf "$subpkgdir"/etc/$pkgname/
+ _mv usr/share "$subpkgdir"/usr/
}
common() {
pkgdesc="$pkgdesc (common config)"
depends=""
- mkdir -p "$subpkgdir"/usr
- mv "$pkgdir"/usr/lib "$subpkgdir"/usr/ || return 1
- mv "$pkgdir"/etc "$subpkgdir"/ || return 1
+ cd "$pkgdir"
+ _mv usr/lib "$subpkgdir"/usr/
+ _mv etc "$subpkgdir"/
mkdir -p "$subpkgdir"/$_extension_confd
}
phar() {
- _package_ext || return 1
+ _extension
- mkdir -p "$subpkgdir"/usr/bin
+ cd "$pkgdir"
- mv "$pkgdir"/usr/bin/phar.phar \
- "$subpkgdir"/usr/bin/phar.phar$_suffix || return 1
+ _mv usr/bin/phar.phar \
+ "$subpkgdir"/usr/bin/phar.phar$_suffix
- rm "$pkgdir"/usr/bin/phar
+ rm usr/bin/phar
ln -s phar.phar$_suffix "$subpkgdir"/usr/bin/phar$_suffix
}
-_package_ext() {
+_extension() {
local extname="${subpkgname#$pkgname-}"
- local extdepends="$(eval "echo \$depends_$extname")"
+ local extdepends="$(eval "echo \$_depends_$extname")"
pkgdesc="PHP$_suffix extension: $extname"
: ${extdepends:=$(_resolve_extension_deps "$extname")}
@@ -422,18 +524,16 @@ _package_ext() {
local prefix=
[ "$extname" != "opcache" ] || prefix="zend_"
- mkdir -p "$subpkgdir"/$_extension_dir \
- "$subpkgdir"/$_extension_confd
-
- mv "$pkgdir"/$_extension_dir/$extname.so \
- "$subpkgdir"/$_extension_dir/ || return 1
+ _mv "$pkgdir"/$_extension_dir/$extname.so \
+ "$subpkgdir"/$_extension_dir/
+ mkdir -p "$subpkgdir"/$_extension_confd
echo "${prefix}extension=$extname.so" \
> "$subpkgdir"/$_extension_confd/$(printf %02d $index)_$extname.ini
}
# Resolves dependencies of the given extension name (without $pkgname- prefix)
-# on other extensions in $_exts and prints them with $pkgname- prefix.
+# on other extensions in $_extensions and prints them with $pkgname- prefix.
_resolve_extension_deps() {
local name="$1"
@@ -446,24 +546,30 @@ _resolve_extension_deps() {
| tr -d "'," | tr ' ' '\n' \
| sort -u \
| while read dep; do
- if echo "$_exts" | grep -qw "$dep"; then
+ if echo "$_extensions" | grep -qw "$dep"; then
echo "$pkgname-$dep"
fi
done
}
-# Prints _exts sorted by number of dependencies.
+# Prints $_extensions sorted by number of dependencies.
_extensions_by_deps_order() {
local deps list name
- for name in $_exts; do
- deps=$(eval "echo \$depends_$name")
+ for name in $_extensions; do
+ deps=$(eval "echo \$_depends_$name")
: ${deps:=$(_resolve_extension_deps $name)}
list="$list $(echo "$deps" | wc -w);$name"
done
printf '%s\n' $list | sort -t ';' -k 1 | sed -E 's/\d+;//'
}
+_mv() {
+ local dest; for dest; do true; done # get last argument
+ mkdir -p "$dest"
+ mv $@
+}
+
sha512sums="a1dd5ffd756176e6ba600dd850510033d0d6f07aff314de69fec0c42437e6a006449e3f4f98679146a2f2645caa65ea351e31a8e1da7c14cc5260856ad40eaff php-7.1.4.tar.bz2
1c708de82d1086f272f484faf6cf6d087af7c31750cc2550b0b94ed723961b363f28a947b015b2dfc0765caea185a75f5d2c2f2b099c948b65c290924f606e4f php7-fpm.initd
cacce7bf789467ff40647b7319e3760c6c587218720538516e8d400baa75651f72165c4e28056cd0c1dc89efecb4d00d0d7823bed80b29136262c825ce816691 php7-fpm.logrotate