[bug#77269] Add jellyfin-media-player package

Message ID 87cye42ukj.fsf@gmail.com
State New
Headers
Series [bug#77269] Add jellyfin-media-player package |

Commit Message

Apoorv Singh March 26, 2025, 6:07 a.m. UTC
  This patch adds jellyfin-media-player package definition.

--
- Apoorv Singh
- Sent from Emacs.
  

Comments

45mg March 26, 2025, 11:51 a.m. UTC | #1
Hi,

Haven't tested this, but thought I'd offer a preliminary review for some
basic stuff:

Apoorv Singh <apoorvs569@gmail.com> writes:

> From ede9e38ba6c0702179654df0ecccdb2aacb11597 Mon Sep 17 00:00:00 2001
> From: apoorv569 <apoorvs569@gmail.com>
> Date: Wed, 26 Mar 2025 10:14:51 +0530
> Subject: [PATCH] Add jellyfin-media-player package
>
> Change-Id: I95e189913e3082e4f63c2f1e7e8f22fe016d9da6
> ---
>  gnu/packages/video.scm | 49 ++++++++++++++++++++++++++++++++++++++++++
>  1 file changed, 49 insertions(+)
>
> diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm
> index 9ad8262b98..d8164dd96f 100644
> --- a/gnu/packages/video.scm
> +++ b/gnu/packages/video.scm
> @@ -297,6 +297,55 @@ (define (bin command)
>  user has installed.")
>      (license license:gpl3+)))
>  
> +(define-public jellyfin-media-player
> +  (let ((commit "68ddf01ecef766620d4e564cada0a1125840547f")
> +        (revision "0"))
> +    (package
> +     (name "jellyfin-media-player")
> +     (version (git-version "1.12.0" revision commit))
> +     (source
> +      (origin
> +       (method git-fetch)
> +       (uri (git-reference
> +             (url "https://github.com/jellyfin/jellyfin-media-player")
> +             (recursive? #t)

I don't see any submodules in the source repo. If there aren't any, you
don't need `recursive?`.

> +             (commit commit)))
> +       (file-name (git-file-name name version))
> +       (sha256
> +        (base32 "0552z343i49nnhw08bifncvgs1cm4zccqwk7g9jy6gnjncs441il"))))
> +     (inputs (list alsa-lib
> +                   freetype
> +                   libxrandr
> +                   mesa
> +                   libx11
> +                   harfbuzz
> +                   qtbase-5
> +                   qtwebengine-5
> +                   qtquickcontrols-5
> +                   qtquickcontrols2-5
> +                   qtwebchannel-5
> +                   qtdeclarative-5
> +                   qtgraphicaleffects
> +                   qtx11extras
> +                   fribidi
> +                   uchardet
> +                   mpv
> +                   sdl2
> +                   libvdpau))

Inputs should generally be sorted in alphabetical order.

> +     (native-inputs (list pkg-config
> +                          python))
> +     (build-system qt-build-system)
> +     (arguments
> +      (list
> +       #:tests? #f ;No test target available
> +       #:build-type "Release"))
> +     (home-page "https://jellyfin.org")
> +     (synopsis "Jellyfin Desktop Client")

It's helpful when the synopsis conveys a bit about what the package
/is/. What is Jellyfin? Perhaps something like 'Server to collect,
manage and stream media' (just a suggestion, maybe you could come up
with something better than that).

> +     (description "Desktop client using jellyfin-web with embedded MPV player.
> +Supports Windows, Mac OS, and Linux. Media plays within the same window
> +using the jellyfin-web interface unlike Jellyfin Desktop. Supports audio passthrough.")

Description should use full sentences.

> +     (license license:gpl2))))
> +
>  (define-public transcode
>    (package
>      (name "transcode")
> -- 
> 2.49.0
>
> This patch adds jellyfin-media-player package definition.
>
> --
> - Apoorv Singh
> - Sent from Emacs.
  
Ian Eure March 26, 2025, 7:07 p.m. UTC | #2
Hi Apoorv,

I’ve had this packaged for around a year and was just getting 
things updated to submit, but you beat me to it.

Feel free to take any of my definition if it helps your patch!

https://codeberg.org/ieure/atomized-guix/src/branch/main/atomized/packages/video.scm

Thanks,

  -- Ian
  

Patch

From ede9e38ba6c0702179654df0ecccdb2aacb11597 Mon Sep 17 00:00:00 2001
From: apoorv569 <apoorvs569@gmail.com>
Date: Wed, 26 Mar 2025 10:14:51 +0530
Subject: [PATCH] Add jellyfin-media-player package

Change-Id: I95e189913e3082e4f63c2f1e7e8f22fe016d9da6
---
 gnu/packages/video.scm | 49 ++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 49 insertions(+)

diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm
index 9ad8262b98..d8164dd96f 100644
--- a/gnu/packages/video.scm
+++ b/gnu/packages/video.scm
@@ -297,6 +297,55 @@  (define (bin command)
 user has installed.")
     (license license:gpl3+)))
 
+(define-public jellyfin-media-player
+  (let ((commit "68ddf01ecef766620d4e564cada0a1125840547f")
+        (revision "0"))
+    (package
+     (name "jellyfin-media-player")
+     (version (git-version "1.12.0" revision commit))
+     (source
+      (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://github.com/jellyfin/jellyfin-media-player")
+             (recursive? #t)
+             (commit commit)))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32 "0552z343i49nnhw08bifncvgs1cm4zccqwk7g9jy6gnjncs441il"))))
+     (inputs (list alsa-lib
+                   freetype
+                   libxrandr
+                   mesa
+                   libx11
+                   harfbuzz
+                   qtbase-5
+                   qtwebengine-5
+                   qtquickcontrols-5
+                   qtquickcontrols2-5
+                   qtwebchannel-5
+                   qtdeclarative-5
+                   qtgraphicaleffects
+                   qtx11extras
+                   fribidi
+                   uchardet
+                   mpv
+                   sdl2
+                   libvdpau))
+     (native-inputs (list pkg-config
+                          python))
+     (build-system qt-build-system)
+     (arguments
+      (list
+       #:tests? #f ;No test target available
+       #:build-type "Release"))
+     (home-page "https://jellyfin.org")
+     (synopsis "Jellyfin Desktop Client")
+     (description "Desktop client using jellyfin-web with embedded MPV player.
+Supports Windows, Mac OS, and Linux. Media plays within the same window
+using the jellyfin-web interface unlike Jellyfin Desktop. Supports audio passthrough.")
+     (license license:gpl2))))
+
 (define-public transcode
   (package
     (name "transcode")
-- 
2.49.0