From e5cbc1bf658e1d077c7eb639a01f8126767db862 Mon Sep 17 00:00:00 2001 From: zi3m5f <113244000+zi3m5f@users.noreply.github.com> Date: Sat, 2 Nov 2024 02:00:39 +0100 Subject: [PATCH 1/4] go-chromecast: nixfmt --- pkgs/applications/video/go-chromecast/default.nix | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/video/go-chromecast/default.nix b/pkgs/applications/video/go-chromecast/default.nix index cade6f0c7484..f038471f9fad 100644 --- a/pkgs/applications/video/go-chromecast/default.nix +++ b/pkgs/applications/video/go-chromecast/default.nix @@ -1,4 +1,8 @@ -{ lib, buildGoModule, fetchFromGitHub }: +{ + lib, + buildGoModule, + fetchFromGitHub, +}: buildGoModule rec { pname = "go-chromecast"; @@ -13,7 +17,13 @@ buildGoModule rec { vendorHash = "sha256-cEUlCR/xtPJJSWplV1COwV6UfzSmVArF4V0pJRk+/Og="; - ldflags = [ "-s" "-w" "-X main.version=${version}" "-X main.commit=${src.rev}" "-X main.date=unknown" ]; + ldflags = [ + "-s" + "-w" + "-X main.version=${version}" + "-X main.commit=${src.rev}" + "-X main.date=unknown" + ]; meta = with lib; { homepage = "https://github.com/vishen/go-chromecast"; From f23fe574f8a19aad50e633b275c6a6ef945787c6 Mon Sep 17 00:00:00 2001 From: zi3m5f <113244000+zi3m5f@users.noreply.github.com> Date: Sat, 2 Nov 2024 13:39:40 +0100 Subject: [PATCH 2/4] go-chromecast: fix build "go test" fails with go 1.23 use buildGo122Module for now. --- pkgs/applications/video/go-chromecast/default.nix | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/video/go-chromecast/default.nix b/pkgs/applications/video/go-chromecast/default.nix index f038471f9fad..0c00eb04380e 100644 --- a/pkgs/applications/video/go-chromecast/default.nix +++ b/pkgs/applications/video/go-chromecast/default.nix @@ -1,10 +1,11 @@ { lib, - buildGoModule, + buildGo122Module, fetchFromGitHub, }: -buildGoModule rec { +# "go test" fails with go 1.23 +buildGo122Module rec { pname = "go-chromecast"; version = "0.3.1"; From 90e636c1ba028ed26a1d26d8a91080be5f6b20b3 Mon Sep 17 00:00:00 2001 From: zi3m5f <113244000+zi3m5f@users.noreply.github.com> Date: Sat, 2 Nov 2024 13:43:09 +0100 Subject: [PATCH 3/4] go-chromecast: adopt and other improvements - adopt (no hardware to test) - add `versionCheckHook` - add shell completions with `installShellFiles` - other improvements --- .../video/go-chromecast/default.nix | 38 +++++++++++++++---- 1 file changed, 30 insertions(+), 8 deletions(-) diff --git a/pkgs/applications/video/go-chromecast/default.nix b/pkgs/applications/video/go-chromecast/default.nix index 0c00eb04380e..52a8321c300e 100644 --- a/pkgs/applications/video/go-chromecast/default.nix +++ b/pkgs/applications/video/go-chromecast/default.nix @@ -2,6 +2,9 @@ lib, buildGo122Module, fetchFromGitHub, + installShellFiles, + stdenvNoCC, + versionCheckHook, }: # "go test" fails with go 1.23 @@ -11,26 +14,45 @@ buildGo122Module rec { src = fetchFromGitHub { owner = "vishen"; - repo = pname; - rev = "v${version}"; + repo = "go-chromecast"; + rev = "refs/tags/v${version}"; hash = "sha256-Kzo8iWj4mtnX1Jxm2sLsnmEOmpzScxWHZ/sLYYm3vQI="; }; vendorHash = "sha256-cEUlCR/xtPJJSWplV1COwV6UfzSmVArF4V0pJRk+/Og="; + CGO_ENABLED = 0; + ldflags = [ "-s" "-w" - "-X main.version=${version}" - "-X main.commit=${src.rev}" - "-X main.date=unknown" + "-X=main.version=${version}" + "-X=main.commit=${src.rev}" + "-X=main.date=unknown" ]; - meta = with lib; { + doInstallCheck = true; + + nativeBuildInputs = [ installShellFiles ]; + + nativeInstallCheckInputs = [ + versionCheckHook + ]; + + versionCheckProgramArg = "--version"; + + postInstall = lib.optionalString (stdenvNoCC.buildPlatform.canExecute stdenvNoCC.hostPlatform) '' + installShellCompletion --cmd go-chromecast \ + --bash <($out/bin/go-chromecast completion bash) \ + --fish <($out/bin/go-chromecast completion fish) \ + --zsh <($out/bin/go-chromecast completion zsh) + ''; + + meta = { homepage = "https://github.com/vishen/go-chromecast"; description = "CLI for Google Chromecast, Home devices and Cast Groups"; - license = licenses.asl20; - maintainers = [ ]; + license = lib.licenses.asl20; + maintainers = [ lib.maintainers.zi3m5f ]; mainProgram = "go-chromecast"; }; } From a8214534fd423e4d67fc64834a90cd414287c5dd Mon Sep 17 00:00:00 2001 From: zi3m5f <113244000+zi3m5f@users.noreply.github.com> Date: Sat, 2 Nov 2024 13:48:07 +0100 Subject: [PATCH 4/4] go-chromecast: move to pkgs/by-name --- .../default.nix => by-name/go/go-chromecast/package.nix} | 0 pkgs/top-level/all-packages.nix | 2 -- 2 files changed, 2 deletions(-) rename pkgs/{applications/video/go-chromecast/default.nix => by-name/go/go-chromecast/package.nix} (100%) diff --git a/pkgs/applications/video/go-chromecast/default.nix b/pkgs/by-name/go/go-chromecast/package.nix similarity index 100% rename from pkgs/applications/video/go-chromecast/default.nix rename to pkgs/by-name/go/go-chromecast/package.nix diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 84907eb22fbb..5a4708df3c50 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -5027,8 +5027,6 @@ with pkgs; gfxreconstruct = callPackage ../tools/graphics/gfxreconstruct { }; - go-chromecast = callPackage ../applications/video/go-chromecast { }; - go-containerregistry = callPackage ../development/tools/go-containerregistry { }; inherit (go-containerregistry) crane gcrane;