pytrainer: unpin python 3.10
[NixPkgs.git] / pkgs / by-name / pi / picocrypt / package.nix
blobd77509135d0e52f8f5809b09abb05186977cfa6f
2   lib,
3   buildGoModule,
4   fetchFromGitHub,
5   stdenv,
6   copyDesktopItems,
7   makeDesktopItem,
9   xorg,
10   glfw,
11   gtk3,
12   pkg-config,
13   wrapGAppsHook3,
16 buildGoModule rec {
17   pname = "picocrypt";
18   version = "1.43";
20   src = fetchFromGitHub {
21     owner = "Picocrypt";
22     repo = "Picocrypt";
23     rev = "refs/tags/${version}";
24     hash = "sha256-xxlmerEGujBvghC+OpMW0gkDl7zPOW4r6cM7T6qOc6A=";
25   };
27   sourceRoot = "${src.name}/src";
29   vendorHash = "sha256-QeNFXmWeA/hkYdFzJoHj61bo/DmGWakdhFRLtSYG7+Y=";
31   ldflags = [
32     "-s"
33     "-w"
34   ];
36   buildInputs =
37     # Depends on a vendored, patched GLFW.
38     glfw.buildInputs or [ ]
39     ++ glfw.propagatedBuildInputs or [ ]
40     ++ lib.optionals (!stdenv.hostPlatform.isDarwin) [
41       gtk3
42       xorg.libXxf86vm
43     ];
45   nativeBuildInputs = [
46     copyDesktopItems
47     pkg-config
48     wrapGAppsHook3
49   ];
51   CGO_ENABLED = 1;
53   postInstall = ''
54     mv $out/bin/Picocrypt $out/bin/picocrypt-gui
55     install -Dm644 $src/images/key.svg $out/share/icons/hicolor/scalable/apps/picocrypt.svg
56   '';
58   desktopItems = [
59     (makeDesktopItem {
60       name = "Picocrypt";
61       exec = "picocrypt-gui";
62       icon = "picocrypt";
63       comment = meta.description;
64       desktopName = "Picocrypt";
65       categories = [ "Utility" ];
66     })
67   ];
69   meta = {
70     description = "Very small, very simple, yet very secure encryption tool, written in Go";
71     homepage = "https://github.com/Picocrypt/Picocrypt";
72     changelog = "https://github.com/Picocrypt/Picocrypt/blob/main/Changelog.md";
73     license = lib.licenses.gpl3Only;
74     maintainers = with lib.maintainers; [ ryand56 ];
75     mainProgram = "picocrypt-gui";
76   };