void-packages/srcpkgs/php/template
2017-12-05 12:19:52 +01:00

314 lines
7.3 KiB
Bash

# Template build file for 'php'
pkgname=php
version=7.2.0
revision=1
short_desc="An HTML-embedded scripting language"
maintainer="Steve Prybylski <sa.prybylx@gmail.com>"
license="PHP"
homepage="http://www.php.net"
hostmakedepends="pkg-config bison"
makedepends="postgresql-libs-devel libldap-devel sqlite-devel
unixodbc-devel freetds-devel net-snmp-devel libzip-devel enchant-devel
libsodium-devel libltdl-devel libpng-devel libjpeg-turbo-devel icu-devel
libcurl-devel libxslt-devel libressl-devel bzip2-devel zlib-devel db-devel
gmp-devel gdbm-devel freetype-devel apache-devel libtidy5-devel
readline-devel libmysqlclient-devel"
conf_files="/etc/php/php.ini"
distfiles="http://www.php.net/distributions/php-${version}.tar.xz"
checksum=87572a6b924670a5d4aac276aaa4a94321936283df391d702c845ffc112db095
# Needs (probably a lot of) work to make it cross compile
nocross="https://build.voidlinux.eu/builders/armv7l-musl_builder/builds/16307/steps/shell_3/logs/stdio"
# Package build options
lib32disabled=yes
do_build() {
local _phpconfig="--srcdir=.. \
--config-cache \
--prefix=/usr \
--sbindir=/usr/bin \
--sysconfdir=/etc/php \
--localstatedir=/var \
--with-layout=GNU \
--with-config-file-path=/etc/php \
--with-config-file-scan-dir=/etc/php/conf.d \
--disable-rpath \
--mandir=/usr/share/man \
--with-pear=/usr/share/pear \
"
local _phpextensions="--enable-bcmath=shared \
--enable-calendar=shared \
--enable-exif=shared \
--enable-ftp=shared \
--enable-intl=shared \
--enable-mbstring \
--enable-opcache \
--enable-pcntl \
--enable-phar=shared \
--enable-posix=shared \
--enable-shmop=shared \
--enable-soap=shared \
--enable-sockets=shared \
--enable-sysvmsg=shared \
--enable-sysvsem=shared \
--enable-sysvshm=shared \
--enable-zip=shared \
--enable-mysqlnd \
--with-bz2=shared \
--with-curl=shared \
--with-db4=/usr \
--with-enchant=shared,/usr \
--with-freetype-dir=/usr \
--with-gd=shared \
--with-gdbm \
--with-gettext=shared \
--with-gmp=shared \
--with-iconv=shared \
--with-icu-dir=/usr \
--with-jpeg-dir=/usr \
--with-ldap=shared \
--with-ldap-sasl \
--with-sodium=shared \
--with-mhash \
--with-mysql-sock=/run/mysqld/mysqld.sock \
--with-mysqli=shared,mysqlnd \
--with-openssl=shared \
--with-pcre-regex=/usr \
--with-pdo-mysql=shared,mysqlnd \
--with-pdo-odbc=shared,unixODBC,/usr \
--with-pdo-pgsql=shared \
--with-pdo-sqlite=shared,/usr \
--with-pgsql=shared \
--with-png-dir=/usr \
--with-readline \
--with-snmp=shared \
--with-sqlite3=shared,/usr \
--with-unixODBC=shared,/usr \
--with-xmlrpc=shared \
--with-xsl=shared \
--with-tidy=shared \
--with-zlib \
${configure_args} \
"
EXTENSION_DIR=/usr/lib/php/modules
export EXTENSION_DIR
PEAR_INSTALLDIR=/usr/share/pear
export PEAR_INSTALLDIR
# cgi,cli,embed,fcgi,fpm
mkdir -p build
cd build
ln -s ${wrksrc}/configure
./configure ${_phpconfig} \
--enable-cgi \
--enable-fpm \
--with-fpm-user=http \
--with-fpm-group=http \
--enable-embed=shared \
${_phpextensions}
make ${makejobs}
# apache
# reuse the previous run; this will save us a lot of time
cp -a ${wrksrc}/build ${wrksrc}/build-apache
cd ${wrksrc}/build-apache
./configure ${_phpconfig} \
--with-apxs2 \
${_phpextensions}
make ${makejobs}
}
do_install() {
cd ${wrksrc}/build
make INSTALL_ROOT=${DESTDIR} install-{modules,cli,build,headers,programs,pharcmd}
# install php.ini
vinstall ${wrksrc}/php.ini-production 644 etc/php php.ini
# remove static modules
rm -f ${DESTDIR}/usr/lib/php/modules/*.a
}
php-devel_package() {
short_desc+=" - development files"
pkg_install() {
vmove usr/include
vmove usr/lib/php/build
vmove usr/bin/php-config
vmove usr/bin/phpize
vmove usr/share/man/man1/phpize.1
vmove usr/share/man/man1/php-config.1
}
}
php-phpdbg_package() {
short_desc+=" - interactive debugger"
depends="php-${version}_${revision}"
pkg_install() {
cd ${wrksrc}/build
make INSTALL_ROOT=${PKGDESTDIR} install-phpdbg
}
}
php-cgi_package() {
short_desc+=' - CGI and FCGI SAPI'
depends="php-${version}_${revision}"
pkg_install() {
cd ${wrksrc}/build
make INSTALL_ROOT=${PKGDESTDIR} install-cgi
}
}
php-apache_package() {
short_desc+=' - Apache SAPI'
depends="php-${version}_${revision}"
conf_files="/etc/apache/extra/php7_module.conf"
pkg_install() {
vinstall ${wrksrc}/build-apache/libs/libphp7.so 755 usr/libexec/httpd/modules
vinstall ${FILESDIR}/apache.conf 644 etc/apache/extra php7_module.conf
}
}
php-fpm_package() {
short_desc+=' - FastCGI Process Manager'
depends="php-${version}_${revision}"
conf_files="/etc/php/php-fpm.conf /etc/php/php-fpm.d/*"
pkg_install() {
cd ${wrksrc}/build
make INSTALL_ROOT=${PKGDESTDIR} install-fpm
vsv php-fpm
}
}
php-embed_package() {
lib32disabled=yes
depends="php-${version}_${revision}"
short_desc+=' - Embed SAPI'
pkg_install() {
cd ${wrksrc}/build
make INSTALL_ROOT=${PKGDESTDIR} PHP_SAPI=embed install-sapi
}
}
php-pear_package() {
lib32disabled=yes
depends="php-${version}_${revision}"
short_desc+=' - PHP Extension and Application Repository'
conf_files="/etc/php/pear.conf"
pkg_install() {
cd ${wrksrc}/build
make install-pear INSTALL_ROOT=${PKGDESTDIR}
rm -rf ${PKGDESTDIR}/.{channels,depdb,depdblock,filemap,lock,registry}
rm -rf ${PKGDESTDIR}/usr/share/pear/.{channels,depdb,depdblock,filemap,lock,registry}
}
}
php-enchant_package() {
lib32disabled=yes
depends="php-${version}_${revision}"
short_desc+=' - enchant module'
pkg_install() {
vmove usr/lib/php/modules/enchant.so
}
}
php-gd_package() {
lib32disabled=yes
depends="php-${version}_${revision}"
short_desc+=' - gd module'
pkg_install() {
vmove usr/lib/php/modules/gd.so
}
}
php-intl_package() {
lib32disabled=yes
depends="php-${version}_${revision}"
short_desc+=' - Internationalization module'
pkg_install() {
vmove usr/lib/php/modules/intl.so
}
}
php-ldap_package() {
lib32disabled=yes
depends="php-${version}_${revision}"
short_desc+=' - LDAP module'
pkg_install() {
vmove usr/lib/php/modules/ldap.so
}
}
php-mysql_package() {
lib32disabled=yes
depends="php-${version}_${revision}"
short_desc+=' - MySQL modules'
pkg_install() {
vmove "usr/lib/php/modules/*mysql*.so"
}
}
php-odbc_package() {
lib32disabled=yes
depends="php-${version}_${revision}"
short_desc+=' - ODBC modules'
pkg_install() {
vmove "usr/lib/php/modules/*odbc.so"
}
}
php-pgsql_package() {
lib32disabled=yes
depends="php-${version}_${revision}"
short_desc+=' - PostgreSQL modules'
pkg_install() {
vmove "usr/lib/php/modules/*pgsql.so"
}
}
php-snmp_package() {
lib32disabled=yes
depends="php-${version}_${revision}"
short_desc+=' - snmp module'
pkg_install() {
vmove usr/lib/php/modules/snmp.so
}
}
php-sqlite_package() {
lib32disabled=yes
depends="php-${version}_${revision}"
short_desc+=' - sqlite module'
pkg_install() {
vmove "usr/lib/php/modules/*sqlite*.so"
}
}
php-tidy_package() {
lib32disabled=yes
depends="php-${version}_${revision}"
short_desc+=' - tidy HTML module'
pkg_install() {
vmove "usr/lib/php/modules/*tidy*.so"
}
}
php-xsl_package() {
lib32disabled=yes
depends="php-${version}_${revision}"
short_desc+=' - XSL module'
pkg_install() {
vmove usr/lib/php/modules/xsl.so
}
}
php-sodium_package() {
lib32disabled=yes
depends="php-${version}_${revision}"
short_desc+=' - sodium module'
pkg_install() {
vmove usr/lib/php/modules/sodium.so
}
}