nixpkgs/pkgs/applications/networking/brig/default.nix

Ignoring revisions in .git-blame-ignore-revs. Click here to bypass and see the normal blame view.

59 lines
1.6 KiB
Nix
Raw Normal View History

2022-06-11 23:19:46 +00:00
{ lib
, buildGoModule
, fetchFromGitHub
, installShellFiles
}:
2019-03-02 16:56:10 +00:00
2022-06-11 23:19:46 +00:00
buildGoModule rec {
pname = "brig";
2019-04-10 20:42:58 +00:00
version = "0.4.1";
2019-03-02 16:56:10 +00:00
src = fetchFromGitHub {
owner = "sahib";
repo = "brig";
2022-06-11 23:19:46 +00:00
rev = "v${version}";
2019-04-10 20:42:58 +00:00
sha256 = "0gi39jmnzqrgj146yw8lcmgmvzx7ii1dgw4iqig7kx8c0jiqi600";
2019-03-02 16:56:10 +00:00
};
vendorHash = null;
2022-06-11 23:19:46 +00:00
nativeBuildInputs = [ installShellFiles ];
subPackages = [ "." ];
ldflags = [ "-s" "-w" ] ++ (with lib;
mapAttrsToList (n: v: "-X github.com/sahib/brig/version.${n}=${v}")
(with versions; {
Major = major version;
Minor = minor version;
Patch = patch version;
ReleaseType = "";
BuildTime = "1970-01-01T00:00:00+0000";
GitRev = src.rev;
}));
postInstall = ''
installShellCompletion --cmd brig \
--bash $src/autocomplete/bash_autocomplete \
--zsh $src/autocomplete/zsh_autocomplete
'';
# There are no tests for the brig executable.
doCheck = false;
meta = with lib; {
2022-06-11 23:19:46 +00:00
description = "File synchronization on top of IPFS with a git-like interface and a FUSE filesystem";
longDescription = ''
brig is a distributed and secure file synchronization tool with a version
control system. It is based on IPFS, written in Go and will feel familiar
to git users. Think of it as a swiss army knife for file synchronization
or as a peer to peer alternative to Dropbox.
'';
homepage = "https://brig.readthedocs.io";
changelog = "https://github.com/sahib/brig/releases/tag/${src.rev}";
2024-03-19 12:26:06 +00:00
license = licenses.agpl3Only;
2019-03-02 16:56:10 +00:00
maintainers = with maintainers; [ offline ];
2023-11-27 01:17:53 +00:00
mainProgram = "brig";
2019-03-02 16:56:10 +00:00
};
}