diff options
Diffstat (limited to 'multimedia/vdr')
-rw-r--r-- | multimedia/vdr/Makefile | 15 | ||||
-rw-r--r-- | multimedia/vdr/files/patch-vdr-1.7.27_FreeBSD | 31 | ||||
-rw-r--r-- | multimedia/vdr/files/stb0899-signalstrength.patch | 15 | ||||
-rw-r--r-- | multimedia/vdr/pkg-plist | 1 |
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 |