evcc: 0.131.4 -> 0.131.5
[NixPkgs.git] / pkgs / by-name / go / gocryptfs / package.nix
bloba1f424915f30b3b4bdde5c8e4f64ee99eabebdcd
1 { lib
2 , buildGoModule
3 , fetchFromGitHub
4 , fuse
5 , makeWrapper
6 , openssl
7 , pandoc
8 , pkg-config
9 , libfido2
12 buildGoModule rec {
13   pname = "gocryptfs";
14   version = "2.4.0";
16   src = fetchFromGitHub {
17     owner = "rfjakob";
18     repo = pname;
19     rev = "v${version}";
20     sha256 = "sha256-lStaMj2f8lQZx2E42o4ikPmFQzydlN3PFKwFvUx37SI=";
21   };
23   vendorHash = "sha256-ir7FR7ndbPhzUOCVPrYO0SEe03wDFIP74I4X6HJxtE8=";
25   nativeBuildInputs = [
26     makeWrapper
27     pkg-config
28     pandoc
29   ];
31   buildInputs = [ openssl ];
33   propagatedBuildInputs = [ libfido2 ];
35   ldflags = [
36     "-X main.GitVersion=${version}"
37     "-X main.GitVersionFuse=[vendored]"
38     "-X main.BuildDate=unknown"
39   ];
41   subPackages = [ "." "gocryptfs-xray" "contrib/statfs" ];
43   postBuild = ''
44     pushd Documentation/
45     mkdir -p $out/share/man/man1
46     # taken from Documentation/MANPAGE-render.bash
47     pandoc MANPAGE.md -s -t man -o $out/share/man/man1/gocryptfs.1
48     pandoc MANPAGE-XRAY.md -s -t man -o $out/share/man/man1/gocryptfs-xray.1
49     pandoc MANPAGE-STATFS.md -s -t man -o $out/share/man/man1/statfs.1
50     popd
51   '';
53   # use --suffix here to ensure we don't shadow /run/wrappers/bin/fusermount,
54   # as the setuid wrapper is required to use gocryptfs as non-root on NixOS
55   postInstall = ''
56     wrapProgram $out/bin/gocryptfs \
57       --suffix PATH : ${lib.makeBinPath [ fuse ]}
58     ln -s $out/bin/gocryptfs $out/bin/mount.fuse.gocryptfs
59   '';
61   meta = with lib; {
62     description = "Encrypted overlay filesystem written in Go";
63     license = licenses.mit;
64     homepage = "https://nuetzlich.net/gocryptfs/";
65     maintainers = with maintainers; [ flokli offline prusnak ];
66     platforms = platforms.unix;
67   };