COMMENT= The ${PHP_MODNAME} shared extension for php USES+= php:ext,noflavors PHP_MODNAME= ${PKGNAMESUFFIX:S/-//} PHP_VER= 80 IGNORE_WITH_PHP= 74 81 EXTSUBDIR= ${DISTNAME}/ext/${PHP_MODNAME} WRKSRC= ${WRKDIR}/${EXTSUBDIR} PATCHDIR= ${.CURDIR}/files PLIST= ${NONEXISTENT} EXTRACT_AFTER_ARGS?= ${EXTSUBDIR} .if ${PHP_MODNAME} == "bcmath" CONFIGURE_ARGS+=--enable-bcmath PHP_HEADER_DIRS=libbcmath/src .endif .if ${PHP_MODNAME} == "bz2" CONFIGURE_ARGS+=--with-bz2=/usr .endif .if ${PHP_MODNAME} == "calendar" CONFIGURE_ARGS+=--enable-calendar .endif .if ${PHP_MODNAME} == "ctype" CONFIGURE_ARGS+=--enable-ctype .endif .if ${PHP_MODNAME} == "curl" LIB_DEPENDS+= libcurl.so:ftp/curl CONFIGURE_ARGS+=--with-curl=${LOCALBASE} USES+= pkgconfig .endif .if ${PHP_MODNAME} == "dba" CONFIGURE_ARGS+=--enable-dba OPTIONS_DEFINE= CDB DB4 GDBM QDBM TOKYO INIFILE FLATFILE LMDB OPTIONS_DEFAULT=CDB INIFILE FLATFILE CDB_DESC= cdb database support DB4_DESC= Berkeley DB4 support GDBM_DESC= GDBM database support QDBM_DESC= QDBM database support TOKYO_DESC= Tokyo Cabinet database support INIFILE_DESC= INI file support FLATFILE_DESC= flatfile support LMDB_DESC= LMDB database support CDB_CONFIGURE_OFF=--without-cdb DB4_CONFIGURE_ON=--with-db4=${LOCALBASE} DB4_USES= bdb DB4_VARS= WITH_BDB_HIGHEST=yes FLATFILE_CONFIGURE_OFF=--disable-flatfile GDBM_LIB_DEPENDS= libgdbm.so:databases/gdbm GDBM_CONFIGURE_ON=--with-gdbm=${LOCALBASE} INIFILE_CONFIGURE_OFF=--disable-inifile LMDB_LIB_DEPENDS= liblmdb.so:databases/lmdb LMDB_CONFIGURE_ON= --with-lmdb=${LOCALBASE} QDBM_LIB_DEPENDS= libqdbm.so:databases/qdbm QDBM_CONFIGURE_ON=--with-qdbm=${LOCALBASE} TOKYO_LIB_DEPENDS= libtokyocabinet.so:databases/tokyocabinet TOKYO_CONFIGURE_ON=--with-tcadb=${LOCALBASE} PHP_HEADER_DIRS= libcdb libflatfile libinifile .endif .if ${PHP_MODNAME} == "dom" CONFIGURE_ARGS+=--enable-dom \ --with-libxml-dir=${LOCALBASE} USES+= pkgconfig USE_GNOME= libxml2 .endif .if ${PHP_MODNAME} == "enchant" LIB_DEPENDS+= libenchant.so:textproc/enchant CONFIGURE_ARGS+=--with-enchant=${LOCALBASE} USES+= pkgconfig .endif .if ${PHP_MODNAME} == "exif" CONFIGURE_ARGS+=--enable-exif .endif .if ${PHP_MODNAME} == "ffi" LIB_DEPENDS= libffi.so:devel/libffi CONFIGURE_ARGS+=--enable-ffi .endif .if ${PHP_MODNAME} == "fileinfo" CONFIGURE_ARGS+=--enable-fileinfo \ --with-pcre-dir=${LOCALBASE} PHP_HEADER_DIRS= libmagic .endif .if ${PHP_MODNAME} == "filter" CONFIGURE_ARGS+=--enable-filter \ --with-pcre-dir=${LOCALBASE} .endif .if ${PHP_MODNAME} == "ftp" CONFIGURE_ARGS+=--enable-ftp CONFIGURE_ENV+= OPENSSL_CFLAGS="-I${OPENSSLINC}" \ OPENSSL_LIBS="-L${OPENSSLLIB} -lssl -lcrypto" \ PHP_OPENSSL=yes LDFLAGS+= -L${OPENSSLLIB} -lcrypto -lssl USES+= ssl pkgconfig .endif .if ${PHP_MODNAME} == "gd" LIB_DEPENDS= libfreetype.so:print/freetype2 \ libpng.so:graphics/png USES+= jpeg CONFIGURE_ARGS+=--enable-gd \ --with-external-gd EXTRACT_AFTER_ARGS=--no-same-owner --no-same-permissions --exclude libgd \ php-${DISTVERSION}/ext/gd OPTIONS_DEFINE=TRUETYPE JIS WEBP X11 OPTIONS_DEFAULT=TRUETYPE TRUETYPE_DESC= Enable TrueType string function JIS_DESC= Enable JIS-mapped Japanese font support WEBP_DESC= Enable WebP image format support X11_DESC= Enable XPM support JIS_CONFIGURE_ON=--enable-gd-jis-conv WEBP_CONFIGURE_ON=--with-webp WEBP_LIB_DEPENDS= libwebp.so:graphics/webp X11_USES= xorg X11_USE= XORG=xpm X11_CONFIGURE_ON=--with-xpm .endif .if ${PHP_MODNAME} == "gettext" CONFIGURE_ARGS+=--with-gettext=${LOCALBASE} USES+= gettext .endif .if ${PHP_MODNAME} == "gmp" LIB_DEPENDS+= libgmp.so:math/gmp CONFIGURE_ARGS+=--with-gmp=${LOCALBASE} .endif .if ${PHP_MODNAME} == "iconv" CONFIGURE_ARGS+=--with-iconv=${LOCALBASE} USES+= iconv:translit .endif .if ${PHP_MODNAME} == "imap" PHP_MOD_PRIO= 30 OPTIONS_RADIO= CLIENT OPTIONS_RADIO_CLIENT= CCLIENT PANDA OPTIONS_DEFAULT=PANDA CCLIENT_DESC= Uses the original but unmaintained cclient PANDA_DESC= Uses the forked panda-cclient instead of the original cclient PANDA_LIB_DEPENDS= libc-client.so.2010:mail/panda-cclient PANDA_LIB_DEPENDS_OFF= libc-client4.so.9:mail/cclient CONFIGURE_ARGS+=--with-imap=${LOCALBASE} \ --with-pcre-dir=${LOCALBASE} \ --with-imap-ssl=${OPENSSLBASE} CONFIGURE_ENV+= OPENSSL_CFLAGS="-I${OPENSSLINC}" \ OPENSSL_LIBS="-L${OPENSSLLIB} -lssl -lcrypto" \ PHP_OPENSSL=yes LDFLAGS+= -L${OPENSSLLIB} -lcrypto -lssl USES+= ssl .endif .if ${PHP_MODNAME} == "intl" CONFIGURE_ARGS+=--with-intl=${LOCALBASE} LIB_DEPENDS= libicui18n.so:devel/icu USES+= pkgconfig .endif .if ${PHP_MODNAME} == "json" CONFIGURE_ARGS+=--enable-json BUILD_DEPENDS= re2c:devel/re2c .endif .if ${PHP_MODNAME} == "ldap" CONFIGURE_ARGS+=--with-ldap=${LOCALBASE} --with-ldap-sasl=${LOCALBASE} USE_OPENLDAP= yes .endif .if ${PHP_MODNAME} == "mbstring" CONFIGURE_ARGS+=--enable-mbstring \ --with-pcre-dir=${LOCALBASE} OPTIONS_DEFINE= REGEX OPTIONS_DEFAULT=REGEX REGEX_DESC= Enable multibyte regex support REGEX_CONFIGURE_OFF=--disable-mbregex REGEX_CONFIGURE_ON=--with-onig=${LOCALBASE} REGEX_LIB_DEPENDS= libonig.so:devel/oniguruma PHP_HEADER_DIRS=libmbfl libmbfl/filters libmbfl/mbfl libmbfl/nls .endif .if ${PHP_MODNAME} == "mysqli" OPTIONS_DEFINE= MYSQLND OPTIONS_DEFAULT=MYSQLND MYSQLND_DESC= Use MySQL Native Driver MYSQLND_CONFIGURE_ON=--with-mysqli=mysqlnd MYSQLND_CONFIGURE_OFF=--with-mysqli=${LOCALBASE}/bin/mysql_config MYSQLND_USES_OFF= mysql .endif .if ${PHP_MODNAME} == "odbc" LIB_DEPENDS+= libodbc.so:databases/unixODBC CONFIGURE_ARGS+=--enable-odbc \ --with-unixODBC=${LOCALBASE} .endif .if ${PHP_MODNAME} == "opcache" # This is needed by Zend extensions, keep before everything. PHP_MOD_PRIO= 10 CONFIGURE_ARGS+=--enable-opcache USES+= localbase .endif .if ${PHP_MODNAME} == "pcntl" CONFIGURE_ARGS+=--enable-pcntl .endif .if ${PHP_MODNAME} == "pdo" CONFIGURE_ARGS+=--enable-pdo .endif .if ${PHP_MODNAME} == "pdo_dblib" CONFIGURE_ARGS+=--with-pdo-dblib=${LOCALBASE} USE_PHP= pdo:build OPTIONS_DEFINE= MSSQL MSSQL_DESC= Enable Microsoft SQL Server support MSSQL_LIB_DEPENDS= libsybdb.so:databases/freetds MSSQL_LIB_DEPENDS_OFF= libct.so:databases/freetds .endif .if ${PHP_MODNAME} == "pdo_firebird" CONFIGURE_ARGS+=--with-pdo-firebird=${LOCALBASE} USES+= firebird USE_PHP= pdo:build .endif .if ${PHP_MODNAME} == "pdo_odbc" LIB_DEPENDS+= libodbc.so:databases/unixODBC CONFIGURE_ARGS+=--with-pdo-odbc=unixODBC,${LOCALBASE} USE_PHP= pdo:build .endif .if ${PHP_MODNAME} == "pdo_mysql" OPTIONS_DEFINE= MYSQLND OPTIONS_DEFAULT=MYSQLND MYSQLND_DESC= Use MySQL Native Driver MYSQLND_CONFIGURE_ON=--with-pdo-mysql=mysqlnd MYSQLND_CONFIGURE_OFF=--with-pdo-mysql=${LOCALBASE} \ --with-zlib-dir=/usr MYSQLND_USES_OFF= mysql USE_PHP= pdo:build .endif .if ${PHP_MODNAME} == "pdo_pgsql" USES+= pgsql CONFIGURE_ARGS+=--with-pdo-pgsql=${LOCALBASE} USE_PHP= pdo:build .endif .if ${PHP_MODNAME} == "pdo_sqlite" USES+= localbase sqlite CONFIGURE_ARGS+=--with-pdo-sqlite=${LOCALBASE} USE_PHP= pdo:build .endif .if ${PHP_MODNAME} == "pgsql" USES+= pgsql CONFIGURE_ARGS+=--with-pgsql=${LOCALBASE} .endif .if ${PHP_MODNAME} == "phar" CONFIGURE_ARGS+=--enable-phar \ --with-pcre-dir=${LOCALBASE} .endif .if ${PHP_MODNAME} == "posix" CONFIGURE_ARGS+=--enable-posix .endif .if ${PHP_MODNAME} == "pspell" LIB_DEPENDS+= libaspell.so:textproc/aspell CONFIGURE_ARGS+=--with-pspell=${LOCALBASE} .endif .if ${PHP_MODNAME} == "readline" CONFIGURE_ARGS+=--with-readline=/usr USES+= readline .endif .if ${PHP_MODNAME} == "session" CONFIGURE_ARGS+=--enable-session PHP_MOD_PRIO= 18 .endif .if ${PHP_MODNAME} == "shmop" CONFIGURE_ARGS+=--enable-shmop .endif .if ${PHP_MODNAME} == "simplexml" CONFIGURE_ARGS+=--enable-simplexml \ --with-pcre-dir=${LOCALBASE} \ --with-libxml-dir=${LOCALBASE} USES+= pkgconfig USE_GNOME= libxml2 .endif .if ${PHP_MODNAME} == "snmp" CONFIGURE_ARGS+=--with-snmp=${LOCALBASE} \ --with-openssl-dir=${OPENSSLBASE} CONFIGURE_ENV+= ac_cv_buggy_snprint_value="no" LIB_DEPENDS+= libnetsnmp.so:net-mgmt/net-snmp LDFLAGS+= -L${OPENSSLLIB} -lcrypto -lssl USES+= ssl .endif .if ${PHP_MODNAME} == "soap" CONFIGURE_ARGS+=--enable-soap \ --with-libxml-dir=${LOCALBASE} USES+= pkgconfig USE_GNOME= libxml2 .endif .if ${PHP_MODNAME} == "sockets" CONFIGURE_ARGS+=--enable-sockets .endif .if ${PHP_MODNAME} == "sodium" CONFIGURE_ARGS+= --with-sodium=${LOCALBASE} LIB_DEPENDS+= libsodium.so:security/libsodium .endif .if ${PHP_MODNAME} == "sqlite3" USES+= localbase pkgconfig sqlite CONFIGURE_ARGS+=--with-sqlite3=${LOCALBASE} .endif .if ${PHP_MODNAME} == "sysvmsg" CONFIGURE_ARGS+=--enable-sysvmsg .endif .if ${PHP_MODNAME} == "sysvsem" CONFIGURE_ARGS+=--enable-sysvsem .endif .if ${PHP_MODNAME} == "sysvshm" CONFIGURE_ARGS+=--enable-sysvshm .endif .if ${PHP_MODNAME} == "tidy" CONFIGURE_ARGS+=--with-tidy=${LOCALBASE} LIB_DEPENDS+= libtidy.so:www/tidy-lib .endif .if ${PHP_MODNAME} == "tokenizer" CONFIGURE_ARGS+=--enable-tokenizer .endif .if ${PHP_MODNAME} == "xml" CONFIGURE_ARGS+=--enable-xml \ --with-libxml-dir=${LOCALBASE} USES+= pkgconfig USE_GNOME= libxml2 .endif .if ${PHP_MODNAME} == "xmlreader" CONFIGURE_ARGS+=--enable-xmlreader \ --with-libxml-dir=${LOCALBASE} USE_GNOME= libxml2 USE_PHP= dom:build .endif .if ${PHP_MODNAME} == "xmlrpc" CONFIGURE_ARGS+=--with-xmlrpc \ --with-libxml-dir=${LOCALBASE} \ --with-iconv-dir=${LOCALBASE} USES+= iconv:translit USE_GNOME= libxml2 PHP_HEADER_DIRS=libxmlrpc USE_PHP= xml:build .endif .if ${PHP_MODNAME} == "xmlwriter" CONFIGURE_ARGS+=--enable-xmlwriter \ --with-libxml-dir=${LOCALBASE} USES+= pkgconfig USE_GNOME= libxml2 .endif .if ${PHP_MODNAME} == "xsl" CONFIGURE_ARGS+=--with-xsl=${LOCALBASE} USE_GNOME= libxslt USE_PHP= dom:build xml:build .endif .if ${PHP_MODNAME} == "zip" LIB_DEPENDS+= libzip.so:archivers/libzip CONFIGURE_ARGS+=--enable-zip \ --with-zlib-dir=/usr \ --with-pcre-dir=${LOCALBASE} \ --with-libzip=${LOCALBASE} USES+= pkgconfig .endif .if ${PHP_MODNAME} == "zlib" CONFIGURE_ARGS+=--with-zlib=/usr USES+= pkgconfig .endif .include .if ${PHP_MODNAME} == "sqlite3" || ${PHP_MODNAME} == "zlib" post-extract: @${MV} ${WRKSRC}/config0.m4 ${WRKSRC}/config.m4 .endif .if ${PHP_MODNAME} == "xml" post-extract: @${MKDIR} ${WRKSRC}/ext/xml @${CP} ${WRKSRC}/expat_compat.h ${WRKSRC}/ext/xml .endif