From 99b94b13e941169c82bfbd0a3ab33cba58cf2be0 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Lawrence=20Vel=C3=A1zquez?= <larryv@macports.org>
Date: Wed, 18 Mar 2015 03:32:25 -0400
Subject: [PATCH 3/6] lparse: Fix detection of Bison version

---
 dports/science/lparse/Portfile                          |  2 +-
 .../lparse/files/fix-bison-version-detection.patch      | 17 +++++++++++++++++
 dports/science/lparse/files/patch-configure.diff        | 11 -----------
 3 files changed, 18 insertions(+), 12 deletions(-)
 create mode 100644 dports/science/lparse/files/fix-bison-version-detection.patch
 delete mode 100644 dports/science/lparse/files/patch-configure.diff

diff --git a/dports/science/lparse/Portfile b/dports/science/lparse/Portfile
index f418c5b..5ed68ed 100644
--- a/dports/science/lparse/Portfile
+++ b/dports/science/lparse/Portfile
@@ -28,7 +28,7 @@ master_sites        ${homepage}/src/
 checksums           rmd160  131f6ea6235eeb7529d2564bb9ce904e5bc2358a \
                     sha256  886d29723f7188296e48584a4a32b8f111414acb7ca8490af28ef6b7f1717298
 
-patchfiles          patch-configure.diff \
+patchfiles          fix-bison-version-detection.patch \
                     fix-recursive-make.patch
 
 # this configure argument is only used for installing
diff --git a/dports/science/lparse/files/fix-bison-version-detection.patch b/dports/science/lparse/files/fix-bison-version-detection.patch
new file mode 100644
index 0000000..8c4a2ef
--- /dev/null
+++ b/dports/science/lparse/files/fix-bison-version-detection.patch
@@ -0,0 +1,17 @@
+The original regex for parsing Bison's version output somehow doesn't
+work at all with recent Bison. This one works with Bison 2.3 and 3.0.4,
+which covers our bases pretty well.
+
+Index: configure
+===================================================================
+--- configure.orig
++++ configure
+@@ -51,7 +51,7 @@ my $bison_version;
+ my $bison_letter;
+ my $bison_found = 0;
+ while (<IN>) {
+-  if (/[Bb]ison[^0-9]*(([0-9.]+)([a-z]+)?)*\s*$/) {
++  if (/^bison[^0-9]+(([0-9.]+)([a-z]*))\s*$/) {
+     my $whole_version = $1;
+     $bison_version = $2;
+     $bison_letter = $3;
diff --git a/dports/science/lparse/files/patch-configure.diff b/dports/science/lparse/files/patch-configure.diff
deleted file mode 100644
index ea2f35a..0000000
--- a/dports/science/lparse/files/patch-configure.diff
+++ /dev/null
@@ -1,11 +0,0 @@
---- configure.orig	2013-10-25 12:31:49.000000000 -0400
-+++ configure	2013-10-25 12:32:07.000000000 -0400
-@@ -51,7 +51,7 @@
- my $bison_letter;
- my $bison_found = 0;
- while (<IN>) {
--  if (/[Bb]ison[^0-9]*(([0-9.]+)([a-z]+)?)*\s*$/) {
-+  if (/[Bb]ison.*[^0-9]*(([0-9.]+)([a-z]+)?)*\s*$/) {
-     my $whole_version = $1;
-     $bison_version = $2;
-     $bison_letter = $3;
-- 
2.3.3

