Nigel Taylor <njtaylor0...@btinternet.com> 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. ;)

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

Reply via email to