diff options
Diffstat (limited to 'pkgs/by-name/op/openfga/package.nix')
-rw-r--r-- | pkgs/by-name/op/openfga/package.nix | 58 |
1 files changed, 58 insertions, 0 deletions
diff --git a/pkgs/by-name/op/openfga/package.nix b/pkgs/by-name/op/openfga/package.nix new file mode 100644 index 0000000000000..e4421c334df0f --- /dev/null +++ b/pkgs/by-name/op/openfga/package.nix @@ -0,0 +1,58 @@ +{ + lib, + buildGoModule, + fetchFromGitHub, + installShellFiles, +}: + +let + pname = "openfga"; + version = "1.5.4"; +in + +buildGoModule { + inherit pname version; + + src = fetchFromGitHub { + owner = "openfga"; + repo = "openfga"; + rev = "v${version}"; + hash = "sha256-0K4z5CPNx+MVJ1PeB8rmO8+6hDGZ3ZALTFBWwR2Xl1k="; + }; + + vendorHash = "sha256-sihNWuxwptBrVO9sXD2YNP20mgwYU2y4NSb8wqVWmCk="; + + nativeBuildInputs = [ installShellFiles ]; + + ldflags = + let + buildInfoPkg = "github.com/openfga/openfga/internal/build"; + in + [ + "-s" + "-w" + "-X ${buildInfoPkg}.Version=${version}" + "-X ${buildInfoPkg}.Commit=${version}" + "-X ${buildInfoPkg}.Date=19700101" + ]; + + # Tests depend on docker + doCheck = false; + + postInstall = '' + completions_dir=$TMPDIR/openfga_completions + mkdir $completions_dir + $out/bin/openfga completion bash > $completions_dir/openfga.bash + $out/bin/openfga completion zsh > $completions_dir/_openfga.zsh + $out/bin/openfga completion fish > $completions_dir/openfga.fish + installShellCompletion $completions_dir/* + ''; + + meta = { + description = "High performance and flexible authorization/permission engine built for developers and inspired by Google Zanzibar"; + homepage = "https://openfga.dev/"; + license = lib.licenses.asl20; + mainProgram = "openfga"; + maintainers = with lib.maintainers; [ jlesquembre ]; + }; +} |