svn commit: r463640 - in branches/2018Q1: Mk www/waterfox/files
Jan Beich
jbeich at FreeBSD.org
Mon Mar 5 10:32:33 UTC 2018
Author: jbeich
Date: Mon Mar 5 10:32:32 2018
New Revision: 463640
URL: https://svnweb.freebsd.org/changeset/ports/463640
Log:
MFH: r463637
www/waterfox: drop bindgen workaround
Approved by: ports-secteam blanket
Added:
branches/2018Q1/www/waterfox/files/patch-bug1341234
- copied unchanged from r463637, head/www/waterfox/files/patch-bug1341234
Modified:
branches/2018Q1/Mk/bsd.gecko.mk
Directory Properties:
branches/2018Q1/ (props changed)
Modified: branches/2018Q1/Mk/bsd.gecko.mk
==============================================================================
--- branches/2018Q1/Mk/bsd.gecko.mk Mon Mar 5 10:22:20 2018 (r463639)
+++ branches/2018Q1/Mk/bsd.gecko.mk Mon Mar 5 10:32:32 2018 (r463640)
@@ -111,15 +111,6 @@ USE_XORG+= xcb
MESA_LLVM_VER?= 50
BUILD_DEPENDS+= llvm${MESA_LLVM_VER}>0:devel/llvm${MESA_LLVM_VER}
MOZ_EXPORT+= LLVM_CONFIG=llvm-config${MESA_LLVM_VER}
-.if ${MOZILLA_VER:R:R} < 58
-MOZ_EXPORT+= BINDGEN_CFLAGS="${BINDGEN_CFLAGS}"
-. if ! ${USE_MOZILLA:M-nspr}
-BINDGEN_CFLAGS+=-isystem${LOCALBASE}/include/nspr
-. endif
-. if ! ${USE_MOZILLA:M-pixman}
-BINDGEN_CFLAGS+=-isystem${LOCALBASE}/include/pixman-1
-. endif
-.endif # MOZILLA_VER < 58
.endif
.if ${OPSYS} == FreeBSD && ${OSREL} == 11.1
Copied: branches/2018Q1/www/waterfox/files/patch-bug1341234 (from r463637, head/www/waterfox/files/patch-bug1341234)
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ branches/2018Q1/www/waterfox/files/patch-bug1341234 Mon Mar 5 10:32:32 2018 (r463640, copy of r463637, head/www/waterfox/files/patch-bug1341234)
@@ -0,0 +1,215 @@
+commit 1009160a12a7
+Author: Nathan Froyd <froydnj at mozilla.com>
+Date: Fri Nov 10 10:05:36 2017 -0500
+
+ Bug 1341234 - part 0 - fix typo in AC_SUBST_SET checking; r=gps
+
+ The various AC_SUBST macros generate AC_SUBST_*FOO macros for holding the
+ values to substitute. The macros also cross-check the AC_SUBST_* macros
+ generated by other variants to make sure that you don't try to do
+ something like AC_SUBST(FOO) and AC_SUBST_SET(FOO). However, the check
+ in AC_SUBST_SET for AC_SUBST_LIST duplicate is missing an underscore:
+ the AC_SUBST_LIST macro generates another macro starting with
+ AC_SUBST_LIST_, but the AC_SUBST_SET macro checks for the prefix
+ AC_SUBST_LIST, which is missing the trailing underscore.
+
+ As we're going to be adding yet another AC_SUBST_* macro variant, and
+ therefore adding more checks to all existing macros, let's clean this up
+ before we start.
+---
+ build/autoconf/config.status.m4 | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git build/autoconf/config.status.m4 build/autoconf/config.status.m4
+index cede9d36928d..ae1a871952a9 100644
+--- build/autoconf/config.status.m4
++++ build/autoconf/config.status.m4
+@@ -24,7 +24,7 @@ dnl with values got from the value of the environment variable, split on
+ dnl whitespaces.
+ define([AC_SUBST_SET],
+ [ifdef([AC_SUBST_$1], [m4_fatal([Cannot use AC_SUBST and AC_SUBST_SET on the same variable ($1)])],
+-[ifdef([AC_SUBST_LIST$1], [m4_fatal([Cannot use AC_SUBST_LIST and AC_SUBST_SET on the same variable ($1)])],
++[ifdef([AC_SUBST_LIST_$1], [m4_fatal([Cannot use AC_SUBST_LIST and AC_SUBST_SET on the same variable ($1)])],
+ [ifdef([AC_SUBST_SET_$1], ,
+ [define([AC_SUBST_SET_$1], )dnl
+ AC_DIVERT_PUSH(MOZ_DIVERSION_SUBST)dnl
+
+commit 380dc56df216
+Author: Nathan Froyd <froydnj at mozilla.com>
+Date: Fri Nov 10 10:05:36 2017 -0500
+
+ Bug 1341234 - part 1 - add AC_SUBST_TOML_LIST macro; r=gps
+
+ Stylo's bindgen is configured partially through a .toml.in file that
+ substitutes the value of a configure variable (BINDGEN_CFLAGS) into a
+ TOML list. We can debate whether this is a good thing to do some other
+ time; the reality is that the current moz.configure code that provides
+ the set_config for BINDGEN_CFLAGS needs to perform all the quoting
+ itself.
+
+ We want, however, to define the substituted variable in old-configure.in
+ land (some of the values that will go into BINDGEN_CFLAGS are only
+ defined in old-configure.in, and are not trivially ported to
+ moz.configure), which means that we need to have quoting logic in
+ m4/Python when we generate config.status. This patch adds an
+ appropriate macro for doing so.
+---
+ build/autoconf/config.status.m4 | 25 ++++++++++++++++++++++---
+ 1 file changed, 22 insertions(+), 3 deletions(-)
+
+diff --git build/autoconf/config.status.m4 build/autoconf/config.status.m4
+index ae1a871952a9..c75575386129 100644
+--- build/autoconf/config.status.m4
++++ build/autoconf/config.status.m4
+@@ -12,12 +12,13 @@ dnl AC_SOMETHING(foo,AC_SUBST(),bar)
+ define([AC_SUBST],
+ [ifdef([AC_SUBST_SET_$1], [m4_fatal([Cannot use AC_SUBST and AC_SUBST_SET on the same variable ($1)])],
+ [ifdef([AC_SUBST_LIST_$1], [m4_fatal([Cannot use AC_SUBST and AC_SUBST_LIST on the same variable ($1)])],
++[ifdef([AC_SUBST_TOML_LIST_$1], [m4_fatal([Cannot use AC_SUBST and AC_SUBST_TOML_LIST on the same variable ($1)])],
+ [ifdef([AC_SUBST_$1], ,
+ [define([AC_SUBST_$1], )dnl
+ AC_DIVERT_PUSH(MOZ_DIVERSION_SUBST)dnl
+ (''' $1 ''', r''' [$]$1 ''')
+ AC_DIVERT_POP()dnl
+-])])])])
++])])])])])
+
+ dnl Like AC_SUBST, but makes the value available as a set in python,
+ dnl with values got from the value of the environment variable, split on
+@@ -25,12 +26,13 @@ dnl whitespaces.
+ define([AC_SUBST_SET],
+ [ifdef([AC_SUBST_$1], [m4_fatal([Cannot use AC_SUBST and AC_SUBST_SET on the same variable ($1)])],
+ [ifdef([AC_SUBST_LIST_$1], [m4_fatal([Cannot use AC_SUBST_LIST and AC_SUBST_SET on the same variable ($1)])],
++[ifdef([AC_SUBST_TOML_LIST_$1], [m4_fatal([Cannot use AC_SUBST_TOML_LIST and AC_SUBST_SET on the same variable ($1)])],
+ [ifdef([AC_SUBST_SET_$1], ,
+ [define([AC_SUBST_SET_$1], )dnl
+ AC_DIVERT_PUSH(MOZ_DIVERSION_SUBST)dnl
+ (''' $1 ''', unique_list(r''' [$]$1 '''.split()))
+ AC_DIVERT_POP()dnl
+-])])])])
++])])])])])
+
+ dnl Like AC_SUBST, but makes the value available as a list in python,
+ dnl with values got from the value of the environment variable, split on
+@@ -38,12 +40,29 @@ dnl whitespaces.
+ define([AC_SUBST_LIST],
+ [ifdef([AC_SUBST_$1], [m4_fatal([Cannot use AC_SUBST and AC_SUBST_LIST on the same variable ($1)])],
+ [ifdef([AC_SUBST_SET_$1], [m4_fatal([Cannot use AC_SUBST_SET and AC_SUBST_LIST on the same variable ($1)])],
++[ifdef([AC_SUBST_TOML_LIST_$1], [m4_fatal([Cannot use AC_SUBST_TOML_LIST and AC_SUBST_LIST on the same variable ($1)])],
+ [ifdef([AC_SUBST_LIST_$1], ,
+ [define([AC_SUBST_LIST_$1], )dnl
+ AC_DIVERT_PUSH(MOZ_DIVERSION_SUBST)dnl
+ (''' $1 ''', list(r''' [$]$1 '''.split()))
+ AC_DIVERT_POP()dnl
+-])])])])
++])])])])])
++
++dnl Like AC_SUBST, but makes the value available as a string of comma-separated
++dnl quoted strings in python, with values got from the value of the environment
++dnl variable, split on whitespaces. The value is suitable for embedding into a
++dnl .toml list.
++define([AC_SUBST_TOML_LIST],
++[ifdef([AC_SUBST_$1], [m4_fatal([Cannot use AC_SUBST and AC_SUBST_TOML_LIST on the same variable ($1)])],
++[ifdef([AC_SUBST_SET_$1], [m4_fatal([Cannot use AC_SUBST_SET and AC_SUBST_TOML_LIST on the same variable ($1)])],
++[ifdef([AC_SUBST_LIST_$1], [m4_fatal([Cannot use AC_SUBST_LIST and AC_SUBST_TOML_LIST on the same variable ($1)])],
++[ifdef([AC_SUBST_TOML_LIST_$1], ,
++[define([AC_SUBST_TOML_LIST_$1], )dnl
++AC_DIVERT_PUSH(MOZ_DIVERSION_SUBST)dnl
++ (''' $1 ''', r''' %s ''' % str(', '.join("'%s'" % s for s in r''' [$]$1 '''.split())))
++AC_DIVERT_POP()dnl
++])])])])])
++
+
+ dnl Ignore AC_SUBSTs for variables we don't have use for but that autoconf
+ dnl itself exports.
+
+commit 17b61015519a
+Author: Nathan Froyd <froydnj at mozilla.com>
+Date: Fri Nov 10 10:05:36 2017 -0500
+
+ Bug 1341234 - part 2 - add an intermediate step for determining bindgen's CFLAGS; r=gps
+
+ Add an intermediate step in old-configure.in for setting up
+ BINDGEN_CFLAGS (renamed to BINDGEN_SYSTEM_FLAGS), so we can add whatever
+ flags we like (e.g. for system libaries with their includes in
+ non-standard places) at a later point.
+---
+ build/moz.configure/toolchain.configure | 9 +++------
+ layout/style/bindgen.toml.in | 2 +-
+ old-configure.in | 3 +++
+ 3 files changed, 7 insertions(+), 7 deletions(-)
+
+diff --git build/moz.configure/toolchain.configure build/moz.configure/toolchain.configure
+index 002a4cbbc2f0..7e1a8acd5194 100755
+--- build/moz.configure/toolchain.configure
++++ build/moz.configure/toolchain.configure
+@@ -902,15 +902,12 @@ option(env='BINDGEN_CFLAGS',
+ help='Options bindgen should pass to the C/C++ parser')
+
+ @depends('BINDGEN_CFLAGS')
+- at checking('bindgen cflags', lambda s: s if s and s.strip() else 'no')
++ at checking('bindgen cflags', lambda s: s if s else 'no')
+ def bindgen_cflags(value):
+ if value and len(value):
+- # Reformat the env value for substitution into a toml list.
+- flags = value[0].split()
+- return ', '.join('"' + flag + '"' for flag in flags)
+- return ''
++ return value[0].split()
+
+-set_config('BINDGEN_CFLAGS', bindgen_cflags)
++add_old_configure_assignment('_BINDGEN_CFLAGS', bindgen_cflags)
+
+ @depends(c_compiler)
+ def default_debug_flags(compiler_info):
+diff --git layout/style/bindgen.toml.in layout/style/bindgen.toml.in
+index 7b1c72c86ec7..894008d0cfb6 100644
+--- layout/style/bindgen.toml.in
++++ layout/style/bindgen.toml.in
+@@ -1,4 +1,4 @@
+ [build]
+ args = [
+- @BINDGEN_CFLAGS@
++ @BINDGEN_SYSTEM_FLAGS@
+ ]
+diff --git old-configure.in old-configure.in
+index f95c55515094..dd69eca8ff69 100644
+--- old-configure.in
++++ old-configure.in
+@@ -4395,6 +4395,9 @@ AC_SUBST_LIST(MOZ_CAIRO_LIBS)
+ AC_SUBST_LIST(MOZ_CAIRO_OSLIBS)
+ AC_SUBST(MOZ_TREE_PIXMAN)
+
++BINDGEN_SYSTEM_FLAGS="$_BINDGEN_CFLAGS"
++AC_SUBST_TOML_LIST(BINDGEN_SYSTEM_FLAGS)
++
+ dnl ========================================================
+ dnl disable xul
+ dnl ========================================================
+
+commit 4d60ad6f6676
+Author: Nathan Froyd <froydnj at mozilla.com>
+Date: Fri Nov 10 10:05:36 2017 -0500
+
+ Bug 1341234 - part 3 - add various system library CFLAGS to BINDGEN_SYSTEM_FLAGS; r=gps
+
+ This change ensures that folks who configure --with-system-FOO for
+ various values of FOO can build Stylo, since bindgen will know where to
+ find the flags for said FOO packages.
+---
+ old-configure.in | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git old-configure.in old-configure.in
+index dd69eca8ff69..2f8161ad035e 100644
+--- old-configure.in
++++ old-configure.in
+@@ -4395,7 +4395,7 @@ AC_SUBST_LIST(MOZ_CAIRO_LIBS)
+ AC_SUBST_LIST(MOZ_CAIRO_OSLIBS)
+ AC_SUBST(MOZ_TREE_PIXMAN)
+
+-BINDGEN_SYSTEM_FLAGS="$_BINDGEN_CFLAGS"
++BINDGEN_SYSTEM_FLAGS="$_BINDGEN_CFLAGS $NSPR_CFLAGS $NSS_CFLAGS $MOZ_PIXMAN_CFLAGS $MOZ_CAIRO_CFLAGS"
+ AC_SUBST_TOML_LIST(BINDGEN_SYSTEM_FLAGS)
+
+ dnl ========================================================
More information about the svn-ports-branches
mailing list