From 0eb3be1eac50ebc011be25337e5f312095a12579 Mon Sep 17 00:00:00 2001 From: Michael Schwendt Date: Jun 11 2010 18:57:35 +0000 Subject: - No longer available: scrobbler/last.fm plugin (AUDPLUG-179) icecast plugin (AUDPLUG-156) - Add BR libprojectM-devel, gtkglext-devel, libbs2b-devel - Merge WavPack plugin into base -plugins package. - Remove obsolete --disable-libmadtest configure option. - Remove Provides/Obsoletes for old audacious-plugins-pulseaudio package, which were last in Fedora 8. - Upgrade to 2.4 alpha1. --- diff --git a/.cvsignore b/.cvsignore index 50419c7..946b900 100644 --- a/.cvsignore +++ b/.cvsignore @@ -1 +1 @@ -audacious-plugins-fedora-2.2.tar.bz2 +audacious-plugins-fedora-2.4-alpha1.tar.bz2 diff --git a/audacious-plugins-2.2-adplug-fclose.patch b/audacious-plugins-2.2-adplug-fclose.patch deleted file mode 100644 index e77f4e3..0000000 --- a/audacious-plugins-2.2-adplug-fclose.patch +++ /dev/null @@ -1,19 +0,0 @@ -diff -Nur audacious-plugins-fedora-2.2-orig/src/adplug/adplug-xmms.cc audacious-plugins-fedora-2.2-adplug-fclose/src/adplug/adplug-xmms.cc ---- audacious-plugins-fedora-2.2-orig/src/adplug/adplug-xmms.cc 2009-11-22 23:49:52.000000000 +0100 -+++ audacious-plugins-fedora-2.2-adplug-fclose/src/adplug/adplug-xmms.cc 2010-01-26 13:10:04.000000000 +0100 -@@ -683,6 +683,7 @@ - return NULL; - - CPlayer *p = factory (fd, &tmpopl); -+ aud_vfs_fclose(fd); - - if (p) - { -@@ -771,6 +772,7 @@ - dbg_printf ("error!\n"); - // MessageBox("AdPlug :: Error", "File could not be opened!", "Ok"); - plr.playing = false; -+ aud_vfs_fclose(fd); - return (NULL); - } - diff --git a/audacious-plugins-2.2-alarm.patch b/audacious-plugins-2.2-alarm.patch deleted file mode 100644 index 12c9ae6..0000000 --- a/audacious-plugins-2.2-alarm.patch +++ /dev/null @@ -1,43 +0,0 @@ -diff -Nur audacious-plugins-2.2-orig/src/alarm/alarm.c audacious-plugins-2.2/src/alarm/alarm.c ---- audacious-plugins-2.2-orig/src/alarm/alarm.c 2009-11-22 23:49:52.000000000 +0100 -+++ audacious-plugins-2.2/src/alarm/alarm.c 2009-12-30 22:38:17.985756827 +0100 -@@ -321,14 +321,17 @@ - if(!aud_cfg_db_get_int(conf, "alarm", "fading", &fading)) - fading = DEFAULT_FADING; - -+ g_free(cmdstr); - if(!aud_cfg_db_get_string(conf, "alarm", "cmdstr", &cmdstr)) - cmdstr = g_strdup(""); - if(!aud_cfg_db_get_bool(conf, "alarm", "cmd_on", &cmd_on)) - cmd_on = FALSE; - -+ g_free(playlist); - if(!aud_cfg_db_get_string(conf, "alarm", "playlist", &playlist)) - playlist = g_strdup(""); - -+ g_free(alarm_conf.reminder_msg); - if(!aud_cfg_db_get_string(conf, "alarm", "reminder_msg", &alarm_conf.reminder_msg)) - alarm_conf.reminder_msg = g_strdup(""); - if(!aud_cfg_db_get_bool(conf, "alarm", "reminder_on", &alarm_conf.reminder_on)) -@@ -970,6 +973,7 @@ - { - DEBUG("alarm_init\n"); - -+ alarm_conf.reminder_msg = NULL; - alarm_read_config(); - - /* start the main thread running */ -@@ -989,6 +993,13 @@ - if(stop_tid) - pthread_cancel(stop_tid); - stop_tid = 0; -+ -+ g_free(alarm_conf.reminder_msg); -+ alarm_conf.reminder_msg = NULL; -+ g_free(playlist); -+ playlist = NULL; -+ g_free(cmdstr); -+ cmdstr = NULL; - } - - static GeneralPlugin alarm_plugin = diff --git a/audacious-plugins-2.2-amidi.patch b/audacious-plugins-2.2-amidi.patch index 2d2e7ae..67a7b0b 100644 --- a/audacious-plugins-2.2-amidi.patch +++ b/audacious-plugins-2.2-amidi.patch @@ -1,27 +1,3 @@ -diff -Nur audacious-plugins-2.2-orig/src/amidi-plug/amidi-plug.c audacious-plugins-2.2/src/amidi-plug/amidi-plug.c ---- audacious-plugins-2.2-orig/src/amidi-plug/amidi-plug.c 2009-11-22 23:49:52.000000000 +0100 -+++ audacious-plugins-2.2/src/amidi-plug/amidi-plug.c 2010-05-31 12:17:41.000000000 +0200 -@@ -259,7 +259,7 @@ - soft_init (); - - if (filename != NULL) -- title = g_path_get_basename(filename_uri); -+ title = g_path_get_basename(filename); - else - title = g_strdup(filename_uri); - -diff -Nur audacious-plugins-2.2-orig/src/amidi-plug/i_backend.c audacious-plugins-2.2/src/amidi-plug/i_backend.c ---- audacious-plugins-2.2-orig/src/amidi-plug/i_backend.c 2009-11-22 23:49:52.000000000 +0100 -+++ audacious-plugins-2.2/src/amidi-plug/i_backend.c 2010-05-31 12:18:24.000000000 +0200 -@@ -105,7 +105,7 @@ - { - gchar * module_pathfilename = g_strjoin( "" , AMIDIPLUGBACKENDDIR , "/ap-" , module_name , ".so" , NULL ); - DEBUGMSG( "loading backend '%s'\n" , module_pathfilename ); -- backend.gmodule = g_module_open( module_pathfilename , 0 ); -+ backend.gmodule = g_module_open( module_pathfilename, G_MODULE_BIND_LAZY|G_MODULE_BIND_LOCAL ); - - if ( backend.gmodule != NULL ) - { diff -Nur audacious-plugins-2.2-orig/src/amidi-plug/i_midi.c audacious-plugins-2.2/src/amidi-plug/i_midi.c --- audacious-plugins-2.2-orig/src/amidi-plug/i_midi.c 2009-11-22 23:49:52.000000000 +0100 +++ audacious-plugins-2.2/src/amidi-plug/i_midi.c 2010-05-31 12:17:20.000000000 +0200 diff --git a/audacious-plugins-2.2-bluetooth.patch b/audacious-plugins-2.2-bluetooth.patch deleted file mode 100644 index 696906b..0000000 --- a/audacious-plugins-2.2-bluetooth.patch +++ /dev/null @@ -1,97 +0,0 @@ -diff -Nur audacious-plugins-2.2-orig/src/bluetooth/bluetooth.c audacious-plugins-2.2-bluetooth/src/bluetooth/bluetooth.c ---- audacious-plugins-2.2-orig/src/bluetooth/bluetooth.c 2009-11-22 23:49:52.000000000 +0100 -+++ audacious-plugins-2.2-bluetooth/src/bluetooth/bluetooth.c 2009-12-19 19:48:34.000000000 +0100 -@@ -29,6 +29,7 @@ - GList * current_device = NULL; - gint config = 0; - gint devices_no = 0; -+gboolean pcmdev_modified = FALSE; - GStaticMutex mutex = G_STATIC_MUTEX_INIT; - static gchar *current_address=NULL; - static GThread *connect_th; -@@ -58,44 +59,53 @@ - - void bluetooth_init ( void ) - { -+ bonded_dev = NULL; -+ discover_finish = 0; -+ pcmdev_modified = FALSE; - audio_devices = NULL; - bus = NULL; - obj = NULL; -- gchar* bonded_addr="zz"; -+ gchar* bonded_addr = NULL; - discover_devices(); - mcs_handle_t *cfgfile ; - cfgfile = aud_cfg_db_open(); - if(!aud_cfg_db_get_string(cfgfile, "BLUETOOTH_PLUGIN", "bonded", -- &bonded_addr)) -+ &bonded_addr)) { -+ aud_cfg_db_close(cfgfile); - return; -+ } - if(bonded_addr!=NULL && g_strcmp0(bonded_addr,"no")!=0) - { - remove_bonding(bonded_addr); - } -+ free(bonded_addr); - aud_cfg_db_close(cfgfile); - - } - - void bluetooth_cleanup ( void ) - { -- printf("bluetooth: exit\n"); - if (config ==1 ) - { - close_window(); - config =0; - } -- remove_bonding(bonded_dev); -+ if (bonded_dev) { -+ printf("bluetooth: exit\n"); -+ remove_bonding(bonded_dev); -+ } - if(discover_finish == 2) { - dbus_g_connection_flush (bus); - dbus_g_connection_unref(bus); - disconnect_dbus_signals(); - - } -+ if (pcmdev_modified) { - /* switching back to default pcm device at cleanup */ - mcs_handle_t *cfgfile = aud_cfg_db_open(); -- aud_cfg_db_set_string(cfgfile,"ALSA","pcm_device", "default"); -+ aud_cfg_db_set_string(cfgfile,"alsa-gapless","pcm", "default"); - aud_cfg_db_close(cfgfile); -- -+ } - } - - void bt_about( void ) -@@ -243,8 +253,9 @@ - g_free(device_line); - g_free(file_name); - g_free(temp_file_name); -+ pcmdev_modified = TRUE; - mcs_handle_t *cfgfile = aud_cfg_db_open(); -- aud_cfg_db_set_string(cfgfile,"ALSA","pcm_device", "audacious_bt"); -+ aud_cfg_db_set_string(cfgfile,"alsa-gapless","pcm", "audacious_bt"); - aud_cfg_db_close(cfgfile); - - printf("play callback\n"); -@@ -360,12 +371,13 @@ - { - GError *error = NULL; - // g_type_init(); -- g_log_set_always_fatal (G_LOG_LEVEL_WARNING); -+ /* g_log_set_always_fatal (G_LOG_LEVEL_WARNING); */ /* too invasive */ - bus = dbus_g_bus_get(DBUS_BUS_SYSTEM, &error); - if (error != NULL) - { - g_printerr("Connecting to system bus failed: %s\n", error->message); - g_error_free(error); -+ return; - } - obj = dbus_g_proxy_new_for_name(bus, "org.bluez", "/org/bluez/hci0", "org.bluez.Adapter"); - printf("bluetooth plugin - start discovery \n"); diff --git a/audacious-plugins-2.2-cfg_db_close.patch b/audacious-plugins-2.2-cfg_db_close.patch deleted file mode 100644 index 64af478..0000000 --- a/audacious-plugins-2.2-cfg_db_close.patch +++ /dev/null @@ -1,48 +0,0 @@ -diff -Nur audacious-plugins-2.2-orig/src/alarm/alarm.c audacious-plugins-2.2-cfg_db_close/src/alarm/alarm.c ---- audacious-plugins-2.2-orig/src/alarm/alarm.c 2009-11-22 23:49:52.000000000 +0100 -+++ audacious-plugins-2.2-cfg_db_close/src/alarm/alarm.c 2009-12-19 19:43:39.000000000 +0100 -@@ -354,6 +354,7 @@ - alarm_conf.day[daynum].min = DEFAULT_ALARM_MIN; - } - -+ aud_cfg_db_close(conf); - DEBUG("END alarm_read_config\n"); - } - -diff -Nur audacious-plugins-2.2-orig/src/lastfm/lastfm.c audacious-plugins-2.2-cfg_db_close/src/lastfm/lastfm.c ---- audacious-plugins-2.2-orig/src/lastfm/lastfm.c 2009-11-22 23:49:53.000000000 +0100 -+++ audacious-plugins-2.2-cfg_db_close/src/lastfm/lastfm.c 2009-12-19 19:43:39.000000000 +0100 -@@ -109,7 +109,7 @@ - { - aud_cfg_db_get_string(cfg, "audioscrobbler", "username", &username); - aud_cfg_db_get_string(cfg, "audioscrobbler", "password", &password); -- g_free(cfg); -+ aud_cfg_db_close(cfg); - } - if (username != NULL && password != NULL) - { -diff -Nur audacious-plugins-2.2-orig/src/neon/neon.c audacious-plugins-2.2-cfg_db_close/src/neon/neon.c ---- audacious-plugins-2.2-orig/src/neon/neon.c 2009-11-22 23:49:53.000000000 +0100 -+++ audacious-plugins-2.2-cfg_db_close/src/neon/neon.c 2009-12-19 19:43:39.000000000 +0100 -@@ -508,6 +508,7 @@ - aud_cfg_db_get_string(db, NULL, "proxy_user", &value); - if (!value) { - _DEBUG("<%p> proxy_auth requested but no proxy_user", userdata); -+ aud_cfg_db_close(db); - _LEAVE -1; - } - g_strlcpy(username, value, NE_ABUFSIZ); -@@ -516,11 +517,13 @@ - aud_cfg_db_get_string(db, NULL, "proxy_pass", &value); - if (!value) { - _DEBUG("<%p> proxy_auth requested but no proxy_pass", userdata); -+ aud_cfg_db_close(db); - _LEAVE -1; - } - g_strlcpy(password, value, NE_ABUFSIZ); - value = NULL; - -+ aud_cfg_db_close(db); - _LEAVE attempt; - } - diff --git a/audacious-plugins-2.2-delete-ui-state_cb.patch b/audacious-plugins-2.2-delete-ui-state_cb.patch deleted file mode 100644 index 4e071d0..0000000 --- a/audacious-plugins-2.2-delete-ui-state_cb.patch +++ /dev/null @@ -1,32 +0,0 @@ -diff -Nur audacious-plugins-2.2-orig/src/skins/ui_main.c audacious-plugins-2.2/src/skins/ui_main.c ---- audacious-plugins-2.2-orig/src/skins/ui_main.c 2009-11-22 23:49:53.000000000 +0100 -+++ audacious-plugins-2.2/src/skins/ui_main.c 2010-06-07 18:55:11.000000000 +0200 -@@ -2148,19 +2148,6 @@ - ui_skinned_window_set_shade (mainwin, config.player_shaded); - } - --static gboolean state_cb (GtkWidget * widget, GdkEventWindowState * event, -- void * unused) --{ -- if (event->changed_mask & GDK_WINDOW_STATE_STICKY) -- mainwin_set_sticky (event->new_window_state & GDK_WINDOW_STATE_STICKY); -- -- if (event->changed_mask & GDK_WINDOW_STATE_ABOVE) -- mainwin_set_always_on_top (event->new_window_state & -- GDK_WINDOW_STATE_ABOVE); -- -- return TRUE; --} -- - static gboolean delete_cb (GtkWidget * widget, GdkEvent * event, void * unused) - { - audacious_drct_quit (); -@@ -2201,8 +2188,6 @@ - - ui_main_evlistener_init(); - -- g_signal_connect ((GObject *) mainwin, "window-state-event", (GCallback) -- state_cb, NULL); - g_signal_connect ((GObject *) mainwin, "delete-event", (GCallback) - delete_cb, NULL); - } diff --git a/audacious-plugins-2.2-g_markup.patch b/audacious-plugins-2.2-g_markup.patch deleted file mode 100644 index 738b760..0000000 --- a/audacious-plugins-2.2-g_markup.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff -Nur audacious-plugins-2.2-orig/src/skins/plugin.c audacious-plugins-2.2/src/skins/plugin.c ---- audacious-plugins-2.2-orig/src/skins/plugin.c 2009-11-22 23:49:53.000000000 +0100 -+++ audacious-plugins-2.2/src/skins/plugin.c 2010-04-10 11:08:35.000000000 +0200 -@@ -255,7 +255,7 @@ - GTK_DIALOG_DESTROY_WITH_PARENT, - GTK_MESSAGE_ERROR, - GTK_BUTTONS_OK, -- _(markup)); -+ "%s",_(markup)); - - gtk_window_set_modal(GTK_WINDOW(dialog), TRUE); - gtk_widget_show(GTK_WIDGET(dialog)); diff --git a/audacious-plugins-2.2-jack.patch b/audacious-plugins-2.2-jack.patch deleted file mode 100644 index 228919e..0000000 --- a/audacious-plugins-2.2-jack.patch +++ /dev/null @@ -1,22 +0,0 @@ -diff -Nur /tmp/tmp.XuE20VQcQk/audacious-plugins-old/src/jack/jack.c audacious-plugins/src/jack/jack.c ---- /tmp/tmp.XuE20VQcQk/audacious-plugins-old/src/jack/jack.c 2009-09-11 17:27:13.000000000 +0200 -+++ audacious-plugins/src/jack/jack.c 2009-11-24 19:20:15.674971400 +0100 -@@ -236,7 +236,7 @@ - - - /* Return the amount of data that can be written to the device */ --static gint jack_free(void) -+static gint audacious_jack_free(void) - { - unsigned long return_val = JACK_GetBytesFreeSpace(driver); - unsigned long tmp; -@@ -448,7 +448,7 @@ - .close_audio = jack_close, - .flush = jack_flush, - .pause = jack_pause, -- .buffer_free = jack_free, -+ .buffer_free = audacious_jack_free, - .buffer_playing = jack_playing, - .output_time = jack_get_output_time, - .written_time = jack_get_written_time, - diff --git a/audacious-plugins-2.2-ladspa.patch b/audacious-plugins-2.2-ladspa.patch deleted file mode 100644 index a8d45bd..0000000 --- a/audacious-plugins-2.2-ladspa.patch +++ /dev/null @@ -1,93 +0,0 @@ -diff -Nur audacious-plugins-2.2-orig/src/ladspa/ladspa.c audacious-plugins-2.2-ladspa/src/ladspa/ladspa.c ---- audacious-plugins-2.2-orig/src/ladspa/ladspa.c 2009-11-22 23:49:53.000000000 +0100 -+++ audacious-plugins-2.2-ladspa/src/ladspa/ladspa.c 2010-02-04 12:07:59.000000000 +0100 -@@ -145,7 +145,6 @@ - - static void restore(void) - { --#if 0 - mcs_handle_t *db; - gint k, plugins = 0; - -@@ -157,16 +156,20 @@ - gint id; - int port, ports = 0; - plugin_instance *instance; -- gchar *bn, *section; -+ gchar *bn, *section, *file; - -- bn = g_path_get_basename(instance->filename); -- section = g_strdup_printf("ladspa_plugin:%s:%d", bn, k); -- g_free(bn); -+ section = g_strdup_printf("ladspa_plugin%ld", k); - - aud_cfg_db_get_int(db, section, "id", &id); - aud_cfg_db_get_int(db, section, "ports", &ports); -- -- instance = add_plugin(get_plugin_by_id(id)); -+ if (!aud_cfg_db_get_string(db, section, "file", &file)) { -+ g_free(section); -+ continue; -+ } -+ bn = g_path_get_basename(file); -+ g_free(file); -+ instance = add_plugin(get_plugin_by_id(bn,id)); -+ g_free(bn); - if (!instance) - continue; /* couldn't load this plugin */ - -@@ -180,7 +183,6 @@ - } - - aud_cfg_db_close(db); --#endif - - state.initialised = TRUE; - } -@@ -222,8 +224,8 @@ - if (ladspa_path == NULL) - { - /* Fallback, look in obvious places */ -- find_plugins("/usr/lib/ladspa"); -- find_plugins("/usr/local/lib/ladspa"); -+ find_plugins("__RPM_LIBDIR__/ladspa"); -+ find_plugins("/usr/local/__RPM_LIB__/ladspa"); - } - else - { -@@ -306,7 +308,7 @@ - int port, ports = 0; - - bn = g_path_get_basename(instance->filename); -- section = g_strdup_printf("ladspa_plugin:%s:%ld", bn, instance->descriptor->UniqueID); -+ section = g_strdup_printf("ladspa_plugin%ld", plugins); - g_free(bn); - - aud_cfg_db_set_int(db, section, "id", instance->descriptor->UniqueID); -@@ -325,6 +327,7 @@ - aud_cfg_db_set_int(db, section, "ports", ports); - g_free(section); - ladspa_shutdown(instance); -+ plugins++; - } - G_UNLOCK(running_plugins); - -diff -Nur audacious-plugins-2.2-orig/src/ladspa/ladspa.c audacious-plugins-2.2/src/ladspa/ladspa.c ---- audacious-plugins-2.2-orig/src/ladspa/ladspa.c 2009-11-22 23:49:53.000000000 +0100 -+++ audacious-plugins-2.2/src/ladspa/ladspa.c 2010-02-04 13:18:49.000000000 +0100 -@@ -702,6 +702,7 @@ - } - - instance->window = gtk_window_new(GTK_WINDOW_TOPLEVEL); -+ gtk_window_set_type_hint(GTK_WINDOW(instance->window), GDK_WINDOW_TYPE_HINT_DIALOG); - gtk_window_set_title(GTK_WINDOW(instance->window), plugin->Name); - - vbox = gtk_vbox_new(FALSE, 3); -@@ -1076,6 +1077,7 @@ - } - - config_window = gtk_window_new(GTK_WINDOW_TOPLEVEL); -+ gtk_window_set_type_hint(GTK_WINDOW(config_window), GDK_WINDOW_TYPE_HINT_DIALOG); - vbox = gtk_vbox_new(FALSE, 0); - hbox = gtk_hbox_new(TRUE, 0); - diff --git a/audacious-plugins-2.2-neon-error-handling.patch b/audacious-plugins-2.2-neon-error-handling.patch deleted file mode 100644 index f3d1f5e..0000000 --- a/audacious-plugins-2.2-neon-error-handling.patch +++ /dev/null @@ -1,14 +0,0 @@ -diff -Nur audacious-plugins-2.2-orig/src/neon/neon.c audacious-plugins-2.2/src/neon/neon.c ---- audacious-plugins-2.2-orig/src/neon/neon.c 2009-11-22 23:49:53.000000000 +0100 -+++ audacious-plugins-2.2/src/neon/neon.c 2010-02-05 19:58:04.000000000 +0100 -@@ -765,6 +765,10 @@ - _LEAVE 1; - } else { - _ERROR("<%p> Error while reading from the network", h); -+ ne_request_destroy(h->request); -+ h->request = NULL; -+ ne_session_destroy(h->session); -+ h->session = NULL; - _LEAVE -1; - } - } diff --git a/audacious-plugins-2.2-neon-request.patch b/audacious-plugins-2.2-neon-request.patch deleted file mode 100644 index d568aa8..0000000 --- a/audacious-plugins-2.2-neon-request.patch +++ /dev/null @@ -1,30 +0,0 @@ -diff -Nur audacious-plugins-2.2-orig/src/neon/neon.c audacious-plugins-2.2/src/neon/neon.c ---- audacious-plugins-2.2-orig/src/neon/neon.c 2009-11-22 23:49:53.000000000 +0100 -+++ audacious-plugins-2.2/src/neon/neon.c 2010-01-08 21:39:20.000000000 +0100 -@@ -609,6 +609,7 @@ - handle->redircount += 1; - rediruri = (ne_uri*)ne_redirect_location(handle->session); - ne_request_destroy(handle->request); -+ handle->request = NULL; - - if (NULL == rediruri) { - _ERROR("<%p> Could not parse redirect response", handle); -@@ -627,6 +628,7 @@ - _ERROR("<%p> neon error string: %s", handle, ne_get_error(handle->session)); - } - ne_request_destroy(handle->request); -+ handle->request = NULL; - _LEAVE -1; - break; - } -@@ -1354,7 +1356,9 @@ - kill_reader(h); - } - -- ne_request_destroy(h->request); -+ if (NULL != h->request) { -+ ne_request_destroy(h->request); -+ } - ne_session_destroy(h->session); - reset_rb(&h->rb); - diff --git a/audacious-plugins-2.2-neon-session-destroy.patch b/audacious-plugins-2.2-neon-session-destroy.patch deleted file mode 100644 index fc1b1d7..0000000 --- a/audacious-plugins-2.2-neon-session-destroy.patch +++ /dev/null @@ -1,42 +0,0 @@ -It's just bad to de-couple state and NULL ptrs. - -diff -Nur audacious-plugins-fedora-2.2-neon1/src/neon/neon.c audacious-plugins-fedora-2.2-neon2/src/neon/neon.c ---- audacious-plugins-fedora-2.2-neon1/src/neon/neon.c 2010-01-25 09:46:23.000000000 +0100 -+++ audacious-plugins-fedora-2.2-neon2/src/neon/neon.c 2010-01-25 09:51:17.000000000 +0100 -@@ -727,11 +727,13 @@ - _LEAVE 0; - } else if (-1 == ret) { - ne_session_destroy(handle->session); -+ handle->session = NULL; - _LEAVE -1; - } - - _DEBUG("<%p> Following redirect...", handle); - ne_session_destroy(handle->session); -+ handle->session = NULL; - } - - /* -@@ -945,7 +947,9 @@ - } - - _DEBUG("<%p> Destroying session", h); -- ne_session_destroy(h->session); -+ if (NULL != h->session) { -+ ne_session_destroy(h->session); -+ } - - handle_free(h); - -@@ -1359,7 +1363,10 @@ - if (NULL != h->request) { - ne_request_destroy(h->request); - } -- ne_session_destroy(h->session); -+ if (NULL != h->session) { -+ ne_session_destroy(h->session); -+ h->session = NULL; -+ } - reset_rb(&h->rb); - - if (0 != open_handle(h, newpos)) { diff --git a/audacious-plugins-2.2-no-adplugdb.patch b/audacious-plugins-2.2-no-adplugdb.patch deleted file mode 100644 index 8d71aa4..0000000 --- a/audacious-plugins-2.2-no-adplugdb.patch +++ /dev/null @@ -1,14 +0,0 @@ -diff -Nur audacious-plugins-2.2-orig/src/adplug/adplug-xmms.cc audacious-plugins-2.2/src/adplug/adplug-xmms.cc ---- audacious-plugins-2.2-orig/src/adplug/adplug-xmms.cc 2009-11-22 23:49:52.000000000 +0100 -+++ audacious-plugins-2.2/src/adplug/adplug-xmms.cc 2010-03-13 19:29:06.000000000 +0100 -@@ -1043,8 +1043,10 @@ - { - std::string userdb; - userdb = "file://" + std::string(g_get_home_dir()) + "/" ADPLUG_CONFDIR "/" + ADPLUGDB_FILE; -+ if (aud_vfs_file_test(userdb.c_str(),G_FILE_TEST_EXISTS)) { - plr.db->load (userdb); // load user's database - dbg_printf (" (userdb=\"%s\")", userdb.c_str()); -+ } - } - } - CAdPlug::set_database (plr.db); diff --git a/audacious-plugins-2.2-playlist-font-safety.patch b/audacious-plugins-2.2-playlist-font-safety.patch deleted file mode 100644 index df4adad..0000000 --- a/audacious-plugins-2.2-playlist-font-safety.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff -Nur audacious-plugins-2.2-orig/src/skins/skins_cfg.c audacious-plugins-2.2/src/skins/skins_cfg.c ---- audacious-plugins-2.2-orig/src/skins/skins_cfg.c 2009-11-22 23:49:53.000000000 +0100 -+++ audacious-plugins-2.2/src/skins/skins_cfg.c 2010-03-13 19:57:52.000000000 +0100 -@@ -233,7 +233,7 @@ - if (!config.mainwin_font) - config.mainwin_font = g_strdup(MAINWIN_DEFAULT_FONT); - -- if (!config.playlist_font) -+ if (!config.playlist_font || !strchr(config.playlist_font,' ')) - config.playlist_font = g_strdup(PLAYLISTWIN_DEFAULT_FONT); - - if (!aud_cfg_db_get_float(cfgfile, "skins", "scale_factor", &(config.scale_factor))) diff --git a/audacious-plugins-2.2-scrobbler.patch b/audacious-plugins-2.2-scrobbler.patch deleted file mode 100644 index 734eae7..0000000 --- a/audacious-plugins-2.2-scrobbler.patch +++ /dev/null @@ -1,31 +0,0 @@ -diff -Nur audacious-plugins-2.2-orig/src/scrobbler/plugin.c audacious-plugins-2.2-scrobbler/src/scrobbler/plugin.c ---- audacious-plugins-2.2-orig/src/scrobbler/plugin.c 2009-11-22 23:49:53.000000000 +0100 -+++ audacious-plugins-2.2-scrobbler/src/scrobbler/plugin.c 2010-02-15 14:25:48.000000000 +0100 -@@ -253,16 +253,15 @@ - - playlist = aud_playlist_get_active(); - pos = aud_playlist_get_position(playlist); -- tuple = (Tuple*) aud_playlist_entry_get_tuple(playlist, pos); -+ tuple = tuple_copy( (Tuple*) aud_playlist_entry_get_tuple(playlist, pos) ); - - if (tuple == NULL) - continue; - -- mowgli_object_ref(tuple); - - if (ishttp(aud_tuple_get_string(tuple, FIELD_FILE_NAME, NULL))) - { -- mowgli_object_unref(tuple); -+ tuple_free(tuple); - continue; - } - -@@ -285,7 +284,7 @@ - pdebug("tuple does not contain an artist or a title, not submitting.", DEBUG); - - submit = FALSE; -- mowgli_object_unref(tuple); -+ tuple_free(tuple); - } - - g_get_current_time(&sleeptime); diff --git a/audacious-plugins-2.2-status.patch b/audacious-plugins-2.2-status.patch deleted file mode 100644 index 28791e3..0000000 --- a/audacious-plugins-2.2-status.patch +++ /dev/null @@ -1,204 +0,0 @@ -diff -Nur audacious-plugins-2.2-orig/src/statusicon/si_ui.c audacious-plugins-2.2/src/statusicon/si_ui.c ---- audacious-plugins-2.2-orig/src/statusicon/si_ui.c 2009-11-22 23:49:53.000000000 +0100 -+++ audacious-plugins-2.2/src/statusicon/si_ui.c 2010-04-07 19:20:06.000000000 +0200 -@@ -30,17 +30,17 @@ - #include - #include - --#ifndef MAX --# define MAX(a,b) ((a) > (b) ? (a) : (b)) --#endif -- - static void si_ui_statusicon_popup_timer_start ( GtkStatusIcon * ); - static void si_ui_statusicon_popup_timer_stop ( GtkStatusIcon * ); - static void si_ui_statusicon_smallmenu_show ( gint x, gint y, guint button, guint32 time , gpointer ); - static void si_ui_statusicon_smallmenu_recreate ( GtkStatusIcon * ); -+static void si_ui_statusicon_popup_hide ( gpointer icon ); - - extern si_cfg_t si_cfg; - static gboolean recreate_smallmenu = FALSE; -+static gint last_x = -1; -+static gint last_y = -1; -+static gint popup_step = 0; - - - /* this stuff required to make titlechange hook work properly */ -@@ -93,6 +93,14 @@ - - case 3: - { -+ if (GPOINTER_TO_INT(g_object_get_data(G_OBJECT(icon), "popup_active" )) == 1) -+ { -+ popup_step = 1; -+ -+ si_ui_statusicon_popup_hide( icon ); -+ si_ui_statusicon_popup_timer_start( icon ); -+ } -+ - if (event->state & GDK_SHIFT_MASK) - audacious_drct_pl_prev(); - else{ -@@ -161,30 +169,65 @@ - static gboolean - si_ui_statusicon_popup_show ( gpointer icon ) - { -- if ( GPOINTER_TO_INT(g_object_get_data( G_OBJECT(icon) , "timer_active" )) == 1 ) -- { -- Tuple *tuple; -- gint pl_active = aud_playlist_get_active(); -- gint pos = aud_playlist_get_position(pl_active); -- GtkWidget *popup = g_object_get_data( G_OBJECT(icon) , "popup" ); -- -- tuple = (Tuple*) aud_playlist_entry_get_tuple( pl_active , pos ); -- if ( ( tuple == NULL ) || ( aud_tuple_get_int(tuple, FIELD_LENGTH, NULL) < 1 ) ) -- { -- gchar *title = (gchar*) aud_playlist_entry_get_title( pl_active , pos ); -- audacious_fileinfopopup_show_from_title( popup , title ); -- g_free( title ); -- } -- else -- { -- audacious_fileinfopopup_show_from_tuple( popup , tuple ); -+ if ( GPOINTER_TO_INT(g_object_get_data( G_OBJECT(icon) , "timer_active" )) == 1 ) { -+ switch (popup_step) { -+ case 0: -+ { -+ Tuple *tuple; -+ gint pl_active = aud_playlist_get_active(); -+ gint pos = aud_playlist_get_position(pl_active); -+ GtkWidget *popup = g_object_get_data( G_OBJECT(icon) , "popup" ); -+ -+ GdkDisplay *display = gdk_display_get_default(); -+ GdkScreen *screen = gdk_display_get_default_screen(display); -+ GdkRectangle area; -+ gint x, y; -+ gtk_status_icon_get_geometry(icon, &screen, &area, NULL); -+ gdk_display_get_pointer(display, &screen, &x, &y, NULL); -+ -+ if (x < area.x || x > area.x + area.width || y < area.y || y > area.y + area.width) -+ { -+ si_ui_statusicon_popup_timer_stop(icon); -+ si_ui_statusicon_popup_hide(icon); -+ -+ return TRUE; -+ } -+ -+ tuple = (Tuple*) aud_playlist_entry_get_tuple( pl_active , pos ); -+ if ( ( tuple == NULL ) || ( aud_tuple_get_int(tuple, FIELD_LENGTH, NULL) < 1 ) ) { -+ gchar *title = (gchar*) aud_playlist_entry_get_title( pl_active , pos ); -+ audacious_fileinfopopup_show_from_title( popup , title ); -+ } -+ else { -+ audacious_fileinfopopup_show_from_tuple( popup , tuple ); -+ } -+ g_object_set_data( G_OBJECT(icon) , "popup_active" , GINT_TO_POINTER(1) ); -+ break; -+ } -+ case 2: -+ { -+ last_x = -1; -+ last_y = -1; -+ GdkDisplay *display = gdk_display_get_default(); -+ gtk_tooltip_trigger_tooltip_query(display); -+ break; -+ } -+ default: -+ { -+ if (popup_step >= 3) { -+ popup_step = 1; -+ if (last_x<0 || last_y<0) { -+ si_ui_statusicon_popup_hide(icon); -+ si_ui_statusicon_popup_timer_stop(icon); -+ return FALSE; -+ } -+ } -+ break; -+ } -+ } - } -- -- g_object_set_data( G_OBJECT(icon) , "popup_active" , GINT_TO_POINTER(1) ); -- } -- -- si_ui_statusicon_popup_timer_stop( icon ); -- return FALSE; -+ popup_step += 1; -+ return TRUE; - } - - -@@ -204,6 +247,7 @@ - si_ui_statusicon_popup_timer_start ( GtkStatusIcon * icon ) - { - gint timer_id = g_timeout_add( 500 , si_ui_statusicon_popup_show , icon ); -+ popup_step = 0; - g_object_set_data( G_OBJECT(icon) , "timer_id" , GINT_TO_POINTER(timer_id) ); - g_object_set_data( G_OBJECT(icon) , "timer_active" , GINT_TO_POINTER(1) ); - return; -@@ -222,6 +266,19 @@ - } - - -+static gboolean -+si_ui_statusicon_cb_tooltip(GtkStatusIcon *icon , gint x, gint y, gboolean keyboard_mode, GtkTooltip *tooltip, gpointer user_data) { -+ if ( GPOINTER_TO_INT(g_object_get_data( G_OBJECT(icon), "popup_active" )) == 0 ) { -+ if ( GPOINTER_TO_INT(g_object_get_data(G_OBJECT(icon),"timer_active")) == 0 ) { -+ si_ui_statusicon_popup_timer_start( icon ); -+ } -+ } -+ last_x = x; -+ last_y = y; -+ return FALSE; -+} -+ -+ - static void - si_ui_statusicon_cb_aud_hook_pbstart ( gpointer plentry_gp , gpointer icon ) - { -@@ -238,8 +295,8 @@ - si_ui_statusicon_cb_aud_hook_tchange ( gpointer plentry_gp , gpointer prevs_gp ) - { - si_aud_hook_tchange_prevs_t *prevs = prevs_gp; -- gint pl_entry = GPOINTER_TO_INT(plentry_gp); - gint playlist = aud_playlist_get_active(); -+ gint pl_entry = aud_playlist_get_position(playlist); - gboolean upd_pop = FALSE; - - if (pl_entry >= 0) -@@ -267,6 +324,7 @@ - /* if filename changes, reset title as well */ - g_free(prevs->title); - prevs->title = g_strdup(pl_entry_title); -+ upd_pop = TRUE; - } - } - else -@@ -409,7 +467,10 @@ - G_CALLBACK(si_ui_statusicon_cb_btpress) , NULL ); - g_signal_connect( G_OBJECT(si_applet) , "scroll-event" , - G_CALLBACK(si_ui_statusicon_cb_btscroll) , NULL ); -+ g_signal_connect( G_OBJECT(si_applet) , "query-tooltip" , -+ G_CALLBACK(si_ui_statusicon_cb_tooltip) , NULL ); - -+ gtk_status_icon_set_has_tooltip( si_applet, TRUE ); - gtk_status_icon_set_visible(si_applet, TRUE); - - /* small menu that can be used in place of the audacious standard one */ -@@ -421,7 +482,7 @@ - si_aud_hook_tchange_prevs->title = NULL; - si_aud_hook_tchange_prevs->filename = NULL; - si_aud_hook_tchange_prevs->applet = si_applet; -- aud_hook_associate( "playlist set info" , si_ui_statusicon_cb_aud_hook_tchange , si_aud_hook_tchange_prevs ); -+ aud_hook_associate( "title change" , si_ui_statusicon_cb_aud_hook_tchange , si_aud_hook_tchange_prevs ); - - return; - } -@@ -432,7 +493,7 @@ - GtkWidget *si_smenu = g_object_get_data( G_OBJECT(si_applet) , "smenu" ); - si_ui_statusicon_popup_timer_stop( si_applet ); /* just in case the timer is active */ - aud_hook_dissociate( "playback begin" , si_ui_statusicon_cb_aud_hook_pbstart ); -- aud_hook_dissociate( "playlist set info" , si_ui_statusicon_cb_aud_hook_tchange ); -+ aud_hook_dissociate( "title change" , si_ui_statusicon_cb_aud_hook_tchange ); - if ( si_aud_hook_tchange_prevs->title != NULL ) g_free( si_aud_hook_tchange_prevs->title ); - if ( si_aud_hook_tchange_prevs->filename != NULL ) g_free( si_aud_hook_tchange_prevs->filename ); - g_free( si_aud_hook_tchange_prevs ); diff --git a/audacious-plugins-2.2-streambrowser-race.patch b/audacious-plugins-2.2-streambrowser-race.patch deleted file mode 100644 index c7edcb9..0000000 --- a/audacious-plugins-2.2-streambrowser-race.patch +++ /dev/null @@ -1,80 +0,0 @@ -diff -Nur audacious-plugins-2.2-orig/src/streambrowser/gui/streambrowser_win.c audacious-plugins-2.2-streambrowser-race/src/streambrowser/gui/streambrowser_win.c ---- audacious-plugins-2.2-orig/src/streambrowser/gui/streambrowser_win.c 2009-11-22 23:49:53.000000000 +0100 -+++ audacious-plugins-2.2-streambrowser-race/src/streambrowser/gui/streambrowser_win.c 2010-02-04 00:56:19.000000000 +0100 -@@ -44,7 +44,7 @@ - static GtkWidget* add_button; - static GtkWidget* bookmark_button; - static GtkWidget* streambrowser_window; --static GList* streamdir_gui_list; -+static GList* streamdir_gui_list = NULL; - static GtkCellRenderer* cell_renderer_pixbuf; - static GtkCellRenderer* cell_renderer_text; - -diff -Nur audacious-plugins-2.2-orig/src/streambrowser/streambrowser.c audacious-plugins-2.2-streambrowser-race/src/streambrowser/streambrowser.c ---- audacious-plugins-2.2-orig/src/streambrowser/streambrowser.c 2009-11-22 23:49:53.000000000 +0100 -+++ audacious-plugins-2.2-streambrowser-race/src/streambrowser/streambrowser.c 2010-02-04 00:57:25.000000000 +0100 -@@ -474,6 +474,20 @@ - - /* repetitively process the queue elements, until queue is empty */ - while (data != NULL && g_queue_get_length(update_thread_data_queue) > 0) { -+ if (data->streamdir && !streamdir_is_valid(data->streamdir)) { -+ printf("WARNING: Skipping invalidated streambrowser queue element!\n"); -+ g_free(data); -+ g_mutex_lock(update_thread_mutex); -+ /* remove the just processed data from the queue */ -+ g_queue_pop_head(update_thread_data_queue); -+ /* try to get the last item in the queue */ -+ if (g_queue_get_length(update_thread_data_queue) > 0) -+ data = g_queue_peek_head(update_thread_data_queue); -+ else -+ data = NULL; -+ g_mutex_unlock(update_thread_mutex); -+ continue; -+ } - /* update a streaminfo */ - if (data->streaminfo != NULL) { - gdk_threads_enter(); -diff -Nur audacious-plugins-2.2-orig/src/streambrowser/streamdir.c audacious-plugins-2.2-streambrowser-race/src/streambrowser/streamdir.c ---- audacious-plugins-2.2-orig/src/streambrowser/streamdir.c 2009-11-22 23:49:53.000000000 +0100 -+++ audacious-plugins-2.2-streambrowser-race/src/streambrowser/streamdir.c 2010-02-04 00:57:07.000000000 +0100 -@@ -23,13 +23,19 @@ - #include "streambrowser.h" - #include "streamdir.h" - -+static GList *all_streamdirs = NULL; -+ -+gboolean streamdir_is_valid(streamdir_t *streamdir) { -+ return (NULL != g_list_find(all_streamdirs,streamdir)); -+} - - streamdir_t* streamdir_new(gchar *name) - { - streamdir_t *streamdir = (streamdir_t*) g_malloc(sizeof(streamdir_t)); - strncpy(streamdir->name, name, DEF_STRING_LEN); - streamdir->category_list = NULL; -- -+ -+ all_streamdirs = g_list_append(all_streamdirs,streamdir); - return streamdir; - } - -@@ -45,6 +51,8 @@ - - g_list_free(streamdir->category_list); - g_free(streamdir); -+ -+ all_streamdirs = g_list_remove(all_streamdirs,streamdir); - } - - -diff -Nur audacious-plugins-2.2-orig/src/streambrowser/streamdir.h audacious-plugins-2.2-streambrowser-race/src/streambrowser/streamdir.h ---- audacious-plugins-2.2-orig/src/streambrowser/streamdir.h 2009-11-22 23:49:53.000000000 +0100 -+++ audacious-plugins-2.2-streambrowser-race/src/streambrowser/streamdir.h 2010-02-04 00:57:01.000000000 +0100 -@@ -48,6 +48,7 @@ - - } streamdir_t; - -+gboolean streamdir_is_valid(streamdir_t *streamdir); - - streamdir_t* streamdir_new(gchar *name); - void streamdir_delete(streamdir_t *streamdir); diff --git a/audacious-plugins-2.2-streambrowser-url-add.patch b/audacious-plugins-2.2-streambrowser-url-add.patch deleted file mode 100644 index 079c03b..0000000 --- a/audacious-plugins-2.2-streambrowser-url-add.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff -Nur audacious-plugins-2.2-tmp-vuln/src/streambrowser/streambrowser.c audacious-plugins-2.2-streambrowser-url-add/src/streambrowser/streambrowser.c ---- audacious-plugins-2.2-tmp-vuln/src/streambrowser/streambrowser.c 2010-02-06 19:35:33.000000000 +0100 -+++ audacious-plugins-2.2-streambrowser-url-add/src/streambrowser/streambrowser.c 2010-02-06 20:16:05.000000000 +0100 -@@ -629,7 +629,7 @@ - } - - if (strlen(streaminfo->url) > 0) { -- aud_playlist_insert_playlist(aud_playlist_get_active(), entrycount, streaminfo->url); -+ aud_playlist_entry_insert(aud_playlist_get_active(), entrycount, g_strdup(streaminfo->url), NULL); - debug("stream '%s' added\n", streaminfo->url); - } - diff --git a/audacious-plugins-2.2-svis_expose.patch b/audacious-plugins-2.2-svis_expose.patch deleted file mode 100644 index 8ddd378..0000000 --- a/audacious-plugins-2.2-svis_expose.patch +++ /dev/null @@ -1,21 +0,0 @@ -diff -Nur audacious-plugins-2.2-orig/src/skins/ui_svis.c audacious-plugins-2.2-551801/src/skins/ui_svis.c ---- audacious-plugins-2.2-orig/src/skins/ui_svis.c 2009-11-22 23:49:53.000000000 +0100 -+++ audacious-plugins-2.2-551801/src/skins/ui_svis.c 2010-01-02 14:58:56.146988246 +0100 -@@ -354,7 +354,7 @@ - for(x=0;x< SVIS_WIDTH; x++){ - if(svis->data[x] > y << 1) - { -- ptr = rgb_data + x * 6 + (SVIS_HEIGHT * 2 - y * 2) * SVIS_WIDTH *2; -+ ptr = rgb_data + x * 6 + (SVIS_HEIGHT-y) * SVIS_WIDTH *2; - DRAW_DS_PIXEL(ptr, 23); - DRAW_DS_PIXEL(ptr + 2, 23); - } -@@ -364,7 +364,7 @@ - for(x=0;x< SVIS_WIDTH; x++){ - if(svis->data[x] > y << 1) - { -- ptr = rgb_data + x * 2 + (SVIS_HEIGHT * 2 - y * 2) * SVIS_WIDTH * 2; -+ ptr = rgb_data + x * 2 + (SVIS_HEIGHT-y) * SVIS_WIDTH * 2; - DRAW_DS_PIXEL(ptr, 23); - } - } diff --git a/audacious-plugins-2.2-tmp-vuln.patch b/audacious-plugins-2.2-tmp-vuln.patch deleted file mode 100644 index ef08586..0000000 --- a/audacious-plugins-2.2-tmp-vuln.patch +++ /dev/null @@ -1,114 +0,0 @@ -diff -Nur audacious-plugins-2.2-orig/src/streambrowser/streambrowser.c audacious-plugins-2.2-tmp-vuln/src/streambrowser/streambrowser.c ---- audacious-plugins-2.2-orig/src/streambrowser/streambrowser.c 2009-11-22 23:49:53.000000000 +0100 -+++ audacious-plugins-2.2-tmp-vuln/src/streambrowser/streambrowser.c 2010-02-06 19:35:33.000000000 +0100 -@@ -611,16 +611,20 @@ - { - gint playlist = aud_playlist_get_active(); - gint entrycount = aud_playlist_entry_count(playlist); -+ gchar * unix_name = g_build_filename (audacious_get_localdir (), -+ PLAYLIST_TEMP_FILE, NULL); -+ gchar * uri_name = g_filename_to_uri (unix_name, NULL, NULL); - - if (strlen(streaminfo->playlist_url) > 0) { - debug("fetching stream playlist for station '%s' from '%s'\n", streaminfo->name, streaminfo->playlist_url); -- if (!fetch_remote_to_local_file(streaminfo->playlist_url, PLAYLIST_TEMP_FILE)) { -- failure("shoutcast: stream playlist '%s' could not be downloaded to '%s'\n", streaminfo->playlist_url, PLAYLIST_TEMP_FILE); -- return; -+ if (!fetch_remote_to_local_file(streaminfo->playlist_url, uri_name)) { -+ failure ("shoutcast: stream playlist '%s' could not be downloaded " -+ "to '%s'\n", streaminfo->playlist_url, uri_name); -+ goto DONE; - } -- debug("stream playlist '%s' successfuly downloaded to '%s'\n", streaminfo->playlist_url, PLAYLIST_TEMP_FILE); -+ debug("stream playlist '%s' successfuly downloaded to '%s'\n", streaminfo->playlist_url, uri_name); - -- aud_playlist_insert_playlist(aud_playlist_get_active(), entrycount, PLAYLIST_TEMP_FILE); -+ aud_playlist_insert_playlist(aud_playlist_get_active(), entrycount, uri_name); - debug("stream playlist '%s' added\n", streaminfo->playlist_url); - } - -@@ -628,6 +632,10 @@ - aud_playlist_insert_playlist(aud_playlist_get_active(), entrycount, streaminfo->url); - debug("stream '%s' added\n", streaminfo->url); - } -+ -+DONE: -+ g_free (unix_name); -+ g_free (uri_name); - } - - static void on_plugin_services_menu_item_click() -diff -Nur audacious-plugins-2.2-orig/src/streambrowser/streambrowser.h audacious-plugins-2.2-tmp-vuln/src/streambrowser/streambrowser.h ---- audacious-plugins-2.2-orig/src/streambrowser/streambrowser.h 2009-11-22 23:49:53.000000000 +0100 -+++ audacious-plugins-2.2-tmp-vuln/src/streambrowser/streambrowser.h 2010-02-06 19:29:11.000000000 +0100 -@@ -23,7 +23,7 @@ - #define DEF_STRING_LEN 1024 - #define DEF_BUFFER_SIZE 512 - #define MAX_UPDATE_THREADS 4 --#define PLAYLIST_TEMP_FILE "file:///tmp/playlist.pls" -+#define PLAYLIST_TEMP_FILE "streambrowser-playlist-temp.pls" - #define STREAMBROWSER_ICON_SMALL DATA_DIR G_DIR_SEPARATOR_S "images" G_DIR_SEPARATOR_S "streambrowser-16x16.png" - #define STREAMBROWSER_ICON DATA_DIR G_DIR_SEPARATOR_S "images" G_DIR_SEPARATOR_S "streambrowser-64x64.png" - -diff -Nur audacious-plugins-2.2-orig/src/streambrowser/xiph.c audacious-plugins-2.2-tmp-vuln/src/streambrowser/xiph.c ---- audacious-plugins-2.2-orig/src/streambrowser/xiph.c 2009-11-22 23:49:53.000000000 +0100 -+++ audacious-plugins-2.2-tmp-vuln/src/streambrowser/xiph.c 2010-02-06 19:37:53.000000000 +0100 -@@ -162,6 +162,10 @@ - - static void refresh_streamdir(void) - { -+ gchar * unix_name = g_build_filename (audacious_get_localdir (), -+ XIPH_TEMP_FILENAME, NULL); -+ gchar * uri_name = g_filename_to_uri (unix_name, NULL, NULL); -+ - /* free any previously fetched streamdir data */ - if (xiph_entries != NULL) { - free(xiph_entries); -@@ -170,16 +174,18 @@ - xiph_entry_count = 0; - - debug("xiph: fetching streaming directory file '%s'\n", XIPH_STREAMDIR_URL); -- if (!fetch_remote_to_local_file(XIPH_STREAMDIR_URL, XIPH_TEMP_FILENAME)) { -- failure("xiph: stream directory file '%s' could not be downloaded to '%s'\n", XIPH_STREAMDIR_URL, XIPH_TEMP_FILENAME); -- return; -+ -+ if (! fetch_remote_to_local_file (XIPH_STREAMDIR_URL, uri_name)) { -+ failure ("xiph: stream directory file '%s' could not be downloaded to " -+ "'%s'\n", XIPH_STREAMDIR_URL, uri_name); -+ goto DONE; - } -- debug("xiph: stream directory file '%s' successfuly downloaded to '%s'\n", XIPH_STREAMDIR_URL, XIPH_TEMP_FILENAME); -+ debug("xiph: stream directory file '%s' successfuly downloaded to '%s'\n", XIPH_STREAMDIR_URL, uri_name); - -- xmlDoc *doc = xmlReadFile(XIPH_TEMP_FILENAME, NULL, 0); -+ xmlDoc *doc = xmlReadFile(uri_name, NULL, 0); - if (doc == NULL) { - failure("xiph: failed to read stream directory file\n"); -- return; -+ goto DONE; - } - - xmlNode *root_node = xmlDocGetRootElement(doc); -@@ -222,6 +228,10 @@ - xmlFreeDoc(doc); - - debug("xiph: streaming directory successfuly loaded\n"); -+ -+DONE: -+ g_free (unix_name); -+ g_free (uri_name); - } - - static gboolean genre_match(gchar *string1, gchar *string2) -diff -Nur audacious-plugins-2.2-orig/src/streambrowser/xiph.h audacious-plugins-2.2-tmp-vuln/src/streambrowser/xiph.h ---- audacious-plugins-2.2-orig/src/streambrowser/xiph.h 2009-11-22 23:49:53.000000000 +0100 -+++ audacious-plugins-2.2-tmp-vuln/src/streambrowser/xiph.h 2010-02-06 19:29:26.000000000 +0100 -@@ -26,7 +26,7 @@ - #define XIPH_NAME "Xiph" - #define XIPH_ICON DATA_DIR G_DIR_SEPARATOR_S "images" G_DIR_SEPARATOR_S "xiph.png" - #define XIPH_STREAMDIR_URL "http://dir.xiph.org/yp.xml" --#define XIPH_TEMP_FILENAME "file:///tmp/xiph_yp.xml" -+#define XIPH_TEMP_FILENAME "streambrowser-xiph-temp.xml" - - - gboolean xiph_streaminfo_fetch(category_t *category, streaminfo_t *streaminfo); diff --git a/audacious-plugins-2.2-ui_vis.patch b/audacious-plugins-2.2-ui_vis.patch deleted file mode 100644 index 5324fbf..0000000 --- a/audacious-plugins-2.2-ui_vis.patch +++ /dev/null @@ -1,135 +0,0 @@ -diff -Nur audacious-plugins-2.2-orig/src/skins/ui_vis.c audacious-plugins-2.2-ui_vis/src/skins/ui_vis.c ---- audacious-plugins-2.2-orig/src/skins/ui_vis.c 2009-11-22 23:49:53.000000000 +0100 -+++ audacious-plugins-2.2-ui_vis/src/skins/ui_vis.c 2010-03-19 19:13:13.000000000 +0100 -@@ -292,7 +292,7 @@ - else{ - memset(rgb_data, 0, (guint)(76 * config.scale_factor) * 32); - for (y = 1; y < 16; y += 2) { -- ptr = rgb_data + (y * (guint)(76 * 4 * config.scale_factor)); -+ ptr = rgb_data + (y * (guint)(76 * 2 * config.scale_factor)); - for (x = 0; x < 76; x += 2, ptr += 4) { - *ptr = 1; - *(ptr + 1) = 1; -@@ -328,10 +328,10 @@ - } - } - else{ -- ptr = rgb_data + ((16 - h) * (guint)(76 * 4 * config.scale_factor)) + (guint)(x * config.scale_factor); -+ ptr = rgb_data + ((16 - h) * (guint)(76 * 2 * config.scale_factor)) + (guint)(x * config.scale_factor); - switch (config.analyzer_mode) { - case ANALYZER_NORMAL: -- for (y = 0; y < h; y++, ptr += (guint)(76 * 4 * config.scale_factor)) { -+ for (y = 0; y < h; y++, ptr += (guint)(76 * 2 * config.scale_factor)) { - *ptr = 18 - h + y; - *(ptr + 1) = 18 - h + y; - *(ptr + (guint)(76 * config.scale_factor)) = 18 - h + y; -@@ -339,7 +339,7 @@ - } - break; - case ANALYZER_FIRE: -- for (y = 0; y < h; y++, ptr += (guint)(76 * 4 * config.scale_factor)) { -+ for (y = 0; y < h; y++, ptr += (guint)(76 * 2 * config.scale_factor)) { - *ptr = y + 2; - *(ptr + 1) = y + 2; - *(ptr + (guint)(76 * config.scale_factor)) = y + 2; -@@ -347,7 +347,7 @@ - } - break; - case ANALYZER_VLINES: -- for (y = 0; y < h; y++, ptr += (guint)(76 * 4 * config.scale_factor)) { -+ for (y = 0; y < h; y++, ptr += (guint)(76 * 2 * config.scale_factor)) { - *ptr = 18 - h; - *(ptr + 1) = 18 - h; - *(ptr + (guint)(76 * config.scale_factor)) = 18 - h; -@@ -371,7 +371,7 @@ - rgb_data[(16 - h) * 76 + x] = 23; - } - else{ -- ptr = rgb_data + (16 - h) * (guint)(76 * 4 * config.scale_factor) + (guint)(x * config.scale_factor); -+ ptr = rgb_data + (16 - h) * (guint)(76 * 2 * config.scale_factor) + (guint)(x * config.scale_factor); - *ptr = 23; - *(ptr + 1) = 23; - *(ptr + (guint)(76 * config.scale_factor)) = 23; -@@ -445,13 +445,13 @@ - rgb_data[x * 3 + y * 76*3+n] = voice_c[n]; - } - else{ -- ptr = rgb_data + (guint)(x * 3 * config.scale_factor) + (guint) (y * 76 * 3 * config.scale_factor); -- for(n=0;n<3;n++) -- { -- *(ptr + n) = voice_c[n]; -- *(ptr + n + 3) = voice_c[n]; -- *(ptr + (guint)(n + 76 * config.scale_factor * 3)) = voice_c[n]; -- *(ptr + (guint)(n + 3 + 76 * config.scale_factor * 3)) = voice_c[n]; -+ ptr = rgb_data + x * 3 * (guint)config.scale_factor + y * 76 * 3 * 2 * (guint)config.scale_factor; -+ for(n=0;n<3;n++) -+ { -+ *(ptr + n) = voice_c[n]; -+ *(ptr + n + 3) = voice_c[n]; -+ *(ptr + (n + 76 * 3 * (guint)config.scale_factor)) = voice_c[n]; -+ *(ptr + (n + 3 + 76 * 3 * (guint)config.scale_factor)) = voice_c[n]; - } - } - } -@@ -465,13 +465,13 @@ - h = vis->data[x]; - if (!vis->scaled) { - ptr = rgb_data + ((14 - h) * 76) + x; -- *ptr = vis_scope_colors[h + 1]; -+ *ptr = vis_scope_colors[h]; - }else{ -- ptr = rgb_data + ((14 - h) * (guint)(76 * 4 * config.scale_factor)) + (guint)(x * config.scale_factor); -- *ptr = vis_scope_colors[h + 1]; -- *(ptr + 1) = vis_scope_colors[h + 1]; -- *(ptr + (guint)(76 * config.scale_factor)) = vis_scope_colors[h + 1]; -- *(ptr + (guint)(76 * config.scale_factor)+1) = vis_scope_colors[h + 1]; -+ ptr = rgb_data + ((14 - h) * (guint)(76 * 2 * config.scale_factor)) + (guint)(x * config.scale_factor); -+ *ptr = vis_scope_colors[h]; -+ *(ptr + 1) = vis_scope_colors[h]; -+ *(ptr + (guint)(76 * config.scale_factor)) = vis_scope_colors[h]; -+ *(ptr + (guint)(76 * config.scale_factor)+1) = vis_scope_colors[h]; - } - break; - case SCOPE_LINE: -@@ -489,8 +489,8 @@ - *ptr = vis_scope_colors[y - 2]; - } - else{ -- ptr = rgb_data + (h * (guint)(76 * 4 * config.scale_factor)) + (guint)(x * config.scale_factor); -- for (y = h; y <= h2; y++, ptr += (guint)(76 * 4 * config.scale_factor)) { -+ ptr = rgb_data + (h * (guint)(76 * 2 * config.scale_factor)) + (guint)(x * config.scale_factor); -+ for (y = h; y <= h2; y++, ptr += (guint)(76 * 2 * config.scale_factor)) { - *ptr = vis_scope_colors[y - 2]; - *(ptr + 1) = vis_scope_colors[y - 2]; - *(ptr + (guint)(76 * config.scale_factor)) = vis_scope_colors[y - 2]; -@@ -502,13 +502,13 @@ - h = 14 - vis->data[x]; - if (!vis->scaled) { - ptr = rgb_data + (h * 76) + x; -- *ptr = vis_scope_colors[h + 1]; -+ *ptr = vis_scope_colors[h]; - }else{ -- ptr = rgb_data + (h * (guint)(76 * 4 * config.scale_factor)) + (guint)(x * config.scale_factor); -- *ptr = vis_scope_colors[h + 1]; -- *(ptr + 1) = vis_scope_colors[h + 1]; -- *(ptr + (guint)(76 * config.scale_factor)) = vis_scope_colors[h + 1]; -- *(ptr + (guint)(76 * config.scale_factor)+1) = vis_scope_colors[h + 1]; -+ ptr = rgb_data + (h * (guint)(76 * 2 * config.scale_factor)) + (guint)(x * config.scale_factor); -+ *ptr = vis_scope_colors[h]; -+ *(ptr + 1) = vis_scope_colors[h]; -+ *(ptr + (guint)(76 * config.scale_factor)) = vis_scope_colors[h]; -+ *(ptr + (guint)(76 * config.scale_factor)+1) = vis_scope_colors[h]; - } - } - break; -@@ -526,8 +526,8 @@ - for (y = h; y <= h2; y++, ptr += 76) - *ptr = c; - }else{ -- ptr = rgb_data + (h * (guint)(76 * 4 * config.scale_factor)) + (guint)(x * config.scale_factor); -- for (y = h; y <= h2; y++, ptr += (guint)(76 * 4 * config.scale_factor)) { -+ ptr = rgb_data + (h * (guint)(76 * 2 * config.scale_factor)) + (guint)(x * config.scale_factor); -+ for (y = h; y <= h2; y++, ptr += (guint)(76 * 2 * config.scale_factor)) { - *ptr = c; - *(ptr + 1) = c; - *(ptr + (guint)(76 * config.scale_factor)) = c; diff --git a/audacious-plugins-2.2-xspf-base.patch b/audacious-plugins-2.2-xspf-base.patch deleted file mode 100644 index 6c59870..0000000 --- a/audacious-plugins-2.2-xspf-base.patch +++ /dev/null @@ -1,14 +0,0 @@ -diff -Nur audacious-plugins-2.2-orig/src/xspf/xspf.c audacious-plugins-2.2-xspf/src/xspf/xspf.c ---- audacious-plugins-2.2-orig/src/xspf/xspf.c 2009-11-22 23:49:54.000000000 +0100 -+++ audacious-plugins-2.2-xspf/src/xspf/xspf.c 2009-12-31 14:33:33.000000000 +0100 -@@ -106,8 +106,8 @@ - if (!xmlStrcmp(nptr->name, (xmlChar *)"location")) { - /* Location is a special case */ - gchar *str = (gchar *)xmlNodeGetContent(nptr); -- if (!strstr(str, "://") && base) -- location = g_strdup_printf("%s/%s", base, str); -+ if (!strstr(str, "://") && base && str[0]!='/') -+ location = g_strdup_printf("file://%s/%s", base, str); - else - location = g_strdup(str); - xmlFree(str); diff --git a/audacious-plugins-2.4-libdir.patch b/audacious-plugins-2.4-libdir.patch new file mode 100644 index 0000000..f8fb2fc --- /dev/null +++ b/audacious-plugins-2.4-libdir.patch @@ -0,0 +1,14 @@ +diff -Nur audacious-plugins-2.4-alpha1-orig/src/ladspa/ladspa.c audacious-plugins-2.4-alpha1/src/ladspa/ladspa.c +--- audacious-plugins-2.4-alpha1-orig/src/ladspa/ladspa.c 2010-06-08 16:00:01.000000000 +0200 ++++ audacious-plugins-2.4-alpha1/src/ladspa/ladspa.c 2010-06-11 19:48:21.000000000 +0200 +@@ -224,8 +224,8 @@ + if (ladspa_path == NULL) + { + /* Fallback, look in obvious places */ +- find_plugins("/usr/lib/ladspa"); +- find_plugins("/usr/local/lib/ladspa"); ++ find_plugins("__RPM_LIBDIR__/ladspa"); ++ find_plugins("/usr/local/__RPM_LIB__/ladspa"); + } + else + { diff --git a/audacious-plugins-2.4-neon-session-destroy.patch b/audacious-plugins-2.4-neon-session-destroy.patch new file mode 100644 index 0000000..3d42213 --- /dev/null +++ b/audacious-plugins-2.4-neon-session-destroy.patch @@ -0,0 +1,42 @@ +It's just bad to de-couple state and NULL ptrs. + +diff -Nur audacious-plugins-2.4-alpha1-orig/src/neon/neon.c audacious-plugins-2.4-alpha1/src/neon/neon.c +--- audacious-plugins-2.4-alpha1-orig/src/neon/neon.c 2010-06-08 16:00:01.000000000 +0200 ++++ audacious-plugins-2.4-alpha1/src/neon/neon.c 2010-06-11 20:07:22.000000000 +0200 +@@ -702,11 +702,13 @@ + return 0; + } else if (-1 == ret) { + ne_session_destroy(handle->session); ++ handle->session = NULL; + return -1; + } + + _DEBUG("<%p> Following redirect...", handle); + ne_session_destroy(handle->session); ++ handle->session = NULL; + } + + /* +@@ -878,7 +880,9 @@ + } + + _DEBUG("<%p> Destroying session", h); +- ne_session_destroy(h->session); ++ if (NULL != h->session) { ++ ne_session_destroy(h->session); ++ } + + handle_free(h); + +@@ -1270,7 +1274,10 @@ + if (NULL != h->request) { + ne_request_destroy(h->request); + } +- ne_session_destroy(h->session); ++ if (NULL != h->session) { ++ ne_session_destroy(h->session); ++ h->session = NULL; ++ } + reset_rb(&h->rb); + + if (0 != open_handle(h, newpos)) { diff --git a/audacious-plugins-2.4-projectm-includes.patch b/audacious-plugins-2.4-projectm-includes.patch new file mode 100644 index 0000000..4bcdb9f --- /dev/null +++ b/audacious-plugins-2.4-projectm-includes.patch @@ -0,0 +1,11 @@ +diff -Nur audacious-plugins-fedora-2.4-alpha1-orig/src/projectm-1.0/gtk_projectm_impl.cxx audacious-plugins-fedora-2.4-alpha1/src/projectm-1.0/gtk_projectm_impl.cxx +--- audacious-plugins-fedora-2.4-alpha1-orig/src/projectm-1.0/gtk_projectm_impl.cxx 2010-06-08 16:00:01.000000000 +0200 ++++ audacious-plugins-fedora-2.4-alpha1/src/projectm-1.0/gtk_projectm_impl.cxx 2010-06-11 20:33:56.000000000 +0200 +@@ -13,6 +13,7 @@ + #include + #include + #include ++#include + #include + #include + diff --git a/audacious-plugins.spec b/audacious-plugins.spec index 231c2bf..ceb682e 100644 --- a/audacious-plugins.spec +++ b/audacious-plugins.spec @@ -1,82 +1,46 @@ # Minimum audacious/audacious-plugins version in inter-package # dependencies. -# We need 2.2 as 2.1 is insufficient. -%define aud_ver 2.2 +# We need 2.4 as 2.2 is insufficient. +%define aud_ver 2.4 Name: audacious-plugins -Version: 2.2 -Release: 34%{?dist} +Version: 2.4 +Release: 0.1.alpha1%{?dist} Summary: Plugins for the Audacious media player Group: Applications/Multimedia URL: http://audacious-media-player.org/ # LGPLv2+: adplug, bio2jack, rocklight # MIT: crystalizer, dockalbumart -# BSD: lastfm -License: GPLv2 and GPLv2+ and LGPLv2+ and MIT and BSD and GPLv3 +# BSD: scrobbler/lastfm (removed pre-2.4-alpha1) +License: GPLv2 and GPLv2+ and LGPLv2+ and MIT and GPLv3 # Modified source tarball to remove problematic files. -# Removed: aac madplug +# Removed: aac # Disabled via options where possible, see %%build. -Source0: audacious-plugins-fedora-%{version}.tar.bz2 -#Source0: http://distfiles.atheme.org/audacious-plugins-%{version}.tgz +Source0: audacious-plugins-fedora-%{version}-alpha1.tar.bz2 +#Source0: http://distfiles.atheme.org/audacious-plugins-%{version}-alpha1.tgz Source1: audacious-sid.desktop Patch0: audacious-plugins-2.0.1-xmms-skindir.patch -# obsolete with version upgrade: declaration conflict for jack_free -Patch1: audacious-plugins-2.2-jack.patch -# merged upstream -Patch2: audacious-plugins-2.2-neon-request.patch -# merged upstream -Patch3: audacious-plugins-2.2-cfg_db_close.patch -# merged upstream -Patch4: audacious-plugins-2.2-bluetooth.patch -# merged upstream -Patch5: audacious-plugins-2.2-alarm.patch -# obsolete with version upgrade (AUDPLUG-159), but recheck that XMP's plugin -# no longer manages to insert non-URI filenames into the playlist -Patch6: audacious-plugins-2.2-xspf-base.patch -# merged upstream (AUDPLUG-160) -Patch7: audacious-plugins-2.2-svis_expose.patch -# -Patch8: audacious-plugins-2.2-neon-session-destroy.patch -# obsolete with version upgrade -Patch9: audacious-plugins-2.2-adplug-fclose.patch -# -Patch10: audacious-plugins-2.2-adplug-lds.patch -# reported upstream (AUDPLUG-180), as a rewrite of the plugin -# would be better -Patch11: audacious-plugins-2.2-streambrowser-race.patch -# huh? AUDPLUG-161 / bz561635 -# plus: hardcoded libdir replacement -# plus: fix dialogs (merged upstream) -Patch12: audacious-plugins-2.2-ladspa.patch -# merged upstream (request destroy+NULL only, the important half) -Patch13: audacious-plugins-2.2-neon-error-handling.patch -# revised version merged upstream -Patch14: audacious-plugins-2.2-tmp-vuln.patch -# -Patch15: audacious-plugins-2.2-streambrowser-url-add.patch -# -Patch16: audacious-plugins-2.2-scrobbler.patch -# merged upstream with additional patch for 2.3: AUDPLUG-170 -Patch17: audacious-plugins-2.2-status.patch -# merged upstream -Patch18: audacious-plugins-2.2-no-adplugdb.patch -# is this even possible? bz 573075 -Patch19: audacious-plugins-2.2-playlist-font-safety.patch +# fix hardcoded libdir replacement +Patch1: audacious-plugins-2.4-libdir.patch +# additional safety not merged upstream with neon patches +Patch2: audacious-plugins-2.4-neon-session-destroy.patch +# submitted: AUDPLUG-237 +Patch3: audacious-plugins-2.2-adplug-lds.patch # div-by-zero with almost empty MIDI file, bz 573851 -# backend module load + get_song_tuple: fixed upstream -Patch20: audacious-plugins-2.2-amidi.patch -# merged upstream - Visualization Mode issues, fixed while looking at bz 575093 -Patch21: audacious-plugins-2.2-ui_vis.patch -# obsolete with version upgrade -Patch22: audacious-plugins-2.2-g_markup.patch -# obsolete with version upgrade -Patch23: audacious-plugins-2.2-delete-ui-state_cb.patch +# submitted: AUDPLUG-238 +# modified patch file vs. F-13 +Patch4: audacious-plugins-2.2-amidi.patch +# submitted upstream +Patch5: audacious-plugins-2.4-projectm-includes.patch BuildRequires: audacious-devel >= %{aud_ver} -BuildRequires: jack-audio-connection-kit-devel libsamplerate-devel +BuildRequires: gettext +BuildRequires: desktop-file-utils +BuildRequires: jack-audio-connection-kit-devel +BuildRequires: libsamplerate-devel BuildRequires: alsa-lib-devel BuildRequires: pulseaudio-libs-devel BuildRequires: esound-devel @@ -86,20 +50,17 @@ BuildRequires: libsidplay-devel BuildRequires: libogg-devel libvorbis-devel BuildRequires: flac-devel BuildRequires: fluidsynth-devel -BuildRequires: libshout-devel -BuildRequires: curl-devel BuildRequires: libbinio-devel BuildRequires: libcdio-devel BuildRequires: libcue-devel BuildRequires: SDL-devel BuildRequires: lirc-devel BuildRequires: bluez-libs-devel -BuildRequires: libXcomposite-devel BuildRequires: libcddb-devel BuildRequires: libmtp-devel BuildRequires: libxml2-devel -BuildRequires: gettext -BuildRequires: desktop-file-utils +BuildRequires: libprojectM-devel gtkglext-devel +BuildRequires: libbs2b-devel # experimental, disabled by default BuildRequires: neon-devel @@ -107,19 +68,22 @@ BuildRequires: neon-devel Requires: audacious >= %{aud_ver} # temporarily till that upgrade is marked stable -Requires: alsa-lib >= 1.0.22 +# Available: F11 updates, F12 updates +#Requires: alsa-lib >= 1.0.22 -# last in 1.5.1 +# last in 1.5.1, tagged dist-f11-updates Obsoletes: audacious-plugins-arts -# last tagged f8-final -Obsoletes: audacious-plugins-pulseaudio <= 1.3.5 -Provides: audacious-plugins-pulseaudio = %{version} - +# last tagged dist-f12-updates # obsolete old subpackage -- no reason to split this off Obsoletes: audacious-plugins-metronome < 2.2-2 Provides: audacious-plugins-metronome = %{version}-%{release} +# last tagged dist-f13-updates +# obsolete old subpackage -- no reason to split this off +Obsoletes: audacious-plugins-wavpack < 2.4 +Provides: audacious-plugins-wavpack = %{version}-%{release} + %description Audacious is a media player that currently uses a skinned user interface @@ -134,8 +98,6 @@ visualization. %package jack Summary: Audacious output plugin for Jack Audio Connection Kit Group: Applications/Multimedia -# ancient -#Obsoletes: audacious-jack <= 1.1.2 Requires: audacious >= %{aud_ver}, audacious-plugins >= %{aud_ver} %description jack @@ -146,8 +108,6 @@ Jack Audio Connection Kit (JACK) sound service. %package esd Summary: Audacious output plugin for EsounD service Group: Applications/Multimedia -# ancient -#Obsoletes: audacious-esd <= 1.1.2 Requires: audacious >= %{aud_ver}, audacious-plugins >= %{aud_ver} %description esd @@ -179,16 +139,6 @@ This build of the plugin uses libsidplay 1. 3rd party package providers may build it with libsidplay 2. -%package wavpack -Summary: Audacious input plugin for WavPack compressed files -Group: Applications/Multimedia -Requires: audacious >= %{aud_ver}, audacious-plugins >= %{aud_ver} - -%description wavpack -This package provides an Audacious input plugin that reads WavPack -compressed files. - - %package vortex Summary: Audacious input plugin for Vortex format files Group: Applications/Multimedia @@ -201,31 +151,13 @@ in Vortex (.vtx) format. %prep -%setup -q -n audacious-plugins-fedora-%{version} +%setup -q -n audacious-plugins-fedora-%{version}-alpha1 %patch0 -p1 -b .xmms-skindir -%patch1 -p1 -b .jack -%patch2 -p1 -b .neon-request -%patch3 -p1 -b .cfg_db_close -%patch4 -p1 -b .bluetooth -%patch5 -p1 -b .alarm -%patch6 -p1 -b .xspf -%patch7 -p1 -b .svis_expose -%patch8 -p1 -b .neon-session-destroy -%patch9 -p1 -b .adplug-fclose -%patch10 -p1 -b .lds-out-of-bounds -%patch11 -p1 -b .streambrowser-race -%patch12 -p1 -b .ladspa -%patch13 -p1 -b .neon-error-handling -%patch14 -p1 -b .tmp-vuln -%patch15 -p1 -b .streambrowser-url-add -%patch16 -p1 -b .scrobbler -%patch17 -p1 -b .status -%patch18 -p1 -b .no-adplugdb -%patch19 -p1 -b .playlist-font-safety -%patch20 -p1 -b .amidi -%patch21 -p1 -b .ui_vis -%patch22 -p1 -b .g_markup -%patch23 -p1 -b .delete-ui-state_cb +%patch1 -p1 -b .libdir +%patch2 -p1 -b .neon-session-destroy +%patch3 -p1 -b .lds-out-of-bounds +%patch4 -p1 -b .amidi +%patch5 -p1 -b .projectm-includes for i in src/ladspa/ladspa.c do @@ -248,7 +180,6 @@ sed -i '\,^.SILENT:,d' buildsys.mk.in --disable-ffaudio \ --disable-mp3 \ --disable-mms \ - --disable-libmadtest \ \ --disable-oss \ --disable-projectm \ @@ -291,7 +222,6 @@ update-desktop-database &> /dev/null || : %{_libdir}/audacious/Transport/ %exclude %{_libdir}/audacious/Input/amidi-plug.so %exclude %{_libdir}/audacious/Input/amidi-plug/ -%exclude %{_libdir}/audacious/Input/wavpack.so %exclude %{_libdir}/audacious/Input/sid.so %exclude %{_libdir}/audacious/Input/vtx.so %exclude %{_libdir}/audacious/Output/jackout.so @@ -316,16 +246,23 @@ update-desktop-database &> /dev/null || : %{_libdir}/audacious/Input/sid.so %{_datadir}/applications/audacious-sid.desktop -%files wavpack -%defattr(-,root,root,-) -%{_libdir}/audacious/Input/wavpack.so - %files vortex %defattr(-,root,root,-) %{_libdir}/audacious/Input/vtx.so %changelog +* Wed Jun 9 2010 Michael Schwendt - 2.4-0.1.alpha1 +- No longer available: + * scrobbler/last.fm plugin (AUDPLUG-179) + * icecast plugin (AUDPLUG-156) +- Add BR libprojectM-devel, gtkglext-devel, libbs2b-devel +- Merge WavPack plugin into base -plugins package. +- Remove obsolete --disable-libmadtest configure option. +- Remove Provides/Obsoletes for old audacious-plugins-pulseaudio package, + which were last in Fedora 8. +- Upgrade to 2.4 alpha1. + * Mon Jun 7 2010 Michael Schwendt - 2.2-34 - Don't register window-state-event callback as this makes KDE hang when turning on sticky view mode (#601233) (AUDPLUG-178). diff --git a/sources b/sources index 59bb77c..1869835 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -6ac5463ae9b58055077c2c63583fb1fe audacious-plugins-fedora-2.2.tar.bz2 +5332c05306584b958dc004831b490273 audacious-plugins-fedora-2.4-alpha1.tar.bz2