1{
2 lib,
3 stdenv,
4 fetchFromGitHub,
5 makeBinaryWrapper,
6 meson,
7 ninja,
8 pkg-config,
9 vala,
10 wrapGAppsHook3,
11 gocryptfs,
12 gtk3,
13 json-glib,
14 libgee,
15}:
16
17stdenv.mkDerivation (finalAttrs: {
18 pname = "cryptor";
19 version = "1.1.0";
20
21 src = fetchFromGitHub {
22 owner = "moson-mo";
23 repo = "cryptor";
24 rev = "v${finalAttrs.version}";
25 hash = "sha256-EqiaWgwhSLwZnovqYQ9rfHwvhWucmK0ujSsOhMJEJ1A=";
26 };
27
28 nativeBuildInputs = [
29 makeBinaryWrapper
30 meson
31 ninja
32 pkg-config
33 vala
34 wrapGAppsHook3
35 ];
36
37 buildInputs = [
38 gtk3
39 json-glib
40 libgee
41 ];
42
43 postInstall = ''
44 wrapProgram $out/bin/cryptor \
45 --prefix PATH : "${lib.makeBinPath [ gocryptfs ]}"
46
47 install -Dm444 $src/resources/misc/cryptor.desktop -t $out/share/applications
48 substituteInPlace $out/share/applications/cryptor.desktop \
49 --replace-warn '/usr/bin/cryptor' 'cryptor'
50 '';
51
52 meta = {
53 description = "Simple gocryptfs GUI";
54 homepage = "https://github.com/moson-mo/cryptor";
55 license = lib.licenses.bsd3;
56 mainProgram = "cryptor";
57 maintainers = with lib.maintainers; [ fgaz ];
58 platforms = lib.platforms.all;
59 };
60})