2022-03-30 09:31:56 +00:00
|
|
|
{ lib, stdenv, fetchFromGitHub, glib, pkg-config, scons }:
|
2020-04-24 23:36:52 +00:00
|
|
|
|
|
|
|
stdenv.mkDerivation {
|
|
|
|
pname = "hammer";
|
|
|
|
version = "e7aa734";
|
|
|
|
|
2022-03-30 09:31:56 +00:00
|
|
|
src = fetchFromGitHub {
|
|
|
|
owner = "UpstandingHackers";
|
|
|
|
repo = "hammer";
|
2020-04-24 23:36:52 +00:00
|
|
|
rev = "47f34b81e4de834fd3537dd71928c4f3cdb7f533";
|
2022-03-30 09:31:56 +00:00
|
|
|
sha256 = "sha256-aNSmbSgcABF9T1HoFhCnkmON4hY2MtUs7dW38+HigAY=";
|
2020-04-24 23:36:52 +00:00
|
|
|
};
|
|
|
|
|
2021-08-05 21:33:18 +00:00
|
|
|
nativeBuildInputs = [ pkg-config scons ];
|
|
|
|
buildInputs = [ glib ];
|
|
|
|
|
|
|
|
strictDeps = true;
|
2020-04-24 23:36:52 +00:00
|
|
|
|
2021-01-15 22:18:51 +00:00
|
|
|
meta = with lib; {
|
2020-04-24 23:36:52 +00:00
|
|
|
description = "A bit-oriented parser combinator 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;
|
|
|
|
};
|
|
|
|
}
|