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