# Template build file for 'php' pkgname=php version=5.5.14 revision=3 lib32disabled=yes short_desc="An HTML-embedded scripting language" license="PHP" homepage="http://www.php.net" # XXX freetds, mssql and tidy modules. hostmakedepends="pkg-config bison" makedepends="postgresql-libs-devel libldap-devel libvpx-devel sqlite-devel unixodbc-devel net-snmp-devel libzip-devel enchant-devel libmcrypt-devel aspell-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 readline-devel>=6.3 libmysqlclient-devel" conf_files="/etc/php/php.ini" distfiles="http://www.php.net/distributions/php-${version}.tar.gz" checksum=ef7e4f4942c5767e01b96650a5bd4178c663738436f99b5695c3144732ff7166 # Package build options build_options="systemd" if [ "$build_option_systemd" ]; then configure_args+=" --with-fpm-systemd" makedepends+=" systemd-devel" else configure_args+=" --without-fpm-systemd" fi 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 \ --without-pear \ " local _phpextensions="--enable-bcmath=shared \ --enable-calendar=shared \ --enable-exif=shared \ --enable-ftp=shared \ --enable-gd-native-ttf \ --enable-intl=shared \ --enable-mbstring \ --enable-opcache \ --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 \ --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-vpx-dir=/usr \ --with-ldap=shared \ --with-ldap-sasl \ --with-mcrypt=shared \ --with-mhash \ --with-mysql-sock=/run/mysqld/mysqld.sock \ --with-mysql=shared,mysqlnd \ --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-pspell=shared \ --with-snmp=shared \ --with-sqlite3=shared,/usr \ --with-unixODBC=shared,/usr \ --with-xmlrpc=shared \ --with-xsl=shared \ --with-zlib \ ${configure_args} \ " EXTENSION_DIR=/usr/lib/php/modules export EXTENSION_DIR PEAR_INSTALLDIR=/usr/share/pear export PEAR_INSTALLDIR # php mkdir -p build-php cd build-php ln -s ${wrksrc}/configure ./configure ${_phpconfig} \ --disable-cgi \ --with-readline \ --enable-pcntl \ ${_phpextensions} make ${makejobs} # cgi and fcgi # reuse the previous run; this will save us a lot of time cp -a ${wrksrc}/build-php ${wrksrc}/build-cgi cd ${wrksrc}/build-cgi ./configure ${_phpconfig} \ --disable-cli \ --enable-cgi \ ${_phpextensions} make ${makejobs} # apache cp -a ${wrksrc}/build-php ${wrksrc}/build-apache cd ${wrksrc}/build-apache ./configure ${_phpconfig} \ --disable-cli \ --with-apxs2 \ ${_phpextensions} make ${makejobs} # fpm cp -a ${wrksrc}/build-php ${wrksrc}/build-fpm cd ${wrksrc}/build-fpm ./configure ${_phpconfig} \ --disable-cli \ --enable-fpm \ --with-fpm-user=http \ --with-fpm-group=http \ ${_phpextensions} make ${makejobs} # embed cp -a ${wrksrc}/build-php ${wrksrc}/build-embed cd ${wrksrc}/build-embed ./configure ${_phpconfig} \ --disable-cli \ --enable-embed=shared \ ${_phpextensions} make ${makejobs} # pear cp -a ${wrksrc}/build-php ${wrksrc}/build-pear cd ${wrksrc}/build-pear ./configure ${_phpconfig} \ --disable-cgi \ --with-readline \ --enable-pcntl \ --with-pear \ ${_phpextensions} make ${makejobs} } do_install() { cd ${wrksrc}/build-php make INSTALL_ROOT=${DESTDIR} install # 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-cgi_package() { short_desc+=' - CGI and FCGI SAPI' depends="php-${version}_${revision}" pkg_install() { vinstall ${wrksrc}/build-cgi/sapi/cgi/php-cgi 755 usr/bin } } php-apache_package() { short_desc+=' - Apache SAPI' depends="php-${version}_${revision}" conf_files="/etc/httpd/conf/extra/php5_module.conf" pkg_install() { vinstall ${wrksrc}/build-apache/libs/libphp5.so 755 usr/libexec/httpd/modules vinstall ${FILESDIR}/apache.conf 644 etc/httpd/conf/extra php5_module.conf } } php-fpm_package() { short_desc+=' - FastCGI Process Manager' depends="php-${version}_${revision}" conf_files="/etc/php/php-fpm.conf" make_dirs="/etc/php/fpm.d 0755 root root" pkg_install() { vinstall ${wrksrc}/build-fpm/sapi/fpm/php-fpm 755 usr/bin vinstall ${wrksrc}/build-fpm/sapi/fpm/php-fpm.8 644 usr/share/man/man8 vinstall ${wrksrc}/build-fpm/sapi/fpm/php-fpm.conf 644 etc/php if [ "$build_option_systemd" ]; then vinstall ${FILESDIR}/php-fpm.tmpfiles 644 usr/lib/tmpfiles.d php-fpm.conf vinstall ${FILESDIR}/php-fpm.service 644 usr/lib/systemd/system fi } } php-embed_package() { lib32disabled=yes depends="php-${version}_${revision}" short_desc+=' - Embed SAPI' pkg_install() { vinstall ${wrksrc}/build-embed/libs/libphp5.so 755 usr/lib vinstall ${wrksrc}/sapi/embed/php_embed.h 644 usr/include/php/sapi/embed } } 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-pear 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-mcrypt_package() { lib32disabled=yes depends="php-${version}_${revision}" short_desc+=' - mcrypt module' pkg_install() { vmove usr/lib/php/modules/mcrypt.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-pspell_package() { lib32disabled=yes depends="php-${version}_${revision}" short_desc+=' - pspell module' pkg_install() { vmove usr/lib/php/modules/pspell.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-xsl_package() { lib32disabled=yes depends="php-${version}_${revision}" short_desc+=' - XSL module' pkg_install() { vmove usr/lib/php/modules/xsl.so } }