summaryrefslogtreecommitdiff
path: root/media-sound/rhythmbox
diff options
context:
space:
mode:
authorV3n3RiX <venerix@koprulu.sector>2024-05-19 00:01:59 +0100
committerV3n3RiX <venerix@koprulu.sector>2024-05-19 00:01:59 +0100
commit9d4810f84de876ec9d0ae03d0d44224500b41188 (patch)
tree1ca0866afdc949e405d20635d3d7f2115abb9ace /media-sound/rhythmbox
parent075fd1f8cabc5879c6eb42127fb84c3058677fde (diff)
gentoo auto-resync : 19:05:2024 - 00:01:59
Diffstat (limited to 'media-sound/rhythmbox')
-rw-r--r--media-sound/rhythmbox/Manifest6
-rw-r--r--media-sound/rhythmbox/files/rhythmbox-3.4.7-implicit-declaration.patch72
-rw-r--r--media-sound/rhythmbox/files/rhythmbox-3.4.7-libxml-entities.patch36
-rw-r--r--media-sound/rhythmbox/files/rhythmbox-3.4.7-libxml2-2.12.patch38
-rw-r--r--media-sound/rhythmbox/files/rhythmbox-3.4.7-python3.12.patch30
-rw-r--r--media-sound/rhythmbox/files/rhythmbox-3.4.7-skip-broken-test.patch24
-rw-r--r--media-sound/rhythmbox/rhythmbox-3.4.7-r4.ebuild143
7 files changed, 349 insertions, 0 deletions
diff --git a/media-sound/rhythmbox/Manifest b/media-sound/rhythmbox/Manifest
index 660286230070..07ca7adad1ab 100644
--- a/media-sound/rhythmbox/Manifest
+++ b/media-sound/rhythmbox/Manifest
@@ -1,3 +1,9 @@
+AUX rhythmbox-3.4.7-implicit-declaration.patch 2027 BLAKE2B f9d2d9e5e95eec92d2bffc49724efbdec46b3fef3fad1e98c0166d4232b421c958eb51210d3e85abc45aada49b09a295fcee094582e184de369af24c06891329 SHA512 480e5ce1cbbe7332cef282ee5dfd8cb710dfeb7fa34571a4f832dae2d07c994b0879af9afa0208e6ab7eabec53ec000d47d6d2c4f305066a684a475ad5322c10
+AUX rhythmbox-3.4.7-libxml-entities.patch 1028 BLAKE2B b5d6280e2233180887c8f74efa94f711ac5b2e007f8d9110e6c010dd5a4bf93fbce58e3ad466cf1ace0894d86f9222e24f1544410b1e4e47df8113db3e642731 SHA512 9bd2c67d1eedf070d7d1ab8ab988ae476914bac0d92d04083d95fe1038c82b21211c85fb651fe49d77a72d788e61e5d0248ac3f02795694ec853a231a011a72c
+AUX rhythmbox-3.4.7-libxml2-2.12.patch 1735 BLAKE2B 42a6205404600150e32473fe7898de166e99ee3d5f7cb858c718565d3fce5529f4c8f08e4856743b80da460c3ea1772c084237b9daa6651654705e76eb121bd4 SHA512 2e4f87f72ff9eab6cf3f53fedc4bcba5e1eb0c6ba65016e24b6cc64bdc822815c7451c9edc749a3bab4a33ece601f1419efed08679c790e6724c4abb6a03f247
+AUX rhythmbox-3.4.7-python3.12.patch 914 BLAKE2B 40dffbd00dcef96911c35e1910a8c854a674b7f8472048a3c799fd1cad600f0a9d0b1c57094bcecfdb7aaafbc6d023b29e0031221f4d3a5d07bca98b274b3771 SHA512 c6bf6b5f4c23b18dd82e3b9abfb9e81f2f89e52f367d753032169d38ef19dd3f2be059c336191496457b048646f0596cd654da23516f7923236c29cb1b2678dd
+AUX rhythmbox-3.4.7-skip-broken-test.patch 1038 BLAKE2B 3a9ac9e9303560f6c4525eab16842433e4aac1ba526b6ae7d8a59e3ac14eddd83d030891ac5fc5e18efe9227a22a97f28647fddddd2ec693c383e3e30cc273df SHA512 5d99757992c951f74e1dae8ef6859892d0fca5959c196b781586fde1ef83adf962a05d11240fa7b53c27d12474f203a3410cdb283a4d8974669579df1b37da09
DIST rhythmbox-3.4.7.tar.xz 3673444 BLAKE2B a9186d7c23f281ff0a0d4a2188061473e9bab39078f816051e385319afeb1a8825e124e608fc50422f1bd27adae569d75fb6c53af23c7d51086dcf01b962d652 SHA512 58de6e51d046920857ba0905043f4863ef443d5eca28cdf93c1a25e3053322664eb1f894c102d5629f8261c507626e215c097ee166f13a3e7cd82fb35c891cb4
EBUILD rhythmbox-3.4.7-r3.ebuild 3182 BLAKE2B 4fd4553673787c42f8d868cd928922dfc19a28f7ba8056dd42932afa4e64c5bee17f7dd076cedd77b3bedd67d53711e637405bd4d896b806f3cdddbffe943ed8 SHA512 87e0d92b4702e0eb6dbe5cc8c080799234671f7c8836fa8faf00a3a881486dd07ef891dbf1482511a1530423f470973c8d40193732e889b315e8adcaf7c85c0b
+EBUILD rhythmbox-3.4.7-r4.ebuild 3405 BLAKE2B 9a163a5fe87856c5e310271fdcee0852ea99d147a6e12d90313728909e1a1508e1f395d5ddb92df403b8f0a3e88d84c66a79c400b828049821dde8493299f26f SHA512 8d026caaa024131a07bdb11a648e41c8c554a0dcf1963d17062a876dfc71c2c0a2f5317d41185001ed6501b7c369ddffb7441f41e951dc51661308079f3619e4
MISC metadata.xml 644 BLAKE2B 634d49a8c604a388d4dd50e52ce3d6730b5202e4b67a4ce103fe47e48de2311339905231d2426e9a8bb84a13ea047c9337169562d04c909f9e954e443927fb23 SHA512 9019047907c04b18d2c94eb2c3d5aef1f2adba2be503537cc1538a26b5b61fa882c898a4efbce3fd799c633bed3e6359fef073c0b597093673fce15768386991
diff --git a/media-sound/rhythmbox/files/rhythmbox-3.4.7-implicit-declaration.patch b/media-sound/rhythmbox/files/rhythmbox-3.4.7-implicit-declaration.patch
new file mode 100644
index 000000000000..2595561ad779
--- /dev/null
+++ b/media-sound/rhythmbox/files/rhythmbox-3.4.7-implicit-declaration.patch
@@ -0,0 +1,72 @@
+From 10369b9a6b896dc79d7ae715fe67bf3b4c581c22 Mon Sep 17 00:00:00 2001
+From: Matt Turner <mattst88@gmail.com>
+Date: Tue, 9 May 2023 15:48:56 -0400
+Subject: [PATCH] build: Define _GNU_SOURCE for pthread_getname_np
+
+With clang-16, implicit function definitions are treated as errors. As a
+result, the check for pthread_getname_np fails because
+pthread_getname_np is only provided under _GNU_SOURCE (see
+pthread_getname_np(3))
+
+> Checking if "pthread_getname_np" : links: NO
+
+The compilation failure is
+
+> error: implicit declaration of function 'pthread_getname_np' [-Werror,-Wimplicit-function-declaration]
+
+The inclusion of pthread.h lib/rb-debug.c must be moved above the system
+headers because they may include pthread.h themselves (and in practice
+unistd.h does). If that change is not done, lib/rb-debug.c will fail to
+compile for the same reason as the configure test.
+
+Note that to test this, one must disable prctl() detection.
+
+Bug: https://bugs.gentoo.org/898926
+---
+ lib/rb-debug.c | 11 ++++++-----
+ meson.build | 1 +
+ 2 files changed, 7 insertions(+), 5 deletions(-)
+
+diff --git a/lib/rb-debug.c b/lib/rb-debug.c
+index a5b4ccac6..b9e0ec81d 100644
+--- a/lib/rb-debug.c
++++ b/lib/rb-debug.c
+@@ -30,17 +30,18 @@
+
+ #include "config.h"
+
++#if defined(HAVE_PRCTL)
++#include <sys/prctl.h>
++#elif defined(HAVE_PTHREAD_GETNAME_NP)
++#define _GNU_SOURCE
++#include <pthread.h>
++#endif
+ #include <unistd.h>
+ #include <stdio.h>
+ #include <string.h>
+ #include <stdarg.h>
+ #include <signal.h>
+ #include <time.h>
+-#if defined(HAVE_PRCTL)
+-#include <sys/prctl.h>
+-#elif defined(HAVE_PTHREAD_GETNAME_NP)
+-#include <pthread.h>
+-#endif
+
+ #include <glib.h>
+
+diff --git a/meson.build b/meson.build
+index 681e084e8..bbe014246 100644
+--- a/meson.build
++++ b/meson.build
+@@ -110,6 +110,7 @@ have_prctl = cc.has_function('prctl', prefix: '#include <sys/prctl.h>')
+ cdata.set('HAVE_PRCTL', have_prctl)
+
+ have_pthread_getname_np = cc.links('''
++ #define _GNU_SOURCE
+ #include <pthread.h>
+ int main() {
+ char nm[17];
+--
+GitLab
+
diff --git a/media-sound/rhythmbox/files/rhythmbox-3.4.7-libxml-entities.patch b/media-sound/rhythmbox/files/rhythmbox-3.4.7-libxml-entities.patch
new file mode 100644
index 000000000000..b542224d2fbe
--- /dev/null
+++ b/media-sound/rhythmbox/files/rhythmbox-3.4.7-libxml-entities.patch
@@ -0,0 +1,36 @@
+From: =?utf-8?q?J=C3=BCrg_Billeter?= <j@bitron.ch>
+Date: Tue, 28 Nov 2023 20:12:07 +0100
+Subject: Add missing <libxml/entities.h> include
+
+(cherry picked from commit 4a906b33535c794f45d3bbc816f3b56a729529b4)
+
+Origin: upstream, after 3.4.7
+---
+ rhythmdb/rhythmdb-query.c | 1 +
+ sources/rb-static-playlist-source.c | 1 +
+ 2 files changed, 2 insertions(+)
+
+diff --git a/rhythmdb/rhythmdb-query.c b/rhythmdb/rhythmdb-query.c
+index 0d1c24c..0009dde 100644
+--- a/rhythmdb/rhythmdb-query.c
++++ b/rhythmdb/rhythmdb-query.c
+@@ -30,6 +30,7 @@
+
+ #include <string.h>
+
++#include <libxml/entities.h>
+ #include <glib.h>
+ #include <glib-object.h>
+ #include <gobject/gvaluecollector.h>
+diff --git a/sources/rb-static-playlist-source.c b/sources/rb-static-playlist-source.c
+index 4c60f70..9d8606a 100644
+--- a/sources/rb-static-playlist-source.c
++++ b/sources/rb-static-playlist-source.c
+@@ -46,6 +46,7 @@
+
+ #include <string.h>
+
++#include <libxml/entities.h>
+ #include <libxml/tree.h>
+ #include <glib/gi18n.h>
+ #include <gtk/gtk.h>
diff --git a/media-sound/rhythmbox/files/rhythmbox-3.4.7-libxml2-2.12.patch b/media-sound/rhythmbox/files/rhythmbox-3.4.7-libxml2-2.12.patch
new file mode 100644
index 000000000000..7d95cb439d57
--- /dev/null
+++ b/media-sound/rhythmbox/files/rhythmbox-3.4.7-libxml2-2.12.patch
@@ -0,0 +1,38 @@
+From: =?utf-8?q?J=C3=BCrg_Billeter?= <j@bitron.ch>
+Date: Tue, 28 Nov 2023 20:04:17 +0100
+Subject: playlist-manager: Fix crash with libxml2 2.12
+MIME-Version: 1.0
+Content-Type: text/plain; charset="utf-8"
+Content-Transfer-Encoding: 8bit
+
+The missing include resulted in an implicit function declaration, which
+may result in a segmentation fault on startup.
+
+ ../shell/rb-playlist-manager.c: In function ‘rb_playlist_manager_load_playlists’:
+ ../shell/rb-playlist-manager.c:374:23: warning: implicit declaration of function ‘xmlParseMemory’ [-Wimplicit-function-declaration]
+ 374 | doc = xmlParseMemory (g_bytes_get_data (data, NULL), g_bytes_get_size (data));
+ | ^~~~~~~~~~~~~~
+ ../shell/rb-playlist-manager.c:374:23: warning: nested extern declaration of ‘xmlParseMemory’ [-Wnested-externs]
+ ../shell/rb-playlist-manager.c:374:21: warning: assignment to ‘xmlDocPtr’ {aka ‘struct _xmlDoc *’} from ‘int’ makes pointer from integer without a cast [-Wint-conversion]
+ 374 | doc = xmlParseMemory (g_bytes_get_data (data, NULL), g_bytes_get_size (data));
+ | ^
+
+(cherry picked from commit 66da2f843e84bfa85870a4ace4054aa91ea07951)
+
+Origin: upstream, after 3.4.7
+---
+ shell/rb-playlist-manager.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/shell/rb-playlist-manager.c b/shell/rb-playlist-manager.c
+index 4974c9f..e0a54c6 100644
+--- a/shell/rb-playlist-manager.c
++++ b/shell/rb-playlist-manager.c
+@@ -41,6 +41,7 @@
+ #include <stdio.h> /* rename() */
+ #include <unistd.h> /* unlink() */
+
++#include <libxml/parser.h>
+ #include <libxml/tree.h>
+ #include <glib/gi18n.h>
+ #include <gtk/gtk.h>
diff --git a/media-sound/rhythmbox/files/rhythmbox-3.4.7-python3.12.patch b/media-sound/rhythmbox/files/rhythmbox-3.4.7-python3.12.patch
new file mode 100644
index 000000000000..fb38b66c89d4
--- /dev/null
+++ b/media-sound/rhythmbox/files/rhythmbox-3.4.7-python3.12.patch
@@ -0,0 +1,30 @@
+From: Jonathan Matthew <jonathan@d14n.org>
+Date: Mon, 4 Dec 2023 08:15:19 +1000
+Subject: artsearch: fix regex strings so python 3.12 stops complaining
+
+(cherry picked from commit ceeed5736c3e25d33fec5a100afde20ef485e07e)
+
+Origin: upstream, after 3.4.7
+---
+ plugins/artsearch/lastfm.py | 8 ++++----
+ 1 file changed, 4 insertions(+), 4 deletions(-)
+
+diff --git a/plugins/artsearch/lastfm.py b/plugins/artsearch/lastfm.py
+index 0409105..82d5eeb 100644
+--- a/plugins/artsearch/lastfm.py
++++ b/plugins/artsearch/lastfm.py
+@@ -49,10 +49,10 @@ API_URL = 'https://ws.audioscrobbler.com/2.0/'
+ # LASTFM_TOOLTIP = (LASTFM_LOGO, _("Image provided by Last.fm"))
+
+ DISC_NUMBER_REGEXS = (
+- "\(disc *[0-9]+\)",
+- "\(cd *[0-9]+\)",
+- "\[disc *[0-9]+\]",
+- "\[cd *[0-9]+\]",
++ "\\(disc *[0-9]+\\)",
++ "\\(cd *[0-9]+\\)",
++ "\\[disc *[0-9]+\\]",
++ "\\[cd *[0-9]+\\]",
+ " - disc *[0-9]+$",
+ " - cd *[0-9]+$",
+ " disc *[0-9]+$",
diff --git a/media-sound/rhythmbox/files/rhythmbox-3.4.7-skip-broken-test.patch b/media-sound/rhythmbox/files/rhythmbox-3.4.7-skip-broken-test.patch
new file mode 100644
index 000000000000..6cfccb262f7c
--- /dev/null
+++ b/media-sound/rhythmbox/files/rhythmbox-3.4.7-skip-broken-test.patch
@@ -0,0 +1,24 @@
+From: Jeremy Bicha <jeremy.bicha@canonical.com>
+Date: Thu, 23 Jun 2022 10:12:20 -0400
+Subject: tests: Skip load_query_multiple
+
+This test fails on arm64 only
+
+https://gitlab.gnome.org/GNOME/rhythmbox/-/issues/1993
+---
+ tests/test-widgets.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/tests/test-widgets.c b/tests/test-widgets.c
+index 0f725ed..60b194d 100644
+--- a/tests/test-widgets.c
++++ b/tests/test-widgets.c
+@@ -291,7 +291,7 @@ rb_query_creator_suite (void)
+ tcase_add_checked_fixture (tc_qls, test_rhythmdb_setup, test_rhythmdb_shutdown);
+ tcase_add_test (tc_qls, test_query_creator_load_query_empty);
+ tcase_add_test (tc_qls, test_query_creator_load_query_simple);
+- tcase_add_test (tc_qls, test_query_creator_load_query_multiple);
++ /* tcase_add_test (tc_qls, test_query_creator_load_query_multiple); */
+ tcase_add_test (tc_qls, test_query_creator_load_query_disjunction);
+ tcase_add_test (tc_qls, test_query_creator_load_limit_count);
+ tcase_add_test (tc_qls, test_query_creator_load_limit_minutes);
diff --git a/media-sound/rhythmbox/rhythmbox-3.4.7-r4.ebuild b/media-sound/rhythmbox/rhythmbox-3.4.7-r4.ebuild
new file mode 100644
index 000000000000..429b5babe57c
--- /dev/null
+++ b/media-sound/rhythmbox/rhythmbox-3.4.7-r4.ebuild
@@ -0,0 +1,143 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+PYTHON_COMPAT=( python3_{10..12} )
+PYTHON_REQ_USE="xml(+)"
+
+inherit gnome.org gnome2-utils python-single-r1 meson virtualx xdg
+
+DESCRIPTION="Music management and playback software for GNOME"
+HOMEPAGE="https://wiki.gnome.org/Apps/Rhythmbox"
+
+LICENSE="GPL-2"
+SLOT="0"
+
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~x86"
+
+IUSE="cdr daap dbus keyring gtk-doc ipod libnotify lirc mtp +python test +udev upnp-av"
+RESTRICT="!test? ( test )"
+REQUIRED_USE="
+ ipod? ( udev )
+ mtp? ( udev )
+ dbus? ( python )
+ python? ( ${PYTHON_REQUIRED_USE} )
+"
+
+DEPEND="
+ x11-libs/cairo
+ >=x11-libs/gdk-pixbuf-2.18:2
+ >=dev-libs/glib-2.66.0:2
+ >=dev-libs/gobject-introspection-0.10:=
+ >=media-libs/gstreamer-1.4.0:1.0[introspection]
+ >=media-libs/gst-plugins-base-1.4.0:1.0[introspection]
+ >=x11-libs/gtk+-3.20.0:3[introspection]
+ dev-libs/json-glib
+ >=dev-libs/libpeas-0.7.3:0[gtk]
+ >=net-libs/libsoup-3.0.7:3.0
+ >=dev-libs/libxml2-2.7.8:2
+ x11-libs/pango
+ >=sys-libs/tdb-1.2.6
+ >=dev-libs/totem-pl-parser-3.2:=
+
+ cdr? ( >=app-cdr/brasero-2.91.90 )
+ daap? (
+ >=net-libs/libdmapsharing-3.9.11:4.0=
+ >=media-plugins/gst-plugins-soup-1.4:1.0
+ )
+ keyring? ( >=app-crypt/libsecret-0.18 )
+ libnotify? ( >=x11-libs/libnotify-0.7.0 )
+ lirc? ( app-misc/lirc )
+ python? (
+ ${PYTHON_DEPS}
+ $(python_gen_cond_dep '
+ >=dev-python/pygobject-3.0:3[${PYTHON_USEDEP}]
+ ')
+ )
+ udev? (
+ dev-libs/libgudev:=
+ ipod? ( >=media-libs/libgpod-0.7.92[udev] )
+ mtp? ( >=media-libs/libmtp-0.3 )
+ )
+"
+RDEPEND="${DEPEND}
+ media-plugins/gst-plugins-soup:1.0
+ || (
+ media-plugins/gst-plugins-cdparanoia:1.0
+ media-plugins/gst-plugins-cdio:1.0
+ )
+ media-plugins/gst-plugins-meta:1.0
+ media-plugins/gst-plugins-taglib:1.0
+ x11-themes/adwaita-icon-theme
+ python? (
+ >=dev-libs/libpeas-0.7.3:0[python,${PYTHON_SINGLE_USEDEP}]
+ net-libs/libsoup:3.0[introspection]
+ x11-libs/gdk-pixbuf:2[introspection]
+ x11-libs/gtk+:3[introspection]
+ x11-libs/pango[introspection]
+
+ dbus? ( sys-apps/dbus )
+ keyring? ( >=app-crypt/libsecret-0.18[introspection] )
+ )
+ upnp-av? (
+ >=media-libs/grilo-0.3.15-r1:0.3
+ >=media-plugins/grilo-plugins-0.3.16:0.3[upnp-av]
+ )
+"
+BDEPEND="
+ gtk-doc? ( dev-util/gtk-doc )
+ dev-util/itstool
+ virtual/pkgconfig
+ test? ( dev-libs/check )
+"
+
+PATCHES=(
+ "${FILESDIR}"/${P}-implicit-declaration.patch
+ "${FILESDIR}"/${P}-libxml2-2.12.patch
+ "${FILESDIR}"/${P}-libxml-entities.patch
+ "${FILESDIR}"/${P}-python3.12.patch
+ "${FILESDIR}"/${P}-skip-broken-test.patch
+)
+
+pkg_setup() {
+ use python && python-single-r1_pkg_setup
+}
+
+src_configure() {
+ local emesonargs=(
+ $(meson_feature cdr brasero)
+ $(meson_feature daap)
+ -Dfm_radio=enabled
+ $(meson_feature upnp-av grilo)
+ $(meson_feature udev gudev)
+ $(meson_feature ipod)
+ $(meson_feature libnotify)
+ $(meson_feature keyring libsecret)
+ $(meson_feature lirc)
+ $(meson_feature mtp)
+ $(meson_feature python plugins_python)
+ -Dplugins_vala=disabled
+ -Dsample-plugins=false
+
+ -Dhelp=true
+ $(meson_use gtk-doc gtk_doc)
+ $(meson_feature test tests)
+ )
+ meson_src_configure
+}
+
+src_test() {
+ unset SESSION_MANAGER
+ "${BROOT}${GLIB_COMPILE_SCHEMAS}" --allow-any-name "${S}/data" || die
+ GSETTINGS_SCHEMA_DIR="${S}/data" virtx meson_src_test
+}
+
+pkg_postinst() {
+ xdg_pkg_postinst
+ gnome2_schemas_update
+}
+
+pkg_postrm() {
+ xdg_pkg_postrm
+ gnome2_schemas_update
+}