diff options
Diffstat (limited to 'media-sound/audacious')
7 files changed, 244 insertions, 2 deletions
diff --git a/media-sound/audacious/Manifest b/media-sound/audacious/Manifest index 15cfac2092f6..06d4afa53330 100644 --- a/media-sound/audacious/Manifest +++ b/media-sound/audacious/Manifest @@ -1,6 +1,12 @@ +AUX audacious-3.10-dbus-crash.patch 1820 BLAKE2B 90caf90a4fd6843b8aa7c4833c36ae962fe188ce07de962c8b7c20b0fe91c532ce83e7564fd4722a602d4b77dc14de557001f6aeb9b9b009b7a00590094f2455 SHA512 a57f834eeab3d5cc686723c9605d331378beae2b5cb2115750aaebe71fd4d85f5ece1a8c2a179ed50ceef4cc2d59e90ea0f37a976c9a1673d9150d3e5618c397 +AUX audacious-3.10-ui-freeze.patch 1243 BLAKE2B a26645d3a401c5d7338ab88aa2067deef73b8b0fbcfa8db62a09d71759701e4259d75b453301b2a7d3cc58c81e6fb3c0401897f29a6f6b7ef3a75308170a1254 SHA512 880b1194f28016f1213c452f3265fc06960c1307ae9f1a656ef7e719064331feb62d61ce1a4188645f8e7f6fe554b97dd35ef13bacb00d0a7516570a021c2f21 +AUX audacious-3.10-use-after-free.patch 1301 BLAKE2B 6b36392901f75cfbb118a8ec7dc348d44f61402f829a4fb03a9ce150fcb756d2795d8a9cb9b7b13e79cc87fd075ece8787abd482097c401983dc6f804ad7454e SHA512 cda15375ef0183061627bf33604bd46ef3be4ff34a289c45ce5093c80024e1922587b955c61a58ea8a438d90c42d869bfbec60c53878ea40c410d2d6b3a14f68 +AUX audacious-3.10-volume-slider-boundaries.patch 896 BLAKE2B 222a1b45f3dfdb4f97f232a290a804d3c78ceeb634fd4db7a0d64f4f86eaf2d14d2806c91695eb99f943ca743fb1521f402c58473b24eeb1d2832f6ec20d9348 SHA512 c565f3dc776e4093acb7d19a3e000b5575fb93b6f275d12f0d23e77802522fb7944a18056cadd0fff3b23262892a2b9feea93e6fcba5c9ae7ce969095730d4d3 +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 +EBUILD audacious-3.10.ebuild 1850 BLAKE2B 8ec899c2b73a5c747f270ed9e51926817611c1c79b050a42f859bd3c4f6631895fc114aa0e1090f99b9d4b65e146fad244a8feeadb05bb30ef548cd1d91b575c SHA512 2c903bb9aacc3e68ca1278efa914aae7cf44cd02978f8928c50a23febd8f461019ce88acd2420444f6aff24d45d4a0c268c2f65460c80e93332df9d746bc3e8b EBUILD audacious-3.9.ebuild 2118 BLAKE2B a56f92b3c6b166cfbb8a32f8819ac54b055a9bdf193049e20b450f4ce7f7e149db255876b9ae826abf5083afaabdcec4c6c757117691f50dd587721c106cb226 SHA512 6f65840eb3b70d0f9cc0aae6617754c5563e014db904a572b159cd5746c21baae0ad71d575e5b8756d869edb743f8da25410522c0d4d3e1c7e9da798dec0fbdc -EBUILD audacious-9999.ebuild 2118 BLAKE2B a56f92b3c6b166cfbb8a32f8819ac54b055a9bdf193049e20b450f4ce7f7e149db255876b9ae826abf5083afaabdcec4c6c757117691f50dd587721c106cb226 SHA512 6f65840eb3b70d0f9cc0aae6617754c5563e014db904a572b159cd5746c21baae0ad71d575e5b8756d869edb743f8da25410522c0d4d3e1c7e9da798dec0fbdc +EBUILD audacious-9999.ebuild 2102 BLAKE2B ce1cfbe19b142f4e4273fc040e5e1ba60f65805fb6b29bb00c2a96236c7ad9b87283bf59c28684fa6605e920e4b7a1ad784913f7fbf38bca9d12574b65055dfb SHA512 408ebe7cfe721e90e6fc35d628fd61657049f8ab4920c3c7e94a35c97bac947ccd2963c84ccf451c9f4f83730bd6760a4b7bdf3caafe3f5a4742d037a90f6143 MISC metadata.xml 486 BLAKE2B 982e0b5a578375d9d67369cf92edcef934c8227e6469aca89417634aca805dea8eba386033a575458d55cce34aceb6adf1de8fdcf3fb3a255c853d6c3be7629d SHA512 365b810cf7b096c86804a87d06a522b5a151559035a1ff5694153081426f5565d6465000bc9618acefc403bda9f675a048aea4dbd3af7dfc25200dd16a1c1dec diff --git a/media-sound/audacious/audacious-3.10.ebuild b/media-sound/audacious/audacious-3.10.ebuild new file mode 100644 index 000000000000..926f5853cae9 --- /dev/null +++ b/media-sound/audacious/audacious-3.10.ebuild @@ -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 +} diff --git a/media-sound/audacious/audacious-9999.ebuild b/media-sound/audacious/audacious-9999.ebuild index dea37f7b001f..47a2fb255287 100644 --- a/media-sound/audacious/audacious-9999.ebuild +++ b/media-sound/audacious/audacious-9999.ebuild @@ -8,7 +8,7 @@ inherit gnome2-utils xdg-utils MY_P="${P/_/-}" S="${WORKDIR}/${MY_P}" -DESCRIPTION="Audacious Player - Your music, your way, no exceptions" +DESCRIPTION="Lightweight and versatile audio player" HOMEPAGE="https://audacious-media-player.org/" if [[ ${PV} == *9999 ]]; then diff --git a/media-sound/audacious/files/audacious-3.10-dbus-crash.patch b/media-sound/audacious/files/audacious-3.10-dbus-crash.patch new file mode 100644 index 000000000000..83b9c74f98cc --- /dev/null +++ b/media-sound/audacious/files/audacious-3.10-dbus-crash.patch @@ -0,0 +1,60 @@ +From 1528e780825b1fc49639ea16d332c5752051dab7 Mon Sep 17 00:00:00 2001 +From: John Lindgren <john@jlindgren.net> +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; + } diff --git a/media-sound/audacious/files/audacious-3.10-ui-freeze.patch b/media-sound/audacious/files/audacious-3.10-ui-freeze.patch new file mode 100644 index 000000000000..da05bc5b0009 --- /dev/null +++ b/media-sound/audacious/files/audacious-3.10-ui-freeze.patch @@ -0,0 +1,30 @@ +From 8f9745a5a539e44244d5e8200c61ed443c638aad Mon Sep 17 00:00:00 2001 +From: John Lindgren <john@jlindgren.net> +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; diff --git a/media-sound/audacious/files/audacious-3.10-use-after-free.patch b/media-sound/audacious/files/audacious-3.10-use-after-free.patch new file mode 100644 index 000000000000..8271a3d6d1b0 --- /dev/null +++ b/media-sound/audacious/files/audacious-3.10-use-after-free.patch @@ -0,0 +1,38 @@ +From 1d34f6799b8f5910fc6863ae96afd5ab035e830f Mon Sep 17 00:00:00 2001 +From: John Lindgren <john@jlindgren.net> +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 diff --git a/media-sound/audacious/files/audacious-3.10-volume-slider-boundaries.patch b/media-sound/audacious/files/audacious-3.10-volume-slider-boundaries.patch new file mode 100644 index 000000000000..99155bf79e8c --- /dev/null +++ b/media-sound/audacious/files/audacious-3.10-volume-slider-boundaries.patch @@ -0,0 +1,25 @@ +From 473ee3b3b0ce09feb23afcfc0ff276986db4f1af Mon Sep 17 00:00:00 2001 +From: Eugene Paskevich <eugene@raptor.kiev.ua> +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); |