GNU bug report logs - #69692
[PATCH] gnu: Add home-jellyfin-mpv-shim-service-type.

Please note: This is a static page, with minimal formatting, updated once a day.
Click here to see this page with the latest information and nicer formatting.

Package: guix-patches; Reported by: Ian Eure <ian@HIDDEN>; Keywords: patch; dated Sun, 10 Mar 2024 05:26:02 UTC; Maintainer for guix-patches is guix-patches@HIDDEN.

Message received at submit <at> debbugs.gnu.org:


Received: (at submit) by debbugs.gnu.org; 10 Mar 2024 05:25:21 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Sun Mar 10 00:25:21 2024
Received: from localhost ([127.0.0.1]:35235 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1rjBgX-0000e3-2M
	for submit <at> debbugs.gnu.org; Sun, 10 Mar 2024 00:25:21 -0500
Received: from lists.gnu.org ([209.51.188.17]:56988)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <ian@HIDDEN>) id 1rjBgS-0000dr-53
 for submit <at> debbugs.gnu.org; Sun, 10 Mar 2024 00:25:19 -0500
Received: from eggs.gnu.org ([2001:470:142:3::10])
 by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <ian@HIDDEN>) id 1rjBfu-00038x-NK
 for guix-patches@HIDDEN; Sun, 10 Mar 2024 00:24:42 -0500
Received: from wfhigh7-smtp.messagingengine.com ([64.147.123.158])
 by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <ian@HIDDEN>) id 1rjBfp-0004bB-F6
 for guix-patches@HIDDEN; Sun, 10 Mar 2024 00:24:42 -0500
Received: from compute6.internal (compute6.nyi.internal [10.202.2.47])
 by mailfhigh.west.internal (Postfix) with ESMTP id 90063180008B;
 Sun, 10 Mar 2024 00:24:35 -0500 (EST)
Received: from mailfrontend1 ([10.202.2.162])
 by compute6.internal (MEProxy); Sun, 10 Mar 2024 00:24:35 -0500
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=retrospec.tv; h=
 cc:cc:content-transfer-encoding:content-type:date:date:from:from
 :in-reply-to:message-id:mime-version:reply-to:subject:subject:to
 :to; s=fm3; t=1710048275; x=1710134675; bh=rlrPKmL37zIzC0G7rP0KI
 fDxAhJ4UTtrlfJdHYwOHGI=; b=dnlDbBQUu7F5SAMRb/XmtwQm6Ui+CVT5eYMVW
 bba5fzG4RoQ/sJfEv6tz6qpG70ozu+KRp/vlOBCNUsG4Lfgl01kupX+Ie4kiUso1
 aGpvNQElBh8izhNMkMgA27Dw/1RFr83P4+mqpWDiApq5efck762nDroj7jtgrKrW
 uCs44YXbp+qYari1/qQDCLiM95lqbpMGgHV+enhNzJUVx/rOlRZ5Hy12QuNU3f3a
 k7kPXZiEh95Y0Lv2rFI5myyoE283wAaivw46vM3BZnmK+ng1Ae+CcSOQjBURdah/
 LU3fHDix+QW6cC2RcI2B8gaeq1TA8xSlrPTA9LN2o+NJ0rA6A==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
 messagingengine.com; h=cc:cc:content-transfer-encoding
 :content-type:date:date:feedback-id:feedback-id:from:from
 :in-reply-to:message-id:mime-version:reply-to:subject:subject:to
 :to:x-me-proxy:x-me-proxy:x-me-sender:x-me-sender:x-sasl-enc; s=
 fm1; t=1710048275; x=1710134675; bh=rlrPKmL37zIzC0G7rP0KIfDxAhJ4
 UTtrlfJdHYwOHGI=; b=gp8uttZ9boyOVZVBa0UdCz4yb5yTRU8sqz9MYTu9yGTr
 DLOrb78X9zgEKALopJekjU0l1thHii/kdSLgzViJjfytB34mIxXdtcII16GSQna3
 Lm1pkdjF141BEexTr4cZFH5N97P6R/FgBagx7j6xmLTHLj9lrxlZUMqnIOaYpIY2
 wXMr5tRVk87V0nm65AnKXb+eeXYc9cun9DqY97rnk6Uy6/u+WJ9SSTFrkZYH9ZLP
 LVDskBytgUnVM/uRuFsISPG1Ym92WtJPAX2zD9bN8e6Z+rN4hi2PG9Yuf/mHD6w8
 xOjRW2luTvUrJo8t6emmIHNoCERUUHSOvHRjs3rwzA==
X-ME-Sender: <xms:EkTtZUUchpZeXeNqz0WcGIz4A9xS4m3xFlsxq62Y6wL2Ousm4ruafg>
 <xme:EkTtZYkjEsJABLN8061-l2cbQqKfyuS0PPb35eYm3F5ItLdAvjhzh-2lFDj5nPusm
 mI2opB2x2d-mF_NDw>
X-ME-Received: <xmr:EkTtZYaPUnVvNZh3I_gyUM5E5FCgaV5CW9oytoeoPu6Ww9TtXCzVb9F__badisG2bNM6TRtvkgH0m1Cnvuh-tfTezFmz1_TC-m__xAlz7e5gl2Y>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvledrieekgdekvdcutefuodetggdotefrodftvf
 curfhrohhfihhlvgemucfhrghsthforghilhdpqfgfvfdpuffrtefokffrpgfnqfghnecu
 uegrihhlohhuthemuceftddtnecunecujfgurhephffvvefufffkofgggfestdekredtre
 dttdenucfhrhhomhepkfgrnhcugfhurhgvuceoihgrnhesrhgvthhrohhsphgvtgdrthhv
 qeenucggtffrrghtthgvrhhnpeduleevheeiueevhefhvdeiieevleeigeekteeuiedule
 dvgedtffejteffueevtdenucffohhmrghinhepkhhoughirdhtvhdpjhgvlhhlhihfihhn
 rdhorhhgnecuvehluhhsthgvrhfuihiivgeptdenucfrrghrrghmpehmrghilhhfrhhomh
 epihgrnhesrhgvthhrohhsphgvtgdrthhv
X-ME-Proxy: <xmx:EkTtZTXshOmfjNKMIW7GUdmSStEyjjQAV-hPNeOcR58ZKSn7slS2vQ>
 <xmx:EkTtZen078z2utx0Ryzfi1WrhworKvYFoPbcuGkrD088--t459NyVw>
 <xmx:EkTtZYc55y3glb4CREzrbBeOW5Xvmd7gK2mK9eDKT35ct3m3KbJlQg>
 <xmx:E0TtZTxWg03nBsWKuDmQf1tqpEBO7FNyMN5RxGvZSmchLZfTAwaJejPvjAk>
Feedback-ID: id9014242:Fastmail
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Sun,
 10 Mar 2024 00:24:34 -0500 (EST)
From: Ian Eure <ian@HIDDEN>
To: guix-patches@HIDDEN
Subject: [PATCH] gnu: Add home-jellyfin-mpv-shim-service-type.
Date: Sat,  9 Mar 2024 21:24:26 -0800
Message-ID: <7d396f735f82369731c90195c7b8e7dc0fcf9acd.1710048182.git.ian@HIDDEN>
X-Mailer: git-send-email 2.41.0
MIME-Version: 1.0
X-Debbugs-Cc: ( <paren@HIDDEN>, Andrew Tropin <andrew@HIDDEN>, Ludovic Courtès <ludo@HIDDEN>
Content-Transfer-Encoding: 8bit
Received-SPF: pass client-ip=64.147.123.158; envelope-from=ian@HIDDEN;
 helo=wfhigh7-smtp.messagingengine.com
X-Spam_score_int: -27
X-Spam_score: -2.8
X-Spam_bar: --
X-Spam_report: (-2.8 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1,
 DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1,
 RCVD_IN_DNSWL_LOW=-0.7, SPF_HELO_NONE=0.001, SPF_PASS=-0.001,
 T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham autolearn_force=no
X-Spam_action: no action
X-Spam-Score: -1.7 (-)
X-Debbugs-Envelope-To: submit
Cc: Ian Eure <ian@HIDDEN>
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -2.7 (--)

Split off from 67120.

* gnu/home/services/media.scm (home-jellyfin-mpv-shim-service-type): New variable.
* doc/guix.texi (Jellyfin Services): New section.
* doc/guix.texi (Kodi Services): Add subheading.

Change-Id: I037ab0602214fdaa1b032be51ff98ecf6b7ee16c
---
 doc/guix.texi               | 19 +++++++++++++++++
 gnu/home/services/media.scm | 42 +++++++++++++++++++++++++++++++++++++
 2 files changed, 61 insertions(+)

diff --git a/doc/guix.texi b/doc/guix.texi
index 858d5751bf..8a3aead56a 100644
--- a/doc/guix.texi
+++ b/doc/guix.texi
@@ -46383,6 +46383,8 @@ Media Home Services
 @subsection Media Home Services
 
 @cindex kodi
+@subsubheading Kodi Services
+
 The @uref{https://kodi.tv, Kodi media center} can be run as a daemon on
 a media server.  With the @code{(gnu home services kodi)} service, you
 can configure Kodi to run upon login.
@@ -46415,6 +46417,23 @@ Media Home Services
 @end table
 @end deftp
 
+@cindex jellyfin
+@subsubheading Jellyfin Services
+
+The @code{home-jellyfin-mpv-shim-service-type} in the @code{(gnu home services media)} module runs a cast client for the @uref{https://jellyfin.org/, Jellyfin} media system.
+
+To enable, add this to your home services:
+
+@lisp
+(service home-jellyfin-mpv-shim-service-type #f)
+@end lisp
+
+The service only starts if @code{jellyfin-mpv-shim} has been configured with a remote server and credentials.  This must be done manually, by launching @code{jellyfin-mpv-shim}.  After configuring the server, the service will start automatically when you log in.
+
+@defvar home-jellyfin-mpv-shim-service-type
+The type of the Jellyfin MPV Shim service.
+@end defvar
+
 @node Networking Home Services
 @subsection Networking Home Services
 
diff --git a/gnu/home/services/media.scm b/gnu/home/services/media.scm
index c6454dfe15..a7fcf75b06 100644
--- a/gnu/home/services/media.scm
+++ b/gnu/home/services/media.scm
@@ -19,8 +19,10 @@
 (define-module (gnu home services media)
   #:use-module (srfi srfi-26)
   #:use-module (gnu home services)
+  #:use-module (gnu home services desktop)
   #:use-module (gnu home services shepherd)
   #:use-module (gnu packages kodi)
+  #:use-module (gnu packages video)
   #:use-module (gnu services configuration)
   #:use-module (gnu services shepherd)
   #:use-module (guix records)
@@ -66,3 +68,43 @@ (define home-kodi-service-type
    (description
     "Install and configure the Kodi media center so that it runs as a Shepherd
 service.")))
+
+(define (jellyfin-mpv-shim-shepherd-service _ignore)
+  (list (shepherd-service
+         (documentation "Jellyfin MPV Shim.")
+         (provision '(jellyfin-mpv-shim jellyfin-client))
+
+         ;; Depend on 'x11-display', which sets 'DISPLAY' if an X11 server is
+         ;; available, and fails to start otherwise.
+         (requirement '(x11-display))
+
+         (modules '((srfi srfi-1)
+                    (srfi srfi-26)
+                    (srfi srfi-98)))
+         (start #~(lambda _
+                    ;; Only start if a server has been configured.
+                    (if (file-exists?
+                         (string-append
+                          (get-environment-variable "XDG_CONFIG_HOME")
+                          "/jellyfin-mpv-shim/cred.json"))
+                        (fork+exec-command
+                         (list #$(file-append jellyfin-mpv-shim "/bin/jellyfin-mpv-shim"))
+
+                         ;; Inherit the 'DISPLAY' variable set by 'x11-display'.
+                         #:environment-variables
+                         (cons (string-append "DISPLAY=" (getenv "DISPLAY"))
+                               (remove (cut string-prefix? "DISPLAY=" <>)
+                                       (default-environment-variables))))
+                        #f)))
+         (stop #~(make-kill-destructor)))))
+
+(define-public home-jellyfin-mpv-shim-service-type
+  (service-type
+   (name 'home-jellyfin-mpv-shim)
+   (extensions (list (service-extension home-shepherd-service-type
+                                        jellyfin-mpv-shim-shepherd-service)
+                     ;; Ensure 'home-x11-service-type' is instantiated so we
+                     ;; can depend on the Shepherd 'x11-display' service.
+                     (service-extension home-x11-service-type
+                                        (const #t))))
+   (description "Run Jellyfin MPV Shim.")))

base-commit: 7758e63f7a89f53fbb7c7a265ae472af0a8dfab0
-- 
2.41.0





Acknowledgement sent to Ian Eure <ian@HIDDEN>:
New bug report received and forwarded. Copy sent to , guix-patches@HIDDEN. Full text available.
Report forwarded to , guix-patches@HIDDEN:
bug#69692; Package guix-patches. Full text available.
Please note: This is a static page, with minimal formatting, updated once a day.
Click here to see this page with the latest information and nicer formatting.
Last modified: Sun, 10 Mar 2024 05:30:02 UTC

GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997 nCipher Corporation Ltd, 1994-97 Ian Jackson.