commit:     d2201ac9af7e6b412e5da6a7d656d2cbda37f3a8
Author:     Nicolas PARLANT <nicolas.parlant <AT> parhuet <DOT> fr>
AuthorDate: Tue Dec 30 07:05:02 2025 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Tue Dec 30 13:15:51 2025 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=d2201ac9

media-sound/owntone: add 29.0

use release tarball to avoid eautoreconf and build tools
add missing dev-libs/libgpg-error and sys-apps/util-linux
remove mxml (no longer used), duplicate alsa-lib
sync sed-op with configfile
new simple initd, pidfile owned by root

Closes: https://bugs.gentoo.org/965290
Signed-off-by: Nicolas PARLANT <nicolas.parlant <AT> parhuet.fr>
Part-of: https://github.com/gentoo/gentoo/pull/45201
Closes: https://github.com/gentoo/gentoo/pull/45201
Signed-off-by: Sam James <sam <AT> gentoo.org>

 media-sound/owntone/Manifest               |  1 +
 media-sound/owntone/files/owntone.initd-r2 | 16 ++++++
 media-sound/owntone/owntone-29.0.ebuild    | 80 ++++++++++++++++++++++++++++++
 3 files changed, 97 insertions(+)

diff --git a/media-sound/owntone/Manifest b/media-sound/owntone/Manifest
index ca4ba990a19d..b3d4f8cf397f 100644
--- a/media-sound/owntone/Manifest
+++ b/media-sound/owntone/Manifest
@@ -1 +1,2 @@
 DIST owntone-28.12.gh.tar.gz 5755301 BLAKE2B 
4b797f958f8b9691a596488f6b05da3f13028ea9e96f07d3d1278bbb0a7687a40352a5ea5036484fef118a73bb1f53eb4e6d6710622a30826075d85c4462a88b
 SHA512 
efb6efd85a4c0cbaa09b46b6e1a6ac9f55a5216a3995bb07b3a6da9b7f95f68c4df884ae34eef79a44f2e1fea4bdf38cdd13c816500417a0c859f8e35a2a68b3
+DIST owntone-29.0.tar.xz 1200812 BLAKE2B 
f23150662064864839fabf2a49de65e01d65b730d430cb8e6cea201695bca0d687eecc8d769aed0cb4cf6f2493cc19607bca19d9163d3d52d89f73b96146963a
 SHA512 
ece3037e36021844d5a87a22f032fd22dabb6069d06018cedaa024d4fd1f2ce5357f176efe5e1d874f1e2fa54846a4a92c563ebee27fd746dd6d5366426bab48

diff --git a/media-sound/owntone/files/owntone.initd-r2 
b/media-sound/owntone/files/owntone.initd-r2
new file mode 100644
index 000000000000..238b6a5e1fe8
--- /dev/null
+++ b/media-sound/owntone/files/owntone.initd-r2
@@ -0,0 +1,16 @@
+#!/sbin/openrc-run
+# Copyright 2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+name="owntone-server"
+description="DAAP/DACP (iTunes), RSP and MPD server"
+command=/usr/sbin/owntone
+command_args="-f -c ${CONFFILE:-/etc/${RC_SVCNAME}.conf} ${EXTRA_OPTS}"
+command_user="${USER:-owntone}:${GROUP:-audio}"
+command_background=true
+pidfile="/run/${RC_SVCNAME}.pid"
+
+depend() {
+       need net avahi-daemon
+       use dns
+}

diff --git a/media-sound/owntone/owntone-29.0.ebuild 
b/media-sound/owntone/owntone-29.0.ebuild
new file mode 100644
index 000000000000..f33642f1c69a
--- /dev/null
+++ b/media-sound/owntone/owntone-29.0.ebuild
@@ -0,0 +1,80 @@
+# Copyright 2024-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DESCRIPTION="DAAP (iTunes) and MPD media server"
+HOMEPAGE="https://owntone.github.io/owntone-server/";
+SRC_URI="https://github.com/owntone/owntone-server/releases/download/${PV}/${P}.tar.xz";
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE="+alsa +chromecast"
+
+RDEPEND="
+       acct-group/audio
+       acct-user/owntone
+       app-pda/libplist:=
+       dev-db/sqlite:3
+       dev-libs/confuse:=
+       dev-libs/json-c:=
+       dev-libs/libevent:=
+       dev-libs/libgcrypt:=
+       dev-libs/libgpg-error
+       dev-libs/libsodium:=
+       dev-libs/libunistring:=
+       dev-libs/libxml2:=
+       dev-libs/protobuf-c:=
+       media-video/ffmpeg:=
+       net-dns/avahi
+       net-libs/libwebsockets:=
+       net-misc/curl
+       sys-apps/util-linux
+       virtual/zlib:=
+       alsa? ( media-libs/alsa-lib )
+       chromecast? (
+               net-libs/gnutls:=
+               media-video/ffmpeg:=[opus]
+       )
+"
+DEPEND="${RDEPEND}"
+BDEPEND="virtual/pkgconfig"
+
+src_prepare() {
+       default
+
+       # fix log path, and enable songs/cache databases
+       sed -i \
+               -e "/logfile = /s:= .*$:= 
${EPREFIX}/var/log/owntone/owntone.log:" \
+               -e "/\(db_path\|db_backup_path\|cache_dir\) =/s:/cache/:/:" \
+               -e "/\(db_path\|db_backup_path\|cache_dir\) =/s:^#::" \
+               owntone.conf.in || die
+}
+
+src_configure() {
+       local myeconfargs=(
+               --without-pulseaudio
+               --with-libwebsockets
+               --with-avahi
+               --with-user=owntone
+               --with-group=audio
+               $(use_with alsa)
+               $(use_enable chromecast)
+       )
+       econf "${myeconfargs[@]}"
+}
+
+src_install() {
+       default
+
+       rm -Rf "${ED}"/var/lib  # all empty dirs
+       find "${ED}" -name "*.la" -delete
+
+       keepdir /var/lib/owntone
+       keepdir /var/log/owntone
+       fowners owntone /var/log/owntone
+
+       newinitd "${FILESDIR}"/${PN}.initd-r2 ${PN}
+       newconfd "${FILESDIR}"/${PN}.confd ${PN}
+}

Reply via email to