diff --git a/pkgs/development/tools/cdecl/cdecl-2.5.patch b/pkgs/development/tools/cdecl/cdecl-2.5.patch new file mode 100644 index 000000000000..b66ee1a2c4e7 --- /dev/null +++ b/pkgs/development/tools/cdecl/cdecl-2.5.patch @@ -0,0 +1,64 @@ +diff --git a/Makefile b/Makefile +index 9e85686..b8e6e02 100644 +--- a/Makefile ++++ b/Makefile +@@ -15,13 +15,14 @@ + # + # 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 +-CATDIR= /usr/man/cat1 ++PREFIX?= /usr ++BINDIR= $(PREFIX)/bin ++MANDIR= $(PREFIX)/man/man1 ++CATDIR= $(PREFIX)/man/cat1 + INSTALL= install -c + INSTALL_DATA= install -c -m 644 + +@@ -33,7 +34,7 @@ c++decl: cdgram.c cdlex.c cdecl.c + rm -f cdecl + + cdlex.c: cdlex.l +- lex cdlex.l && mv lex.yy.c cdlex.c ++ flex cdlex.l && mv lex.yy.c cdlex.c + + cdgram.c: cdgram.y + yacc cdgram.y && mv y.tab.c cdgram.c +@@ -43,8 +44,10 @@ test: + ./c++decl < testset++ + + install: cdecl ++ $(INSTALL) -d $(BINDIR) + $(INSTALL) cdecl $(BINDIR) + ln $(BINDIR)/cdecl $(BINDIR)/c++decl ++ $(INSTALL) -d $(MANDIR) + $(INSTALL_DATA) cdecl.1 $(MANDIR) + $(INSTALL_DATA) c++decl.1 $(MANDIR) + +diff --git a/cdecl.c b/cdecl.c +index f03f01e..1fdde9f 100644 +--- a/cdecl.c ++++ b/cdecl.c +@@ -67,6 +67,7 @@ char cdeclsccsid[] = "@(#)cdecl.c 2.5 1/15/96"; + # include + # include + # include ++# include + #else + # ifndef NOVARARGS + # include +@@ -124,7 +125,6 @@ char real_prompt[MAX_NAME+3]; + + #if __STDC__ + char *ds(char *), *cat(char *, ...), *visible(int); +- int getopt(int,char **,char *); + int main(int, char **); + int yywrap(void); + int dostdin(void); diff --git a/pkgs/development/tools/cdecl/default.nix b/pkgs/development/tools/cdecl/default.nix new file mode 100644 index 000000000000..65377508d9f4 --- /dev/null +++ b/pkgs/development/tools/cdecl/default.nix @@ -0,0 +1,19 @@ +{stdenv, fetchurl, yacc, flex, readline}: + +stdenv.mkDerivation { + name = "cdecl-2.5"; + src = fetchurl { + url = ftp://metalab.unc.edu/pub/linux/devel/lang/c/cdecl-2.5.tar.gz; + md5 = "29895dab52e85b2474a59449e07b7996"; + }; + + patches = [ ./cdecl-2.5.patch ]; + preBuild = " + makeFlags=\"PREFIX=$out\" + "; + buildInputs = [yacc flex readline]; + + meta = { + description = "Translator English -- C/C++ declarations"; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 67189895a183..dbea6c8cb3e7 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -565,6 +565,10 @@ let inherit fetchurl stdenv; }; + cdecl = import ../development/tools/cdecl { + inherit fetchurl stdenv yacc flex readline; + }; + cdrdao = import ../tools/cd-dvd/cdrdao { inherit fetchurl stdenv; };