From 740cc14fade08d1878ffc5dbb8d652335121957e Mon Sep 17 00:00:00 2001 From: Haylin Moore Date: Sat, 5 Apr 2025 17:39:28 -0400 Subject: [PATCH] ygot: init at 0.30.0 Co-authored-by: awwpotato <153149335+awwpotato@users.noreply.github.com> --- pkgs/by-name/yg/ygot/package.nix | 60 ++++++++++++++++++++++++++++++++ 1 file changed, 60 insertions(+) create mode 100644 pkgs/by-name/yg/ygot/package.nix diff --git a/pkgs/by-name/yg/ygot/package.nix b/pkgs/by-name/yg/ygot/package.nix new file mode 100644 index 000000000000..4ae8cbf1015b --- /dev/null +++ b/pkgs/by-name/yg/ygot/package.nix @@ -0,0 +1,60 @@ +{ + lib, + stdenv, + buildPackages, + buildGoModule, + fetchFromGitHub, + installShellFiles, + nix-update-script, +}: + +buildGoModule (finalAttrs: { + pname = "ygot"; + version = "0.30.0"; + + src = fetchFromGitHub { + owner = "openconfig"; + repo = "ygot"; + tag = "v${finalAttrs.version}"; + hash = "sha256-nV0vh4KZtXEMc8BNRkrRVwgb59KWahkqROxu9/7xP/E="; + }; + + vendorHash = "sha256-MxyjO/uptmBXz+JWgRcP/SWeEWyz9pNA9eM4Rul45cM="; + + excludedPackages = [ + "demo/*" + "exampleoc" + "integration_tests/" + ]; + + nativeBuildInputs = [ installShellFiles ]; + + postInstall = + '' + # The normal binary names are far too generic + mv $out/bin/generator $out/bin/ygot_generator + mv $out/bin/proto_generator $out/bin/ygot_proto_generator + '' + + lib.optionalString (stdenv.hostPlatform.emulatorAvailable buildPackages) ( + let + emulator = stdenv.hostPlatform.emulator buildPackages; + in + '' + installShellCompletion --cmd gnmidiff \ + --bash <(${emulator} $out/bin/gnmidiff completion bash) \ + --zsh <(${emulator} $out/bin/gnmidiff completion zsh) \ + --fish <(${emulator} $out/bin/gnmidiff completion fish) + '' + ); + + passthru.updateScript = nix-update-script { }; + + meta = { + description = "Collection of Go utilities for interacting with YANG modules"; + homepage = "https://github.com/openconfig/ygot"; + changelog = "https://github.com/openconfig/ygot/releases/tag/v${finalAttrs.version}"; + license = lib.licenses.asl20; + maintainers = [ lib.maintainers.haylin ]; + mainProgram = "ygot_generator"; + }; +})