2023-08-04 22:07:22 +00:00
|
|
|
{ lib
|
|
|
|
, stdenv
|
|
|
|
, fetchFromGitHub
|
|
|
|
, autoreconfHook
|
|
|
|
, gobject-introspection
|
|
|
|
, intltool
|
|
|
|
, wrapGAppsHook
|
|
|
|
, procps
|
|
|
|
, python3
|
|
|
|
, readline
|
|
|
|
}:
|
2020-04-24 23:36:52 +00:00
|
|
|
|
|
|
|
stdenv.mkDerivation rec {
|
|
|
|
pname = "scanmem";
|
2023-08-04 22:07:22 +00:00
|
|
|
version = "0.17";
|
2020-04-24 23:36:52 +00:00
|
|
|
|
|
|
|
src = fetchFromGitHub {
|
|
|
|
owner = "scanmem";
|
|
|
|
repo = "scanmem";
|
|
|
|
rev = "v${version}";
|
|
|
|
sha256 = "17p8sh0rj8yqz36ria5bp48c8523zzw3y9g8sbm2jwq7sc27i7s9";
|
|
|
|
};
|
|
|
|
|
2023-08-04 22:07:22 +00:00
|
|
|
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;
|
2020-04-24 23:36:52 +00:00
|
|
|
|
2023-08-04 22:07:22 +00:00
|
|
|
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
|
2020-04-24 23:36:52 +00:00
|
|
|
'';
|
2023-08-04 22:07:22 +00:00
|
|
|
|
2021-01-15 22:18:51 +00:00
|
|
|
meta = with lib; {
|
2020-04-24 23:36:52 +00:00
|
|
|
homepage = "https://github.com/scanmem/scanmem";
|
|
|
|
description = "Memory scanner for finding and poking addresses in executing processes";
|
2022-07-14 12:49:19 +00:00
|
|
|
maintainers = [ ];
|
2020-04-24 23:36:52 +00:00
|
|
|
platforms = platforms.linux;
|
|
|
|
license = licenses.gpl3;
|
|
|
|
};
|
|
|
|
}
|