[PATCH] audio/goobox: Remove audio/libmusicbrainz dependency
Jason E. Hale
bsdkaffee at gmail.com
Thu Mar 8 03:50:11 UTC 2012
>Submitter-Id: current-users
>Originator: Jason E. Hale
>Organization: none
>Confidential: no
>Synopsis: [PATCH] audio/goobox: Remove audio/libmusicbrainz dependency
>Severity: non-critical
>Priority: low
>Category: ports
>Class: change-request
>Release: FreeBSD 9.0-RELEASE i386
>Environment:
System: FreeBSD mocha.verizon.net 9.0-RELEASE FreeBSD 9.0-RELEASE #0: Thu Jan 19 11:42:41 EST 2012 Jason at mocha.verizon.net:/usr/obj/usr/src/sys/MOCHA9 i386
>Description:
- Patch audio/goobox to use audio/libdiscid instead of audio/libmusicbrainz
- audio/libmusicbrainz is deprecated as the MusicBrainz RDF webservice
is no longer functional
- Patch replaces libmusicbrainz disc functions with libdiscid functions but
does not restore metadata lookups which would require a considerable amount
of work
>How-To-Repeat:
- Use attached diff
>Fix:
--- 2012-03-07-goobox.diff begins here ---
diff -ruN goobox.orig/Makefile goobox/Makefile
--- goobox.orig/Makefile 2012-03-07 17:31:53.000000000 -0500
+++ goobox/Makefile 2012-03-07 22:26:47.000000000 -0500
@@ -8,7 +8,7 @@
PORTNAME= goobox
PORTVERSION= 1.9.2
-PORTREVISION= 7
+PORTREVISION= 8
CATEGORIES= audio gnome
MASTER_SITES= GNOME
DIST_SUBDIR= gnome2
@@ -16,7 +16,7 @@
MAINTAINER= gnome at FreeBSD.org
COMMENT= CD player and ripper for GNOME Desktop environment
-LIB_DEPENDS= musicbrainz.4:${PORTSDIR}/audio/libmusicbrainz
+LIB_DEPENDS= discid.0:${PORTSDIR}/audio/libdiscid
USE_XORG= x11
USE_GETTEXT= yes
@@ -44,4 +44,9 @@
CONFIGURE_ARGS+= --disable-notification
.endif
+post-patch:
+ ${REINPLACE_CMD} -e 's|libmusicbrainz|libdiscid|g' \
+ -e 's|LIBMUSICBRAINZ|LIBDISCID|g' \
+ -e 's|2.1.0|0.2.2|g' ${WRKSRC}/configure
+
.include <bsd.port.post.mk>
diff -ruN goobox.orig/files/patch-src__Makefile.in goobox/files/patch-src__Makefile.in
--- goobox.orig/files/patch-src__Makefile.in 1969-12-31 19:00:00.000000000 -0500
+++ goobox/files/patch-src__Makefile.in 2012-03-07 22:15:04.000000000 -0500
@@ -0,0 +1,28 @@
+--- ./src/Makefile.in.orig 2012-03-07 21:48:57.000000000 -0500
++++ ./src/Makefile.in 2012-03-07 21:48:57.000000000 -0500
+@@ -69,7 +69,7 @@
+ goo-player-info.$(OBJEXT) goo-volume-tool-button.$(OBJEXT) \
+ goo-window.$(OBJEXT) goo-stock.$(OBJEXT) \
+ gtk-file-chooser-preview.$(OBJEXT) gtk-utils.$(OBJEXT) \
+- main.$(OBJEXT) metadata.$(OBJEXT) preferences.$(OBJEXT) \
++ main.$(OBJEXT) preferences.$(OBJEXT) \
+ track-info.$(OBJEXT)
+ goobox_OBJECTS = $(am_goobox_OBJECTS)
+ am__DEPENDENCIES_1 =
+@@ -398,8 +398,6 @@
+ gtk-utils.h \
+ main.c \
+ main.h \
+- metadata.c \
+- metadata.h \
+ preferences.c \
+ preferences.h \
+ track-info.c \
+@@ -533,7 +531,6 @@
+ @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/gtk-file-chooser-preview.Po at am__quote@
+ @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/gtk-utils.Po at am__quote@
+ @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/main.Po at am__quote@
+- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/metadata.Po at am__quote@
+ @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/preferences.Po at am__quote@
+ @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/track-info.Po at am__quote@
+
diff -ruN goobox.orig/files/patch-src__dlg-properties.c goobox/files/patch-src__dlg-properties.c
--- goobox.orig/files/patch-src__dlg-properties.c 1969-12-31 19:00:00.000000000 -0500
+++ goobox/files/patch-src__dlg-properties.c 2012-03-07 22:15:04.000000000 -0500
@@ -0,0 +1,85 @@
+--- ./src/dlg-properties.c.orig 2007-08-14 05:34:20.000000000 -0400
++++ ./src/dlg-properties.c 2012-03-07 21:48:57.000000000 -0500
+@@ -27,7 +27,6 @@
+ #include <glade/glade.h>
+ #include "goo-stock.h"
+ #include "dlg-properties.h"
+-#include "metadata.h"
+
+ #define GLADE_PREF_FILE "properties.glade"
+
+@@ -253,47 +252,6 @@
+
+
+ static void
+-search_cb (GtkWidget *widget,
+- DialogData *data)
+-{
+- musicbrainz_t mb;
+- char *mb_args[2];
+-
+- mb = mb_New ();
+- mb_UseUTF8 (mb, TRUE);
+- mb_SetDepth (mb, 4);
+- /*mb_SetMaxItems(mb, 10);*/
+-
+- mb_args[0] = (char*) gtk_entry_get_text (GTK_ENTRY (data->p_title_entry));
+- mb_args[1] = NULL;
+- if (! mb_QueryWithArgs (mb, MBQ_FindAlbumByName, mb_args)) {
+- char mb_error[1024];
+- char *s;
+-
+- mb_GetQueryError (mb, mb_error, sizeof (mb_error));
+- s = g_strdup_printf (_("Search failed: %s\n"), mb_error);
+- gtk_label_set_text (GTK_LABEL (data->p_info_label), s);
+- g_free (s);
+- }
+- else {
+- data->albums = get_album_list (mb);
+- data->albums = remove_incompatible_albums (data->albums, goo_window_get_album (data->window));
+- data->n_albums = g_list_length (data->albums);
+-
+- if (data->n_albums == 0) {
+- gtk_label_set_text (GTK_LABEL (data->p_info_label), _("No album found"));
+- gtk_widget_show (data->p_info_box);
+- gtk_widget_hide (data->p_navigation_box);
+- }
+- else
+- show_album (data, 0);
+- }
+-
+- mb_Delete (mb);
+-}
+-
+-
+-static void
+ title_cell_edited_cb (GtkCellRendererText *renderer,
+ char *path,
+ char *new_text,
+@@ -480,7 +438,6 @@
+ GtkWidget *btn_cancel;
+ GtkWidget *btn_ok;
+ GtkWidget *btn_help;
+- GtkWidget *btn_search;
+ GtkWidget *p_prev_album_button;
+ GtkWidget *p_next_album_button;
+ GtkWidget *p_reset_album_button;
+@@ -518,7 +475,6 @@
+ btn_ok = glade_xml_get_widget (data->gui, "p_okbutton");
+ btn_cancel = glade_xml_get_widget (data->gui, "p_cancelbutton");
+ btn_help = glade_xml_get_widget (data->gui, "p_helpbutton");
+- btn_search = glade_xml_get_widget (data->gui, "p_search_button");
+ data->p_track_treeview = glade_xml_get_widget (data->gui, "p_track_treeview");
+
+ p_prev_album_button = glade_xml_get_widget (data->gui, "p_prev_album_button");
+@@ -560,10 +516,6 @@
+ "clicked",
+ G_CALLBACK (help_cb),
+ data);
+- g_signal_connect (G_OBJECT (btn_search),
+- "clicked",
+- G_CALLBACK (search_cb),
+- data);
+ g_signal_connect (G_OBJECT (data->p_artist_combobox),
+ "changed",
+ G_CALLBACK (artist_combobox_changed_cb),
diff -ruN goobox.orig/files/patch-src__goo-player.c goobox/files/patch-src__goo-player.c
--- goobox.orig/files/patch-src__goo-player.c 1969-12-31 19:00:00.000000000 -0500
+++ goobox/files/patch-src__goo-player.c 2012-03-07 22:15:04.000000000 -0500
@@ -0,0 +1,121 @@
+--- ./src/goo-player.c.orig 2007-08-14 05:34:20.000000000 -0400
++++ ./src/goo-player.c 2012-03-07 21:49:41.000000000 -0500
+@@ -27,8 +27,7 @@
+ #include <gst/gst.h>
+ #include <libgnomevfs/gnome-vfs-ops.h>
+ #include <libgnomevfs/gnome-vfs-utils.h>
+-#include <musicbrainz/queries.h>
+-#include <musicbrainz/mb_c.h>
++#include <discid/discid.h>
+
+ #include "goo-player.h"
+ #include "goo-marshal.h"
+@@ -36,7 +35,6 @@
+ #include "glib-utils.h"
+ #include "file-utils.h"
+ #include "main.h"
+-#include "metadata.h"
+
+ #define TOC_OFFSET 150
+ #define SECTORS_PER_SEC 75
+@@ -650,17 +648,12 @@
+ set_cd_metadata_from_rdf (GooPlayer *player,
+ char *rdf)
+ {
+- musicbrainz_t mb;
+ GList *albums;
+
+ if (rdf == NULL)
+ return;
+
+- mb = mb_New ();
+- mb_UseUTF8 (mb, TRUE);
+- mb_SetResultRDF (mb, rdf);
+-
+- albums = get_album_list (mb);
++ albums = NULL;
+ if (albums != NULL) {
+ AlbumInfo *first_album = albums->data;
+
+@@ -671,7 +664,6 @@
+ album_list_free (albums);
+ }
+
+- mb_Delete (mb);
+ }
+
+
+@@ -798,20 +790,8 @@
+ get_cd_metadata (void *thread_data)
+ {
+ GooPlayer *player = thread_data;
+- musicbrainz_t mb;
+ char *rdf = NULL;
+
+- mb = mb_New ();
+- mb_UseUTF8 (mb, TRUE);
+- if (mb_Query (mb, MBQ_GetCDInfo)) {
+- int rdf_len;
+-
+- rdf_len = mb_GetResultRDFLen (mb);
+- rdf = g_malloc (rdf_len + 1);
+- mb_GetResultRDF (mb, rdf, rdf_len);
+- }
+- mb_Delete (mb);
+-
+ g_mutex_lock (player->priv->yes_or_no);
+ g_free (player->priv->rdf);
+ player->priv->rdf = rdf;
+@@ -895,7 +875,7 @@
+ {
+ GooPlayer *player = thread_data;
+ GList *tracks = NULL;
+- musicbrainz_t mb;
++ DiscId *disc;
+
+ if (player->priv->pipeline != NULL)
+ gst_element_set_state (player->priv->pipeline, GST_STATE_PAUSED);
+@@ -903,35 +883,32 @@
+ g_free (player->priv->discid);
+ player->priv->discid = NULL;
+
+- mb = mb_New ();
+- mb_UseUTF8 (mb, TRUE);
+- mb_SetDevice (mb, (char*) goo_player_get_device (player));
+- if (mb_Query (mb, MBQ_GetCDTOC)) {
+- char data[256];
++ disc = discid_new();
++ if (discid_read (disc, (char*) goo_player_get_device (player))) {
++ char *data;
+ int n_tracks, i;
+
+- mb_GetResultData(mb, MBE_TOCGetCDIndexId, data, sizeof (data));
++ data = discid_get_id (disc);
+ player->priv->discid = g_strdup (data);
+ debug (DEBUG_INFO, "==> [MB] DISC ID: %s\n", player->priv->discid);
+
+- debug (DEBUG_INFO, "==> [MB] FIRST TRACK: %d\n", mb_GetResultInt (mb, MBE_TOCGetFirstTrack));
+
+- n_tracks = mb_GetResultInt (mb, MBE_TOCGetLastTrack);
++ n_tracks = discid_get_last_track_num (disc);
+ debug (DEBUG_INFO, "==> [MB] LAST TRACK: %d\n", n_tracks);
+
+ for (i = 0; i < n_tracks; i++) {
+ gint64 from_sector;
+ gint64 n_sectors;
+
+- from_sector = mb_GetResultInt1 (mb, MBE_TOCGetTrackSectorOffset, i + 2);
+- n_sectors = mb_GetResultInt1 (mb, MBE_TOCGetTrackNumSectors, i + 2);
++ from_sector = discid_get_track_offset (disc, i + 1);
++ n_sectors = discid_get_track_length (disc, i + 1);
+
+ debug (DEBUG_INFO, "==> [MB] Track %d: [%"G_GINT64_FORMAT", %"G_GINT64_FORMAT"]\n", i, from_sector, from_sector + n_sectors);
+
+ tracks = g_list_prepend (tracks, track_info_new (i, from_sector, from_sector + n_sectors));
+ }
+ }
+- mb_Delete (mb);
++ discid_free (disc);
+
+ tracks = g_list_reverse (tracks);
+ album_info_set_tracks (player->priv->album, tracks);
--- 2012-03-07-goobox.diff ends here ---
More information about the freebsd-gnome
mailing list