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,

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        10 Nov 2015 12:50:07 -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/}
 
@@ -15,9 +14,12 @@ PERMIT_PACKAGE_CDROM=        Yes
 WANTLIB=       c
 MODULES=       devel/gettext
 BUILD_DEPENDS= devel/m4
+RUN_DEPENDS=   devel/m4
 
 CONFIGURE_STYLE=gnu
 CONFIGURE_ARGS=        --disable-yacc
+# Instead of --gnu, not recognized by m4 from base
+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        10 Nov 2015 12:50:07 -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   10 Nov 2015 12:50:07 
-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       10 Nov 2015 12:50:07 -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  10 Nov 2015 12:50:07 -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   10 Nov 2015 12:50:07 -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/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 10 Nov 2015 12:50:07 -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 10 Nov 2015 
12:50:07 -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: 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     10 Nov 2015 12:50:07 -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    10 Nov 
2015 12:50:07 -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    10 Nov 2015 12:50:07 -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 10 Nov 2015 12:50:07 -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   10 Nov 2015 12:50:07 -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: 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       10 Nov 2015 12:50:07 -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   10 Nov 2015 12:50:07 -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  10 Nov 2015 12:50:07 -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  10 Nov 2015 12:50:07 -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     10 Nov 2015 12:50:07 -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     10 Nov 2015 12:50:07 
-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

Reply via email to