about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--pkgs/development/tools/parsing/hammer/default.nix30
-rw-r--r--pkgs/top-level/all-packages.nix2
2 files changed, 32 insertions, 0 deletions
diff --git a/pkgs/development/tools/parsing/hammer/default.nix b/pkgs/development/tools/parsing/hammer/default.nix
new file mode 100644
index 000000000000..35a737a31998
--- /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 c41475a85813..02eda3e8b15a 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 { };