librewolf: 132.0.1 -> 132.0.1-1 (#355483)
[NixPkgs.git] / pkgs / by-name / cu / cue / package.nix
blob7e69d57af88f315d80b0b003efbba45ef8f7ba2a
1 { buildGoModule
2 , fetchFromGitHub
3 , lib
4 , installShellFiles
5 , testers
6 , cue
7 , callPackage
8 }:
10 buildGoModule rec {
11   pname = "cue";
12   version = "0.10.1";
14   src = fetchFromGitHub {
15     owner = "cue-lang";
16     repo = "cue";
17     rev = "v${version}";
18     hash = "sha256-CwPD+JUoKcs0HqWuZYH2c8AdwK6X0SS3aNGpkcPZ4C4=";
19   };
21   vendorHash = "sha256-sLTpra7JwgF4l1UCrUtzQA4xrP4OqxBcZ1qEssBdFtk=";
23   subPackages = [ "cmd/*" ];
25   nativeBuildInputs = [ installShellFiles ];
27   ldflags = [
28     "-s"
29     "-w"
30     "-X cuelang.org/go/cmd/cue/cmd.version=v${version}"
31   ];
33   postInstall = ''
34     installShellCompletion --cmd cue \
35       --bash <($out/bin/cue completion bash) \
36       --fish <($out/bin/cue completion fish) \
37       --zsh <($out/bin/cue completion zsh)
38   '';
40   passthru = {
41     writeCueValidator = callPackage ./validator.nix { };
42     tests = {
43       test-001-all-good = callPackage ./tests/001-all-good.nix { };
44       version = testers.testVersion {
45         package = cue;
46         command = "cue version";
47         version = "v${version}";
48       };
49     };
50   };
52   meta = with lib;  {
53     description = "Data constraint language which aims to simplify tasks involving defining and using data";
54     homepage = "https://cuelang.org/";
55     license = licenses.asl20;
56     maintainers = with maintainers; [ aaronjheng ];
57     mainProgram = "cue";
58   };