From 23819bf0b5a8cf812c29aae832ad051efab6ddbe Mon Sep 17 00:00:00 2001 From: stewart Date: Wed, 29 Oct 2014 11:00:55 +0800 Subject: [PATCH] A language security tool called Hammer is added --- .../tools/parsing/hammer/default.nix | 30 +++++++++++++++++++ pkgs/top-level/all-packages.nix | 2 ++ 2 files changed, 32 insertions(+) create mode 100644 pkgs/development/tools/parsing/hammer/default.nix diff --git a/pkgs/development/tools/parsing/hammer/default.nix b/pkgs/development/tools/parsing/hammer/default.nix new file mode 100644 index 00000000000..35a737a3199 --- /dev/null +++ b/pkgs/development/tools/parsing/hammer/default.nix @@ -0,0 +1,30 @@ +{ stdenv, fetchgit, glib, pkgconfig, python, scons, pythonPackages }: + +stdenv.mkDerivation rec { + +name = "hammer-${version}"; +version = "1.0.0-rc3"; + +src = fetchgit { + url = "git://github.com/UpstandingHackers/hammer"; + sha256 = "1ay790qi127crxncgsdi4qvai1s0ckq0yzzk19b1zvdlws4rvw93"; +}; + +buildInputs = [ glib pkgconfig python scons ]; + +buildPhase = "scons prefix=$out"; + +installPhase = "scons prefix=$out install"; + +meta = with stdenv.lib; { + description = "Hammer is a parsing library. Like many modern parsing libraries, + it provides a parser combinator interface for writing grammars + as inline domain-specific languages, but Hammer also provides a + variety of parsing backends. It's also bit-oriented rather than + character-oriented, making it ideal for parsing binary data such + as images, network packets, audio, and executables."; + homepage = https://github.com/UpstandingHackers/hammer; + license = licenses.gpl2; + platforms = platforms.linux; + }; +} \ No newline at end of file diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index c41475a8581..02eda3e8b15 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -4558,6 +4558,8 @@ let ragel = callPackage ../development/tools/parsing/ragel { }; + hammer = callPackage ../development/tools/parsing/hammer { }; + re2c = callPackage ../development/tools/parsing/re2c { }; remake = callPackage ../development/tools/build-managers/remake { };