50 lines
1.4 KiB
Nix
50 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;
|
|
};
|
|
}
|