commit:     105f4270e09468b3a97675619385523d2df217c7
Author:     Craig Andrews <candrews <AT> gentoo <DOT> org>
AuthorDate: Fri Jul  8 21:11:40 2022 +0000
Commit:     Craig Andrews <candrews <AT> gentoo <DOT> org>
CommitDate: Sun Jul 10 18:25:54 2022 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=105f4270

www-apps/jellyfin: puts you in control of streaming media.

Closes: https://bugs.gentoo.org/693090
Package-Manager: Portage-3.0.30, Repoman-3.0.3
Signed-off-by: Craig Andrews <candrews <AT> gentoo.org>

 www-apps/jellyfin/Manifest               |  2 ++
 www-apps/jellyfin/files/jellyfin.init    | 14 +++++++++
 www-apps/jellyfin/files/jellyfin.service | 38 +++++++++++++++++++++++++
 www-apps/jellyfin/jellyfin-10.8.1.ebuild | 49 ++++++++++++++++++++++++++++++++
 www-apps/jellyfin/metadata.xml           | 20 +++++++++++++
 5 files changed, 123 insertions(+)

diff --git a/www-apps/jellyfin/Manifest b/www-apps/jellyfin/Manifest
new file mode 100644
index 000000000000..6a6ad79f795f
--- /dev/null
+++ b/www-apps/jellyfin/Manifest
@@ -0,0 +1,2 @@
+DIST jellyfin_10.8.1_amd64.tar.gz 99055788 BLAKE2B 
1e4be154cfa4982e4f2a9f33b17e23dae3ed888b49c993a0f9dded2267904e41195c0dd0d9b2a47ac8bc10d7d4f45a52141d922e8a1b3348e29cba7e60a9d64c
 SHA512 
ac755137c1859b7b322ff2369d92ebe98757a53c58fa49b9fd178a0b703d829d6c254f4e94a27a7b36b44b92e8b003d86a97cf55e620cd58008f89775f7e4cb4
+DIST jellyfin_10.8.1_arm64.tar.gz 95977557 BLAKE2B 
ecaee96df0e8f01cb31b08b7e3c55d4d906e9dbdada28353ea6653d1f365fa41d68ccc87e26b528d6b25c60b9ae3fc1a31823f7b6f661d12609c7e01bac8eff7
 SHA512 
4ed2748d5efd9fc18a2a4a0c4da24c24e33eb7962441c2864117d31ac1a952639dcc7968f3ff492015f7f1d9d054e93716f745527ca48778f6fdf91cef79e95f

diff --git a/www-apps/jellyfin/files/jellyfin.init 
b/www-apps/jellyfin/files/jellyfin.init
new file mode 100644
index 000000000000..c4bdacd7c6d1
--- /dev/null
+++ b/www-apps/jellyfin/files/jellyfin.init
@@ -0,0 +1,14 @@
+#!/sbin/openrc-run
+
+pidfile="/run/${RC_SVCNAME}.pid"
+command="/opt/jellyfin/jellyfin"
+command_args="--logdir /var/log/jellyfin --cachedir /var/cache/jellyfin 
--configdir /etc/jellyfin --datadir /var/lib/jellyfin"
+command_user="${RC_SVCNAME}:${RC_SVCNAME}"
+command_background=true
+
+start_pre() {
+       #  (Commands necessary to prepare to start the service)
+       # Ensure that our dirs are correct
+       checkpath --directory --owner jellyfin:jellyfin --mode 0775 \
+               /var/cache/jellyfin
+}

diff --git a/www-apps/jellyfin/files/jellyfin.service 
b/www-apps/jellyfin/files/jellyfin.service
new file mode 100644
index 000000000000..f20bfeb3e352
--- /dev/null
+++ b/www-apps/jellyfin/files/jellyfin.service
@@ -0,0 +1,38 @@
+[Unit]
+Description = Jellyfin Media Server
+After=syslog.target network.target
+
+[Service]
+User=jellyfin
+Group=jellyfin
+
+Type=simple
+StateDirectory=jellyfin
+CacheDirectory=jellyfin
+LogsDirectory=jellyfin
+ConfigurationDirectory=jellyfin
+ExecStart=/opt/jellyfin/jellyfin --logdir "$LOGS_DIRECTORY" --cachedir 
"$CACHE_DIRECTORY" --configdir "$CONFIGURATION_DIRECTORY" --datadir 
"$STATE_DIRECTORY"
+TimeoutStopSec=20
+KillMode=process
+Restart=always
+
+PrivateTmp=yes
+PrivateMounts=yes
+ProtectHome=yes
+ProtectSystem=full
+NoNewPrivileges=yes
+ProtectHostname=yes
+ProtectClock=yes
+ProtectKernelTunables=yes
+ProtectKernelModules=yes
+ProtectKernelLogs=yes
+ProtectControlGroups=yes
+RemoveIPC=true
+RestrictRealtime=yes
+DeviceAllow=char-drm rw
+DeviceAllow=char-nvidia-frontend rw
+DeviceAllow=char-nvidia-uvm rw
+
+[Install]
+WantedBy=multi-user.target
+

diff --git a/www-apps/jellyfin/jellyfin-10.8.1.ebuild 
b/www-apps/jellyfin/jellyfin-10.8.1.ebuild
new file mode 100644
index 000000000000..561fafc14add
--- /dev/null
+++ b/www-apps/jellyfin/jellyfin-10.8.1.ebuild
@@ -0,0 +1,49 @@
+# Copyright 2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit systemd
+
+DESCRIPTION="Jellyfin puts you in control of managing and streaming your media"
+HOMEPAGE="https://jellyfin.readthedocs.io/en/latest/";
+
+SRC_URI="
+       arm64? (
+               
https://repo.jellyfin.org/releases/server/linux/stable/combined/${PN}_${PV}_arm64.tar.gz
+               
https://repo.jellyfin.org/archive/linux/stable/${PV}/combined/${PN}_${PV}_arm64.tar.gz
+       )
+       amd64? (
+               
https://repo.jellyfin.org/releases/server/linux/stable/combined/${PN}_${PV}_amd64.tar.gz
+               
https://repo.jellyfin.org/archive/linux/stable/${PV}/combined/${PN}_${PV}_amd64.tar.gz
+       )"
+
+RESTRICT="mirror test"
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64"
+DEPEND="acct-user/jellyfin"
+RDEPEND="${DEPEND}
+       dev-util/lttng-ust:0
+       media-video/ffmpeg[vpx,x264]"
+BDEPEND="acct-user/jellyfin"
+INST_DIR="/opt/${PN}"
+QA_PREBUILT="${INST_DIR#/}/*.so ${INST_DIR#/}/jellyfin 
${INST_DIR#/}/createdump"
+
+src_unpack() {
+       unpack ${A}
+       mv ${PN}_${PV} ${P} || die
+}
+
+src_install() {
+       keepdir /var/log/jellyfin
+       fowners jellyfin:jellyfin /var/log/jellyfin
+       keepdir /etc/jellyfin
+       fowners jellyfin:jellyfin /etc/jellyfin
+       insinto ${INST_DIR}
+       dodir ${INST_DIR}
+       doins -r "${S}"/*
+       chmod 755 "${D}${INST_DIR}/jellyfin"
+       newinitd "${FILESDIR}/${PN}.init" "${PN}"
+       systemd_dounit "${FILESDIR}/${PN}.service"
+}

diff --git a/www-apps/jellyfin/metadata.xml b/www-apps/jellyfin/metadata.xml
new file mode 100644
index 000000000000..9a547e28ad43
--- /dev/null
+++ b/www-apps/jellyfin/metadata.xml
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd";>
+<pkgmetadata>
+       <maintainer type="person" proxied="yes">
+               <email>[email protected]</email>
+               <name>Fredrik Eriksson</name>
+       </maintainer>
+       <maintainer type="project" proxied="proxy">
+               <email>[email protected]</email>
+               <name>Proxy Maintainers</name>
+       </maintainer>
+       <maintainer type="person">
+               <email>[email protected]</email>
+               <name>Craig Andrews</name>
+       </maintainer>
+       <upstream>
+               <remote-id type="github">jellyfin/jellyfin</remote-id>
+               <bugs-to>https://github.com/jellyfin/jellyfin/issues</bugs-to>
+       </upstream>
+</pkgmetadata>

Reply via email to