aboutsummaryrefslogtreecommitdiff
path: root/infra/libkookie/nixpkgs/pkgs/development/tools/cdecl
diff options
context:
space:
mode:
authorMx Kookie <kookie@spacekookie.de>2020-10-31 19:35:09 +0100
committerMx Kookie <kookie@spacekookie.de>2020-10-31 19:35:09 +0100
commitc4625b175f8200f643fd6e11010932ea44c78433 (patch)
treebce3f89888c8ac3991fa5569a878a9eab6801ccc /infra/libkookie/nixpkgs/pkgs/development/tools/cdecl
parent49f735974dd103039ddc4cb576bb76555164a9e7 (diff)
parentd661aa56a8843e991261510c1bb28fdc2f6975ae (diff)
Add 'infra/libkookie/' from commit 'd661aa56a8843e991261510c1bb28fdc2f6975ae'
git-subtree-dir: infra/libkookie git-subtree-mainline: 49f735974dd103039ddc4cb576bb76555164a9e7 git-subtree-split: d661aa56a8843e991261510c1bb28fdc2f6975ae
Diffstat (limited to 'infra/libkookie/nixpkgs/pkgs/development/tools/cdecl')
-rw-r--r--infra/libkookie/nixpkgs/pkgs/development/tools/cdecl/cdecl-2.5-lex.patch13
-rw-r--r--infra/libkookie/nixpkgs/pkgs/development/tools/cdecl/default.nix25
2 files changed, 38 insertions, 0 deletions
diff --git a/infra/libkookie/nixpkgs/pkgs/development/tools/cdecl/cdecl-2.5-lex.patch b/infra/libkookie/nixpkgs/pkgs/development/tools/cdecl/cdecl-2.5-lex.patch
new file mode 100644
index 000000000000..ecdee5d544f6
--- /dev/null
+++ b/infra/libkookie/nixpkgs/pkgs/development/tools/cdecl/cdecl-2.5-lex.patch
@@ -0,0 +1,13 @@
+diff --git a/Makefile b/Makefile
+index 1643b74..8f1ae11 100644
+--- a/Makefile
++++ b/Makefile
+@@ -33,7 +33,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
diff --git a/infra/libkookie/nixpkgs/pkgs/development/tools/cdecl/default.nix b/infra/libkookie/nixpkgs/pkgs/development/tools/cdecl/default.nix
new file mode 100644
index 000000000000..7981681a6414
--- /dev/null
+++ b/infra/libkookie/nixpkgs/pkgs/development/tools/cdecl/default.nix
@@ -0,0 +1,25 @@
+{stdenv, fetchurl, yacc, flex, readline, ncurses, gnused}:
+
+stdenv.mkDerivation {
+ name = "cdecl-2.5";
+ src = fetchurl {
+ url = "https://www.cdecl.org/files/cdecl-blocks-2.5.tar.gz";
+ sha256 = "1b7k0ra30hh8mg8fqv0f0yzkaac6lfg6n376drgbpxg4wwml1rly";
+ };
+
+ patches = [ ./cdecl-2.5-lex.patch ];
+ preBuild = ''
+ ${gnused}/bin/sed 's/getline/cdecl_getline/g' -i cdecl.c;
+ makeFlagsArray=(CFLAGS="-DBSD -DUSE_READLINE -std=gnu89" LIBS=-lreadline);
+ makeFlags="$makeFlags PREFIX=$out BINDIR=$out/bin MANDIR=$out/man1 CATDIR=$out/cat1 CC=$CC";
+ mkdir -p $out/bin;
+ '';
+ buildInputs = [yacc flex readline ncurses];
+
+ meta = {
+ description = "Translator English -- C/C++ declarations";
+ license = stdenv.lib.licenses.publicDomain;
+ maintainers = with stdenv.lib.maintainers; [joelteon];
+ platforms = stdenv.lib.platforms.unix;
+ };
+}