nixpkgs/pkgs/tools/misc/scanmem/default.nix

53 lines
1.4 KiB
Nix

{ lib
, stdenv
, fetchFromGitHub
, autoreconfHook
, gobject-introspection
, intltool
, wrapGAppsHook
, procps
, python3
, readline
}:
stdenv.mkDerivation rec {
pname = "scanmem";
version = "0.17";
src = fetchFromGitHub {
owner = "scanmem";
repo = "scanmem";
rev = "v${version}";
sha256 = "17p8sh0rj8yqz36ria5bp48c8523zzw3y9g8sbm2jwq7sc27i7s9";
};
nativeBuildInputs = [ autoreconfHook gobject-introspection intltool wrapGAppsHook ];
buildInputs = [ readline python3 ];
configureFlags = ["--enable-gui"];
# we don't need to wrap the main executable, just the GUI
dontWrapGApps = true;
fixupPhase = ''
runHook preFixup
# replace the upstream launcher which does stupid things
# also add procps because it shells out to `ps` and expects it to be procps
makeWrapper ${python3}/bin/python3 $out/bin/gameconqueror \
"''${gappsWrapperArgs[@]}" \
--set PYTHONPATH "${python3.pkgs.makePythonPath [ python3.pkgs.pygobject3 ]}" \
--prefix PATH : "${procps}/bin" \
--add-flags "$out/share/gameconqueror/GameConqueror.py"
runHook postFixup
'';
meta = with lib; {
homepage = "https://github.com/scanmem/scanmem";
description = "Memory scanner for finding and poking addresses in executing processes";
maintainers = [ ];
platforms = platforms.linux;
license = licenses.gpl3;
};
}