# This file was generated by go2nix.
{ stdenv, lib, buildGoPackage, fetchFromGitHub, pkgconfig, openssl }:

with lib;

let
  goFuseVersion = substring 0 7 (head (filter (
    d: d.goPackagePath == "github.com/hanwen/go-fuse"
  ) (import ./deps.nix))).fetch.rev;
in buildGoPackage rec {
  name = "gocryptfs-${version}";
  version = "1.1.1";
  rev = "v${version}";

  goPackagePath = "github.com/rfjakob/gocryptfs";

  src = fetchFromGitHub {
    inherit rev;
    owner = "rfjakob";
    repo = "gocryptfs";
    sha256 = "0p173x2s0km7a43h6ihir5p19fdlkkb9lc9120k9hccr33iws25z";
  };

  buildInputs = [pkgconfig openssl];

  goDeps = ./deps.nix;

  postPatch = "rm -r tests";

  buildFlagsArray = ''
    -ldflags=
      -X main.GitVersion=${rev}
      -X main.GitVersionFuse=${goFuseVersion}
  '';

  meta = {
    description = "Encrypted overlay filesystem written in Go";
    license = licenses.mit;
    homepage = https://nuetzlich.net/gocryptfs/;
    maintainers = with maintainers; [offline];
    platforms = with platforms; linux;
  };
}
