Hi!

What will be with poor xcdroast?


Here is the patch.
>From 2d68e164c9847eb773f679d3ccbee25904232543 Mon Sep 17 00:00:00 2001
From: kikadf <[email protected]>
Date: Wed, 21 Apr 2010 16:33:42 +0200
Subject: [PATCH] New package: xcdroast

---
 source/xmultimedia-extra/xcdroast/FrugalBuild      |   34 ++++++++++++
 .../xcdroast/cdda2wav_version.patch                |   54 ++++++++++++++++++++
 source/xmultimedia-extra/xcdroast/io_compile.patch |   21 ++++++++
 .../xmultimedia-extra/xcdroast/parse_version.patch |   11 ++++
 4 files changed, 120 insertions(+), 0 deletions(-)
 create mode 100644 source/xmultimedia-extra/xcdroast/FrugalBuild
 create mode 100644 source/xmultimedia-extra/xcdroast/cdda2wav_version.patch
 create mode 100644 source/xmultimedia-extra/xcdroast/io_compile.patch
 create mode 100644 source/xmultimedia-extra/xcdroast/parse_version.patch

diff --git a/source/xmultimedia-extra/xcdroast/FrugalBuild 
b/source/xmultimedia-extra/xcdroast/FrugalBuild
new file mode 100644
index 0000000..32ba11c
--- /dev/null
+++ b/source/xmultimedia-extra/xcdroast/FrugalBuild
@@ -0,0 +1,34 @@
+# Compiling Time: 0.08 SBU
+# Maintainer: somebody
+# Contributor: kikadf <[email protected]>
+
+pkgname=xcdroast
+pkgver=0.98alpha16
+pkgrel=1
+pkgdesc="Lightweight cdrtools front-end for CD and DVD writing"
+url="http://www.xcdroast.org";
+Finclude sourceforge
+Fconfopts="--enable-gtk2 --bindir=/usr/bin --datadir=/usr/share"
+depends=('cdrtools' 'gtk+2')
+groups=('xmultimedia-extra')
+archs=('i686' 'x86_64')
+source=(http://${_F_sourceforge_mirror}.sourceforge.net/sourceforge/${_F_sourceforge_dirname}/"${_F_sourceforge_name}"${_F_sourceforge_sep}${_F_sourceforge_pkgver}${_F_sourceforge_ext}
 \
+       parse_version.patch \
+       io_compile.patch \
+        cdda2wav_version.patch)
+sha1sums=('bbb3184a7e2bfd80d931698002dc9f74f136241d' \
+         'b4f85e53d050f355a162e9ca94b6b928f10fc5a8' \
+         '03149229d3a09015a32cc9c4b8490efcae456271' \
+          '0367568a2ed3e773c10279e52101fb70a8adf133')
+
+build() {
+       Fpatchall
+       Fmake
+       Fmakeinstall DESTDIR=$Fdestdir
+       Fmkdir usr/share/applications
+       Fcp $pkgname-$pkgver/extra/$pkgname.desktop 
usr/share/applications/$pkgname.desktop
+       echo "Categories=Application;AudioVideo;" >> 
$Fdestdir/usr/share/applications/$pkgname.desktop
+}
+
+
+# optimization OK
diff --git a/source/xmultimedia-extra/xcdroast/cdda2wav_version.patch 
b/source/xmultimedia-extra/xcdroast/cdda2wav_version.patch
new file mode 100644
index 0000000..cd001e0
--- /dev/null
+++ b/source/xmultimedia-extra/xcdroast/cdda2wav_version.patch
@@ -0,0 +1,54 @@
+diff -urNad xcdroast-0.98+0alpha16~/src/io.c xcdroast-0.98+0alpha16/src/io.c
+--- xcdroast-0.98+0alpha16~/src/io.c   2008-08-21 15:11:40.000000000 +0200
++++ xcdroast-0.98+0alpha16/src/io.c    2009-12-29 22:54:08.571188849 +0100
+@@ -10062,6 +10062,7 @@
+ 
+ gint check_version_cdda2wav(gchar *match, gchar *found) {
+ gchar line[MAXLINE];
++gchar vline[MAXLINE];
+ gchar ver[MAXLINE];
+ FILE *fpin;
+ gchar *p;
+@@ -10076,32 +10077,38 @@
+         }
+ 
+       strcpy(line,"");
++      strcpy(vline,"");
+         for (;;) {
+                 if (fgets(line,MAXLINE,fpin) == NULL) 
+                         break;
+               dodebug(10,"got: %s",line);
++
++              /* only get first line */
++              if (strcmp(vline,"") == 0) {
++                      strncpy(vline, line, MAXLINE);
++              }
+         }
+ 
+         if (pclose(fpin) == -1) {
+                 g_error("pclose error\n");
+         }
+ 
+-      if (strcmp(line,"") == 0 || strstr(line,"sh:") != NULL) {
++      if (strcmp(vline,"") == 0 || strstr(vline,"sh:") != NULL) {
+               /* failed to open - permission denied */
+               return 2;
+       }
+ 
+-      /* now line contains the version string of cdda2wav */
++      /* now vline contains the version string of cdda2wav */
+       /* try to extract the version number */
+ 
+-      p = strstr(line,"version");
++      p = strstr(vline,"version");
+       if (p != NULL) {
+               p = strtok(p+8, " _");
+               if (p != NULL) {
+                       strcpy(ver,p);
+               }
+       } else {
+-              p = strstr(line,"cdda2wav");
++              p = strstr(vline,"cdda2wav");
+               if (p != NULL) {
+                       p = strtok(p+9, " ");
+                       if (p != NULL) {
diff --git a/source/xmultimedia-extra/xcdroast/io_compile.patch 
b/source/xmultimedia-extra/xcdroast/io_compile.patch
new file mode 100644
index 0000000..7285bd3
--- /dev/null
+++ b/source/xmultimedia-extra/xcdroast/io_compile.patch
@@ -0,0 +1,21 @@
+--- src/io.c.org       2009-02-24 09:38:27.000000000 +0100
++++ src/io.c   2009-02-24 09:45:18.000000000 +0100
+@@ -1903,7 +1903,8 @@
+       }
+ 
+       strcpy(str,"");
+-      fgets(str,MAXLINE,fpin); 
++      if (fgets(str,MAXLINE,fpin) == NULL)
++                g_error("fgets error\n");
+ 
+         if (pclose(fpin) == -1) {
+                 g_error("pclose error\n");
+@@ -4720,7 +4721,7 @@
+       dolog(3, "Saving extended output to %s\n", fname);
+ 
+       /* write to file */
+-      fd = open(fname,O_WRONLY | O_CREAT);
++      fd = open(fname, O_WRONLY | O_CREAT, S_IRUSR | S_IWUSR);
+       if (fd < 0) {
+               g_warning("Can't open file %s for writing\n",fname);
+               return 1;
diff --git a/source/xmultimedia-extra/xcdroast/parse_version.patch 
b/source/xmultimedia-extra/xcdroast/parse_version.patch
new file mode 100644
index 0000000..d117120
--- /dev/null
+++ b/source/xmultimedia-extra/xcdroast/parse_version.patch
@@ -0,0 +1,11 @@
+--- src/xtools.c.bak   2008-08-20 18:10:28.000000000 +0200
++++ src/xtools.c       2008-09-23 20:22:01.000000000 +0200
+@@ -3086,7 +3086,7 @@
+ gchar tmp[MAXLINE];
+ gchar *p,*q,*r;
+ 
+-        ver->major = ver->minor = ver->patch = 0;
++        ver->major = ver->minor = ver->patch = ver->branch = 0;
+       ver->devel='h';
+ 
+       strncpy(tmp, str, MAXLINE);
-- 
1.7.0.5

_______________________________________________
Frugalware-devel mailing list
[email protected]
http://frugalware.org/mailman/listinfo/frugalware-devel

Reply via email to