diff --git a/maintainers/maintainer-list.nix b/maintainers/maintainer-list.nix index 2edc4d4121a0..03d90e3a7ae0 100644 --- a/maintainers/maintainer-list.nix +++ b/maintainers/maintainer-list.nix @@ -16762,6 +16762,13 @@ githubId = 6295090; name = "Mats"; }; + mymindstorm = { + name = "Brendan Early"; + email = "mymindstorm@evermiss.net"; + github = "mymindstorm"; + githubId = 27789806; + keys = [ { fingerprint = "52B9 A09F 788F 4D1F 0C94 9EBE EE39 A9F3 0C9D 72B5"; } ]; + }; mynacol = { github = "Mynacol"; githubId = 26695166; diff --git a/pkgs/by-name/ze/zenmap/package.nix b/pkgs/by-name/ze/zenmap/package.nix new file mode 100644 index 000000000000..71253709da5e --- /dev/null +++ b/pkgs/by-name/ze/zenmap/package.nix @@ -0,0 +1,81 @@ +{ + 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 + ]; + }; +}