51 lines
1.4 KiB
Nix
51 lines
1.4 KiB
Nix
|
{ lib, stdenv, fetchFromGitHub, qt5, john, makeWrapper, makeDesktopItem
|
||
|
, copyDesktopItems }:
|
||
|
|
||
|
stdenv.mkDerivation rec {
|
||
|
pname = "johnny";
|
||
|
version = "2.2";
|
||
|
|
||
|
src = fetchFromGitHub {
|
||
|
owner = "openwall";
|
||
|
repo = "johnny";
|
||
|
rev = "v${version}";
|
||
|
hash = "sha256-fwRvyQbRO63iVt9AHlfl+Cv4NRFQmyVsZUQLxmzGjAY=";
|
||
|
};
|
||
|
|
||
|
buildInputs = [ john qt5.qtbase ];
|
||
|
nativeBuildInputs =
|
||
|
[ makeWrapper copyDesktopItems qt5.wrapQtAppsHook qt5.qmake ];
|
||
|
|
||
|
installPhase = ''
|
||
|
install -D ${pname} $out/bin/${pname}
|
||
|
wrapProgram $out/bin/${pname} \
|
||
|
--prefix PATH : ${lib.makeBinPath [ john ]}
|
||
|
install -D README $out/share/doc/${pname}/README
|
||
|
install -D LICENSE $out/share/licenses/${pname}/LICENSE
|
||
|
install -D resources/icons/${pname}_128.png $out/share/pixmaps/${pname}.png
|
||
|
runHook postInstall
|
||
|
'';
|
||
|
|
||
|
desktopItems = [
|
||
|
(makeDesktopItem {
|
||
|
name = "Johnny";
|
||
|
desktopName = "Johnny";
|
||
|
comment = "A GUI for John the Ripper";
|
||
|
icon = pname;
|
||
|
exec = pname;
|
||
|
terminal = false;
|
||
|
categories = [ "Application" "System" ];
|
||
|
startupNotify = true;
|
||
|
})
|
||
|
];
|
||
|
|
||
|
meta = with lib; {
|
||
|
homepage = "https://openwall.info/wiki/john/johnny";
|
||
|
description = "Open Source GUI frontend for John the Ripper";
|
||
|
mainProgram = "johnny";
|
||
|
license = licenses.bsd2;
|
||
|
maintainers = with maintainers; [ Misaka13514 ];
|
||
|
platforms = platforms.linux;
|
||
|
};
|
||
|
}
|