1{
2 lib,
3 stdenv,
4 rustPlatform,
5 fetchFromGitHub,
6 gpgme,
7 libgpg-error,
8 pkg-config,
9 python3,
10 libiconv,
11 libresolv,
12 x11Support ? true,
13 libxcb,
14 libxkbcommon,
15}:
16
17rustPlatform.buildRustPackage rec {
18 pname = "gpg-tui";
19 version = "0.11.1";
20
21 src = fetchFromGitHub {
22 owner = "orhun";
23 repo = "gpg-tui";
24 rev = "v${version}";
25 hash = "sha256-qGm0eHpVFGn8tNdEnmQ4oIfjCxyixMFYdxih7pHvGH0=";
26 };
27
28 cargoHash = "sha256-XdT/6N7CJJ8LY0KmkO6PuRdnq1FZvbZrGhky1hmyr2Y=";
29
30 nativeBuildInputs = [
31 gpgme # for gpgme-config
32 libgpg-error # for gpg-error-config
33 pkg-config
34 python3
35 ];
36
37 buildInputs = [
38 gpgme
39 libgpg-error
40 ]
41 ++ lib.optionals x11Support [
42 libxcb
43 libxkbcommon
44 ]
45 ++ lib.optionals stdenv.hostPlatform.isDarwin [
46 libiconv
47 libresolv
48 ];
49
50 meta = with lib; {
51 description = "Terminal user interface for GnuPG";
52 homepage = "https://github.com/orhun/gpg-tui";
53 changelog = "https://github.com/orhun/gpg-tui/blob/${src.rev}/CHANGELOG.md";
54 license = licenses.mit;
55 maintainers = with maintainers; [
56 dotlambda
57 matthiasbeyer
58 ];
59 mainProgram = "gpg-tui";
60 };
61}