Date: Mon, 5 Mar 2018 09:37:57 +0000 (UTC) From: Jan Beich <jbeich@FreeBSD.org> To: ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org Subject: svn commit: r463637 - in head: Mk www/waterfox/files Message-ID: <201803050937.w259bvhg054268@repo.freebsd.org>
next in thread | raw e-mail | index | archive | help
Author: jbeich Date: Mon Mar 5 09:37:57 2018 New Revision: 463637 URL: https://svnweb.freebsd.org/changeset/ports/463637 Log: www/waterfox: drop bindgen workaround Added: head/www/waterfox/files/patch-bug1341234 (contents, props changed) Modified: head/Mk/bsd.gecko.mk (contents, props changed) Modified: head/Mk/bsd.gecko.mk ============================================================================== --- head/Mk/bsd.gecko.mk Mon Mar 5 09:36:29 2018 (r463636) +++ head/Mk/bsd.gecko.mk Mon Mar 5 09:37:57 2018 (r463637) @@ -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 Added: head/www/waterfox/files/patch-bug1341234 ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/www/waterfox/files/patch-bug1341234 Mon Mar 5 09:37:57 2018 (r463637) @@ -0,0 +1,215 @@ +commit 1009160a12a7 +Author: Nathan Froyd <froydnj@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@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@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') +-@checking('bindgen cflags', lambda s: s if s and s.strip() else 'no') ++@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@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 ========================================================
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201803050937.w259bvhg054268>