diff options
author | kwm <kwm@FreeBSD.org> | 2014-11-19 19:49:04 +0800 |
---|---|---|
committer | kwm <kwm@FreeBSD.org> | 2014-11-19 19:49:04 +0800 |
commit | be884cd42990f2e755c2c06bc38c8042cb8b0325 (patch) | |
tree | 1ad98a4e8faecd0e2fa9ac2c18e65da4cf89c236 /audio/goobox | |
parent | 1c38992aaca771dc7aab7ae768e5753c6381ecd3 (diff) | |
download | freebsd-ports-gnome-be884cd42990f2e755c2c06bc38c8042cb8b0325.tar.gz freebsd-ports-gnome-be884cd42990f2e755c2c06bc38c8042cb8b0325.tar.zst freebsd-ports-gnome-be884cd42990f2e755c2c06bc38c8042cb8b0325.zip |
The FreeBSD GNOME team proudly presents GNOME 3.14 and Cinnamon 2.2.
Gnome 3.14.1 and Cinnamon 2.2.16 are supported on FreeBSD 9.3-RELEASE and up.
This commit removes the old GNOME 2 desktop, bindings and some ports that
can't be compiled. A few ports where updated to more recent versions to
allow them to compile with this update.
Apart from updating ports to newer versions
GDM is more integrated with gnome-shell now, and handles several things for
the GNOME desktop such as screen locking. If you want to use GNOME 3 via
startx, you will have to add your own lock screen/screensaver. For example xscreensaver
can be used for sessions started without GDM.
Shell Extensions can be installed via https://extensions.gnome.org/ , we have
ported a few that can't be installed via this way.
The old gnome-utils and gnome-games ports where split up into single ports
and where converted to meta-ports.
gnome-terminal requires a UTF-8 locale to run, gdm handles this already, but
if you use startx you need to do this yourself.
Upgrade instructions:
Delete the old and conflicting packages:
# pkg delete clutter gnome-utils gnome-panel gnome-keyring vala-vapigen \
guile gcalctool gnome-media libgnomekbd
# pkg delete gnome-screensaver gnome-applets bug-buddy evolution-exchange \
evolution-webcal gnome-system-tools seahorse-plugins gnome-control-center
For package users the following lines will be enough:
# pkg upgrade
# pkg install gnome3
For ports users should do the following:
# portmaster -a
# portmaster x11/gnome3
We are currently aware of two issues. The first issue is a bug in the
file monitoring code in the glib20 port. This bug causes glib programs
to crash when files in a monitored directory are added or removed.
Upstream is aware of the problem, but since the problem is quite complex
there is no solution yet. This problem isn't restricted to BSD.
The second issue is that on certain video cards totem will display a
purple/pink overlay on the video. It not clear yet where the issues
comes from.
Major thanks goes to Gustau Perez for being a driving force behind getting
GNOME 3 up to speed again. Also thanks to Antoine Brodin for running the exp-runs.
This update was also made possible by:
Joe Maloney
Kris Moore
Beeblebrox
Ryan Lortie
Antoine Jacoutot
and everyone I missed
Diffstat (limited to 'audio/goobox')
-rw-r--r-- | audio/goobox/Makefile | 37 | ||||
-rw-r--r-- | audio/goobox/distinfo | 4 | ||||
-rw-r--r-- | audio/goobox/files/patch-port_to_libmusicbrainz3 | 773 | ||||
-rw-r--r-- | audio/goobox/files/patch-port_to_libnotify07 | 26 | ||||
-rw-r--r-- | audio/goobox/pkg-plist | 76 |
5 files changed, 71 insertions, 845 deletions
diff --git a/audio/goobox/Makefile b/audio/goobox/Makefile index ddd0a56a64b5..5e178be1c47c 100644 --- a/audio/goobox/Makefile +++ b/audio/goobox/Makefile @@ -1,41 +1,44 @@ # Created by: Alexander Nedotsukov <bland@FreeBSD.org> # $FreeBSD$ -# $MCom: ports/audio/goobox/Makefile,v 1.25 2007/08/15 03:03:09 mezz Exp $ +# $MCom: ports/trunk/audio/goobox/Makefile 19823 2014-08-20 09:28:14Z gusi $ PORTNAME= goobox -PORTVERSION= 2.2.0 -PORTREVISION= 5 +PORTVERSION= 3.3.2 +PORTREVISION= 1 CATEGORIES= audio gnome MASTER_SITES= GNOME -DIST_SUBDIR= gnome2 +DIST_SUBDIR= gnome3 MAINTAINER= gnome@FreeBSD.org COMMENT= CD player and ripper for GNOME Desktop environment -BUILD_DEPENDS= ${LOCALBASE}/share/icons/gnome/index.theme:${PORTSDIR}/misc/gnome-icon-theme +BUILD_DEPENDS= itstool:${PORTSDIR}/textproc/itstool LIB_DEPENDS= libdiscid.so:${PORTSDIR}/audio/libdiscid \ - libmusicbrainz3.so:${PORTSDIR}/audio/libmusicbrainz3 \ - libbrasero-media.so:${PORTSDIR}/sysutils/brasero \ + libcoverart.so.0:${PORTSDIR}/audio/libcoverart \ + libmusicbrainz5.so:${PORTSDIR}/audio/libmusicbrainz5 \ + libbrasero-media3.so:${PORTSDIR}/sysutils/brasero \ libunique-1.0.so:${PORTSDIR}/x11-toolkits/unique -RUN_DEPENDS= ${LOCALBASE}/share/icons/gnome/index.theme:${PORTSDIR}/misc/gnome-icon-theme +USES= desktop-file-utils gettext gmake pkgconfig tar:xz +USE_GNOME= glib20 gtk30 gnomeprefix intlhack USE_XORG= x11 -USES= gettext gmake desktop-file-utils pathfix pkgconfig tar:bzip2 -USE_GNOME= gnomeprefix intlhack gtk20 gconf2 -USE_GSTREAMER= cdparanoia gconf core gio +USE_GSTREAMER1= yes GNU_CONFIGURE= yes -INSTALLS_OMF= yes INSTALLS_ICONS= yes CPPFLAGS+= -I${LOCALBASE}/include -LIBS+= -L${LOCALBASE}/lib -lm +LDFLAGS+= -L${LOCALBASE}/lib INSTALL_TARGET= install-strip -GCONF_SCHEMAS= goobox.schemas - OPTIONS_DEFINE= NOTIFY OPTIONS_DEFAULT=NOTIFY -NOTIFY_LIB_DEPENDS= libnotify.so:${PORTSDIR}/devel/libnotify -NOTIFY_CONFIGURE_ENABLE= notification +.include <bsd.port.options.mk> + +.if ${PORT_OPTIONS:MNOTIFY} +LIB_DEPENDS+= libnotify.so:${PORTSDIR}/devel/libnotify +CONFIGURE_ARGS+=--enable-notification +.else +CONFIGURE_ARGS+=--disable-notification +.endif .include <bsd.port.mk> diff --git a/audio/goobox/distinfo b/audio/goobox/distinfo index bda18b5d18e4..e434ca63edff 100644 --- a/audio/goobox/distinfo +++ b/audio/goobox/distinfo @@ -1,2 +1,2 @@ -SHA256 (gnome2/goobox-2.2.0.tar.bz2) = d18e343c7621b56cb7bb1925a61c9b78f8aa25bbdbddff40378d7df00950b53a -SIZE (gnome2/goobox-2.2.0.tar.bz2) = 576966 +SHA256 (gnome3/goobox-3.3.2.tar.xz) = a6461eb0cc204c295173f9f26051923c261898a65b8053d253be8315bc4e47c5 +SIZE (gnome3/goobox-3.3.2.tar.xz) = 550684 diff --git a/audio/goobox/files/patch-port_to_libmusicbrainz3 b/audio/goobox/files/patch-port_to_libmusicbrainz3 deleted file mode 100644 index f6ac31597963..000000000000 --- a/audio/goobox/files/patch-port_to_libmusicbrainz3 +++ /dev/null @@ -1,773 +0,0 @@ ---- configure.orig 2012-03-14 12:11:24.000000000 -0500 -+++ configure 2012-03-14 13:33:57.000000000 -0500 -@@ -14820,7 +14820,7 @@ - GTK_REQUIRED=2.18 - GSTREAMER_REQUIRED=0.10.12 - LIBNOTIFY_REQUIRED=0.4.3 --LIBMUSICBRAINZ_REQUIRED=2.1.0 -+LIBMUSICBRAINZ3_REQUIRED=3.0.0 - - - -@@ -14932,7 +14932,8 @@ - gtk+-2.0 >= \$GTK_REQUIRED - gstreamer-0.10 >= \$GSTREAMER_REQUIRED - libbrasero-media -- libmusicbrainz >= \$LIBMUSICBRAINZ_REQUIRED -+ libmusicbrainz3 >= \$LIBMUSICBRAINZ3_REQUIRED -+ libdiscid - gconf-2.0 - unique-1.0 - \""; } >&5 -@@ -14942,7 +14943,8 @@ - gtk+-2.0 >= $GTK_REQUIRED - gstreamer-0.10 >= $GSTREAMER_REQUIRED - libbrasero-media -- libmusicbrainz >= $LIBMUSICBRAINZ_REQUIRED -+ libmusicbrainz3 >= $LIBMUSICBRAINZ3_REQUIRED -+ libdiscid - gconf-2.0 - unique-1.0 - ") 2>&5 -@@ -14955,7 +14957,8 @@ - gtk+-2.0 >= $GTK_REQUIRED - gstreamer-0.10 >= $GSTREAMER_REQUIRED - libbrasero-media -- libmusicbrainz >= $LIBMUSICBRAINZ_REQUIRED -+ libmusicbrainz3 >= $LIBMUSICBRAINZ3_REQUIRED -+ libdiscid - gconf-2.0 - unique-1.0 - " 2>/dev/null` -@@ -14977,7 +14980,8 @@ - gtk+-2.0 >= \$GTK_REQUIRED - gstreamer-0.10 >= \$GSTREAMER_REQUIRED - libbrasero-media -- libmusicbrainz >= \$LIBMUSICBRAINZ_REQUIRED -+ libmusicbrainz3 >= \$LIBMUSICBRAINZ3_REQUIRED -+ libdiscid - gconf-2.0 - unique-1.0 - \""; } >&5 -@@ -14987,7 +14991,8 @@ - gtk+-2.0 >= $GTK_REQUIRED - gstreamer-0.10 >= $GSTREAMER_REQUIRED - libbrasero-media -- libmusicbrainz >= $LIBMUSICBRAINZ_REQUIRED -+ libmusicbrainz3 >= $LIBMUSICBRAINZ3_REQUIRED -+ libdiscid - gconf-2.0 - unique-1.0 - ") 2>&5 -@@ -15000,7 +15005,8 @@ - gtk+-2.0 >= $GTK_REQUIRED - gstreamer-0.10 >= $GSTREAMER_REQUIRED - libbrasero-media -- libmusicbrainz >= $LIBMUSICBRAINZ_REQUIRED -+ libmusicbrainz3 >= $LIBMUSICBRAINZ3_REQUIRED -+ libdiscid - gconf-2.0 - unique-1.0 - " 2>/dev/null` -@@ -15028,7 +15034,8 @@ - gtk+-2.0 >= $GTK_REQUIRED - gstreamer-0.10 >= $GSTREAMER_REQUIRED - libbrasero-media -- libmusicbrainz >= $LIBMUSICBRAINZ_REQUIRED -+ libmusicbrainz3 >= $LIBMUSICBRAINZ3_REQUIRED -+ libdiscid - gconf-2.0 - unique-1.0 - "` -@@ -15039,7 +15046,8 @@ - gtk+-2.0 >= $GTK_REQUIRED - gstreamer-0.10 >= $GSTREAMER_REQUIRED - libbrasero-media -- libmusicbrainz >= $LIBMUSICBRAINZ_REQUIRED -+ libmusicbrainz3 >= $LIBMUSICBRAINZ3_REQUIRED -+ libdiscid - gconf-2.0 - unique-1.0 - "` -@@ -15053,7 +15061,8 @@ - gtk+-2.0 >= $GTK_REQUIRED - gstreamer-0.10 >= $GSTREAMER_REQUIRED - libbrasero-media -- libmusicbrainz >= $LIBMUSICBRAINZ_REQUIRED -+ libmusicbrainz3 >= $LIBMUSICBRAINZ3_REQUIRED -+ libdiscid - gconf-2.0 - unique-1.0 - ) were not met: -diff --git a/data/ui/properties.ui b/data/ui/properties.ui -index b28d921..83aaf21 100644 ---- data/ui/properties.ui -+++ data/ui/properties.ui -@@ -344,7 +344,7 @@ - <property name="can_focus">False</property> - <property name="spacing">6</property> - <child> -- <object class="GtkImage" id="image2"> -+ <object class="GtkImage" id="info_icon"> - <property name="visible">True</property> - <property name="can_focus">False</property> - <property name="stock">gtk-dialog-warning</property> -diff --git a/src/album-info.c b/src/album-info.c -index 10c3bc8..7effa35 100644 ---- src/album-info.c -+++ src/album-info.c -@@ -26,6 +26,7 @@ - #include "album-info.h" - #include "glib-utils.h" - #include "gth-user-dir.h" -+#include "track-info.h" - - - #define MBI_VARIOUS_ARTIST_ID "89ad4ac3-39f7-470e-963a-56509c546377" -@ -226,18 +227,21 @@ album_info_set_tracks (AlbumInfo *album, - GList *tracks) - { - GList *scan; -- -+ - if (album->tracks == tracks) - return; -- -+ - track_list_free (album->tracks); - album->tracks = track_list_dup (tracks); -- -+ - album->n_tracks = 0; - album->total_length = 0; - for (scan = album->tracks; scan; scan = scan->next) { - TrackInfo *track = scan->data; -- -+ -+ if ((album->artist != NULL) && (track->artist == NULL)) -+ track_info_set_artist (track, album->artist, album->artist_id); -+ - album->n_tracks++; - album->total_length += track->length; - } -diff --git a/src/dlg-properties.c b/src/dlg-properties.c -index de56ecd..7cf0d2a 100644 ---- src/dlg-properties.c -+++ src/dlg-properties.c -@@ -218,49 +218,54 @@ remove_incompatible_albums (GList *albums, - else - scan = scan->next; - } -- -+ - return albums; - } - - - static void --search_cb (GtkWidget *widget, -+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 (GET_WIDGET ("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 (GET_WIDGET ("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 (GET_WIDGET ("info_label")), _("No album found")); -- gtk_widget_show (GET_WIDGET ("info_box")); -- gtk_widget_hide (GET_WIDGET ("navigation_box")); -- } -- else -- show_album (data, 0); -+ MbReleaseFilter filter; -+ MbQuery query; -+ MbResultList list; -+ -+ gtk_image_set_from_stock (GTK_IMAGE (GET_WIDGET ("info_icon")), GTK_STOCK_FIND, GTK_ICON_SIZE_BUTTON); -+ gtk_label_set_text (GTK_LABEL (GET_WIDGET ("info_label")), _("Searching disc info...")); -+ gtk_widget_show (GET_WIDGET ("info_box")); -+ gtk_widget_hide (GET_WIDGET ("navigation_box")); -+ -+ /* -+ metadata_search_album_by_title (gtk_entry_get_text (GTK_ENTRY (GET_WIDGET ("title_entry"))), -+ data->cancellable, -+ G_CALLBACK (search_album_by_title_ready_cb), -+ data); -+ */ -+ -+ filter = mb_release_filter_new (); -+ mb_release_filter_title (filter, gtk_entry_get_text (GTK_ENTRY (GET_WIDGET ("title_entry")))); -+ -+ query = mb_query_new (NULL, NULL); -+ list = mb_query_get_releases (query, filter); -+ -+ data->albums = get_album_list (list); -+ get_track_info_for_album_list (data->albums); -+ 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_image_set_from_stock (GTK_IMAGE (GET_WIDGET ("info_icon")), GTK_STOCK_DIALOG_WARNING, GTK_ICON_SIZE_BUTTON); -+ gtk_label_set_text (GTK_LABEL (GET_WIDGET ("info_label")), _("No album found")); -+ gtk_widget_show (GET_WIDGET ("info_box")); -+ gtk_widget_hide (GET_WIDGET ("navigation_box")); - } -+ else -+ show_album (data, 0); - -- mb_Delete (mb); -+ mb_result_list_free (list); -+ mb_query_free (query); -+ mb_release_filter_free (filter); - } - - -diff --git a/src/goo-player.c b/src/goo-player.c -index 050d1d2..6de4a9a 100644 ---- src/goo-player.c -+++ src/goo-player.c -@@ -25,8 +25,8 @@ - #include <string.h> - #include <glib/gi18n.h> - #include <gst/gst.h> --#include <musicbrainz/queries.h> --#include <musicbrainz/mb_c.h> -+#include <discid/discid.h> -+#include <musicbrainz3/mb_c.h> - #include "goo-player.h" - #include "goo-marshal.h" - #include "glib-utils.h" -@@ -74,6 +74,7 @@ - gboolean exiting; - - char *rdf; -+ GList *albums; - }; - - enum { -@@ -348,6 +349,7 @@ - self->priv->current_track_n = -1; - self->priv->volume_value = 1.0; - self->priv->update_progress_id = 0; -+ self->priv->albums = NULL; - } - - -@@ -457,6 +459,9 @@ - } - - -+#if 0 -+ -+ - static void - set_cd_metadata_from_rdf (GooPlayer *self, - char *rdf) -@@ -552,13 +557,16 @@ - } - - -+#endif -+ -+ - static int - check_get_cd_metadata (gpointer data) - { - GooPlayer *player = data; - gboolean done, exiting; -- char *rdf; -- -+ GList *albums; -+ - /* Remove the check. */ - - g_source_remove (player->priv->check_id); -@@ -587,45 +595,51 @@ - /**/ - - g_mutex_lock (player->priv->yes_or_no); -- rdf = player->priv->rdf; -- player->priv->rdf = NULL; -+ albums = player->priv->albums; -+ player->priv->albums = NULL; - g_mutex_unlock (player->priv->yes_or_no); -- -- if (rdf != NULL) { -- set_cd_metadata_from_rdf (player, rdf); -- save_rdf_to_cache (player, rdf); -+ -+ if (albums != NULL) { -+ AlbumInfo *first_album = albums->data; -+ -+ /* FIXME: ask the user which album to use if the query -+ * returned more than one album. */ -+ -+ goo_player_set_album (player, first_album); - album_info_save_to_cache (player->priv->album, player->priv->discid); -- g_free (rdf); -+ -+ album_list_free (albums); - } -- -- return FALSE; -+ -+ return FALSE; - } - - - static void * - 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); -+ GooPlayer *player = thread_data; -+ MbReleaseFilter filter; -+ MbQuery query; -+ MbResultList list; -+ -+ filter = mb_release_filter_new (); -+ mb_release_filter_disc_id (filter, player->priv->discid); -+ mb_release_filter_limit (filter, 1); -+ -+ query = mb_query_new (NULL, NULL); -+ list = mb_query_get_releases (query, filter); - - g_mutex_lock (player->priv->yes_or_no); -- g_free (player->priv->rdf); -- player->priv->rdf = rdf; -+ album_list_free (player->priv->albums); -+ player->priv->albums = get_album_list (list); - player->priv->thread = NULL; - g_mutex_unlock (player->priv->yes_or_no); - -+ mb_result_list_free (list); -+ mb_query_free (query); -+ mb_release_filter_free (filter); -+ - g_thread_exit (NULL); - - return NULL; -@@ -638,8 +652,7 @@ - GooPlayer *player = data; - gboolean done; - gboolean exiting; -- char *rdf; -- -+ - /* Remove the check. */ - - g_source_remove (player->priv->check_id); -@@ -680,13 +693,13 @@ - action_done (player, GOO_PLAYER_ACTION_METADATA); - return FALSE; - } -- -- rdf = read_cached_rdf (player); -- if (rdf != NULL) { -- set_cd_metadata_from_rdf (player, rdf); -- g_free (rdf); -- return FALSE; -- } -+ -+ /* -+ metadata_get_album_info_from_disc_id (player->priv->discid, -+ data->cancellable, -+ G_CALLBACK (album_info_from_disc_id_ready_cb), -+ data); -+ */ - - g_mutex_lock (player->priv->yes_or_no); - player->priv->thread = g_thread_create (get_cd_metadata, player, FALSE, NULL); -@@ -701,45 +714,45 @@ - static void * - get_cd_tracks (void *thread_data) - { -- GooPlayer *player = thread_data; -- GList *tracks = NULL; -- musicbrainz_t mb; -- -+ GooPlayer *player = thread_data; -+ GList *tracks = NULL; -+ DiscId *disc; -+ - if (player->priv->pipeline != NULL) - gst_element_set_state (player->priv->pipeline, GST_STATE_PAUSED); - - 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]; -- int n_tracks, i; -- -- mb_GetResultData(mb, MBE_TOCGetCDIndexId, data, sizeof (data)); -- player->priv->discid = g_strdup (data); -+ disc = discid_new (); -+ if (discid_read (disc, goo_player_get_device (player))) { -+ int first_track; -+ int last_track; -+ int i; -+ -+ player->priv->discid = g_strdup (discid_get_id (disc)); - 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); -- debug (DEBUG_INFO, "==> [MB] LAST TRACK: %d\n", n_tracks); -- -- for (i = 0; i < n_tracks; i++) { -+ -+ first_track = discid_get_first_track_num (disc); -+ debug (DEBUG_INFO, "==> [MB] FIRST TRACK: %d\n", first_track); -+ -+ last_track = discid_get_last_track_num (disc); -+ debug (DEBUG_INFO, "==> [MB] LAST TRACK: %d\n", last_track); -+ -+ for (i = first_track; i <= last_track; 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); -+ n_sectors = discid_get_track_length (disc, i); -+ - 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)); -+ -+ tracks = g_list_prepend (tracks, track_info_new (i - first_track, 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); -@@ -821,7 +834,14 @@ - goo_player_empty_list (player); - goo_player_set_is_busy (player, TRUE); - create_pipeline (player); -- -+ -+ /* FIXME -+ metadata_read_cd_info_from_device (goo_player_get_device (player), -+ data->cancellable, -+ G_CALLBACK (cd_info_from_device_ready_cb), -+ data); -+ */ -+ - g_mutex_lock (player->priv->yes_or_no); - player->priv->thread = g_thread_create (get_cd_tracks, player, FALSE, NULL); - g_mutex_unlock (player->priv->yes_or_no); -diff --git a/src/metadata.c b/src/metadata.c -index d5289e7..47d0f5d 100644 ---- src/metadata.c -+++ src/metadata.c -@@ -22,124 +22,163 @@ - - #include <config.h> - #include <stdio.h> --#include <musicbrainz/queries.h> --#include <musicbrainz/mb_c.h> -+#include <string.h> -+#include <musicbrainz3/mb_c.h> - #include "glib-utils.h" - #include "metadata.h" - #include "album-info.h" - - --static AlbumInfo* --get_album_info (musicbrainz_t mb, -- int n_album) -+static TrackInfo * -+get_track_info (MbTrack mb_track, -+ int n_track) -+{ -+ TrackInfo *track; -+ char data[1024]; -+ char data2[1024]; -+ MbArtist mb_artist; -+ -+ track = track_info_new (n_track, 0, 0); -+ -+ mb_track_get_title (mb_track, data, 1024); -+ track_info_set_title (track, data); -+ -+ debug (DEBUG_INFO, "==> [MB] TRACK %d: %s\n", n_track, data); -+ -+ mb_artist = mb_track_get_artist (mb_track); -+ if (mb_artist != NULL) { -+ mb_artist_get_unique_name (mb_artist, data, 1024); -+ mb_artist_get_id (mb_artist, data2, 1024); -+ track_info_set_artist (track, data, data2); -+ } -+ -+ return track; -+} -+ -+ -+static AlbumInfo * -+get_album_info (MbRelease release) - { - AlbumInfo *album; - char data[1024]; -- int n_track, n_tracks; -- GList *tracks = NULL; -- -- /*mb_Select (mb, MBS_Rewind);*/ -- if (! mb_Select1 (mb, MBS_SelectAlbum, n_album)) -- return NULL; -+ int i; -+ MbArtist artist; -+ char data2[1024]; -+ GList *tracks = NULL; -+ int n_tracks; - - album = album_info_new (); -- -- if (mb_GetResultData (mb, MBE_AlbumGetAlbumId, data, sizeof (data))) { -- char data2[1024]; -- mb_GetIDFromURL (mb, data, data2, sizeof (data2)); -- debug (DEBUG_INFO, "==> [MB] ALBUM_ID: %s (%s)\n", data, data2); -- album_info_set_id (album, data2); -- } -- else -- return album; -- -- if (mb_GetResultData (mb, MBE_AlbumGetAlbumName, data, sizeof (data))) { -- album_info_set_title (album, data); -- debug (DEBUG_INFO, "==> [MB] ALBUM NAME: %s\n", data); -- } -- -- if (mb_GetResultData (mb, MBE_AlbumGetAmazonAsin, data, sizeof (data))) { -- album_info_set_asin (album, data); -- debug (DEBUG_INFO, "==> [MB] ASIN: %s\n", data); -- } -- -- if (mb_GetResultInt (mb, MBE_AlbumGetNumReleaseDates) >= 1) { -- int y = 0, m = 0, d = 0; -- -- mb_Select1 (mb, MBS_SelectReleaseDate, 1); -- -- mb_GetResultData (mb, MBE_ReleaseGetDate, data, sizeof (data)); -+ -+ mb_release_get_id (release, data, 1024); -+ debug (DEBUG_INFO, "==> [MB] ALBUM_ID: %s\n", data); -+ album_info_set_id (album, strrchr (data, '/') + 1); -+ -+ mb_release_get_title (release, data, 1024); -+ debug (DEBUG_INFO, "==> [MB] ALBUM NAME: %s\n", data); -+ album_info_set_title (album, data); -+ -+ mb_release_get_asin (release, data, 1024); -+ debug (DEBUG_INFO, "==> [MB] ASIN: %s\n", data); -+ album_info_set_asin (album, data); -+ -+ for (i = 0; i < mb_release_get_num_release_events (release); i++) { -+ MbReleaseEvent event; -+ int y = 0, m = 0, d = 0; -+ -+ event = mb_release_get_release_event (release, i); -+ mb_release_event_get_date (event, data, 1024); - debug (DEBUG_INFO, "==> [MB] RELEASE DATE: %s\n", data); - if (sscanf (data, "%d-%d-%d", &y, &m, &d) > 0) { - GDate *date; -- -+ - date = g_date_new_dmy ((d > 0) ? d : 1, (m > 0) ? m : 1, (y > 0) ? y : 1); - album_info_set_release_date (album, date); - g_date_free (date); - } -- -- mb_GetResultData (mb, MBE_ReleaseGetCountry, data, sizeof (data)); -- debug (DEBUG_INFO, "==> [MB] RELEASE COUNTRY: %s\n", data); -- -- mb_Select (mb, MBS_Back); -- } -- -- if (mb_GetResultData (mb, MBE_AlbumGetAlbumArtistName, data, sizeof (data))) { -- char data2[1024], data3[1024]; -- -- mb_GetResultData (mb, MBE_AlbumGetArtistId, data2, sizeof (data2)); -- mb_GetIDFromURL (mb, data2, data3, sizeof (data3)); -- -- debug (DEBUG_INFO, "==> [MB] ARTIST_ID: %s (%s)\n", data2, data3); -- -- album_info_set_artist (album, data, data3); - } -- -+ -+ artist = mb_release_get_artist (release); -+ mb_artist_get_unique_name (artist, data, 1024); -+ mb_artist_get_id (artist, data2, 1024); -+ album_info_set_artist (album, data, data2); -+ - tracks = NULL; -- n_tracks = mb_GetResultInt (mb, MBE_AlbumGetNumTracks); -+ n_tracks = mb_release_get_num_tracks (release); - debug (DEBUG_INFO, "==> [MB] N TRACKS: %d\n", n_tracks); -- for (n_track = 1; n_track <= n_tracks; n_track++) { -+ for (i = 0; i < n_tracks; i++) { -+ MbTrack mb_track; - TrackInfo *track; -- -- track = track_info_new (n_track - 1, 0, 0); -+ -+ mb_track = mb_release_get_track (release, i); -+ track = get_track_info (mb_track, i); -+ if (album->artist == NULL) -+ album_info_set_artist (album, track->artist, KEEP_PREVIOUS_VALUE); - tracks = g_list_prepend (tracks, track); -- -- if (mb_GetResultData1 (mb, MBE_AlbumGetTrackName, data, sizeof (data), n_track)) -- track_info_set_title (track, data); -- -- debug (DEBUG_INFO, "==> [MB] TRACK %d: %s\n", n_track, data); -- -- if (mb_GetResultData1 (mb, MBE_AlbumGetArtistName, data, sizeof (data), n_track)) { -- char data2[1024], data3[1024]; -- -- mb_GetResultData1 (mb, MBE_AlbumGetArtistId, data2, sizeof (data2), n_track); -- mb_GetIDFromURL (mb, data2, data3, sizeof (data3)); -- track_info_set_artist (track, data, data3); -- -- if (album->artist == NULL) -- album_info_set_artist (album, data, KEEP_PREVIOUS_VALUE); -- } - } -- mb_Select (mb, MBS_Back); -- -+ - tracks = g_list_reverse (tracks); - album_info_set_tracks (album, tracks); -- -+ - return album; - } - - --GList* --get_album_list (musicbrainz_t mb) -+GList * -+get_album_list (MbResultList list) - { - GList *albums = NULL; -- int n_albums, i; -- -- n_albums = mb_GetResultInt (mb, MBE_GetNumAlbums); -+ int n_albums; -+ int i; -+ -+ n_albums = mb_result_list_get_size (list); - g_print ("[MB] Num Albums: %d\n", n_albums); -- -- for (i = 1; i <= n_albums; i++) -- albums = g_list_prepend (albums, get_album_info (mb, i)); -- -+ -+ for (i = 0; i < n_albums; i++) { -+ MbRelease release; -+ -+ release = mb_result_list_get_release (list, i); -+ albums = g_list_prepend (albums, get_album_info (release)); -+ } -+ - return g_list_reverse (albums); - } -+ -+ -+void -+get_track_info_for_album_list (GList *albums) -+{ -+ GList *scan; -+ -+ for (scan = albums; scan; scan = scan->next) { -+ AlbumInfo *album = scan->data; -+ MbTrackFilter filter; -+ GList *tracks; -+ MbQuery query; -+ MbResultList list; -+ int i; -+ -+ filter = mb_track_filter_new (); -+ mb_track_filter_release_id (filter, album->id); -+ query = mb_query_new (NULL, NULL); -+ list = mb_query_get_tracks (query, filter); -+ -+ tracks = NULL; -+ for (i = 0; i < mb_result_list_get_size (list); i++) { -+ MbTrack mb_track; -+ TrackInfo *track; -+ -+ mb_track = mb_result_list_get_track (list, i); -+ track = get_track_info (mb_track, i); -+ if ((album->artist == NULL) && (track->artist != NULL)) -+ album_info_set_artist (album, track->artist, KEEP_PREVIOUS_VALUE); -+ tracks = g_list_prepend (tracks, track); -+ } -+ -+ tracks = g_list_reverse (tracks); -+ album_info_set_tracks (album, tracks); -+ -+ mb_result_list_free (list); -+ mb_query_free (query); -+ mb_track_filter_free (filter); -+ } -+} -diff --git a/src/metadata.h b/src/metadata.h -index 725de33..45526aa 100644 ---- src/metadata.h -+++ src/metadata.h -@@ -24,8 +24,9 @@ - #define METADATA_H - - #include <glib.h> --#include <musicbrainz/mb_c.h> -+#include <musicbrainz3/mb_c.h> - --GList* get_album_list (musicbrainz_t mb); -+GList * get_album_list (MbResultList list); -+void get_track_info_for_album_list (GList *albums); - - #endif /* METADATA_H */ diff --git a/audio/goobox/files/patch-port_to_libnotify07 b/audio/goobox/files/patch-port_to_libnotify07 deleted file mode 100644 index 0301bcd21bdd..000000000000 --- a/audio/goobox/files/patch-port_to_libnotify07 +++ /dev/null @@ -1,26 +0,0 @@ -diff --git a/src/main.c b/src/main.c -index 9c982d7..4286740 100644 ---- src/main.c -+++ src/main.c -@@ -37,6 +37,9 @@ - - #ifdef ENABLE_NOTIFICATION - #include <libnotify/notify.h> -+#ifndef NOTIFY_CHECK_VERSION -+#define NOTIFY_CHECK_VERSION(x,y,z) 0 -+#endif - static NotifyNotification *notification = NULL; - #endif /* ENABLE_NOTIFICATION */ - -@@ -591,7 +594,11 @@ system_notify (GooWindow *window, - g_list_free (caps); - } - -+#if NOTIFY_CHECK_VERSION (0, 7, 0) -+ notification = notify_notification_new (title, msg, "goobox"); -+#else - notification = notify_notification_new_with_status_icon (title, msg, "goobox", status_icon); -+#endif - notify_notification_set_urgency (notification, NOTIFY_URGENCY_LOW); - - if (supports_actions) { diff --git a/audio/goobox/pkg-plist b/audio/goobox/pkg-plist index 1a5e31870851..918aed40fb7c 100644 --- a/audio/goobox/pkg-plist +++ b/audio/goobox/pkg-plist @@ -1,21 +1,49 @@ bin/goobox +share/GConf/gsettings/goobox.convert +share/appdata/goobox.appdata.xml share/applications/goobox.desktop -share/gnome/help/goobox/C/goobox.xml -share/gnome/help/goobox/C/legal.xml -share/gnome/help/goobox/ca/goobox.xml -share/gnome/help/goobox/cs/goobox.xml -share/gnome/help/goobox/de/goobox.xml -share/gnome/help/goobox/es/goobox.xml -share/gnome/help/goobox/fr/goobox.xml -share/gnome/help/goobox/oc/goobox.xml -share/gnome/help/goobox/sl/goobox.xml -share/gnome/help/goobox/sv/goobox.xml -%%DATADIR%%/ui/cover-chooser.ui -%%DATADIR%%/ui/extract.ui -%%DATADIR%%/ui/format-options.ui -%%DATADIR%%/ui/preferences.ui -%%DATADIR%%/ui/properties.ui -%%DATADIR%%/ui/ripper.ui +share/glib-2.0/schemas/org.gnome.Goobox.gschema.xml +share/help/C/goobox/index.page +share/help/C/goobox/legal.xml +share/help/C/goobox/preferences.page +share/help/C/goobox/shortcuts.page +share/help/ca/goobox/index.page +share/help/ca/goobox/legal.xml +share/help/ca/goobox/preferences.page +share/help/ca/goobox/shortcuts.page +share/help/cs/goobox/index.page +share/help/cs/goobox/legal.xml +share/help/cs/goobox/preferences.page +share/help/cs/goobox/shortcuts.page +share/help/de/goobox/index.page +share/help/de/goobox/legal.xml +share/help/de/goobox/preferences.page +share/help/de/goobox/shortcuts.page +share/help/el/goobox/index.page +share/help/el/goobox/legal.xml +share/help/el/goobox/preferences.page +share/help/el/goobox/shortcuts.page +share/help/es/goobox/index.page +share/help/es/goobox/legal.xml +share/help/es/goobox/preferences.page +share/help/es/goobox/shortcuts.page +share/help/fr/goobox/index.page +share/help/fr/goobox/legal.xml +share/help/fr/goobox/preferences.page +share/help/fr/goobox/shortcuts.page +share/help/oc/goobox/index.page +share/help/oc/goobox/legal.xml +share/help/oc/goobox/preferences.page +share/help/oc/goobox/shortcuts.page +share/help/sl/goobox/index.page +share/help/sl/goobox/legal.xml +share/help/sl/goobox/preferences.page +share/help/sl/goobox/shortcuts.page +share/help/sv/goobox/index.page +share/help/sv/goobox/legal.xml +share/help/sv/goobox/preferences.page +share/help/sv/goobox/shortcuts.page +share/icons/hicolor/256x256/apps/goobox.png share/icons/hicolor/48x48/apps/goobox.png share/locale/ar/LC_MESSAGES/goobox.mo share/locale/bg/LC_MESSAGES/goobox.mo @@ -31,6 +59,8 @@ share/locale/es/LC_MESSAGES/goobox.mo share/locale/eu/LC_MESSAGES/goobox.mo share/locale/fi/LC_MESSAGES/goobox.mo share/locale/fr/LC_MESSAGES/goobox.mo +share/locale/gl/LC_MESSAGES/goobox.mo +share/locale/he/LC_MESSAGES/goobox.mo share/locale/hu/LC_MESSAGES/goobox.mo share/locale/id/LC_MESSAGES/goobox.mo share/locale/it/LC_MESSAGES/goobox.mo @@ -46,22 +76,14 @@ share/locale/pa/LC_MESSAGES/goobox.mo share/locale/pl/LC_MESSAGES/goobox.mo share/locale/pt/LC_MESSAGES/goobox.mo share/locale/pt_BR/LC_MESSAGES/goobox.mo +share/locale/ro/LC_MESSAGES/goobox.mo share/locale/ru/LC_MESSAGES/goobox.mo share/locale/rw/LC_MESSAGES/goobox.mo share/locale/sl/LC_MESSAGES/goobox.mo share/locale/sq/LC_MESSAGES/goobox.mo +share/locale/sr/LC_MESSAGES/goobox.mo +share/locale/sr@latin/LC_MESSAGES/goobox.mo share/locale/sv/LC_MESSAGES/goobox.mo share/locale/vi/LC_MESSAGES/goobox.mo share/locale/zh_CN/LC_MESSAGES/goobox.mo share/locale/zh_TW/LC_MESSAGES/goobox.mo -share/omf/goobox/goobox-C.omf -share/omf/goobox/goobox-ca.omf -share/omf/goobox/goobox-cs.omf -share/omf/goobox/goobox-de.omf -share/omf/goobox/goobox-es.omf -share/omf/goobox/goobox-fr.omf -share/omf/goobox/goobox-oc.omf -share/omf/goobox/goobox-sl.omf -share/omf/goobox/goobox-sv.omf -@exec %%LOCALBASE%%/bin/update-desktop-database > /dev/null || /usr/bin/true -@unexec %%LOCALBASE%%/bin/update-desktop-database > /dev/null || /usr/bin/true |