summaryrefslogtreecommitdiff
path: root/media-sound/audacious
diff options
context:
space:
mode:
authorLiguros - Gitlab CI/CD [develop] <gitlab@liguros.net>2026-04-22 19:12:45 +0000
committerLiguros - Gitlab CI/CD [develop] <gitlab@liguros.net>2026-04-22 19:12:45 +0000
commit8b76d681a72190b3dbe575894fc1f47df03e5751 (patch)
tree47c37233312eb7baf120e33019bc7a1ba10b6fad /media-sound/audacious
parent3bac0c1b93e7e7849ecfe749f6864ed1ad5e018d (diff)
downloadbaldeagleos-repo-8b76d681a72190b3dbe575894fc1f47df03e5751.tar.gz
baldeagleos-repo-8b76d681a72190b3dbe575894fc1f47df03e5751.tar.xz
baldeagleos-repo-8b76d681a72190b3dbe575894fc1f47df03e5751.zip
Adding metadata
Diffstat (limited to 'media-sound/audacious')
-rw-r--r--media-sound/audacious/audacious-4.5.1-r1.ebuild95
-rw-r--r--media-sound/audacious/files/audacious-4.5.1-fix_intmin_overflow.patch17
2 files changed, 112 insertions, 0 deletions
diff --git a/media-sound/audacious/audacious-4.5.1-r1.ebuild b/media-sound/audacious/audacious-4.5.1-r1.ebuild
new file mode 100644
index 000000000000..1b6a80d2ea9f
--- /dev/null
+++ b/media-sound/audacious/audacious-4.5.1-r1.ebuild
@@ -0,0 +1,95 @@
+# Copyright 1999-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit meson xdg
+
+DESCRIPTION="Lightweight and versatile audio player"
+HOMEPAGE="https://audacious-media-player.org/"
+SRC_URI="https://distfiles.audacious-media-player.org/${P}.tar.bz2"
+
+LICENSE="BSD-2"
+SLOT="0"
+KEYWORDS="amd64 ~ppc64 ~riscv x86"
+IUSE="gtk qt6 test"
+REQUIRED_USE="test? ( qt6 )"
+RESTRICT="!test? ( test )"
+
+BDEPEND="
+ >=dev-util/gdbus-codegen-2.80.5-r1
+ sys-devel/gettext
+ virtual/pkgconfig
+"
+DEPEND="
+ dev-libs/glib:2
+ virtual/freedesktop-icon-theme
+ gtk? (
+ x11-libs/cairo
+ x11-libs/gdk-pixbuf:2
+ >=x11-libs/gtk+-3.18:3
+ x11-libs/pango
+ )
+ qt6? (
+ dev-qt/qtbase:6[gui,widgets]
+ dev-qt/qtsvg:6
+ )
+"
+RDEPEND="${DEPEND}"
+PDEPEND="~media-plugins/audacious-plugins-${PV}[gtk=,qt6=]"
+
+PATCHES=(
+ # Avoid superfluous handling for X11/Wayland with gtk+, warn in pkg_postinst instead.
+ "${FILESDIR}"/${PN}-4.5.1-rm_gdk_symbols.patch
+
+ # from upstream, see #972499
+ "${FILESDIR}"/${P}-fix_intmin_overflow.patch
+)
+
+src_configure() {
+ # D-Bus is a mandatory dependency. Remote control,
+ # session management and some plugins depend on this.
+ # Building without D-Bus is *unsupported* and a USE-flag
+ # will not be added due to the bug reports that will result.
+ # Bugs #197894, #199069, #207330, #208606
+ local emesonargs=(
+ -Ddbus=true
+ $(meson_use qt6 qt)
+ -Dqt5=false
+ $(meson_use gtk)
+ -Dgtk2=false
+ -Dlibarchive=false
+ -Dbuildstamp="Gentoo ${P}"
+ -Dvalgrind=false
+ )
+ meson_src_configure
+
+ if use test; then
+ emesonargs=()
+ EMESON_SOURCE="${S}"/src/libaudcore/tests \
+ BUILD_DIR="${WORKDIR}"/${P}-libaudcore_tests-build \
+ meson_src_configure
+ fi
+}
+
+src_compile() {
+ meson_src_compile
+
+ if use test; then
+ EMESON_SOURCE="${S}"/src/libaudcore/tests \
+ BUILD_DIR="${WORKDIR}"/${P}-libaudcore_tests-build \
+ meson_src_compile
+ fi
+}
+
+src_test() {
+ BUILD_DIR="${WORKDIR}"/${P}-libaudcore_tests-build meson_src_test
+}
+
+pkg_postinst() {
+ if use gtk || use qt6; then
+ ewarn "Audacious without X11/XWayland is unsupported."
+ ewarn "Especially the Winamp interface is not usable yet on Wayland."
+ fi
+ xdg_pkg_postinst
+}
diff --git a/media-sound/audacious/files/audacious-4.5.1-fix_intmin_overflow.patch b/media-sound/audacious/files/audacious-4.5.1-fix_intmin_overflow.patch
new file mode 100644
index 000000000000..055979c2b3e5
--- /dev/null
+++ b/media-sound/audacious/files/audacious-4.5.1-fix_intmin_overflow.patch
@@ -0,0 +1,17 @@
+backport https://github.com/audacious-media-player/audacious/commit/6ffe0b6.patch
+https://bugs.gentoo.org/972499
+audcore: Prevent undefined behavior for integer conversions.
+--- a/src/libaudcore/audstrings.cc
++++ b/src/libaudcore/audstrings.cc
+@@ -1121,8 +1121,10 @@ EXPORT double str_to_double(const char * string)
+
+ EXPORT void str_insert_int(StringBuf & string, int pos, int val)
+ {
++ unsigned absval = val;
+ bool neg = (val < 0);
+- unsigned absval = neg ? -val : val;
++ if (neg)
++ absval = -absval;
+
+ int digits = digits_for(absval);
+ int len = (neg ? 1 : 0) + digits;