diff --git a/pkgs/development/tools/parsing/antlr/3.5.nix b/pkgs/development/tools/parsing/antlr/3.5.nix new file mode 100644 index 00000000000..5e10003dd6f --- /dev/null +++ b/pkgs/development/tools/parsing/antlr/3.5.nix @@ -0,0 +1,38 @@ +{stdenv, fetchurl, jre}: + +stdenv.mkDerivation rec { + name = "antlr-${version}"; + version = "3.5.2"; + src = fetchurl { + url ="http://www.antlr3.org/download/antlr-${version}-complete.jar"; + sha256 = "0srjwxipwsfzmpi0v32d1l5lzk9gi5in8ayg33sq8wyp8ygnbji6"; + }; + + unpackPhase = "true"; + + installPhase = '' + mkdir -p "$out"/{lib/antlr,bin} + cp "$src" "$out/lib/antlr/antlr-${version}-complete.jar" + + echo "#! ${stdenv.shell}" >> "$out/bin/antlr" + echo "'${jre}/bin/java' -cp '$out/lib/antlr/antlr-${version}-complete.jar' -Xms200M -Xmx400M org.antlr.Tool \"\$@\"" >> "$out/bin/antlr" + + chmod a+x "$out/bin/antlr" + ln -s "$out/bin/antlr"{,3} + ''; + + inherit jre; + + meta = with stdenv.lib; { + description = "Powerful parser generator"; + longDescription = '' + ANTLR (ANother Tool for Language Recognition) is a powerful parser + generator for reading, processing, executing, or translating structured + text or binary files. It's widely used to build languages, tools, and + frameworks. From a grammar, ANTLR generates a parser that can build and + walk parse trees. + ''; + homepage = http://www.antlr.org/; + platforms = platforms.linux; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index bafe3635910..b5597918c71 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -6130,6 +6130,7 @@ in antlr = callPackage ../development/tools/parsing/antlr/2.7.7.nix { }; antlr3 = callPackage ../development/tools/parsing/antlr { }; + antlr3_5 = callPackage ../development/tools/parsing/antlr/3.5.nix { }; ant = self.apacheAnt;