summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorjdolecek <jdolecek@pkgsrc.org>2018-02-05 08:51:25 +0000
committerjdolecek <jdolecek@pkgsrc.org>2018-02-05 08:51:25 +0000
commita31e9b13ea4e83bef41bb0aa444edabacec2e605 (patch)
treee261cb3392a7eb3e87dd4b11f80a2ff2bdbcd797
parent852b8d81793f6dc6275e3162cd5dee949f16c6fd (diff)
downloadpkgsrc-a31e9b13ea4e83bef41bb0aa444edabacec2e605.tar.gz
Switch lang/php72 to use pkgsrc pcre library instead of the bundled one
PHP bundles it's own copy of pcre 8.41 with the distribution, which is used when build doesn't find system one. Switch to the pkgsrc pcre, so that we don't need to maintain local PHP JIT patch here. Upcoming PHP 7.3 already switched to pcre2, so no value maintaining private PCRE patch any more (if there ever was). XXX devel/pcre doesn't seem to enable PCRE JIT, might be good to do so
-rw-r--r--lang/php72/Makefile11
-rw-r--r--lang/php72/Makefile.common9
-rw-r--r--lang/php72/Makefile.php7
-rw-r--r--lang/php72/PLIST7
-rw-r--r--lang/php72/buildlink3.mk6
-rw-r--r--lang/php72/distinfo3
-rw-r--r--lang/php72/patches/patch-ext_pcre_pcrelib_config.h27
7 files changed, 21 insertions, 49 deletions
diff --git a/lang/php72/Makefile b/lang/php72/Makefile
index 6e9c7ead51f..843d6b21b86 100644
--- a/lang/php72/Makefile
+++ b/lang/php72/Makefile
@@ -1,11 +1,11 @@
-# $NetBSD: Makefile,v 1.4 2018/02/04 16:19:00 jdolecek Exp $
+# $NetBSD: Makefile,v 1.5 2018/02/05 08:51:25 jdolecek Exp $
#
# We can't omit PKGNAME here to handle PKG_OPTIONS.
#
PKGNAME= php-${PHP_VERSION:S/RC/rc/}
CATEGORIES= lang
-PKGREVISION= 1
+PKGREVISION= 2
HOMEPAGE= http://www.php.net/
COMMENT= PHP Hypertext Preprocessor version 7.2
@@ -42,13 +42,6 @@ SUBST_SED.path+= -e 's,@PREFIX@,${PREFIX},g'
INSTALLATION_DIRS+= ${CGIDIR} ${PHP_EXTENSION_DIR} ${EGDIR} share/php
-# segfault generating phar.phar for i386 & SPARC
-# revisit this if builtin PCRE is updated beyond PCRE1 8.38
-# https://bugs.php.net/bug.php?id=73880
-.if ${MACHINE_ARCH} != "x86_64"
-CONFIGURE_ARGS+= --without-pcre-jit
-.endif
-
# Make sure modules can link correctly
.if ${OPSYS} == "Darwin"
INSTALL_UNSTRIPPED= yes
diff --git a/lang/php72/Makefile.common b/lang/php72/Makefile.common
index cc51dad97f9..7432d2396f2 100644
--- a/lang/php72/Makefile.common
+++ b/lang/php72/Makefile.common
@@ -1,4 +1,4 @@
-# $NetBSD: Makefile.common,v 1.1 2017/11/15 08:56:12 jdolecek Exp $
+# $NetBSD: Makefile.common,v 1.2 2018/02/05 08:51:25 jdolecek Exp $
# used by lang/php72/Makefile.php
# used by lang/php/ext.mk
# used by meta-pkgs/php72-extensions/Makefile
@@ -18,3 +18,10 @@ CONFIGURE_ENV+= PHP_LIBXML_SHARED="1"
# 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.pcre?= build
+CONFIGURE_ARGS+= --with-pcre-dir=${BUILDLINK_PREFIX.pcre}
+.include "../../devel/pcre/buildlink3.mk"
diff --git a/lang/php72/Makefile.php b/lang/php72/Makefile.php
index 71a02556346..94efbcc28a8 100644
--- a/lang/php72/Makefile.php
+++ b/lang/php72/Makefile.php
@@ -1,4 +1,4 @@
-# $NetBSD: Makefile.php,v 1.3 2018/02/04 16:19:00 jdolecek Exp $
+# $NetBSD: Makefile.php,v 1.4 2018/02/05 08:51:25 jdolecek Exp $
# used by lang/php72/Makefile
# used by www/ap-php/Makefile
# used by www/php-fpm/Makefile
@@ -8,6 +8,9 @@
GCC_REQD+= 4.9
.endif
+# the binary actually needs full dep on PCRE
+BUILDLINK_DEPMETHOD.pcre= full
+
.include "../../lang/php72/Makefile.common"
DISTINFO_FILE= ${.CURDIR}/../../lang/php72/distinfo
@@ -44,6 +47,8 @@ CONFIGURE_ARGS+= --enable-xml
CONFIGURE_ARGS+= --with-libxml-dir=${PREFIX}
.include "../../textproc/libxml2/buildlink3.mk"
+CONFIGURE_ARGS+= --with-pcre-regex=${BUILDLINK_PREFIX.pcre}
+
PKG_OPTIONS_VAR= PKG_OPTIONS.${PHP_PKG_PREFIX}
PKG_SUPPORTED_OPTIONS+= inet6 ssl maintainer-zts readline argon2 sqlite3
PKG_SUGGESTED_OPTIONS+= inet6 ssl readline sqlite3
diff --git a/lang/php72/PLIST b/lang/php72/PLIST
index 0cd4b2b3af8..251bbd43253 100644
--- a/lang/php72/PLIST
+++ b/lang/php72/PLIST
@@ -1,4 +1,4 @@
-@comment $NetBSD: PLIST,v 1.1 2017/11/15 08:56:12 jdolecek Exp $
+@comment $NetBSD: PLIST,v 1.2 2018/02/05 08:51:25 jdolecek Exp $
bin/phar
bin/phar.phar
bin/php
@@ -131,11 +131,6 @@ include/php/ext/mysqlnd/mysqlnd_structs.h
include/php/ext/mysqlnd/mysqlnd_vio.h
include/php/ext/mysqlnd/mysqlnd_wireprotocol.h
include/php/ext/mysqlnd/php_mysqlnd.h
-include/php/ext/pcre/pcrelib/config.h
-include/php/ext/pcre/pcrelib/pcre.h
-include/php/ext/pcre/pcrelib/pcre_internal.h
-include/php/ext/pcre/pcrelib/pcreposix.h
-include/php/ext/pcre/pcrelib/ucp.h
include/php/ext/pcre/php_pcre.h
include/php/ext/phar/php_phar.h
include/php/ext/session/mod_files.h
diff --git a/lang/php72/buildlink3.mk b/lang/php72/buildlink3.mk
index c20bc48a552..8237d20407a 100644
--- a/lang/php72/buildlink3.mk
+++ b/lang/php72/buildlink3.mk
@@ -1,12 +1,12 @@
-# $NetBSD: buildlink3.mk,v 1.1 2017/11/15 08:56:12 jdolecek Exp $
+# $NetBSD: buildlink3.mk,v 1.2 2018/02/05 08:51:25 jdolecek Exp $
BUILDLINK_TREE+= php
.if !defined(PHP_BUILDLINK3_MK)
PHP_BUILDLINK3_MK:=
-BUILDLINK_API_DEPENDS.php+= php>=7.2.0rc1<7.3
-BUILDLINK_ABI_DEPENDS.php+= php>=7.2.0rc1<7.3
+BUILDLINK_API_DEPENDS.php+= php>=7.2.2nb2<7.3
+BUILDLINK_ABI_DEPENDS.php+= php>=7.2.2nb2<7.3
BUILDLINK_PKGSRCDIR.php?= ../../lang/php72
.include "../../textproc/libxml2/buildlink3.mk"
diff --git a/lang/php72/distinfo b/lang/php72/distinfo
index d0f6eaeee77..6887fab4b4c 100644
--- a/lang/php72/distinfo
+++ b/lang/php72/distinfo
@@ -1,4 +1,4 @@
-$NetBSD: distinfo,v 1.15 2018/02/04 16:19:00 jdolecek Exp $
+$NetBSD: distinfo,v 1.16 2018/02/05 08:51:25 jdolecek Exp $
SHA1 (php-7.2.2.tar.bz2) = 69903dabf7ceb4a84620683092e235b29d2d1066
RMD160 (php-7.2.2.tar.bz2) = c7193e0298ae8e709ad19129023ff213085f50ca
@@ -7,7 +7,6 @@ Size (php-7.2.2.tar.bz2) = 14618006 bytes
SHA1 (patch-configure) = 5dad0ba760f5fb6aa55dc3136655b78c29e23bca
SHA1 (patch-ext_gd_config.m4) = 67730ccc13410adaf8829f77a6b044f16e412489
SHA1 (patch-ext_imap_config.m4) = 6a667b2580901dccfd0174aec56dad629689d7bd
-SHA1 (patch-ext_pcre_pcrelib_config.h) = c5fba95856628f68639fe63feeef04a5f83d3916
SHA1 (patch-ext_phar_Makefile.frag) = 558869b60f8ed6674a3ba1d595a65f010df4c426
SHA1 (patch-ext_phar_phar_phar.php) = f630e3946b21b76d4fe857a43e00e25c9445f2c8
SHA1 (patch-ext_recode_recode.c) = 639bf762302c7a30c88d3f3fa862494e0f847bdb
diff --git a/lang/php72/patches/patch-ext_pcre_pcrelib_config.h b/lang/php72/patches/patch-ext_pcre_pcrelib_config.h
deleted file mode 100644
index 4995e471fc4..00000000000
--- a/lang/php72/patches/patch-ext_pcre_pcrelib_config.h
+++ /dev/null
@@ -1,27 +0,0 @@
-$NetBSD: patch-ext_pcre_pcrelib_config.h,v 1.1 2017/11/15 08:56:12 jdolecek Exp $
-
---- ext/pcre/pcrelib/config.h.orig 2016-09-29 02:15:39.000000000 +0000
-+++ ext/pcre/pcrelib/config.h
-@@ -400,8 +400,21 @@ them both to 0; an emulation function wi
-
- /* Define to any value to enable support for Just-In-Time compiling. */
- #if HAVE_PCRE_JIT_SUPPORT
--#define SUPPORT_JIT
-+#if defined(__i386__) || defined(__i386) \
-+|| defined(__x86_64__) \
-+|| defined(__arm__) || defined(__ARM__) \
-+|| defined (__aarch64__) \
-+|| defined(__ppc64__) || defined(__powerpc64__) || defined(_ARCH_PPC64) \
-+|| (defined(_POWER) && defined(__64BIT__)) \
-+|| defined(__ppc__) || defined(__powerpc__) || defined(_ARCH_PPC) \
-+|| defined(_ARCH_PWR) || defined(_ARCH_PWR2) || defined(_POWER) \
-+|| (defined(__mips__) && !defined(_LP64)) \
-+|| defined(__mips64) \
-+|| defined(__sparc__) || defined(__sparc) \
-+|| defined(__tilegx__)
-+ #define SUPPORT_JIT
- #endif
-+#endif /* HAVE_PCRE_JIT_SUPPORT */
-
- /* Define to any value to allow pcregrep to be linked with libbz2, so that it
- is able to handle .bz2 files. */