54a0803b1c
Changelog: Core: Fixed bug #79364 (When copy empty array, next key is unspecified). Fixed bug #78210 (Invalid pointer address). CURL: Fixed bug #79199 (curl_copy_handle() memory leak). Date: Fixed bug #79396 (DateTime hour incorrect during DST jump forward). Fixed bug #74940 (DateTimeZone loose comparison always true). FPM: Implement request #77062 (Allow numeric [UG]ID in FPM listen.{owner,group}) (Andre Nathan) Iconv: Fixed bug #79200 (Some iconv functions cut Windows-1258). OPcache: Fixed bug #79412 (Opcache chokes and uses 100% CPU on specific script). Session: Fixed bug #79413 (session_create_id() fails for active sessions). Shmop: Fixed bug #79427 (Integer Overflow in shmop_open()). SimpleXML: Fixed bug #61597 (SXE properties may lack attributes and content). SOAP: Fixed bug #79357 (SOAP request segfaults when any request parameter is missing). Spl: Fixed bug #75673 (SplStack::unserialize() behavior). Fixed bug #79393 (Null coalescing operator failing with SplFixedArray). Standard: Fixed bug #79330 (shell_exec() silently truncates after a null byte). Fixed bug #79410 (system() swallows last chunk if it is exactly 4095 bytes without newline). Fixed bug #79465 (OOB Read in urldecode()). (CVE-2020-7067) Zip: Fixed bug #79296 (ZipArchive::open fails on empty file). Fixed bug #79424 (php_zip_glob uses gl_pathc after call to globfree). Changelog taken from: https://www.php.net/ChangeLog-7.php#7.4.5 MFH: 2020Q2
189 lines
4.7 KiB
Makefile
189 lines
4.7 KiB
Makefile
# $FreeBSD$
|
|
|
|
PORTNAME= php74
|
|
DISTVERSION= 7.4.5
|
|
PORTREVISION?= 0
|
|
CATEGORIES?= lang devel www
|
|
MASTER_SITES= PHP/distributions
|
|
DISTNAME= php-${DISTVERSION}
|
|
|
|
MAINTAINER= tz@FreeBSD.org
|
|
COMMENT= PHP Scripting Language
|
|
|
|
LICENSE= PHP301
|
|
|
|
USES+= compiler:c11 tar:xz cpe gnome pkgconfig
|
|
CPE_PRODUCT= php
|
|
NO_OPTIONS_SORT=yes
|
|
|
|
.if !defined(PKGNAMESUFFIX)
|
|
LIB_DEPENDS= libpcre2-8.so:devel/pcre2 \
|
|
libargon2.so:security/libargon2
|
|
|
|
GNU_CONFIGURE= yes
|
|
CONFIGURE_ARGS+=--with-layout=GNU \
|
|
--with-config-file-scan-dir=${PREFIX}/etc/php \
|
|
--disable-all \
|
|
--with-libxml \
|
|
--with-password-argon2=${LOCALBASE} \
|
|
--program-prefix=""
|
|
CONFIGURE_ENV= CPPFLAGS="-I${LOCALBASE}/include"
|
|
USES+= autoreconf:build
|
|
USE_GNOME= libxml2
|
|
|
|
# PR230207 Allow relocations against read-only segments (override lld default)
|
|
LDFLAGS_i386= -Wl,-z,notext
|
|
|
|
OPTIONS_DEFINE+=CLI CGI FPM EMBED PHPDBG DEBUG DTRACE IPV6 MYSQLND LINKTHR ZTS
|
|
OPTIONS_DEFAULT=CLI CGI FPM EMBED MYSQLND LINKTHR DTRACE
|
|
OPTIONS_EXCLUDE_DragonFly= DTRACE
|
|
# ld(1) fails to link probes: Relocations in generic ELF (EM: 0)
|
|
OPTIONS_EXCLUDE_aarch64= DTRACE
|
|
# dt_modtext:opensolaris/ib/libdtrace/common/dt_link.c: arm not impemented
|
|
OPTIONS_EXCLUDE_armv6= DTRACE
|
|
OPTIONS_EXCLUDE_armv7= DTRACE
|
|
# Bug 197128: No ASM code for MIPS/MIPS64, disable FPM
|
|
OPTIONS_EXCLUDE_mips= DTRACE FPM
|
|
OPTIONS_EXCLUDE_mips64= DTRACE FPM
|
|
OPTIONS_EXCLUDE_powerpc= DTRACE
|
|
OPTIONS_EXCLUDE_powerpc64= DTRACE
|
|
OPTIONS_EXCLUDE_sparc64= DTRACE
|
|
OPTIONS_SUB= yes
|
|
|
|
CLI_DESC= Build CLI version
|
|
CGI_DESC= Build CGI version
|
|
FPM_DESC= Build FPM version
|
|
EMBED_DESC= Build embedded library
|
|
PHPDBG_DESC= Interactive PHP debugger
|
|
MYSQLND_DESC= Build with MySQL Native Driver
|
|
LINKTHR_DESC= Link thread lib (for threaded extensions)
|
|
ZTS_DESC= Force Zend Thread Safety (ZTS) build
|
|
|
|
CONFLICTS= php71-* php72-* php73-*
|
|
|
|
DESTDIRNAME= INSTALL_ROOT
|
|
|
|
.include <bsd.port.pre.mk>
|
|
|
|
.if ${PORT_OPTIONS:MMYSQLND}
|
|
CONFIGURE_ARGS+=--enable-mysqlnd
|
|
.endif
|
|
|
|
.if ${PORT_OPTIONS:MCLI}
|
|
PHP_SAPI+= cli
|
|
.else
|
|
CONFIGURE_ARGS+=--disable-cli
|
|
.endif
|
|
|
|
.if ${PORT_OPTIONS:MCGI}
|
|
PHP_SAPI+= cgi
|
|
.else
|
|
CONFIGURE_ARGS+=--disable-cgi
|
|
.endif
|
|
|
|
.if ${PORT_OPTIONS:MFPM}
|
|
PHP_SAPI+= fpm
|
|
USE_RC_SUBR+= php-fpm
|
|
CONFIGURE_ARGS+=--enable-fpm \
|
|
--with-fpm-user=${WWWOWN} \
|
|
--with-fpm-group=${WWWGRP}
|
|
.endif
|
|
|
|
.if defined(PKGNAMEPREFIX)
|
|
USES+= apache:2.2+
|
|
.include "${PORTSDIR}/Mk/Uses/apache.mk"
|
|
.if ${PORT_OPTIONS:MAP2FILTER}
|
|
CONFIGURE_ARGS+=--with-apxs2filter=${APXS}
|
|
.else
|
|
CONFIGURE_ARGS+=--with-apxs2=${APXS}
|
|
.endif
|
|
PLIST= ${PKGDIR}/pkg-plist.mod
|
|
PKGMESSAGE= ${PKGDIR}/pkg-message.mod
|
|
MODULENAME= libphp7
|
|
SHORTMODNAME= php7
|
|
WARNING= "!!! If you have a threaded Apache, you must build ${PHP_PORT} with ZTS support to enable thread-safety in extensions !!!"
|
|
.endif
|
|
|
|
.if ${PORT_OPTIONS:MEMBED}
|
|
PHP_SAPI+= embed
|
|
CONFIGURE_ARGS+=--enable-embed
|
|
.endif
|
|
|
|
.if ${PORT_OPTIONS:MPHPDBG}
|
|
PHP_SAPI+= phpdbg
|
|
CONFIGURE_ARGS+=--enable-phpdbg
|
|
.if ${PORT_OPTIONS:MDEBUG}
|
|
CONFIGURE_ARGS+=--enable-phpdbg-debug
|
|
.endif
|
|
.endif
|
|
|
|
.if ${PORT_OPTIONS:MCLI} || ${PORT_OPTIONS:MEMBED}
|
|
PLIST_SUB+= SAPI_INC=""
|
|
.else
|
|
PLIST_SUB+= SAPI_INC="@comment "
|
|
.endif
|
|
|
|
CONFIGURE_ENV+= ac_cv_decimal_fp_supported="no" \
|
|
lt_cv_path_SED="sed"
|
|
|
|
.if ${PORT_OPTIONS:MLINKTHR}
|
|
LIBS+= -lpthread
|
|
.endif
|
|
|
|
.if ${PORT_OPTIONS:MDEBUG}
|
|
CONFIGURE_ARGS+=--enable-debug
|
|
.endif
|
|
|
|
.if ${PORT_OPTIONS:MZTS}
|
|
CONFIGURE_ARGS+=--enable-maintainer-zts
|
|
CONFIGURE_ENV+= pthreads_working="yes"
|
|
.endif
|
|
|
|
.if ${PORT_OPTIONS:MDTRACE}
|
|
CONFIGURE_ARGS+=--enable-dtrace
|
|
PLIST_SUB+= DTRACE=""
|
|
.else
|
|
PLIST_SUB+= DTRACE="@comment "
|
|
.endif
|
|
|
|
.if empty(PORT_OPTIONS:MIPV6)
|
|
CONFIGURE_ARGS+=--disable-ipv6
|
|
.endif
|
|
|
|
post-patch:
|
|
@${TOUCH} ${WRKSRC}/ext/php_config.h
|
|
@${REINPLACE_CMD} "s|^\(extension_dir\)|; \1|" ${WRKSRC}/php.ini-*
|
|
.if ${PORT_OPTIONS:MFPM}
|
|
@${REINPLACE_CMD} -e "s|^;\(pid\)|\1|;s|^;\(pm\.[a-z_]*_servers\)|\1|" \
|
|
${WRKSRC}/sapi/fpm/php-fpm.conf.in
|
|
.endif
|
|
|
|
pre-configure:
|
|
@(cd ${WRKSRC} && ${SETENV} MAKE=${MAKE_CMD} ./buildconf --force)
|
|
|
|
.if !defined(PKGNAMEPREFIX)
|
|
post-build:
|
|
@${ECHO_CMD} "PHP_VER=74" > ${WRKDIR}/php.conf
|
|
@${ECHO_CMD} "PHP_VERSION=${PORTVERSION}" >> ${WRKDIR}/php.conf
|
|
@${ECHO_CMD} "PHP_SAPI=${PHP_SAPI}" >> ${WRKDIR}/php.conf
|
|
@${ECHO_CMD} "PHP_EXT_INC=hash pcre spl" >> ${WRKDIR}/php.conf
|
|
@${ECHO_CMD} -n "PHP_EXT_DIR=" >> ${WRKDIR}/php.conf
|
|
@${SH} ${WRKSRC}/scripts/php-config --extension-dir | ${SED} -ne 's,^${PREFIX}/lib/php/,,p' >> ${WRKDIR}/php.conf
|
|
|
|
test: build
|
|
@(cd ${WRKSRC} && ${MAKE} test)
|
|
|
|
post-install:
|
|
${INSTALL_DATA} ${WRKSRC}/php.ini-development ${WRKSRC}/php.ini-production \
|
|
${WRKDIR}/php.conf ${STAGEDIR}/${PREFIX}/etc
|
|
.else
|
|
do-install:
|
|
${MKDIR} ${STAGEDIR}${PREFIX}/${APACHEMODDIR}
|
|
${INSTALL_LIB} ${WRKSRC}/libs/${MODULENAME}.so \
|
|
${STAGEDIR}${PREFIX}/${APACHEMODDIR}
|
|
.endif
|
|
|
|
.else
|
|
.include "${MASTERDIR}/Makefile.ext"
|
|
.endif
|
|
.include <bsd.port.post.mk>
|