aboutsummaryrefslogtreecommitdiff
path: root/multimedia/vdr
diff options
context:
space:
mode:
Diffstat (limited to 'multimedia/vdr')
-rw-r--r--multimedia/vdr/Makefile15
-rw-r--r--multimedia/vdr/files/patch-vdr-1.7.27_FreeBSD31
-rw-r--r--multimedia/vdr/files/stb0899-signalstrength.patch15
-rw-r--r--multimedia/vdr/pkg-plist1
4 files changed, 48 insertions, 14 deletions
diff --git a/multimedia/vdr/Makefile b/multimedia/vdr/Makefile
index af6c5aeb175a..babcf9f08ba2 100644
--- a/multimedia/vdr/Makefile
+++ b/multimedia/vdr/Makefile
@@ -7,24 +7,22 @@
PORTNAME= vdr
PORTVERSION= 1.7.27
+PORTREVISION= 1
CATEGORIES= multimedia
MASTER_SITES= ftp://ftp.tvdr.de/vdr/Developer/
-PATCH_SITES= http://www.udo-richter.de/vdr/files/
-PATCHFILES= vdr-1.7.24-s2apiwrapper-0.8.diff
-PATCH_DIST_STRIP= -p1
-
MAINTAINER= nox@FreeBSD.org
COMMENT= Video Disk Recorder - development version
-BUILD_DEPENDS= ${LOCALBASE}/include/linux/dvb/frontend.h:${PORTSDIR}/multimedia/v4l_compat
+BUILD_DEPENDS= v4l_compat>=1.0.20120501:${PORTSDIR}/multimedia/v4l_compat
LIB_DEPENDS= jpeg.11:${PORTSDIR}/graphics/jpeg
BUILD_DEPENDS+= ${LOCALBASE}/libdata/pkgconfig/fontconfig.pc:${PORTSDIR}/x11-fonts/fontconfig
RUN_DEPENDS+= ${LOCALBASE}/libdata/pkgconfig/fontconfig.pc:${PORTSDIR}/x11-fonts/fontconfig
OPTIONS= IPTVPATCH "Stops EIT scans on IPTV channels" On \
TTXPATCH "Support patches for teletext subtitle plugin" On \
- DVBPATCH "DVB audio patch for some countries" Off
+ DVBPATCH "DVB audio patch for some countries" Off \
+ STB0899_SIGNAL "STB0899 signal strength patch" Off
DIST_SUBDIR= vdr
USE_BZIP2= yes
@@ -95,6 +93,11 @@ post-patch:
@${PATCH} -d ${WRKSRC} --quiet -p1 <${FILESDIR}/vdr-1.7.21-ttxtsubs.patch-1
@${PATCH} -d ${WRKSRC} --quiet -p1 <${FILESDIR}/vdr-1.7.21-ttxtsubs.patch-2
.endif
+.if defined(WITH_STB0899_SIGNAL)
+# This fixes signal strength display for e.g. pctv452e-based tuners.
+# (like TT S2-36?0.)
+ @${PATCH} -d ${WRKSRC} --quiet -p1 <${FILESDIR}/stb0899-signalstrength.patch
+.endif
@${SED} 's|^\(VIDEODIR[[:space:]]*\)[?]*\(=[[:space:]]*\).*|\1\2${VIDEODIR}|' \
${WRKSRC}/Make.config.template >${WRKSRC}/Make.config
@${REINPLACE_CMD} -e 's|%%CONFDIR%%|${CONFDIR}|' ${WRKSRC}/vdr.1
diff --git a/multimedia/vdr/files/patch-vdr-1.7.27_FreeBSD b/multimedia/vdr/files/patch-vdr-1.7.27_FreeBSD
index 65120f540818..b20b6df54cdc 100644
--- a/multimedia/vdr/files/patch-vdr-1.7.27_FreeBSD
+++ b/multimedia/vdr/files/patch-vdr-1.7.27_FreeBSD
@@ -425,13 +425,6 @@ diff -u -r1.1.1.4 -r1.5
free(codeBuf);
return code != stNone && description && *description;
Index: svdrp.c
-===================================================================
-RCS file: /progs/network/ccvs/vdr/svdrp.c,v
-retrieving revision 1.1.1.2
-retrieving revision 1.4
-diff -u -r1.1.1.2 -r1.4
---- svdrp.c 2010/02/17 10:14:45 1.1.1.2
-+++ svdrp.c 2010/02/17 12:34:54 1.4
@@ -40,6 +40,12 @@
#include "tools.h"
#include "videodir.h"
@@ -445,6 +438,30 @@ diff -u -r1.1.1.2 -r1.4
// --- cSocket ---------------------------------------------------------------
cSocket::cSocket(int Port, int Queue)
+@@ -124,6 +130,23 @@ int cSocket::Accept(void)
+ }
+ else if (errno != EINTR && errno != EAGAIN)
+ LOG_ERROR;
++#ifdef __FreeBSD__
++ // Linux' accept() doesn't inherit O_NONBLOCK... (this fixes
++ // cSVDRP::Send() failing due to EAGAIN when vdradmin-am downloads EPG.)
++ if (newsock >= 0) {
++ // make it blocking:
++ int oldflags = fcntl(newsock, F_GETFL, 0);
++ if (oldflags < 0) {
++ LOG_ERROR;
++ return -1;
++ }
++ oldflags &= ~O_NONBLOCK;
++ if (fcntl(newsock, F_SETFL, oldflags) < 0) {
++ LOG_ERROR;
++ return -1;
++ }
++ }
++#endif
+ return newsock;
+ }
+ return -1;
Index: themes.c
===================================================================
RCS file: /progs/network/ccvs/vdr/themes.c,v
diff --git a/multimedia/vdr/files/stb0899-signalstrength.patch b/multimedia/vdr/files/stb0899-signalstrength.patch
new file mode 100644
index 000000000000..cc8816dbff5d
--- /dev/null
+++ b/multimedia/vdr/files/stb0899-signalstrength.patch
@@ -0,0 +1,15 @@
+--- dvbdevice.c.orig
++++ dvbdevice.c
+@@ -559,6 +560,12 @@ int cDvbTuner::GetSignalStrength(void) c
+ switch (subsystemId) {
+ case 0x13C21019: MaxSignal = 670; break; // TT-budget S2-3200 (DVB-S/DVB-S2)
+ }
++#if 1
++ // XXX This is likely not correct for all cards using stb0899
++ // but pctv452e usb ones seem to be affected too...
++ if (!strcmp(device->DeviceName(), "STB0899 Multistandard"))
++ MaxSignal = 670;
++#endif
+ int s = int(Signal) * 100 / MaxSignal;
+ if (s > 100)
+ s = 100;
diff --git a/multimedia/vdr/pkg-plist b/multimedia/vdr/pkg-plist
index d9c6b8c66656..f3c53ab06cd7 100644
--- a/multimedia/vdr/pkg-plist
+++ b/multimedia/vdr/pkg-plist
@@ -136,7 +136,6 @@ include/vdr/cutter.h
include/vdr/ci.h
include/vdr/config.h
include/vdr/channels.h
-include/vdr/s2apiwrapper.h
include/vdr/Make.global
%%TTXPATCH%%include/vdr/vdrttxtsubshooks.h
@exec mkdir -p %D/etc/vdr/plugins