# Template file for 'php' pkgname=php version=7.4.14 revision=7 hostmakedepends="bison pkg-config apache-devel" makedepends="apache-devel enchant2-devel freetds-devel freetype-devel gdbm-devel gmp-devel libcurl-devel libjpeg-turbo-devel libmariadbclient-devel libsodium-devel libtidy5-devel libxslt-devel libzip-devel net-snmp-devel postgresql-libs-devel readline-devel sqlite-devel unixodbc-devel pcre2-devel libffi-devel oniguruma-devel gd-devel" short_desc="HTML-embedded scripting language" maintainer="Steve Prybylski " license="PHP-3.01" homepage="https://www.php.net" distfiles="http://www.php.net/distributions/php-${version}.tar.xz" checksum=f9f3c37969fcd9006c1dbb1dd76ab53f28c698a1646fa2dde8547c3f45e02886 conf_files="/etc/php/php.ini" lib32disabled=yes replaces="php-mcrypt<7.2.0" if [ -n "$CROSS_BUILD" ]; then # php-pear needs php to build hostmakedepends+=" php" CFLAGS+=" -DHAVE_LIBDL -DHAVE_DLOPEN -DHAVE_DLSYM -DHAVE_SHM_IPC -DHAVE_SHM_MMAP_ANON -DHAVE_SHM_MMAP_ZERO -DHAVE_SHM_MMAP_POSIX -DHAVE_SHM_MMAP_FILE" 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 \ --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-mysqlnd \ --enable-gd=shared \ --with-external-gd \ --with-zip=shared \ --with-ffi=shared \ --with-bz2=shared,$XBPS_CROSS_BASE/usr/ \ --with-curl=shared \ --with-db4=$XBPS_CROSS_BASE/usr \ --with-enchant=shared,$XBPS_CROSS_BASE/usr \ --with-freetype-dir=$XBPS_CROSS_BASE/usr \ --with-gdbm=$XBPS_CROSS_BASE/usr \ --with-gettext=shared \ --with-gmp=shared \ --with-iconv=shared \ --with-icu-dir=$XBPS_CROSS_BASE/usr \ --with-jpeg-dir=$XBPS_CROSS_BASE/usr \ --with-ldap=shared,$XBPS_CROSS_BASE/usr \ --with-ldap-sasl \ --with-libzip \ --with-sodium=shared \ --with-mhash \ --with-mysql-sock=/run/mysqld/mysqld.sock \ --with-mysqli=shared,mysqlnd \ --with-openssl=shared \ --with-pcre-regex=$XBPS_CROSS_BASE/usr \ --with-pdo-mysql=shared,mysqlnd \ --with-pdo-odbc=shared,unixODBC,$XBPS_CROSS_BASE/usr \ --with-pdo-pgsql=shared,$XBPS_CROSS_BASE/usr \ --with-pdo-sqlite=shared,$XBPS_CROSS_BASE/usr \ --with-pgsql=shared,$XBPS_CROSS_BASE/usr \ --with-png-dir=$XBPS_CROSS_BASE/usr \ --with-readline=$XBPS_CROSS_BASE/usr \ --with-snmp=shared,$XBPS_CROSS_BASE/usr \ --with-sqlite3=shared,$XBPS_CROSS_BASE/usr \ --with-unixODBC=shared,$XBPS_CROSS_BASE/usr \ --with-xsl=shared,$XBPS_CROSS_BASE/usr \ --with-tidy=shared,$XBPS_CROSS_BASE/usr \ --with-zlib \ ${configure_args} \ " if [ -n "$CROSS_BUILD" ]; then local _make_env="PHAR_PHP=/usr/bin/php PHAR_PHP_MODULES=/usr/lib/php/modules" fi EXTENSION_DIR=/usr/lib/php/modules export EXTENSION_DIR PEAR_INSTALLDIR=/usr/share/pear export PEAR_INSTALLDIR EXTRA_LIBS="-ldl" export EXTRA_LIBS # cgi,cli,embed,fcgi,fpm mkdir -p build cd build ln -s ${wrksrc}/configure ./configure ${_phpconfig} \ --host=${XBPS_CROSS_TRIPLET} \ --enable-cgi \ --enable-fpm \ --with-fpm-user=http \ --with-fpm-group=http \ --enable-embed=shared \ ${_phpextensions} make ${makejobs} ${_make_env} # 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} \ --host=${XBPS_CROSS_TRIPLET} \ --with-apxs2 \ ${_phpextensions} make ${makejobs} ${_make_env} } do_install() { cd ${wrksrc}/build local _env="INSTALL_ROOT=${DESTDIR}" if [ -n "$CROSS_BUILD" ]; then _env+=" PHAR_PHP=/usr/bin/php" fi make ${_env} 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 local _env="INSTALL_ROOT=${PKGDESTDIR}" if [ -n "$CROSS_BUILD" ]; then _env+=" PEAR_PHP=/usr/bin/php" fi make install-pear ${_env} 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 } } php-ffi_package() { lib32disabled=yes depends="php-${version}_${revision}" short_desc+=' - FFI module' pkg_install() { vmove usr/lib/php/modules/ffi.so } }