Hello ports@,
This patch shouldn't cause any change in the resulting packages, but
merely prepare for adding additional SAPIs with minimal effor. E.g.
php-dbg, or separating other sapi's from main.
The MODULE_NAME isn't referenced anywhere and since -cgi isn't
assigned it anywhere, but would be assigned it with this diff, I
just removed it completely.
Also opcache is always included now, so just make it's availability
explicit. The changes below also allow for easily moving opcache to
a subpackage if we so desire. (Hint: I do)
OK?
martijn@
Index: Makefile.inc
===================================================================
RCS file: /cvs/ports/lang/php/Makefile.inc,v
retrieving revision 1.102
diff -u -p -r1.102 Makefile.inc
--- Makefile.inc 1 Mar 2018 10:15:02 -0000 1.102
+++ Makefile.inc 16 Mar 2018 09:11:47 -0000
@@ -3,10 +3,8 @@
BROKEN-hppa= no __sync_bool_compare_and_swap support nor asm fallback
COMMENT-main= server-side HTML-embedded scripting language
-COMMENT-cgi= cgi sapi for php
PKGNAME-main?= php-${V}
-PKGNAME-cgi?= php-cgi-${V}
DISTFILES+= php-${V}.tar.bz2
@@ -90,6 +88,7 @@ CONFIGURE_ARGS+= --with-openssl \
--enable-calendar \
--enable-ctype \
--enable-ftp \
+ --enable-opcache \
--with-pcre-regex \
--enable-sockets \
--enable-sysvmsg \
@@ -97,7 +96,6 @@ CONFIGURE_ARGS+= --with-openssl \
--enable-sysvshm \
--enable-mbstring \
--enable-exif \
- --enable-cgi \
--enable-fpm \
--with-fpm-user=www \
--with-fpm-group=www
@@ -105,35 +103,63 @@ CONFIGURE_ARGS+= --with-openssl \
TEST_TARGET= test
TEST_FLAGS= NO_INTERACTION=1
-MULTI_PACKAGES+= -main -cgi
+MULTI_PACKAGES+= -main
+
+# SAPIs
+MULTI_PACKAGES+= -cgi
+
+# Extensions
+
+PHP_ZEND_EXTENSIONS+= -opcache
+
+MULTI_PACKAGES+= ${PHP_EXTENSIONS}
+#MULTI_PACKAGES+= ${PHP_ZEND_EXTENSIONS}
+
+# SAPIs
+
+WANTLIBSAPI+= c crypto iconv intl lzma m pthread ssl xml2>=8 z \
+ curses readline ${COMPILER_LIBCXX}
+LIB_DEPENDSSAPI= devel/gettext \
+ textproc/libxml
+
+WANTLIB-main= ${WANTLIBSAPI}
+LIB_DEPENDS-main= ${LIB_DEPENDSSAPI}
+RUN_DEPENDS-main= mail/femail,-chroot
+
+# cgi
+COMMENT-cgi= cgi sapi for php
+CONFIGURE_ARGS+= --enable-cgi
+WANTLIB-cgi= ${WANTLIBSAPI}
+LIB_DEPENDS-cgi= ${LIB_DEPENDSSAPI}
+
#
# Loadable php extensions by name that are included in all versions
#
# bz2
-MULTI_PACKAGES+= -bz2
+PHP_EXTENSIONS+= -bz2
COMMENT-bz2= bzip2 compression extensions for php
CONFIGURE_ARGS+= --with-bz2=shared,${LOCALBASE}
LIB_DEPENDS-bz2= archivers/bzip2
WANTLIB-bz2= bz2>=10 pthread
# curl
-MULTI_PACKAGES+= -curl
+PHP_EXTENSIONS+= -curl
COMMENT-curl= curl URL library extensions for php
CONFIGURE_ARGS+= --with-curl=shared,${LOCALBASE}
LIB_DEPENDS-curl= net/curl
WANTLIB-curl= pthread crypto nghttp2 ssl z curl>=2
# dba
-MULTI_PACKAGES+= -dba
+PHP_EXTENSIONS+= -dba
COMMENT-dba= dba GDBM access extensions for php
CONFIGURE_ARGS+= --enable-dba=shared --with-gdbm=${LOCALBASE}
LIB_DEPENDS-dba= databases/gdbm
WANTLIB-dba= gdbm>=2 pthread
# gd
-MULTI_PACKAGES+= -gd
+PHP_EXTENSIONS+= -gd
COMMENT-gd= image manipulation extensions for php
LIB_DEPENDS-gd= graphics/jpeg \
graphics/png
@@ -151,14 +177,14 @@ CONFIGURE_ARGS+= --with-gd=shared \
--with-xpm-dir=${X11BASE}
# gmp
-MULTI_PACKAGES+= -gmp
+PHP_EXTENSIONS+= -gmp
COMMENT-gmp= gmp math library support for php
CONFIGURE_ARGS+= --with-gmp=shared,${LOCALBASE}
LIB_DEPENDS-gmp= devel/gmp
WANTLIB-gmp= gmp>=4 pthread
# intl
-MULTI_PACKAGES+= -intl
+PHP_EXTENSIONS+= -intl
COMMENT-intl= intl library support for php
CONFIGURE_ARGS+= --enable-intl=shared \
--with-icu-dir=${LOCALBASE}
@@ -167,7 +193,7 @@ RUN_DEPENDS-intl= textproc/icu4c,-wwwdat
WANTLIB-intl= ${COMPILER_LIBCXX} icudata icui18n icuio icuuc m pthread
# imap
-MULTI_PACKAGES+= -imap
+PHP_EXTENSIONS+= -imap
COMMENT-imap= imap, pop3 and nntp extensions for php
CONFIGURE_ARGS+= --with-imap=shared,${LOCALBASE} \
--with-imap-ssl
@@ -175,126 +201,126 @@ LIB_DEPENDS-imap= mail/alpine,-c-client
WANTLIB-imap= pthread crypto ssl c-client>=5
# ldap
-MULTI_PACKAGES+= -ldap
+PHP_EXTENSIONS+= -ldap
COMMENT-ldap= ldap protocol extensions for php
CONFIGURE_ARGS+= --with-ldap=shared,${LOCALBASE}
LIB_DEPENDS-ldap= databases/openldap
WANTLIB-ldap= pthread ldap>=2 lber
# mcrypt
-MULTI_PACKAGES+= -mcrypt
+PHP_EXTENSIONS+= -mcrypt
COMMENT-mcrypt= mcrypt encryption/decryption extensions for php
CONFIGURE_ARGS+= --with-mcrypt=shared,${LOCALBASE}
LIB_DEPENDS-mcrypt= security/libmcrypt devel/libtool,-ltdl
WANTLIB-mcrypt= mcrypt ltdl>=1 pthread
# mysqli
-MULTI_PACKAGES+= -mysqli
+PHP_EXTENSIONS+= -mysqli
COMMENT-mysqli= mysql database access extensions for php
CONFIGURE_ARGS+= --with-mysqli=shared,${LOCALBASE}/bin/mysql_config
LIB_DEPENDS-mysqli= databases/mariadb
WANTLIB-mysqli= crypto m pthread ssl z lib/mysql/mysqlclient
# odbc
-MULTI_PACKAGES+= -odbc
+PHP_EXTENSIONS+= -odbc
COMMENT-odbc= odbc database access extensions for php
CONFIGURE_ARGS+= --with-iodbc=shared,${LOCALBASE}
LIB_DEPENDS-odbc= databases/iodbc
WANTLIB-odbc= iodbc>=2 pthread iodbcinst
# pcntl
-MULTI_PACKAGES+= -pcntl
+PHP_EXTENSIONS+= -pcntl
COMMENT-pcntl= PCNTL extensions for php
CONFIGURE_ARGS+= --enable-pcntl=shared
LIB_DEPENDS-pcntl=
WANTLIB-pcntl= pthread
# pdo-mysql
-MULTI_PACKAGES+= -pdo_mysql
+PHP_EXTENSIONS+= -pdo_mysql
COMMENT-pdo_mysql= PDO mysql database access extensions for php
CONFIGURE_ARGS+= --with-pdo-mysql=shared,${LOCALBASE}
LIB_DEPENDS-pdo_mysql= databases/mariadb
WANTLIB-pdo_mysql= crypto m pthread ssl z lib/mysql/mysqlclient
# pdo-pgsql
-MULTI_PACKAGES+= -pdo_pgsql
+PHP_EXTENSIONS+= -pdo_pgsql
COMMENT-pdo_pgsql= PDO database access extensions for php
CONFIGURE_ARGS+= --with-pdo-pgsql=shared,${LOCALBASE}
LIB_DEPENDS-pdo_pgsql= databases/postgresql
WANTLIB-pdo_pgsql= pq>=2 pthread
# pgsql
-MULTI_PACKAGES+= -pgsql
+PHP_EXTENSIONS+= -pgsql
COMMENT-pgsql= pgsql database access extensions for php
CONFIGURE_ARGS+= --with-pgsql=shared,${LOCALBASE}
LIB_DEPENDS-pgsql= databases/postgresql
WANTLIB-pgsql= pq>=2 pthread
# pspell
-MULTI_PACKAGES+= -pspell
+PHP_EXTENSIONS+= -pspell
COMMENT-pspell= pspell library extensions for php
CONFIGURE_ARGS+= --with-pspell=shared,${LOCALBASE}
LIB_DEPENDS-pspell= textproc/aspell/core
WANTLIB-pspell= aspell>=16 pspell>=16 pthread
# shmop
-MULTI_PACKAGES+= -shmop
+PHP_EXTENSIONS+= -shmop
COMMENT-shmop= shared memory extensions for php
CONFIGURE_ARGS+= --enable-shmop=shared,${LOCALBASE}
LIB_DEPENDS-shmop=
WANTLIB-shmop= pthread
# soap
-MULTI_PACKAGES+= -soap
+PHP_EXTENSIONS+= -soap
COMMENT-soap= SOAP functions for php
CONFIGURE_ARGS+= --enable-soap=shared,${LOCALBASE}
LIB_DEPENDS-soap= textproc/libxml
WANTLIB-soap= iconv m pthread z xml2>=8 lzma
# snmp
-MULTI_PACKAGES+= -snmp
+PHP_EXTENSIONS+= -snmp
COMMENT-snmp= snmp protocol extensions for php
CONFIGURE_ARGS+= --with-snmp=shared,${LOCALBASE}
LIB_DEPENDS-snmp= net/net-snmp
WANTLIB-snmp= crypto m netsnmp>=6.2 pthread
# pdo-dblib
-MULTI_PACKAGES+= -pdo_dblib
+PHP_EXTENSIONS+= -pdo_dblib
COMMENT-pdo_dblib= PDO DB-LIB support for php
CONFIGURE_ARGS+= --with-pdo-dblib=shared,${LOCALBASE}
LIB_DEPENDS-pdo_dblib= databases/freetds
WANTLIB-pdo_dblib= sybdb>=6 pthread
# tidy
-MULTI_PACKAGES+= -tidy
+PHP_EXTENSIONS+= -tidy
COMMENT-tidy= tidy HTML cleaner bindings
CONFIGURE_ARGS+= --with-tidy=shared,${LOCALBASE}
LIB_DEPENDS-tidy= www/tidyp
WANTLIB-tidy= tidyp pthread
# xml-rpc
-MULTI_PACKAGES+= -xmlrpc
+PHP_EXTENSIONS+= -xmlrpc
COMMENT-xmlrpc= XML RPC functions for php
CONFIGURE_ARGS+= --with-xmlrpc=shared
LIB_DEPENDS-xmlrpc= textproc/libxml
WANTLIB-xmlrpc= iconv m z xml2>=8 pthread lzma
# xsl
-MULTI_PACKAGES+= -xsl
+PHP_EXTENSIONS+= -xsl
COMMENT-xsl= XSL functions for php
CONFIGURE_ARGS+= --with-xsl=shared --enable-dom
LIB_DEPENDS-xsl= textproc/libxslt
WANTLIB-xsl= m xml2 xslt>=3 exslt pthread
# zip
-MULTI_PACKAGES+= -zip
+PHP_EXTENSIONS+= -zip
COMMENT-zip= zip functions for php
CONFIGURE_ARGS+= --enable-zip=shared,${LOCALBASE}
LIB_DEPENDS-zip=
WANTLIB-zip= z pthread
# some variables to substitute
-SUBST_VARS= MODPHP_CONFIG_PATH SV PV ^MODULE_NAME
+SUBST_VARS= MODPHP_CONFIG_PATH SV PV
PHP_VERSION= ${V}
SV= ${PV:S/.//}
@@ -302,16 +328,6 @@ SV= ${PV:S/.//}
PHPXS_SUBST+= -e 's,${i},${${i}},'
.endfor
-WANTLIB-main+= c crypto iconv intl lzma m pthread ssl xml2>=8 z
-WANTLIB-main+= curses readline ${COMPILER_LIBCXX}
-
-WANTLIB-cgi= ${WANTLIB-main}
-LIB_DEPENDS-main= devel/gettext \
- textproc/libxml
-RUN_DEPENDS-main= mail/femail,-chroot
-LIB_DEPENDS-cgi= ${LIB_DEPENDS-main}
-RUN_DEPENDS-cgi= php-${V}:lang/php/${PV}
-
pre-fake:
${INSTALL_DATA_DIR} ${PREFIX}/${APACHE_MODULE_SUBDIR}/modules
@@ -325,8 +341,7 @@ pre-configure:
${WRKSRC}/scripts/phpize.in \
${WRKSRC}/scripts/php-config.in
-.for i in ${MULTI_PACKAGES:N-main:N-cgi:S/-//g}
-MODULE_NAME-${i}= ${i}
+.for i in ${MULTI_PACKAGES:N-main:S/-//g}
DESCR-${i}= ${.CURDIR}/../files/DESCR-${i}
PKGNAME-${i}= php-${i}-${V}
.if ${V:M5.6*}
@@ -338,7 +353,6 @@ RUN_DEPENDS-${i}+= php-${V}:lang/php/${P
.endfor
DESCR-main= ${.CURDIR}/../files/DESCR-main
-DESCR-cgi= ${.CURDIR}/../files/DESCR-cgi
post-install:
${SUBST_DATA} ${.CURDIR}/../files/README-main \
@@ -365,17 +379,18 @@ post-install:
@perl -pi -e
"s,!!PREFIX!!,${TRUEPREFIX},g;s,!!PV!!,${PV},g;s,!!MV!!,${PV:R},g" \
${PREFIX}/share/examples/php-${PV}/php.conf
-.for m in ${MULTI_PACKAGES:N-main:N-cgi:S/-//g}
+.for m in ${PHP_EXTENSIONS:S/-//g}
${INSTALL_DATA} ${WRKBUILD}/modules/${m}.so \
${PREFIX}/${MODULES_SUBDIR}/${m}.so
echo "extension=${m}.so" > \
${PREFIX}/share/examples/php-${PV}/${m}.ini
.endfor
- if [ -f ${WRKBUILD}/modules/opcache.so ]; then \
- ${INSTALL_DATA} ${WRKBUILD}/modules/opcache.so \
- ${PREFIX}/${MODULES_SUBDIR}/opcache.so; \
- echo "zend_extension=opcache.so" > \
- ${PREFIX}/share/examples/php-${PV}/opcache.ini; fi
+.for m in ${PHP_ZEND_EXTENSIONS:S/-//g}
+ ${INSTALL_DATA} ${WRKBUILD}/modules/${m}.so \
+ ${PREFIX}/${MODULES_SUBDIR}/${m}.so
+ echo "zend_extension=${m}.so" > \
+ ${PREFIX}/share/examples/php-${PV}/${m}.ini
+.endfor
${INSTALL_DATA_DIR} ${WRKINST}/${CHROOT_DIR}/etc
echo "www:*:67:67::0:0:dummy user to appease
c-client:/nonexistent:/sbin/nologin" > \
${WRKINST}/${CHROOT_DIR}/etc/master.passwd.imap
Index: 5.6/Makefile
===================================================================
RCS file: /cvs/ports/lang/php/5.6/Makefile,v
retrieving revision 1.59
diff -u -p -r1.59 Makefile
--- 5.6/Makefile 2 Mar 2018 22:11:04 -0000 1.59
+++ 5.6/Makefile 16 Mar 2018 09:11:47 -0000
@@ -24,21 +24,21 @@ pre-patch:
.endif
# mysql
-MULTI_PACKAGES+= -mysql
+PHP_EXTENSIONS= -mysql
COMMENT-mysql= mysql database access extensions for php5
CONFIGURE_ARGS+= --with-mysql=shared,${LOCALBASE}
LIB_DEPENDS-mysql= databases/mariadb
WANTLIB-mysql= pthread lib/mysql/mysqlclient
# sybase-ct
-MULTI_PACKAGES+= -sybase_ct
+PHP_EXTENSIONS+= -sybase_ct
COMMENT-sybase_ct= sybase database access extensions for php5
CONFIGURE_ARGS+= --with-sybase-ct=shared,${LOCALBASE}
LIB_DEPENDS-sybase_ct= databases/freetds
WANTLIB-sybase_ct= ct pthread
# mssql
-MULTI_PACKAGES+= -mssql
+PHP_EXTENSIONS+= -mssql
COMMENT-mssql= microsoft sql access extensions for php5
CONFIGURE_ARGS+= --with-mssql=shared,${LOCALBASE}
LIB_DEPENDS-mssql= databases/freetds