forked from gentoo/gentoo
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
media-sound/audacious: 3.10 version bump
Bug: https://bugs.gentoo.org/640672 Package-Manager: Portage-2.3.51, Repoman-2.3.12 Signed-off-by: Andreas Sturmlechner <[email protected]>
- Loading branch information
Showing
6 changed files
with
237 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,3 +1,4 @@ | ||
DIST audacious-3.10.tar.bz2 563531 BLAKE2B cde59bd5aff8e0530f76f3bdde20b48f829592a0a67cc03e8b7c08a8892259e99e9de2b1608698ff28819b7a6d0341d5237491f7591c4380566512076a0889b9 SHA512 513d5f9608c1ebeae9cf9bb95128244e990e66c74bf49aff6570ec557d537809f3ebf93c400f5df2708ff61cf04ecc95da183b111f5a757735cef5a68dd9907f | ||
DIST audacious-3.9-gtk3.tar.bz2 600249 BLAKE2B 08559eafc85236e8e881d0cbe6f08e29c82baf0fc46b9209f1d3eee290460260bfa99e6e8f26940f8c6854f3782da24061226ebdb416b6249d10914093e16276 SHA512 6ff98d027c13b30ea9600a9aba914ec993c69826199b8dc303cb60cebdf2af06a7e3dd4af1d34a86343be5485848a57c8a29e48d2a45a33945585550de4e5f9c | ||
DIST audacious-3.9.tar.bz2 599488 BLAKE2B 2288fe6919c1770cd283af809629fda72186cc0b87a42821f5fb9b7a20c8e7cd5bc00611d10677a82877c5ebc8a1b5ad728626027b95cc875b66dda732b8747f SHA512 d8ef24c91c84bfa80831075cd9a12fc4bf02cec8bc96bcfa5a941254d194cccdc482482b1c015bc63e1142718c2221034c0f3a87e2cb6e4daf3b4cc428328aaa | ||
DIST gentoo_ice-xmms-0.2.tar.bz2 51839 BLAKE2B d3bf8dbfee675dd588bc0258f1015c76877b6b0a3835813d8e9621d149b924aaa33544d07f7ad44a01c058d41d7480b3908b0773c124af33b6e020c376b13d54 SHA512 e863a8f86073007c47ce8c20739aae4bff22e22a7ddc11556b12ae6ebb68654cec7310fdc9d05f2c47f81cf2591fe601b2eb12a2fd911c0a6118c9f3cc524f05 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,83 @@ | ||
# Copyright 1999-2018 Gentoo Authors | ||
# Distributed under the terms of the GNU General Public License v2 | ||
|
||
EAPI=6 | ||
|
||
inherit gnome2-utils xdg-utils | ||
|
||
MY_P="${P/_/-}" | ||
S="${WORKDIR}/${MY_P}" | ||
|
||
DESCRIPTION="Lightweight and versatile audio player" | ||
HOMEPAGE="https://audacious-media-player.org/" | ||
|
||
if [[ ${PV} == *9999 ]]; then | ||
inherit autotools git-r3 | ||
EGIT_REPO_URI="https://github.com/audacious-media-player/audacious.git" | ||
else | ||
SRC_URI="https://distfiles.audacious-media-player.org/${MY_P}.tar.bz2" | ||
KEYWORDS="~amd64 ~x86" | ||
fi | ||
|
||
SRC_URI+=" mirror://gentoo/gentoo_ice-xmms-0.2.tar.bz2" | ||
|
||
LICENSE="BSD-2" | ||
SLOT="0" | ||
IUSE="nls" | ||
|
||
RDEPEND=" | ||
>=dev-libs/dbus-glib-0.60 | ||
>=dev-libs/glib-2.28 | ||
dev-qt/qtcore:5 | ||
dev-qt/qtgui:5 | ||
dev-qt/qtwidgets:5 | ||
>=x11-libs/cairo-1.2.6 | ||
>=x11-libs/pango-1.8.0 | ||
virtual/freedesktop-icon-theme | ||
" | ||
DEPEND="${RDEPEND} | ||
virtual/pkgconfig | ||
nls? ( dev-util/intltool ) | ||
" | ||
PDEPEND="~media-plugins/audacious-plugins-${PV}" | ||
|
||
PATCHES=( | ||
"${FILESDIR}/${P}-ui-freeze.patch" | ||
"${FILESDIR}/${P}-dbus-crash.patch" | ||
"${FILESDIR}/${P}-use-after-free.patch" | ||
"${FILESDIR}/${P}-volume-slider-boundaries.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 | ||
econf \ | ||
--disable-valgrind \ | ||
--enable-dbus \ | ||
--enable-qt \ | ||
--disable-gtk \ | ||
$(use_enable nls) | ||
} | ||
|
||
src_install() { | ||
default | ||
|
||
# Gentoo_ice skin installation; bug #109772 | ||
insinto /usr/share/audacious/Skins/gentoo_ice | ||
doins -r "${WORKDIR}"/gentoo_ice/. | ||
docinto gentoo_ice | ||
dodoc "${WORKDIR}"/README | ||
} | ||
|
||
pkg_postinst() { | ||
xdg_desktop_database_update | ||
gnome2_icon_cache_update | ||
} | ||
|
||
pkg_postrm() { | ||
xdg_desktop_database_update | ||
gnome2_icon_cache_update | ||
} |
60 changes: 60 additions & 0 deletions
60
media-sound/audacious/files/audacious-3.10-dbus-crash.patch
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,60 @@ | ||
From 1528e780825b1fc49639ea16d332c5752051dab7 Mon Sep 17 00:00:00 2001 | ||
From: John Lindgren <[email protected]> | ||
Date: Sun, 19 Aug 2018 14:12:30 -0400 | ||
Subject: [PATCH] Fix crash when an invalid field name is sent via D-Bus. | ||
Closes: #817. | ||
|
||
Regression introduced by commit 203b41f8e249. | ||
--- | ||
src/audacious/dbus-server.cc | 31 +++++++++++++++++-------------- | ||
1 file changed, 17 insertions(+), 14 deletions(-) | ||
|
||
diff --git a/src/audacious/dbus-server.cc b/src/audacious/dbus-server.cc | ||
index 7602ace22..20a6c5839 100644 | ||
--- a/src/audacious/dbus-server.cc | ||
+++ b/src/audacious/dbus-server.cc | ||
@@ -635,27 +635,30 @@ static gboolean do_song_title (Obj * obj, Invoc * invoc, unsigned pos) | ||
static gboolean do_song_tuple (Obj * obj, Invoc * invoc, unsigned pos, const char * key) | ||
{ | ||
Tuple::Field field = Tuple::field_by_name (key); | ||
- Tuple tuple; | ||
- GVariant * var; | ||
+ GVariant * var = nullptr; | ||
|
||
if (field >= 0) | ||
- tuple = CURRENT.entry_tuple (pos); | ||
- | ||
- switch (tuple.get_value_type (field)) | ||
{ | ||
- case Tuple::String: | ||
- var = g_variant_new_string (tuple.get_str (field)); | ||
- break; | ||
+ Tuple tuple = CURRENT.entry_tuple (pos); | ||
|
||
- case Tuple::Int: | ||
- var = g_variant_new_int32 (tuple.get_int (field)); | ||
- break; | ||
+ switch (tuple.get_value_type (field)) | ||
+ { | ||
+ case Tuple::String: | ||
+ var = g_variant_new_string (tuple.get_str (field)); | ||
+ break; | ||
|
||
- default: | ||
- var = g_variant_new_string (""); | ||
- break; | ||
+ case Tuple::Int: | ||
+ var = g_variant_new_int32 (tuple.get_int (field)); | ||
+ break; | ||
+ | ||
+ default: | ||
+ break; | ||
+ } | ||
} | ||
|
||
+ if (! var) | ||
+ var = g_variant_new_string (""); | ||
+ | ||
FINISH2 (song_tuple, g_variant_new_variant (var)); | ||
return true; | ||
} |
30 changes: 30 additions & 0 deletions
30
media-sound/audacious/files/audacious-3.10-ui-freeze.patch
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,30 @@ | ||
From 8f9745a5a539e44244d5e8200c61ed443c638aad Mon Sep 17 00:00:00 2001 | ||
From: John Lindgren <[email protected]> | ||
Date: Sun, 19 Aug 2018 13:47:17 -0400 | ||
Subject: [PATCH] Prevent UI freeze when displaying song info window. Closes: | ||
#822. | ||
|
||
--- | ||
src/libaudcore/probe.cc | 9 +++++++++ | ||
1 file changed, 9 insertions(+) | ||
|
||
diff --git a/src/libaudcore/probe.cc b/src/libaudcore/probe.cc | ||
index 5c57ef884..38cf73d96 100644 | ||
--- a/src/libaudcore/probe.cc | ||
+++ b/src/libaudcore/probe.cc | ||
@@ -242,6 +242,15 @@ EXPORT bool aud_custom_infowin (const char * filename, PluginHandle * decoder) | ||
if (! strncmp (filename, "stdin://", 8)) | ||
return false; | ||
|
||
+ // In hindsight, a flag should have been added indicating whether a | ||
+ // plugin provides a custom info window or not. Currently, only two | ||
+ // plugins do so. Since custom info windows are deprecated anyway, | ||
+ // check for those two plugins explicitly and in all other cases, | ||
+ // don't open the input file to prevent freezing the UI. | ||
+ const char * base = aud_plugin_get_basename (decoder); | ||
+ if (strcmp (base, "amidi-plug") && strcmp (base, "vtx")) | ||
+ return false; | ||
+ | ||
auto ip = (InputPlugin *) aud_plugin_get_header (decoder); | ||
if (! ip) | ||
return false; |
38 changes: 38 additions & 0 deletions
38
media-sound/audacious/files/audacious-3.10-use-after-free.patch
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,38 @@ | ||
From 1d34f6799b8f5910fc6863ae96afd5ab035e830f Mon Sep 17 00:00:00 2001 | ||
From: John Lindgren <[email protected]> | ||
Date: Thu, 20 Sep 2018 13:46:52 -0400 | ||
Subject: [PATCH] audqt: Use deleteLater() to prevent use-after-free in Qt | ||
event handling. Closes: #828. | ||
|
||
--- | ||
src/libaudqt/infopopup-qt.cc | 10 ++++++++-- | ||
1 file changed, 8 insertions(+), 2 deletions(-) | ||
|
||
diff --git a/src/libaudqt/infopopup-qt.cc b/src/libaudqt/infopopup-qt.cc | ||
index fdbba41d2..81dd87f5c 100644 | ||
--- a/src/libaudqt/infopopup-qt.cc | ||
+++ b/src/libaudqt/infopopup-qt.cc | ||
@@ -176,7 +176,9 @@ static InfoPopup * s_infopopup; | ||
|
||
static void infopopup_show (const String & filename, const Tuple & tuple) | ||
{ | ||
- delete s_infopopup; | ||
+ if (s_infopopup) | ||
+ s_infopopup->deleteLater (); | ||
+ | ||
s_infopopup = new InfoPopup (filename, tuple); | ||
|
||
QObject::connect (s_infopopup, & QObject::destroyed, [] () { | ||
@@ -206,7 +208,11 @@ EXPORT void infopopup_show_current () | ||
|
||
EXPORT void infopopup_hide () | ||
{ | ||
- delete s_infopopup; | ||
+ /* This function can be called from an enter/leave event, and Qt does not | ||
+ * like widgets being deleted from such events. This is debatably a bug in | ||
+ * Qt, but deleteLater() is an effective workaround. */ | ||
+ if (s_infopopup) | ||
+ s_infopopup->deleteLater (); | ||
} | ||
|
||
} // namespace audqt |
25 changes: 25 additions & 0 deletions
25
media-sound/audacious/files/audacious-3.10-volume-slider-boundaries.patch
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,25 @@ | ||
From 473ee3b3b0ce09feb23afcfc0ff276986db4f1af Mon Sep 17 00:00:00 2001 | ||
From: Eugene Paskevich <[email protected]> | ||
Date: Sun, 4 Nov 2018 21:45:07 +0200 | ||
Subject: [PATCH] Qt: don't let the volume slider go beyong upper and/or left | ||
screen boundaries. | ||
|
||
--- | ||
src/libaudqt/volumebutton.cc | 4 +++- | ||
1 file changed, 3 insertions(+), 1 deletion(-) | ||
|
||
diff --git a/src/libaudqt/volumebutton.cc b/src/libaudqt/volumebutton.cc | ||
index e9144cb60..71edf16a1 100644 | ||
--- a/src/libaudqt/volumebutton.cc | ||
+++ b/src/libaudqt/volumebutton.cc | ||
@@ -134,7 +134,9 @@ void VolumeButton::showSlider () | ||
int dy = container_size.height () / 2 - button_size.height () / 2; | ||
|
||
QPoint pos = mapToGlobal (QPoint (0, 0)); | ||
- pos += QPoint (-dx, -dy); | ||
+ pos -= QPoint (dx, dy); | ||
+ pos.setX(qMax(pos.x(), 0)); | ||
+ pos.setY(qMax(pos.y(), 0)); | ||
|
||
m_container->move (pos); | ||
window_bring_to_front (m_container); |