1{
2 lib,
3 stdenv,
4 fetchFromGitHub,
5 fetchYarnDeps,
6 yarnConfigHook,
7 yarnInstallHook,
8 nodejs,
9 nix-update-script,
10}:
11
12stdenv.mkDerivation (finalAttrs: {
13 pname = "cloudflare-cli";
14 version = "4.2.0";
15
16 src = fetchFromGitHub {
17 owner = "danielpigott";
18 repo = "cloudflare-cli";
19 tag = "v${finalAttrs.version}";
20 hash = "sha256-cT+cMekXhHKfFi+dH1dCA/YNBSyYePJIZBSkDMPZZ14=";
21 };
22
23 yarnOfflineCache = fetchYarnDeps {
24 yarnLock = finalAttrs.src + "/yarn.lock";
25 hash = "sha256-0SFXgaLQE/MkqC9id7DAiP422tEyTt2gpgpIdXViFBI=";
26 };
27
28 nativeBuildInputs = [
29 yarnConfigHook
30 yarnInstallHook
31 nodejs
32 ];
33
34 doInstallCheck = true;
35 installCheckPhase = ''
36 runHook preInstallCheck
37
38 $out/bin/cfcli --help >/dev/null
39
40 runHook postInstallCheck
41 '';
42
43 passthru.updateScript = nix-update-script { };
44
45 meta = {
46 description = "CLI for interacting with Cloudflare";
47 homepage = "https://github.com/danielpigott/cloudflare-cli";
48 changelog = "https://github.com/danielpigott/cloudflare-cli/releases/tag/v${finalAttrs.version}";
49 license = lib.licenses.mit;
50 maintainers = with lib.maintainers; [ defelo ];
51 mainProgram = "cfcli";
52 };
53})