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