biglybt: 3.5.0.0 -> 3.6.0.0
[NixPkgs.git] / pkgs / applications / networking / brig / default.nix
blobe7204a68d14cba569511a2a36b3b60f4b8f1a112
1 { lib
2 , buildGoModule
3 , fetchFromGitHub
4 , installShellFiles
5 }:
7 buildGoModule rec {
8   pname = "brig";
9   version = "0.4.1";
11   src = fetchFromGitHub {
12     owner = "sahib";
13     repo = "brig";
14     rev = "v${version}";
15     sha256 = "0gi39jmnzqrgj146yw8lcmgmvzx7ii1dgw4iqig7kx8c0jiqi600";
16   };
18   vendorHash = null;
20   nativeBuildInputs = [ installShellFiles ];
22   subPackages = [ "." ];
24   ldflags = [ "-s" "-w" ] ++ (with lib;
25     mapAttrsToList (n: v: "-X github.com/sahib/brig/version.${n}=${v}")
26       (with versions; {
27         Major = major version;
28         Minor = minor version;
29         Patch = patch version;
30         ReleaseType = "";
31         BuildTime = "1970-01-01T00:00:00+0000";
32         GitRev = src.rev;
33       }));
35   postInstall = ''
36     installShellCompletion --cmd brig \
37       --bash $src/autocomplete/bash_autocomplete \
38       --zsh $src/autocomplete/zsh_autocomplete
39   '';
41   # There are no tests for the brig executable.
42   doCheck = false;
44   meta = with lib; {
45     description = "File synchronization on top of IPFS with a git-like interface and a FUSE filesystem";
46     longDescription = ''
47       brig is a distributed and secure file synchronization tool with a version
48       control system. It is based on IPFS, written in Go and will feel familiar
49       to git users. Think of it as a swiss army knife for file synchronization
50       or as a peer to peer alternative to Dropbox.
51     '';
52     homepage = "https://brig.readthedocs.io";
53     changelog = "https://github.com/sahib/brig/releases/tag/${src.rev}";
54     license = licenses.agpl3Only;
55     maintainers = with maintainers; [ offline ];
56     mainProgram = "brig";
57   };