summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--media-video/vdr/ChangeLog8
-rw-r--r--media-video/vdr/files/vdr-1.6.0-extensions-gcc-4.4.diff39
-rw-r--r--media-video/vdr/files/vdr-1.6.0-gcc-4.4.diff85
-rw-r--r--media-video/vdr/vdr-1.6.0_p2-r2.ebuild8
4 files changed, 136 insertions, 4 deletions
diff --git a/media-video/vdr/ChangeLog b/media-video/vdr/ChangeLog
index 94a6b9ef3b13..1124fa4b0839 100644
--- a/media-video/vdr/ChangeLog
+++ b/media-video/vdr/ChangeLog
@@ -1,6 +1,10 @@
# ChangeLog for media-video/vdr
-# Copyright 2002-2009 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/media-video/vdr/ChangeLog,v 1.128 2009/03/29 16:34:41 hd_brummy Exp $
+# Copyright 1999-2009 Gentoo Foundation; Distributed under the GPL v2
+# $Header: /var/cvsroot/gentoo-x86/media-video/vdr/ChangeLog,v 1.129 2009/06/04 08:46:37 zzam Exp $
+
+ 04 Jun 2009; Matthias Schwarzott <zzam@gentoo.org> vdr-1.6.0_p2-r2.ebuild,
+ +files/vdr-1.6.0-extensions-gcc-4.4.diff, +files/vdr-1.6.0-gcc-4.4.diff:
+ Add patch to fix compiling with gcc-4.4. Bug #271617.
29 Mar 2009; Joerg Bornkessel <hd_brummy@gentoo.org>
vdr-1.6.0_p2-r2.ebuild:
diff --git a/media-video/vdr/files/vdr-1.6.0-extensions-gcc-4.4.diff b/media-video/vdr/files/vdr-1.6.0-extensions-gcc-4.4.diff
new file mode 100644
index 000000000000..c4c9651707cd
--- /dev/null
+++ b/media-video/vdr/files/vdr-1.6.0-extensions-gcc-4.4.diff
@@ -0,0 +1,39 @@
+diff -ru vdr-1.6.0-orig/menu.c vdr-1.6.0/menu.c
+--- vdr-1.6.0-orig/menu.c 2009-06-04 10:01:37.538006043 +0200
++++ vdr-1.6.0/menu.c 2009-06-04 10:04:02.967985781 +0200
+@@ -2495,14 +2495,14 @@
+ priority = recording->priority;
+ lifetime = recording->lifetime;
+
+- char* p = strrchr(recording->Name(), '~');
++ const char* p = strrchr(recording->Name(), '~');
+ if (p) {
+ p++;
+ Utf8Strn0Cpy(name, p, sizeof(name));
+ Utf8Strn0Cpy(path, recording->Name(), sizeof(path));
+- p = strrchr(path, '~');
+- if (p)
+- p[0] = 0;
++ char* p2 = strrchr(path, '~');
++ if (p2)
++ p2[0] = 0;
+ }
+ else {
+ Utf8Strn0Cpy(name, recording->Name(), sizeof(name));
+diff -ru vdr-1.6.0-orig/videodir.c vdr-1.6.0/videodir.c
+--- vdr-1.6.0-orig/videodir.c 2009-06-04 10:01:37.531340365 +0200
++++ vdr-1.6.0/videodir.c 2009-06-04 10:22:20.074546524 +0200
+@@ -196,9 +196,10 @@
+ #ifdef USE_HARDLINKCUTTER
+ static bool StatNearestDir(const char *FileName, struct stat *Stat)
+ {
+- cString Name(FileName);
++ char *Name = strdup(FileName);
++ cString Name_str(Name, true); /* manage free for us */
+ char *p;
+- while ((p = strrchr((const char*)Name + 1, '/')) != NULL) {
++ while ((p = strrchr(Name + 1, '/')) != NULL) {
+ *p = 0; // truncate at last '/'
+ if (stat(Name, Stat) == 0) {
+ isyslog("StatNearestDir: Stating %s", (const char*)Name);
+
diff --git a/media-video/vdr/files/vdr-1.6.0-gcc-4.4.diff b/media-video/vdr/files/vdr-1.6.0-gcc-4.4.diff
new file mode 100644
index 000000000000..23eb78ec3b8c
--- /dev/null
+++ b/media-video/vdr/files/vdr-1.6.0-gcc-4.4.diff
@@ -0,0 +1,85 @@
+diff -ru vdr-1.6.0-orig/channels.c vdr-1.6.0/channels.c
+--- vdr-1.6.0-orig/channels.c 2009-06-04 10:34:56.144472994 +0200
++++ vdr-1.6.0/channels.c 2009-06-04 10:34:33.341139740 +0200
+@@ -574,7 +574,7 @@
+ }
+ else
+ q += sprintf(q, " none");
+- dsyslog(buffer);
++ dsyslog("%s", buffer);
+ }
+
+ void cChannel::SetRefChannel(cChannel *RefChannel)
+diff -ru vdr-1.6.0-orig/receiver.c vdr-1.6.0/receiver.c
+--- vdr-1.6.0-orig/receiver.c 2009-06-04 10:34:46.547807527 +0200
++++ vdr-1.6.0/receiver.c 2009-06-04 10:35:26.074465985 +0200
+@@ -40,7 +40,7 @@
+ {
+ if (device) {
+ const char *msg = "ERROR: cReceiver has not been detached yet! This is a design fault and VDR will segfault now!";
+- esyslog(msg);
++ esyslog("%s", msg);
+ fprintf(stderr, "%s\n", msg);
+ *(char *)0 = 0; // cause a segfault
+ }
+diff -ru vdr-1.6.0-orig/recording.c vdr-1.6.0/recording.c
+--- vdr-1.6.0-orig/recording.c 2009-06-04 10:34:56.141139523 +0200
++++ vdr-1.6.0/recording.c 2009-06-04 10:34:33.337807723 +0200
+@@ -509,8 +509,8 @@
+ Utf8Strn0Cpy(SubtitleBuffer, Subtitle, MAX_SUBTITLE_LENGTH);
+ Subtitle = SubtitleBuffer;
+ }
+- char *macroTITLE = strstr(Timer->File(), TIMERMACRO_TITLE);
+- char *macroEPISODE = strstr(Timer->File(), TIMERMACRO_EPISODE);
++ const char *macroTITLE = strstr(Timer->File(), TIMERMACRO_TITLE);
++ const char *macroEPISODE = strstr(Timer->File(), TIMERMACRO_EPISODE);
+ if (macroTITLE || macroEPISODE) {
+ name = strdup(Timer->File());
+ name = strreplace(name, TIMERMACRO_TITLE, Title);
+@@ -551,7 +551,7 @@
+ sortBuffer = NULL;
+ fileName = strdup(FileName);
+ FileName += strlen(VideoDirectory) + 1;
+- char *p = strrchr(FileName, '/');
++ const char *p = strrchr(FileName, '/');
+
+ name = NULL;
+ info = new cRecordingInfo;
+@@ -1022,7 +1022,8 @@
+ if (recording) {
+ cThreadLock DeletedRecordingsLock(&DeletedRecordings);
+ Del(recording, false);
+- char *ext = strrchr(recording->FileName(), '.');
++ // wtf?
++ char *ext = strrchr(const_cast<char*>(recording->FileName()), '.');
+ if (ext) {
+ strncpy(ext, DELEXT, strlen(ext));
+ recording->fileSizeMB = DirSizeMB(recording->FileName());
+diff -ru vdr-1.6.0-orig/svdrp.c vdr-1.6.0/svdrp.c
+--- vdr-1.6.0-orig/svdrp.c 2009-06-04 10:34:56.141139523 +0200
++++ vdr-1.6.0/svdrp.c 2009-06-04 10:34:33.337807723 +0200
+@@ -736,7 +736,7 @@
+ char *strtok_next;
+ FileName = strtok_r(p, delim, &strtok_next);
+ // image type:
+- char *Extension = strrchr(FileName, '.');
++ const char *Extension = strrchr(FileName, '.');
+ if (Extension) {
+ if (strcasecmp(Extension, ".jpg") == 0 || strcasecmp(Extension, ".jpeg") == 0)
+ Jpeg = true;
+@@ -796,12 +796,12 @@
+ if (FileName) {
+ if (grabImageDir) {
+ cString s;
+- char *slash = strrchr(FileName, '/');
++ char *slash = strrchr(const_cast<char*>(FileName), '/');
+ if (!slash) {
+ s = AddDirectory(grabImageDir, FileName);
+ FileName = s;
+ }
+- slash = strrchr(FileName, '/'); // there definitely is one
++ slash = strrchr(const_cast<char*>(FileName), '/'); // there definitely is one
+ *slash = 0;
+ char *r = realpath(FileName, RealFileName);
+ *slash = '/';
+
diff --git a/media-video/vdr/vdr-1.6.0_p2-r2.ebuild b/media-video/vdr/vdr-1.6.0_p2-r2.ebuild
index 7865e657836e..4d5053dbb242 100644
--- a/media-video/vdr/vdr-1.6.0_p2-r2.ebuild
+++ b/media-video/vdr/vdr-1.6.0_p2-r2.ebuild
@@ -1,6 +1,6 @@
# Copyright 1999-2009 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/media-video/vdr/vdr-1.6.0_p2-r2.ebuild,v 1.2 2009/03/29 16:34:41 hd_brummy Exp $
+# $Header: /var/cvsroot/gentoo-x86/media-video/vdr/vdr-1.6.0_p2-r2.ebuild,v 1.3 2009/06/04 08:46:37 zzam Exp $
inherit eutils flag-o-matic multilib
@@ -220,7 +220,9 @@ src_unpack() {
-e 's/runvdr//' \
-e 's/ install-plugins//'
- if ! use vanilla; then
+ if use vanilla; then
+ epatch "${FILESDIR}"/vdr-1.6.0-gcc-4.4.diff
+ else
cd "${S}"
# Now apply extensions patch
@@ -232,6 +234,8 @@ src_unpack() {
# other gentoo patches
# epatch "${FILESDIR}/..."
+ epatch "${FILESDIR}"/vdr-1.6.0-gcc-4.4.diff
+ epatch "${FILESDIR}"/vdr-1.6.0-extensions-gcc-4.4.diff
# This allows us to start even if some plugin does not exist
# or is not loadable.