From 9d7932e349942db74ec2c3a7030085c77d7a3716 Mon Sep 17 00:00:00 2001 From: Soner Sayakci Date: Sun, 24 Apr 2022 09:50:16 +0000 Subject: [PATCH] fastly: init at 3.1.0 --- pkgs/misc/fastly/default.nix | 56 +++++++++++++++++++++++++++++++++ pkgs/top-level/all-packages.nix | 2 ++ 2 files changed, 58 insertions(+) create mode 100644 pkgs/misc/fastly/default.nix diff --git a/pkgs/misc/fastly/default.nix b/pkgs/misc/fastly/default.nix new file mode 100644 index 000000000000..1a376271d18d --- /dev/null +++ b/pkgs/misc/fastly/default.nix @@ -0,0 +1,56 @@ +{ lib, fetchFromGitHub, installShellFiles, buildGoModule }: + +buildGoModule rec { + pname = "fastly"; + version = "3.1.0"; + + src = fetchFromGitHub { + owner = "fastly"; + repo = "cli"; + rev = "v${version}"; + sha256 = "sha256-Su4ZwiuI+pMoLAGhc3dWcwgcfwe5cZGTg8kEnpM4JbA="; + # The git commit is part of the `fastly version` original output; + # leave that output the same in nixpkgs. Use the `.git` directory + # to retrieve the commit SHA, and remove the directory afterwards, + # since it is not needed after that. + leaveDotGit = true; + postFetch = '' + cd "$out" + git rev-parse --short HEAD > $out/COMMIT + find "$out" -name .git -print0 | xargs -0 rm -rf + ''; + }; + + subPackages = [ "cmd/fastly" ]; + + vendorSha256 = "sha256-5MvJS10f7YLvO+wCmUJleU27hCJbsNrOIfUZnniGw+E="; + + nativeBuildInputs = [ installShellFiles ]; + + # Flags as provided by the build automation of the project: + # https://github.com/fastly/cli/blob/7844f9f54d56f8326962112b5534e5c40e91bf09/.goreleaser.yml#L14-L18 + ldflags = [ + "-s" + "-w" + "-X github.com/fastly/cli/pkg/revision.AppVersion=v${version}" + "-X github.com/fastly/cli/pkg/revision.Environment=release" + ]; + preBuild = '' + ldflags+=" -X github.com/fastly/cli/pkg/revision.GitCommit=$(cat COMMIT)" + ldflags+=" -X 'github.com/fastly/cli/pkg/revision.GoVersion=$(go version)'" + ''; + + postInstall = '' + export HOME="$(mktemp -d)" + installShellCompletion --cmd fastly \ + --bash <($out/bin/fastly --completion-script-bash) \ + --zsh <($out/bin/fastly --completion-script-zsh) + ''; + + meta = with lib; { + description = "Command line tool for interacting with the Fastly API"; + license = licenses.asl20; + homepage = "https://github.com/fastly/cli"; + maintainers = with maintainers; [ ereslibre shyim ]; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index c31c566a76b3..f0e3f5e5f133 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -3575,6 +3575,8 @@ with pkgs; extrude = callPackage ../tools/security/extrude { }; + fastly = callPackage ../misc/fastly {}; + f2 = callPackage ../tools/misc/f2 {}; f3 = callPackage ../tools/filesystems/f3 { };