From 5cd56853facba6b83926923f6240b264ae41b7b8 Mon Sep 17 00:00:00 2001
From: Christian Wiese <chris@opensde.org>
Date: Mon, 22 Oct 2012 11:19:07 +0200
Subject: [PATCH] flex: Updated (2.5.35 -> 2.5.37)

---
 base/flex/flex-2.5.35-gcc44-1.patch       |  40 --------
 base/flex/flex-2.5.37-bison-2.6.1-1.patch | 111 ++++++++++++++++++++++
 base/flex/flex.desc                       |   6 +-
 3 files changed, 114 insertions(+), 43 deletions(-)
 delete mode 100644 base/flex/flex-2.5.35-gcc44-1.patch
 create mode 100644 base/flex/flex-2.5.37-bison-2.6.1-1.patch

diff --git a/base/flex/flex-2.5.35-gcc44-1.patch b/base/flex/flex-2.5.35-gcc44-1.patch
deleted file mode 100644
index a790d0043..000000000
--- a/base/flex/flex-2.5.35-gcc44-1.patch
+++ /dev/null
@@ -1,40 +0,0 @@
-# --- SDE-COPYRIGHT-NOTE-BEGIN ---
-# This copyright note is auto-generated by ./scripts/Create-CopyPatch.
-#
-# Filename: package/.../flex/flex-2.5.35-gcc44-1.patch
-# Copyright (C) 2010 The OpenSDE Project
-#
-# More information can be found in the files COPYING and README.
-#
-# This patch file is dual-licensed. It is available under the license the
-# patched project is licensed under, as long as it is an OpenSource license
-# as defined at http://www.opensource.org/ (e.g. BSD, X11) or under the terms
-# of the GNU General Public License as published by the Free Software
-# Foundation; either version 2 of the License, or (at your option) any later
-# version.
-# --- SDE-COPYRIGHT-NOTE-END ---
-
-Submitted by: Matt Burgess (matthew at linuxfromscratch dot org)
-Date: 2009-05-03
-Initial Package Version: 2.5.35
-Origin: Matt Burgess
-Upstream Status: Submitted (attached to sourceforge bug 2178663)
-Description: Fixes an error caused by header cleanups in GCC 4.4.0 that is
-             evident from the test suite and would affect any C++ lexers
-             generated by Flex.  Without this patch, Flex will generate lexers
-             containing references to the 'EOF' symbol without including the
-             necessary C++ header file, leading to:
-
-             error: 'EOF' was not declared in this scope 
-
-diff -Naur flex-2.5.35.orig/skel.c flex-2.5.35/skel.c
---- flex-2.5.35.orig/skel.c	2008-02-26 21:34:19.000000000 +0000
-+++ flex-2.5.35/skel.c	2009-05-03 15:18:14.000000000 +0000
-@@ -284,6 +284,7 @@
-   "/* begin standard C++ headers. */",
-   "#include <iostream> ",
-   "#include <errno.h>",
-+  "#include <cstdio>",
-   "#include <cstdlib>",
-   "#include <cstring>",
-   "/* end standard C++ headers. */",
diff --git a/base/flex/flex-2.5.37-bison-2.6.1-1.patch b/base/flex/flex-2.5.37-bison-2.6.1-1.patch
new file mode 100644
index 000000000..64edfbfe9
--- /dev/null
+++ b/base/flex/flex-2.5.37-bison-2.6.1-1.patch
@@ -0,0 +1,111 @@
+# --- SDE-COPYRIGHT-NOTE-BEGIN ---
+# This copyright note is auto-generated by ./scripts/Create-CopyPatch.
+#
+# Filename: package/.../flex/flex-2.5.37-bison-2.6.1-1.patch
+# Copyright (C) 2012 The OpenSDE Project
+#
+# More information can be found in the files COPYING and README.
+#
+# This patch file is dual-licensed. It is available under the license the
+# patched project is licensed under, as long as it is an OpenSource license
+# as defined at http://www.opensource.org/ (e.g. BSD, X11) or under the terms
+# of the GNU General Public License as published by the Free Software
+# Foundation; either version 2 of the License, or (at your option) any later
+# version.
+# --- SDE-COPYRIGHT-NOTE-END ---
+
+Submitted By: Bruce Dubbs <bdubbs@linuxfromscratch.org>
+Date: 2012-08-20
+Initial Package Version: 2.5.36
+Origin: Redhat
+Description: This fixes two errors in the regression tests due to changes
+in bison.
+
+diff -up flex-2.5.36/tests/test-bison-yylloc/main.c~ flex-2.5.36/tests/test-bison-yylloc/main.c
+--- flex-2.5.36/tests/test-bison-yylloc/main.c~	2002-06-25 21:37:06.000000000 +0200
++++ flex-2.5.36/tests/test-bison-yylloc/main.c	2012-07-31 18:53:22.007394045 +0200
+@@ -21,8 +21,6 @@
+ #include "parser.h"
+ #include "scanner.h"
+ 
+-extern int testparse(yyscan_t);
+-
+ int main ( int argc, char** argv )
+ {
+     yyscan_t scanner;
+diff -up flex-2.5.36/tests/test-bison-yylloc/parser.y~ flex-2.5.36/tests/test-bison-yylloc/parser.y
+--- flex-2.5.36/tests/test-bison-yylloc/parser.y~	2002-07-25 02:43:47.000000000 +0200
++++ flex-2.5.36/tests/test-bison-yylloc/parser.y	2012-08-01 01:06:53.093155586 +0200
+@@ -21,6 +21,8 @@
+  * PURPOSE.
+  */
+ 
++%parse-param { void* scanner }
++
+ /* 
+    How to compile:
+    bison --defines --output-file="parser.c" --name-prefix="test" parser.y
+@@ -32,10 +34,8 @@
+ #include "config.h"
+ 
+ #define YYERROR_VERBOSE 1
+-#define YYPARSE_PARAM scanner
+ #define YYLEX_PARAM   scanner
+ 
+-int yyerror(char* msg);
+ extern int testget_lineno(void*);
+ 
+ 
+@@ -89,7 +89,7 @@ line:
+ 
+ %%
+ 
+-int yyerror(char* msg) {
++int yyerror(void* scanner, char* msg) {
+     fprintf(stderr,"%s\n",msg);
+     return 0;
+ }
+diff -up flex-2.5.36/tests/test-bison-yylval/main.c~ flex-2.5.36/tests/test-bison-yylval/main.c
+--- flex-2.5.36/tests/test-bison-yylval/main.c~	2002-06-25 21:37:06.000000000 +0200
++++ flex-2.5.36/tests/test-bison-yylval/main.c	2012-08-01 01:10:02.015510280 +0200
+@@ -24,8 +24,6 @@
+ #include "parser.h"
+ #include "scanner.h"
+ 
+-extern int testparse(yyscan_t);
+-
+ int main ( int argc, char** argv )
+ {
+     yyscan_t scanner;
+diff -up flex-2.5.36/tests/test-bison-yylval/parser.y~ flex-2.5.36/tests/test-bison-yylval/parser.y
+--- flex-2.5.36/tests/test-bison-yylval/parser.y~	2002-06-25 21:37:06.000000000 +0200
++++ flex-2.5.36/tests/test-bison-yylval/parser.y	2012-08-01 01:13:11.239867147 +0200
+@@ -25,6 +25,7 @@
+    How to compile:
+    bison --defines --output-file="parser.c" --name-prefix="test" parser.y
+  */
++%parse-param { void* scanner }
+ %{
+ #include <stdio.h>
+ #include <stdlib.h>
+@@ -32,11 +33,8 @@
+ #include "config.h"
+ 
+ #define YYERROR_VERBOSE 1
+-#define YYPARSE_PARAM scanner
+ #define YYLEX_PARAM   scanner
+ 
+-int yyerror(char* msg);
+-
+ 
+ /* A dummy function. A check against seg-faults in yylval->str. */
+ int process_text(char* s) {
+@@ -76,7 +74,7 @@ starttag:  LT      TAGNAME GT { process_
+ endtag:    LTSLASH TAGNAME GT { process_text($2);free($2);} ;
+ %%
+ 
+-int yyerror(char* msg) {
++int yyerror(void* scanner, char* msg) {
+     fprintf(stderr,"%s\n",msg);
+     return 0;
+ }
diff --git a/base/flex/flex.desc b/base/flex/flex.desc
index 1d119a6cc..8b70c233c 100644
--- a/base/flex/flex.desc
+++ b/base/flex/flex.desc
@@ -3,7 +3,7 @@
 [COPY] This copyright note is auto-generated by ./scripts/Create-CopyPatch.
 [COPY]
 [COPY] Filename: package/.../flex/flex.desc
-[COPY] Copyright (C) 2006 - 2010 The OpenSDE Project
+[COPY] Copyright (C) 2006 - 2012 The OpenSDE Project
 [COPY] Copyright (C) 2004 - 2006 The T2 SDE Project
 [COPY] Copyright (C) 1998 - 2004 Clifford Wolf
 [COPY]
@@ -31,8 +31,8 @@
 
 [L] BSD
 [S] Stable
-[V] 2.5.35
+[V] 2.5.37
 [P] X 01---5---9 102.080
 
-[D] 4117331176 flex-2.5.35.tar.bz2 http://dl.sourceforge.net/sourceforge/flex/
+[D] 29008239 flex-2.5.37.tar.bz2 http://dl.sourceforge.net/sourceforge/flex/