public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
* [gentoo-commits] repo/gentoo:master commit in: www-apps/jellyfin/files/, www-apps/jellyfin/
@ 2022-07-10 18:26 Craig Andrews
  0 siblings, 0 replies; 2+ messages in thread
From: Craig Andrews @ 2022-07-10 18:26 UTC (permalink / raw
  To: gentoo-commits

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>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>


^ permalink raw reply related	[flat|nested] 2+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: www-apps/jellyfin/files/, www-apps/jellyfin/
@ 2022-07-20 12:16 Craig Andrews
  0 siblings, 0 replies; 2+ messages in thread
From: Craig Andrews @ 2022-07-20 12:16 UTC (permalink / raw
  To: gentoo-commits

commit:     5523d24cba6631172d6e4f7ea9e9c718713ad42c
Author:     Craig Andrews <candrews <AT> gentoo <DOT> org>
AuthorDate: Tue Jul 19 18:52:39 2022 +0000
Commit:     Craig Andrews <candrews <AT> gentoo <DOT> org>
CommitDate: Wed Jul 20 12:14:31 2022 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=5523d24c

www-apps/jellyfin: Add confd to facilitate greater configurability

Allows easier modification of Jelly's log, cache, data, and
configuration directories, and allows configuration of a proxy.

Signed-off-by: Craig Andrews <candrews <AT> gentoo.org>
Closes: https://github.com/gentoo/gentoo/pull/26487
Signed-off-by: Craig Andrews <candrews <AT> gentoo.org>

 www-apps/jellyfin/files/jellyfin.confd      | 15 ++++++++
 www-apps/jellyfin/files/jellyfin.init-r1    | 24 ++++++++++++
 www-apps/jellyfin/jellyfin-10.8.1-r2.ebuild | 57 +++++++++++++++++++++++++++++
 3 files changed, 96 insertions(+)

diff --git a/www-apps/jellyfin/files/jellyfin.confd b/www-apps/jellyfin/files/jellyfin.confd
new file mode 100644
index 000000000000..310bef364b90
--- /dev/null
+++ b/www-apps/jellyfin/files/jellyfin.confd
@@ -0,0 +1,15 @@
+# This is the directory that will hold all Jellyfin data, and is also used as a default base directory for some other paths below.
+#JELLYFIN_DATA_DIR=/var/lib/jellyfin
+
+# This is the directory where the Jellyfin logs will be stored.
+#JELLYFIN_LOG_DIR=/var/log/jellyfin
+
+# This is the directory containing the server cache.
+#JELLYFIN_CACHE_DIR=/var/cache/jellyfin
+
+# This is the directory containing the server configuration files.
+#JELLYFIN_CONFIG_DIR=/etc/jellyfin
+
+# To configure Jellyfin to use a proxy, set http_proxy and/or https_proxy
+# export http_proxy=192.168.33.10:3128
+# export https_proxy=192.168.33.10:3129

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

diff --git a/www-apps/jellyfin/jellyfin-10.8.1-r2.ebuild b/www-apps/jellyfin/jellyfin-10.8.1-r2.ebuild
new file mode 100644
index 000000000000..76685995e7ca
--- /dev/null
+++ b/www-apps/jellyfin/jellyfin-10.8.1-r2.ebuild
@@ -0,0 +1,57 @@
+# 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}
+	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_prepare() {
+	default
+
+	# https://github.com/jellyfin/jellyfin/issues/7471
+	# https://github.com/dotnet/runtime/issues/57784
+	rm libcoreclrtraceptprovider.so || 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-r1" "${PN}"
+	newconfd "${FILESDIR}"/${PN}.confd "${PN}"
+	systemd_dounit "${FILESDIR}/${PN}.service"
+}


^ permalink raw reply related	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2022-07-20 12:16 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2022-07-20 12:16 [gentoo-commits] repo/gentoo:master commit in: www-apps/jellyfin/files/, www-apps/jellyfin/ Craig Andrews
  -- strict thread matches above, loose matches on Subject: below --
2022-07-10 18:26 Craig Andrews

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox