mirror of
https://gitlab.alpinelinux.org/alpine/aports.git
synced 2025-10-09 22:41:09 +02:00
446 lines
13 KiB
Plaintext
446 lines
13 KiB
Plaintext
# Contributor: Valery Kartel <valery.kartel@gmail.com>
|
|
# Maintainer: Valery Kartel <valery.kartel@gmail.com>
|
|
pkgname=php7
|
|
pkgver=7.1.3
|
|
pkgrel=1
|
|
_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"
|