xmms: openEuler init
This commit is contained in:
commit
598c462af0
72
xmms-1.2.10-configfile-safe-write.patch
Normal file
72
xmms-1.2.10-configfile-safe-write.patch
Normal file
@ -0,0 +1,72 @@
|
|||||||
|
--- xmms-1.2.10/libxmms/configfile.c.bak 2003-05-20 00:22:07.000000000 +0300
|
||||||
|
+++ xmms-1.2.10/libxmms/configfile.c 2006-12-30 15:08:31.045540619 +0200
|
||||||
|
@@ -123,12 +123,27 @@ gboolean xmms_cfg_write_file(ConfigFile
|
||||||
|
GList *section_list, *line_list;
|
||||||
|
ConfigSection *section;
|
||||||
|
ConfigLine *line;
|
||||||
|
+ gchar *tmpfn;
|
||||||
|
+ int tmpfnfd;
|
||||||
|
|
||||||
|
g_return_val_if_fail(cfg != NULL, FALSE);
|
||||||
|
g_return_val_if_fail(filename != NULL, FALSE);
|
||||||
|
|
||||||
|
- if (!(file = fopen(filename, "w")))
|
||||||
|
+ tmpfn = g_strconcat(filename, ".XXXXXX", NULL);
|
||||||
|
+ if (!tmpfn)
|
||||||
|
return FALSE;
|
||||||
|
+ tmpfnfd = mkstemp(tmpfn);
|
||||||
|
+ if (tmpfnfd == -1) {
|
||||||
|
+ free (tmpfn);
|
||||||
|
+ return FALSE;
|
||||||
|
+ }
|
||||||
|
+ file = fdopen(tmpfnfd, "w");
|
||||||
|
+ if (!file) {
|
||||||
|
+ unlink (tmpfn);
|
||||||
|
+ g_free (tmpfn);
|
||||||
|
+ close (tmpfnfd);
|
||||||
|
+ return FALSE;
|
||||||
|
+ }
|
||||||
|
|
||||||
|
section_list = cfg->sections;
|
||||||
|
while (section_list)
|
||||||
|
@@ -136,20 +151,36 @@ gboolean xmms_cfg_write_file(ConfigFile
|
||||||
|
section = (ConfigSection *) section_list->data;
|
||||||
|
if (section->lines)
|
||||||
|
{
|
||||||
|
- fprintf(file, "[%s]\n", section->name);
|
||||||
|
+ if (fprintf(file, "[%s]\n", section->name) < 0)
|
||||||
|
+ goto err;
|
||||||
|
line_list = section->lines;
|
||||||
|
while (line_list)
|
||||||
|
{
|
||||||
|
line = (ConfigLine *) line_list->data;
|
||||||
|
- fprintf(file, "%s=%s\n", line->key, line->value);
|
||||||
|
+ if (fprintf(file, "%s=%s\n", line->key, line->value) < 0)
|
||||||
|
+ goto err;
|
||||||
|
line_list = g_list_next(line_list);
|
||||||
|
}
|
||||||
|
- fprintf(file, "\n");
|
||||||
|
+ if (fprintf(file, "\n") < 0)
|
||||||
|
+ goto err;
|
||||||
|
}
|
||||||
|
section_list = g_list_next(section_list);
|
||||||
|
}
|
||||||
|
- fclose(file);
|
||||||
|
+ if (fflush (file) == EOF)
|
||||||
|
+ goto err;
|
||||||
|
+ if (fsync (tmpfnfd) == -1) /* dir not synced */
|
||||||
|
+ goto err;
|
||||||
|
+ if (fclose(file) == EOF)
|
||||||
|
+ goto err;
|
||||||
|
+ if (rename (tmpfn, filename) == -1)
|
||||||
|
+ goto err;
|
||||||
|
return TRUE;
|
||||||
|
+
|
||||||
|
+err:
|
||||||
|
+ fclose(file);
|
||||||
|
+ unlink(tmpfn);
|
||||||
|
+ g_free (tmpfn);
|
||||||
|
+ return FALSE;
|
||||||
|
}
|
||||||
|
|
||||||
|
gboolean xmms_cfg_write_default_file(ConfigFile * cfg)
|
||||||
24
xmms-1.2.10-gcc4.patch
Normal file
24
xmms-1.2.10-gcc4.patch
Normal file
@ -0,0 +1,24 @@
|
|||||||
|
--- xmms-1.2.10/General/ir/ir.h.orig 2001-03-05 23:17:44.000000000 +1000
|
||||||
|
+++ xmms-1.2.10/General/ir/ir.h 2005-03-24 20:48:31.000000000 +1000
|
||||||
|
@@ -49,8 +49,6 @@
|
||||||
|
}
|
||||||
|
irConfig;
|
||||||
|
|
||||||
|
-extern pthread_t irapp_thread;
|
||||||
|
-extern gboolean keepGoing;
|
||||||
|
extern irConfig ircfg;
|
||||||
|
extern gboolean irconf_is_going;
|
||||||
|
|
||||||
|
--- xmms-1.2.10/xmms/sm.c.orig 2004-01-11 18:33:00.000000000 +0100
|
||||||
|
+++ xmms-1.2.10/xmms/sm.c 2004-04-12 22:44:28.000000000 +0200
|
||||||
|
@@ -147,8 +147,9 @@
|
||||||
|
|
||||||
|
#else
|
||||||
|
|
||||||
|
-void sm_init(int argc, char **argv, const char *previous_session_id)
|
||||||
|
+const char * sm_init(int argc, char **argv, const char *previous_session_id)
|
||||||
|
{
|
||||||
|
+ return NULL;
|
||||||
|
}
|
||||||
|
|
||||||
|
void sm_cleanup(void)
|
||||||
20
xmms-1.2.10-reposition.patch
Normal file
20
xmms-1.2.10-reposition.patch
Normal file
@ -0,0 +1,20 @@
|
|||||||
|
--- xmms-1.2.10/xmms/dock.c.bak 2001-03-08 07:48:38.000000000 +0200
|
||||||
|
+++ xmms-1.2.10/xmms/dock.c 2007-01-12 22:32:36.156705327 +0200
|
||||||
|
@@ -625,6 +625,17 @@
|
||||||
|
|
||||||
|
void dock_set_uposition(GtkWidget *w, gint x, gint y)
|
||||||
|
{
|
||||||
|
+ gint maxx, maxy;
|
||||||
|
+
|
||||||
|
+ maxx = gdk_screen_width();
|
||||||
|
+ maxy = gdk_screen_height();
|
||||||
|
+ if ((maxx < (x + 15)) || (maxy < (y + 15))) {
|
||||||
|
+ x = maxx / 2;
|
||||||
|
+ y = maxy / 2;
|
||||||
|
+ g_warning("%s: current screen size %dx%d smaller than "
|
||||||
|
+ "window position specified in config file, resetting to "
|
||||||
|
+ "x=%d y=%d\n", __FUNCTION__, maxx, maxy, x, y);
|
||||||
|
+ }
|
||||||
|
gtk_widget_set_uposition(w, x, y);
|
||||||
|
gtk_object_set_data(GTK_OBJECT(w), "window_x", GINT_TO_POINTER(x));
|
||||||
|
gtk_object_set_data(GTK_OBJECT(w), "window_y", GINT_TO_POINTER(y));
|
||||||
44
xmms-1.2.10-ubuntu-CVE-2007-0653.patch
Normal file
44
xmms-1.2.10-ubuntu-CVE-2007-0653.patch
Normal file
@ -0,0 +1,44 @@
|
|||||||
|
diff -up xmms-1.2.11-20071117cvs/xmms/bmp.c.CVE-2007-0653 xmms-1.2.11-20071117cvs/xmms/bmp.c
|
||||||
|
--- xmms-1.2.11-20071117cvs/xmms/bmp.c.CVE-2007-0653 2006-07-10 17:45:11.000000000 -0400
|
||||||
|
+++ xmms-1.2.11-20071117cvs/xmms/bmp.c 2011-07-14 15:54:02.497834489 -0400
|
||||||
|
@@ -19,6 +19,12 @@
|
||||||
|
*/
|
||||||
|
#include "xmms.h"
|
||||||
|
|
||||||
|
+#if HAVE_STDINT_H
|
||||||
|
+#include <stdint.h>
|
||||||
|
+#elif !defined(UINT32_MAX)
|
||||||
|
+#define UINT32_MAX 0xffffffffU
|
||||||
|
+#endif
|
||||||
|
+
|
||||||
|
struct rgb_quad
|
||||||
|
{
|
||||||
|
guchar rgbBlue;
|
||||||
|
@@ -183,7 +189,7 @@ GdkPixmap *read_bmp(gchar * filename)
|
||||||
|
}
|
||||||
|
else if (bitcount != 24 && bitcount != 16 && bitcount != 32)
|
||||||
|
{
|
||||||
|
- gint ncols, i;
|
||||||
|
+ guint32 ncols, i;
|
||||||
|
|
||||||
|
ncols = offset - headSize - 14;
|
||||||
|
if (headSize == 12)
|
||||||
|
@@ -201,9 +207,17 @@ GdkPixmap *read_bmp(gchar * filename)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
fseek(file, offset, SEEK_SET);
|
||||||
|
+ /* verify buffer size */
|
||||||
|
+ if (!h || !w ||
|
||||||
|
+ w > (((UINT32_MAX - 3) / 3) / h) ||
|
||||||
|
+ h > (((UINT32_MAX - 3) / 3) / w)) {
|
||||||
|
+ g_warning("read_bmp(): width(%u)*height(%u) too large", w, h);
|
||||||
|
+ fclose(file);
|
||||||
|
+ return NULL;
|
||||||
|
+ }
|
||||||
|
+ data = g_malloc0((w * 3 * h) + 3); /* +3 is just for safety */
|
||||||
|
buffer = g_malloc(imgsize);
|
||||||
|
fread(buffer, imgsize, 1, file);
|
||||||
|
- data = g_malloc0((w * 3 * h) + 3); /* +3 is just for safety */
|
||||||
|
|
||||||
|
if (bitcount == 1)
|
||||||
|
read_1b_rgb(buffer, imgsize, data, w, h, rgb_quads);
|
||||||
BIN
xmms-1.2.11-20071117cvs.patched.tar.bz2
Normal file
BIN
xmms-1.2.11-20071117cvs.patched.tar.bz2
Normal file
Binary file not shown.
147
xmms-1.2.11-a-b.patch
Normal file
147
xmms-1.2.11-a-b.patch
Normal file
@ -0,0 +1,147 @@
|
|||||||
|
--- xmms-1.2.11/xmms/about.c.ab 2007-11-16 23:53:41.000000000 +0100
|
||||||
|
+++ xmms-1.2.11/xmms/about.c 2007-11-18 20:57:04.000000000 +0100
|
||||||
|
@@ -79,6 +79,7 @@ static const char *credit_text[] =
|
||||||
|
N_("Chris Wilson"),
|
||||||
|
N_("Dave Yearke"),
|
||||||
|
N_("Stephan K. Zitz"),
|
||||||
|
+ N_("Rodrigo Martins de Matos Ventura (the A-B patch)"),
|
||||||
|
NULL,
|
||||||
|
N_("Default skin:"),
|
||||||
|
N_("Leonard \"Blayde\" Tan"),
|
||||||
|
--- xmms-1.2.11/xmms/main.c.ab 2006-07-16 15:40:04.000000000 +0200
|
||||||
|
+++ xmms-1.2.11/xmms/main.c 2007-11-18 21:00:06.000000000 +0100
|
||||||
|
@@ -59,7 +59,7 @@ PButton *mainwin_rew, *mainwin_play, *ma
|
||||||
|
SButton *mainwin_srew, *mainwin_splay, *mainwin_spause, *mainwin_sstop,
|
||||||
|
*mainwin_sfwd, *mainwin_seject, *mainwin_about;
|
||||||
|
TButton *mainwin_shuffle, *mainwin_repeat, *mainwin_eq, *mainwin_pl;
|
||||||
|
-TextBox *mainwin_info, *mainwin_rate_text, *mainwin_freq_text, *mainwin_stime_min,
|
||||||
|
+TextBox *mainwin_info, *mainwin_rate_text, *mainwin_freq_text, *mainwin_stime_min, *mainwin_ab_text,
|
||||||
|
*mainwin_stime_sec;
|
||||||
|
MenuRow *mainwin_menurow;
|
||||||
|
HSlider *mainwin_volume, *mainwin_balance, *mainwin_position, *mainwin_sposition = NULL;
|
||||||
|
@@ -83,6 +83,9 @@ static gboolean mainwin_force_redraw = F
|
||||||
|
static gchar *mainwin_title_text = NULL;
|
||||||
|
static gboolean mainwin_info_text_locked = FALSE;
|
||||||
|
|
||||||
|
+static int ab_position_a = -1;
|
||||||
|
+static int ab_position_b = -1;
|
||||||
|
+
|
||||||
|
/* For x11r5 session management */
|
||||||
|
static char **restart_argv;
|
||||||
|
static int restart_argc;
|
||||||
|
@@ -262,7 +265,8 @@ enum
|
||||||
|
MAINWIN_GENERAL_STOPFADE, MAINWIN_GENERAL_BACK5SEC,
|
||||||
|
MAINWIN_GENERAL_FWD5SEC, MAINWIN_GENERAL_START, MAINWIN_GENERAL_BACK10,
|
||||||
|
MAINWIN_GENERAL_FWD10, MAINWIN_GENERAL_JTT, MAINWIN_GENERAL_JTF,
|
||||||
|
- MAINWIN_GENERAL_CQUEUE, MAINWIN_GENERAL_EXIT
|
||||||
|
+ MAINWIN_GENERAL_CQUEUE, MAINWIN_GENERAL_EXIT,
|
||||||
|
+ MAINWIN_GENERAL_SETAB, MAINWIN_GENERAL_CLEARAB
|
||||||
|
};
|
||||||
|
|
||||||
|
void mainwin_general_menu_callback(gpointer cb_data, guint action, GtkWidget * w);
|
||||||
|
@@ -297,6 +301,9 @@ GtkItemFactoryEntry mainwin_general_menu
|
||||||
|
{N_("/Playback/-"), NULL, NULL, 0, "<Separator>"},
|
||||||
|
{N_("/Playback/Jump to Time"), "<control>J", mainwin_general_menu_callback, MAINWIN_GENERAL_JTT, "<Item>"},
|
||||||
|
{N_("/Playback/Jump to File"), "J", mainwin_general_menu_callback, MAINWIN_GENERAL_JTF, "<Item>"},
|
||||||
|
+ {N_("/Playback/-"), NULL, NULL, 0, "<Separator>"},
|
||||||
|
+ {N_("/Playback/Set A-B"), "A", mainwin_general_menu_callback, MAINWIN_GENERAL_SETAB, "<Item>"},
|
||||||
|
+ {N_("/Playback/Clear A-B"), "S", mainwin_general_menu_callback, MAINWIN_GENERAL_CLEARAB, "<Item>"},
|
||||||
|
{N_("/Playback/Clear Queue"), "<shift>Q", mainwin_general_menu_callback, MAINWIN_GENERAL_CQUEUE, "<Item>"},
|
||||||
|
{N_("/Visualization"), NULL, NULL, 0, "<Item>"},
|
||||||
|
{N_("/-"), NULL, NULL, 0, "<Separator>"},
|
||||||
|
@@ -2521,6 +2528,8 @@ void mainwin_eject_pushed(void)
|
||||||
|
|
||||||
|
void mainwin_play_pushed(void)
|
||||||
|
{
|
||||||
|
+ if (-1!=ab_position_a)
|
||||||
|
+ input_seek(ab_position_a/1000);
|
||||||
|
if (get_input_paused())
|
||||||
|
{
|
||||||
|
input_pause();
|
||||||
|
@@ -3065,6 +3074,25 @@ void mainwin_general_menu_callback(gpoin
|
||||||
|
case MAINWIN_GENERAL_EXIT:
|
||||||
|
mainwin_quit_cb();
|
||||||
|
break;
|
||||||
|
+ case MAINWIN_GENERAL_SETAB:
|
||||||
|
+ if (playlist_get_current_length() != -1)
|
||||||
|
+ if (-1==ab_position_a) {
|
||||||
|
+ ab_position_a = input_get_time();
|
||||||
|
+ ab_position_b = -1;
|
||||||
|
+ } else if (-1==ab_position_b) {
|
||||||
|
+ int time=input_get_time();
|
||||||
|
+ if (time>ab_position_a) ab_position_b=time;
|
||||||
|
+ } else {
|
||||||
|
+ ab_position_a = input_get_time();
|
||||||
|
+ ab_position_b = -1;
|
||||||
|
+ }
|
||||||
|
+ break;
|
||||||
|
+ case MAINWIN_GENERAL_CLEARAB:
|
||||||
|
+ if (playlist_get_current_length() != -1) {
|
||||||
|
+ ab_position_a = -1;
|
||||||
|
+ ab_position_b = -1;
|
||||||
|
+ }
|
||||||
|
+ break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@@ -3374,6 +3402,7 @@ static void mainwin_create_widgets(void)
|
||||||
|
textbox_set_xfont(mainwin_info, cfg.mainwin_use_xfont, cfg.mainwin_font);
|
||||||
|
mainwin_rate_text = create_textbox(&mainwin_wlist, mainwin_bg, mainwin_gc, 111, 43, 15, 0, SKIN_TEXT);
|
||||||
|
mainwin_freq_text = create_textbox(&mainwin_wlist, mainwin_bg, mainwin_gc, 156, 43, 10, 0, SKIN_TEXT);
|
||||||
|
+ mainwin_ab_text = create_textbox(&mainwin_wlist, mainwin_bg, mainwin_gc, 195, 43, 15, 0, SKIN_TEXT);
|
||||||
|
|
||||||
|
mainwin_menurow = create_menurow(&mainwin_wlist, mainwin_bg, mainwin_gc, 10, 22, 304, 0, 304, 44, mainwin_mr_change, mainwin_mr_release, SKIN_TITLEBAR);
|
||||||
|
mainwin_menurow->mr_doublesize_selected = cfg.doublesize;
|
||||||
|
@@ -3601,6 +3630,19 @@ gint idle_func(gpointer data)
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
+ if ( -1!=ab_position_a ) {
|
||||||
|
+ if ( -1!=ab_position_b ) {
|
||||||
|
+ textbox_set_text(mainwin_ab_text, "A-B");
|
||||||
|
+ if ( time>ab_position_b ) {
|
||||||
|
+ input_seek(ab_position_a/1000);
|
||||||
|
+ }
|
||||||
|
+ } else {
|
||||||
|
+ textbox_set_text(mainwin_ab_text, "A- ");
|
||||||
|
+ }
|
||||||
|
+ } else {
|
||||||
|
+ textbox_set_text(mainwin_ab_text, " ");
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
length = playlist_get_current_length();
|
||||||
|
playlistwin_set_time(time, length, cfg.timer_mode);
|
||||||
|
input_update_vis(time);
|
||||||
|
@@ -3697,6 +3739,8 @@ gint idle_func(gpointer data)
|
||||||
|
{
|
||||||
|
GDK_THREADS_ENTER();
|
||||||
|
vis_playback_stop();
|
||||||
|
+ if (-1!=ab_position_a) ab_position_a=-1;
|
||||||
|
+ if (-1!=ab_position_b) ab_position_b=-1;
|
||||||
|
GDK_THREADS_LEAVE();
|
||||||
|
}
|
||||||
|
|
||||||
|
--- xmms-1.2.11/README.ab.ab 2007-11-18 20:57:04.000000000 +0100
|
||||||
|
+++ xmms-1.2.11/README.ab 2007-11-18 20:57:04.000000000 +0100
|
||||||
|
@@ -0,0 +1,21 @@
|
||||||
|
+The A-B feature
|
||||||
|
+---------------
|
||||||
|
+
|
||||||
|
+The A-B feature by Rodrigo Martins de Matos Ventura was found here:
|
||||||
|
+http://lists.xmms.org/pipermail/xmms-devel/2002-January/002282.html
|
||||||
|
+And was rediffed by Oden Eriksson Tue 18 Nov 2003.
|
||||||
|
+
|
||||||
|
+Here's Rodrigos explaination what it is about:
|
||||||
|
+
|
||||||
|
+"I just did a minor patch to CVS version of xmms, in order to
|
||||||
|
+add a small but very useful (at least to me) feature: A-B
|
||||||
|
+repetition. My old CD player has it, and it is extremely useful,
|
||||||
|
+namely for transcribing music.
|
||||||
|
+
|
||||||
|
+The idea is simple: anytime during play, you press the "A" key
|
||||||
|
+(marks A point), the music keeps playing, when you press the "A" key
|
||||||
|
+again (marks B point), it loops endlessly between the two marked
|
||||||
|
+points, until the "S" key is pressed (clear), or a new A point is
|
||||||
|
+marked. Morover, whenever a A-B range is defined, the "play"
|
||||||
|
+button/menu jumps straight to the A position."
|
||||||
|
+
|
||||||
19
xmms-1.2.11-alsalib.patch
Normal file
19
xmms-1.2.11-alsalib.patch
Normal file
@ -0,0 +1,19 @@
|
|||||||
|
--- xmms-1.2.11-20071117cvs/configure 2008-09-02 19:22:09.000000000 +0100
|
||||||
|
+++ xmms-1.2.11-20071117cvs/configure-new 2008-09-02 21:02:33.000000000 +0100
|
||||||
|
@@ -30090,8 +30090,6 @@
|
||||||
|
#define HAVE_LIBASOUND 1
|
||||||
|
_ACEOF
|
||||||
|
|
||||||
|
- LIBS="-lasound $LIBS"
|
||||||
|
-
|
||||||
|
else
|
||||||
|
|
||||||
|
alsa_found=no
|
||||||
|
@@ -30104,7 +30102,6 @@
|
||||||
|
have_alsa=yes
|
||||||
|
LIBS=`echo $LIBS | sed 's/-lasound//g'`
|
||||||
|
LIBS=`echo $LIBS | sed 's/ //'`
|
||||||
|
- LIBS="-lasound $LIBS"
|
||||||
|
fi
|
||||||
|
if test "x$alsa_found" = "xno" ; then
|
||||||
|
have_alsa=no
|
||||||
77
xmms-1.2.11-arts.patch
Normal file
77
xmms-1.2.11-arts.patch
Normal file
@ -0,0 +1,77 @@
|
|||||||
|
--- xmms-1.2.11-20071117cvs/xmms/main.c 2008-09-02 19:08:34.000000000 +0100
|
||||||
|
+++ xmms-1.2.11-20071117cvs/xmms/main-new.c 2008-09-02 19:16:29.000000000 +0100
|
||||||
|
@@ -307,6 +307,40 @@
|
||||||
|
sizeof(mainwin_general_menu_entries) /
|
||||||
|
sizeof(mainwin_general_menu_entries[0]);
|
||||||
|
|
||||||
|
+#include <kde/artsc/artsc.h>
|
||||||
|
+#include <dlfcn.h>
|
||||||
|
+
|
||||||
|
+/* dlopen libarts, for seeing if we should use this as the default plugin. */
|
||||||
|
+static int arts_running(void) {
|
||||||
|
+ void *arts_handle;
|
||||||
|
+ int (*a_init)(void);
|
||||||
|
+ void (*a_close)(void);
|
||||||
|
+ int ret = 0;
|
||||||
|
+
|
||||||
|
+ arts_handle = dlopen("libartsc.so.0", RTLD_NOW);
|
||||||
|
+ if (!arts_handle)
|
||||||
|
+ return 0;
|
||||||
|
+
|
||||||
|
+ a_init = dlsym(arts_handle, "arts_init");
|
||||||
|
+ a_close = dlsym(arts_handle, "arts_free");
|
||||||
|
+ if (!a_init || !a_close) {
|
||||||
|
+ dlclose(arts_handle);
|
||||||
|
+ return 0;
|
||||||
|
+ }
|
||||||
|
+ signal(SIGPIPE, SIG_DFL);
|
||||||
|
+ if ((*a_init)() == 0) {
|
||||||
|
+ ret = 1;
|
||||||
|
+ /* there are problems with library unloading in conjunction with X11, */
|
||||||
|
+ /* (Arts::X11GlobalComm), so we don't unload stuff here */
|
||||||
|
+ /* (*a_close)(); */
|
||||||
|
+ }
|
||||||
|
+ signal(SIGPIPE, SIG_IGN);
|
||||||
|
+ dlclose(arts_handle);
|
||||||
|
+ return ret;
|
||||||
|
+}
|
||||||
|
+
|
||||||
|
+
|
||||||
|
+
|
||||||
|
static void make_xmms_dir(void)
|
||||||
|
{
|
||||||
|
gchar *filename;
|
||||||
|
@@ -503,6 +537,19 @@
|
||||||
|
cfg.skin = g_strdup("/usr/share/xmms/Skins/Bluecurve-xmms.zip");
|
||||||
|
if (cfg.outputplugin == NULL)
|
||||||
|
{
|
||||||
|
+ /* If aRts is running and the plugin is there, use that... */
|
||||||
|
+ if (arts_running())
|
||||||
|
+ {
|
||||||
|
+ cfg.outputplugin = g_strdup_printf("%s/%s/libarts.so", PLUGIN_DIR, plugin_dir_list[0]);
|
||||||
|
+ if (access(cfg.outputplugin, X_OK))
|
||||||
|
+ {
|
||||||
|
+ g_free(cfg.outputplugin);
|
||||||
|
+ cfg.outputplugin = NULL;
|
||||||
|
+ }
|
||||||
|
+ }
|
||||||
|
+ }
|
||||||
|
+ if (cfg.outputplugin == NULL)
|
||||||
|
+ {
|
||||||
|
#ifdef HAVE_OSS
|
||||||
|
cfg.outputplugin = g_strdup_printf("%s/%s/libALSA.so", PLUGIN_DIR, plugin_dir_list[0]);
|
||||||
|
#elif defined(sun)
|
||||||
|
@@ -515,6 +562,13 @@
|
||||||
|
cfg.outputplugin = g_strdup("");
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
+ /* Migrate users of the previous arts plugin */
|
||||||
|
+ if (!strcmp(g_basename(cfg.outputplugin),"libartsout.so")) {
|
||||||
|
+ if (access(cfg.outputplugin,X_OK)) {
|
||||||
|
+ g_free(cfg.outputplugin);
|
||||||
|
+ cfg.outputplugin = g_strdup_printf("%s/%s/libarts.so", PLUGIN_DIR, plugin_dir_list[0]);
|
||||||
|
+ }
|
||||||
|
+ }
|
||||||
|
if (cfg.eqpreset_default_file == NULL)
|
||||||
|
cfg.eqpreset_default_file = g_strdup("dir_default.preset");
|
||||||
|
if (cfg.eqpreset_extension == NULL)
|
||||||
24
xmms-1.2.11-dso.patch
Normal file
24
xmms-1.2.11-dso.patch
Normal file
@ -0,0 +1,24 @@
|
|||||||
|
--- xmms-1.2.11-20071117cvs/xmms/Makefile.am 2003-12-01 22:45:23.000000000 +0000
|
||||||
|
+++ xmms-1.2.11-20071117cvs/xmms/Makefile-new.am 2010-02-20 23:23:26.000000000 +0000
|
||||||
|
@@ -6,7 +6,8 @@
|
||||||
|
|
||||||
|
xmms_LDFLAGS = -export-dynamic
|
||||||
|
xmms_LDADD = @GTK_LIBS@ @PTHREAD_LIBS@ @SM_LIBS@ @VM_LIBS@ \
|
||||||
|
-@POSIX_LIBS@ $(top_builddir)/libxmms/libxmms.la @LTLIBINTL@
|
||||||
|
+@POSIX_LIBS@ $(top_builddir)/libxmms/libxmms.la @LTLIBINTL@ \
|
||||||
|
+-ldl
|
||||||
|
|
||||||
|
INCLUDES = @GTK_CFLAGS@ @XMMS_DEFINES@ @ARCH_DEFINES@ \
|
||||||
|
-I$(top_builddir)/intl -I$(top_srcdir)
|
||||||
|
--- xmms-1.2.11-20071117cvs/xmms/Makefile.in 2007-11-17 22:45:34.000000000 +0000
|
||||||
|
+++ xmms-1.2.11-20071117cvs/xmms/Makefile-new.in 2010-02-20 23:24:28.000000000 +0000
|
||||||
|
@@ -307,7 +307,8 @@
|
||||||
|
xmmsincludedir = $(includedir)/xmms
|
||||||
|
xmms_LDFLAGS = -export-dynamic
|
||||||
|
xmms_LDADD = @GTK_LIBS@ @PTHREAD_LIBS@ @SM_LIBS@ @VM_LIBS@ \
|
||||||
|
-@POSIX_LIBS@ $(top_builddir)/libxmms/libxmms.la @LTLIBINTL@
|
||||||
|
+@POSIX_LIBS@ $(top_builddir)/libxmms/libxmms.la @LTLIBINTL@ \
|
||||||
|
+-ldl
|
||||||
|
|
||||||
|
INCLUDES = @GTK_CFLAGS@ @XMMS_DEFINES@ @ARCH_DEFINES@ \
|
||||||
|
-I$(top_builddir)/intl -I$(top_srcdir)
|
||||||
142
xmms-1.2.11-is_quitting.patch
Normal file
142
xmms-1.2.11-is_quitting.patch
Normal file
@ -0,0 +1,142 @@
|
|||||||
|
diff -Naupr xmms-1.2.11.orig/xmms/input.c xmms-1.2.11/xmms/input.c
|
||||||
|
--- xmms-1.2.11.orig/xmms/input.c 2005-05-15 02:01:21.000000000 +0200
|
||||||
|
+++ xmms-1.2.11/xmms/input.c 2009-09-14 22:17:57.756115021 +0200
|
||||||
|
@@ -286,6 +286,14 @@ void input_seek(int time)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
+gboolean input_stopped_for_restart = FALSE; /* crossfade */
|
||||||
|
+void input_stop_for_restart() /* crossfade */
|
||||||
|
+{
|
||||||
|
+ input_stopped_for_restart = TRUE;
|
||||||
|
+ input_stop();
|
||||||
|
+ input_stopped_for_restart = FALSE;
|
||||||
|
+}
|
||||||
|
+
|
||||||
|
void input_stop(void)
|
||||||
|
{
|
||||||
|
if (ip_data->playing && get_current_input_plugin())
|
||||||
|
diff -Naupr xmms-1.2.11.orig/xmms/input.h xmms-1.2.11/xmms/input.h
|
||||||
|
--- xmms-1.2.11.orig/xmms/input.h 2000-02-16 22:05:57.000000000 +0100
|
||||||
|
+++ xmms-1.2.11/xmms/input.h 2009-09-14 22:17:57.757114619 +0200
|
||||||
|
@@ -34,6 +34,7 @@ InputVisType input_get_vis_type();
|
||||||
|
gboolean input_check_file(gchar * filename);
|
||||||
|
void input_play(char *filename);
|
||||||
|
void input_stop(void);
|
||||||
|
+void input_stop_for_restart(void);
|
||||||
|
void input_pause(void);
|
||||||
|
int input_get_time(void);
|
||||||
|
void input_set_eq(int on, float preamp, float *bands);
|
||||||
|
diff -Naupr xmms-1.2.11.orig/xmms/main.c xmms-1.2.11/xmms/main.c
|
||||||
|
--- xmms-1.2.11.orig/xmms/main.c 2006-07-16 15:40:04.000000000 +0200
|
||||||
|
+++ xmms-1.2.11/xmms/main.c 2009-09-14 22:17:57.759114418 +0200
|
||||||
|
@@ -888,8 +888,10 @@ void mainwin_shade_toggle(void)
|
||||||
|
mainwin_set_shade(!cfg.player_shaded);
|
||||||
|
}
|
||||||
|
|
||||||
|
+gboolean is_quitting = FALSE; /* crossfade */
|
||||||
|
void mainwin_quit_cb(void)
|
||||||
|
{
|
||||||
|
+ is_quitting = TRUE; /* crossfade */
|
||||||
|
input_stop();
|
||||||
|
gtk_widget_hide(equalizerwin);
|
||||||
|
gtk_widget_hide(playlistwin);
|
||||||
|
@@ -1540,7 +1542,8 @@ static void mainwin_jump_to_file_real_cb
|
||||||
|
int *pos;
|
||||||
|
|
||||||
|
if (get_input_playing())
|
||||||
|
- input_stop();
|
||||||
|
+ input_stop_for_restart();
|
||||||
|
+
|
||||||
|
pos = gtk_clist_get_row_data(clist, GPOINTER_TO_INT(clist->selection->data));
|
||||||
|
playlist_set_position(*pos);
|
||||||
|
playlist_play();
|
||||||
|
diff -Naupr xmms-1.2.11.orig/xmms/playlist.c xmms-1.2.11/xmms/playlist.c
|
||||||
|
--- xmms-1.2.11.orig/xmms/playlist.c 2007-11-16 22:51:30.000000000 +0100
|
||||||
|
+++ xmms-1.2.11/xmms/playlist.c 2009-09-14 22:17:57.763114547 +0200
|
||||||
|
@@ -78,9 +78,10 @@ void playlist_clear(void)
|
||||||
|
{
|
||||||
|
GList *node;
|
||||||
|
PlaylistEntry *entry;
|
||||||
|
-
|
||||||
|
+
|
||||||
|
+ /* always assume that there is another song comming up */
|
||||||
|
if (get_input_playing())
|
||||||
|
- input_stop();
|
||||||
|
+ input_stop_for_restart();
|
||||||
|
|
||||||
|
PL_LOCK();
|
||||||
|
if (playlist)
|
||||||
|
@@ -142,7 +143,7 @@ void playlist_delete_node(GList *node, g
|
||||||
|
if (get_input_playing())
|
||||||
|
{
|
||||||
|
PL_UNLOCK();
|
||||||
|
- input_stop();
|
||||||
|
+ input_stop_for_restart();
|
||||||
|
PL_LOCK();
|
||||||
|
*restart_playing = TRUE;
|
||||||
|
}
|
||||||
|
@@ -583,7 +584,7 @@ void playlist_play(void)
|
||||||
|
}
|
||||||
|
|
||||||
|
if (get_input_playing())
|
||||||
|
- input_stop();
|
||||||
|
+ input_stop_for_restart();
|
||||||
|
|
||||||
|
vis_clear_data(mainwin_vis);
|
||||||
|
vis_clear_data(playlistwin_vis);
|
||||||
|
@@ -681,7 +682,7 @@ void playlist_next(void)
|
||||||
|
{
|
||||||
|
/* We need to stop before changing playlist_position */
|
||||||
|
PL_UNLOCK();
|
||||||
|
- input_stop();
|
||||||
|
+ input_stop_for_restart();
|
||||||
|
PL_LOCK();
|
||||||
|
restart_playing = TRUE;
|
||||||
|
}
|
||||||
|
@@ -736,7 +737,7 @@ void playlist_prev(void)
|
||||||
|
{
|
||||||
|
/* We need to stop before changing playlist_position */
|
||||||
|
PL_UNLOCK();
|
||||||
|
- input_stop();
|
||||||
|
+ input_stop_for_restart();
|
||||||
|
PL_LOCK();
|
||||||
|
restart_playing = TRUE;
|
||||||
|
}
|
||||||
|
@@ -924,7 +925,7 @@ void playlist_set_position(int pos)
|
||||||
|
{
|
||||||
|
/* We need to stop before changing playlist_position */
|
||||||
|
PL_UNLOCK();
|
||||||
|
- input_stop();
|
||||||
|
+ input_stop_for_restart();
|
||||||
|
PL_LOCK();
|
||||||
|
restart_playing = TRUE;
|
||||||
|
}
|
||||||
|
@@ -951,11 +952,25 @@ void playlist_set_position(int pos)
|
||||||
|
void playlist_eof_reached(void)
|
||||||
|
{
|
||||||
|
GList *plist_pos_list;
|
||||||
|
-
|
||||||
|
- input_stop();
|
||||||
|
+ gboolean stop_for_restart = TRUE;
|
||||||
|
|
||||||
|
PL_LOCK();
|
||||||
|
+
|
||||||
|
+ /*
|
||||||
|
+ * First, determine if we are going to play another song after
|
||||||
|
+ * this one and call input_stop() / input_stop_for_restart()
|
||||||
|
+ * accordingly.
|
||||||
|
+ */
|
||||||
|
plist_pos_list = find_playlist_position_list();
|
||||||
|
+ if (!queued_list && !g_list_next(plist_pos_list) && !cfg.repeat)
|
||||||
|
+ stop_for_restart = FALSE;
|
||||||
|
+
|
||||||
|
+ PL_UNLOCK();
|
||||||
|
+ if (stop_for_restart)
|
||||||
|
+ input_stop_for_restart();
|
||||||
|
+ else
|
||||||
|
+ input_stop();
|
||||||
|
+ PL_LOCK();
|
||||||
|
|
||||||
|
if (cfg.no_playlist_advance)
|
||||||
|
{
|
||||||
19
xmms-1.2.11-mikmod-fix.patch
Normal file
19
xmms-1.2.11-mikmod-fix.patch
Normal file
@ -0,0 +1,19 @@
|
|||||||
|
diff -up xmms-1.2.11-20071117cvs/Input/mikmod/drv_xmms.c.fix xmms-1.2.11-20071117cvs/Input/mikmod/drv_xmms.c
|
||||||
|
--- xmms-1.2.11-20071117cvs/Input/mikmod/drv_xmms.c.fix 2014-02-11 10:33:47.944425895 -0500
|
||||||
|
+++ xmms-1.2.11-20071117cvs/Input/mikmod/drv_xmms.c 2014-02-11 10:34:39.000359857 -0500
|
||||||
|
@@ -124,7 +124,15 @@ MDRIVER drv_xmms =
|
||||||
|
"xmms output driver v1.0",
|
||||||
|
0, 255,
|
||||||
|
#if (LIBMIKMOD_VERSION > 0x030106)
|
||||||
|
+/* Alias string */
|
||||||
|
"xmms",
|
||||||
|
+#endif
|
||||||
|
+#if (LIBMIKMOD_VERSION >= 0x030200)
|
||||||
|
+/* CmdLineHelp string */
|
||||||
|
+ NULL,
|
||||||
|
+#endif
|
||||||
|
+#if (LIBMIKMOD_VERSION > 0x030106)
|
||||||
|
+/* CommandLine proc */
|
||||||
|
NULL,
|
||||||
|
#endif
|
||||||
|
xmms_IsThere,
|
||||||
BIN
xmms-1.2.11-mpg123.tar.bz2
Normal file
BIN
xmms-1.2.11-mpg123.tar.bz2
Normal file
Binary file not shown.
129
xmms-1.2.11-multilib.patch
Normal file
129
xmms-1.2.11-multilib.patch
Normal file
@ -0,0 +1,129 @@
|
|||||||
|
diff -up xmms-1.2.11-20071117cvs/configure.multidevel xmms-1.2.11-20071117cvs/configure
|
||||||
|
--- xmms-1.2.11-20071117cvs/configure.multidevel 2016-11-18 10:19:19.416318744 -0500
|
||||||
|
+++ xmms-1.2.11-20071117cvs/configure 2016-11-18 10:21:42.901379471 -0500
|
||||||
|
@@ -33510,7 +33510,7 @@ subdirs="$subdirs libxmms"
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
- ac_config_files="$ac_config_files Makefile xmms.1 wmxmms.1 xmms.spec xmms-config xmms/Makefile xmms/defskin/Makefile Output/Makefile Output/OSS/Makefile Output/esd/Makefile Output/disk_writer/Makefile Output/solaris/Makefile Output/sun/Makefile Output/alsa/Makefile Input/Makefile Input/wav/Makefile Input/mpg123/Makefile Input/mikmod/Makefile Input/cdaudio/Makefile Input/tonegen/Makefile Input/vorbis/Makefile Effect/Makefile Effect/voice/Makefile Effect/echo_plugin/Makefile Effect/stereo_plugin/Makefile General/Makefile General/ir/Makefile General/joystick/Makefile General/song_change/Makefile Visualization/Makefile Visualization/blur_scope/Makefile Visualization/sanalyzer/Makefile Visualization/opengl_spectrum/Makefile wmxmms/Makefile po/Makefile.in intl/Makefile"
|
||||||
|
+ ac_config_files="$ac_config_files Makefile xmms.1 wmxmms.1 xmms.spec xmms-config xmms.pc xmms/Makefile xmms/defskin/Makefile Output/Makefile Output/OSS/Makefile Output/esd/Makefile Output/disk_writer/Makefile Output/solaris/Makefile Output/sun/Makefile Output/alsa/Makefile Input/Makefile Input/wav/Makefile Input/mpg123/Makefile Input/mikmod/Makefile Input/cdaudio/Makefile Input/tonegen/Makefile Input/vorbis/Makefile Effect/Makefile Effect/voice/Makefile Effect/echo_plugin/Makefile Effect/stereo_plugin/Makefile General/Makefile General/ir/Makefile General/joystick/Makefile General/song_change/Makefile Visualization/Makefile Visualization/blur_scope/Makefile Visualization/sanalyzer/Makefile Visualization/opengl_spectrum/Makefile wmxmms/Makefile po/Makefile.in intl/Makefile"
|
||||||
|
ac_config_commands="$ac_config_commands default"
|
||||||
|
cat >confcache <<\_ACEOF
|
||||||
|
# This file is a shell script that caches the results of configure
|
||||||
|
@@ -34178,6 +34178,7 @@ do
|
||||||
|
"wmxmms.1" ) CONFIG_FILES="$CONFIG_FILES wmxmms.1" ;;
|
||||||
|
"xmms.spec" ) CONFIG_FILES="$CONFIG_FILES xmms.spec" ;;
|
||||||
|
"xmms-config" ) CONFIG_FILES="$CONFIG_FILES xmms-config" ;;
|
||||||
|
+ "xmms.pc" ) CONFIG_FILES="$CONFIG_FILES xmms.pc" ;;
|
||||||
|
"xmms/Makefile" ) CONFIG_FILES="$CONFIG_FILES xmms/Makefile" ;;
|
||||||
|
"xmms/defskin/Makefile" ) CONFIG_FILES="$CONFIG_FILES xmms/defskin/Makefile" ;;
|
||||||
|
"Output/Makefile" ) CONFIG_FILES="$CONFIG_FILES Output/Makefile" ;;
|
||||||
|
diff -up xmms-1.2.11-20071117cvs/xmms-config.in.multidevel xmms-1.2.11-20071117cvs/xmms-config.in
|
||||||
|
--- xmms-1.2.11-20071117cvs/xmms-config.in.multidevel 2001-04-05 20:35:49.000000000 -0400
|
||||||
|
+++ xmms-1.2.11-20071117cvs/xmms-config.in 2016-11-18 10:19:19.433318634 -0500
|
||||||
|
@@ -18,24 +18,6 @@ exec_prefix_set=no
|
||||||
|
data_dir="@datadir@/@PACKAGE@"
|
||||||
|
|
||||||
|
version="@VERSION@"
|
||||||
|
-include_dir="@includedir@"
|
||||||
|
-xmms_include_dir="@includedir@/@PACKAGE@"
|
||||||
|
-lib_dir="@libdir@"
|
||||||
|
-
|
||||||
|
-if ( (gtk-config --version) > /dev/null 2>&1) then
|
||||||
|
- gtk_libs=`gtk-config --libs`
|
||||||
|
- gtk_cflags=`gtk-config --cflags`
|
||||||
|
-else
|
||||||
|
- gtk_libs="@GTK_LIBS@"
|
||||||
|
- gtk_cflags="@GTK_CFLAGS@"
|
||||||
|
-fi
|
||||||
|
-
|
||||||
|
-plugin_dir="@plugindir@"
|
||||||
|
-visualization_plugin_dir="@plugindir@/@VISUALIZATION_PLUGIN_DIR@"
|
||||||
|
-input_plugin_dir="@plugindir@/@INPUT_PLUGIN_DIR@"
|
||||||
|
-output_plugin_dir="@plugindir@/@OUTPUT_PLUGIN_DIR@"
|
||||||
|
-effect_plugin_dir="@plugindir@/@EFFECT_PLUGIN_DIR@"
|
||||||
|
-general_plugin_dir="@plugindir@/@GENERAL_PLUGIN_DIR@"
|
||||||
|
|
||||||
|
usage()
|
||||||
|
{
|
||||||
|
@@ -146,24 +128,12 @@ if test "$echo_exec_prefix" = "yes"; the
|
||||||
|
echo $exec_prefix
|
||||||
|
fi
|
||||||
|
|
||||||
|
-if test "$include_dir" != "/usr/include"; then
|
||||||
|
- cflags="-I$include_dir -I$xmms_include_dir $gtk_cflags"
|
||||||
|
-else
|
||||||
|
- cflags="-I$xmms_include_dir $gtk_cflags"
|
||||||
|
-fi
|
||||||
|
-
|
||||||
|
-if test "$lib_dir" != "/usr/lib"; then
|
||||||
|
- libs="-L$lib_dir $gtk_libs -lxmms"
|
||||||
|
-else
|
||||||
|
- libs="$gtk_libs -lxmms"
|
||||||
|
-fi
|
||||||
|
-
|
||||||
|
if test "$echo_cflags" = "yes"; then
|
||||||
|
- echo $cflags
|
||||||
|
+ pkg-config xmms --cflags
|
||||||
|
fi
|
||||||
|
|
||||||
|
if test "$echo_libs" = "yes"; then
|
||||||
|
- echo $libs
|
||||||
|
+ pkg-config xmms --libs
|
||||||
|
fi
|
||||||
|
|
||||||
|
if test "$echo_data_dir" = "yes"; then
|
||||||
|
@@ -171,25 +141,25 @@ if test "$echo_data_dir" = "yes"; then
|
||||||
|
fi
|
||||||
|
|
||||||
|
if test "$echo_plugin_dir" = "yes"; then
|
||||||
|
- echo $plugin_dir
|
||||||
|
+ pkg-config xmms --variable=plugin_dir
|
||||||
|
fi
|
||||||
|
|
||||||
|
if test "$echo_visualization_plugin_dir" = "yes"; then
|
||||||
|
- echo $visualization_plugin_dir
|
||||||
|
+ pkg-config xmms --variable=visualization_plugin_dir
|
||||||
|
fi
|
||||||
|
|
||||||
|
if test "$echo_input_plugin_dir" = "yes"; then
|
||||||
|
- echo $input_plugin_dir
|
||||||
|
+ pkg-config xmms --variable=input_plugin_dir
|
||||||
|
fi
|
||||||
|
|
||||||
|
if test "$echo_output_plugin_dir" = "yes"; then
|
||||||
|
- echo $output_plugin_dir
|
||||||
|
+ pkg-config xmms --variable=output_plugin_dir
|
||||||
|
fi
|
||||||
|
|
||||||
|
if test "$echo_general_plugin_dir" = "yes"; then
|
||||||
|
- echo $general_plugin_dir
|
||||||
|
+ pkg-config xmms --variable=general_plugin_dir
|
||||||
|
fi
|
||||||
|
|
||||||
|
if test "$echo_effect_plugin_dir" = "yes"; then
|
||||||
|
- echo $effect_plugin_dir
|
||||||
|
+ pkg-config xmms --variable=effect_plugin_dir
|
||||||
|
fi
|
||||||
|
diff -up xmms-1.2.11-20071117cvs/xmms.pc.in.multidevel xmms-1.2.11-20071117cvs/xmms.pc.in
|
||||||
|
--- xmms-1.2.11-20071117cvs/xmms.pc.in.multidevel 2016-11-18 10:19:19.434318627 -0500
|
||||||
|
+++ xmms-1.2.11-20071117cvs/xmms.pc.in 2016-11-18 10:19:19.434318627 -0500
|
||||||
|
@@ -0,0 +1,18 @@
|
||||||
|
+prefix=@prefix@
|
||||||
|
+exec_prefix=@exec_prefix@
|
||||||
|
+libdir=@libdir@
|
||||||
|
+includedir=@includedir@
|
||||||
|
+data_dir=@datadir@
|
||||||
|
+plugin_dir=@plugindir@
|
||||||
|
+visualization_plugin_dir=${plugin_dir}/@VISUALIZATION_PLUGIN_DIR@
|
||||||
|
+input_plugin_dir=${plugin_dir}/@INPUT_PLUGIN_DIR@
|
||||||
|
+output_plugin_dir=${plugin_dir}/@OUTPUT_PLUGIN_DIR@
|
||||||
|
+effect_plugin_dir=${plugin_dir}/@EFFECT_PLUGIN_DIR@
|
||||||
|
+general_plugin_dir=${plugin_dir}/@GENERAL_PLUGIN_DIR@
|
||||||
|
+
|
||||||
|
+Name: XMMS
|
||||||
|
+Description: The X MultiMedia System, a media player
|
||||||
|
+Version: @VERSION@
|
||||||
|
+Requires: gtk+
|
||||||
|
+Libs: -L${libdir} -lxmms
|
||||||
|
+Cflags: -I${includedir} -I${includedir}/@PACKAGE@
|
||||||
32
xmms-1.2.6-audio.patch
Normal file
32
xmms-1.2.6-audio.patch
Normal file
@ -0,0 +1,32 @@
|
|||||||
|
--- xmms-1.2.4/xmms/main.c.audio Mon Nov 20 10:45:10 2000
|
||||||
|
+++ xmms-1.2.4/xmms/main.c Tue Nov 28 19:39:51 2000
|
||||||
|
@@ -469,7 +469,7 @@
|
||||||
|
if (cfg.outputplugin == NULL)
|
||||||
|
{
|
||||||
|
#ifdef HAVE_OSS
|
||||||
|
- cfg.outputplugin = g_strdup_printf("%s/%s/libOSS.so", PLUGIN_DIR, plugin_dir_list[0]);
|
||||||
|
+ cfg.outputplugin = g_strdup_printf("%s/%s/libALSA.so", PLUGIN_DIR, plugin_dir_list[0]);
|
||||||
|
#elif defined(sun)
|
||||||
|
cfg.outputplugin = g_strdup_printf("%s/%s/libSolaris.so", PLUGIN_DIR, plugin_dir_list[0]);
|
||||||
|
#else
|
||||||
|
--- xmms-1.2.4/Output/OSS/audio.c.audio Fri Jul 28 20:19:41 2000
|
||||||
|
+++ xmms-1.2.4/Output/OSS/audio.c Tue Nov 28 19:36:19 2000
|
||||||
|
@@ -592,7 +592,7 @@
|
||||||
|
else
|
||||||
|
device_name = g_strdup(DEV_DSP);
|
||||||
|
}
|
||||||
|
- fd = open(device_name, O_WRONLY);
|
||||||
|
+ fd = open(device_name, O_WRONLY|O_NONBLOCK);
|
||||||
|
if (fd == -1)
|
||||||
|
{
|
||||||
|
g_warning("oss_open(): Failed to open audio device (%s): %s",
|
||||||
|
@@ -600,7 +600,8 @@
|
||||||
|
g_free(device_name);
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
-
|
||||||
|
+ fcntl(fd,F_SETFL,fcntl(fd,F_GETFL) &~ O_NONBLOCK);
|
||||||
|
+
|
||||||
|
input.format.xmms = fmt;
|
||||||
|
input.frequency = rate;
|
||||||
|
input.channels = nch;
|
||||||
11
xmms-1.2.6-lazy.patch
Normal file
11
xmms-1.2.6-lazy.patch
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
--- xmms-1.2.6/xmms/pluginenum.c.lazy Tue Jan 15 17:14:24 2002
|
||||||
|
+++ xmms-1.2.6/xmms/pluginenum.c Tue Jan 15 17:14:33 2002
|
||||||
|
@@ -229,7 +229,7 @@
|
||||||
|
*/
|
||||||
|
return shl_load(filename, BIND_DEFERRED, 0);
|
||||||
|
#else
|
||||||
|
- return dlopen(filename, RTLD_NOW);
|
||||||
|
+ return dlopen(filename, RTLD_LAZY);
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
|
||||||
11
xmms-1.2.8-default-skin.patch
Normal file
11
xmms-1.2.8-default-skin.patch
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
--- xmms-1.2.8/xmms/main.c.foo 2003-09-08 15:07:13.000000000 -0400
|
||||||
|
+++ xmms-1.2.8/xmms/main.c 2003-09-08 15:07:55.000000000 -0400
|
||||||
|
@@ -495,6 +495,8 @@
|
||||||
|
cfg.mainwin_font = g_strdup("-adobe-helvetica-medium-r-*-*-8-*");
|
||||||
|
if (cfg.gentitle_format == NULL)
|
||||||
|
cfg.gentitle_format = g_strdup("%p - %t");
|
||||||
|
+ if (cfg.skin == NULL && !cfgfile && !access("/usr/share/xmms/Skins/Bluecurve-xmms.zip",R_OK))
|
||||||
|
+ cfg.skin = g_strdup("/usr/share/xmms/Skins/Bluecurve-xmms.zip");
|
||||||
|
if (cfg.outputplugin == NULL)
|
||||||
|
{
|
||||||
|
#ifdef HAVE_OSS
|
||||||
72
xmms-alsa-fix-loop.patch
Normal file
72
xmms-alsa-fix-loop.patch
Normal file
@ -0,0 +1,72 @@
|
|||||||
|
diff -up xmms-1.2.11-20071117cvs/Output/alsa/audio.c.fix-loop xmms-1.2.11-20071117cvs/Output/alsa/audio.c
|
||||||
|
--- xmms-1.2.11-20071117cvs/Output/alsa/audio.c.fix-loop 2006-07-25 17:45:08.000000000 -0400
|
||||||
|
+++ xmms-1.2.11-20071117cvs/Output/alsa/audio.c 2011-07-15 16:05:55.805328775 -0400
|
||||||
|
@@ -807,7 +807,7 @@ static void *alsa_loop(void *arg)
|
||||||
|
unsigned short *revents;
|
||||||
|
|
||||||
|
if (npfds <= 0)
|
||||||
|
- goto _error;
|
||||||
|
+ goto _cleanup;
|
||||||
|
pfds = alloca(sizeof(*pfds) * npfds);
|
||||||
|
revents = alloca(sizeof(*revents) * npfds);
|
||||||
|
while (going && alsa_pcm)
|
||||||
|
@@ -828,16 +828,34 @@ static void *alsa_loop(void *arg)
|
||||||
|
int i;
|
||||||
|
snd_pcm_poll_descriptors_revents(alsa_pcm, pfds,
|
||||||
|
npfds, revents);
|
||||||
|
- for (i = 0; i < npfds; i++)
|
||||||
|
+ for (i = 0; i < npfds; i++)
|
||||||
|
+ {
|
||||||
|
if (revents[i] & POLLOUT)
|
||||||
|
{
|
||||||
|
+ debug("calling alsa_write_out_thread_data()");
|
||||||
|
alsa_write_out_thread_data();
|
||||||
|
+ debug("done with alsa_write_out_thread_data, break!");
|
||||||
|
break;
|
||||||
|
- }
|
||||||
|
+ }
|
||||||
|
+ debug("Still in the for loop");
|
||||||
|
+ }
|
||||||
|
+ debug("Out of the for loop, but still in the if poll.");
|
||||||
|
}
|
||||||
|
+ debug("Still in the not-paused not-prebuffer conditional");
|
||||||
|
}
|
||||||
|
else
|
||||||
|
- xmms_usleep(10000);
|
||||||
|
+ {
|
||||||
|
+ if (paused)
|
||||||
|
+ debug("Sorry, I'm paused. Taking a little nap.");
|
||||||
|
+ if (prebuffer)
|
||||||
|
+ debug("Buffering like Real Player.");
|
||||||
|
+ if (paused || prebuffer) {
|
||||||
|
+ xmms_usleep(10000);
|
||||||
|
+ } else {
|
||||||
|
+ debug("All done!");
|
||||||
|
+ goto _cleanup;
|
||||||
|
+ }
|
||||||
|
+ }
|
||||||
|
|
||||||
|
if (pause_request != paused)
|
||||||
|
alsa_do_pause(pause_request);
|
||||||
|
@@ -850,11 +868,12 @@ static void *alsa_loop(void *arg)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
- _error:
|
||||||
|
+ _cleanup:
|
||||||
|
alsa_close_pcm();
|
||||||
|
g_free(thread_buffer);
|
||||||
|
thread_buffer = NULL;
|
||||||
|
pthread_exit(NULL);
|
||||||
|
+ return;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* open callback */
|
||||||
|
@@ -901,6 +920,7 @@ int alsa_open(AFormat fmt, int rate, int
|
||||||
|
flush_request = -1;
|
||||||
|
|
||||||
|
pthread_create(&audio_thread, NULL, alsa_loop, NULL);
|
||||||
|
+ debug("Do we get here?");
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
|
||||||
11
xmms-cd-mountpoint.patch
Normal file
11
xmms-cd-mountpoint.patch
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
--- xmms-1.2.11-20071117cvs/Input/cdaudio/cdaudio.c~ 2004-01-28 01:09:39.000000000 +0200
|
||||||
|
+++ xmms-1.2.11-20071117cvs/Input/cdaudio/cdaudio.c 2005-04-30 18:39:04.000000000 +0300
|
||||||
|
@@ -78,7 +78,7 @@
|
||||||
|
# define CDDA_DIRECTORY "/cdrom/cdrom0"
|
||||||
|
# endif
|
||||||
|
# else
|
||||||
|
-# define CDDA_DIRECTORY "/mnt/cdrom"
|
||||||
|
+# define CDDA_DIRECTORY "/media/cdrecorder"
|
||||||
|
# endif
|
||||||
|
#endif
|
||||||
|
|
||||||
11
xmms-play.patch
Normal file
11
xmms-play.patch
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
--- xmms-1.2.11-20071117cvs/xmms/xmms.desktop 2002-02-11 23:15:56.000000000 +0000
|
||||||
|
+++ xmms-1.2.11-20071117cvs/xmms/xmms.desktop-new 2009-09-02 14:19:57.000000000 +0100
|
||||||
|
@@ -14,7 +14,7 @@
|
||||||
|
comment[tr]=X Multimedya Sistem
|
||||||
|
comment[zh_TW]=X ¦h´CÅé¨t²Î
|
||||||
|
Encoding=Legacy-Mixed
|
||||||
|
-Exec=xmms
|
||||||
|
+Exec=xmms -e -p %F
|
||||||
|
Icon=xmms_mini.xpm
|
||||||
|
MimeType=audio/x-scpls;audio/x-mpegurl;audio/mpegurl;audio/mp3;audio/x-mp3;audio/mpeg;audio/x-mpeg;audio/x-wav;application/x-ogg
|
||||||
|
Terminal=0
|
||||||
147
xmms.desktop
Normal file
147
xmms.desktop
Normal file
@ -0,0 +1,147 @@
|
|||||||
|
[Desktop Entry]
|
||||||
|
Name=XMMS
|
||||||
|
Comment=Play Ogg Vorbis and other audio files
|
||||||
|
Comment[af]=Speel Ogg Vorbis en ander klanklêers
|
||||||
|
Comment[am]=Ogg Vorbisን እና ሌሎች የድምጽ ፋይሎችን አጫውት
|
||||||
|
Comment[ar]=تشغيل Ogg فوربس و ملفات أخري
|
||||||
|
Comment[as]=Ogg Vorbis আৰু অন্যান্য শ্ৰৱণ নথি-পত্ৰ বজাওক
|
||||||
|
Comment[be]=Прайграе Ogg Vorbis і іншыя аўдыё файлы
|
||||||
|
Comment[bg]=Просвирване на Ogg Vorbis и други музикални файлове
|
||||||
|
Comment[bn]=Ogg Vorvis এবং অন্যান্য অডিও ফাইলগুলো চালাও
|
||||||
|
Comment[bn_IN]=Ogg Vorvis এবং অন্যান্য অডিও ফাইল বাজান
|
||||||
|
Comment[ca]=Reproduïu fitxers Ogg Vorbis i d'altres formats de so
|
||||||
|
Comment[cs]=Přehrát zvukové soubory Ogg Vorbis a další
|
||||||
|
Comment[cy]=Gwrando ar Ogg Vorbis a ffeiliau sain eraill
|
||||||
|
Comment[da]=Afspil Ogg Vorbis og andre lydfiler
|
||||||
|
Comment[de]=Ogg Vorbis und andere Audio-Dateien wiedergeben
|
||||||
|
Comment[el]=Αναπαραγωγή Ogg Vorbis και άλλων αρχείων ήχου
|
||||||
|
Comment[en_GB]=Play Ogg Vorbis and other audio files
|
||||||
|
Comment[es]=Reproducir Ogg Vorbis y otros ficheros de audio
|
||||||
|
Comment[et]=Erinevate helifailide esitamine
|
||||||
|
Comment[fa]=پخش اُگوُربیس و پروندههای صوتی دیگر
|
||||||
|
Comment[fi]=Soita mm. Ogg Vorbis -äänitiedostoja
|
||||||
|
Comment[fr]=Lire les Ogg Vorbis et autres fichiers audio
|
||||||
|
Comment[gl]=Reproduza Ogg Vorbis e outros ficheiros de audio
|
||||||
|
Comment[gu]=ઓગ વોરબીસ અને બીજી ઓડિયો ફાઈલો વગાડો
|
||||||
|
Comment[he]=נגן קבצי Ogg Vorbis וקבצי קול נוספים
|
||||||
|
Comment[hi]=Ogg Vorbis और अन्य श्रव्य फाइल चलाएँ
|
||||||
|
Comment[hr]=Pokretanje Ogg Vorbis i ostalih datoteka zvuka
|
||||||
|
Comment[hu]=Ogg Vorbis és más hangfájlok lejátszása
|
||||||
|
Comment[hy]=Նվագել Ogg Vorbis և այլ տիպի ձայնային ֆայլեր
|
||||||
|
Comment[id]=Mainkan Ogg Vorbis dan berkas audio lainnya
|
||||||
|
Comment[ilo]=Patugtogen ti Ogg Vorbis ken sabsabali pay nga intar ti paguni
|
||||||
|
Comment[is]=Spila Ogg Vorbis og fleiri tónlistaskrár
|
||||||
|
Comment[it]=Riproduce Ogg Vorbis e altri file audio
|
||||||
|
Comment[ja]=Ogg Vorbis及び他のオーディオファイルを再生
|
||||||
|
Comment[ka]=Ogg Vorbis და სხვა აუდიოფაილების დაკვრა
|
||||||
|
Comment[kn]=Ogg Vorbis ಇತ್ಯಾದಿ ಧ್ವನಿಕಡತಗಳನ್ನು ಚಾಲಿಸಿ
|
||||||
|
Comment[ko]=Ogg Vorbis와 그외 오디오 파일 재생
|
||||||
|
Comment[lt]=Groja Ogg Vorbis ir kitas audio bylas
|
||||||
|
Comment[lv]=Spēlēt Ogg Vorbis un citas audio datnes
|
||||||
|
Comment[mk]=Пушта Ogg Vorbis и други аудио датотеки
|
||||||
|
Comment[ml]=Ogg Vorbisും മറ്റ് ഓഡിയോ ഫൈലുകളും പ്രവര്ത്തിപ്പിക്കുക
|
||||||
|
Comment[mr]=Ogg Vorbis आणि इतर ध्वनी फाइल्स वाजवा
|
||||||
|
Comment[ms]=Main fail audio Ogg Vorbis dan lain-lain
|
||||||
|
Comment[nb]=Spill av Ogg Vorbis og andre lydfiler
|
||||||
|
Comment[nl]=Ogg Vorbis en andere audiobestanden afspelen
|
||||||
|
Comment[no]=Spill av Ogg Vorbis og andre lydfiler
|
||||||
|
Comment[nso]=Bapala Ogg Vorbis le difaele tše dingwe tšeo di nago le modumo
|
||||||
|
Comment[or]=ଓଗ୍ ଭରବିଶ କିମ୍ବା ଅନ୍ଯାନ୍ଯ ଅଡିଓ ପାଇଲ ମାନଙ୍କୁ ଚଲାନ୍ତୁ
|
||||||
|
Comment[pa]=Ogg Vorbis ਅਤੇ ਹੋਰ ਸੰਗੀਤ ਫਾਇਲਾਂ ਚਲਾਓ
|
||||||
|
Comment[pl]=Odtwarzanie Ogg Vorbis i innych plików dźwiękowych
|
||||||
|
Comment[pt]=Toque ficheiros Ogg Vorbis e outros formatos de áudio
|
||||||
|
Comment[pt_BR]=Toque Ogg Vorbis e outros arquivos de áudio
|
||||||
|
Comment[ro]=Redă fişiere audio precum Ogg Vorbis
|
||||||
|
Comment[ru]=Воспроизводит файлы Ogg Vorbis и другие звуковые файлы
|
||||||
|
Comment[si]=Ogg Vorbis සහ අනෙකුත් ශව්ය ගොනු වාදනය කරන්න
|
||||||
|
Comment[sk]=Hrať Ogg Vorbis a ostatné zvukové súbory
|
||||||
|
Comment[sl]=Predvaja Ogg Vorbis in druge zvočne datoteke
|
||||||
|
Comment[sr]=Пуштање Ogg Vorbis и осталих аудио датотека
|
||||||
|
Comment[sr@latin]=Puštanje Ogg Vorbis i ostalih audio datoteka
|
||||||
|
Comment[sv]=Spela Ogg Vorbis-filer och andra ljudfiler
|
||||||
|
Comment[ta]=Ogg Vorbis மற்றும் மற்ற கேட்பொலி கோப்புகளை இயக்கவும்
|
||||||
|
Comment[te]=Ogg Vorbis మరియూ ఇతర శ్రవణ ఫైళ్లని వాడు
|
||||||
|
Comment[th]=เล่นแฟ้ม Ogg Vorbis และแฟ้มเสียงอื่นๆ
|
||||||
|
Comment[tr]=Ogg Vorbis ve diğer işitsel dosyaları çalar
|
||||||
|
Comment[uk]=Відтворення файлів Ogg Vorbis та інших звукових файлів
|
||||||
|
Comment[ur]=اور دو سری آ ڈ یو فا ٔیلز چلا یں Ogg Vorbis
|
||||||
|
Comment[vi]=Chơi tập tin nhạc Ogg Vorbis và các tập tin khác
|
||||||
|
Comment[zh_CN]=播放 Ogg Vorbis 及其它音频文件
|
||||||
|
Comment[zh_TW]=播放 Ogg Vorbis 以及其他音效檔案
|
||||||
|
Comment[zu]=Dlala i- Ogg Vorbis kanye namafayela okuzwa
|
||||||
|
Exec=xmms -e -p %F
|
||||||
|
Icon=xmms
|
||||||
|
MimeType=audio/x-mp3;audio/x-it;audio/x-mod;audio/x-s3m;audio/x-stm;audio/x-wav;audio/x-mpegurl;audio/mpegurl;audio/x-scpls;application/x-ogg;application/ogg;
|
||||||
|
GenericName=Audio Player
|
||||||
|
GenericName[af]=Klankspeler
|
||||||
|
GenericName[am]=የድምጽ ማጫወቻ
|
||||||
|
GenericName[ar]=مُشغِّل الصّوتيّات
|
||||||
|
GenericName[as]=শ্ৰৱণ ক্ৰীড়ক
|
||||||
|
GenericName[be]=Аўдыё прайгравач
|
||||||
|
GenericName[bg]=Музикален плейър
|
||||||
|
GenericName[bn]=অডিও প্লেয়ার
|
||||||
|
GenericName[bn_IN]=অডিও প্লেয়ার
|
||||||
|
GenericName[ca]=Reproductor de so
|
||||||
|
GenericName[cs]=Přehrávač zvuku
|
||||||
|
GenericName[cy]=Chwaraewr Sain
|
||||||
|
GenericName[da]=Lydafspiller
|
||||||
|
GenericName[de]=Audio-Player
|
||||||
|
GenericName[el]=Αναπαραγωγέας Audio
|
||||||
|
GenericName[en_GB]=Audio Player
|
||||||
|
GenericName[es]=Reproductor de audio
|
||||||
|
GenericName[et]=Audio mängijad
|
||||||
|
GenericName[fa]=پخشکنندهٔ صدا
|
||||||
|
GenericName[fi]=Äänisoitin
|
||||||
|
GenericName[fr]=Lecteur audio
|
||||||
|
GenericName[gl]=Reproductor de audio
|
||||||
|
GenericName[gu]=ઓડિયો વગાડનાર
|
||||||
|
GenericName[he]=נגן צלילים
|
||||||
|
GenericName[hi]=श्रव्य चालक
|
||||||
|
GenericName[hr]=Svirač zvuka
|
||||||
|
GenericName[hu]=Hanglejátszó
|
||||||
|
GenericName[hy]=Ձայնարկիչ
|
||||||
|
GenericName[id]=Audio Player
|
||||||
|
GenericName[ilo]=Pagpatokar iti Uni
|
||||||
|
GenericName[is]=Hljóðspilari
|
||||||
|
GenericName[it]=Lettore audio
|
||||||
|
GenericName[ja]=オーディオプレーヤー
|
||||||
|
GenericName[ka]=აუდიოდამკვრელი
|
||||||
|
GenericName[kn]=ಧ್ವನಿ ನಿರೂಪಕ
|
||||||
|
GenericName[ko]=오디오 재생기
|
||||||
|
GenericName[lt]=Audio Grotuvas
|
||||||
|
GenericName[lv]=Audio atskaņotājs
|
||||||
|
GenericName[mk]=Аудио пуштач
|
||||||
|
GenericName[ml]=ഓഡിയോ പ്ലെയര്
|
||||||
|
GenericName[mr]=ध्वनीवादक
|
||||||
|
GenericName[ms]=Pemain Audio
|
||||||
|
GenericName[nb]=Lydavspiller
|
||||||
|
GenericName[nl]=Geluidsspeler
|
||||||
|
GenericName[no]=Lydavspiller
|
||||||
|
GenericName[nso]=Sebapadi se nago le Modumo
|
||||||
|
GenericName[or]=ଅଡିଓ ଚାଳକ
|
||||||
|
GenericName[pa]=ਆਡੀਓ ਪਲੇਅਰ
|
||||||
|
GenericName[pl]=Odtwarzacz dźwięku
|
||||||
|
GenericName[pt]=Reprodutor Áudio
|
||||||
|
GenericName[pt_BR]=Reprodutor de Áudio
|
||||||
|
GenericName[ro]=Player audio
|
||||||
|
GenericName[ru]=Звуковой проигрыватель
|
||||||
|
GenericName[si]=ශ්රව්ය වාදකය
|
||||||
|
GenericName[sk]=Prehrávač zvuku
|
||||||
|
GenericName[sl]=Predvajalnik zvoka
|
||||||
|
GenericName[sr]=Аудио програм
|
||||||
|
GenericName[sr@latin]=Audio program
|
||||||
|
GenericName[sv]=Ljudspelare
|
||||||
|
GenericName[ta]=கேட்பொலி இயக்கி
|
||||||
|
GenericName[te]=Audio Player
|
||||||
|
GenericName[th]=ตัวเล่นแฟ้มเสียง
|
||||||
|
GenericName[tr]=Sesçalar
|
||||||
|
GenericName[uk]=Програвач звуку
|
||||||
|
GenericName[ur]=Player آ ڈ یو
|
||||||
|
GenericName[vi]=Bộ chơi nhạc
|
||||||
|
GenericName[zh_CN]=音频播放器
|
||||||
|
GenericName[zh_TW]=音效播放器
|
||||||
|
GenericName[zu]=Umdlali Ozwakalayo
|
||||||
|
Terminal=false
|
||||||
|
Type=Application
|
||||||
|
MapNotify=false
|
||||||
|
Categories=AudioVideo;
|
||||||
8
xmms.sh
Normal file
8
xmms.sh
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
# https://bugzilla.redhat.com/213172
|
||||||
|
if [ -z "$XLIB_SKIP_ARGB_VISUALS" ] ; then
|
||||||
|
exec env XLIB_SKIP_ARGB_VISUALS=1 /usr/libexec/xmms "$@"
|
||||||
|
else
|
||||||
|
exec /usr/libexec/xmms "$@"
|
||||||
|
fi
|
||||||
102
xmms.spec
Normal file
102
xmms.spec
Normal file
@ -0,0 +1,102 @@
|
|||||||
|
Name: xmms
|
||||||
|
Epoch: 1
|
||||||
|
Version: 1.2.11
|
||||||
|
Release: 36.20071117cvs
|
||||||
|
License: GPLv2+
|
||||||
|
Summary: XMMS is a legacy GTK+1 music player modeled after Winamp
|
||||||
|
URL: http://legacy.xmms2.org/
|
||||||
|
Source0: xmms-%{version}-20071117cvs.patched.tar.bz2
|
||||||
|
Source1: xmms.sh
|
||||||
|
Source2: xmms.xpm
|
||||||
|
Source3: xmms-1.2.11-mpg123.tar.bz2
|
||||||
|
Source4: xmms.desktop
|
||||||
|
Provides: xmms-esd = 1:%{version}-%{release} xmms-gui bundled(libmpg123) xmms-mp3 = %{version}-%{release} xmms-libs = 1:%{version}-%{release}
|
||||||
|
Obsoletes: xmms-esd < 1:18.20071117cvs xmms-mp3 < 1.2.11-8 xmms-libs < 1:%{version}-%{release}
|
||||||
|
BuildRequires: gtk+-devel alsa-lib-devel libogg-devel libvorbis-devel mikmod-devel gettext-devel
|
||||||
|
BuildRequires: zlib-devel libGL-devel libXt-devel libSM-devel libXxf86vm-devel desktop-file-utils
|
||||||
|
Requires: unzip libcanberra-gtk2 gtk2
|
||||||
|
Requires(post): desktop-file-utils
|
||||||
|
Requires(postun): desktop-file-utils
|
||||||
|
|
||||||
|
Patch0001: xmms-1.2.6-audio.patch
|
||||||
|
Patch0002: xmms-1.2.6-lazy.patch
|
||||||
|
Patch0003: xmms-1.2.8-default-skin.patch
|
||||||
|
Patch0004: xmms-1.2.11-alsalib.patch
|
||||||
|
Patch0005: xmms-cd-mountpoint.patch
|
||||||
|
Patch0006: xmms-1.2.11-multilib.patch
|
||||||
|
Patch0007: xmms-1.2.11-is_quitting.patch
|
||||||
|
Patch0008: xmms-1.2.10-configfile-safe-write.patch
|
||||||
|
Patch0009: xmms-1.2.10-reposition.patch
|
||||||
|
Patch0010: xmms-play.patch
|
||||||
|
Patch0011: xmms-1.2.11-dso.patch
|
||||||
|
Patch0012: xmms-1.2.10-ubuntu-CVE-2007-0653.patch
|
||||||
|
Patch0013: xmms-alsa-fix-loop.patch
|
||||||
|
Patch0014: xmms-1.2.11-mikmod-fix.patch
|
||||||
|
Patch0015: xmms-1.2.11-a-b.patch
|
||||||
|
|
||||||
|
%description
|
||||||
|
XMMS is a legacy GTK+1 music player similar to Winamp's. XMMS supports
|
||||||
|
playlists and streaming content and has a configurable interface.
|
||||||
|
|
||||||
|
%package devel
|
||||||
|
Summary: Files required for XMMS plug-in development
|
||||||
|
Requires: gtk+-devel pkgconfig
|
||||||
|
|
||||||
|
%description devel
|
||||||
|
Files needed for building plug-ins for XMMS.
|
||||||
|
|
||||||
|
%package help
|
||||||
|
Summary: Help document for XMMS
|
||||||
|
Buildarch: noarch
|
||||||
|
|
||||||
|
%description help
|
||||||
|
Help document for XMMS.
|
||||||
|
|
||||||
|
%prep
|
||||||
|
%autosetup -n xmms-%{version}-20071117cvs -a3 -p1
|
||||||
|
sed -i -e 's|"/lib /usr/lib"|"/%{_lib} %{_libdir}"|' configure
|
||||||
|
%build
|
||||||
|
%configure --disable-dependency-tracking --enable-kanji --enable-texthack --enable-ipv6 --with-pic --disable-esd
|
||||||
|
%make_build
|
||||||
|
%install
|
||||||
|
%make_install
|
||||||
|
install -dm 755 %{buildroot}%{_datadir}/xmms/Skins
|
||||||
|
%delete_la_and_a
|
||||||
|
mv %{buildroot}/%{_datadir}/locale/sr@Latn %{buildroot}/%{_datadir}/locale/sr@latin
|
||||||
|
for bin in xmms wmxmms ; do
|
||||||
|
install -Dpm 755 %{buildroot}%{_bindir}/$bin %{buildroot}%{_libexecdir}/$bin
|
||||||
|
sed -e "s|/usr/libexec/xmms|%{_libexecdir}/$bin|" %{SOURCE1} > %{buildroot}%{_bindir}/$bin
|
||||||
|
chmod 755 %{buildroot}%{_bindir}/$bin
|
||||||
|
done
|
||||||
|
desktop-file-install --dir=%{buildroot}%{_datadir}/applications %{SOURCE4}
|
||||||
|
install -Dpm 644 %{SOURCE2} %{buildroot}%{_datadir}/icons/hicolor/48x48/apps/xmms.xpm
|
||||||
|
install -Dpm 644 xmms.pc %{buildroot}%{_libdir}/pkgconfig/xmms.pc
|
||||||
|
%find_lang xmms
|
||||||
|
%post
|
||||||
|
/sbin/ldconfig
|
||||||
|
%postun
|
||||||
|
/sbin/ldconfig
|
||||||
|
|
||||||
|
%files -f xmms.lang
|
||||||
|
%doc COPYING AUTHORS ChangeLog FAQ NEWS TODO README README.ab
|
||||||
|
%{_bindir}/{xmms,wmxmms}
|
||||||
|
%{_libexecdir}/{xmms,wmxmms}
|
||||||
|
%{_datadir}/applications/xmms.desktop
|
||||||
|
%{_datadir}/icons/hicolor/*x*/apps/xmms.xpm
|
||||||
|
%{_datadir}/xmms
|
||||||
|
%{_libdir}/libxmms.so.*
|
||||||
|
%{_libdir}/xmms/{Effect,General,Input,Output,Visualization}
|
||||||
|
|
||||||
|
%files devel
|
||||||
|
%{_bindir}/xmms-config
|
||||||
|
%{_includedir}/xmms/
|
||||||
|
%{_libdir}/libxmms.so
|
||||||
|
%{_datadir}/aclocal/xmms.m4
|
||||||
|
%{_libdir}/pkgconfig/xmms.pc
|
||||||
|
|
||||||
|
%files help
|
||||||
|
%{_mandir}/man1/*xmms.1*
|
||||||
|
|
||||||
|
%changelog
|
||||||
|
* Fri Nov 29 2019 Ling Yang <lingyang2@huawei.com> - 1:1.2.11-36.20071117cvs
|
||||||
|
- Package init
|
||||||
Loading…
x
Reference in New Issue
Block a user