82 lines
1.7 KiB
Nix
82 lines
1.7 KiB
Nix
![]() |
{
|
||
|
gobject-introspection,
|
||
|
gtk3,
|
||
|
lib,
|
||
|
nmap,
|
||
|
python3Packages,
|
||
|
wrapGAppsHook3,
|
||
|
xterm,
|
||
|
}:
|
||
|
|
||
|
python3Packages.buildPythonApplication rec {
|
||
|
pname = "zenmap";
|
||
|
version = nmap.version;
|
||
|
pyproject = true;
|
||
|
|
||
|
src = nmap.src;
|
||
|
|
||
|
prePatch = ''
|
||
|
cd zenmap
|
||
|
'';
|
||
|
|
||
|
build-system = with python3Packages; [
|
||
|
setuptools
|
||
|
];
|
||
|
|
||
|
buildInputs = [
|
||
|
nmap
|
||
|
gtk3
|
||
|
xterm
|
||
|
];
|
||
|
|
||
|
nativeBuildInputs = [
|
||
|
wrapGAppsHook3
|
||
|
gobject-introspection
|
||
|
];
|
||
|
|
||
|
nativeCheckInputs = [
|
||
|
nmap
|
||
|
];
|
||
|
|
||
|
dependencies = with python3Packages; [
|
||
|
pygobject3
|
||
|
];
|
||
|
|
||
|
dontWrapGApps = true;
|
||
|
preFixup = ''
|
||
|
makeWrapperArgs+=("''${gappsWrapperArgs[@]}")
|
||
|
makeWrapperArgs+=(--prefix PATH : ${lib.makeBinPath [ nmap ]})
|
||
|
'';
|
||
|
postInstall = ''
|
||
|
# Icons
|
||
|
install -Dm 644 "zenmapCore/data/pixmaps/zenmap.png" -t "$out/share/pixmaps/"
|
||
|
# Desktop-files for application
|
||
|
install -Dm 644 "install_scripts/unix/zenmap.desktop" -t "$out/share/applications/"
|
||
|
install -Dm 644 "install_scripts/unix/zenmap-root.desktop" -t "$out/share/applications/"
|
||
|
install -Dm 755 "install_scripts/unix/su-to-zenmap.sh" -t "$out/bin/"
|
||
|
substituteInPlace "$out/bin/su-to-zenmap.sh" \
|
||
|
--replace-fail 'COMMAND="zenmap"' \
|
||
|
'COMMAND="'"$out/bin/zenmap"'"' \
|
||
|
--replace-fail 'xterm' \
|
||
|
'"${xterm}/bin/xterm"'
|
||
|
'';
|
||
|
|
||
|
checkPhase = ''
|
||
|
runHook preCheck
|
||
|
|
||
|
cd test
|
||
|
${python3Packages.python.interpreter} run_tests.py 2>&1 | tee /dev/stderr | tail -n1 | grep '^OK$'
|
||
|
|
||
|
runHook postCheck
|
||
|
'';
|
||
|
|
||
|
meta = nmap.meta // {
|
||
|
description = "Offical nmap Security Scanner GUI";
|
||
|
homepage = "https://nmap.org/zenmap/";
|
||
|
maintainers = with lib.maintainers; [
|
||
|
dvaerum
|
||
|
mymindstorm
|
||
|
];
|
||
|
};
|
||
|
}
|