diff --git a/sys-devel/bison/bison-2.6.2.recipe b/sys-devel/bison/bison-2.6.2.recipe deleted file mode 100644 index e6414b836..000000000 --- a/sys-devel/bison/bison-2.6.2.recipe +++ /dev/null @@ -1,33 +0,0 @@ -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.6.2.tar.gz" -CHECKSUM_MD5="8b8e458d4ce0cc184f1a58af93663647" -REVISION="15" -STATUS_HAIKU="stable" -MESSAGE="This port only builds with gcc4. Use 'setgcc gcc4' before building." -DEPEND="" -BUILD() -{ - cd bison-2.6.2 - ./configure --prefix=`finddir B_COMMON_DIRECTORY` \ - --datadir=`finddir B_COMMON_DATA_DIRECTORY` \ - --infodir=`finddir B_COMMON_DOCUMENTATION_DIRECTORY`/info \ - --mandir=`finddir B_COMMON_DOCUMENTATION_DIRECTORY`/man \ - --disable-nls - make -} - -INSTALL() -{ - cd bison-2.6.2 - make install -} - -TEST() -{ - cd bison-2.6.2 - make check -} - -LICENSE="GNU GPL v3" -COPYRIGHT="1992-2011 Free Software Foundation, Inc." diff --git a/sys-devel/bison/bison-2.5.recipe b/sys-devel/bison/bison-2.6.5.recipe similarity index 66% rename from sys-devel/bison/bison-2.5.recipe rename to sys-devel/bison/bison-2.6.5.recipe index 34edb12d4..6de2a61f6 100644 --- a/sys-devel/bison/bison-2.5.recipe +++ b/sys-devel/bison/bison-2.6.5.recipe @@ -13,25 +13,20 @@ in order to use Bison. HOMEPAGE="http://www.gnu.org/software/bison/bison.html" COPYRIGHT="1992-2011 Free Software Foundation, Inc." LICENSE="GNU GPL v3" -SRC_URI="http://ftp.gnu.org/gnu/bison/bison-2.5.tar.gz" -CHECKSUM_SHA256="722def46e4a19a5b7a579ef30db1965f86c37c1a20a5f0113743a2e4399f7c99" +SRC_URI="http://ftp.gnu.org/gnu/bison/bison-$portVersion.tar.gz" +CHECKSUM_SHA256="856487963d9d57eff2c5de54841d00ff36399f6a9f232711702701ce589c3afa" REVISION="1" -ARCHITECTURES="?x86 x86_64" -if [ $effectiveTargetArchitecture != x86_gcc2 ]; then - # x86_gcc2 is fine as primary target architecture as long as we're building - # for a different secondary architecture. - ARCHITECTURES="$ARCHITECTURES x86_gcc2" -fi -SECONDARY_ARCHITECTURES="x86" +ARCHITECTURES="x86_gcc2 x86 x86_64" +SECONDARY_ARCHITECTURES="x86 x86_gcc2" -PATCHES="bison-${portVersion}.patch" +PATCHES="bison-${portVersion}.patchset" PROVIDES=" - bison$secondaryArchSuffix = $portVersion compat >= 2.5 - cmd:bison$secondaryArchSuffix = $portVersion compat >= 2.5 + bison$secondaryArchSuffix = $portVersion compat >= 2.6 + cmd:bison$secondaryArchSuffix = $portVersion compat >= 2.6 cmd:yacc$secondaryArchSuffix - devel:liby$secondaryArchSuffix = $portVersion compat >= 2.5 + devel:liby$secondaryArchSuffix = $portVersion compat >= 2.6 " REQUIRES=" @@ -50,6 +45,9 @@ BUILD_PREREQUIRES=" cmd:m4 cmd:make cmd:sed + cmd:flex + cmd:makeinfo + cmd:perl " BUILD() diff --git a/sys-devel/bison/patches/bison-2.5-c89.diff b/sys-devel/bison/patches/bison-2.5-c89.diff deleted file mode 100644 index 7be2c780d..000000000 --- a/sys-devel/bison/patches/bison-2.5-c89.diff +++ /dev/null @@ -1,29 +0,0 @@ -diff -urN bison-2.5/src/AnnotationList.c bison-2.5-haiku/src/AnnotationList.c ---- bison-2.5/src/AnnotationList.c 2011-03-06 16:47:12.043515904 -0800 -+++ bison-2.5-haiku/src/AnnotationList.c 2012-08-26 09:54:44.000000000 -0700 -@@ -233,9 +233,10 @@ - AnnotationList *annotation_node = - AnnotationList__alloc_on_obstack ( - self->inadequacyNode->contributionCount, annotations_obstackp); -- annotation_node->inadequacyNode = self->inadequacyNode; - bool potential_contribution = false; - bitset *lookaheads = NULL; -+ annotation_node->inadequacyNode = self->inadequacyNode; -+ - { - ContributionIndex ci; - for (ci = 0; ci < self->inadequacyNode->contributionCount; ++ci) -diff -urN bison-2.5/src/ielr.c bison-2.5-haiku/src/ielr.c ---- bison-2.5/src/ielr.c 2011-03-06 16:47:12.044564480 -0800 -+++ bison-2.5-haiku/src/ielr.c 2012-08-26 10:05:25.000000000 -0700 -@@ -1032,9 +1032,9 @@ - lookahead sets. */ - if (!annotation_lists) - { -+ state_list *node; - timevar_push (TV_IELR_PHASE4); - initialize_LA (); -- state_list *node; - for (node = first_state; node; node = node->next) - if (!node->state->consistent) - { diff --git a/sys-devel/bison/patches/bison-2.5.patch b/sys-devel/bison/patches/bison-2.5.patch deleted file mode 100644 index cf4f0c08e..000000000 --- a/sys-devel/bison/patches/bison-2.5.patch +++ /dev/null @@ -1,29 +0,0 @@ -diff -urN bison-2.5/src/location.c bison-2.5-haiku/src/location.c ---- bison-2.5/src/location.c 2011-05-01 22:17:32.046137344 +0000 -+++ bison-2.5-haiku/src/location.c 2012-06-01 18:19:15.538443776 +0000 -@@ -144,11 +144,11 @@ - /* Must search in reverse since the file name field may - * contain `.' or `:'. */ - char *delim = mbsrchr (loc_str, '.'); -- aver (delim); -+ aver (delim != NULL); - *delim = '\0'; - bound->column = atoi (delim+1); - delim = mbsrchr (loc_str, ':'); -- aver (delim); -+ aver (delim != NULL); - *delim = '\0'; - bound->line = atoi (delim+1); - bound->file = uniqstr_new (loc_str); -diff -urN bison-2.5/src/muscle-tab.c bison-2.5-haiku/src/muscle-tab.c ---- bison-2.5/src/muscle-tab.c 2011-05-14 22:17:12.043253760 +0000 -+++ bison-2.5-haiku/src/muscle-tab.c 2012-06-01 18:16:05.827326464 +0000 -@@ -336,7 +336,7 @@ - { - location loc; - char const *value = muscle_find_const (key); -- aver (value); -+ aver (value != NULL); - aver (*value == '['); - aver (*++value == '['); - while (*++value) diff --git a/sys-devel/bison/patches/bison-2.6.2.patch b/sys-devel/bison/patches/bison-2.6.2.patch deleted file mode 100644 index 308e3e88b..000000000 --- a/sys-devel/bison/patches/bison-2.6.2.patch +++ /dev/null @@ -1,81 +0,0 @@ -diff -urN bison-2.6.2/src/AnnotationList.c bison-2.6.2-haiku/src/AnnotationList.c ---- bison-2.6.2/src/AnnotationList.c 2012-03-30 05:39:19.030146560 -0700 -+++ bison-2.6.2-haiku/src/AnnotationList.c 2012-09-30 11:25:40.750518272 -0700 -@@ -230,12 +230,13 @@ - state **predecessor; - for (predecessor = predecessors[s->number]; *predecessor; ++predecessor) - { -+ bool potential_contribution = false; -+ bitset *lookaheads = NULL; - AnnotationList *annotation_node = - AnnotationList__alloc_on_obstack ( - self->inadequacyNode->contributionCount, annotations_obstackp); - annotation_node->inadequacyNode = self->inadequacyNode; -- bool potential_contribution = false; -- bitset *lookaheads = NULL; -+ - { - ContributionIndex ci; - for (ci = 0; ci < self->inadequacyNode->contributionCount; ++ci) -diff -urN bison-2.6.2/src/ielr.c bison-2.6.2-haiku/src/ielr.c ---- bison-2.6.2/src/ielr.c 2012-03-30 05:39:19.032243712 -0700 -+++ bison-2.6.2-haiku/src/ielr.c 2012-09-30 11:28:10.713555968 -0700 -@@ -1032,9 +1032,9 @@ - lookahead sets. */ - if (!annotation_lists) - { -+ state_list *node; - timevar_push (TV_IELR_PHASE4); - initialize_LA (); -- state_list *node; - for (node = first_state; node; node = node->next) - if (!node->state->consistent) - { -diff -urN bison-2.6.2/src/location.c bison-2.6.2-haiku/src/location.c ---- bison-2.6.2/src/location.c 2012-03-30 05:39:19.033030144 -0700 -+++ bison-2.6.2-haiku/src/location.c 2012-09-30 10:32:52.147587072 -0700 -@@ -144,11 +144,11 @@ - /* Must search in reverse since the file name field may - * contain `.' or `:'. */ - char *delim = mbsrchr (loc_str, '.'); -- aver (delim); -+ aver (delim != NULL); - *delim = '\0'; - bound->column = atoi (delim+1); - delim = mbsrchr (loc_str, ':'); -- aver (delim); -+ aver (delim != NULL); - *delim = '\0'; - bound->line = atoi (delim+1); - bound->file = uniqstr_new (loc_str); -diff -urN bison-2.6.2/src/muscle-tab.c bison-2.6.2-haiku/src/muscle-tab.c ---- bison-2.6.2/src/muscle-tab.c 2012-07-30 09:06:21.033816576 -0700 -+++ bison-2.6.2-haiku/src/muscle-tab.c 2012-09-30 10:32:52.255852544 -0700 -@@ -344,7 +344,7 @@ - { - location loc; - char const *value = muscle_find_const (key); -- aver (value); -+ aver (value != NULL); - aver (*value == '['); - aver (*++value == '['); - while (*++value) -diff -urN bison-2.6.2/src/scan-code.l bison-2.6.2-haiku/src/scan-code.l ---- bison-2.6.2/src/scan-code.l 2012-07-30 09:06:21.009437184 -0700 -+++ bison-2.6.2-haiku/src/scan-code.l2 2012-09-30 19:52:46.294912000 -0700 -@@ -611,12 +611,12 @@ - indent += SUB_INDENT; - if (len == 0) - { -- location sym_loc = text_loc; -- sym_loc.start.column += 1; -- sym_loc.end = sym_loc.start; - const char *format = - _("syntax error after '%c', expecting integer, letter," - " '_', '[', or '$'"); -+ location sym_loc = text_loc; -+ sym_loc.start.column += 1; -+ sym_loc.end = sym_loc.start; - complain_at_indent (sym_loc, &indent, format, dollar_or_at); - } - else if (midrule_rhs_index) diff --git a/sys-devel/bison/patches/bison-2.6.5.patchset b/sys-devel/bison/patches/bison-2.6.5.patchset new file mode 100644 index 000000000..d8b50cf99 --- /dev/null +++ b/sys-devel/bison/patches/bison-2.6.5.patchset @@ -0,0 +1,100 @@ +From 9a1dd934ea2f8fd0f05cb9bb0c647514810342c4 Mon Sep 17 00:00:00 2001 +From: Jerome Duval +Date: Mon, 4 Aug 2014 19:41:40 +0000 +Subject: c89 patch + + +diff --git a/src/AnnotationList.c b/src/AnnotationList.c +index 4c1e0ae..97f35f6 100644 +--- a/src/AnnotationList.c ++++ b/src/AnnotationList.c +@@ -233,9 +233,10 @@ AnnotationList__computePredecessorAnnotations (AnnotationList *self, state *s, + AnnotationList *annotation_node = + AnnotationList__alloc_on_obstack ( + self->inadequacyNode->contributionCount, annotations_obstackp); +- annotation_node->inadequacyNode = self->inadequacyNode; + bool potential_contribution = false; + bitset *lookaheads = NULL; ++ annotation_node->inadequacyNode = self->inadequacyNode; ++ + { + ContributionIndex ci; + for (ci = 0; ci < self->inadequacyNode->contributionCount; ++ci) +diff --git a/src/getargs.c b/src/getargs.c +index 6490569..bbf1845 100644 +--- a/src/getargs.c ++++ b/src/getargs.c +@@ -267,6 +267,7 @@ static void usage (int) ATTRIBUTE_NORETURN; + static void + usage (int status) + { ++ const char *lc_messages = setlocale (LC_MESSAGES, NULL); + if (status != 0) + fprintf (stderr, _("Try `%s --help' for more information.\n"), + program_name); +@@ -370,7 +371,6 @@ THINGS is a list of comma separated words that can include:\n\ + /* Don't output this redundant message for English locales. + Note we still output for 'C' so that it gets included in the + man page. */ +- const char *lc_messages = setlocale (LC_MESSAGES, NULL); + if (lc_messages && strcmp (lc_messages, "en_")) + /* TRANSLATORS: Replace LANG_CODE in this URL with your language + code to +diff --git a/src/ielr.c b/src/ielr.c +index cde2baa..ce437e3 100644 +--- a/src/ielr.c ++++ b/src/ielr.c +@@ -1032,9 +1032,9 @@ ielr_split_states (bitsetv follow_kernel_items, bitsetv always_follows, + lookahead sets. */ + if (!annotation_lists) + { ++ state_list *node; + timevar_push (TV_IELR_PHASE4); + initialize_LA (); +- state_list *node; + for (node = first_state; node; node = node->next) + if (!node->state->consistent) + { +diff --git a/src/scan-code.l b/src/scan-code.l +index fa593be..54f2921 100644 +--- a/src/scan-code.l ++++ b/src/scan-code.l +@@ -611,12 +611,12 @@ parse_ref (char *cp, symbol_list *rule, int rule_length, + indent += SUB_INDENT; + if (len == 0) + { +- location sym_loc = text_loc; +- sym_loc.start.column += 1; +- sym_loc.end = sym_loc.start; + const char *format = + _("syntax error after '%c', expecting integer, letter," + " '_', '[', or '$'"); ++ location sym_loc = text_loc; ++ sym_loc.start.column += 1; ++ sym_loc.end = sym_loc.start; + complain_at_indent (sym_loc, &indent, format, dollar_or_at); + } + else if (midrule_rhs_index) +diff --git a/src/uniqstr.c b/src/uniqstr.c +index 62d09ca..4d5f0a7 100644 +--- a/src/uniqstr.c ++++ b/src/uniqstr.c +@@ -62,13 +62,14 @@ uniqstr_vsprintf (char const *format, ...) + va_start (args, format); + length = vsnprintf (NULL, 0, format, args); + va_end (args); +- ++{ + char res[length + 1]; + va_start (args, format); + vsprintf (res, format, args); + va_end (args); + return uniqstr_new (res); + } ++} + + /*------------------------------. + | Abort if S is not a uniqstr. | +-- +1.8.3.4 +