tangled
alpha
login
or
join now
pyrox.dev
/
nixpkgs
lol
0
fork
atom
overview
issues
pulls
pipelines
cyberchef: Add binary and desktop item
Alden Parker
8 months ago
0c3e0f86
9753b286
+40
-4
1 changed file
expand all
collapse all
unified
split
pkgs
by-name
cy
cyberchef
package.nix
+40
-4
pkgs/by-name/cy/cyberchef/package.nix
···
1
1
{
2
2
lib,
3
3
fetchzip,
4
4
+
fetchurl,
4
5
stdenv,
6
6
+
makeDesktopItem,
5
7
}:
6
8
7
7
-
stdenv.mkDerivation rec {
8
8
-
pname = "cyberchef";
9
9
+
let
10
10
+
icon = fetchurl {
11
11
+
url = "https://raw.githubusercontent.com/gchq/CyberChef/c57556f49f723863b9be15668fd240672cd15b09/src/web/static/images/cyberchef-512x512.png";
12
12
+
hash = "sha256-Lg9JbVHhdILdrRtxYFWSv9HNJUx98JOaTbs+IbS1eO0=";
13
13
+
};
14
14
+
desktopItem = (
15
15
+
makeDesktopItem {
16
16
+
name = "cyberchef";
17
17
+
desktopName = "Cyberchef";
18
18
+
exec = "cyberchef";
19
19
+
icon = "cyberchef";
20
20
+
comment = "Cyber Swiss Army Knife for encryption, encoding, compression and data analysis";
21
21
+
categories = [ "Development" ];
22
22
+
}
23
23
+
);
9
24
version = "10.19.4";
25
25
+
in
26
26
+
stdenv.mkDerivation {
27
27
+
pname = "cyberchef";
28
28
+
inherit version;
10
29
11
30
src = fetchzip {
12
31
url = "https://github.com/gchq/CyberChef/releases/download/v${version}/CyberChef_v${version}.zip";
13
13
-
sha256 = "sha256-eOMo7kdxC5HfmMrKUhGZU3vnBXibO2Fz1ftIS9RAbjY=";
32
32
+
hash = "sha256-eOMo7kdxC5HfmMrKUhGZU3vnBXibO2Fz1ftIS9RAbjY=";
14
33
stripRoot = false;
15
34
};
16
35
17
36
installPhase = ''
18
37
mkdir -p "$out/share/cyberchef"
38
38
+
mkdir -p "$out/bin"
39
39
+
19
40
mv "CyberChef_v${version}.html" index.html
20
41
mv * "$out/share/cyberchef"
42
42
+
43
43
+
cat <<INI > $out/bin/cyberchef
44
44
+
#!/bin/sh
45
45
+
xdg-open $out/share/cyberchef/index.html
46
46
+
INI
47
47
+
48
48
+
chmod +x $out/bin/cyberchef
49
49
+
50
50
+
install -m 444 -D ${icon} $out/share/icons/hicolor/512x512/apps/cyberchef.png
51
51
+
52
52
+
mkdir -p $out/share/applications/
53
53
+
cp ${desktopItem}/share/applications/*.desktop $out/share/applications/
21
54
'';
22
55
23
56
meta = {
24
57
description = "Cyber Swiss Army Knife for encryption, encoding, compression and data analysis";
25
58
homepage = "https://gchq.github.io/CyberChef";
26
59
changelog = "https://github.com/gchq/CyberChef/blob/v${version}/CHANGELOG.md";
27
27
-
maintainers = with lib.maintainers; [ sebastianblunt ];
60
60
+
maintainers = with lib.maintainers; [
61
61
+
sebastianblunt
62
62
+
aldenparker
63
63
+
];
28
64
license = lib.licenses.asl20;
29
65
platforms = lib.platforms.all;
30
66
};