blob: 0f1530afb50c35ac1626aa82d8c2418875409646 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
|
{ 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";
license = licenses.bsd2;
maintainers = with maintainers; [ Misaka13514 ];
platforms = platforms.linux;
};
}
|