about summary refs log tree commit diff
path: root/pkgs/applications
diff options
context:
space:
mode:
authorДамјан Георгиевски <gdamjan@gmail.com>2022-11-12 23:01:35 +0100
committerSandro Jäckel <sandro.jaeckel@gmail.com>2022-11-21 00:29:41 +0100
commita4bdbb7073ee59555576fd866c6359de4e15ed70 (patch)
tree4359ae7a6a9ff081d635cf10b4c586f4331f8484 /pkgs/applications
parent743f87f165e8d382e2363db4a78eb85e6538fc70 (diff)
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 <sandro.jaeckel@gmail.com>
Diffstat (limited to 'pkgs/applications')
-rw-r--r--pkgs/applications/video/go2tv/default.nix57
1 files changed, 57 insertions, 0 deletions
diff --git a/pkgs/applications/video/go2tv/default.nix b/pkgs/applications/video/go2tv/default.nix
new file mode 100644
index 0000000000000..1137193ef41cf
--- /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 ];
+  };
+}