pkgsrc-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[pkgsrc/trunk]: pkgsrc/lang/php74 lang/php74: Add php74 version 7.4.0 pacakge.



details:   https://anonhg.NetBSD.org/pkgsrc/rev/2f3004630b12
branches:  trunk
changeset: 406141:2f3004630b12
user:      taca <taca%pkgsrc.org@localhost>
date:      Sun Dec 15 17:56:34 2019 +0000

description:
lang/php74: Add php74 version 7.4.0 pacakge.

Add php74 version 7.4.0 pacakge based on php73.

PHP is a widely-used open source general-purpose scripting language
that is especially suited for web development and can be embedded
into HTML.  It is modular, and object-oriented.  Much of its syntax
is borrowed from C, Java and Perl with a couple of unique PHP-specific
features thrown in.  The language is designed to allow web developers
to write dynamically generated pages quickly.

PHP 7.4 comes with numerous improvements and new features such as

* Typed Properties
* Arrow Functions
* Limited Return Type Covariance and Argument Type Contravariance
* Unpacking Inside Arrays
* Numeric Literal Separator
* Weak References
* Allow Exceptions from __toString()
* Opcache Preloading
* Several Deprecations
* Extensions Removed from the Core

diffstat:

 lang/php74/DESCR                                    |   23 +
 lang/php74/MESSAGE                                  |   11 +
 lang/php74/Makefile                                 |   75 +++++
 lang/php74/Makefile.common                          |   32 ++
 lang/php74/Makefile.php                             |  112 +++++++
 lang/php74/PLIST                                    |  286 ++++++++++++++++++++
 lang/php74/buildlink3.mk                            |   15 +
 lang/php74/distinfo                                 |   19 +
 lang/php74/patches/patch-configure                  |   67 ++++
 lang/php74/patches/patch-disable-filter-url         |   30 ++
 lang/php74/patches/patch-ext_phar_Makefile.frag     |   15 +
 lang/php74/patches/patch-ext_phar_phar_phar.php     |   12 +
 lang/php74/patches/patch-ext_tidy_config.m4         |   15 +
 lang/php74/patches/patch-ext_xsl_php__xsl.h         |   15 +
 lang/php74/patches/patch-php.ini-development        |   34 ++
 lang/php74/patches/patch-php.ini-production         |   34 ++
 lang/php74/patches/patch-run-tests.php              |   12 +
 lang/php74/patches/patch-sapi_cgi_Makefile.frag     |   18 +
 lang/php74/patches/patch-sapi_cli_Makefile.frag     |   19 +
 lang/php74/patches/patch-sapi_fpm_fpm_events_port.c |   49 +++
 lang/php74/patches/patch-sapi_fpm_php-fpm.conf.in   |   15 +
 21 files changed, 908 insertions(+), 0 deletions(-)

diffs (truncated from 992 to 300 lines):

diff -r 2f50d0d72839 -r 2f3004630b12 lang/php74/DESCR
--- /dev/null   Thu Jan 01 00:00:00 1970 +0000
+++ b/lang/php74/DESCR  Sun Dec 15 17:56:34 2019 +0000
@@ -0,0 +1,23 @@
+PHP is a widely-used open source general-purpose scripting language
+that is especially suited for web development and can be embedded
+into HTML.  It is modular, and object-oriented.  Much of its syntax
+is borrowed from C, Java and Perl with a couple of unique PHP-specific
+features thrown in.  The language is designed to allow web developers
+to write dynamically generated pages quickly.
+
+PHP 7.4 comes with numerous improvements and new features such as
+
+* Typed Properties
+* Arrow Functions
+* Limited Return Type Covariance and Argument Type Contravariance
+* Unpacking Inside Arrays
+* Numeric Literal Separator
+* Weak References
+* Allow Exceptions from __toString()
+* Opcache Preloading
+* Several Deprecations
+* Extensions Removed from the Core
+
+For source downloads of PHP 7.4 please visit our downloads page Windows
+binaries can be found on the PHP for Windows site.  The list of changes is
+recorded in the ChangeLog.
diff -r 2f50d0d72839 -r 2f3004630b12 lang/php74/MESSAGE
--- /dev/null   Thu Jan 01 00:00:00 1970 +0000
+++ b/lang/php74/MESSAGE        Sun Dec 15 17:56:34 2019 +0000
@@ -0,0 +1,11 @@
+===========================================================================
+$NetBSD: MESSAGE,v 1.1 2019/12/15 17:56:34 taca Exp $
+
+To process PHP scripts, you will need a PHP-enabled HTTP server.  You may
+either configure the HTTP server to use the PHP CGI binary located in
+
+        ${CGIDIR}/php
+
+or you may install a PHP module for your HTTP server, e.g. www/ap-php.
+
+===========================================================================
diff -r 2f50d0d72839 -r 2f3004630b12 lang/php74/Makefile
--- /dev/null   Thu Jan 01 00:00:00 1970 +0000
+++ b/lang/php74/Makefile       Sun Dec 15 17:56:34 2019 +0000
@@ -0,0 +1,75 @@
+# $NetBSD: Makefile,v 1.1 2019/12/15 17:56:34 taca Exp $
+
+#
+# We can't omit PKGNAME here to handle PKG_OPTIONS.
+#
+PKGNAME=               php-${PHP_VERSION:S/RC/rc/}
+
+COMMENT=               PHP Hypertext Preprocessor version 7.4
+LICENSE=               php
+
+TEST_TARGET=           test
+
+USE_TOOLS+=            gmake lex
+LIBTOOL_OVERRIDE=      # empty
+PHP_CHECK_INSTALLED=   No
+
+PHP_VERSIONS_ACCEPTED=         74
+
+.include "Makefile.php"
+
+CGIDIR=                        ${PREFIX}/libexec/cgi-bin
+EGDIR=                 ${PREFIX}/share/examples/php
+MESSAGE_SUBST+=                CGIDIR=${CGIDIR}
+
+CONFIGURE_ENV+=                lt_cv_path_SED=${SED:Q}
+MAKE_ENV+=             INSTALL_ROOT=${DESTDIR}
+
+CONF_FILES=            ${EGDIR}/php.ini-production ${PKG_SYSCONFDIR}/php.ini
+PLIST_SUBST+=          PHPEXTDIR="${PHP_EXTENSION_DIR}"
+
+# taken from devel/pkgconf/Makefile
+PKGCONFIG_PATHS=       ${PREFIX}/lib/pkgconfig
+PKGCONFIG_PATHS+=      ${PREFIX}/share/pkgconfig
+PKGCONFIG_PATHS+=      /usr/lib/pkgconfig
+
+# At this point, PREFIX is not set yet.
+.if ${LOCALBASE} != ${X11BASE}
+PKGCONFIG_PATHS+=      ${X11BASE}/lib/pkgconfig
+.endif
+
+PHP_PKGCONFIG_PATH=    ${PKGCONFIG_PATHS:ts:}
+
+SUBST_CLASSES+=                path
+SUBST_MESSAGE.path=    Fixing common paths.
+SUBST_STAGE.path=      pre-configure
+SUBST_FILES.path=      configure
+SUBST_FILES.path+=     ext/phar/phar/phar.php
+SUBST_FILES.path+=     php.ini-development php.ini-production run-tests.php
+SUBST_FILES.path+=     sapi/cgi/Makefile.frag
+SUBST_VARS.path=       CGIDIR
+SUBST_VARS.path+=      PREFIX
+SUBST_VARS.path+=      TOOLS_PATH.pkg-config PHP_PKGCONFIG_PATH
+
+INSTALLATION_DIRS+=    ${CGIDIR} ${PHP_EXTENSION_DIR} ${EGDIR} share/php
+
+# Make sure modules can link correctly
+.if ${OPSYS} == "Darwin"
+INSTALL_UNSTRIPPED=    yes
+.endif
+
+# Darwin < 9 (Mac OS X < 10.5 "Leopard") doesn't have gethostuuid(2)
+# and lacks the zone memory allocator
+.if !empty(MACHINE_PLATFORM:MDarwin-[0-8].*-*)
+CFLAGS+=       -DSQLITE_ENABLE_LOCKING_STYLE=0 -DSQLITE_WITHOUT_ZONEMALLOC
+.endif
+
+post-install:
+       ${INSTALL_PROGRAM} ${WRKSRC}/sapi/cli/php ${DESTDIR}${PREFIX}/bin/php
+       ${INSTALL_DATA} ${WRKSRC}/sapi/cli/php.1 \
+               ${DESTDIR}${PREFIX}/${PKGMANDIR}/man1/php.1
+       ${INSTALL_PROGRAM} ${WRKSRC}/sapi/cgi/php-cgi ${DESTDIR}${CGIDIR}/php
+       cd ${WRKSRC}; ${INSTALL_DATA} php.ini-development php.ini-production \
+               ${DESTDIR}${EGDIR}
+
+.include "../../mk/bsd.pkg.mk"
diff -r 2f50d0d72839 -r 2f3004630b12 lang/php74/Makefile.common
--- /dev/null   Thu Jan 01 00:00:00 1970 +0000
+++ b/lang/php74/Makefile.common        Sun Dec 15 17:56:34 2019 +0000
@@ -0,0 +1,32 @@
+# $NetBSD: Makefile.common,v 1.1 2019/12/15 17:56:34 taca Exp $
+# used by lang/php74/Makefile.php
+# used by lang/php/ext.mk
+# used by meta-pkgs/php74-extensions/Makefile
+
+PHP_VERSION_REQD=      74
+
+.include "../../lang/php/common.mk"
+
+CATEGORIES+=           www
+MAINTAINER?=           pkgsrc-users%NetBSD.org@localhost
+
+USE_TOOLS+=            pkg-config
+
+# needed due to (broken?) configure checks in php-xmlrpc and php5-dom
+CONFIGURE_ENV+=                PHP_LIBXML_SHARED="1"
+
+.if ${OPSYS} == "NetBSD"
+CONFIGURE_ARGS+=       ax_cv_have_func_attribute_ifunc=no
+.endif
+
+.include "../../mk/compiler.mk"
+.if !empty(PKGSRC_COMPILER:Mclang)
+# configure test gets confused by wrappers dropping -R /usr/lib
+CONFIGURE_ARGS+=       php_cv_cc_dashr=no
+.endif
+
+# not every extension actually depend on PCRE, and those which do
+# don't use internal pcre structures, so default to build-time
+# dependency only
+BUILDLINK_DEPMETHOD.pcre2?=    build
+.include "../../devel/pcre2/buildlink3.mk"
diff -r 2f50d0d72839 -r 2f3004630b12 lang/php74/Makefile.php
--- /dev/null   Thu Jan 01 00:00:00 1970 +0000
+++ b/lang/php74/Makefile.php   Sun Dec 15 17:56:34 2019 +0000
@@ -0,0 +1,112 @@
+# $NetBSD: Makefile.php,v 1.1 2019/12/15 17:56:34 taca Exp $
+# used by lang/php74/Makefile
+# used by www/ap-php/Makefile
+# used by www/php-fpm/Makefile
+
+# segfaults when buidling with many compilers
+# https://bugs.php.net/bug.php?id=74527
+# https://gcc.gnu.org/bugzilla/show_bug.cgi?id=86236
+.if ${MACHINE_ARCH} == "i386"
+CONFIGURE_ARGS+=       --disable-gcc-global-regs
+.endif
+
+# the binary actually needs full dep on PCRE
+BUILDLINK_DEPMETHOD.pcre2=     full
+
+USE_LIBTOOL=           YES
+USE_LANGUAGES=         c c++
+GNU_CONFIGURE=         YES
+BUILD_DEFS+=           VARBASE
+PLIST_VARS+=           dtrace
+
+.include "../../lang/php74/Makefile.common"
+
+DISTINFO_FILE= ${.CURDIR}/../../lang/php74/distinfo
+PATCHDIR=      ${.CURDIR}/../../lang/php74/patches
+
+CONFIGURE_ARGS+=       --with-config-file-path=${PKG_SYSCONFDIR}
+CONFIGURE_ARGS+=       --with-config-file-scan-dir=${PKG_SYSCONFDIR}/php.d
+CONFIGURE_ARGS+=       --sysconfdir=${PKG_SYSCONFDIR}
+CONFIGURE_ARGS+=       --localstatedir=${VARBASE}
+
+CONFIGURE_ARGS+=       --without-mysqli
+CONFIGURE_ARGS+=       --without-iconv
+CONFIGURE_ARGS+=       --without-pear
+CONFIGURE_ARGS+=       --without-sqlite3
+#CONFIGURE_ARGS+=      --without-intl
+
+CONFIGURE_ARGS+=       --disable-posix
+CONFIGURE_ARGS+=       --disable-opcache
+CONFIGURE_ARGS+=       --disable-pdo
+CONFIGURE_ARGS+=       --disable-json
+
+CONFIGURE_ARGS+=       --enable-cgi
+CONFIGURE_ARGS+=       --enable-mysqlnd
+CONFIGURE_ARGS+=       --enable-xml
+#CONFIGURE_ARGS+=      --with-libxml-dir=${PREFIX}
+
+CONFIGURE_ENV+=                EXTENSION_DIR="${PREFIX}/${PHP_EXTENSION_DIR}"
+
+.include "../../textproc/libxml2/buildlink3.mk"
+
+#CONFIGURE_ARGS+=      --with-pcre-regex=${BUILDLINK_PREFIX.pcre2}
+
+PKG_OPTIONS_VAR=       PKG_OPTIONS.${PHP_PKG_PREFIX}
+PKG_SUPPORTED_OPTIONS+=        inet6 ssl maintainer-zts readline argon2
+PKG_SUPPORTED_OPTIONS+=        disable-filter-url
+PKG_SUGGESTED_OPTIONS+=        inet6 ssl readline
+
+.if ${OPSYS} == "SunOS" || ${OPSYS} == "Darwin" || ${OPSYS} == "FreeBSD"
+PKG_SUPPORTED_OPTIONS+=        dtrace
+.endif
+
+.include "../../mk/bsd.options.mk"
+
+.if !empty(PKG_OPTIONS:Minet6)
+CONFIGURE_ARGS+=       --enable-ipv6
+.else
+CONFIGURE_ARGS+=       --disable-ipv6
+.endif
+
+.if !empty(PKG_OPTIONS:Mssl)
+.  include "../../security/openssl/buildlink3.mk"
+.  if ${OPSYS} == "SunOS"
+CONFIGURE_ARGS+=       --with-openssl=yes
+LIBS.SunOS+=           -lcrypto
+.  else
+CONFIGURE_ARGS+=       --with-openssl=${BUILDLINK_PREFIX.openssl}
+.  endif
+.else
+CONFIGURE_ARGS+=       --without-openssl
+.endif
+
+.if !empty(PKG_OPTIONS:Mmaintainer-zts)
+CONFIGURE_ARGS+=       --enable-maintainer-zts
+.endif
+
+.if !empty(PKG_OPTIONS:Mreadline)
+.include "../../devel/readline/buildlink3.mk"
+CONFIGURE_ARGS+=       --with-readline=${BUILDLINK_PREFIX.readline}
+.else
+CONFIGURE_ARGS+=       --without-readline
+.endif
+
+.if !empty(PKG_OPTIONS:Mdtrace)
+PLIST.dtrace=          yes
+CONFIGURE_ARGS+=       --enable-dtrace
+
+# See https://bugs.php.net/bug.php?id=61268
+INSTALL_MAKE_FLAGS+=   -r
+.endif
+
+.if !empty(PKG_OPTIONS:Margon2)
+CONFIGURE_ARGS+=       --with-password-argon2=${BUILDLINK_PREFIX.argon2}
+.include "../../security/argon2/buildlink3.mk"
+.endif
+
+.if !empty(PKG_OPTIONS:Mdisable-filter-url)
+CFLAGS+=               -DDISABLE_FILTER_URL
+.endif
+
+DL_AUTO_VARS=          yes
+.include "../../mk/dlopen.buildlink3.mk"
diff -r 2f50d0d72839 -r 2f3004630b12 lang/php74/PLIST
--- /dev/null   Thu Jan 01 00:00:00 1970 +0000
+++ b/lang/php74/PLIST  Sun Dec 15 17:56:34 2019 +0000
@@ -0,0 +1,286 @@
+@comment $NetBSD: PLIST,v 1.1 2019/12/15 17:56:34 taca Exp $
+bin/phar
+bin/phar.phar
+bin/php
+bin/php-config
+bin/phpdbg
+bin/phpize
+include/php/TSRM/TSRM.h
+include/php/TSRM/tsrm_win32.h
+include/php/Zend/zend.h
+include/php/Zend/zend_API.h
+include/php/Zend/zend_alloc.h
+include/php/Zend/zend_alloc_sizes.h
+include/php/Zend/zend_arena.h
+include/php/Zend/zend_ast.h
+include/php/Zend/zend_bitset.h
+include/php/Zend/zend_build.h
+include/php/Zend/zend_builtin_functions.h
+include/php/Zend/zend_closures.h
+include/php/Zend/zend_compile.h
+include/php/Zend/zend_config.h
+include/php/Zend/zend_config.w32.h
+include/php/Zend/zend_constants.h



Home | Main Index | Thread Index | Old Index