Added Debian patches to fix a few bugs including bug #103435.
authorLuis Medinas <metalgod@gentoo.org>
Mon, 31 Oct 2005 03:09:03 +0000 (03:09 +0000)
committerLuis Medinas <metalgod@gentoo.org>
Mon, 31 Oct 2005 03:09:03 +0000 (03:09 +0000)
Package-Manager: portage-2.0.53_rc6

media-plugins/xmms-infopipe/ChangeLog
media-plugins/xmms-infopipe/Manifest
media-plugins/xmms-infopipe/files/digest-xmms-infopipe-1.3-r1 [new file with mode: 0644]
media-plugins/xmms-infopipe/files/xmms-infopipe-tweaks.patch [new file with mode: 0644]
media-plugins/xmms-infopipe/xmms-infopipe-1.3-r1.ebuild [new file with mode: 0644]

index 6dab63a13146bd58506b584b94359bd8777c0cba..886a60eb0c9ed2bb68d64fe1354374266d16a880 100644 (file)
@@ -1,6 +1,12 @@
 # ChangeLog for media-plugins/xmms-infopipe
 # Copyright 2002-2005 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/media-plugins/xmms-infopipe/ChangeLog,v 1.16 2005/09/14 06:00:23 agriffis Exp $
+# $Header: /var/cvsroot/gentoo-x86/media-plugins/xmms-infopipe/ChangeLog,v 1.17 2005/10/31 03:09:03 metalgod Exp $
+
+*xmms-infopipe-1.3-r1 (31 Oct 2005)
+
+  31 Oct 2005; Luis Medinas <metalgod@gentoo.org>
+  +files/xmms-infopipe-tweaks.patch, +xmms-infopipe-1.3-r1.ebuild:
+  Added Debian patches to fix a few bugs including bug #103435.
 
   13 Sep 2005; Aron Griffis <agriffis@gentoo.org> xmms-infopipe-1.3.ebuild:
   Mark 1.3 stable on alpha
index c1ed92747e0c9bbd0410f23bc5e68cb15dbb502f..52212f264b07ab319ebc6f65e1041de0afac83d9 100644 (file)
@@ -1,4 +1,17 @@
-MD5 f9e4428d945f924ed2272df5b5023394 xmms-infopipe-1.3.ebuild 869
-MD5 a1eaeb2ae801daeb712c90c060e922dc metadata.xml 158
-MD5 da89ad0a60757334009563db86c8a65e ChangeLog 1969
+-----BEGIN PGP SIGNED MESSAGE-----
+Hash: SHA1
+
+MD5 35ab38c519a78a5f08c5d2987439adbf ChangeLog 2188
 MD5 14dae097605a2dc2254a02f3972d5e28 files/digest-xmms-infopipe-1.3 69
+MD5 14dae097605a2dc2254a02f3972d5e28 files/digest-xmms-infopipe-1.3-r1 69
+MD5 05bf51208a6679dd57ebca0be69f1ff1 files/xmms-infopipe-tweaks.patch 2865
+MD5 a1eaeb2ae801daeb712c90c060e922dc metadata.xml 158
+MD5 72084d81d455aa08161971f4be7e96e6 xmms-infopipe-1.3-r1.ebuild 934
+MD5 f9e4428d945f924ed2272df5b5023394 xmms-infopipe-1.3.ebuild 869
+-----BEGIN PGP SIGNATURE-----
+Version: GnuPG v1.4.1 (GNU/Linux)
+
+iD8DBQFDZYpZwUpWvClEHQoRAlxAAKCGkN5I7nWlrla3eDWBJmF5WY4EOgCeKCW5
+bzjra5B5Y7004ezi7flnLpU=
+=3SjL
+-----END PGP SIGNATURE-----
diff --git a/media-plugins/xmms-infopipe/files/digest-xmms-infopipe-1.3-r1 b/media-plugins/xmms-infopipe/files/digest-xmms-infopipe-1.3-r1
new file mode 100644 (file)
index 0000000..02b695d
--- /dev/null
@@ -0,0 +1 @@
+MD5 1ccc90254c58a81f87abc43720fe71bf xmms-infopipe-1.3.tar.gz 172599
diff --git a/media-plugins/xmms-infopipe/files/xmms-infopipe-tweaks.patch b/media-plugins/xmms-infopipe/files/xmms-infopipe-tweaks.patch
new file mode 100644 (file)
index 0000000..0004e14
--- /dev/null
@@ -0,0 +1,89 @@
+--- xmms-infopipe-1.3.orig/src/infopipe_senddata.c
++++ xmms-infopipe-1.3/src/infopipe_senddata.c
+@@ -5,6 +5,7 @@
+ #include <stdio.h>
+ #include <glib.h>
+ #include <xmms/util.h>
++#include <xmms/xmmsctrl.h>
+ #include "infopipe.h"
+ #include "../config.h"
+ 
+@@ -14,7 +15,7 @@
+   This will get the XMMS information and print them out to the pipe.
+  */
+ void blast_info(FILE *pipe) {
+-  gchar *play_status;
++  gchar *play_status, *s1, *s2;
+   gint tunes = xmms_remote_get_playlist_length(SESSIONID);
+   gint current = xmms_remote_get_playlist_pos(SESSIONID);
+ 
+@@ -81,10 +82,14 @@
+   fprintf(pipe, "Channels: %d\n",nch);
+ 
+   /* The basicest of the basic information. Title string and file name. */
+-  fprintf(pipe, "Title: %s\n",
+-        xmms_remote_get_playlist_title(SESSIONID,current));
+-  fprintf(pipe, "File: %s\n",
+-        xmms_remote_get_playlist_file(SESSIONID,current));
++  s1 = xmms_remote_get_playlist_title(SESSIONID,current);
++  s2 = xmms_remote_get_playlist_file(SESSIONID,current);
++  
++  fprintf(pipe, "Title: %s\n", s1);
++  fprintf(pipe, "File: %s\n", s2);
++
++  g_free(s1); /* xmms_remote_get_playlist_* require we call g_free on the returned string */
++  g_free(s2); /* xmms_remote_get_playlist_* require we call g_free on the returned string */
+ 
+   g_free(play_status);
+ }
+--- xmms-infopipe-1.3.orig/src/infopipe.c
++++ xmms-infopipe-1.3/src/infopipe.c
+@@ -228,16 +228,24 @@
+   fd_set fds;
+   FILE *p;  /* the pipe */
+   int fd; /* File descriptor for pipe, and its flags. */
++  struct timespec tv;
+ 
+   for(;;) {
++    /* This is a thread, fill the structure early */
++    tv.tv_sec = 0;
++    tv.tv_nsec = 100000000; /* 1/10th of a second */
++
+     /* Open the pipe as file descriptor. */
+     /* (O_RDONLY seems to be enough in Linux, but FreeBSDites seemed to
+        demand O_RDWR.) */
+-    fd = open(fifo_file, O_RDWR);
++    /* (Actually, we need to write to the pipe, not read it, so O_WRONLY) */
++    fd = open(fifo_file, O_WRONLY);
+     
+     if(fd == -1) {
+       perror("xmms_infopipe: Pipe open failed");
+       xmms_quit();
++      /* exit the function, don't give the chance to fill with invalid data */
++      return;  
+     }
+ 
+     /* Set the file handle to use non-blocking I/O */
+@@ -262,9 +270,8 @@
+     /* Changed to 1 second after request... report if you have problems.
+        FIXME: Should use XMMS configfile facility & config dialog???
+     */
+-    sleep(1); /* Umm, or non-blockingness still doesn't work without this!
+-               Is there some nicer way of saying this, like "wait
+-               until no reader?" select()? */
++
++    nanosleep(&tv, NULL);
+   }
+ }
+ 
+--- xmms-infopipe-1.3.orig/applications/xmms-info.php
++++ xmms-infopipe-1.3/applications/xmms-info.php
+@@ -11,7 +11,7 @@
+ 
+   $info = fopen ("/tmp/xmms-info", "r");
+ 
+-  $input = fread ($info, 261);
++  $input = fread ($info, 2048);
+   $parse = split ("\n", $input);
+ 
+   fclose ($info);
diff --git a/media-plugins/xmms-infopipe/xmms-infopipe-1.3-r1.ebuild b/media-plugins/xmms-infopipe/xmms-infopipe-1.3-r1.ebuild
new file mode 100644 (file)
index 0000000..281bbf4
--- /dev/null
@@ -0,0 +1,38 @@
+# Copyright 1999-2005 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/media-plugins/xmms-infopipe/xmms-infopipe-1.3-r1.ebuild,v 1.1 2005/10/31 03:09:03 metalgod Exp $
+
+inherit eutils
+
+IUSE=""
+
+DESCRIPTION="Publish information about currently playing song in xmms to a temp file"
+SRC_URI="http://www.beastwithin.org/users/wwwwolf/code/xmms/${P}.tar.gz"
+HOMEPAGE="http://www.beastwithin.org/users/wwwwolf/code/xmms/infopipe.html"
+
+SLOT="0"
+LICENSE="GPL-2"
+KEYWORDS="~alpha ~amd64 ~hppa ~ppc ~ppc64 ~sparc ~x86"
+
+DEPEND="media-sound/xmms"
+
+src_unpack() {
+       unpack ${A}
+
+       # Fix bad configure which breaks newer portage.
+       cd ${S}
+       mv configure configure.old
+       cat - configure.old > configure << EOF
+#!/bin/sh
+EOF
+
+       chmod 755 configure
+
+       epatch ${FILESDIR}/${PN}-tweaks.patch
+}
+
+src_install () {
+       make DESTDIR=${D} install || die
+
+       dodoc AUTHORS ChangeLog NEWS README
+}