[email protected] (Jérémie Courrèges-Anglas) writes:
> Nigel Taylor <[email protected]> writes:
>
>> On 11/10/15 13:00, Jérémie Courrèges-Anglas wrote:
>>>
>>> Hi,
>>>
>>> it's been a few years that our bison port hasn't been updated, the main
>>> reason being that our m4 doesn't groke some of the constructs used by
>>> newer bison releases. More and more packages out there require a recent
>>> bison version. As an OpenBSD developer, I don't think that building
>>> parsers using a recent bison on another OS is a valid answer to that
>>> problem.
>>>
>>> Yet, nobody found the time and motivation to implement the features /
>>> fix the bugs in m4.
>>>
>>> Here's my proposal: update bison to the latest version and make it use
>>> devel/m4 (GNU m4). *Then* *if* someone wants to make the efforts
>>> required for bison to use base m4, that would be awesome.
>>>
>>> Sorry if this sounds blunt, but this is the only way forward I can see.
>>>
>>> I'll be available later today to discuss this further if needed.
>>>
>>> Diff below,
>>>
>>
>> Failed to build for me...
>>
>> devel/help2man needs adding to BDEP.
>
> Thanks for spotting this! Here's an updated patch, fixing the BDEP and
> incorporating sthen's comment for the CONFIGURE_ENV tweak.
>
> I got only positive feedback so far, I'm now asking for oks. ;)
I forgot to mention a "small" detail: the ports that needed a fix were
discovered by a bulk build, the diff below went into a second bulk with
no breakage. Thanks Antoine for those bulks. :)
> Index: devel/bison/Makefile
> ===================================================================
> RCS file: /cvs/ports/devel/bison/Makefile,v
> retrieving revision 1.51
> diff -u -p -r1.51 Makefile
> --- devel/bison/Makefile 19 May 2015 09:54:53 -0000 1.51
> +++ devel/bison/Makefile 11 Nov 2015 17:41:46 -0000
> @@ -2,8 +2,7 @@
>
> COMMENT= GNU parser generator
>
> -DISTNAME= bison-2.3
> -REVISION= 2
> +DISTNAME= bison-3.0.4
> CATEGORIES= devel
> MASTER_SITES= ${MASTER_SITE_GNU:=bison/}
>
> @@ -14,10 +13,17 @@ PERMIT_PACKAGE_CDROM= Yes
>
> WANTLIB= c
> MODULES= devel/gettext
> -BUILD_DEPENDS= devel/m4
> +BUILD_DEPENDS= devel/help2man \
> + devel/m4
> +RUN_DEPENDS= devel/m4
>
> CONFIGURE_STYLE=gnu
> CONFIGURE_ARGS= --disable-yacc
> +# Set bison to use "m4 -g" instead of "m4 --gnu" to permit use with m4
> +# from the base OS by setting M4=/usr/bin/m4 in the environment. This is
> +# for development purposes; bison currently uses GNU regular expressions
> +# which are not compatible with base m4.
> +CONFIGURE_ENV+= ac_cv_prog_gnu_m4_gnu="-g"
> MODGNU_CONFIG_GUESS_DIRS=${WRKSRC}/build-aux
>
> .include <bsd.port.mk>
> Index: devel/bison/distinfo
> ===================================================================
> RCS file: /cvs/ports/devel/bison/distinfo,v
> retrieving revision 1.9
> diff -u -p -r1.9 distinfo
> --- devel/bison/distinfo 18 Jan 2015 03:13:08 -0000 1.9
> +++ devel/bison/distinfo 11 Nov 2015 17:41:46 -0000
> @@ -1,2 +1,2 @@
> -SHA256 (bison-2.3.tar.gz) = UveKpHYadM63/fdw81VN2EMIw7k8QlXjpcF1WOzaKT4=
> -SIZE (bison-2.3.tar.gz) = 1386694
> +SHA256 (bison-3.0.4.tar.gz) = tn/S2q56ZLW6hixmwHwa3bnmsbBcXyBJOSz9iiFylS4=
> +SIZE (bison-3.0.4.tar.gz) = 3354179
> Index: devel/bison/patches/patch-configure
> ===================================================================
> RCS file: devel/bison/patches/patch-configure
> diff -N devel/bison/patches/patch-configure
> --- devel/bison/patches/patch-configure 8 Jul 2008 00:24:17 -0000
> 1.3
> +++ /dev/null 1 Jan 1970 00:00:00 -0000
> @@ -1,16 +0,0 @@
> -$OpenBSD: patch-configure,v 1.3 2008/07/08 00:24:17 brad Exp $
> ---- configure.orig Mon Jun 5 03:32:01 2006
> -+++ configure Sun Jun 29 22:09:16 2008
> -@@ -16768,10 +16768,10 @@ s,@host_cpu@,$host_cpu,;t t
> - s,@host_vendor@,$host_vendor,;t t
> - s,@host_os@,$host_os,;t t
> - s,@INTL_MACOSX_LIBS@,$INTL_MACOSX_LIBS,;t t
> --s,@LIBICONV@,$LIBICONV,;t t
> -+s,@LIBICONV@,$LTLIBICONV,;t t
> - s,@LTLIBICONV@,$LTLIBICONV,;t t
> - s,@INTLLIBS@,$INTLLIBS,;t t
> --s,@LIBINTL@,$LIBINTL,;t t
> -+s,@LIBINTL@,$LTLIBINTL,;t t
> - s,@LTLIBINTL@,$LTLIBINTL,;t t
> - s,@POSUB@,$POSUB,;t t
> - s,@UNISTD_H@,$UNISTD_H,;t t
> Index: devel/bison/patches/patch-data_m4sugar_m4sugar_m4
> ===================================================================
> RCS file: /cvs/ports/devel/bison/patches/patch-data_m4sugar_m4sugar_m4,v
> retrieving revision 1.2
> diff -u -p -r1.2 patch-data_m4sugar_m4sugar_m4
> --- devel/bison/patches/patch-data_m4sugar_m4sugar_m4 8 Jul 2008 00:24:17
> -0000 1.2
> +++ devel/bison/patches/patch-data_m4sugar_m4sugar_m4 11 Nov 2015 17:41:46
> -0000
> @@ -1,7 +1,7 @@
> $OpenBSD: patch-data_m4sugar_m4sugar_m4,v 1.2 2008/07/08 00:24:17 brad Exp $
> ---- data/m4sugar/m4sugar.m4.orig Mon Nov 14 03:13:07 2005
> -+++ data/m4sugar/m4sugar.m4 Sun Jun 29 22:09:16 2008
> -@@ -55,13 +55,6 @@ divert(-1)#
> +--- data/m4sugar/m4sugar.m4.orig Fri Aug 2 17:03:17 2013
> ++++ data/m4sugar/m4sugar.m4 Fri Nov 6 20:39:48 2015
> +@@ -31,13 +31,6 @@ divert(-1)#
> changequote()
> changequote([, ])
>
> Index: devel/bison/patches/patch-data_yacc_c
> ===================================================================
> RCS file: devel/bison/patches/patch-data_yacc_c
> diff -N devel/bison/patches/patch-data_yacc_c
> --- devel/bison/patches/patch-data_yacc_c 19 May 2015 09:54:53 -0000
> 1.1
> +++ /dev/null 1 Jan 1970 00:00:00 -0000
> @@ -1,46 +0,0 @@
> -$OpenBSD: patch-data_yacc_c,v 1.1 2015/05/19 09:54:53 kettenis Exp $
> ---- data/yacc.c.orig Mon May 18 18:07:15 2015
> -+++ data/yacc.c Mon May 18 18:08:26 2015
> -@@ -307,10 +307,10 @@ typedef short int yytype_int16;
> - # define alloca _alloca
> - # else
> - # define YYSTACK_ALLOC alloca
> --# if ! defined _ALLOCA_H && ! defined _STDLIB_H && ]b4_c_modern[
> -+# if ! defined _ALLOCA_H && ! defined EXIT_SUCCESS && ]b4_c_modern[
> - # include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
> --# ifndef _STDLIB_H
> --# define _STDLIB_H 1
> -+# ifndef EXIT_SUCCESS
> -+# define EXIT_SUCCESS 0
> - # endif
> - # endif
> - # endif
> -@@ -333,23 +333,23 @@ typedef short int yytype_int16;
> - # ifndef YYSTACK_ALLOC_MAXIMUM
> - # define YYSTACK_ALLOC_MAXIMUM YYSIZE_MAXIMUM
> - # endif
> --# if (defined __cplusplus && ! defined _STDLIB_H \
> -+# if (defined __cplusplus && ! defined EXIT_SUCCESS \
> - && ! ((defined YYMALLOC || defined malloc) \
> - && (defined YYFREE || defined free)))
> - # include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
> --# ifndef _STDLIB_H
> --# define _STDLIB_H 1
> -+# ifndef EXIT_SUCCESS
> -+# define EXIT_SUCCESS 0
> - # endif
> - # endif
> - # ifndef YYMALLOC
> - # define YYMALLOC malloc
> --# if ! defined malloc && ! defined _STDLIB_H && ]b4_c_modern[
> -+# if ! defined malloc && ! defined EXIT_SUCCESS && ]b4_c_modern[
> - void *malloc (YYSIZE_T); /* INFRINGES ON USER NAME SPACE */
> - # endif
> - # endif
> - # ifndef YYFREE
> - # define YYFREE free
> --# if ! defined free && ! defined _STDLIB_H && ]b4_c_modern[
> -+# if ! defined free && ! defined EXIT_SUCCESS && ]b4_c_modern[
> - void free (void *); /* INFRINGES ON USER NAME SPACE */
> - # endif
> - # endif
> Index: devel/bison/patches/patch-src_output_c
> ===================================================================
> RCS file: devel/bison/patches/patch-src_output_c
> diff -N devel/bison/patches/patch-src_output_c
> --- devel/bison/patches/patch-src_output_c 14 Apr 2012 12:22:25 -0000
> 1.5
> +++ /dev/null 1 Jan 1970 00:00:00 -0000
> @@ -1,50 +0,0 @@
> -$OpenBSD: patch-src_output_c,v 1.5 2012/04/14 12:22:25 espie Exp $
> ---- src/output.c.orig Sun May 14 22:40:35 2006
> -+++ src/output.c Fri Apr 13 20:38:39 2012
> -@@ -501,7 +501,8 @@ output_skeleton (void)
> - FILE *in;
> - FILE *out;
> - int filter_fd[2];
> -- char const *argv[6];
> -+ char const *argv[7];
> -+ int i;
> - pid_t pid;
> -
> - /* Compute the names of the package data dir and skeleton file.
> -@@ -512,7 +513,7 @@ output_skeleton (void)
> - char *full_m4sugar;
> - char *full_skeleton;
> - char const *p;
> -- char const *m4 = (p = getenv ("M4")) ? p : M4;
> -+ char const *m4 = (p = getenv ("M4")) ? p : "/usr/bin/m4";
> - char const *pkgdatadir = (p = getenv ("BISON_PKGDATADIR")) ? p :
> PKGDATADIR;
> - size_t skeleton_size = strlen (skeleton) + 1;
> - size_t pkgdatadirlen = strlen (pkgdatadir);
> -@@ -534,12 +535,21 @@ output_skeleton (void)
> - fprintf (stderr, "running: %s %s - %s\n",
> - m4, full_m4sugar, full_skeleton);
> -
> -- argv[0] = m4;
> -- argv[1] = full_m4sugar;
> -- argv[2] = "-";
> -- argv[3] = full_skeleton;
> -- argv[4] = trace_flag & trace_m4 ? "-dV" : NULL;
> -- argv[5] = NULL;
> -+ i = 0;
> -+ argv[i++] = m4;
> -+ p = strrchr(m4, '/');
> -+ if (p)
> -+ p++;
> -+ else
> -+ p = m4;
> -+ if (strcmp(p, "m4") == 0) {
> -+ argv[i++] = "-g";
> -+ }
> -+ argv[i++] = full_m4sugar;
> -+ argv[i++] = "-";
> -+ argv[i++] = full_skeleton;
> -+ argv[i++] = trace_flag & trace_m4 ? "-dV" : NULL;
> -+ argv[i++] = NULL;
> -
> - init_subpipe ();
> - pid = create_subpipe (argv, filter_fd);
> Index: devel/bison/pkg/PLIST
> ===================================================================
> RCS file: /cvs/ports/devel/bison/pkg/PLIST,v
> retrieving revision 1.9
> diff -u -p -r1.9 PLIST
> --- devel/bison/pkg/PLIST 8 Jul 2008 00:24:17 -0000 1.9
> +++ devel/bison/pkg/PLIST 11 Nov 2015 17:41:46 -0000
> @@ -1,39 +1,96 @@
> @comment $OpenBSD: PLIST,v 1.9 2008/07/08 00:24:17 brad Exp $
> @bin bin/bison
> @info info/bison.info
> +@comment lib/charset.alias
> @man man/man1/bison.1
> +share/aclocal/
> share/aclocal/bison-i18n.m4
> share/bison/
> share/bison/README
> +share/bison/bison.m4
> +share/bison/c++-skel.m4
> share/bison/c++.m4
> +share/bison/c-like.m4
> +share/bison/c-skel.m4
> share/bison/c.m4
> share/bison/glr.c
> share/bison/glr.cc
> +share/bison/java-skel.m4
> +share/bison/java.m4
> share/bison/lalr1.cc
> +share/bison/lalr1.java
> share/bison/location.cc
> share/bison/m4sugar/
> +share/bison/m4sugar/foreach.m4
> share/bison/m4sugar/m4sugar.m4
> +share/bison/stack.hh
> +share/bison/variant.hh
> +share/bison/xslt/
> +share/bison/xslt/bison.xsl
> +share/bison/xslt/xml2dot.xsl
> +share/bison/xslt/xml2text.xsl
> +share/bison/xslt/xml2xhtml.xsl
> share/bison/yacc.c
> +share/doc/bison/
> +share/doc/bison/AUTHORS
> +share/doc/bison/COPYING
> +share/doc/bison/NEWS
> +share/doc/bison/README
> +share/doc/bison/THANKS
> +share/doc/bison/TODO
> +share/doc/bison/examples/
> +share/doc/bison/examples/calc++/
> +share/doc/bison/examples/calc++/calc++-driver.cc
> +share/doc/bison/examples/calc++/calc++-driver.hh
> +share/doc/bison/examples/calc++/calc++-parser.yy
> +share/doc/bison/examples/calc++/calc++-scanner.ll
> +share/doc/bison/examples/calc++/calc++.cc
> +share/doc/bison/examples/mfcalc/
> +share/doc/bison/examples/mfcalc/calc.h
> +share/doc/bison/examples/mfcalc/mfcalc.y
> +share/doc/bison/examples/rpcalc/
> +share/doc/bison/examples/rpcalc/rpcalc.y
> +share/locale/ast/
> +share/locale/ast/LC_MESSAGES/
> +share/locale/ast/LC_MESSAGES/bison-runtime.mo
> share/locale/da/LC_MESSAGES/bison-runtime.mo
> share/locale/da/LC_MESSAGES/bison.mo
> share/locale/de/LC_MESSAGES/bison-runtime.mo
> share/locale/de/LC_MESSAGES/bison.mo
> +share/locale/el/LC_MESSAGES/bison-runtime.mo
> +share/locale/el/LC_MESSAGES/bison.mo
> +share/locale/eo/LC_MESSAGES/bison-runtime.mo
> +share/locale/eo/LC_MESSAGES/bison.mo
> share/locale/es/LC_MESSAGES/bison-runtime.mo
> share/locale/es/LC_MESSAGES/bison.mo
> share/locale/et/LC_MESSAGES/bison-runtime.mo
> share/locale/et/LC_MESSAGES/bison.mo
> +share/locale/fi/LC_MESSAGES/bison-runtime.mo
> +share/locale/fi/LC_MESSAGES/bison.mo
> share/locale/fr/LC_MESSAGES/bison-runtime.mo
> share/locale/fr/LC_MESSAGES/bison.mo
> share/locale/ga/LC_MESSAGES/bison-runtime.mo
> share/locale/ga/LC_MESSAGES/bison.mo
> +share/locale/gl/LC_MESSAGES/bison-runtime.mo
> share/locale/hr/LC_MESSAGES/bison-runtime.mo
> share/locale/hr/LC_MESSAGES/bison.mo
> +share/locale/hu/LC_MESSAGES/bison-runtime.mo
> +share/locale/ia/
> +share/locale/ia/LC_MESSAGES/
> +share/locale/ia/LC_MESSAGES/bison-runtime.mo
> share/locale/id/LC_MESSAGES/bison-runtime.mo
> share/locale/id/LC_MESSAGES/bison.mo
> share/locale/it/LC_MESSAGES/bison-runtime.mo
> share/locale/it/LC_MESSAGES/bison.mo
> share/locale/ja/LC_MESSAGES/bison-runtime.mo
> share/locale/ja/LC_MESSAGES/bison.mo
> +share/locale/ky/
> +share/locale/ky/LC_MESSAGES/
> +share/locale/ky/LC_MESSAGES/bison-runtime.mo
> +share/locale/lt/
> +share/locale/lt/LC_MESSAGES/
> +share/locale/lt/LC_MESSAGES/bison-runtime.mo
> +share/locale/lv/LC_MESSAGES/bison-runtime.mo
> share/locale/ms/
> share/locale/ms/LC_MESSAGES/
> share/locale/ms/LC_MESSAGES/bison-runtime.mo
> @@ -44,21 +101,32 @@ share/locale/nl/LC_MESSAGES/bison-runtim
> share/locale/nl/LC_MESSAGES/bison.mo
> share/locale/pl/LC_MESSAGES/bison-runtime.mo
> share/locale/pl/LC_MESSAGES/bison.mo
> +share/locale/pt/LC_MESSAGES/bison-runtime.mo
> +share/locale/pt/LC_MESSAGES/bison.mo
> share/locale/pt_BR/LC_MESSAGES/bison-runtime.mo
> share/locale/pt_BR/LC_MESSAGES/bison.mo
> share/locale/ro/LC_MESSAGES/bison-runtime.mo
> share/locale/ro/LC_MESSAGES/bison.mo
> share/locale/ru/LC_MESSAGES/bison-runtime.mo
> share/locale/ru/LC_MESSAGES/bison.mo
> -share/locale/rw/
> -share/locale/rw/LC_MESSAGES/
> -share/locale/rw/LC_MESSAGES/bison-runtime.mo
> -share/locale/rw/LC_MESSAGES/bison.mo
> share/locale/sl/LC_MESSAGES/bison-runtime.mo
> +share/locale/sq/
> +share/locale/sq/LC_MESSAGES/
> +share/locale/sq/LC_MESSAGES/bison-runtime.mo
> +share/locale/sr/LC_MESSAGES/bison-runtime.mo
> +share/locale/sr/LC_MESSAGES/bison.mo
> share/locale/sv/LC_MESSAGES/bison-runtime.mo
> share/locale/sv/LC_MESSAGES/bison.mo
> +share/locale/th/
> +share/locale/th/LC_MESSAGES/
> +share/locale/th/LC_MESSAGES/bison-runtime.mo
> share/locale/tr/LC_MESSAGES/bison-runtime.mo
> share/locale/tr/LC_MESSAGES/bison.mo
> +share/locale/uk/LC_MESSAGES/bison-runtime.mo
> +share/locale/uk/LC_MESSAGES/bison.mo
> share/locale/vi/LC_MESSAGES/bison-runtime.mo
> share/locale/vi/LC_MESSAGES/bison.mo
> +share/locale/zh_CN/LC_MESSAGES/bison-runtime.mo
> +share/locale/zh_CN/LC_MESSAGES/bison.mo
> share/locale/zh_TW/LC_MESSAGES/bison-runtime.mo
> +share/locale/zh_TW/LC_MESSAGES/bison.mo
> Index: multimedia/avinfo/Makefile
> ===================================================================
> RCS file: /cvs/ports/multimedia/avinfo/Makefile,v
> retrieving revision 1.6
> diff -u -p -r1.6 Makefile
> --- multimedia/avinfo/Makefile 16 Feb 2015 22:57:10 -0000 1.6
> +++ multimedia/avinfo/Makefile 11 Nov 2015 17:41:46 -0000
> @@ -4,7 +4,7 @@ COMMENT= utility for audio-video informa
>
> DISTNAME= avinfo-1.0.a15unix
> PKGNAME= ${DISTNAME:S/unix//}
> -REVISION = 0
> +REVISION = 1
>
> CATEGORIES= multimedia
>
> Index: multimedia/avinfo/patches/patch-src_ass_y
> ===================================================================
> RCS file: /cvs/ports/multimedia/avinfo/patches/patch-src_ass_y,v
> retrieving revision 1.1.1.1
> diff -u -p -r1.1.1.1 patch-src_ass_y
> --- multimedia/avinfo/patches/patch-src_ass_y 1 Sep 2010 10:26:04 -0000
> 1.1.1.1
> +++ multimedia/avinfo/patches/patch-src_ass_y 11 Nov 2015 17:41:46 -0000
> @@ -1,6 +1,32 @@
> $OpenBSD: patch-src_ass_y,v 1.1.1.1 2010/09/01 10:26:04 kevlo Exp $
> ---- src/ass.y.orig Tue Aug 31 17:33:31 2010
> -+++ src/ass.y Tue Aug 31 17:34:29 2010
> +
> +- Bison 3 fixes.
> +- logic fix for a==b==c case.
> +
> +--- src/ass.y.orig Fri Apr 22 07:31:53 2005
> ++++ src/ass.y Mon Nov 9 00:11:33 2015
> +@@ -25,17 +25,17 @@
> + #include "ass.h"
> + #include "ass.tab.h"
> +
> +-#define YYLEX_PARAM lexer_ctl
> +-#define YYPARSE_PARAM lexer_ctl
> + #define line (((lexerctl_t*)lexer_ctl)->line)
> + #define pos (((lexerctl_t*)lexer_ctl)->c)
> +
> +-int yyerror( const char *s );
> ++int yyerror( void *lexer_ctl, const char *s );
> + int yylex (YYSTYPE *lval, void* lexer_ctl);
> +
> + %}
> +
> +-%pure_parser
> ++%define api.pure
> ++%parse-param { void *lexer_ctl }
> ++%lex-param { void *lexer_ctl }
> +
> + %union{
> + int letter;
> @@ -224,7 +224,7 @@ var_t Op(var_t var1, var_t var2, int op_type){
> break;
> case '/':res.number=var2.number?var1.number/var2.number:1;
> @@ -10,3 +36,21 @@ $OpenBSD: patch-src_ass_y,v 1.1.1.1 2010
> else
> res.number=(var1.number!=var2.number);
> break;
> case '=':if(var1.type==t_STRING && var2.type==t_STRING)
> res.number=!STRCMP(var1.string,var2.string);
> +@@ -258,7 +258,7 @@ var_t Op(var_t var1, var_t var2, int op_type){
> + return res;
> + }
> +
> +-int yyerror (const char *s) /* ¢ë§ë¢ ¥âáï yyparse ¢ á«ãç ¥ ®è¨¡ª¨ */
> ++int yyerror (void *lexer_ctl, const char *s) /* ¢ë§ë¢ ¥âáï yyparse ¢ á«ãç ¥
> ®è¨¡ª¨ */
> + {
> + printf ("\n(error in template)\n");
> + return 1;
> +@@ -308,7 +308,7 @@ int iskeyword(char* string){
> + #define skip_digit(a,b) {while(isdigit(a[(b)])) (b)++;}
> + #define skip_alpha(a,b) {while(isalpha(a[(b)])) (b)++;}
> +
> +-int yylex (YYSTYPE *yylval, void* lexer_ctl){
> ++int yylex (YYSTYPE *yylval, void *lexer_ctl){
> + char *buffer=NULL;
> + char *string=NULL;
> + char *string_pointer;
> Index: multimedia/gstreamer-0.10/core/Makefile
> ===================================================================
> RCS file: /cvs/ports/multimedia/gstreamer-0.10/core/Makefile,v
> retrieving revision 1.38
> diff -u -p -r1.38 Makefile
> --- multimedia/gstreamer-0.10/core/Makefile 21 Apr 2015 18:51:25 -0000
> 1.38
> +++ multimedia/gstreamer-0.10/core/Makefile 11 Nov 2015 17:41:46 -0000
> @@ -4,7 +4,7 @@ COMMENT= framework for streaming media
>
> V= 0.10.36
> DISTNAME= gstreamer-${V}
> -REVISION= 7
> +REVISION= 8
>
> SHARED_LIBS += gstreamer-0.10 3.0 # 30.0
> SHARED_LIBS += gstbase-0.10 3.0 # 30.0
> Index: multimedia/gstreamer-0.10/core/patches/patch-gst_parse_grammar_y
> ===================================================================
> RCS file: multimedia/gstreamer-0.10/core/patches/patch-gst_parse_grammar_y
> diff -N multimedia/gstreamer-0.10/core/patches/patch-gst_parse_grammar_y
> --- /dev/null 1 Jan 1970 00:00:00 -0000
> +++ multimedia/gstreamer-0.10/core/patches/patch-gst_parse_grammar_y 11 Nov
> 2015 17:41:46 -0000
> @@ -0,0 +1,15 @@
> +$OpenBSD$
> +--- gst/parse/grammar.y.orig Sat Nov 7 22:14:02 2015
> ++++ gst/parse/grammar.y Sat Nov 7 22:17:53 2015
> +@@ -648,9 +648,10 @@ static int yyerror (void *scanner, graph_t *graph, con
> + %right '.'
> + %left '!' '='
> +
> ++%define api.pure
> + %parse-param { void *scanner }
> + %parse-param { graph_t *graph }
> +-%pure-parser
> ++%lex-param { void *scanner }
> +
> + %start graph
> + %%
> Index: textproc/xxdiff/Makefile
> ===================================================================
> RCS file: /cvs/ports/textproc/xxdiff/Makefile,v
> retrieving revision 1.35
> diff -u -p -r1.35 Makefile
> --- textproc/xxdiff/Makefile 8 Nov 2015 19:52:55 -0000 1.35
> +++ textproc/xxdiff/Makefile 11 Nov 2015 17:41:46 -0000
> @@ -3,6 +3,7 @@
> COMMENT= graphical file comparator and merge tool
>
> DISTNAME= xxdiff-4.0
> +REVISION= 0
> CATEGORIES= textproc x11
>
> HOMEPAGE= http://furius.ca/xxdiff/
> Index: textproc/xxdiff/patches/patch-resParser_cpp
> ===================================================================
> RCS file: textproc/xxdiff/patches/patch-resParser_cpp
> diff -N textproc/xxdiff/patches/patch-resParser_cpp
> --- /dev/null 1 Jan 1970 00:00:00 -0000
> +++ textproc/xxdiff/patches/patch-resParser_cpp 11 Nov 2015 17:41:46
> -0000
> @@ -0,0 +1,29 @@
> +$OpenBSD$
> +
> +Bison 3 fixes from
> https://bitbucket.org/blais/xxdiff/commits/b4c5e8fdb78a5b570b6129ef78568b419a6d58c7
> +
> +--- resParser.cpp.orig Sun Nov 8 17:21:55 2015
> ++++ resParser.cpp Sun Nov 8 17:22:52 2015
> +@@ -69,11 +69,11 @@
> +
> *============================================================================*/
> +
> + // Parser routine defined in the yacc parser.
> +-extern int resParserparse( void* );
> ++extern int resParserparse( XxResources* );
> +
> +
> //------------------------------------------------------------------------------
> + //
> +-void resParsererror( const char* msg )
> ++void resParsererror( void *, const char* msg )
> + {
> + // Send errors to stdout so we can filter out the debug info shmeglu
> while
> + // debugging parser.
> +@@ -794,7 +794,7 @@ int parseFromKeywordList(
> + QString os;
> + QTextStream oss( &os );
> + oss << "Unknown " << errmsg << ": " << name << flush;
> +- resParsererror( os.toLatin1().constData() );
> ++ resParsererror( NULL, os.toLatin1().constData() );
> + }
> + num = ERROR_TOKEN;
> + return ERROR_TOKEN;
> Index: textproc/xxdiff/patches/patch-resParser_y
> ===================================================================
> RCS file: textproc/xxdiff/patches/patch-resParser_y
> diff -N textproc/xxdiff/patches/patch-resParser_y
> --- /dev/null 1 Jan 1970 00:00:00 -0000
> +++ textproc/xxdiff/patches/patch-resParser_y 11 Nov 2015 17:41:46 -0000
> @@ -0,0 +1,79 @@
> +$OpenBSD$
> +
> +Bison 3 fixes from
> https://bitbucket.org/blais/xxdiff/commits/b4c5e8fdb78a5b570b6129ef78568b419a6d58c7
> +
> +--- resParser.y.orig Sun Nov 8 17:20:56 2015
> ++++ resParser.y Sun Nov 8 17:26:48 2015
> +@@ -20,11 +20,6 @@
> + *
> +
> ******************************************************************************/
> +
> +-%union
> +-{
> +- int num;
> +- char* str;
> +-}
> + %{
> +
> + // xxdiff imports
> +@@ -39,12 +34,23 @@
> +
> + // The parser input is the resources object to fill in.
> + #define RESOURCES ( static_cast<XxResources*>(resources) )
> +-#define YYPARSE_PARAM resources
> ++%}
> +
> ++%define api.pure
> ++
> ++%parse-param {XxResources * resources}
> ++
> ++%union
> ++{
> ++ int num;
> ++ char* str;
> ++}
> ++
> ++%{
> + // Declare lexer from other compilation unit.
> + int resParserlex( YYSTYPE* yylval );
> +
> +-void resParsererror( const char* msg );
> ++void resParsererror( void *, const char* msg );
> +
> + // Declare some parser functions and data defined in resParser.cpp
> + namespace XxResParserNS {
> +@@ -144,7 +150,6 @@ using namespace XxResParserNS; // Make sure we can use
> + %type <num> boolkwd
> +
> + %start xxdiffrc
> +-%pure_parser
> +
> + %%
> + xxdiffrc : stmts
> +@@ -188,7 +193,7 @@ prefgeometry : PREFGEOMETRY COLON GEOMSPEC
> + RESOURCES->setPreferredGeometry( geometry );
> + }
> + else {
> +- yyerror( "Bad geometry specification." );
> ++ yyerror( NULL, "Bad geometry specification." );
> + // Should never happen, the lexer regexp should be
> tough
> + // enough.
> + }
> +@@ -212,7 +217,7 @@ style : STYLE COLON STRING
> + QString err = QString( "Requested style key does not
> exist." );
> + err += QString( "\nValid styles are: " );
> + err += styles.join( ", " );
> +- yyerror( err.toLatin1().constData() );
> ++ yyerror( NULL, err.toLatin1().constData() );
> + }
> + }
> + ;
> +@@ -224,7 +229,7 @@ accel : ACCEL DOT ACCELNAME COLON STRING
> + char buf[2048];
> + ::snprintf( buf, 2048,
> + "Unrecognized accelerator: %s\n", $5 );
> +- yyerror( buf );
> ++ yyerror( NULL, buf );
> + }
> + }
> + ;
> Index: multimedia/libaacs/Makefile
> ===================================================================
> RCS file: /cvs/ports/multimedia/libaacs/Makefile,v
> retrieving revision 1.10
> diff -u -p -r1.10 Makefile
> --- multimedia/libaacs/Makefile 22 May 2015 12:38:29 -0000 1.10
> +++ multimedia/libaacs/Makefile 11 Nov 2015 17:41:46 -0000
> @@ -5,6 +5,7 @@ SHARED_ONLY = Yes
> COMMENT = AACS support library for Blu-ray playback
>
> V = 0.8.1
> +REVISION = 0
> DISTNAME = libaacs-${V}
>
> CATEGORIES = multimedia
> @@ -25,7 +26,7 @@ WANTLIB += c gcrypt gpg-error
> MODULES = devel/gettext
>
> LIB_DEPENDS = security/libgcrypt
> -BUILD_DEPENDS = devel/bison>=2.3p2 \
> +BUILD_DEPENDS = devel/bison \
> devel/flex
>
> SEPARATE_BUILD = Yes
> Index: multimedia/libaacs/patches/patch-src_file_keydbcfg-parser_y
> ===================================================================
> RCS file:
> /cvs/ports/multimedia/libaacs/patches/patch-src_file_keydbcfg-parser_y,v
> retrieving revision 1.1
> diff -u -p -r1.1 patch-src_file_keydbcfg-parser_y
> --- multimedia/libaacs/patches/patch-src_file_keydbcfg-parser_y 22 May
> 2015 12:38:29 -0000 1.1
> +++ multimedia/libaacs/patches/patch-src_file_keydbcfg-parser_y 11 Nov
> 2015 17:41:46 -0000
> @@ -1,35 +0,0 @@
> -$OpenBSD: patch-src_file_keydbcfg-parser_y,v 1.1 2015/05/22 12:38:29
> ajacoutot Exp $
> -
> -Revert
> -5052152c235195f5fa780d0aafcb3053fe3b4ec8;hp=491da2919dea5e624a2344eed1c5dc77a461be4d
> -to allow building with older bison.
> -
> ---- src/file/keydbcfg-parser.y.orig Fri Jan 23 06:27:45 2015
> -+++ src/file/keydbcfg-parser.y Sat May 9 15:13:23 2015
> -@@ -1,8 +1,4 @@
> --%code requires {
> --#include "file/keydbcfg.h"
> --}
> --
> --%code {
> -+%{
> - /*
> - * This file is part of libaacs
> - * Copyright (C) 2010 gates
> -@@ -22,6 +18,7 @@
> - * <http://www.gnu.org/licenses/>.
> - */
> -
> -+#include "file/keydbcfg.h"
> - #include "util/macro.h"
> -
> - #include <stdio.h>
> -@@ -87,7 +84,7 @@ extern int libaacs_yyget_lineno (void *scanner);
> -
> - /* uncomment the line below for debugging */
> - // int yydebug = 1;
> --}
> -+%}
> - /* Options set to generate a reentrant parser that is POSIX yacc compatible
> - * The basic 'scanner' parameters are set. Also, another parameter is set
> - * to pass in a title entry list struct used to hold all title entries.
> Index: devel/splint/Makefile
> ===================================================================
> RCS file: /cvs/ports/devel/splint/Makefile,v
> retrieving revision 1.12
> diff -u -p -r1.12 Makefile
> --- devel/splint/Makefile 18 Oct 2013 11:29:42 -0000 1.12
> +++ devel/splint/Makefile 11 Nov 2015 17:41:46 -0000
> @@ -3,6 +3,7 @@
> COMMENT = advanced lint: statically check C programs
> DISTNAME = splint-3.1.2
> DISTFILES = splint-3.1.2.src.tgz
> +REVISION = 0
> CATEGORIES = devel
>
> HOMEPAGE = http://www.splint.org/
> Index: devel/splint/patches/patch-src_cgrammar_y
> ===================================================================
> RCS file: devel/splint/patches/patch-src_cgrammar_y
> diff -N devel/splint/patches/patch-src_cgrammar_y
> --- /dev/null 1 Jan 1970 00:00:00 -0000
> +++ devel/splint/patches/patch-src_cgrammar_y 11 Nov 2015 17:41:46 -0000
> @@ -0,0 +1,28 @@
> +$OpenBSD$
> +
> +Bison 3 fixes.
> +
> +--- src/cgrammar.y.orig Sat Nov 7 19:30:29 2015
> ++++ src/cgrammar.y Sat Nov 7 19:32:27 2015
> +@@ -877,7 +877,7 @@ specClauseListExpr
> + ;
> +
> + optSpecClauseList
> +- : /* empty */ { DPRINTF ((message("Empty optSpecClauseList") )); $$ =
> sRefSet_undefined }
> ++: /* empty */ { DPRINTF ((message("Empty optSpecClauseList") )); $$ =
> sRefSet_undefined; }
> + | specClauseList
> + ;
> +
> +@@ -963,10 +963,10 @@ sizeofExpr
> + sizeofExprAux { context_sizeofReleaseVars (); $$ = $3; }
> + ;
> +
> +-processSizeof: {context_enterSizeof()};
> ++processSizeof: {context_enterSizeof();};
> +
> +
> +-endprocessSizeof: {context_leaveSizeof()};
> ++endprocessSizeof: {context_leaveSizeof();};
> +
> +
> + sizeofExprAux
> Index: devel/splint/patches/patch-src_mtgrammar_y
> ===================================================================
> RCS file: devel/splint/patches/patch-src_mtgrammar_y
> diff -N devel/splint/patches/patch-src_mtgrammar_y
> --- /dev/null 1 Jan 1970 00:00:00 -0000
> +++ devel/splint/patches/patch-src_mtgrammar_y 11 Nov 2015 17:41:46
> -0000
> @@ -0,0 +1,15 @@
> +$OpenBSD$
> +
> +Bison 3 fixes.
> +
> +--- src/mtgrammar.y.orig Sat Nov 7 16:02:08 2015
> ++++ src/mtgrammar.y Sat Nov 7 16:02:55 2015
> +@@ -57,7 +57,7 @@ static void yyprint (/*FILE *p_file, int p_type, YYSTY
> +
> + %}
> +
> +-%pure_parser
> ++%define api.pure
> +
> + %union {
> + mttok tok;
> Index: devel/splint/patches/patch-src_signature_y
> ===================================================================
> RCS file: devel/splint/patches/patch-src_signature_y
> diff -N devel/splint/patches/patch-src_signature_y
> --- /dev/null 1 Jan 1970 00:00:00 -0000
> +++ devel/splint/patches/patch-src_signature_y 11 Nov 2015 17:41:46
> -0000
> @@ -0,0 +1,15 @@
> +$OpenBSD$
> +
> +Bison 3 fixes.
> +
> +--- src/signature.y.orig Sat Nov 7 16:02:12 2015
> ++++ src/signature.y Sat Nov 7 16:02:41 2015
> +@@ -56,7 +56,7 @@ static void yyprint (/*FILE *p_file, int p_type, YYSTY
> +
> + %}
> +
> +-%pure_parser
> ++%define api.pure
> +
> + /* CONVENTIONS: Reserved words are in ALL CAPS (plus markerSym)
> + Characters appearing in the grammar are reserved:
> Index: net/irrtoolset/Makefile
> ===================================================================
> RCS file: /cvs/ports/net/irrtoolset/Makefile,v
> retrieving revision 1.1.1.1
> diff -u -p -r1.1.1.1 Makefile
> --- net/irrtoolset/Makefile 31 Oct 2014 16:43:44 -0000 1.1.1.1
> +++ net/irrtoolset/Makefile 11 Nov 2015 17:41:46 -0000
> @@ -3,6 +3,7 @@
> COMMENT= toolset for internet routing registries
>
> V= 5.0.1
> +REVISION= 0
> DISTNAME= irrtoolset-$V
>
> CATEGORIES= net
> Index: net/irrtoolset/patches/patch-src_rpsl_object_cc
> ===================================================================
> RCS file: net/irrtoolset/patches/patch-src_rpsl_object_cc
> diff -N net/irrtoolset/patches/patch-src_rpsl_object_cc
> --- /dev/null 1 Jan 1970 00:00:00 -0000
> +++ net/irrtoolset/patches/patch-src_rpsl_object_cc 11 Nov 2015 17:41:46
> -0000
> @@ -0,0 +1,27 @@
> +$OpenBSD$
> +
> +Bison 3 fixes from
> +
> https://github.com/irrtoolset/irrtoolset/commit/dba1df96d6eaaff35de912b7d0df2812bcdb412a
> +and
> +
> https://github.com/irrtoolset/irrtoolset/commit/26faa5b833ab1aceb568ee8e6c94577f0d994073
> +
> +--- src/rpsl/object.cc.orig Sat Nov 7 19:14:13 2015
> ++++ src/rpsl/object.cc Sat Nov 7 19:14:50 2015
> +@@ -57,7 +57,7 @@
> +
> + using namespace std;
> +
> +-extern int rpslparse(void *);
> ++extern int rpslparse(void);
> + extern void rpsl_scan_object(Object *);
> +
> + Object::~Object() {
> +@@ -128,7 +128,7 @@ bool Object::read(Buffer &buf, istream &in) {
> +
> + void Object::parse() {
> + rpsl_scan_object(this);
> +- rpslparse(this);
> ++ rpslparse();
> + validate();
> +
> + if (type) {
--
jca | PGP : 0x1524E7EE / 5135 92C1 AD36 5293 2BDF DDCC 0DFA 74AE 1524 E7EE