xmms: openEuler init

This commit is contained in:
gnaygnil 2019-11-30 14:55:40 +08:00
commit 598c462af0
23 changed files with 2900 additions and 0 deletions

View 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
View 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)

View 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));

View 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);

Binary file not shown.

147
xmms-1.2.11-a-b.patch Normal file
View 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
View 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
View 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
View 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)

View 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)
{

View 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

Binary file not shown.

129
xmms-1.2.11-multilib.patch Normal file
View 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
View 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
View 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
}

View 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
View 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
View 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
View 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
View 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 tp tin nhc Ogg Vorbis và các tp 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 nhc
GenericName[zh_CN]=
GenericName[zh_TW]=
GenericName[zu]=Umdlali Ozwakalayo
Terminal=false
Type=Application
MapNotify=false
Categories=AudioVideo;

8
xmms.sh Normal file
View 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
View 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

1778
xmms.xpm Normal file

File diff suppressed because it is too large Load Diff