summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'dev-util/kelbt')
-rw-r--r--dev-util/kelbt/Manifest1
-rw-r--r--dev-util/kelbt/files/ragel-6.7+gcc-4.7.patch178
-rw-r--r--dev-util/kelbt/kelbt-0.15.ebuild45
-rw-r--r--dev-util/kelbt/metadata.xml10
4 files changed, 234 insertions, 0 deletions
diff --git a/dev-util/kelbt/Manifest b/dev-util/kelbt/Manifest
new file mode 100644
index 000000000000..fc1a3de93935
--- /dev/null
+++ b/dev-util/kelbt/Manifest
@@ -0,0 +1 @@
+DIST kelbt-0.15.tar.gz 232537 SHA256 000ae8e0906f34de13c3448f2422065e48407b6d85c61bbe51490ffdab0bc565 SHA512 2f203d3c3a12cc03d96a4d650dde3902d6815a3978af6f78f759b8dfce7971e2799e1325dc043cbc8a5b1fedaf9553a8f1693a159afa4f3601b3bdbc844df647 WHIRLPOOL d0285767d020c8eeae12adf5c9c776703c7ae35095da3ecb7fa10535f67b37ef802824f0955e0db313be6a19c79722f53cc570fc1928506fb3d87270f15f7dfe
diff --git a/dev-util/kelbt/files/ragel-6.7+gcc-4.7.patch b/dev-util/kelbt/files/ragel-6.7+gcc-4.7.patch
new file mode 100644
index 000000000000..80eb29a46f05
--- /dev/null
+++ b/dev-util/kelbt/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/kelbt/kelbt-0.15.ebuild b/dev-util/kelbt/kelbt-0.15.ebuild
new file mode 100644
index 000000000000..ed8b2b4de07d
--- /dev/null
+++ b/dev-util/kelbt/kelbt-0.15.ebuild
@@ -0,0 +1,45 @@
+# Copyright 1999-2012 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=4
+
+inherit eutils
+
+DESCRIPTION="A backtracking LR parser by the author of Ragel"
+HOMEPAGE="http://www.complang.org/kelbt/"
+SRC_URI="http://www.complang.org/kelbt/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86-fbsd"
+IUSE="vim-syntax"
+
+RDEPEND=""
+
+src_prepare() {
+ find "${S}" -iname "Makefile*" -exec sed -i \
+ -e '/\$(CXX)/s:CFLAGS:CXXFLAGS:' \
+ {} \;
+
+ epatch "${FILESDIR}"/ragel-6.7+gcc-4.7.patch
+}
+
+src_compile() {
+ emake CXXFLAGS="${CXXFLAGS}" LDFLAGS="${LDFLAGS}"
+}
+
+src_test() {
+ cd "${S}"/test
+ ./runtests || die "tests failed"
+}
+
+src_install() {
+ dobin kelbt/kelbt
+ dodoc TODO CREDITS ChangeLog
+
+ if use vim-syntax; then
+ insinto /usr/share/vim/vimfiles/syntax
+ doins ${PN}.vim
+ fi
+}
diff --git a/dev-util/kelbt/metadata.xml b/dev-util/kelbt/metadata.xml
new file mode 100644
index 000000000000..2ba6e4da9d2c
--- /dev/null
+++ b/dev-util/kelbt/metadata.xml
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>lu_zero@gentoo.org</email>
+ </maintainer>
+ <maintainer>
+ <email>flameeyes@gentoo.org</email>
+ </maintainer>
+</pkgmetadata>