From 2fddbad37f310ee5d697a8ea64fcf5b10ef48097 Mon Sep 17 00:00:00 2001 From: Diego Elio Pettenò Date: Tue, 22 May 2012 23:41:01 +0000 Subject: 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) --- dev-util/ragel/ChangeLog | 12 +- dev-util/ragel/files/ragel-6.6-ruby-1.9.2.patch | 46 ------ dev-util/ragel/files/ragel-6.7+gcc-4.7.patch | 178 ++++++++++++++++++++++++ dev-util/ragel/ragel-6.6-r1.ebuild | 45 ------ dev-util/ragel/ragel-6.7-r1.ebuild | 49 +++++++ dev-util/ragel/ragel-6.7.ebuild | 42 ------ 6 files changed, 237 insertions(+), 135 deletions(-) delete mode 100644 dev-util/ragel/files/ragel-6.6-ruby-1.9.2.patch create mode 100644 dev-util/ragel/files/ragel-6.7+gcc-4.7.patch delete mode 100644 dev-util/ragel/ragel-6.6-r1.ebuild create mode 100644 dev-util/ragel/ragel-6.7-r1.ebuild delete mode 100644 dev-util/ragel/ragel-6.7.ebuild (limited to 'dev-util/ragel') 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ò + +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 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?= -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?= +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ò +--- + 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 Element *AvlTree:: + } + + #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 Element *AvlTree:: + 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 Element *AvlTree:: + 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 Element *AvlTree:: + 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 Element *AvlTree:: + 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 bool BstTable:: + } + + 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 bool BstTable:: + + 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 Element *BstTable:: + } + + 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 Element *BstTable:: + } + + 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 Element *BstTable:: + } + + 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 Element *BstTable:: + } + + 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 Element *BstTable:: + } + + 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 void BubbleSort:: + 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:: + } + 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-r1.ebuild b/dev-util/ragel/ragel-6.7-r1.ebuild new file mode 100644 index 000000000000..8e6b07c00ba1 --- /dev/null +++ b/dev-util/ragel/ragel-6.7-r1.ebuild @@ -0,0 +1,49 @@ +# 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-r1.ebuild,v 1.1 2012/05/22 23:41:01 flameeyes Exp $ + +EAPI=4 + +inherit eutils autotools + +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 ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris" +IUSE="vim-syntax" + +DEPEND="" +RDEPEND="" + +# We need to get the txl language in Portage to have the tests :( +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} +} + +src_test() { + cd "${S}"/test + ./runtests.in || die +} + +src_install() { + default + + 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.ebuild deleted file mode 100644 index 2d74a5d2fff8..000000000000 --- a/dev-util/ragel/ragel-6.7.ebuild +++ /dev/null @@ -1,42 +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.7.ebuild,v 1.2 2011/12/24 11:25:22 grobian Exp $ - -EAPI=4 - -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 ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris" -IUSE="vim-syntax" - -DEPEND="" -RDEPEND="" - -# We need to get the txl language in Portage to have the tests :( -RESTRICT=test - -DOCS=( ChangeLog CREDITS README TODO ) - -src_configure() { - econf --docdir="${EPREFIX}"/usr/share/doc/${PF} -} - -src_test() { - cd "${S}"/test - ./runtests.in || die -} - -src_install() { - default - - if use vim-syntax; then - insinto /usr/share/vim/vimfiles/syntax - doins ragel.vim || die "doins ragel.vim failed" - fi -} -- cgit v1.2.3-65-gdbad