mirror of
https://github.com/gentoo-mirror/gentoo.git
synced 2026-09-24 04:59:14 -07:00
media-sound/audacious: fix overflow and test
fix an overflow revealed by the testsuite without LTO Closes: https://bugs.gentoo.org/972499 Signed-off-by: Nicolas PARLANT <nicolas.parlant@parhuet.fr> Part-of: https://codeberg.org/gentoo/gentoo/pulls/700 Merges: https://codeberg.org/gentoo/gentoo/pulls/700 Signed-off-by: Sam James <sam@gentoo.org>
This commit is contained in:
committed by
Sam James
parent
31b8359879
commit
3bd4a09f22
95
media-sound/audacious/audacious-4.5.1-r1.ebuild
Normal file
95
media-sound/audacious/audacious-4.5.1-r1.ebuild
Normal file
@@ -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
|
||||
}
|
||||
@@ -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;
|
||||
Reference in New Issue
Block a user