From a4bdbb7073ee59555576fd866c6359de4e15ed70 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=94=D0=B0=D0=BC=D1=98=D0=B0=D0=BD=20=D0=93=D0=B5=D0=BE?= =?UTF-8?q?=D1=80=D0=B3=D0=B8=D0=B5=D0=B2=D1=81=D0=BA=D0=B8?= Date: Sat, 12 Nov 2022 23:01:35 +0100 Subject: [PATCH] go2tv: init at 1.13.0 Cast media files to UPnP/DLNA Media Renderers and Smart TVs. https://github.com/alexballas/go2tv provides 2 packages: - go2tv the GUI version (based on go-gl/glfw) - go2tv-lite just a cli version Co-authored-by: Sandro --- pkgs/applications/video/go2tv/default.nix | 57 +++++++++++++++++++++++ pkgs/top-level/all-packages.nix | 5 ++ 2 files changed, 62 insertions(+) create mode 100644 pkgs/applications/video/go2tv/default.nix diff --git a/pkgs/applications/video/go2tv/default.nix b/pkgs/applications/video/go2tv/default.nix new file mode 100644 index 000000000000..1137193ef41c --- /dev/null +++ b/pkgs/applications/video/go2tv/default.nix @@ -0,0 +1,57 @@ +{ lib +, stdenv +, buildGoModule +, fetchFromGitHub +, Carbon +, Cocoa +, Kernel +, UserNotifications +, xorg +, libglvnd +, pkg-config +, withGui ? true +}: + +buildGoModule rec { + pname = "go2tv" + lib.optionalString (!withGui) "-lite"; + version = "1.13.0"; + + src = fetchFromGitHub { + owner = "alexballas"; + repo = "go2tv"; + rev = "v${version}"; + sha256 = "sha256-ZHKfBKOX3/kVR6Nc+jSmLgfmpihc6QMb6NvTFlsBr5E="; + }; + + vendorSha256 = "sha256-msXfXFWXyZeT6zrRPZkBV7PEyPqYkx+JlpTWUwgFavI="; + + nativeBuildInputs = [ pkg-config ]; + + buildInputs = [ + xorg.libX11 + xorg.libXcursor + xorg.libXrandr + xorg.libXinerama + xorg.libXi + xorg.libXext + xorg.libXxf86vm + libglvnd + ] ++ lib.optionals stdenv.isDarwin [ Carbon Cocoa Kernel UserNotifications ]; + + ldflags = [ + "-s" "-w" + "-linkmode=external" + ]; + + # conditionally build with GUI or not (go2tv or go2tv-lite sub-packages) + subPackages = [ "cmd/${pname}" ]; + + doCheck = false; + + meta = with lib; { + description = "Cast media files to UPnP/DLNA Media Renderers and Smart TVs"; + homepage = "https://github.com/alexballas/go2tv"; + license = licenses.mit; + maintainers = with maintainers; [ gdamjan ]; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index cf9717b760e6..8e5a6c702fa6 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -2690,6 +2690,11 @@ with pkgs; gmnitohtml = callPackage ../applications/misc/gmnitohtml { }; + go2tv = darwin.apple_sdk_11_0.callPackage ../applications/video/go2tv { + inherit (darwin.apple_sdk_11_0.frameworks) Carbon Cocoa Kernel UserNotifications; + }; + go2tv-lite = go2tv.override { withGui = false; }; + goimapnotify = callPackage ../tools/networking/goimapnotify { }; gojsontoyaml = callPackage ../development/tools/gojsontoyaml { };