diff --git a/pkgs/voltron/default.nix b/pkgs/voltron/default.nix new file mode 100644 index 0000000..27b76b9 --- /dev/null +++ b/pkgs/voltron/default.nix @@ -0,0 +1,46 @@ +{ stdenv +, callPackage +, fetchFromGitHub +, gdb +, makeWrapper +, python3 +}: +let + python = python3; + + voltron = python.pkgs.buildPythonPackage rec { + pname = "voltron"; + version = "d9fef0bb4073d434c54415d55a1b5da92cb84696"; + + src = fetchFromGitHub { + owner = "snare"; + repo = pname; + rev = version; + sha256 = "0cc4q9fn1lgqfdxy8l2800izqqwlbs9zw4yab2dk9i5b686xyc6i"; + }; + + propagatedBuildInputs = with python.pkgs; [ + blessed + flask-restful + pygments + pysigset + requests-unixsocket + (callPackage ./scruffington.nix { python = python; }) + ]; + + doCheck = false; + }; + +in +stdenv.mkDerivation { + name = "voltron-commands"; + phases = [ "installPhase" ]; + buildInputs = [ makeWrapper python ]; + installPhase = '' + mkdir -p "$out/bin" + ln -s ${voltron}/bin/voltron "$out/bin/vol" + makeWrapper "${gdb}/bin/gdb" "$out/bin/voldb" \ + --add-flags "-x $(toPythonPath ${voltron})/voltron/entry.py" \ + --suffix PYTHONPATH : "${python.pkgs.makePythonPath [ voltron ]}" + ''; +} diff --git a/pkgs/voltron/scruffington.nix b/pkgs/voltron/scruffington.nix new file mode 100644 index 0000000..30e4bfe --- /dev/null +++ b/pkgs/voltron/scruffington.nix @@ -0,0 +1,15 @@ +{ fetchFromGitHub, python }: + +python.pkgs.buildPythonPackage rec { + pname = "scruffington"; + version = "0.3.8.2"; + + propagatedBuildInputs = with python.pkgs; [ six pyyaml nose ]; + + src = fetchFromGitHub { + owner = "snare"; + repo = "scruffy"; + rev = "v${version}"; + sha256 = "1v5zq0m0pm0pccsa8qgdi0z74vh8m1ylshxvgmj3ml87p4vd3haw"; + }; +}