diff --git a/pkgs/by-name/vo/volatility3/package.nix b/pkgs/by-name/vo/volatility3/package.nix index e66fb2cbd48d..3633117be4a0 100644 --- a/pkgs/by-name/vo/volatility3/package.nix +++ b/pkgs/by-name/vo/volatility3/package.nix @@ -1,6 +1,7 @@ { lib, fetchFromGitHub, + makeWrapper, python3, }: @@ -18,6 +19,8 @@ python3.pkgs.buildPythonApplication (finalAttrs: { build-system = with python3.pkgs; [ setuptools ]; + nativeBuildInputs = [ makeWrapper ]; + dependencies = with python3.pkgs; [ capstone jsonschema @@ -30,6 +33,18 @@ python3.pkgs.buildPythonApplication (finalAttrs: { export HOME=$(mktemp -d); ''; + postFixup = '' + for executable in vol volshell; do + wrapProgram $out/bin/$executable \ + --run 'volatility3_data_dir="''${XDG_DATA_HOME:-$HOME/.local/share}/volatility3" + mkdir -p "$volatility3_data_dir/symbols"' \ + --run 'volatility3_cache_dir="''${XDG_CACHE_HOME:-$HOME/.cache}/volatility3" + mkdir -p "$volatility3_cache_dir"' \ + --add-flags '--symbol-dirs "''${XDG_DATA_HOME:-$HOME/.local/share}/volatility3/symbols"' \ + --add-flags '--cache-path "''${XDG_CACHE_HOME:-$HOME/.cache}/volatility3"' + done + ''; + # Project has no tests doCheck = false; @@ -44,6 +59,9 @@ python3.pkgs.buildPythonApplication (finalAttrs: { free = false; url = "https://www.volatilityfoundation.org/license/vsl-v1.0"; }; - maintainers = with lib.maintainers; [ fab ]; + maintainers = with lib.maintainers; [ + caverav + fab + ]; }; })