diff options
author | 2022-07-08 17:11:40 -0400 | |
---|---|---|
committer | 2022-07-10 14:25:54 -0400 | |
commit | 105f4270e09468b3a97675619385523d2df217c7 (patch) | |
tree | 8fdc667d99ea61ab12605c0ea3ae09a76d195da8 /www-apps | |
parent | acct-user/jellyfin: user for jellyfin (diff) | |
download | gentoo-105f4270e09468b3a97675619385523d2df217c7.tar.gz gentoo-105f4270e09468b3a97675619385523d2df217c7.tar.bz2 gentoo-105f4270e09468b3a97675619385523d2df217c7.zip |
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@gentoo.org>
Diffstat (limited to 'www-apps')
-rw-r--r-- | www-apps/jellyfin/Manifest | 2 | ||||
-rw-r--r-- | www-apps/jellyfin/files/jellyfin.init | 14 | ||||
-rw-r--r-- | www-apps/jellyfin/files/jellyfin.service | 38 | ||||
-rw-r--r-- | www-apps/jellyfin/jellyfin-10.8.1.ebuild | 49 | ||||
-rw-r--r-- | www-apps/jellyfin/metadata.xml | 20 |
5 files changed, 123 insertions, 0 deletions
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>gentoo@wb9.se</email> + <name>Fredrik Eriksson</name> + </maintainer> + <maintainer type="project" proxied="proxy"> + <email>proxy-maint@gentoo.org</email> + <name>Proxy Maintainers</name> + </maintainer> + <maintainer type="person"> + <email>candrews@gentoo.org</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> |