summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'dev-util/cdecl')
-rw-r--r--dev-util/cdecl/Manifest1
-rw-r--r--dev-util/cdecl/cdecl-2.5-r2.ebuild49
-rw-r--r--dev-util/cdecl/files/cdecl-2.5-implicit-pointer.patch12
-rw-r--r--dev-util/cdecl/files/cdecl-2.5.patch71
-rw-r--r--dev-util/cdecl/metadata.xml7
5 files changed, 140 insertions, 0 deletions
diff --git a/dev-util/cdecl/Manifest b/dev-util/cdecl/Manifest
new file mode 100644
index 000000000000..4589744ae56c
--- /dev/null
+++ b/dev-util/cdecl/Manifest
@@ -0,0 +1 @@
+DIST cdecl-2.5.tar.gz 21435 SHA256 b74caef08407a2195d6f1facf103e5af29253f67d599486164241b14ee42a936 SHA512 15495f5a794d11f964297c1f39f2f62f89778cd2e791b93f7e6cf16f321a71205a1f9366960f62b030022699e8abacaa5b402a304fb2eab8c00c83b9a4d0b419 WHIRLPOOL b9a3cc84689e2c60db6e733de0a3d428be4e5537908c132f69f2d27618ed8f4064faeb2faae7d20b9811088c7adf33838185eee2102710e4a9906638391883f9
diff --git a/dev-util/cdecl/cdecl-2.5-r2.ebuild b/dev-util/cdecl/cdecl-2.5-r2.ebuild
new file mode 100644
index 000000000000..ebeaff48b22f
--- /dev/null
+++ b/dev-util/cdecl/cdecl-2.5-r2.ebuild
@@ -0,0 +1,49 @@
+# Copyright 1999-2011 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+inherit eutils toolchain-funcs
+
+DESCRIPTION="Turn English phrases to C or C++ declarations"
+SRC_URI="ftp://ftp.netsw.org/softeng/lang/c/tools/cdecl/${P}.tar.gz"
+HOMEPAGE="http://www.boutell.com/lsm/lsmbyid.cgi/002103"
+
+KEYWORDS="amd64 ~mips ppc x86"
+LICENSE="public-domain"
+SLOT="0"
+
+RDEPEND="readline? (
+ sys-libs/ncurses
+ sys-libs/readline
+ )"
+
+DEPEND="${RDEPEND}
+ || (
+ dev-util/yacc
+ sys-devel/bison
+ )
+ !<dev-util/cutils-1.6-r2"
+
+IUSE="readline"
+
+src_unpack() {
+ unpack ${A}
+ cd "${S}"
+ epatch "${FILESDIR}/${P}.patch"
+ epatch "${FILESDIR}/${P}-implicit-pointer.patch"
+}
+
+src_compile() {
+ if use readline; then
+ CFLAGS="${CFLAGS} -DUSE_READLINE"
+ LIBS="${LIBS} -lreadline -lncurses"
+ fi
+ emake CC="$(tc-getCC)" CFLAGS="${CFLAGS}" LDFLAGS="${LDFLAGS}" LIBS="${LIBS}" || die
+}
+
+src_install() {
+ dobin cdecl
+ dohard /usr/bin/cdecl /usr/bin/c++decl
+ dodoc README
+ doman *.1
+}
diff --git a/dev-util/cdecl/files/cdecl-2.5-implicit-pointer.patch b/dev-util/cdecl/files/cdecl-2.5-implicit-pointer.patch
new file mode 100644
index 000000000000..ee4949beb6ed
--- /dev/null
+++ b/dev-util/cdecl/files/cdecl-2.5-implicit-pointer.patch
@@ -0,0 +1,12 @@
+Index: cdecl-2.5/cdecl.c
+===================================================================
+--- cdecl-2.5.orig/cdecl.c
++++ cdecl-2.5/cdecl.c
+@@ -204,6 +204,7 @@ int DebugFlag = 0; /* -d, output debugg
+ #define ANSI 4 /* combo not allowed anymore in ANSI compiler */
+ #define A ANSI
+
++extern char **completion_matches PARAMS((char *, rl_compentry_func_t *));
+ /* This is an lower left triangular array. If we needed */
+ /* to save 9 bytes, the "long" row can be removed. */
+ char crosscheck[9][9] = { \ No newline at end of file
diff --git a/dev-util/cdecl/files/cdecl-2.5.patch b/dev-util/cdecl/files/cdecl-2.5.patch
new file mode 100644
index 000000000000..ed04d59abc74
--- /dev/null
+++ b/dev-util/cdecl/files/cdecl-2.5.patch
@@ -0,0 +1,71 @@
+--- cdecl.c
++++ cdecl.c.new
+@@ -67,6 +67,7 @@
+ # include <stddef.h>
+ # include <string.h>
+ # include <stdarg.h>
++# include <errno.h>
+ #else
+ # ifndef NOVARARGS
+ # include <varargs.h>
+@@ -124,7 +125,6 @@
+
+ #if __STDC__
+ char *ds(char *), *cat(char *, ...), *visible(int);
+- int getopt(int,char **,char *);
+ int main(int, char **);
+ int yywrap(void);
+ int dostdin(void);
+
+--- cdecl.c 2009-07-07 13:20:37.000000000 +0200
++++ cdecl.c.new 2009-07-07 13:25:00.000000000 +0200
+@@ -91,7 +91,7 @@
+ #ifdef USE_READLINE
+ # include <readline/readline.h>
+ /* prototypes for functions related to readline() */
+- char * getline();
++ char * mygetline();
+ char ** attempt_completion(char *, int, int);
+ char * keyword_completion(char *, int);
+ char * command_completion(char *, int);
+@@ -375,7 +375,7 @@
+ static char *line_read = NULL;
+
+ /* Read a string, and return a pointer to it. Returns NULL on EOF. */
+-char * getline ()
++char * mygetline ()
+ {
+ /* If the buffer has already been allocated, return the memory
+ to the free pool. */
+@@ -887,7 +887,7 @@
+
+ if (!quiet) (void) printf("Type `help' or `?' for help\n");
+ ret = 0;
+- while ((line = getline())) {
++ while ((line = mygetline())) {
+ if (!strcmp(line, "quit") || !strcmp(line, "exit")) {
+ free(line);
+ return ret;
+--- Makefile.old 2010-08-26 22:06:28.000000000 +0200
++++ Makefile 2010-08-26 22:11:42.000000000 +0200
+@@ -15,9 +15,9 @@
+ #
+ # add -DUSE_READLINE To compile in support for the GNU readline library.
+
+-CFLAGS= -s -O2 -DUSE_READLINE
++
+ CC= gcc
+-LIBS= -lreadline -ltermcap
++
+ ALLFILES= makefile cdgram.y cdlex.l cdecl.c cdecl.1 testset testset++
+ BINDIR= /usr/bin
+ MANDIR= /usr/man/man1
+@@ -29,7 +29,7 @@
+ ln c++decl cdecl
+
+ c++decl: cdgram.c cdlex.c cdecl.c
+- $(CC) $(CFLAGS) -o c++decl cdecl.c $(LIBS)
++ $(CC) $(CFLAGS) ${LDFLAGS} -o c++decl cdecl.c $(LIBS)
+ rm -f cdecl
+
+ cdlex.c: cdlex.l
diff --git a/dev-util/cdecl/metadata.xml b/dev-util/cdecl/metadata.xml
new file mode 100644
index 000000000000..ff62877c67ae
--- /dev/null
+++ b/dev-util/cdecl/metadata.xml
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<maintainer>
+ <email>maintainer-needed@gentoo.org</email>
+</maintainer>
+</pkgmetadata>