summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDiego Elio Pettenò <flameeyes@gentoo.org>2012-05-22 23:41:01 +0000
committerDiego Elio Pettenò <flameeyes@gentoo.org>2012-05-22 23:41:01 +0000
commit2fddbad37f310ee5d697a8ea64fcf5b10ef48097 (patch)
tree892df8106d95677adc4bbbfbdd5daba1a7d2242c /dev-util/ragel
parentBump to prerelease. (diff)
downloadgentoo-2-2fddbad37f310ee5d697a8ea64fcf5b10ef48097.tar.gz
gentoo-2-2fddbad37f310ee5d697a8ea64fcf5b10ef48097.tar.bz2
gentoo-2-2fddbad37f310ee5d697a8ea64fcf5b10ef48097.zip
Add patch to build with GCC 4.7; respect CXXFLAGS correctly. Closes bugs #394927 and #412347.
(Portage version: 2.2.0_alpha107/cvs/Linux x86_64)
Diffstat (limited to 'dev-util/ragel')
-rw-r--r--dev-util/ragel/ChangeLog12
-rw-r--r--dev-util/ragel/files/ragel-6.6-ruby-1.9.2.patch46
-rw-r--r--dev-util/ragel/files/ragel-6.7+gcc-4.7.patch178
-rw-r--r--dev-util/ragel/ragel-6.6-r1.ebuild45
-rw-r--r--dev-util/ragel/ragel-6.7-r1.ebuild (renamed from dev-util/ragel/ragel-6.7.ebuild)13
5 files changed, 198 insertions, 96 deletions
diff --git a/dev-util/ragel/ChangeLog b/dev-util/ragel/ChangeLog
index 4925110fe92a..143debe6380b 100644
--- a/dev-util/ragel/ChangeLog
+++ b/dev-util/ragel/ChangeLog
@@ -1,6 +1,14 @@
# ChangeLog for dev-util/ragel
-# Copyright 1999-2011 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/dev-util/ragel/ChangeLog,v 1.50 2011/12/24 11:25:22 grobian Exp $
+# Copyright 1999-2012 Gentoo Foundation; Distributed under the GPL v2
+# $Header: /var/cvsroot/gentoo-x86/dev-util/ragel/ChangeLog,v 1.51 2012/05/22 23:41:01 flameeyes Exp $
+
+*ragel-6.7-r1 (22 May 2012)
+
+ 22 May 2012; Diego E. Pettenò <flameeyes@gentoo.org>
+ +files/ragel-6.7+gcc-4.7.patch, +ragel-6.7-r1.ebuild,
+ -files/ragel-6.6-ruby-1.9.2.patch, -ragel-6.6-r1.ebuild, -ragel-6.7.ebuild:
+ Add patch to build with GCC 4.7; respect CXXFLAGS correctly. Closes bugs
+ #394927 and #412347.
24 Dec 2011; Fabian Groffen <grobian@gentoo.org> ragel-6.7.ebuild:
Marked ~sparc{,64}-solaris
diff --git a/dev-util/ragel/files/ragel-6.6-ruby-1.9.2.patch b/dev-util/ragel/files/ragel-6.6-ruby-1.9.2.patch
deleted file mode 100644
index 1408c50a46f2..000000000000
--- a/dev-util/ragel/files/ragel-6.6-ruby-1.9.2.patch
+++ /dev/null
@@ -1,46 +0,0 @@
-From 50dee06311df4d795b1473935da3cbc661835b73 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Diego=20Elio=20Petten=C3=B2?= <flameeyes@gmail.com>
-Date: Thu, 16 Dec 2010 07:44:41 +0100
-Subject: [PATCH] Fix generated code for Ruby 1.9 compatibility.
-
-In Ruby 1.9, the String class no longer works as a C-style array of (8-bit)
-characters, but supports multiple encoding. While it is obviously a task
-for the developer to ensure that the data array passed to the
-Ragel-generated code is in a compatible encoding, this also means that the
-simple dereference is not going to work:
-
-% ruby18 -e 'puts "foo"[0].class'
-Fixnum
-% ruby19 -e 'puts "foo"[0].class'
-String
-
-This is easily fixed by calling the #ord method on the dereferenced data,
-which will provide the ASCII ordinal (or UNICODE codepoint) for the single
-character.
-
-The produced code works correctly both on Ruby 1.8 and 1.9.2.
----
- ragel/rubycodegen.cpp | 7 +++++--
- 1 files changed, 5 insertions(+), 2 deletions(-)
-
-diff --git a/ragel/rubycodegen.cpp b/ragel/rubycodegen.cpp
-index 5117823..f329587 100644
---- a/ragel/rubycodegen.cpp
-+++ b/ragel/rubycodegen.cpp
-@@ -307,8 +307,11 @@ string RubyCodeGen::GET_KEY()
- ret << ")";
- }
- else {
-- /* Expression for retrieving the key, use simple dereference. */
-- ret << DATA() << "[" << P() << "]";
-+ /* Expression for retrieving the key, use dereference
-+ * and read ordinal, for compatibility with Ruby
-+ * 1.9.
-+ */
-+ ret << DATA() << "[" << P() << "].ord";
- }
- return ret.str();
- }
---
-1.7.3.3
-
diff --git a/dev-util/ragel/files/ragel-6.7+gcc-4.7.patch b/dev-util/ragel/files/ragel-6.7+gcc-4.7.patch
new file mode 100644
index 000000000000..80eb29a46f05
--- /dev/null
+++ b/dev-util/ragel/files/ragel-6.7+gcc-4.7.patch
@@ -0,0 +1,178 @@
+From 27454d1e55b2a5cefc3cc1044d036add9ee9a6d3 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Diego=20Elio=20Petten=C3=B2?= <flameeyes@flameeyes.eu>
+Date: Tue, 22 May 2012 16:25:37 -0700
+Subject: [PATCH] aapl: fix building with gcc-4.7.0
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Starting with GCC 4.7, you have to explicit methods inherited from
+base templates, otherwise it will refuse to build.
+
+---
+
+The URL reported in the README is no longer registered, so I couldn't
+find a way to report this to an upstream project.
+
+Signed-off-by: Diego Elio Pettenò <flameeyes@flameeyes.eu>
+---
+ aapl/avlcommon.h | 12 ++++++------
+ aapl/bstcommon.h | 16 ++++++++--------
+ aapl/bubblesort.h | 2 +-
+ aapl/mergesort.h | 2 +-
+ 4 files changed, 16 insertions(+), 16 deletions(-)
+
+diff --git a/aapl/avlcommon.h b/aapl/avlcommon.h
+index 06983bc..2e3c190 100644
+--- a/aapl/avlcommon.h
++++ b/aapl/avlcommon.h
+@@ -881,9 +881,9 @@ template <AVLMEL_TEMPDEF> Element *AvlTree<AVLMEL_TEMPUSE>::
+ }
+
+ #ifdef AVL_BASIC
+- keyRelation = compare( *element, *curEl );
++ keyRelation = this->compare( *element, *curEl );
+ #else
+- keyRelation = compare( element->BASEKEY(getKey()),
++ keyRelation = this->compare( element->BASEKEY(getKey()),
+ curEl->BASEKEY(getKey()) );
+ #endif
+
+@@ -920,7 +920,7 @@ template <AVLMEL_TEMPDEF> Element *AvlTree<AVLMEL_TEMPUSE>::
+ long keyRelation;
+
+ while (curEl) {
+- keyRelation = compare( *element, *curEl );
++ keyRelation = this->compare( *element, *curEl );
+
+ /* Do we go left? */
+ if ( keyRelation < 0 )
+@@ -969,7 +969,7 @@ template <AVLMEL_TEMPDEF> Element *AvlTree<AVLMEL_TEMPUSE>::
+ return element;
+ }
+
+- keyRelation = compare( key, curEl->BASEKEY(getKey()) );
++ keyRelation = this->compare( key, curEl->BASEKEY(getKey()) );
+
+ /* Do we go left? */
+ if ( keyRelation < 0 ) {
+@@ -1023,7 +1023,7 @@ template <AVLMEL_TEMPDEF> Element *AvlTree<AVLMEL_TEMPUSE>::
+ return element;
+ }
+
+- keyRelation = compare(key, curEl->getKey());
++ keyRelation = this->compare(key, curEl->getKey());
+
+ /* Do we go left? */
+ if ( keyRelation < 0 ) {
+@@ -1058,7 +1058,7 @@ template <AVLMEL_TEMPDEF> Element *AvlTree<AVLMEL_TEMPUSE>::
+ long keyRelation;
+
+ while (curEl) {
+- keyRelation = compare( key, curEl->BASEKEY(getKey()) );
++ keyRelation = this->compare( key, curEl->BASEKEY(getKey()) );
+
+ /* Do we go left? */
+ if ( keyRelation < 0 )
+diff --git a/aapl/bstcommon.h b/aapl/bstcommon.h
+index 888717f..7c53ff3 100644
+--- a/aapl/bstcommon.h
++++ b/aapl/bstcommon.h
+@@ -361,7 +361,7 @@ template <BST_TEMPL_DEF> bool BstTable<BST_TEMPL_USE>::
+ }
+
+ mid = lower + ((upper-lower)>>1);
+- keyRelation = compare(key, GET_KEY(*mid));
++ keyRelation = this->compare(key, GET_KEY(*mid));
+
+ if ( keyRelation < 0 )
+ upper = mid - 1;
+@@ -373,12 +373,12 @@ template <BST_TEMPL_DEF> bool BstTable<BST_TEMPL_USE>::
+
+ lower = mid - 1;
+ while ( lower != lowEnd &&
+- compare(key, GET_KEY(*lower)) == 0 )
++ this->compare(key, GET_KEY(*lower)) == 0 )
+ lower--;
+
+ upper = mid + 1;
+ while ( upper != highEnd &&
+- compare(key, GET_KEY(*upper)) == 0 )
++ this->compare(key, GET_KEY(*upper)) == 0 )
+ upper++;
+
+ low = (Element*)lower + 1;
+@@ -419,7 +419,7 @@ template <BST_TEMPL_DEF> Element *BstTable<BST_TEMPL_USE>::
+ }
+
+ mid = lower + ((upper-lower)>>1);
+- keyRelation = compare(key, GET_KEY(*mid));
++ keyRelation = this->compare(key, GET_KEY(*mid));
+
+ if ( keyRelation < 0 )
+ upper = mid - 1;
+@@ -457,7 +457,7 @@ template <BST_TEMPL_DEF> Element *BstTable<BST_TEMPL_USE>::
+ }
+
+ mid = lower + ((upper-lower)>>1);
+- keyRelation = compare(key, GET_KEY(*mid));
++ keyRelation = this->compare(key, GET_KEY(*mid));
+
+ if ( keyRelation < 0 )
+ upper = mid - 1;
+@@ -508,7 +508,7 @@ template <BST_TEMPL_DEF> Element *BstTable<BST_TEMPL_USE>::
+ }
+
+ mid = lower + ((upper-lower)>>1);
+- keyRelation = compare(key, GET_KEY(*mid));
++ keyRelation = this->compare(key, GET_KEY(*mid));
+
+ if ( keyRelation < 0 )
+ upper = mid - 1;
+@@ -603,7 +603,7 @@ template <BST_TEMPL_DEF> Element *BstTable<BST_TEMPL_USE>::
+ }
+
+ mid = lower + ((upper-lower)>>1);
+- keyRelation = compare(GET_KEY(el), GET_KEY(*mid));
++ keyRelation = this->compare(GET_KEY(el), GET_KEY(*mid));
+
+ if ( keyRelation < 0 )
+ upper = mid - 1;
+@@ -662,7 +662,7 @@ template <BST_TEMPL_DEF> Element *BstTable<BST_TEMPL_USE>::
+ }
+
+ mid = lower + ((upper-lower)>>1);
+- keyRelation = compare(GET_KEY(el), GET_KEY(*mid));
++ keyRelation = this->compare(GET_KEY(el), GET_KEY(*mid));
+
+ if ( keyRelation < 0 )
+ upper = mid - 1;
+diff --git a/aapl/bubblesort.h b/aapl/bubblesort.h
+index bcc2fb6..f0f4ce5 100644
+--- a/aapl/bubblesort.h
++++ b/aapl/bubblesort.h
+@@ -72,7 +72,7 @@ template <class T, class Compare> void BubbleSort<T,Compare>::
+ changed = false;
+ for ( long i = 0; i < len-pass; i++ ) {
+ /* Do we swap pos with the next one? */
+- if ( compare( data[i], data[i+1] ) > 0 ) {
++ if ( this->compare( data[i], data[i+1] ) > 0 ) {
+ char tmp[sizeof(T)];
+
+ /* Swap the two items. */
+diff --git a/aapl/mergesort.h b/aapl/mergesort.h
+index 68b8426..8cefa73 100644
+--- a/aapl/mergesort.h
++++ b/aapl/mergesort.h
+@@ -110,7 +110,7 @@ template< class T, class Compare> void MergeSort<T,Compare>::
+ }
+ else {
+ /* Both upper and lower left. */
+- if ( compare(*lower, *upper) <= 0 )
++ if ( this->compare(*lower, *upper) <= 0 )
+ memcpy( dest++, lower++, sizeof(T) );
+ else
+ memcpy( dest++, upper++, sizeof(T) );
+--
+1.7.8.6
+
diff --git a/dev-util/ragel/ragel-6.6-r1.ebuild b/dev-util/ragel/ragel-6.6-r1.ebuild
deleted file mode 100644
index 5854f5933833..000000000000
--- a/dev-util/ragel/ragel-6.6-r1.ebuild
+++ /dev/null
@@ -1,45 +0,0 @@
-# Copyright 1999-2011 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/dev-util/ragel/ragel-6.6-r1.ebuild,v 1.4 2011/07/15 17:36:45 mattst88 Exp $
-
-EAPI="3"
-
-inherit eutils
-
-DESCRIPTION="Compiles finite state machines from regular languages into executable code."
-HOMEPAGE="http://www.complang.org/ragel/"
-SRC_URI="http://www.complang.org/ragel/${P}.tar.gz"
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~x64-solaris ~x86-solaris"
-IUSE="vim-syntax"
-
-DEPEND=""
-RDEPEND=""
-
-# We need to get the txl language in Portage to have the tests :(
-RESTRICT=test
-
-src_prepare() {
- epatch "${FILESDIR}/${P}-ruby-1.9.2.patch"
-}
-
-src_configure() {
- econf --docdir="${EPREFIX}"/usr/share/doc/${PF} || die "econf failed"
-}
-
-src_test() {
- cd "${S}"/test
- ./runtests.in || die
-}
-
-src_install() {
- emake DESTDIR="${D}" install || die "make install failed"
- dodoc ChangeLog CREDITS README TODO || die "dodoc failed"
-
- if use vim-syntax; then
- insinto /usr/share/vim/vimfiles/syntax
- doins ragel.vim || die "doins ragel.vim failed"
- fi
-}
diff --git a/dev-util/ragel/ragel-6.7.ebuild b/dev-util/ragel/ragel-6.7-r1.ebuild
index 2d74a5d2fff8..8e6b07c00ba1 100644
--- a/dev-util/ragel/ragel-6.7.ebuild
+++ b/dev-util/ragel/ragel-6.7-r1.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-2011 Gentoo Foundation
+# Copyright 1999-2012 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/dev-util/ragel/ragel-6.7.ebuild,v 1.2 2011/12/24 11:25:22 grobian Exp $
+# $Header: /var/cvsroot/gentoo-x86/dev-util/ragel/ragel-6.7-r1.ebuild,v 1.1 2012/05/22 23:41:01 flameeyes Exp $
EAPI=4
-inherit eutils
+inherit eutils autotools
DESCRIPTION="Compiles finite state machines from regular languages into executable code."
HOMEPAGE="http://www.complang.org/ragel/"
@@ -23,6 +23,13 @@ RESTRICT=test
DOCS=( ChangeLog CREDITS README TODO )
+src_prepare() {
+ epatch "${FILESDIR}"/${P}+gcc-4.7.patch
+ sed -i -e '/CXXFLAGS/d' configure.ac
+
+ eautoreconf
+}
+
src_configure() {
econf --docdir="${EPREFIX}"/usr/share/doc/${PF}
}