Updated bison to 2.4.3, this required adding in the recent gnulib patch to binary-io.h from Eric Blake.

This commit is contained in:
Scott McCreary
2011-01-25 19:44:05 +00:00
parent f5da03cce0
commit b47b82b097
2 changed files with 92 additions and 0 deletions

View File

@@ -0,0 +1,25 @@
DESCRIPTION="bison - A yacc-compatible parser generator"
HOMEPAGE="http://www.gnu.org/software/bison/bison.html"
SRC_URI="http://ftp.gnu.org/gnu/bison/bison-2.4.3.tar.gz"
CHECKSUM_MD5="ea45c778b36bdc7a720096819e292a73"
REVISION="2"
STATUS_HAIKU="stable"
DEPEND=""
BUILD {
cd bison-2.4.3
./configure --prefix=/boot/common --disable-nls
make
}
INSTALL {
cd bison-2.4.3
make install
}
TEST {
cd bison-2.4.3
make check
}
LICENSE="GNU GPL v3"
COPYRIGHT="1992-2010 Free Software Foundation, Inc."

View File

@@ -0,0 +1,67 @@
diff -urN bison-2.4.3/lib/binary-io.h bison-2.4.3-haiku/lib/binary-io.h
--- bison-2.4.3/lib/binary-io.h 2010-02-06 21:15:26.051118080 +0000
+++ bison-2.4.3-haiku/lib/binary-io.h 2011-01-26 11:15:38.000000000 +0000
@@ -19,24 +19,13 @@
#define _BINARY_H
/* For systems that distinguish between text and binary I/O.
- O_BINARY is usually declared in <fcntl.h>. */
+ O_BINARY is guaranteed by the gnulib <fcntl.h>. */
#include <fcntl.h>
/* The MSVC7 <stdio.h> doesn't like to be included after '#define fileno ...',
so we include it here first. */
#include <stdio.h>
-#if !defined O_BINARY && defined _O_BINARY
- /* For MSC-compatible compilers. */
-# define O_BINARY _O_BINARY
-# define O_TEXT _O_TEXT
-#endif
-#if defined __BEOS__ || defined __HAIKU__
- /* BeOS 5 and Haiku have O_BINARY and O_TEXT, but they have no effect. */
-# undef O_BINARY
-# undef O_TEXT
-#endif
-
/* SET_BINARY (fd);
changes the file descriptor fd to perform binary I/O. */
#if O_BINARY
@@ -58,8 +47,6 @@
# endif
#else
/* On reasonable systems, binary I/O is the default. */
-# undef O_BINARY
-# define O_BINARY 0
# define SET_BINARY(fd) /* do nothing */ ((void) 0)
#endif
diff -urN bison-2.4.3/src/location.c bison-2.4.3-haiku/src/location.c
--- bison-2.4.3/src/location.c 2010-08-06 00:37:58.001572864 +0000
+++ bison-2.4.3-haiku/src/location.c 2011-01-26 10:23:20.032505856 +0000
@@ -141,11 +141,11 @@
/* Must search in reverse since the file name field may
* contain `.' or `:'. */
char *delim = strrchr (loc_str, '.');
- aver (delim);
+ aver (delim != NULL);
*delim = '\0';
bound->column = atoi (delim+1);
delim = strrchr (loc_str, ':');
- aver (delim);
+ aver (delim != NULL);
*delim = '\0';
bound->line = atoi (delim+1);
bound->file = uniqstr_new (loc_str);
diff -urN bison-2.4.3/src/muscle_tab.c bison-2.4.3-haiku/src/muscle_tab.c
--- bison-2.4.3/src/muscle_tab.c 2010-08-06 00:37:58.065011712 +0000
+++ bison-2.4.3-haiku/src/muscle_tab.c 2011-01-26 10:23:20.033030144 +0000
@@ -338,7 +338,7 @@
{
location loc;
char const *value = muscle_find_const (key);
- aver (value);
+ aver (value != NULL);
aver (*value == '[');
aver (*++value == '[');
while (*++value)