From ae2cdd7ca482f1039349ab799a5aa8c2e6279ad0 Mon Sep 17 00:00:00 2001 From: Azat Bahawi Date: Sun, 12 Jun 2022 02:19:46 +0300 Subject: brig: use buildGoModule --- pkgs/applications/networking/brig/default.nix | 52 +++++++++++++++++++++------ 1 file changed, 42 insertions(+), 10 deletions(-) (limited to 'pkgs/applications/networking/brig') diff --git a/pkgs/applications/networking/brig/default.nix b/pkgs/applications/networking/brig/default.nix index 20b685a162fef..d049ed4e3893a 100644 --- a/pkgs/applications/networking/brig/default.nix +++ b/pkgs/applications/networking/brig/default.nix @@ -1,25 +1,57 @@ -{ lib, buildGoPackage, fetchFromGitHub }: +{ lib +, buildGoModule +, fetchFromGitHub +, installShellFiles +}: -buildGoPackage rec { +buildGoModule rec { pname = "brig"; version = "0.4.1"; - rev = "v${version}"; - - goPackagePath = "github.com/sahib/brig"; - subPackages = ["."]; src = fetchFromGitHub { owner = "sahib"; repo = "brig"; - inherit rev; + rev = "v${version}"; sha256 = "0gi39jmnzqrgj146yw8lcmgmvzx7ii1dgw4iqig7kx8c0jiqi600"; }; + vendorSha256 = null; + + 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; { - description = "File synchronization on top of ipfs with git like interface and FUSE filesystem"; - homepage = "https://github.com/sahib/brig"; + 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}"; license = licenses.agpl3; - platforms = platforms.unix; maintainers = with maintainers; [ offline ]; }; } -- cgit 1.4.1