From 23819bf0b5a8cf812c29aae832ad051efab6ddbe Mon Sep 17 00:00:00 2001 From: stewart Date: Wed, 29 Oct 2014 11:00:55 +0800 Subject: [PATCH 1/6] 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 { }; From d625f62e519b8e99cdc24f299065410a695d2665 Mon Sep 17 00:00:00 2001 From: stewart Date: Wed, 29 Oct 2014 13:14:04 +0800 Subject: [PATCH 2/6] kickstart travis after upstream patch landed --- pkgs/development/tools/parsing/hammer/default.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/pkgs/development/tools/parsing/hammer/default.nix b/pkgs/development/tools/parsing/hammer/default.nix index 35a737a3199..34807c360ce 100644 --- a/pkgs/development/tools/parsing/hammer/default.nix +++ b/pkgs/development/tools/parsing/hammer/default.nix @@ -3,6 +3,7 @@ stdenv.mkDerivation rec { name = "hammer-${version}"; + version = "1.0.0-rc3"; src = fetchgit { From be9f3af6c268b8605026c5c7c648ed447cd3b3ab Mon Sep 17 00:00:00 2001 From: stewart Date: Wed, 29 Oct 2014 13:35:33 +0800 Subject: [PATCH 3/6] derp'ed the sha256 for hammer after patch landed --- pkgs/development/tools/parsing/hammer/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/development/tools/parsing/hammer/default.nix b/pkgs/development/tools/parsing/hammer/default.nix index 34807c360ce..99d0c51f7ff 100644 --- a/pkgs/development/tools/parsing/hammer/default.nix +++ b/pkgs/development/tools/parsing/hammer/default.nix @@ -8,7 +8,7 @@ version = "1.0.0-rc3"; src = fetchgit { url = "git://github.com/UpstandingHackers/hammer"; - sha256 = "1ay790qi127crxncgsdi4qvai1s0ckq0yzzk19b1zvdlws4rvw93"; + sha256 = "1v8f2a6bgjgdkhbqz751bqjlwb9lmqn5x63xcskwcl2b9n36vqi9"; }; buildInputs = [ glib pkgconfig python scons ]; From c98ecd1e5f3468eb5b34573e447d88d43a0006e3 Mon Sep 17 00:00:00 2001 From: stewart Date: Wed, 29 Oct 2014 13:49:10 +0800 Subject: [PATCH 4/6] added git revision to nix hammer pkg to prevent nix build breaks on hammer update --- pkgs/development/tools/parsing/hammer/default.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/pkgs/development/tools/parsing/hammer/default.nix b/pkgs/development/tools/parsing/hammer/default.nix index 99d0c51f7ff..05cdc8c8319 100644 --- a/pkgs/development/tools/parsing/hammer/default.nix +++ b/pkgs/development/tools/parsing/hammer/default.nix @@ -9,6 +9,7 @@ version = "1.0.0-rc3"; src = fetchgit { url = "git://github.com/UpstandingHackers/hammer"; sha256 = "1v8f2a6bgjgdkhbqz751bqjlwb9lmqn5x63xcskwcl2b9n36vqi9"; + rev = "e7aa73446e23f4af2fce5f88572aae848f212c16"; }; buildInputs = [ glib pkgconfig python scons ]; From 61d7aaeea2b14a3d5d5f6d63d8b20fe585a35aea Mon Sep 17 00:00:00 2001 From: stewart Date: Wed, 29 Oct 2014 15:16:41 +0800 Subject: [PATCH 5/6] format changes + meta data changes to hammer package --- .../tools/parsing/hammer/default.nix | 31 +++++++++---------- 1 file changed, 14 insertions(+), 17 deletions(-) diff --git a/pkgs/development/tools/parsing/hammer/default.nix b/pkgs/development/tools/parsing/hammer/default.nix index 05cdc8c8319..5bc934a9806 100644 --- a/pkgs/development/tools/parsing/hammer/default.nix +++ b/pkgs/development/tools/parsing/hammer/default.nix @@ -1,32 +1,29 @@ { stdenv, fetchgit, glib, pkgconfig, python, scons, pythonPackages }: stdenv.mkDerivation rec { + name = "hammer-${version}"; + version = "1.0.0-rc3"; -name = "hammer-${version}"; - -version = "1.0.0-rc3"; - -src = fetchgit { + src = fetchgit { url = "git://github.com/UpstandingHackers/hammer"; sha256 = "1v8f2a6bgjgdkhbqz751bqjlwb9lmqn5x63xcskwcl2b9n36vqi9"; rev = "e7aa73446e23f4af2fce5f88572aae848f212c16"; -}; + }; -buildInputs = [ glib pkgconfig python scons ]; + buildInputs = [ glib pkgconfig python scons ]; + buildPhase = "scons prefix=$out"; + installPhase = "scons prefix=$out install"; -buildPhase = "scons prefix=$out"; - -installPhase = "scons prefix=$out install"; - -meta = with stdenv.lib; { - description = "Hammer is a parsing library. Like many modern parsing libraries, + meta = with stdenv.lib; { + description = "Hammer is a parsing library"; + longDescription = "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; - }; + homepage = https://github.com/UpstandingHackers/hammer; + license = licenses.gpl2; + platforms = platforms.linux; + }; } \ No newline at end of file From 5d5fa6a4840ff3292d7d8f7a9de661927548015d Mon Sep 17 00:00:00 2001 From: stewart Date: Wed, 29 Oct 2014 16:08:16 +0800 Subject: [PATCH 6/6] changed version = e7aa734 --- pkgs/development/tools/parsing/hammer/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/development/tools/parsing/hammer/default.nix b/pkgs/development/tools/parsing/hammer/default.nix index 5bc934a9806..7dbbf10b486 100644 --- a/pkgs/development/tools/parsing/hammer/default.nix +++ b/pkgs/development/tools/parsing/hammer/default.nix @@ -2,7 +2,7 @@ stdenv.mkDerivation rec { name = "hammer-${version}"; - version = "1.0.0-rc3"; + version = "e7aa734"; src = fetchgit { url = "git://github.com/UpstandingHackers/hammer";