go-musicfox: 4.5.7 -> 4.6.0 (#364326)
[NixPkgs.git] / pkgs / by-name / cu / cue / package.nix
blob1459b58af0455299f45cf3d02bbf25b415176e67
2   buildGoModule,
3   fetchFromGitHub,
4   lib,
5   stdenv,
6   installShellFiles,
7   testers,
8   cue,
9   callPackage,
12 buildGoModule rec {
13   pname = "cue";
14   version = "0.11.0";
16   src = fetchFromGitHub {
17     owner = "cue-lang";
18     repo = "cue";
19     rev = "v${version}";
20     hash = "sha256-OneL29/d+OtOgcbCzl7B+sVsxF/gN2jA/36HthYXiQ0=";
21   };
23   vendorHash = "sha256-jl8TR1kxame30l7DkfOEioWA9wK/ACTNofiTi++vjuI=";
25   subPackages = [ "cmd/*" ];
27   nativeBuildInputs = [ installShellFiles ];
29   ldflags = [
30     "-s"
31     "-w"
32     "-X cuelang.org/go/cmd/cue/cmd.version=v${version}"
33   ];
35   postInstall = lib.optionalString (stdenv.buildPlatform.canExecute stdenv.hostPlatform) ''
36     installShellCompletion --cmd cue \
37       --bash <($out/bin/cue completion bash) \
38       --fish <($out/bin/cue completion fish) \
39       --zsh <($out/bin/cue completion zsh)
40   '';
42   passthru = {
43     writeCueValidator = callPackage ./validator.nix { };
44     tests = {
45       test-001-all-good = callPackage ./tests/001-all-good.nix { };
46       version = testers.testVersion {
47         package = cue;
48         command = "cue version";
49         version = "v${version}";
50       };
51     };
52   };
54   meta = {
55     description = "Data constraint language which aims to simplify tasks involving defining and using data";
56     homepage = "https://cuelang.org/";
57     license = lib.licenses.asl20;
58     maintainers = with lib.maintainers; [ aaronjheng ];
59     mainProgram = "cue";
60   };