commit:     92ab272c013f00fc8c229cf1c82c2bf4cf351c01
Author:     Sebastian Pipping <sping <AT> gentoo <DOT> org>
AuthorDate: Fri May 16 22:46:29 2025 +0000
Commit:     Sebastian Pipping <sping <AT> gentoo <DOT> org>
CommitDate: Fri May 16 23:01:56 2025 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=92ab272c

media-sound/owntone: 28.12 + GCC 15 fixes

Closes: https://bugs.gentoo.org/955913
Signed-off-by: Sebastian Pipping <sping <AT> gentoo.org>

 media-sound/owntone/Manifest                       |  1 +
 .../owntone/files/owntone-28.12-gcc-15.patch       | 49 ++++++++++++
 media-sound/owntone/owntone-28.12.ebuild           | 91 ++++++++++++++++++++++
 3 files changed, 141 insertions(+)

diff --git a/media-sound/owntone/Manifest b/media-sound/owntone/Manifest
index f5424917a3f3..6f88aee7dd3a 100644
--- a/media-sound/owntone/Manifest
+++ b/media-sound/owntone/Manifest
@@ -1,3 +1,4 @@
+DIST owntone-28.12.gh.tar.gz 5755301 BLAKE2B 
4b797f958f8b9691a596488f6b05da3f13028ea9e96f07d3d1278bbb0a7687a40352a5ea5036484fef118a73bb1f53eb4e6d6710622a30826075d85c4462a88b
 SHA512 
efb6efd85a4c0cbaa09b46b6e1a6ac9f55a5216a3995bb07b3a6da9b7f95f68c4df884ae34eef79a44f2e1fea4bdf38cdd13c816500417a0c859f8e35a2a68b3
 DIST owntone-28.9.tar.xz 1066248 BLAKE2B 
68ba46e6ff2e406d54ccfe387191a67d4eb7590db3039d87ffcd5eabf7417059084997f0d6be810d164616cd663b2e4143714ef4ac31acb7d91e254ccd342465
 SHA512 
29f42a4a8c9501a038ecc5026fc4bce9d777dee722937b89a55523cd68f001c821017d09f32b704a0c331879f7049d7d087d8e6899c82924f45401b012c65e95
 DIST owntone-28.9_p20240903-40c22e3d.tar.gz 5730828 BLAKE2B 
8328a1c06fa40f27d55c3b28149a0b50f6bf295fe96c1f11bd82e677447ee3c5b5bf55b7d77f201fa73095c1b3f1a878b80b241ac1467d2977611eec3901d1d5
 SHA512 
5b8ea0aafd8cc63752152ab2e7ae82bb6cd02b743efd419b75f9a3bf2981b26066ef34c26c392822e0666e633653749fce5cdffb83bac788546a3b9a729e1e96
 DIST owntone-40c22e3-mpd-0.24-r1.patch 75389 BLAKE2B 
8047a72dcd374c03e81ea0ab2e2017cab40c58d11d8cf566580b422bbede793696d434ebfacf9d9b2366c91e86a949a8f1c7abced045025a98d7e2795f05c781
 SHA512 
6a0aa32622083f47eedf172880bb7d6debd3063fa18059510b022e3eca7afbd7d8c29d5f7fc8a3b04b54a42585e6df8e5568615125316a063ff58f97ca2206b4

diff --git a/media-sound/owntone/files/owntone-28.12-gcc-15.patch 
b/media-sound/owntone/files/owntone-28.12-gcc-15.patch
new file mode 100644
index 000000000000..8a36507f96b4
--- /dev/null
+++ b/media-sound/owntone/files/owntone-28.12-gcc-15.patch
@@ -0,0 +1,49 @@
+From 945a8932f47a1a67ea46b732847f4b33c7942473 Mon Sep 17 00:00:00 2001
+From: ejurgensen <[email protected]>
+Date: Fri, 16 May 2025 23:49:09 +0200
+Subject: [PATCH] [spotify] Fix GCC 15 compile errors about implicit
+ declarations
+
+Resolves issue #1888; backported to owntone 28.12
+
+Backported-by: Sebastian Pipping <[email protected]>
+---
+ src/inputs/librespot-c/configure.ac  | 4 ++++
+ src/inputs/librespot-c/src/channel.c | 4 ++--
+ 2 files changed, 6 insertions(+), 2 deletions(-)
+
+diff --git a/src/inputs/librespot-c/configure.ac 
b/src/inputs/librespot-c/configure.ac
+index 10b76dfa..3c3bccf8 100644
+--- a/src/inputs/librespot-c/configure.ac
++++ b/src/inputs/librespot-c/configure.ac
+@@ -1,6 +1,10 @@
+ AC_INIT([librespot-c], [0.1])
+ AC_CONFIG_AUX_DIR([.])
+ AM_INIT_AUTOMAKE([foreign subdir-objects])
++
++dnl Defines _GNU_SOURCE globally when needed
++AC_USE_SYSTEM_EXTENSIONS
++
+ AC_PROG_CC
+ AM_PROG_AR
+ AC_PROG_RANLIB
+diff --git a/src/inputs/librespot-c/src/channel.c 
b/src/inputs/librespot-c/src/channel.c
+index fb4255e5..4a90feeb 100644
+--- a/src/inputs/librespot-c/src/channel.c
++++ b/src/inputs/librespot-c/src/channel.c
+@@ -118,10 +118,10 @@ channel_new(struct sp_channel **new_channel, struct 
sp_session *session, const c
+   if (ret < 0)
+     goto error;
+ 
+-  if (fcntl(channel->audio_fd[0], F_SETFL, O_CLOEXEC | O_NONBLOCK) < 0)
++  if (fcntl(channel->audio_fd[0], F_SETFL, FD_CLOEXEC | O_NONBLOCK) < 0)
+     goto error;
+ 
+-  if (fcntl(channel->audio_fd[1], F_SETFL, O_CLOEXEC | O_NONBLOCK) < 0)
++  if (fcntl(channel->audio_fd[1], F_SETFL, FD_CLOEXEC | O_NONBLOCK) < 0)
+     goto error;
+ 
+   channel->audio_write_ev = event_new(evbase, channel->audio_fd[1], EV_WRITE, 
write_cb, session);
+-- 
+2.49.0
+

diff --git a/media-sound/owntone/owntone-28.12.ebuild 
b/media-sound/owntone/owntone-28.12.ebuild
new file mode 100644
index 000000000000..1f57b8f9c895
--- /dev/null
+++ b/media-sound/owntone/owntone-28.12.ebuild
@@ -0,0 +1,91 @@
+# Copyright 2024-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit autotools
+
+DESCRIPTION="DAAP (iTunes) and MPD media server"
+HOMEPAGE="https://owntone.github.io/owntone-server";
+SRC_URI="https://github.com/owntone/owntone-server/archive/${PV}.tar.gz -> 
${P}.gh.tar.gz"
+
+S="${WORKDIR}/${PN}-server-${PV}"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE="+alsa +chromecast"
+
+RDEPEND="
+       app-pda/libplist
+       dev-db/sqlite:3
+       dev-libs/confuse
+       dev-libs/json-c
+       dev-libs/libevent:=
+       dev-libs/libgcrypt
+       dev-libs/libsodium
+       dev-libs/libunistring
+       dev-libs/libxml2:=
+       dev-libs/mxml:0
+       dev-libs/protobuf-c
+       media-libs/alsa-lib
+       media-video/ffmpeg
+       net-dns/avahi
+       net-libs/libwebsockets
+       net-misc/curl
+       sys-devel/gettext
+       sys-libs/zlib
+       acct-group/audio
+       acct-user/owntone
+       alsa? ( media-libs/alsa-lib )
+       chromecast? ( net-libs/gnutls media-video/ffmpeg[opus] )
+"
+DEPEND="${RDEPEND}
+       dev-util/gperf
+       sys-apps/gawk
+       sys-devel/bison
+       sys-devel/flex
+       virtual/pkgconfig
+"
+
+PATCHES=(
+       "${FILESDIR}"/${P}-gcc-15.patch
+)
+
+src_prepare() {
+       default
+
+       eautoreconf
+
+       # fix log path, and enable songs/cache databases
+       sed -i \
+               -e "/logfile = /s:= .*$:= 
${EPREFIX}/var/log/owntone/owntone.log:" \
+               -e "/\(db_path\|cache_path\) =/s:/cache/:/:" \
+               -e "/\(db_path\|cache_path\) =/s:^#::" \
+               owntone.conf.in || die
+}
+
+src_configure() {
+       econf \
+               --without-pulseaudio \
+               --with-libwebsockets \
+               --with-avahi \
+               --with-user=owntone \
+               --with-group=audio \
+               $(use_with alsa) \
+               $(use_enable chromecast) || die
+}
+
+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 ${PN}
+       newconfd "${FILESDIR}"/${PN}.confd ${PN}
+}

Reply via email to