# This is a shell archive. Save it in a file, remove anything before # this line, and then unpack it by entering "sh file". Note, it may # create directories; files and directories will be owned by you and # have default permissions. # # This archive contains: # # multimedia/ # multimedia/vdr/ # multimedia/vdr/Makefile # multimedia/vdr/Makefile.plugins # multimedia/vdr/distinfo # multimedia/vdr/pkg-descr # multimedia/vdr/pkg-plist # multimedia/vdr/files/ # multimedia/vdr/files/patch-PLUGINS-src-dvbsddevice-dvbsdffdevice.c # multimedia/vdr/files/patch-channels.c # multimedia/vdr/files/patch-clang # multimedia/vdr/files/patch-device.c # multimedia/vdr/files/patch-device.h # multimedia/vdr/files/patch-dvbdevice.c # multimedia/vdr/files/patch-dvbdevice.h # multimedia/vdr/files/patch-menuitems.c # multimedia/vdr/files/patch-plugin.c # multimedia/vdr/files/patch-receiver.c # multimedia/vdr/files/patch-receiver.h-LEGACY_CRECEIVER # multimedia/vdr/files/patch-recording.h-__RECORDING_H_DEPRECATED_DIRECT_MEMBER_ACCESS # multimedia/vdr/files/patch-tools.c # multimedia/vdr/files/patch-vdr-1.7.22_FreeBSD # multimedia/vdr/files/patch-vdr-1.7.27_FreeBSD # multimedia/vdr/files/patch-vdr.1 # multimedia/vdr/files/patch-z-Makefile # multimedia/vdr/files/patch-z-config.c # multimedia/vdr/files/patch-z-libsi-si.c # multimedia/vdr/files/remote.conf # multimedia/vdr/files/vdr-1.7.15-disable_ca_updates.patch # multimedia/vdr/files/vdr-1.7.15-disable_eitscan.patch # multimedia/vdr/files/vdr-1.7.17-fix_na_dvbs_ac3.diff # multimedia/vdr/files/vdr-1.7.21-ttxtsubs.patch-1 # multimedia/vdr/files/vdr-1.7.21-ttxtsubs.patch-2 # multimedia/vdr/files/vdr-waitdvb.in # multimedia/vdr/files/vdr.in # multimedia/vdr-plugin-control/ # multimedia/vdr-plugin-control/Makefile # multimedia/vdr-plugin-control/distinfo # multimedia/vdr-plugin-control/pkg-descr # multimedia/vdr-plugin-control/pkg-plist # multimedia/vdr-plugin-control/files/ # multimedia/vdr-plugin-control/files/patch-Makefile # multimedia/vdr-plugin-control/files/patch-StringArray.c # multimedia/vdr-plugin-control/files/patch-control.c # multimedia/vdr-plugin-control/files/patch-stack.c # multimedia/vdr-plugin-control/files/patch-telnet.c # multimedia/vdr-plugin-eepg/ # multimedia/vdr-plugin-eepg/Makefile # multimedia/vdr-plugin-eepg/distinfo # multimedia/vdr-plugin-eepg/pkg-descr # multimedia/vdr-plugin-eepg/pkg-plist # multimedia/vdr-plugin-eepg/files/ # multimedia/vdr-plugin-eepg/files/patch-Makefile # multimedia/vdr-plugin-eepg/files/patch-eepg.c # multimedia/vdr-plugin-epgsearch/ # multimedia/vdr-plugin-epgsearch/Makefile # multimedia/vdr-plugin-epgsearch/distinfo # multimedia/vdr-plugin-epgsearch/pkg-descr # multimedia/vdr-plugin-epgsearch/pkg-plist # multimedia/vdr-plugin-epgsearch/files/ # multimedia/vdr-plugin-epgsearch/files/patch-Makefile # multimedia/vdr-plugin-femon/ # multimedia/vdr-plugin-femon/Makefile # multimedia/vdr-plugin-femon/distinfo # multimedia/vdr-plugin-femon/pkg-descr # multimedia/vdr-plugin-femon/pkg-plist # multimedia/vdr-plugin-femon/files/ # multimedia/vdr-plugin-femon/files/patch-Makefile # multimedia/vdr-plugin-femon/files/patch-femon-1.7.7.patch # multimedia/vdr-plugin-infosatepg/ # multimedia/vdr-plugin-infosatepg/Makefile # multimedia/vdr-plugin-infosatepg/distinfo # multimedia/vdr-plugin-infosatepg/pkg-descr # multimedia/vdr-plugin-infosatepg/pkg-plist # multimedia/vdr-plugin-infosatepg/files/ # multimedia/vdr-plugin-infosatepg/files/patch-Makefile # multimedia/vdr-plugin-infosatepg/files/patch-filter.cpp # multimedia/vdr-plugin-infosatepg/files/patch-filter.h # multimedia/vdr-plugin-infosatepg/files/patch-global.cpp # multimedia/vdr-plugin-infosatepg/files/patch-global.h # multimedia/vdr-plugin-infosatepg/files/patch-infosatepg.cpp # multimedia/vdr-plugin-infosatepg/files/patch-process.cpp # multimedia/vdr-plugin-infosatepg/files/patch-readline.cpp # multimedia/vdr-plugin-infosatepg/files/patch-status.cpp # multimedia/vdr-plugin-infosatepg/files/patch-status.h # multimedia/vdr-plugin-iptv/ # multimedia/vdr-plugin-iptv/Makefile # multimedia/vdr-plugin-iptv/distinfo # multimedia/vdr-plugin-iptv/pkg-descr # multimedia/vdr-plugin-iptv/pkg-plist # multimedia/vdr-plugin-iptv/pkg-plist.foo # multimedia/vdr-plugin-iptv/files/ # multimedia/vdr-plugin-iptv/files/channels.conf.iptv # multimedia/vdr-plugin-iptv/files/patch-Makefile # multimedia/vdr-plugin-iptv/files/patch-common.h # multimedia/vdr-plugin-iptv/files/patch-iptv-vlc2iptv # multimedia/vdr-plugin-iptv/files/patch-protocolext.c # multimedia/vdr-plugin-iptv/files/patch-sectionfilter.h # multimedia/vdr-plugin-iptv/files/patch-socket.c # multimedia/vdr-plugin-iptv/files/patch-socket.h # multimedia/vdr-plugin-iptv/files/vlcinput/ # multimedia/vdr-plugin-iptv/files/vlcinput/3Sat.conf # multimedia/vdr-plugin-iptv/files/vlcinput/BBC-radio1.conf # multimedia/vdr-plugin-iptv/files/vlcinput/BBC-radio1xtra.conf # multimedia/vdr-plugin-iptv/files/vlcinput/BBC-radio2.conf # multimedia/vdr-plugin-iptv/files/vlcinput/BBC-radio3.conf # multimedia/vdr-plugin-iptv/files/vlcinput/BBC-radio4.conf # multimedia/vdr-plugin-iptv/files/vlcinput/BBC-radio4lw.conf # multimedia/vdr-plugin-iptv/files/vlcinput/BBC-radio5liveint.conf # multimedia/vdr-plugin-iptv/files/vlcinput/BBC-radio5livesport.conf # multimedia/vdr-plugin-iptv/files/vlcinput/BBC-radio6music.conf # multimedia/vdr-plugin-iptv/files/vlcinput/BBC-radio7.conf # multimedia/vdr-plugin-iptv/files/vlcinput/Bundesligen-TV.conf # multimedia/vdr-plugin-iptv/files/vlcinput/Daytona-Beach.conf # multimedia/vdr-plugin-iptv/files/vlcinput/NASA-1200-Kbit.conf # multimedia/vdr-plugin-iptv/files/vlcinput/NASA-500-Kbit.conf # multimedia/vdr-plugin-iptv/files/vlcinput/NASA.conf # multimedia/vdr-plugin-iptv/files/vlcinput/Sky-News.conf # multimedia/vdr-plugin-iptv/files/vlcinput/THE_VOICE.conf # multimedia/vdr-plugin-markad/ # multimedia/vdr-plugin-markad/Makefile # multimedia/vdr-plugin-markad/distinfo # multimedia/vdr-plugin-markad/pkg-descr # multimedia/vdr-plugin-markad/pkg-plist # multimedia/vdr-plugin-markad/files/ # multimedia/vdr-plugin-markad/files/patch-Makefile # multimedia/vdr-plugin-markad/files/patch-command-Makefile # multimedia/vdr-plugin-markad/files/patch-command-decoder.cpp # multimedia/vdr-plugin-markad/files/patch-command-markad-standalone.cpp # multimedia/vdr-plugin-markad/files/patch-plugin-Makefile # multimedia/vdr-plugin-markad/files/patch-plugin-markad.cpp # multimedia/vdr-plugin-markad/files/patch-plugin-status.cpp # multimedia/vdr-plugin-osdpip/ # multimedia/vdr-plugin-osdpip/Makefile # multimedia/vdr-plugin-osdpip/distinfo # multimedia/vdr-plugin-osdpip/pkg-descr # multimedia/vdr-plugin-osdpip/pkg-plist # multimedia/vdr-plugin-osdpip/files/ # multimedia/vdr-plugin-osdpip/files/patch-Makefile # multimedia/vdr-plugin-osdpip/files/patch-i18n.h # multimedia/vdr-plugin-osdpip/files/patch-osd.c # multimedia/vdr-plugin-osdpip/files/patch-vdr-osdpip-0.1.0 # multimedia/vdr-plugin-osdteletext/ # multimedia/vdr-plugin-osdteletext/Makefile # multimedia/vdr-plugin-osdteletext/distinfo # multimedia/vdr-plugin-osdteletext/pkg-descr # multimedia/vdr-plugin-osdteletext/pkg-plist # multimedia/vdr-plugin-osdteletext/files/ # multimedia/vdr-plugin-osdteletext/files/patch-Makefile # multimedia/vdr-plugin-osdteletext/files/patch-osdteletext-vdr-1.7.27.txt # multimedia/vdr-plugin-osdteletext/files/patch-vdr-osdteletext-0.8.3 # multimedia/vdr-plugin-osdteletext/files/patch-vdr-osdteletext-0.9.2 # multimedia/vdr-plugin-reelchannelscan/ # multimedia/vdr-plugin-reelchannelscan/Makefile # multimedia/vdr-plugin-reelchannelscan/distinfo # multimedia/vdr-plugin-reelchannelscan/pkg-descr # multimedia/vdr-plugin-reelchannelscan/pkg-plist # multimedia/vdr-plugin-reelchannelscan/files/ # multimedia/vdr-plugin-reelchannelscan/files/patch-Makefile # multimedia/vdr-plugin-reelchannelscan/files/patch-channelscan.c # multimedia/vdr-plugin-reelchannelscan/files/patch-channelscan.h # multimedia/vdr-plugin-reelchannelscan/files/patch-csmenu.c # multimedia/vdr-plugin-reelchannelscan/files/patch-dvb-s2-vdr-1.7.18 # multimedia/vdr-plugin-reelchannelscan/files/patch-i18n.c # multimedia/vdr-plugin-reelchannelscan/files/patch-i18n.h # multimedia/vdr-plugin-reelchannelscan/files/patch-scan.c # multimedia/vdr-plugin-reelchannelscan/files/patch-transponders.c # multimedia/vdr-plugin-remote/ # multimedia/vdr-plugin-remote/Makefile # multimedia/vdr-plugin-remote/distinfo # multimedia/vdr-plugin-remote/pkg-descr # multimedia/vdr-plugin-remote/pkg-plist # multimedia/vdr-plugin-remote/files/ # multimedia/vdr-plugin-remote/files/patch-Makefile # multimedia/vdr-plugin-remote/files/patch-uhid1 # multimedia/vdr-plugin-skinenigmang/ # multimedia/vdr-plugin-skinenigmang/Makefile # multimedia/vdr-plugin-skinenigmang/distinfo # multimedia/vdr-plugin-skinenigmang/pkg-descr # multimedia/vdr-plugin-skinenigmang/pkg-plist # multimedia/vdr-plugin-skinenigmang/files/ # multimedia/vdr-plugin-skinenigmang/files/patch-Makefile # multimedia/vdr-plugin-skinenigmang/files/patch-vdr-skinenigmang-0.1.1 # multimedia/vdr-plugin-sleeptimer/ # multimedia/vdr-plugin-sleeptimer/Makefile # multimedia/vdr-plugin-sleeptimer/distinfo # multimedia/vdr-plugin-sleeptimer/pkg-descr # multimedia/vdr-plugin-sleeptimer/pkg-plist # multimedia/vdr-plugin-sleeptimer/files/ # multimedia/vdr-plugin-sleeptimer/files/patch-Makefile # multimedia/vdr-plugin-sleeptimer/files/patch-sleeptimer.c # multimedia/vdr-plugin-softdevice/ # multimedia/vdr-plugin-softdevice/Makefile # multimedia/vdr-plugin-softdevice/distinfo # multimedia/vdr-plugin-softdevice/pkg-descr # multimedia/vdr-plugin-softdevice/pkg-plist # multimedia/vdr-plugin-softdevice/files/ # multimedia/vdr-plugin-softdevice/files/patch-Makefile # multimedia/vdr-plugin-softdevice/files/patch-VdrReplacements.c # multimedia/vdr-plugin-softdevice/files/patch-i18n.h # multimedia/vdr-plugin-softdevice/files/patch-shm-common.h # multimedia/vdr-plugin-softdevice/files/patch-softdevice.c # multimedia/vdr-plugin-softdevice/files/patch-vdr-softdevice_CVS-20100414 # multimedia/vdr-plugin-streamdev/ # multimedia/vdr-plugin-streamdev/Makefile # multimedia/vdr-plugin-streamdev/distinfo # multimedia/vdr-plugin-streamdev/pkg-descr # multimedia/vdr-plugin-streamdev/pkg-plist # multimedia/vdr-plugin-streamdev/files/ # multimedia/vdr-plugin-streamdev/files/patch-Makefile # multimedia/vdr-plugin-streamdev/files/patch-client-Makefile # multimedia/vdr-plugin-streamdev/files/patch-client-setup.c # multimedia/vdr-plugin-streamdev/files/patch-server-Makefile # multimedia/vdr-plugin-streamdev/files/patch-server-componentIGMP.c # multimedia/vdr-plugin-streamdev/files/patch-server-connectionVTP.c # multimedia/vdr-plugin-streamdev/files/patch-server-recplayer.c # multimedia/vdr-plugin-streamdev/files/patch-server-setup.c # multimedia/vdr-plugin-ttxtsubs/ # multimedia/vdr-plugin-ttxtsubs/Makefile # multimedia/vdr-plugin-ttxtsubs/distinfo # multimedia/vdr-plugin-ttxtsubs/pkg-descr # multimedia/vdr-plugin-ttxtsubs/pkg-plist # multimedia/vdr-plugin-ttxtsubs/files/ # multimedia/vdr-plugin-ttxtsubs/files/patch-Makefile # multimedia/vdr-plugin-ttxtsubs/files/patch-ttxtsubschannelsettings.c # multimedia/vdr-plugin-upnp/ # multimedia/vdr-plugin-upnp/Makefile # multimedia/vdr-plugin-upnp/distinfo # multimedia/vdr-plugin-upnp/pkg-descr # multimedia/vdr-plugin-upnp/pkg-plist # multimedia/vdr-plugin-upnp/files/ # multimedia/vdr-plugin-upnp/files/patch-Makefile # multimedia/vdr-plugin-upnp/files/patch-badvideo # multimedia/vdr-plugin-upnp/files/patch-clang # multimedia/vdr-plugin-upnp/files/patch-freebsd # multimedia/vdr-plugin-upnp/files/patch-fromgit # multimedia/vdr-plugin-upnp/files/patch-iconv # multimedia/vdr-plugin-upnp/files/patch-libupnp1.6.9 # multimedia/vdr-plugin-upnp/files/patch-livetv-channelname # multimedia/vdr-plugin-upnp/files/patch-recplayer-seek # multimedia/vdr-plugin-upnp/files/patch-size_t # multimedia/vdr-plugin-upnp/files/patch-strncpy # multimedia/vdr-plugin-vdrmanager/ # multimedia/vdr-plugin-vdrmanager/Makefile # multimedia/vdr-plugin-vdrmanager/distinfo # multimedia/vdr-plugin-vdrmanager/pkg-descr # multimedia/vdr-plugin-vdrmanager/pkg-plist # multimedia/vdr-plugin-vdrmanager/files/ # multimedia/vdr-plugin-vdrmanager/files/patch-Makefile # multimedia/vdr-plugin-vdrmanager/files/patch-helpers.cpp # multimedia/vdr-plugin-vdrmanager/files/patch-sock.h # multimedia/vdr-plugin-vnsiserver/ # multimedia/vdr-plugin-vnsiserver/Makefile # multimedia/vdr-plugin-vnsiserver/distinfo # multimedia/vdr-plugin-vnsiserver/pkg-descr # multimedia/vdr-plugin-vnsiserver/pkg-plist # multimedia/vdr-plugin-vnsiserver/files/ # multimedia/vdr-plugin-vnsiserver/files/patch-Makefile # multimedia/vdr-plugin-vnsiserver/files/patch-cmdcontrol.c # multimedia/vdr-plugin-vnsiserver/files/patch-cxsocket.c # multimedia/vdr-plugin-vnsiserver/files/patch-cxsocket.h # multimedia/vdr-plugin-vnsiserver/files/patch-recplayer.c # multimedia/vdr-plugin-vnsiserver/files/patch-responsepacket.c # multimedia/vdr-plugin-vnsiserver/files/patch-server.c # multimedia/vdr-plugin-wirbelscan/ # multimedia/vdr-plugin-wirbelscan/Makefile # multimedia/vdr-plugin-wirbelscan/distinfo # multimedia/vdr-plugin-wirbelscan/pkg-descr # multimedia/vdr-plugin-wirbelscan/pkg-plist # multimedia/vdr-plugin-wirbelscan/files/ # multimedia/vdr-plugin-wirbelscan/files/patch-Makefile # multimedia/vdr-plugin-wirbelscan/files/patch-scanner.c # multimedia/vdr-plugin-wirbelscan/files/types.sed # multimedia/vdr-plugin-xineliboutput/ # multimedia/vdr-plugin-xineliboutput/Makefile # multimedia/vdr-plugin-xineliboutput/Makefile-xx # multimedia/vdr-plugin-xineliboutput/distinfo # multimedia/vdr-plugin-xineliboutput/pkg-descr # multimedia/vdr-plugin-xineliboutput/pkg-plist # multimedia/vdr-plugin-xineliboutput/files/ # multimedia/vdr-plugin-xineliboutput/files/keymap # multimedia/vdr-plugin-xineliboutput/files/patch-Makefile # multimedia/vdr-plugin-xineliboutput/files/patch-clang # multimedia/vdr-plugin-xineliboutput/files/patch-config.c # multimedia/vdr-plugin-xineliboutput/files/patch-configure # multimedia/vdr-plugin-xineliboutput/files/patch-tools-sys_cap.h # multimedia/vdr-plugin-xineliboutput/files/patch-xine_frontend_main.c # multimedia/vdr-plugin-xineliboutput/files/patch-xine_input_vdr.c # multimedia/vdr-plugin-xineliboutput/files/patch-xine_post_audiochannel.c # multimedia/vdr-plugin-xvdr/ # multimedia/vdr-plugin-xvdr/Makefile # multimedia/vdr-plugin-xvdr/distinfo # multimedia/vdr-plugin-xvdr/pkg-descr # multimedia/vdr-plugin-xvdr/pkg-plist # multimedia/vdr-plugin-xvdr/files/ # multimedia/vdr-plugin-xvdr/files/patch-81bde12cd5d36a5bb0f1bc5791977b58cc34f91e # multimedia/vdr-plugin-xvdr/files/patch-Makefile # multimedia/vdr-plugin-xvdr/files/patch-rofafor # multimedia/vdr-plugin-xvdr/files/patch-src-live-livestreamer.c # multimedia/vdr-plugin-xvdr/files/patch-src-net-cxsocket.c # multimedia/vdr-plugin-xvdr/files/patch-src-net-cxsocket.h # multimedia/vdr-plugin-xvdr/files/patch-src-net-requestpacket.c # multimedia/vdr-plugin-xvdr/files/patch-src-net-responsepacket.c # multimedia/vdr-plugin-xvdr/files/patch-src-recordings-recplayer.c # multimedia/vdr-plugin-xvdr/files/patch-src-xvdr-xvdrserver.c # multimedia/vdr-plugins/ # multimedia/vdr-plugins/Makefile # multimedia/vdr-plugins/pkg-descr # www/ # www/vdr-plugin-live/ # www/vdr-plugin-live/Makefile # www/vdr-plugin-live/distinfo # www/vdr-plugin-live/pkg-descr # www/vdr-plugin-live/pkg-plist # www/vdr-plugin-live/files/ # www/vdr-plugin-live/files/patch-Makefile # www/vdr-plugin-live/files/patch-live.cpp # www/vdr-plugin-live/files/patch-tools.cpp # www/vdradmin-am/ # www/vdradmin-am/Makefile # www/vdradmin-am/distinfo # www/vdradmin-am/pkg-descr # www/vdradmin-am/pkg-plist # www/vdradmin-am/files/ # www/vdradmin-am/files/patch-install.sh # www/vdradmin-am/files/vdradmind.conf # www/vdradmin-am/files/vdradmind.in # echo c - multimedia/ mkdir -p multimedia/ > /dev/null 2>&1 echo c - multimedia/vdr/ mkdir -p multimedia/vdr/ > /dev/null 2>&1 echo x - multimedia/vdr/Makefile sed 's/^X//' >multimedia/vdr/Makefile << 'cf10368acfd9dca6ab625fe1728cb659' X# New ports collection makefile for: vdr X# Date created: Wed Apr 14 18:11:42 CEST 2010 X# Whom: Juergen Lock X# X# $FreeBSD: ports/multimedia/vdr/Makefile,v 1.13 2012/03/23 23:53:02 nox Exp $ X# X XPORTNAME= vdr XPORTVERSION= 1.7.27 XCATEGORIES= multimedia XMASTER_SITES= ftp://ftp.tvdr.de/vdr/Developer/ X XPATCH_SITES= http://www.udo-richter.de/vdr/files/ XPATCHFILES= vdr-1.7.24-s2apiwrapper-0.8.diff XPATCH_DIST_STRIP= -p1 X XMAINTAINER= nox@FreeBSD.org XCOMMENT= Video Disk Recorder - development version X XBUILD_DEPENDS= ${LOCALBASE}/include/linux/dvb/frontend.h:${PORTSDIR}/multimedia/v4l_compat XLIB_DEPENDS= jpeg.11:${PORTSDIR}/graphics/jpeg XBUILD_DEPENDS+= ${LOCALBASE}/libdata/pkgconfig/fontconfig.pc:${PORTSDIR}/x11-fonts/fontconfig XRUN_DEPENDS+= ${LOCALBASE}/libdata/pkgconfig/fontconfig.pc:${PORTSDIR}/x11-fonts/fontconfig X XOPTIONS= IPTVPATCH "Stops EIT scans on IPTV channels" On \ X TTXPATCH "Support patches for teletext subtitle plugin" On X XDIST_SUBDIR= vdr XUSE_BZIP2= yes XUSE_GMAKE= yes XUSE_GNOME+= pkgconfig XUSE_GETTEXT= yes XUSE_ICONV= yes XPORTDOCS= COPYING INSTALL MANUAL README HISTORY XMAKE_JOBS_SAFE= yes XMAN1= vdr.1 XMAN5= vdr.5 XMANCOMPRESSED= yes XCONFDIR= $(ETCDIR) XUSE_CSTD= gnu89 XMAKE_ARGS+= CC=${CC} XMAKE_ARGS+= CXX=${CXX} XMAKE_ARGS+= VDR_USER=${VDR_USER} XMAKE_ARGS+= CONFDIR=$(CONFDIR) XMAKE_ARGS+= OSTYPE=FreeBSD XMAKE_ARGS+= LIRC_DEVICE=/var/run/lirc/lircd XMAKE_ARGS+= LIBDIR=../../lib XMAKE_ARGS+= VDRDIR=${WRKSRC} XMAKE_ARGS+= TMPDIR=/tmp XALL_TARGET= all plugins X XVIDEODIR= /video XSUB_LIST+= VIDEODIR=${VIDEODIR} XSUB_FILES+= vdr-waitdvb XUSE_RC_SUBR= vdr XVDR_USER= vdr XVDR_GROUP= vdr XUSERS= ${VDR_USER} XGROUPS= ${VDR_GROUP} XPLIST_SUB= VDR_USER=${VDR_USER} XPLIST_SUB+= VDR_GROUP=${VDR_GROUP} X X.include X XEXTRA_PATCHES+= ${FILESDIR}/vdr-1.7.15-disable_ca_updates.patch X.if defined(WITH_IPTVPATCH) XEXTRA_PATCHES+= ${FILESDIR}/vdr-1.7.15-disable_eitscan.patch X.endif X X.if defined(WITH_TTXPATCH) XPLIST_SUB+= TTXPATCH="" X.else XPLIST_SUB+= TTXPATCH="@comment " X.endif X X.if !defined(WITHOUT_NLS) XPLIST_SUB+= NLS="" X.else XPLIST_SUB+= NLS="@comment " XALL_TARGET= vdr plugins X.endif X Xpost-patch: X# clang doesn't know -MG: X @${REINPLACE_CMD} '/^MAKEDEP.*-MM/s/-MG[[:space:]]*$$/# -MG/' \ X ${WRKSRC}/Makefile ${WRKSRC}/libsi/Makefile \ X ${WRKSRC}/PLUGINS/src/*/Makefile X @[ ! -f ${WRKSRC}/s2apiwrapper.c ] || \ X ${REINPLACE_CMD} 's/__u32/uint32_t/' ${WRKSRC}/s2apiwrapper.c X.if defined(WITH_TTXPATCH) X @${PATCH} -d ${WRKSRC} --quiet -p1 <${FILESDIR}/vdr-1.7.21-ttxtsubs.patch-1 X @${PATCH} -d ${WRKSRC} --quiet -p1 <${FILESDIR}/vdr-1.7.21-ttxtsubs.patch-2 X.endif X @${SED} 's|^\(VIDEODIR[[:space:]]*\)[?]*\(=[[:space:]]*\).*|\1\2${VIDEODIR}|' \ X ${WRKSRC}/Make.config.template >${WRKSRC}/Make.config X @${REINPLACE_CMD} -e 's|%%CONFDIR%%|${CONFDIR}|' ${WRKSRC}/vdr.1 X# We don't support this yet: X @${RM} -r ${WRKSRC}/PLUGINS/src/dvbhddevice X Xpost-install: X.if !defined(WITHOUT_NLS) X @(cd ${WRKSRC} && ${COPYTREE_SHARE} locale ${PREFIX}/share/) X.endif X ${MKDIR} ${CONFDIR}/plugins X ${CHOWN} ${VDR_USER}:${VDR_GROUP} ${CONFDIR} ${CONFDIR}/plugins X ${INSTALL_DATA} ${FILESDIR}/remote.conf ${CONFDIR}/remote.conf.sample X @if [ ! -f ${CONFDIR}/remote.conf ]; then \ X ${INSTALL_DATA} -o ${VDR_USER} -g ${VDR_GROUP} ${FILESDIR}/remote.conf ${CONFDIR}; \ X fi X for i in $$(cd ${WRKSRC} && ls *.conf); do \ X ${INSTALL_DATA} ${WRKSRC}/$$i ${CONFDIR}/$$i.sample; \ X if [ ! -f ${CONFDIR}/$$i ]; then \ X ${INSTALL_DATA} -o ${VDR_USER} -g ${VDR_GROUP} ${WRKSRC}/$$i ${CONFDIR}/$$i; \ X fi; \ X done X ${INSTALL_SCRIPT} ${WRKDIR}/vdr-waitdvb ${PREFIX}/bin X.if !defined(NOPORTDOCS) X ${MKDIR} ${DOCSDIR} X (cd ${WRKSRC} && ${INSTALL_DATA} ${PORTDOCS} ${DOCSDIR}) X.endif X X.include cf10368acfd9dca6ab625fe1728cb659 echo x - multimedia/vdr/Makefile.plugins sed 's/^X//' >multimedia/vdr/Makefile.plugins << 'c982e9bfbce794c7ccff37611c95d606' X# this is to be included by vdr plugin ports X# X# $FreeBSD: ports/multimedia/vdr/Makefile.plugins,v 1.2 2011/06/25 19:02:04 nox Exp $ X XBUILD_DEPENDS+= ${LOCALBASE}/include/linux/dvb/frontend.h:${PORTSDIR}/multimedia/v4l_compat X XBUILD_DEPENDS+= vdr:${PORTSDIR}/multimedia/vdr XRUN_DEPENDS+= vdr:${PORTSDIR}/multimedia/vdr X XAPIVERSION= 1.7.27 XDIST_SUBDIR= vdr XPATCH_SUBDIR= vdr XUSE_GMAKE= yes XUSE_GETTEXT= yes XVDRDIR= ${LOCALBASE}/include/vdr XVDRINCDIR= ${LOCALBASE}/include XUSE_CSTD?= gnu89 XMAKE_ARGS+= CC=${CC} XMAKE_ARGS+= CXX=${CXX} XMAKE_ARGS+= DVBDIR=${LOCALBASE}/include XMAKE_ARGS+= VDRDIR=${VDRDIR} XMAKE_ARGS+= VDR_USER=${VDR_USER} XMAKE_ARGS+= INSTALL_PROGRAM="${INSTALL_PROGRAM}" XMAKE_ARGS+= OSTYPE=FreeBSD XPLUGIN?= ${PORTNAME:S/^vdr-plugin-//} XCONFIGURE_ENV+= LOCALBASE=${LOCALBASE} XMAKE_ENV+= LOCALBASE=${LOCALBASE} XVDR_USER= vdr XVDR_GROUP= vdr XPLIST_SUB= VDR_USER=${VDR_USER} XPLIST_SUB+= VDR_GROUP=${VDR_GROUP} XPLIST_SUB+= APIVERSION=${APIVERSION} X X.if !defined(WITHOUT_NLS) XPLIST_SUB+= NLS="" X.else XPLIST_SUB+= NLS="@comment " X.endif X Xlocaleplist: X @${FIND} ${WRKDIR}/locale -type f -print |${SED} 's|^.*locale/|%%NLS%%share/locale/|' X Xpost-patch-plugin: X @${MKDIR} ${WRKDIR}/lib ${WRKDIR}/locale X @${REINPLACE_CMD} 's/^\(LIBDIR[[:space:]]*\)[?]*\(=[[:space:]]*\).*/\1\2..\/lib/;'\\ X 's/^\(LOCALEDIR[[:space:]]*\)[?]*\(=[[:space:]]*\).*/\1\2..\/locale/;'\\ X 's/^\(VDRDIR[[:space:]]*\)[?]*\(=[[:space:]]*\).*/\1\2'"${VDRDIR:S-/-\\\\/-g}/;"\\ X 's/^\(VDRINCDIR[[:space:]]*\)[?]*\(=[[:space:]]*\).*/\1\2'"${VDRINCDIR:S-/-\\\\/-g}/;"\\ X 's/^\(BINDIR[[:space:]]*\)[?]*\(=[[:space:]]*\).*/\1\2'"${PREFIX:S-/-\\\\/-g}\/bin/;"\\ X '/^MAKEDEP.*-MM/s/-MG[[:space:]]*$$/# -MG/' \ X ${WRKSRC}/Makefile ${VDR_PLUGIN_MAKEFILES} X Xpost-install-pluginlocales: X.if !defined(WITHOUT_NLS) X @(cd ${WRKDIR} && ${COPYTREE_SHARE} locale ${PREFIX}/share/) X.endif c982e9bfbce794c7ccff37611c95d606 echo x - multimedia/vdr/distinfo sed 's/^X//' >multimedia/vdr/distinfo << '01595fd4fed0fe1fe81b5d46afd38143' XSHA256 (vdr/vdr-1.7.27.tar.bz2) = d948841535b917ab6eb31582d6d40bc281ff6a751988e5bfc1b097567e7ca264 XSIZE (vdr/vdr-1.7.27.tar.bz2) = 767714 XSHA256 (vdr/vdr-1.7.24-s2apiwrapper-0.8.diff) = 2d8b83c01c769c05bcc1a27889f9eb7223aea4e74b66e67b876c52e7fd0f296a XSIZE (vdr/vdr-1.7.24-s2apiwrapper-0.8.diff) = 19788 01595fd4fed0fe1fe81b5d46afd38143 echo x - multimedia/vdr/pkg-descr sed 's/^X//' >multimedia/vdr/pkg-descr << 'a22ad43f4be5fb1b701e90ccc8356c5a' XPreliminary port of the vdr development branch, use at your own risk! :) X XSee vdr/webcamd dvb thread(s) on the freebsd-multimedia list and the Xwiki for FreeBSD notes: X X http://wiki.freebsd.org/VDR X XSome links are also here: X X http://people.freebsd.org/~nox/dvb/ X Xand see these links for general vdr info: X X http://www.linuxtv.org/vdrwiki/index.php/Main_Page X http://www.vdr-portal.de/ X XWWW: http://www.tvdr.de/ a22ad43f4be5fb1b701e90ccc8356c5a echo x - multimedia/vdr/pkg-plist sed 's/^X//' >multimedia/vdr/pkg-plist << '1b3a3654c2d8e28b7db5ca124fe91ad7' Xbin/svdrpsend Xbin/vdr Xbin/vdr-waitdvb Xlib/vdr/libvdr-dvbsddevice.so.1.7.27 Xlib/vdr/libvdr-svcsvr.so.1.7.27 Xlib/vdr/libvdr-svccli.so.1.7.27 Xlib/vdr/libvdr-status.so.1.7.27 Xlib/vdr/libvdr-skincurses.so.1.7.27 Xlib/vdr/libvdr-pictures.so.1.7.27 Xlib/vdr/libvdr-osddemo.so.1.7.27 Xlib/vdr/libvdr-hello.so.1.7.27 Xlib/vdr/libvdr-svdrpdemo.so.1.7.27 Xlib/vdr/libvdr-epgtableid0.so.1.7.27 Xlib/vdr/libvdr-rcu.so.1.7.27 Xlibdata/pkgconfig/vdr.pc X%%NLS%%share/locale/ar/LC_MESSAGES/vdr.mo X%%NLS%%share/locale/es_ES/LC_MESSAGES/vdr.mo X%%NLS%%share/locale/es_ES/LC_MESSAGES/vdr-hello.mo X%%NLS%%share/locale/fr_FR/LC_MESSAGES/vdr.mo X%%NLS%%share/locale/fr_FR/LC_MESSAGES/vdr-hello.mo X%%NLS%%share/locale/fr_FR/LC_MESSAGES/vdr-pictures.mo X%%NLS%%share/locale/pt_PT/LC_MESSAGES/vdr.mo X%%NLS%%share/locale/pt_PT/LC_MESSAGES/vdr-hello.mo X%%NLS%%share/locale/zh_CN/LC_MESSAGES/vdr.mo X%%NLS%%share/locale/zh_CN/LC_MESSAGES/vdr-hello.mo X%%NLS%%share/locale/lt_LT/LC_MESSAGES/vdr.mo X%%NLS%%share/locale/lt_LT/LC_MESSAGES/vdr-hello.mo X%%NLS%%share/locale/lt_LT/LC_MESSAGES/vdr-pictures.mo X%%NLS%%share/locale/lt_LT/LC_MESSAGES/vdr-skincurses.mo X%%NLS%%share/locale/mk_MK/LC_MESSAGES/vdr.mo X%%NLS%%share/locale/uk_UA/LC_MESSAGES/vdr.mo X%%NLS%%share/locale/tr_TR/LC_MESSAGES/vdr.mo X%%NLS%%share/locale/tr_TR/LC_MESSAGES/vdr-hello.mo X%%NLS%%share/locale/sr_SR/LC_MESSAGES/vdr.mo X%%NLS%%share/locale/sv_SE/LC_MESSAGES/vdr.mo X%%NLS%%share/locale/sv_SE/LC_MESSAGES/vdr-hello.mo X%%NLS%%share/locale/sl_SI/LC_MESSAGES/vdr.mo X%%NLS%%share/locale/sl_SI/LC_MESSAGES/vdr-hello.mo X%%NLS%%share/locale/sk_SK/LC_MESSAGES/vdr.mo X%%NLS%%share/locale/sk_SK/LC_MESSAGES/vdr-hello.mo X%%NLS%%share/locale/sk_SK/LC_MESSAGES/vdr-pictures.mo X%%NLS%%share/locale/sk_SK/LC_MESSAGES/vdr-skincurses.mo X%%NLS%%share/locale/ru_RU/LC_MESSAGES/vdr.mo X%%NLS%%share/locale/ru_RU/LC_MESSAGES/vdr-hello.mo X%%NLS%%share/locale/ru_RU/LC_MESSAGES/vdr-pictures.mo X%%NLS%%share/locale/ru_RU/LC_MESSAGES/vdr-skincurses.mo X%%NLS%%share/locale/ro_RO/LC_MESSAGES/vdr.mo X%%NLS%%share/locale/ro_RO/LC_MESSAGES/vdr-hello.mo X%%NLS%%share/locale/pl_PL/LC_MESSAGES/vdr.mo X%%NLS%%share/locale/pl_PL/LC_MESSAGES/vdr-hello.mo X%%NLS%%share/locale/nn_NO/LC_MESSAGES/vdr.mo X%%NLS%%share/locale/nn_NO/LC_MESSAGES/vdr-hello.mo X%%NLS%%share/locale/nl_NL/LC_MESSAGES/vdr.mo X%%NLS%%share/locale/nl_NL/LC_MESSAGES/vdr-hello.mo X%%NLS%%share/locale/it_IT/LC_MESSAGES/vdr.mo X%%NLS%%share/locale/it_IT/LC_MESSAGES/vdr-hello.mo X%%NLS%%share/locale/it_IT/LC_MESSAGES/vdr-pictures.mo X%%NLS%%share/locale/it_IT/LC_MESSAGES/vdr-skincurses.mo X%%NLS%%share/locale/hu_HU/LC_MESSAGES/vdr.mo X%%NLS%%share/locale/hu_HU/LC_MESSAGES/vdr-hello.mo X%%NLS%%share/locale/hr_HR/LC_MESSAGES/vdr.mo X%%NLS%%share/locale/hr_HR/LC_MESSAGES/vdr-hello.mo X%%NLS%%share/locale/fi_FI/LC_MESSAGES/vdr.mo X%%NLS%%share/locale/fi_FI/LC_MESSAGES/vdr-hello.mo X%%NLS%%share/locale/fi_FI/LC_MESSAGES/vdr-pictures.mo X%%NLS%%share/locale/fi_FI/LC_MESSAGES/vdr-skincurses.mo X%%NLS%%share/locale/et_EE/LC_MESSAGES/vdr.mo X%%NLS%%share/locale/et_EE/LC_MESSAGES/vdr-hello.mo X%%NLS%%share/locale/el_GR/LC_MESSAGES/vdr.mo X%%NLS%%share/locale/el_GR/LC_MESSAGES/vdr-hello.mo X%%NLS%%share/locale/de_DE/LC_MESSAGES/vdr.mo X%%NLS%%share/locale/de_DE/LC_MESSAGES/vdr-hello.mo X%%NLS%%share/locale/de_DE/LC_MESSAGES/vdr-pictures.mo X%%NLS%%share/locale/de_DE/LC_MESSAGES/vdr-skincurses.mo X%%NLS%%share/locale/da_DK/LC_MESSAGES/vdr.mo X%%NLS%%share/locale/da_DK/LC_MESSAGES/vdr-hello.mo X%%NLS%%share/locale/cs_CZ/LC_MESSAGES/vdr.mo X%%NLS%%share/locale/cs_CZ/LC_MESSAGES/vdr-hello.mo X%%NLS%%share/locale/ca_ES/LC_MESSAGES/vdr.mo X%%NLS%%share/locale/ca_ES/LC_MESSAGES/vdr-hello.mo Xinclude/libsi/util.h Xinclude/libsi/si.h Xinclude/libsi/section.h Xinclude/libsi/headers.h Xinclude/libsi/descriptor.h Xinclude/vdr/audio.h Xinclude/vdr/Make.config Xinclude/vdr/videodir.h Xinclude/vdr/transfer.h Xinclude/vdr/tools.h Xinclude/vdr/timers.h Xinclude/vdr/thread.h Xinclude/vdr/themes.h Xinclude/vdr/svdrp.h Xinclude/vdr/status.h Xinclude/vdr/spu.h Xinclude/vdr/sources.h Xinclude/vdr/sourceparams.h Xinclude/vdr/skinsttng.h Xinclude/vdr/skins.h Xinclude/vdr/skinclassic.h Xinclude/vdr/shutdown.h Xinclude/vdr/sections.h Xinclude/vdr/sdt.h Xinclude/vdr/ringbuffer.h Xinclude/vdr/remux.h Xinclude/vdr/remote.h Xinclude/vdr/recording.h Xinclude/vdr/recorder.h Xinclude/vdr/receiver.h Xinclude/vdr/plugin.h Xinclude/vdr/player.h Xinclude/vdr/pat.h Xinclude/vdr/osdbase.h Xinclude/vdr/osd.h Xinclude/vdr/nit.h Xinclude/vdr/menuitems.h Xinclude/vdr/menu.h Xinclude/vdr/lirc.h Xinclude/vdr/keys.h Xinclude/vdr/interface.h Xinclude/vdr/i18n.h Xinclude/vdr/font.h Xinclude/vdr/filter.h Xinclude/vdr/epg.h Xinclude/vdr/eitscan.h Xinclude/vdr/eit.h Xinclude/vdr/dvbsubtitle.h Xinclude/vdr/dvbspu.h Xinclude/vdr/dvbplayer.h Xinclude/vdr/dvbdevice.h Xinclude/vdr/dvbci.h Xinclude/vdr/diseqc.h Xinclude/vdr/device.h Xinclude/vdr/cutter.h Xinclude/vdr/ci.h Xinclude/vdr/config.h Xinclude/vdr/channels.h Xinclude/vdr/s2apiwrapper.h Xinclude/vdr/Make.global X%%TTXPATCH%%include/vdr/vdrttxtsubshooks.h X@exec mkdir -p %D/etc/vdr/plugins X@exec chown %%VDR_USER%%:%%VDR_GROUP%% %D/etc/vdr %D/etc/vdr/plugins X@unexec if cmp -s %D/etc/vdr/remote.conf.sample %D/etc/vdr/remote.conf; then rm -f %D/etc/vdr/remote.conf; fi Xetc/vdr/remote.conf.sample X@exec if [ ! -f %D/etc/vdr/remote.conf ] ; then cp -p %D/%F %B/remote.conf; fi X@unexec if cmp -s %D/etc/vdr/channels.conf.sample %D/etc/vdr/channels.conf; then rm -f %D/etc/vdr/channels.conf; fi Xetc/vdr/channels.conf.sample X@exec if [ ! -f %D/etc/vdr/channels.conf ] ; then cp -p %D/%F %B/channels.conf; fi X@unexec if cmp -s %D/etc/vdr/diseqc.conf.sample %D/etc/vdr/diseqc.conf; then rm -f %D/etc/vdr/diseqc.conf; fi Xetc/vdr/diseqc.conf.sample X@exec if [ ! -f %D/etc/vdr/diseqc.conf ] ; then cp -p %D/%F %B/diseqc.conf; fi X@unexec if cmp -s %D/etc/vdr/keymacros.conf.sample %D/etc/vdr/keymacros.conf; then rm -f %D/etc/vdr/keymacros.conf; fi Xetc/vdr/keymacros.conf.sample X@exec if [ ! -f %D/etc/vdr/keymacros.conf ] ; then cp -p %D/%F %B/keymacros.conf; fi X@unexec if cmp -s %D/etc/vdr/scr.conf.sample %D/etc/vdr/scr.conf; then rm -f %D/etc/vdr/scr.conf; fi Xetc/vdr/scr.conf.sample X@exec if [ ! -f %D/etc/vdr/scr.conf ] ; then cp -p %D/%F %B/scr.conf; fi X@unexec if cmp -s %D/etc/vdr/sources.conf.sample %D/etc/vdr/sources.conf; then rm -f %D/etc/vdr/sources.conf; fi Xetc/vdr/sources.conf.sample X@exec if [ ! -f %D/etc/vdr/sources.conf ] ; then cp -p %D/%F %B/sources.conf; fi X@unexec if cmp -s %D/etc/vdr/svdrphosts.conf.sample %D/etc/vdr/svdrphosts.conf; then rm -f %D/etc/vdr/svdrphosts.conf; fi Xetc/vdr/svdrphosts.conf.sample X@exec if [ ! -f %D/etc/vdr/svdrphosts.conf ] ; then cp -p %D/%F %B/svdrphosts.conf; fi X%%NLS%%@dirrmtry share/locale/ca_ES/LC_MESSAGES X%%NLS%%@dirrmtry share/locale/ca_ES X%%NLS%%@dirrmtry share/locale/cs_CZ/LC_MESSAGES X%%NLS%%@dirrmtry share/locale/cs_CZ X%%NLS%%@dirrmtry share/locale/da_DK/LC_MESSAGES X%%NLS%%@dirrmtry share/locale/da_DK X%%NLS%%@dirrmtry share/locale/de_DE/LC_MESSAGES X%%NLS%%@dirrmtry share/locale/de_DE X%%NLS%%@dirrmtry share/locale/el_GR/LC_MESSAGES X%%NLS%%@dirrmtry share/locale/el_GR X%%NLS%%@dirrmtry share/locale/et_EE/LC_MESSAGES X%%NLS%%@dirrmtry share/locale/et_EE X%%NLS%%@dirrmtry share/locale/fi_FI/LC_MESSAGES X%%NLS%%@dirrmtry share/locale/fi_FI X%%NLS%%@dirrmtry share/locale/hr_HR/LC_MESSAGES X%%NLS%%@dirrmtry share/locale/hr_HR X%%NLS%%@dirrmtry share/locale/hu_HU/LC_MESSAGES X%%NLS%%@dirrmtry share/locale/hu_HU X%%NLS%%@dirrmtry share/locale/it_IT/LC_MESSAGES X%%NLS%%@dirrmtry share/locale/it_IT X%%NLS%%@dirrmtry share/locale/lt_LT/LC_MESSAGES X%%NLS%%@dirrmtry share/locale/lt_LT X%%NLS%%@dirrmtry share/locale/mk_MK/LC_MESSAGES X%%NLS%%@dirrmtry share/locale/mk_MK X%%NLS%%@dirrmtry share/locale/nl_NL/LC_MESSAGES X%%NLS%%@dirrmtry share/locale/nl_NL X%%NLS%%@dirrmtry share/locale/nn_NO/LC_MESSAGES X%%NLS%%@dirrmtry share/locale/nn_NO X%%NLS%%@dirrmtry share/locale/pl_PL/LC_MESSAGES X%%NLS%%@dirrmtry share/locale/pl_PL X%%NLS%%@dirrmtry share/locale/ro_RO/LC_MESSAGES X%%NLS%%@dirrmtry share/locale/ro_RO X%%NLS%%@dirrmtry share/locale/ru_RU/LC_MESSAGES X%%NLS%%@dirrmtry share/locale/ru_RU X%%NLS%%@dirrmtry share/locale/sk_SK/LC_MESSAGES X%%NLS%%@dirrmtry share/locale/sk_SK X%%NLS%%@dirrmtry share/locale/sl_SI/LC_MESSAGES X%%NLS%%@dirrmtry share/locale/sl_SI X%%NLS%%@dirrmtry share/locale/tr_TR/LC_MESSAGES X%%NLS%%@dirrmtry share/locale/tr_TR X%%NLS%%@dirrmtry share/locale/sr_SR/LC_MESSAGES X%%NLS%%@dirrmtry share/locale/sr_SR X%%NLS%%@dirrmtry share/locale/sv_SE/LC_MESSAGES X%%NLS%%@dirrmtry share/locale/sv_SE X%%NLS%%@dirrmtry share/locale/uk_UA/LC_MESSAGES X%%NLS%%@dirrmtry share/locale/uk_UA X@dirrmtry etc/vdr/plugins X@dirrmtry etc/vdr X@dirrmtry lib/vdr X@dirrm include/libsi X@dirrm include/vdr X@unexec echo "Warning: If you will *NOT* use this package anymore, please remove the vdr user and group manually." 1b3a3654c2d8e28b7db5ca124fe91ad7 echo c - multimedia/vdr/files/ mkdir -p multimedia/vdr/files/ > /dev/null 2>&1 echo x - multimedia/vdr/files/patch-PLUGINS-src-dvbsddevice-dvbsdffdevice.c sed 's/^X//' >multimedia/vdr/files/patch-PLUGINS-src-dvbsddevice-dvbsdffdevice.c << 'a63db646be4718c619eb5881593f9e4c' X--- PLUGINS/src/dvbsddevice/dvbsdffdevice.c.orig X+++ PLUGINS/src/dvbsddevice/dvbsdffdevice.c X@@ -6,12 +6,16 @@ X * $Id: dvbsdffdevice.c 2.26 2010/01/30 10:05:23 kls Exp $ X */ X X+#include X #include "dvbsdffdevice.h" X #include X #include X #include X #include X #include X+#ifdef __FreeBSD__ X+typedef struct timespec __kernel_time_t; X+#endif X #include X #include X #include a63db646be4718c619eb5881593f9e4c echo x - multimedia/vdr/files/patch-channels.c sed 's/^X//' >multimedia/vdr/files/patch-channels.c << '1cf6274e340df91b2e0dd171fa0dca76' Xdiff -pruN vdr-1.7.27-orig/channels.c vdr-1.7.27/channels.c X--- channels.c X+++ channels.c X@@ -955,7 +955,7 @@ int cChannels::MaxShortChannelNameLength X if (!maxShortChannelNameLength) { X for (cChannel *channel = First(); channel; channel = Next(channel)) { X if (!channel->GroupSep()) X- maxShortChannelNameLength = max(Utf8StrLen(channel->ShortName()), maxShortChannelNameLength); X+ maxShortChannelNameLength = max(Utf8StrLen(channel->ShortName(true)), maxShortChannelNameLength); X } X } X return maxShortChannelNameLength; 1cf6274e340df91b2e0dd171fa0dca76 echo x - multimedia/vdr/files/patch-clang sed 's/^X//' >multimedia/vdr/files/patch-clang << '7c48149846a0d2d890034e9df1a5e264' 7c48149846a0d2d890034e9df1a5e264 echo x - multimedia/vdr/files/patch-device.c sed 's/^X//' >multimedia/vdr/files/patch-device.c << '1276c1767e23cff7cc1c62cdaba60136' X--- device.c.orig X+++ device.c X@@ -65,7 +65,7 @@ bool cDeviceHook::DeviceProvidesTranspon X #define MIN_PRE_1_3_19_PRIVATESTREAM 10 X X int cDevice::numDevices = 0; X-int cDevice::useDevice = 0; X+uint64_t cDevice::useDevice = 0; X int cDevice::nextCardIndex = 0; X int cDevice::currentChannel = 1; X cDevice *cDevice::device[MAXDEVICES] = { NULL }; 1276c1767e23cff7cc1c62cdaba60136 echo x - multimedia/vdr/files/patch-device.h sed 's/^X//' >multimedia/vdr/files/patch-device.h << '76f9f102c5ec51ccf2b4c7829b575d8a' X--- device.h.orig X+++ device.h X@@ -25,7 +25,7 @@ X #include "thread.h" X #include "tools.h" X X-#define MAXDEVICES 16 // the maximum number of devices in the system X+#define MAXDEVICES 64 // the maximum number of devices in the system X #define MAXPIDHANDLES 64 // the maximum number of different PIDs per device X #define MAXRECEIVERS 16 // the maximum number of receivers per device X #define MAXVOLUME 255 X@@ -105,7 +105,7 @@ class cDevice : public cThread { X friend class cDeviceHook; X private: X static int numDevices; X- static int useDevice; X+ static uint64_t useDevice; X static cDevice *device[MAXDEVICES]; X static cDevice *primaryDevice; X static cDevice *avoidDevice; 76f9f102c5ec51ccf2b4c7829b575d8a echo x - multimedia/vdr/files/patch-dvbdevice.c sed 's/^X//' >multimedia/vdr/files/patch-dvbdevice.c << 'a0ac128cb306b2ce1126f7794a8e2a41' X--- dvbdevice.c.orig X+++ dvbdevice.c X@@ -7,6 +7,7 @@ X * $Id: dvbdevice.c 2.38 2010/05/01 09:47:13 kls Exp $ X */ X X+#include X #include "dvbdevice.h" X #include X #include a0ac128cb306b2ce1126f7794a8e2a41 echo x - multimedia/vdr/files/patch-dvbdevice.h sed 's/^X//' >multimedia/vdr/files/patch-dvbdevice.h << '84224594d7d228438ece3cc1421f69e9' X--- dvbdevice.h.orig X+++ dvbdevice.h X@@ -18,7 +18,7 @@ X #error VDR requires Linux DVB driver API version 5.3 or higher! X #endif X X-#define MAXDVBDEVICES 8 X+#define MAXDVBDEVICES 63 X #define MAXDELIVERYSYSTEMS 8 X X #define DEV_VIDEO "/dev/video" 84224594d7d228438ece3cc1421f69e9 echo x - multimedia/vdr/files/patch-menuitems.c sed 's/^X//' >multimedia/vdr/files/patch-menuitems.c << '49500af86c92d7380acd9a0c3be85b33' X--- menuitems.c.orig X+++ menuitems.c X@@ -7,6 +7,7 @@ X * $Id: menuitems.c 2.6 2010/02/16 14:44:35 kls Exp $ X */ X X+#include X #include "menuitems.h" X #include X #include 49500af86c92d7380acd9a0c3be85b33 echo x - multimedia/vdr/files/patch-plugin.c sed 's/^X//' >multimedia/vdr/files/patch-plugin.c << '3f4c8e49ab4324632c144b62fd455dbc' X--- plugin.c.orig X+++ plugin.c X@@ -198,11 +198,14 @@ bool cDll::Load(bool Log) X } X handle = dlopen(fileName, RTLD_NOW); X const char *error = dlerror(); X- if (!error) { X+ if (handle) { X void *(*creator)(void); X creator = (void *(*)(void))dlsym(handle, "VDRPluginCreator"); X- if (!(error = dlerror())) X+ error = dlerror(); X+ if (creator) { X plugin = (cPlugin *)creator(); X+ error = NULL; X+ } X } X if (!error) { X if (plugin && args) { 3f4c8e49ab4324632c144b62fd455dbc echo x - multimedia/vdr/files/patch-receiver.c sed 's/^X//' >multimedia/vdr/files/patch-receiver.c << 'd8c43df91aee296cdbbced5f924fa6d0' X--- receiver.c.orig X+++ receiver.c X@@ -36,10 +36,10 @@ cReceiver::cReceiver(const cChannel *Cha X cReceiver::~cReceiver() X { X if (device) { X- const char *msg = "ERROR: cReceiver has not been detached yet! This is a design fault and VDR will segfault now!"; X+ const char *msg = "ERROR: cReceiver has not been detached yet! This is a design fault and VDR will abort now!"; X esyslog("%s", msg); X fprintf(stderr, "%s\n", msg); X- *(char *)0 = 0; // cause a segfault X+ abort(); X } X } X d8c43df91aee296cdbbced5f924fa6d0 echo x - multimedia/vdr/files/patch-receiver.h-LEGACY_CRECEIVER sed 's/^X//' >multimedia/vdr/files/patch-receiver.h-LEGACY_CRECEIVER << '130b58a369d2ce7c8e5dd404cba7de04' X--- receiver.h.orig X+++ receiver.h X@@ -14,7 +14,7 @@ X X #define MAXRECEIVEPIDS 64 // the maximum number of PIDs per receiver X X-//#define LEGACY_CRECEIVER // Code enclosed with this macro is deprecated and may be removed in a future version X+#define LEGACY_CRECEIVER // Code enclosed with this macro is deprecated and may be removed in a future version X X class cReceiver { X friend class cDevice; 130b58a369d2ce7c8e5dd404cba7de04 echo x - multimedia/vdr/files/patch-recording.h-__RECORDING_H_DEPRECATED_DIRECT_MEMBER_ACCESS sed 's/^X//' >multimedia/vdr/files/patch-recording.h-__RECORDING_H_DEPRECATED_DIRECT_MEMBER_ACCESS << '4dd9bc9244f4c1398941250f87fc0963' X--- recording.h.orig X+++ recording.h X@@ -22,7 +22,7 @@ X #define TIMERMACRO_TITLE "TITLE" X #define TIMERMACRO_EPISODE "EPISODE" X X-//#define __RECORDING_H_DEPRECATED_DIRECT_MEMBER_ACCESS // Code enclosed with this macro is deprecated and may be removed in a future version X+#define __RECORDING_H_DEPRECATED_DIRECT_MEMBER_ACCESS // Code enclosed with this macro is deprecated and may be removed in a future version X X extern bool VfatFileSystem; X extern int InstanceId; 4dd9bc9244f4c1398941250f87fc0963 echo x - multimedia/vdr/files/patch-tools.c sed 's/^X//' >multimedia/vdr/files/patch-tools.c << '2582fcd7f909d11e4b687831fe35f50f' X--- tools.c.orig X+++ tools.c X@@ -1201,9 +1201,35 @@ cReadLine::~cReadLine() X free(buffer); X } X X+#ifdef __FreeBSD__ X+#if __FreeBSD_version > 800000 X+#define HAVE_GETLINE X+#endif X+#else X+#define HAVE_GETLINE X+#endif X+ X char *cReadLine::Read(FILE *f) X { X+#ifndef HAVE_GETLINE X+ size_t n; X+ X+ if (!buffer) { X+ if (!(buffer = (char *)malloc(size = 4096))) X+ return NULL; X+ } X+ if (!fgets(buffer, size, f)) X+ return NULL; X+ while ((n = strlen(buffer)) >= size - 1 && buffer[n - 1] != '\n') { X+ if (!(buffer = (char *)realloc(buffer, size * 2))) X+ return NULL; X+ size *= 2; X+ if (!fgets(buffer + n, size - n, f)) X+ break; X+ } X+#else X int n = getline(&buffer, &size, f); X+#endif X if (n > 0) { X n--; X if (buffer[n] == '\n') { 2582fcd7f909d11e4b687831fe35f50f echo x - multimedia/vdr/files/patch-vdr-1.7.22_FreeBSD sed 's/^X//' >multimedia/vdr/files/patch-vdr-1.7.22_FreeBSD << '87989db7bfde4fc281847968e0a531ff' 87989db7bfde4fc281847968e0a531ff echo x - multimedia/vdr/files/patch-vdr-1.7.27_FreeBSD sed 's/^X//' >multimedia/vdr/files/patch-vdr-1.7.27_FreeBSD << '332fe52b86d9aeb31414eb93ece97fff' XIndex: Make.config.template X@@ -8,6 +8,11 @@ X # X # $Id: Make.config.template 2.8 2012/03/20 11:20:13 kls Exp $ X X+OSTYPE ?= $(shell uname -s) X+ifeq ($(OSTYPE),FreeBSD) X+FREEBSD=1 X+endif X+ X ### The C compiler and options: X X CC = gcc X@@ -28,11 +33,22 @@ PREFIX = $(DESTDIR)/usr/local X MANDIR = $(PREFIX)/man X BINDIR = $(PREFIX)/bin X X+ifdef FREEBSD X+# you have to set DVBDIR to a valid path!!! X+# you will need extra patches for DVBDIR!!! X+#DVBDIR = /usr/local/include X+LOCDIR = $(PREFIX)/share/locale X+PLUGINDIR = ./PLUGINS X+PLUGINLIBDIR = $(PREFIX)/lib/vdr X+VIDEODIR = /video X+CONFDIR = $(PREFIX)/etc/vdr X+else X LOCDIR = ./locale X PLUGINDIR = ./PLUGINS X PLUGINLIBDIR = $(PLUGINDIR)/lib X VIDEODIR = /video X CONFDIR = $(VIDEODIR) X+endif X X ### The remote control: X X@@ -46,3 +62,7 @@ LIRC_DEVICE = /var/run/lirc/lircd X ifdef DVBDIR X INCLUDES += -I$(DVBDIR)/include X endif X+ X+ifdef FREEBSD X+INCLUDES += -I$(VDRDIR)/include -I/usr/local/include X+endif XIndex: Makefile X@@ -8,6 +8,11 @@ X X .DELETE_ON_ERROR: X X+OSTYPE ?= $(shell uname -s) X+ifeq ($(OSTYPE),FreeBSD) X+FREEBSD=1 X+endif X+ X CC ?= gcc X CFLAGS ?= -g -O3 -Wall X X@@ -21,7 +26,11 @@ MANDIR ?= $(PREFIX)/share/man X BINDIR ?= $(PREFIX)/bin X INCDIR ?= $(PREFIX)/include X LOCDIR ?= ./locale X+ifdef FREEBSD X+LIBS = -ljpeg -lpthread -lrt -lutil -lintl -liconv $(shell pkg-config --libs freetype2 fontconfig) X+else X LIBS = -ljpeg -lpthread -ldl -lcap -lrt $(shell pkg-config --libs freetype2 fontconfig) X+endif X INCLUDES ?= $(shell pkg-config --cflags freetype2 fontconfig) X X PLUGINDIR= ./PLUGINS X@@ -150,7 +159,11 @@ i18n: $(I18Nmsgs) X X install-i18n: X @mkdir -p $(DESTDIR)$(LOCDIR) X+ifdef FREEBSD X+ @(cd $(LOCALEDIR); cp -R * $(DESTDIR)$(LOCDIR)) X+else X @(cd $(LOCALEDIR); cp -r --parents * $(DESTDIR)$(LOCDIR)) X+endif X X # The 'include' directory (for plugins): X X@@ -189,7 +202,11 @@ install: install-bin install-conf instal X X install-bin: vdr X @mkdir -p $(DESTDIR)$(BINDIR) X+ifdef FREEBSD X+ @cp -f vdr svdrpsend $(DESTDIR)$(BINDIR) X+else X @cp --remove-destination vdr svdrpsend $(DESTDIR)$(BINDIR) X+endif X X # Configuration files: X X@@ -212,13 +229,18 @@ install-doc: X X install-plugins: plugins X @mkdir -p $(DESTDIR)$(PLUGINLIBDIR) X+ifdef FREEBSD X+ @cp -f $(PLUGINDIR)/lib/lib*-*.so.$(APIVERSION) $(DESTDIR)$(PLUGINLIBDIR) X+else X @cp --remove-destination $(PLUGINDIR)/lib/lib*-*.so.$(APIVERSION) $(DESTDIR)$(PLUGINLIBDIR) X+endif X X # Includes: X X install-includes: include-dir X @mkdir -p $(DESTDIR)$(INCDIR) X @cp -pLR include/vdr include/libsi $(DESTDIR)$(INCDIR) X+ @cp Make.config Make.global $(DESTDIR)$(INCDIR)/vdr X X # pkg-config file: X XIndex: channels.c X@@ -29,7 +29,12 @@ tChannelID tChannelID::FromString(const X int tid; X int sid; X int rid = 0; X+#ifdef __FreeBSD__ X+ sourcebuf = MALLOC(char, 10); X+ int fields = sscanf(s, "%9[^-]-%d-%d-%d-%d", sourcebuf, &nid, &tid, &sid, &rid); X+#else X int fields = sscanf(s, "%a[^-]-%d-%d-%d-%d", &sourcebuf, &nid, &tid, &sid, &rid); X+#endif X if (fields == 4 || fields == 5) { X int source = cSource::FromString(sourcebuf); X free(sourcebuf); X@@ -554,7 +559,18 @@ bool cChannel::Parse(const char *s) X char *apidbuf = NULL; X char *tpidbuf = NULL; X char *caidbuf = NULL; X+#ifdef __FreeBSD__ X+ namebuf = MALLOC(char, 256); X+ sourcebuf = MALLOC(char, 10); X+ parambuf = MALLOC(char, 256); X+ vpidbuf = MALLOC(char, 256); X+ apidbuf = MALLOC(char, 256); X+ tpidbuf = MALLOC(char, 256); X+ caidbuf = MALLOC(char, 256); X+ int fields = sscanf(s, "%255[^:]:%d :%255[^:]:%255[^:] :%d :%255[^:]:%255[^:]:%255[^:]:%255[^:]:%d :%d :%d :%d ", namebuf, &frequency, parambuf, sourcebuf, &srate, vpidbuf, apidbuf, tpidbuf, caidbuf, &sid, &nid, &tid, &rid); X+#else X int fields = sscanf(s, "%a[^:]:%d :%a[^:]:%a[^:] :%d :%a[^:]:%a[^:]:%a[^:]:%a[^:]:%d :%d :%d :%d ", &namebuf, &frequency, ¶mbuf, &sourcebuf, &srate, &vpidbuf, &apidbuf, &tpidbuf, &caidbuf, &sid, &nid, &tid, &rid); X+#endif X if (fields >= 9) { X if (fields == 9) { X // allow reading of old format XIndex: ci.c X=================================================================== XRCS file: /progs/network/ccvs/vdr/ci.c,v Xretrieving revision 1.1.1.2 Xretrieving revision 1.3 Xdiff -u -r1.1.1.2 -r1.3 X--- ci.c 2010/02/17 10:14:44 1.1.1.2 X+++ ci.c 2010/02/17 10:46:55 1.3 X@@ -10,7 +10,11 @@ X #include "ci.h" X #include X #include X+#ifdef __FreeBSD__ X+#include X+#else X #include X+#endif X #include X #include X #include XIndex: config.c X=================================================================== XRCS file: /progs/network/ccvs/vdr/config.c,v Xretrieving revision 1.1.1.4 Xretrieving revision 1.4 Xdiff -u -r1.1.1.4 -r1.4 X--- config.c 2010/06/07 09:07:28 1.1.1.4 X+++ config.c 2010/06/07 09:12:57 1.4 X@@ -10,6 +10,9 @@ X #include "config.h" X #include X #include X+#ifdef __FreeBSD__ X+#include X+#endif X #include "device.h" X #include "i18n.h" X #include "interface.h" XIndex: diseqc.c X@@ -114,7 +114,14 @@ bool cDiseqc::Parse(const char *s) X return true; X bool result = false; X char *sourcebuf = NULL; X+#ifdef __FreeBSD__ X+ sourcebuf = MALLOC(char, 10); X+ if (commands == NULL) X+ commands = MALLOC(char, 256); X+ int fields = sscanf(s, "%9[^ ] %d %c %d %255[^\n]", sourcebuf, &slof, &polarization, &lof, commands); X+#else X int fields = sscanf(s, "%a[^ ] %d %c %d %a[^\n]", &sourcebuf, &slof, &polarization, &lof, &commands); X+#endif X if (fields == 4) X commands = NULL; //XXX Apparently sscanf() doesn't work correctly if the last %a argument results in an empty string X if (4 <= fields && fields <= 5) { XIndex: eit.c X=================================================================== XRCS file: /progs/network/ccvs/vdr/eit.c,v Xretrieving revision 1.1.1.3 Xretrieving revision 1.5 Xdiff -u -r1.1.1.3 -r1.5 X--- eit.c 2010/06/07 09:07:27 1.1.1.3 X+++ eit.c 2010/06/07 09:12:57 1.5 X@@ -339,10 +339,15 @@ X if (diff > 2) { X mutex.Lock(); X if (abs(diff - lastDiff) < 3) { X+#ifdef __FreeBSD__ X+ isyslog("system time would have changed from %s (%ld) to %s (%ld)", *TimeToString(loctim), loctim, *TimeToString(sattim), sattim); X+ esyslog("stime() not available on FreeBSD, maybe use adjtime()?"); X+#else X if (stime(&sattim) == 0) X isyslog("system time changed from %s (%ld) to %s (%ld)", *TimeToString(loctim), loctim, *TimeToString(sattim), sattim); X else X esyslog("ERROR while setting system time: %m"); X+#endif X } X lastDiff = diff; X mutex.Unlock(); XIndex: epg.c X=================================================================== XRCS file: /progs/network/ccvs/vdr/epg.c,v Xretrieving revision 1.1.1.3 Xretrieving revision 1.5 Xdiff -u -r1.1.1.3 -r1.5 X--- epg.c 2010/03/01 09:42:48 1.1.1.3 X+++ epg.c 2010/03/01 09:58:06 1.5 X@@ -31,7 +31,13 @@ X bool tComponent::FromString(const char *s) X { X unsigned int Stream, Type; X+#ifdef __FreeBSD__ X+ if (description == NULL) X+ description = MALLOC(char, 256); X+ int n = sscanf(s, "%X %02X %7s %255[^\n]", &Stream, &Type, language, description); // 7 = MAXLANGCODE2 - 1 X+#else X int n = sscanf(s, "%X %02X %7s %a[^\n]", &Stream, &Type, language, &description); // 7 = MAXLANGCODE2 - 1 X+#endif X if (n != 4 || isempty(description)) { X free(description); X description = NULL; XIndex: font.c X=================================================================== XRCS file: /progs/network/ccvs/vdr/font.c,v Xretrieving revision 1.1.1.3 Xretrieving revision 1.5 Xdiff -u -r1.1.1.3 -r1.5 X--- font.c 2010/10/19 20:28:48 1.1.1.3 X+++ font.c 2010/10/19 20:32:58 1.5 X@@ -383,7 +383,11 @@ X { X if (!FontNames->Size()) { X FcInit(); X+#ifdef __FreeBSD__ X+ FcObjectSet *os = FcObjectSetBuild(FC_FAMILY, FC_STYLE, (char *)NULL); X+#else X FcObjectSet *os = FcObjectSetBuild(FC_FAMILY, FC_STYLE, NULL); X+#endif X FcPattern *pat = FcPatternCreate(); X FcPatternAddBool(pat, FC_SCALABLE, FcTrue); X if (Monospaced) XIndex: i18n.h X=================================================================== XRCS file: /progs/network/ccvs/vdr/i18n.h,v Xretrieving revision 1.1.1.2 Xretrieving revision 1.3 Xdiff -u -r1.1.1.2 -r1.3 X--- i18n.h 2010/02/17 10:14:45 1.1.1.2 X+++ i18n.h 2010/02/17 10:46:55 1.3 X@@ -48,7 +48,11 @@ X ///< have an actual locale installed. The rest are just dummy entries X ///< to allow having three letter language codes for other languages X ///< that have no actual locale on this system. X+#ifdef __FreeBSD__ X+const char *I18nTranslate(const char *s, const char *Plugin = NULL) __format_arg(1); X+#else X const char *I18nTranslate(const char *s, const char *Plugin = NULL) __attribute_format_arg__(1); X+#endif X ///< Translates the given string (with optional Plugin context) into X ///< the current language. If no translation is available, the original X ///< string will be returned. XIndex: menu.c X=================================================================== XRCS file: /progs/network/ccvs/vdr/menu.c,v Xretrieving revision 1.1.1.6 Xretrieving revision 1.7 Xdiff -u -r1.1.1.6 -r1.7 XIndex: menuitems.c X=================================================================== XRCS file: /progs/network/ccvs/vdr/menuitems.c,v Xretrieving revision 1.1.1.4 Xretrieving revision 1.5 Xdiff -u -r1.1.1.4 -r1.5 X--- menuitems.c 2010/06/07 09:07:27 1.1.1.4 X+++ menuitems.c 2010/06/07 09:12:57 1.5 X@@ -838,7 +838,11 @@ X struct tm tm_r; X localtime_r(value, &tm_r); X strftime(buf, DATEBUFFERSIZE, "%Y-%m-%d ", &tm_r); X+#ifdef __FreeBSD__ X+ strcat(buf, WeekDayNameReal(tm_r.tm_wday)); X+#else X strcat(buf, WeekDayName(tm_r.tm_wday)); X+#endif X } X else X *buf = 0; XIndex: pat.c X=================================================================== XRCS file: /progs/network/ccvs/vdr/pat.c,v Xretrieving revision 1.1.1.5 Xretrieving revision 1.6 Xdiff -u -r1.1.1.5 -r1.6 X--- pat.c 2010/10/19 20:28:48 1.1.1.5 X+++ pat.c 2010/10/19 20:32:58 1.6 X@@ -8,7 +8,11 @@ X */ X X #include "pat.h" X+#ifdef __FreeBSD__ X+#include X+#else X #include X+#endif X #include "channels.h" X #include "libsi/section.h" X #include "libsi/descriptor.h" XIndex: recording.c X=================================================================== XRCS file: /progs/network/ccvs/vdr/recording.c,v Xretrieving revision 1.1.1.3 Xretrieving revision 1.5 Xdiff -u -r1.1.1.3 -r1.5 X--- recording.c 2010/03/16 15:18:58 1.1.1.3 X+++ recording.c 2010/03/16 15:21:05 1.5 X@@ -1825,7 +1829,11 @@ X // Search for a PAT packet from the end of the file: X cPatPmtParser PatPmtParser; X sprintf(pFileNumber, RECORDFILESUFFIXTS, Number); X+#ifdef __FreeBSD__ X+ int fd = open(fileName, O_RDONLY, DEFFILEMODE); X+#else X int fd = open(fileName, O_RDONLY | O_LARGEFILE, DEFFILEMODE); X+#endif X if (fd >= 0) { X off_t pos = lseek(fd, -TS_SIZE, SEEK_END); X while (pos >= 0) { X@@ -1866,14 +1874,22 @@ X int BlockingFlag = blocking ? 0 : O_NONBLOCK; X if (record) { X dsyslog("recording to '%s'", fileName); X+#ifdef __FreeBSD__ X+ file = OpenVideoFile(fileName, O_RDWR | O_CREAT | BlockingFlag); X+#else X file = OpenVideoFile(fileName, O_RDWR | O_CREAT | O_LARGEFILE | BlockingFlag); X+#endif X if (!file) X LOG_ERROR_STR(fileName); X } X else { X if (access(fileName, R_OK) == 0) { X dsyslog("playing '%s'", fileName); X+#ifdef __FreeBSD__ X+ file = cUnbufferedFile::Create(fileName, O_RDONLY | BlockingFlag); X+#else X file = cUnbufferedFile::Create(fileName, O_RDONLY | O_LARGEFILE | BlockingFlag); X+#endif X if (!file) X LOG_ERROR_STR(fileName); X } XIndex: skins.c X=================================================================== XRCS file: /progs/network/ccvs/vdr/skins.c,v Xretrieving revision 1.1.1.2 Xretrieving revision 1.3 Xdiff -u -r1.1.1.2 -r1.3 X--- skins.c 2010/02/17 10:14:45 1.1.1.2 X+++ skins.c 2010/02/17 10:46:55 1.3 X@@ -11,6 +11,20 @@ X #include "interface.h" X #include "status.h" X X+#ifdef __FreeBSD__ X+/* XXX Implement strchrnul for FreeBSD. */ X+static char * X+strchrnul (const char *s, int c_in) X+{ X+ char c = c_in; X+ while (*s && (*s != c)) X+ s++; X+ X+ return (char *) s; X+} X+#endif X+ X+ X // --- cSkinQueuedMessage ---------------------------------------------------- X X class cSkinQueuedMessage : public cListObject { XIndex: sources.c X=================================================================== XRCS file: /progs/network/ccvs/vdr/sources.c,v Xretrieving revision 1.1.1.4 Xretrieving revision 1.5 Xdiff -u -r1.1.1.4 -r1.5 X--- sources.c 2010/03/16 15:18:58 1.1.1.4 X+++ sources.c 2010/03/16 15:21:05 1.5 X@@ -31,7 +31,14 @@ X bool cSource::Parse(const char *s) X { X char *codeBuf = NULL; X+#ifdef __FreeBSD__ X+ codeBuf = MALLOC(char, 10); X+ if (description == NULL) X+ description = MALLOC(char, 256); X+ if (2 == sscanf(s, "%9[^ ] %255[^\n]", codeBuf, description)) X+#else X if (2 == sscanf(s, "%a[^ ] %a[^\n]", &codeBuf, &description)) X+#endif X code = FromString(codeBuf); X free(codeBuf); X return code != stNone && description && *description; XIndex: svdrp.c X=================================================================== XRCS file: /progs/network/ccvs/vdr/svdrp.c,v Xretrieving revision 1.1.1.2 Xretrieving revision 1.4 Xdiff -u -r1.1.1.2 -r1.4 X--- svdrp.c 2010/02/17 10:14:45 1.1.1.2 X+++ svdrp.c 2010/02/17 12:34:54 1.4 X@@ -40,6 +40,12 @@ X #include "tools.h" X #include "videodir.h" X X+/* FreeBSD has it's own version of isnumber(), X+ but VDR's version is incompatible */ X+#ifdef __FreeBSD__ X+#undef isnumber X+#endif X+ X // --- cSocket --------------------------------------------------------------- X X cSocket::cSocket(int Port, int Queue) XIndex: themes.c X=================================================================== XRCS file: /progs/network/ccvs/vdr/themes.c,v Xretrieving revision 1.1.1.2 Xretrieving revision 1.3 Xdiff -u -r1.1.1.2 -r1.3 X--- themes.c 2010/02/17 10:14:44 1.1.1.2 X+++ themes.c 2010/02/17 10:46:55 1.3 X@@ -47,7 +47,11 @@ X // FileName is ok X if (SetName) { X free(name); X+#ifdef __FreeBSD__ X+ name = (char *)strndup(n, e - n); X+#else X name = strndup(n, e - n); X+#endif X } X } X else XIndex: thread.c X=================================================================== XRCS file: /progs/network/ccvs/vdr/thread.c,v Xretrieving revision 1.1.1.2 Xretrieving revision 1.6 Xdiff -u -r1.1.1.2 -r1.6 X--- thread.c 2010/02/17 10:14:45 1.1.1.2 X+++ thread.c 2010/02/24 08:41:13 1.6 X@@ -9,15 +9,22 @@ X X #include "thread.h" X #include X+#ifdef __FreeBSD__ X+#include X+#include X+#else X #include X #include X+#endif X #include X #include X #include X #include X #include X #include X+#ifndef __FreeBSD__ X #include X+#endif X #include X #include "tools.h" X X@@ -143,7 +150,9 @@ X { X pthread_rwlockattr_t attr; X pthread_rwlockattr_init(&attr); X+#ifndef __FreeBSD__ X pthread_rwlockattr_setkind_np(&attr, PreferWriter ? PTHREAD_RWLOCK_PREFER_WRITER_NP : PTHREAD_RWLOCK_PREFER_READER_NP); X+#endif X pthread_rwlock_init(&rwlock, &attr); X } X X@@ -179,7 +188,11 @@ X locked = 0; X pthread_mutexattr_t attr; X pthread_mutexattr_init(&attr); X+#ifdef __FreeBSD__ X+ pthread_mutexattr_settype(&attr, PTHREAD_MUTEX_ERRORCHECK); X+#else X pthread_mutexattr_settype(&attr, PTHREAD_MUTEX_ERRORCHECK_NP); X+#endif X pthread_mutex_init(&mutex, &attr); X } X X@@ -228,8 +241,12 @@ X X void cThread::SetIOPriority(int Priority) X { X+#ifdef __FreeBSD__ X+ esyslog("ERROR: syscall(SYS_ioprio_set ...) unsupported on FreeBSD"); X+#else X if (syscall(SYS_ioprio_set, 1, 0, (Priority & 0xff) | (2 << 13)) < 0) // best effort class X LOG_ERROR; X+#endif X } X X void cThread::SetDescription(const char *Description, ...) X@@ -335,7 +352,11 @@ X X tThreadId cThread::ThreadId(void) X { X+#ifdef __FreeBSD__ X+ return reinterpret_cast(::pthread_self()); X+#else X return syscall(__NR_gettid); X+#endif X } X X void cThread::SetMainThreadId(void) X@@ -461,7 +482,11 @@ X int MaxPossibleFileDescriptors = getdtablesize(); X for (int i = STDERR_FILENO + 1; i < MaxPossibleFileDescriptors; i++) X close(i); //close all dup'ed filedescriptors X+#ifdef __FreeBSD__ X+ if (execl("/bin/sh", "sh", "-c", Command, (char *)NULL) == -1) { X+#else X if (execl("/bin/sh", "sh", "-c", Command, NULL) == -1) { X+#endif X LOG_ERROR_STR(Command); X close(fd[1 - iopipe]); X _exit(-1); X@@ -544,7 +569,11 @@ X int MaxPossibleFileDescriptors = getdtablesize(); X for (int i = STDERR_FILENO + 1; i < MaxPossibleFileDescriptors; i++) X close(i); //close all dup'ed filedescriptors X+#ifdef __FreeBSD__ X+ if (execl("/bin/sh", "sh", "-c", Command, (char *)NULL) == -1) { X+#else X if (execl("/bin/sh", "sh", "-c", Command, NULL) == -1) { X+#endif X LOG_ERROR_STR(Command); X _exit(-1); X } XIndex: thread.h X=================================================================== XRCS file: /progs/network/ccvs/vdr/thread.h,v Xretrieving revision 1.1.1.2 Xretrieving revision 1.3 Xdiff -u -r1.1.1.2 -r1.3 X--- thread.h 2010/02/17 10:14:44 1.1.1.2 X+++ thread.h 2010/02/17 10:46:55 1.3 X@@ -13,6 +13,9 @@ X #include X #include X #include X+#ifdef __FreeBSD__ X+#include X+#endif X X class cCondWait { X private: XIndex: timers.c X=================================================================== XRCS file: /progs/network/ccvs/vdr/timers.c,v Xretrieving revision 1.1.1.2 Xretrieving revision 1.3 Xdiff -u -r1.1.1.2 -r1.3 X--- timers.c 2010/02/17 10:14:45 1.1.1.2 X+++ timers.c 2010/02/17 10:46:55 1.3 X@@ -23,6 +23,12 @@ X // format characters in order to allow any number of blanks after a numeric X // value! X X+/* FreeBSD has it's own version of isnumber(), X+ but VDR's version is incompatible */ X+#ifdef __FreeBSD__ X+#undef isnumber X+#endif X+ X // --- cTimer ---------------------------------------------------------------- X X cTimer::cTimer(bool Instant, bool Pause, cChannel *Channel) X@@ -292,7 +298,15 @@ X s = s2; X } X bool result = false; X+#ifdef __FreeBSD__ X+ channelbuffer = MALLOC(char, 256); X+ daybuffer = MALLOC(char, 256); X+ filebuffer = MALLOC(char, 256); X+ aux = MALLOC(char, 256); X+ if (8 <= sscanf(s, "%u :%255[^:]:%255[^:]:%d :%d :%d :%d :%255[^:\n]:%255[^\n]", &flags, channelbuffer, daybuffer, &start, &stop, &priority, &lifetime, filebuffer, aux)) { X+#else X if (8 <= sscanf(s, "%u :%a[^:]:%a[^:]:%d :%d :%d :%d :%a[^:\n]:%a[^\n]", &flags, &channelbuffer, &daybuffer, &start, &stop, &priority, &lifetime, &filebuffer, &aux)) { X+#endif X ClrFlags(tfRecording); X if (aux && !*skipspace(aux)) { X free(aux); XIndex: tools.c X=================================================================== XRCS file: /progs/network/ccvs/vdr/tools.c,v Xretrieving revision 1.1.1.5 Xretrieving revision 1.8 Xdiff -u -r1.1.1.5 -r1.8 X--- tools.c 2010/10/19 20:28:48 1.1.1.5 X+++ tools.c 2010/10/19 20:32:58 1.8 X@@ -21,13 +21,24 @@ X #include X #include X #include X+#ifdef __FreeBSD__ X+#include X+#include X+#else X #include X+#endif X #include X #include X #include X #include "i18n.h" X #include "thread.h" X X+/* FreeBSD has it's own version of isnumber(), X+ but VDR's version is incompatible */ X+#ifdef __FreeBSD__ X+#undef isnumber X+#endif X+ X int SysLogLevel = 3; X X #define MAXSYSLOGBUF 256 X@@ -493,6 +504,18 @@ X { X if (!FileName) X return NULL; X+#ifdef __FreeBSD__ X+ char *resolved_path = NULL; X+ resolved_path = MALLOC(char, PATH_MAX+1); X+ if (realpath(FileName, resolved_path) == NULL) X+ { X+ if (errno != ENOENT) // some other error occurred X+ LOG_ERROR_STR(FileName); X+ else // file doesn't exist X+ resolved_path = strdup(FileName); X+ } X+ return resolved_path; X+#else X char *TargetName = canonicalize_file_name(FileName); X if (!TargetName) { X if (errno == ENOENT) // file doesn't exist X@@ -501,6 +524,7 @@ X LOG_ERROR_STR(FileName); X } X return TargetName; X+#endif X } X X bool SpinUpDisk(const char *FileName) X@@ -517,7 +541,11 @@ X int f = open(buf, O_WRONLY | O_CREAT, DEFFILEMODE); X // O_SYNC doesn't work on all file systems X if (f >= 0) { X+#ifdef __FreeBSD__ X+ if (fsync(f) < 0) X+#else X if (fdatasync(f) < 0) X+#endif X LOG_ERROR_STR(*buf); X close(f); X remove(buf); X@@ -818,7 +846,11 @@ X const char *cCharSetConv::Convert(const char *From, char *To, size_t ToLength) X { X if (cd != (iconv_t)-1 && From && *From) { X+#ifdef __FreeBSD__ X+ const char *FromPtr = (char *)From; X+#else X char *FromPtr = (char *)From; X+#endif X size_t FromLength = strlen(From); X char *ToPtr = To; X if (!ToPtr) { X@@ -920,7 +952,11 @@ X return cString(buffer, true); X } X X+#ifdef __FreeBSD__ X+cString WeekDayNameReal(int WeekDay) X+#else X cString WeekDayName(int WeekDay) X+#endif X { X char buffer[16]; X WeekDay = WeekDay == 0 ? 6 : WeekDay - 1; // we start with Monday==0! X@@ -938,10 +974,18 @@ X cString WeekDayName(time_t t) X { X struct tm tm_r; X+#ifdef __FreeBSD__ X+ return WeekDayNameReal(localtime_r(&t, &tm_r)->tm_wday); X+#else X return WeekDayName(localtime_r(&t, &tm_r)->tm_wday); X+#endif X } X X+#ifdef __FreeBSD__ X+cString WeekDayNameFullReal(int WeekDay) X+#else X cString WeekDayNameFull(int WeekDay) X+#endif X { X WeekDay = WeekDay == 0 ? 6 : WeekDay - 1; // we start with Monday==0! X switch (WeekDay) { X@@ -959,7 +1003,11 @@ X cString WeekDayNameFull(time_t t) X { X struct tm tm_r; X+#ifdef __FreeBSD__ X+ return WeekDayNameFullReal(localtime_r(&t, &tm_r)->tm_wday); X+#else X return WeekDayNameFull(localtime_r(&t, &tm_r)->tm_wday); X+#endif X } X X cString DayDateTime(time_t t) X@@ -969,7 +1017,11 @@ X time(&t); X struct tm tm_r; X tm *tm = localtime_r(&t, &tm_r); X+#ifdef __FreeBSD__ X+ snprintf(buffer, sizeof(buffer), "%s %02d.%02d. %02d:%02d", *WeekDayNameReal(tm->tm_wday), tm->tm_mday, tm->tm_mon + 1, tm->tm_hour, tm->tm_min); X+#else X snprintf(buffer, sizeof(buffer), "%s %02d.%02d. %02d:%02d", *WeekDayName(tm->tm_wday), tm->tm_mday, tm->tm_mon + 1, tm->tm_hour, tm->tm_min); X+#endif X return buffer; X } X X@@ -988,7 +1040,11 @@ X char buf[32]; X struct tm tm_r; X tm *tm = localtime_r(&t, &tm_r); X+#ifdef __FreeBSD__ X+ char *p = stpcpy(buf, WeekDayNameReal(tm->tm_wday)); X+#else X char *p = stpcpy(buf, WeekDayName(tm->tm_wday)); X+#endif X *p++ = ' '; X strftime(p, sizeof(buf) - (p - buf), "%d.%m.%Y", tm); X return buf; X@@ -1315,7 +1371,11 @@ X if (!IsOpen()) { X f = FileDes; X if (f >= 0) { X+#ifdef __FreeBSD__ X+ if ((uint)f < FD_SETSIZE) { X+#else X if (f < FD_SETSIZE) { X+#endif X if (f >= maxFiles) X maxFiles = f + 1; X if (!files[f]) X@@ -1356,7 +1416,11 @@ X if (files[i]) X FD_SET(i, &set); X } X+#ifdef __FreeBSD__ X+ if (0 <= FileDes && (uint)FileDes < FD_SETSIZE && !files[FileDes]) X+#else X if (0 <= FileDes && FileDes < FD_SETSIZE && !files[FileDes]) X+#endif X FD_SET(FileDes, &set); // in case we come in with an arbitrary descriptor X if (TimeoutMs == 0) X TimeoutMs = 10; // load gets too heavy with 0 X@@ -1451,7 +1515,9 @@ X X // --- cUnbufferedFile ------------------------------------------------------- X X+#ifndef __FreeBSD__ X #define USE_FADVISE X+#endif X X #define WRITE_BUFFER KILOBYTE(800) X X@@ -1512,11 +1578,13 @@ X readahead = ra; X } X X+#ifdef USE_FADVISE X int cUnbufferedFile::FadviseDrop(off_t Offset, off_t Len) X { X // rounding up the window to make sure that not PAGE_SIZE-aligned data gets freed. X return posix_fadvise(fd, Offset - (FADVGRAN - 1), Len + (FADVGRAN - 1) * 2, POSIX_FADV_DONTNEED); X } X+#endif X X off_t cUnbufferedFile::Seek(off_t Offset, int Whence) X { XIndex: tools.h X@@ -27,6 +27,12 @@ X #include X #include X X+#ifdef __FreeBSD__ X+#include X+typedef int (*__compar_fn_t) (__const void *, __const void *); X+#undef isnumber X+#endif X+ X typedef unsigned char uchar; X X extern int SysLogLevel; X@@ -227,9 +233,17 @@ bool SpinUpDisk(const char *FileName); X void TouchFile(const char *FileName); X time_t LastModifiedTime(const char *FileName); X off_t FileSize(const char *FileName); ///< returns the size of the given file, or -1 in case of an error (e.g. if the file doesn't exist) X+#ifdef __FreeBSD__ X+cString WeekDayNameReal(int WeekDay); X+#else X cString WeekDayName(int WeekDay); X+#endif X cString WeekDayName(time_t t); X+#ifdef __FreeBSD__ X+cString WeekDayNameFullReal(int WeekDay); X+#else X cString WeekDayNameFull(int WeekDay); X+#endif X cString WeekDayNameFull(time_t t); X cString DayDateTime(time_t t = 0); X cString TimeToString(time_t t); XIndex: vdr.c X--- vdr.c X+++ vdr.c X@@ -32,8 +32,13 @@ X #include X #include X #include X+#ifndef __FreeBSD__ X #include X #include X+#else X+#include X+#include X+#endif X #include X #include X #include "audio.h" X@@ -107,12 +112,15 @@ static bool SetUser(const char *UserName X fprintf(stderr, "vdr: cannot set user id %u: %s\n", (unsigned int)user->pw_uid, strerror(errno)); X return false; X } X+#ifndef __FreeBSD__ X if (UserDump && prctl(PR_SET_DUMPABLE, 1, 0, 0, 0) < 0) X fprintf(stderr, "vdr: warning - cannot set dumpable: %s\n", strerror(errno)); X+#endif X } X return true; X } X X+#ifndef __FreeBSD__ X static bool DropCaps(void) X { X // drop all capabilities except selected ones X@@ -139,6 +147,7 @@ static bool SetKeepCaps(bool On) X } X return true; X } X+#endif X X static void SignalHandler(int signum) X { X@@ -400,14 +409,18 @@ int main(int argc, char *argv[]) X if (VdrUser && geteuid() == 0) { X StartedAsRoot = true; X if (strcmp(VdrUser, "root")) { X+#ifndef __FreeBSD__ X if (!SetKeepCaps(true)) X return 2; X+#endif X if (!SetUser(VdrUser, UserDump)) X return 2; X+#ifndef __FreeBSD__ X if (!SetKeepCaps(false)) X return 2; X if (!DropCaps()) X return 2; X+#endif X } X } X X@@ -556,6 +569,25 @@ int main(int argc, char *argv[]) X CodeSet++; // skip the dot X } X } X+#ifdef __FreeBSD__ X+ // If we are started without a locale query login.conf(5) for X+ // a lang setting X+ X+ if (!CodeSet || !strcmp(CodeSet, "US-ASCII")) { X+ struct passwd *User = getpwnam(VdrUser); X+ login_cap_t *Lc = login_getuserclass(User); X+ if (!Lc) X+ Lc = login_getpwclass(User); X+ if (Lc) { X+ const char *Lang = login_getcapstr(Lc, "lang", NULL, NULL); X+ if (Lang && setlocale(LC_CTYPE, Lang)) { X+ CodeSet = nl_langinfo(CODESET); X+ setenv("LANG", Lang, 1); X+ } X+ login_close(Lc); X+ } X+ } X+#endif X if (CodeSet) { X bool known = SI::SetSystemCharacterTable(CodeSet); X isyslog("codeset is '%s' - %s", CodeSet, known ? "known" : "unknown"); XIndex: PLUGINS/src/svdrpdemo/svdrpdemo.c X=================================================================== XRCS file: /progs/network/ccvs/vdr/PLUGINS/src/svdrpdemo/svdrpdemo.c,v Xretrieving revision 1.1.1.2 Xretrieving revision 1.4 Xdiff -u -r1.1.1.2 -r1.4 XIndex: libsi/headers.h X=================================================================== XRCS file: /progs/network/ccvs/vdr/libsi/headers.h,v Xretrieving revision 1.1.1.2 Xretrieving revision 1.3 Xdiff -u -r1.1.1.2 -r1.3 X--- libsi/headers.h 2010/02/17 10:14:45 1.1.1.2 X+++ libsi/headers.h 2010/02/17 10:46:56 1.3 X@@ -17,7 +17,11 @@ X #ifndef LIBSI_HEADERS_H X #define LIBSI_HEADERS_H X X+#ifdef __FreeBSD__ X+#include X+#else X #include X+#endif X X namespace SI { X XIndex: libsi/si.c X=================================================================== XRCS file: /progs/network/ccvs/vdr/libsi/si.c,v Xretrieving revision 1.1.1.4 Xretrieving revision 1.7 Xdiff -u -r1.1.1.4 -r1.7 X--- libsi/si.c 2010/03/01 09:42:49 1.1.1.4 X+++ libsi/si.c 2010/03/01 09:58:08 1.7 X@@ -13,7 +13,9 @@ X #include "si.h" X #include X #include X+#ifndef __FreeBSD__ X #include X+#endif X #include // for broadcaster stupidity workaround X #include X #include "descriptor.h" X@@ -381,7 +383,11 @@ X if (SystemCharacterTable) { X iconv_t cd = iconv_open(SystemCharacterTable, fromCode); X if (cd != (iconv_t)-1) { X+#ifdef __FreeBSD__ X+ const char *fromPtr = from; X+#else X char *fromPtr = (char *)from; X+#endif X while (fromLength > 0 && toLength > 1) { X if (iconv(cd, &fromPtr, &fromLength, &to, &toLength) == size_t(-1)) { X if (errno == EILSEQ) { X--- PLUGINS/src/dvbsddevice/Makefile.orig X+++ PLUGINS/src/dvbsddevice/Makefile X@@ -45,7 +45,7 @@ PACKAGE = vdr-$(ARCHIVE) X X ### Includes and Defines (add further entries here): X X-INCLUDES += -I$(VDRDIR)/include X+INCLUDES = -I$(VDRDIR)/include -I${LOCALBASE}/include X X DEFINES += -D_GNU_SOURCE -DPLUGIN_NAME_I18N='"$(PLUGIN)"' X X@@ -100,7 +100,11 @@ i18n: $(I18Nmsgs) $(I18Npot) X X libvdr-$(PLUGIN).so: $(OBJS) X $(CXX) $(CXXFLAGS) $(LDFLAGS) -shared $(OBJS) -o $@ X- @cp --remove-destination $@ $(LIBDIR)/$@.$(APIVERSION) X+ifdef FREEBSD X+ @cp -f $@ $(LIBDIR)/$@.$(APIVERSION) X+else X+ @cp --remove-destination $@ $(LIBDIR)/$@.$(APIVERSION) X+endif X X dist: $(I18Npo) clean X @-rm -rf $(TMPDIR)/$(ARCHIVE) X--- PLUGINS/src/hello/Makefile.orig X+++ PLUGINS/src/hello/Makefile X@@ -45,7 +45,7 @@ PACKAGE = vdr-$(ARCHIVE) X X ### Includes and Defines (add further entries here): X X-INCLUDES += -I$(VDRDIR)/include X+INCLUDES = -I$(VDRDIR)/include -I${LOCALBASE}/include X X DEFINES += -D_GNU_SOURCE -DPLUGIN_NAME_I18N='"$(PLUGIN)"' X X@@ -100,7 +100,11 @@ i18n: $(I18Nmsgs) X X libvdr-$(PLUGIN).so: $(OBJS) X $(CXX) $(CXXFLAGS) $(LDFLAGS) -shared $(OBJS) -o $@ X- @cp --remove-destination $@ $(LIBDIR)/$@.$(APIVERSION) X+ifdef FREEBSD X+ @cp -f $@ $(LIBDIR)/$@.$(APIVERSION) X+else X+ @cp --remove-destination $@ $(LIBDIR)/$@.$(APIVERSION) X+endif X X dist: $(I18Npo) clean X @-rm -rf $(TMPDIR)/$(ARCHIVE) X--- PLUGINS/src/osddemo/Makefile.orig X+++ PLUGINS/src/osddemo/Makefile X@@ -43,7 +43,7 @@ PACKAGE = vdr-$(ARCHIVE) X X ### Includes and Defines (add further entries here): X X-INCLUDES += -I$(VDRDIR)/include X+INCLUDES = -I$(VDRDIR)/include -I${LOCALBASE}/include X X DEFINES += -D_GNU_SOURCE -DPLUGIN_NAME_I18N='"$(PLUGIN)"' X X@@ -73,7 +73,11 @@ $(DEPFILE): Makefile X X libvdr-$(PLUGIN).so: $(OBJS) X $(CXX) $(CXXFLAGS) $(LDFLAGS) -shared $(OBJS) -o $@ X- @cp --remove-destination $@ $(LIBDIR)/$@.$(APIVERSION) X+ifdef FREEBSD X+ @cp -f $@ $(LIBDIR)/$@.$(APIVERSION) X+else X+ @cp --remove-destination $@ $(LIBDIR)/$@.$(APIVERSION) X+endif X X dist: clean X @-rm -rf $(TMPDIR)/$(ARCHIVE) X--- PLUGINS/src/pictures/Makefile.orig X+++ PLUGINS/src/pictures/Makefile X@@ -45,7 +45,7 @@ PACKAGE = vdr-$(ARCHIVE) X X ### Includes and Defines (add further entries here): X X-INCLUDES += -I$(VDRDIR)/include X+INCLUDES = -I$(VDRDIR)/include -I${LOCALBASE}/include X X DEFINES += -D_GNU_SOURCE -DPLUGIN_NAME_I18N='"$(PLUGIN)"' X X@@ -100,7 +100,11 @@ i18n: $(I18Nmsgs) $(I18Npot) X X libvdr-$(PLUGIN).so: $(OBJS) X $(CXX) $(CXXFLAGS) $(LDFLAGS) -shared $(OBJS) -o $@ X- @cp --remove-destination $@ $(LIBDIR)/$@.$(APIVERSION) X+ifdef FREEBSD X+ @cp -f $@ $(LIBDIR)/$@.$(APIVERSION) X+else X+ @cp --remove-destination $@ $(LIBDIR)/$@.$(APIVERSION) X+endif X X dist: $(I18Npo) clean X @-rm -rf $(TMPDIR)/$(ARCHIVE) X--- PLUGINS/src/servicedemo/Makefile.orig X+++ PLUGINS/src/servicedemo/Makefile X@@ -45,7 +45,7 @@ PACKAGE = vdr-$(ARCHIVE) X X ### Includes and Defines (add further entries here): X X-INCLUDES += -I$(VDRDIR)/include X+INCLUDES = -I$(VDRDIR)/include -I${LOCALBASE}/include X X DEFINES += -D_GNU_SOURCE -DPLUGIN_NAME_I18N='"$(PLUGIN)"' X X@@ -75,11 +75,19 @@ $(DEPFILE): Makefile X X libvdr-$(PLUGIN1).so: $(PLUGIN1).o X $(CXX) $(CXXFLAGS) $(LDFLAGS) -shared $(PLUGIN1).o -o $@ X- @cp --remove-destination $@ $(LIBDIR)/$@.$(APIVERSION) X+ifdef FREEBSD X+ @cp -f $@ $(LIBDIR)/$@.$(APIVERSION) X+else X+ @cp --remove-destination $@ $(LIBDIR)/$@.$(APIVERSION) X+endif X X libvdr-$(PLUGIN2).so: $(PLUGIN2).o X $(CXX) $(CXXFLAGS) $(LDFLAGS) -shared $(PLUGIN2).o -o $@ X- @cp --remove-destination $@ $(LIBDIR)/$@.$(APIVERSION) X+ifdef FREEBSD X+ @cp -f $@ $(LIBDIR)/$@.$(APIVERSION) X+else X+ @cp --remove-destination $@ $(LIBDIR)/$@.$(APIVERSION) X+endif X X dist: clean X @-rm -rf $(TMPDIR)/$(ARCHIVE) X--- PLUGINS/src/skincurses/Makefile.orig X+++ PLUGINS/src/skincurses/Makefile X@@ -45,7 +45,7 @@ PACKAGE = vdr-$(ARCHIVE) X X ### Includes and Defines (add further entries here): X X-INCLUDES += -I$(VDRDIR)/include X+INCLUDES = -I$(VDRDIR)/include -I${LOCALBASE}/include X X DEFINES += -D_GNU_SOURCE -DPLUGIN_NAME_I18N='"$(PLUGIN)"' X X@@ -100,7 +100,11 @@ i18n: $(I18Nmsgs) $(I18Npot) X X libvdr-$(PLUGIN).so: $(OBJS) X $(CXX) $(CXXFLAGS) $(LDFLAGS) -shared $(OBJS) -lncursesw -o $@ X- @cp --remove-destination $@ $(LIBDIR)/$@.$(APIVERSION) X+ifdef FREEBSD X+ @cp -f $@ $(LIBDIR)/$@.$(APIVERSION) X+else X+ @cp --remove-destination $@ $(LIBDIR)/$@.$(APIVERSION) X+endif X X dist: $(I18Npo) clean X @-rm -rf $(TMPDIR)/$(ARCHIVE) X--- PLUGINS/src/status/Makefile.orig X+++ PLUGINS/src/status/Makefile X@@ -43,7 +43,7 @@ PACKAGE = vdr-$(ARCHIVE) X X ### Includes and Defines (add further entries here): X X-INCLUDES += -I$(VDRDIR)/include X+INCLUDES = -I$(VDRDIR)/include -I${LOCALBASE}/include X X DEFINES += -D_GNU_SOURCE -DPLUGIN_NAME_I18N='"$(PLUGIN)"' X X@@ -73,7 +73,11 @@ $(DEPFILE): Makefile X X libvdr-$(PLUGIN).so: $(OBJS) X $(CXX) $(CXXFLAGS) $(LDFLAGS) -shared $(OBJS) -o $@ X- @cp --remove-destination $@ $(LIBDIR)/$@.$(APIVERSION) X+ifdef FREEBSD X+ @cp -f $@ $(LIBDIR)/$@.$(APIVERSION) X+else X+ @cp --remove-destination $@ $(LIBDIR)/$@.$(APIVERSION) X+endif X X dist: clean X @-rm -rf $(TMPDIR)/$(ARCHIVE) X--- PLUGINS/src/svdrpdemo/Makefile.orig X+++ PLUGINS/src/svdrpdemo/Makefile X@@ -43,7 +43,7 @@ PACKAGE = vdr-$(ARCHIVE) X X ### Includes and Defines (add further entries here): X X-INCLUDES += -I$(VDRDIR)/include X+INCLUDES = -I$(VDRDIR)/include -I${LOCALBASE}/include X X DEFINES += -D_GNU_SOURCE -DPLUGIN_NAME_I18N='"$(PLUGIN)"' X X@@ -73,7 +73,11 @@ $(DEPFILE): Makefile X X libvdr-$(PLUGIN).so: $(OBJS) X $(CXX) $(CXXFLAGS) $(LDFLAGS) -shared $(OBJS) -o $@ X- @cp --remove-destination $@ $(LIBDIR)/$@.$(APIVERSION) X+ifdef FREEBSD X+ @cp -f $@ $(LIBDIR)/$@.$(APIVERSION) X+else X+ @cp --remove-destination $@ $(LIBDIR)/$@.$(APIVERSION) X+endif X X dist: clean X @-rm -rf $(TMPDIR)/$(ARCHIVE) X--- PLUGINS/src/epgtableid0/Makefile.orig X+++ PLUGINS/src/epgtableid0/Makefile X@@ -100,7 +100,11 @@ i18n: $(I18Nmsgs) $(I18Npot) X X libvdr-$(PLUGIN).so: $(OBJS) X $(CXX) $(CXXFLAGS) $(LDFLAGS) -shared $(OBJS) -o $@ X+ifdef FREEBSD X+ @cp -f $@ $(LIBDIR)/$@.$(APIVERSION) X+else X @cp --remove-destination $@ $(LIBDIR)/$@.$(APIVERSION) X+endif X X dist: $(I18Npo) clean X @-rm -rf $(TMPDIR)/$(ARCHIVE) X--- PLUGINS/src/rcu/Makefile.orig X+++ PLUGINS/src/rcu/Makefile X@@ -100,7 +100,11 @@ i18n: $(I18Nmsgs) $(I18Npot) X X libvdr-$(PLUGIN).so: $(OBJS) X $(CXX) $(CXXFLAGS) $(LDFLAGS) -shared $(OBJS) -o $@ X+ifdef FREEBSD X+ @cp -f $@ $(LIBDIR)/$@.$(APIVERSION) X+else X @cp --remove-destination $@ $(LIBDIR)/$@.$(APIVERSION) X+endif X X dist: $(I18Npo) clean X @-rm -rf $(TMPDIR)/$(ARCHIVE) 332fe52b86d9aeb31414eb93ece97fff echo x - multimedia/vdr/files/patch-vdr.1 sed 's/^X//' >multimedia/vdr/files/patch-vdr.1 << '854b6d313e6c0c96ee05e85b368243b7' X--- vdr.1.orig X+++ vdr.1 X@@ -45,7 +45,7 @@ Send Dolby Digital audio to stdin of com X .TP X .BI \-c\ dir ,\ \-\-config= dir X Read config files from directory \fIdir\fR X-(default is to read them from the video directory). X+(default is to read them from %%CONFDIR%% on this installation.) X .TP X .B \-d, \-\-daemon X Run in daemon mode (implies \-\-no\-kbd). 854b6d313e6c0c96ee05e85b368243b7 echo x - multimedia/vdr/files/patch-z-Makefile sed 's/^X//' >multimedia/vdr/files/patch-z-Makefile << 'dea13db48d7269618b3b1ce579768cc2' XIndex: Makefile X@@ -112,7 +112,7 @@ vdr: $(OBJS) $(SILIB) X # The libsi library: X X $(SILIB): X- $(MAKE) -C $(LSIDIR) all X+ $(MAKE) -C $(LSIDIR) all CC=${CC} CXX=${CXX} X X # pkg-config file: X X@@ -186,7 +186,7 @@ plugins: include-dir X noapiv="$$noapiv $$i";\ X continue;\ X fi;\ X- $(MAKE) -C "$(PLUGINDIR)/src/$$i" all || failed="$$failed $$i";\ X+ $(MAKE) -C "$(PLUGINDIR)/src/$$i" all CC=${CC} CXX=${CXX} || failed="$$failed $$i";\ X done;\ X if [ -n "$$noapiv" ] ; then echo; echo "*** plugins without APIVERSION:$$noapiv"; echo; fi;\ X if [ -n "$$failed" ] ; then echo; echo "*** failed plugins:$$failed"; echo; exit 1; fi X@@ -197,7 +197,7 @@ clean-plugins: X X # Install the files: X X-install: install-bin install-conf install-doc install-plugins install-i18n install-includes install-pc X+install: install-bin install-conf install-doc install-plugins install-includes install-pc X X # VDR binary: X X@@ -212,7 +212,6 @@ endif X # Configuration files: X X install-conf: X- @mkdir -p $(DESTDIR)$(VIDEODIR) X @if [ ! -d $(DESTDIR)$(CONFDIR) ]; then\ X mkdir -p $(DESTDIR)$(CONFDIR);\ X cp *.conf $(DESTDIR)$(CONFDIR);\ X@@ -228,7 +227,7 @@ install-doc: X X # Plugins: X X-install-plugins: plugins X+install-plugins: #plugins X @mkdir -p $(DESTDIR)$(PLUGINLIBDIR) X ifdef FREEBSD X @cp -f $(PLUGINDIR)/lib/lib*-*.so.$(APIVERSION) $(DESTDIR)$(PLUGINLIBDIR) dea13db48d7269618b3b1ce579768cc2 echo x - multimedia/vdr/files/patch-z-config.c sed 's/^X//' >multimedia/vdr/files/patch-z-config.c << '33a56293044a0b95c749f551b6ba6bd3' 33a56293044a0b95c749f551b6ba6bd3 echo x - multimedia/vdr/files/patch-z-libsi-si.c sed 's/^X//' >multimedia/vdr/files/patch-z-libsi-si.c << 'f63c8c5b730113a8c844a06312f192db' X--- libsi/si.c.orig X+++ libsi/si.c X@@ -308,6 +308,25 @@ static const char *CharacterTables2[] = X "ISO-8859-15", // 0x0F X }; X X+static const char *CharacterTables3[] = { X+ NULL, // 0x00 X+ "ISO8859-1", // 0x01 X+ "ISO8859-2", // 0x02 X+ "ISO8859-3", // 0x03 X+ "ISO8859-4", // 0x04 X+ "ISO8859-5", // 0x05 X+ "ISO8859-6", // 0x06 X+ "ISO8859-7", // 0x07 X+ "ISO8859-8", // 0x08 X+ "ISO8859-9", // 0x09 X+ "ISO8859-10", // 0x0A X+ "ISO8859-11", // 0x0B X+ "ISO8859-12", // 0x0C X+ "ISO8859-13", // 0x0D X+ "ISO8859-14", // 0x0E X+ "ISO8859-15", // 0x0F X+}; X+ X #define NumEntries(Table) (sizeof(Table) / sizeof(char *)) X X static const char *SystemCharacterTable = NULL; X@@ -334,6 +353,13 @@ bool SetSystemCharacterTable(const char X return true; X } X } X+ for (unsigned int i = 0; i < NumEntries(CharacterTables3); i++) { X+ if (CharacterTables3[i] && strcasecmp(CharacterTable, CharacterTables3[i]) == 0) { X+ SystemCharacterTable = CharacterTables3[i]; X+ SystemCharacterTableIsSingleByte = true; X+ return true; X+ } X+ } X } else { X SystemCharacterTable = NULL; X SystemCharacterTableIsSingleByte = true; f63c8c5b730113a8c844a06312f192db echo x - multimedia/vdr/files/remote.conf sed 's/^X//' >multimedia/vdr/files/remote.conf << '98b6fb54ed400c58c10ef034488793a3' XXKeySym.Up Up XXKeySym.Down Down XXKeySym.Menu Tab XXKeySym.Menu Insert XXKeySym.Ok Return XXKeySym.Ok KP_Enter XXKeySym.Back BackSpace XXKeySym.Left Left XXKeySym.Right Right XXKeySym.Red F5 XXKeySym.Green F6 XXKeySym.Yellow F7 XXKeySym.Blue F8 XXKeySym.0 0 XXKeySym.1 1 XXKeySym.2 2 XXKeySym.3 3 XXKeySym.4 4 XXKeySym.5 5 XXKeySym.6 6 XXKeySym.7 7 XXKeySym.8 8 XXKeySym.9 9 XXKeySym.0 KP_0 XXKeySym.1 KP_1 XXKeySym.2 KP_2 XXKeySym.3 KP_3 XXKeySym.4 KP_4 XXKeySym.5 KP_5 XXKeySym.6 KP_6 XXKeySym.7 KP_7 XXKeySym.8 KP_8 XXKeySym.9 KP_9 XXKeySym.Info i XXKeySym.Mute m XXKeySym.Play p XXKeySym.Play y XXKeySym.Pause Space XXKeySym.Stop s XXKeySym.Record r XXKeySym.FastFwd w XXKeySym.FastRew e XXKeySym.Next n XXKeySym.Prev v XXKeySym.Channel+ Prior XXKeySym.Channel- Next XXKeySym.Volume+ KP_Add XXKeySym.Volume- KP_Subtract XXKeySym.Audio a XXKeySym.Subtitles u XXKeySym.Schedule l XXKeySym.Channels c XXKeySym.Timers t XXKeySym.Recordings o XXKeySym.Setup S XXKeySym.Commands C XXKeySym.User1 U XXKeySym.User2 V XXKeySym.User3 W XXKeySym.User4 X XXKeySym.User5 Y XXKeySym.User6 Z XKBD.Up 00000000001B5B41 XKBD.Down 00000000001B5B42 XKBD.Menu 0000000000000009 XKBD.Menu 000000001B5B327E XKBD.Ok 000000000000000D XKBD.Back 000000000000007F XKBD.Back 0000000000000008 XKBD.Left 00000000001B5B44 XKBD.Right 00000000001B5B43 XKBD.Red 0000001B5B31357E XKBD.Green 0000001B5B31377E XKBD.Yellow 0000001B5B31387E XKBD.Blue 0000001B5B31397E XKBD.0 0000000000000030 XKBD.1 0000000000000031 XKBD.2 0000000000000032 XKBD.3 0000000000000033 XKBD.4 0000000000000034 XKBD.5 0000000000000035 XKBD.6 0000000000000036 XKBD.7 0000000000000037 XKBD.8 0000000000000038 XKBD.9 0000000000000039 XKBD.Info 0000000000000069 XKBD.Play 0000000000000070 XKBD.Play 0000000000000079 XKBD.Pause 0000000000000020 XKBD.Stop 0000000000000073 XKBD.Record 0000000000000072 XKBD.FastFwd 0000000000000066 XKBD.FastRew 0000000000000077 XKBD.Next 000000000000006E XKBD.Prev 0000000000000076 XKBD.Power 000000000000001B XKBD.Channel+ 000000001B5B357E XKBD.Channel- 000000001B5B367E XKBD.PrevChannel 000000001B5B317E XKBD.Volume+ 000000000000002B XKBD.Volume- 000000000000002D XKBD.Mute 000000000000006D XKBD.Audio 0000000000000061 XKBD.Subtitles 0000000000000075 XKBD.Schedule 000000000000006C XKBD.Channels 0000000000000063 XKBD.Timers 0000000000000074 XKBD.Recordings 000000000000006F XKBD.Setup 0000000000000053 XKBD.Commands 0000000000000043 XKBD.User1 0000000000000055 XKBD.User2 0000000000000056 XKBD.User3 0000000000000057 XKBD.User4 0000000000000058 XKBD.User5 0000000000000059 XKBD.User6 000000000000005A 98b6fb54ed400c58c10ef034488793a3 echo x - multimedia/vdr/files/vdr-1.7.15-disable_ca_updates.patch sed 's/^X//' >multimedia/vdr/files/vdr-1.7.15-disable_ca_updates.patch << '92452f6a23e5a56c0db6ebbb600fbbba' X--- pat.c.orig 2010-06-06 19:11:15.000000000 +0300 X+++ pat.c 2010-06-06 20:42:47.000000000 +0300 X@@ -490,6 +490,7 @@ X } X if (Setup.UpdateChannels >= 2) { X Channel->SetPids(Vpid, Ppid, Vtype, Apids, Atypes, ALangs, Dpids, Dtypes, DLangs, Spids, SLangs, Tpid); X+ if (!cSource::IsType(Channel->Source(), 'I')) X Channel->SetCaIds(CaDescriptors->CaIds()); X Channel->SetSubtitlingDescriptors(SubtitlingTypes, CompositionPageIds, AncillaryPageIds); X } 92452f6a23e5a56c0db6ebbb600fbbba echo x - multimedia/vdr/files/vdr-1.7.15-disable_eitscan.patch sed 's/^X//' >multimedia/vdr/files/vdr-1.7.15-disable_eitscan.patch << 'e0851904fb05d0e7361ab62a966fffbc' X--- eitscan.c.orig 2010-06-06 19:11:14.000000000 +0300 X+++ eitscan.c 2010-06-06 20:44:07.000000000 +0300 X@@ -146,7 +146,7 @@ X if (Device) { X for (cScanData *ScanData = scanList->First(); ScanData; ScanData = scanList->Next(ScanData)) { X const cChannel *Channel = ScanData->GetChannel(); X- if (Channel) { X+ if (Channel && !cSource::IsType(Channel->Source(), 'I')) { X if (!Channel->Ca() || Channel->Ca() == Device->DeviceNumber() + 1 || Channel->Ca() >= CA_ENCRYPTED_MIN) { X if (Device->ProvidesTransponder(Channel)) { X if (!Device->Receiving()) { e0851904fb05d0e7361ab62a966fffbc echo x - multimedia/vdr/files/vdr-1.7.17-fix_na_dvbs_ac3.diff sed 's/^X//' >multimedia/vdr/files/vdr-1.7.17-fix_na_dvbs_ac3.diff << '04880dc2f6236cc6e9e23075f6c9c515' X--- pat.c.orig 2011-03-13 23:15:42.000000000 -0700 X+++ pat.c 2011-03-14 00:14:40.000000000 -0700 X@@ -486,6 +486,7 @@ void cPatFilter::Process(u_short Pid, u_ X SI::ISO639LanguageDescriptor *ld = (SI::ISO639LanguageDescriptor *)d; X strn0cpy(lang, I18nNormalizeLanguageCode(ld->languageCode), MAXLANGCODE1); X } X+ IsAc3 = true; X break; X default: ; X } 04880dc2f6236cc6e9e23075f6c9c515 echo x - multimedia/vdr/files/vdr-1.7.21-ttxtsubs.patch-1 sed 's/^X//' >multimedia/vdr/files/vdr-1.7.21-ttxtsubs.patch-1 << 'd9bf59d4e8261cb10287316c015d80d1' Xdiff --git a/MANUAL b/MANUAL Xindex 54e166e..57b687f 100644 X--- a/MANUAL X+++ b/MANUAL X@@ -730,6 +730,9 @@ Version 1.6 X background transparency. By default the values as broadcast X are used. X X+ Record Teletext Subtitles = no X+ If set to 'yes', teletext subtitles will be recorded. X+ X LNB: X X SLOF = 11700 The switching frequency (in MHz) between low and Xdiff --git a/Makefile b/Makefile Xindex 18d7eb9..3da4382 100644 X--- a/Makefile X+++ b/Makefile X@@ -45,6 +45,8 @@ OBJS = audio.o channels.o ci.o config.o cutter.o device.o diseqc.o dvbdevice.o d X skinclassic.o skins.o skinsttng.o sourceparams.o sources.o spu.o status.o svdrp.o themes.o thread.o\ X timers.o tools.o transfer.o vdr.o videodir.o X X+OBJS += vdrttxtsubshooks.o X+ X ifndef NO_KBD X DEFINES += -DREMOTE_KBD X endif Xdiff --git a/channels.c b/channels.c Xindex b9204f2..44d4be2 100644 X--- a/channels.c X+++ b/channels.c X@@ -378,6 +378,26 @@ void cChannel::SetSubtitlingDescriptors(uchar *SubtitlingTypes, uint16_t *Compos X } X } X X+void cChannel::SetTeletextSubtitlePages(tTeletextSubtitlePage pages[], int numberOfPages) X+{ X+ int mod = CHANNELMOD_NONE; X+ if (totalTtxtSubtitlePages != (fixedTtxtSubtitlePages + numberOfPages)) X+ mod |= CHANNELMOD_PIDS; X+ totalTtxtSubtitlePages = fixedTtxtSubtitlePages; X+ for (int i = 0; (i < numberOfPages) && (totalTtxtSubtitlePages < MAXTXTPAGES); i++) { X+ if (teletextSubtitlePages[totalTtxtSubtitlePages].ttxtMagazine != pages[i].ttxtMagazine || X+ teletextSubtitlePages[totalTtxtSubtitlePages].ttxtPage != pages[i].ttxtPage || X+ teletextSubtitlePages[totalTtxtSubtitlePages].ttxtType != pages[i].ttxtType || X+ strcmp(teletextSubtitlePages[totalTtxtSubtitlePages].ttxtLanguage, pages[i].ttxtLanguage)) { X+ mod |= CHANNELMOD_PIDS; X+ teletextSubtitlePages[totalTtxtSubtitlePages] = pages[i]; X+ } X+ totalTtxtSubtitlePages++; X+ } X+ modification |= mod; X+ Channels.SetModified(); X+} X+ X void cChannel::SetCaIds(const int *CaIds) X { X if (caids[0] && caids[0] <= CA_USER_MAX) X@@ -506,10 +526,17 @@ cString cChannel::ToText(const cChannel *Channel) X q += IntArrayToString(q, Channel->dpids, 10, Channel->dlangs, Channel->dtypes); X } X *q = 0; X- const int TBufferSize = MAXSPIDS * (5 + 1 + MAXLANGCODE2) + 10; // 5 digits plus delimiting ',' or ';' plus optional '=cod+cod', +10: paranoia and tpid X+ const int TBufferSize = (MAXTXTPAGES * MAXSPIDS) * (5 + 1 + MAXLANGCODE2) + 10; // 5 digits plus delimiting ',' or ';' plus optional '=cod+cod', +10: paranoia and tpid X char tpidbuf[TBufferSize]; X q = tpidbuf; X q += snprintf(q, sizeof(tpidbuf), "%d", Channel->tpid); X+ if (Channel->fixedTtxtSubtitlePages > 0) { X+ *q++ = '+'; X+ for (int i = 0; i < Channel->fixedTtxtSubtitlePages; ++i) { X+ tTeletextSubtitlePage page = Channel->teletextSubtitlePages[i]; X+ q += snprintf(q, sizeof(tpidbuf) - (q - tpidbuf), "%d=%s", page.PageNumber(), page.ttxtLanguage); X+ } X+ } X if (Channel->spids[0]) { X *q++ = ';'; X q += IntArrayToString(q, Channel->spids, 10, Channel->slangs); X@@ -678,6 +705,32 @@ bool cChannel::Parse(const char *s) X } X spids[NumSpids] = 0; X } X+ fixedTtxtSubtitlePages = 0; X+ if ((p = strchr(tpidbuf, '+')) != NULL) { X+ *p++ = 0; X+ char *q; X+ char *strtok_next; X+ while ((q = strtok_r(p, ",", &strtok_next)) != NULL) { X+ if (fixedTtxtSubtitlePages < MAXTXTPAGES) { X+ int page; X+ char *l = strchr(q, '='); X+ if (l) X+ *l++ = 0; X+ if (sscanf(q, "%d", &page) == 1) { X+ teletextSubtitlePages[fixedTtxtSubtitlePages] = tTeletextSubtitlePage(page); X+ if (l) X+ strn0cpy(teletextSubtitlePages[fixedTtxtSubtitlePages].ttxtLanguage, l, MAXLANGCODE2); X+ fixedTtxtSubtitlePages++; X+ } X+ else X+ esyslog("ERROR: invalid Teletext page!"); // no need to set ok to 'false' X+ } X+ else X+ esyslog("ERROR: too many Teletext pages!"); // no need to set ok to 'false' X+ p = NULL; X+ } X+ totalTtxtSubtitlePages = fixedTtxtSubtitlePages; X+ } X if (sscanf(tpidbuf, "%d", &tpid) != 1) X return false; X if (caidbuf) { Xdiff --git a/channels.h b/channels.h Xindex 51f9830..6e7367f 100644 X--- a/channels.h X+++ b/channels.h X@@ -35,6 +35,7 @@ X #define MAXDPIDS 16 // dolby (AC3 + DTS) X #define MAXSPIDS 32 // subtitles X #define MAXCAIDS 12 // conditional access X+#define MAXTXTPAGES 8 // teletext pages X X #define MAXLANGCODE1 4 // a 3 letter language code, zero terminated X #define MAXLANGCODE2 8 // up to two 3 letter language codes, separated by '+' and zero terminated X@@ -71,6 +72,16 @@ public: X static const tChannelID InvalidID; X }; X X+struct tTeletextSubtitlePage { X+ tTeletextSubtitlePage(void) { ttxtPage = ttxtMagazine = 0; ttxtType = 0x02; strcpy(ttxtLanguage, "und"); } X+ tTeletextSubtitlePage(int page) { ttxtMagazine = (page / 100) & 0x7; ttxtPage = (((page % 100) / 10) << 4) + (page % 10); ttxtType = 0x02; strcpy(ttxtLanguage, "und"); } X+ char ttxtLanguage[MAXLANGCODE1]; X+ uchar ttxtPage; X+ uchar ttxtMagazine; X+ uchar ttxtType; X+ int PageNumber(void) const { return BCDCHARTOINT(ttxtMagazine) * 100 + BCDCHARTOINT(ttxtPage); } X+ }; X+ X class cChannel; X X class cLinkChannel : public cListObject { X@@ -115,6 +126,9 @@ private: X uint16_t compositionPageIds[MAXSPIDS]; X uint16_t ancillaryPageIds[MAXSPIDS]; X int tpid; X+ int fixedTtxtSubtitlePages; X+ int totalTtxtSubtitlePages; X+ tTeletextSubtitlePage teletextSubtitlePages[MAXTXTPAGES]; X int caids[MAXCAIDS + 1]; // list is zero-terminated X int nid; X int tid; X@@ -164,6 +178,8 @@ public: X uint16_t CompositionPageId(int i) const { return (0 <= i && i < MAXSPIDS) ? compositionPageIds[i] : uint16_t(0); } X uint16_t AncillaryPageId(int i) const { return (0 <= i && i < MAXSPIDS) ? ancillaryPageIds[i] : uint16_t(0); } X int Tpid(void) const { return tpid; } X+ const tTeletextSubtitlePage *TeletextSubtitlePages() const { return teletextSubtitlePages; } X+ int TotalTeletextSubtitlePages() const { return totalTtxtSubtitlePages; } X const int *Caids(void) const { return caids; } X int Ca(int Index = 0) const { return Index < MAXCAIDS ? caids[Index] : 0; } X int Nid(void) const { return nid; } X@@ -190,6 +206,7 @@ public: X void SetName(const char *Name, const char *ShortName, const char *Provider); X void SetPortalName(const char *PortalName); X void SetPids(int Vpid, int Ppid, int Vtype, int *Apids, int *Atypes, char ALangs[][MAXLANGCODE2], int *Dpids, int *Dtypes, char DLangs[][MAXLANGCODE2], int *Spids, char SLangs[][MAXLANGCODE2], int Tpid); X+ void SetTeletextSubtitlePages(tTeletextSubtitlePage pages[], int numberOfPages); X void SetCaIds(const int *CaIds); // list must be zero-terminated X void SetCaDescriptors(int Level); X void SetLinkChannels(cLinkChannels *LinkChannels); Xdiff --git a/ci.c b/ci.c Xindex 59d62ef..b024f67 100644 X--- a/ci.c X+++ b/ci.c X@@ -1913,6 +1913,8 @@ void cCamSlot::AddChannel(const cChannel *Channel) X AddPid(Channel->Sid(), *Dpid, STREAM_TYPE_PRIVATE); X for (const int *Spid = Channel->Spids(); *Spid; Spid++) X AddPid(Channel->Sid(), *Spid, STREAM_TYPE_PRIVATE); X+ if (Channel->Tpid() && Setup.SupportTeletext) X+ AddPid(Channel->Sid(), Channel->Tpid(), STREAM_TYPE_PRIVATE); X } X } X X@@ -1936,6 +1938,9 @@ bool cCamSlot::CanDecrypt(const cChannel *Channel) X CaPmt.AddPid(*Dpid, STREAM_TYPE_PRIVATE); X for (const int *Spid = Channel->Spids(); *Spid; Spid++) X CaPmt.AddPid(*Spid, STREAM_TYPE_PRIVATE); X+ if (Channel->Tpid() && Setup.SupportTeletext) { X+ CaPmt.AddPid(Channel->Tpid(), STREAM_TYPE_PRIVATE); X+ } X cas->SendPMT(&CaPmt); X cTimeMs Timeout(QUERY_REPLY_TIMEOUT); X do { Xdiff --git a/config.c b/config.c Xindex 73bb00d..982bd78 100644 X--- a/config.c X+++ b/config.c X@@ -333,6 +333,7 @@ cSetup::cSetup(void) X MarginStop = 10; X AudioLanguages[0] = -1; X DisplaySubtitles = 0; X+ SupportTeletext = 0; X SubtitleLanguages[0] = -1; X SubtitleOffset = 0; X SubtitleFgTransparency = 0; X@@ -525,6 +526,7 @@ bool cSetup::Parse(const char *Name, const char *Value) X else if (!strcasecmp(Name, "MarginStop")) MarginStop = atoi(Value); X else if (!strcasecmp(Name, "AudioLanguages")) return ParseLanguages(Value, AudioLanguages); X else if (!strcasecmp(Name, "DisplaySubtitles")) DisplaySubtitles = atoi(Value); X+ else if (!strcasecmp(Name, "SupportTeletext")) SupportTeletext = atoi(Value); X else if (!strcasecmp(Name, "SubtitleLanguages")) return ParseLanguages(Value, SubtitleLanguages); X else if (!strcasecmp(Name, "SubtitleOffset")) SubtitleOffset = atoi(Value); X else if (!strcasecmp(Name, "SubtitleFgTransparency")) SubtitleFgTransparency = atoi(Value); X@@ -621,6 +623,7 @@ bool cSetup::Save(void) X Store("MarginStop", MarginStop); X StoreLanguages("AudioLanguages", AudioLanguages); X Store("DisplaySubtitles", DisplaySubtitles); X+ Store("SupportTeletext", SupportTeletext); X StoreLanguages("SubtitleLanguages", SubtitleLanguages); X Store("SubtitleOffset", SubtitleOffset); X Store("SubtitleFgTransparency", SubtitleFgTransparency); Xdiff --git a/config.h b/config.h Xindex c51e3df..e46b4bd 100644 X--- a/config.h X+++ b/config.h X@@ -235,6 +235,7 @@ public: X int MarginStart, MarginStop; X int AudioLanguages[I18N_MAX_LANGUAGES + 1]; X int DisplaySubtitles; X+ int SupportTeletext; X int SubtitleLanguages[I18N_MAX_LANGUAGES + 1]; X int SubtitleOffset; X int SubtitleFgTransparency, SubtitleBgTransparency; Xdiff --git a/device.c b/device.c Xindex ba098d8..84bdd30 100644 X--- a/device.c X+++ b/device.c X@@ -18,6 +18,7 @@ X #include "receiver.h" X #include "status.h" X #include "transfer.h" X+#include "vdrttxtsubshooks.h" X X // --- cLiveSubtitle --------------------------------------------------------- X X@@ -1250,6 +1251,13 @@ int cDevice::PlayPesPacket(const uchar *Data, int Length, bool VideoOnly) X } X break; X case 0xBD: { // private stream 1 X+ // EBU Teletext data, ETSI EN 300 472 X+ // if PES data header length = 24 and data_identifier = 0x10..0x1F (EBU Data) X+ if (Data[8] == 0x24 && Data[45] >= 0x10 && Data[45] < 0x20) { X+ cVDRTtxtsubsHookListener::Hook()->PlayerTeletextData((uint8_t*)Data, Length); X+ break; X+ } X+ X int PayloadOffset = Data[8] + 9; X X // Compatibility mode for old subtitles plugin: X@@ -1409,6 +1417,7 @@ int cDevice::PlayTs(const uchar *Data, int Length, bool VideoOnly) X tsToPesVideo.Reset(); X tsToPesAudio.Reset(); X tsToPesSubtitle.Reset(); X+ tsToPesTeletext.Reset(); X } X else if (Length < TS_SIZE) { X esyslog("ERROR: skipped %d bytes of TS fragment", Length); X@@ -1454,6 +1463,17 @@ int cDevice::PlayTs(const uchar *Data, int Length, bool VideoOnly) X if (!VideoOnly || HasIBPTrickSpeed()) X PlayTsSubtitle(Data, TS_SIZE); X } X+ else if (Pid == patPmtParser.Tpid()) { X+ if (!VideoOnly || HasIBPTrickSpeed()) { X+ int l; X+ tsToPesTeletext.PutTs(Data, Length); X+ if (const uchar *p = tsToPesTeletext.GetPes(l)) { X+ if ((l > 45) && (p[0] == 0x00) && (p[1] == 0x00) && (p[2] == 0x01) && (p[3] == 0xbd) && (p[8] == 0x24) && (p[45] >= 0x10) && (p[45] < 0x20)) X+ cVDRTtxtsubsHookListener::Hook()->PlayerTeletextData((uchar *)p, l, false, patPmtParser.TeletextSubtitlePages(), patPmtParser.TotalTeletextSubtitlePages()); X+ tsToPesTeletext.Reset(); X+ } X+ } X+ } X } X } X else if (Pid == patPmtParser.Ppid()) { Xdiff --git a/device.h b/device.h Xindex fd587a8..078f080 100644 X--- a/device.h X+++ b/device.h X@@ -538,6 +538,7 @@ private: X cTsToPes tsToPesVideo; X cTsToPes tsToPesAudio; X cTsToPes tsToPesSubtitle; X+ cTsToPes tsToPesTeletext; X bool isPlayingVideo; X protected: X const cPatPmtParser *PatPmtParser(void) const { return &patPmtParser; } Xdiff --git a/menu.c b/menu.c Xindex ef2bb46..3548ccd 100644 X--- a/menu.c X+++ b/menu.c X@@ -2798,6 +2798,7 @@ void cMenuSetupDVB::Setup(void) X Add(new cMenuEditIntItem( tr("Setup.DVB$Subtitle foreground transparency"), &data.SubtitleFgTransparency, 0, 9)); X Add(new cMenuEditIntItem( tr("Setup.DVB$Subtitle background transparency"), &data.SubtitleBgTransparency, 0, 10)); X } X+ Add(new cMenuEditBoolItem(tr("Setup.DVB$Enable teletext support"), &data.SupportTeletext)); X X SetCurrent(Get(current)); X Display(); Xdiff --git a/po/ca_ES.po b/po/ca_ES.po Xindex b104fea..1c09d79 100644 X--- a/po/ca_ES.po X+++ b/po/ca_ES.po X@@ -950,6 +950,9 @@ msgstr "Transpar X msgid "Setup.DVB$Subtitle background transparency" X msgstr "Transparència fons subtítols" X X+msgid "Setup.DVB$Enable teletext support" X+msgstr "" X+ X msgid "LNB" X msgstr "Configuració de l'LNB" X Xdiff --git a/po/cs_CZ.po b/po/cs_CZ.po Xindex bcafac7..370609f 100644 X--- a/po/cs_CZ.po X+++ b/po/cs_CZ.po X@@ -949,6 +949,9 @@ msgstr "Průhlednost písma titulků" X msgid "Setup.DVB$Subtitle background transparency" X msgstr "Průhlednost pozadí titulků" X X+msgid "Setup.DVB$Enable teletext support" X+msgstr "" X+ X msgid "LNB" X msgstr "LNB" X Xdiff --git a/po/da_DK.po b/po/da_DK.po Xindex 81b11eb..5daca8d 100644 X--- a/po/da_DK.po X+++ b/po/da_DK.po X@@ -947,6 +947,9 @@ msgstr "Undertekst forgrundsgennemsigtighed" X msgid "Setup.DVB$Subtitle background transparency" X msgstr "Undertekst baggrundsgennemsigtighed" X X+msgid "Setup.DVB$Enable teletext support" X+msgstr "" X+ X msgid "LNB" X msgstr "LNB" X Xdiff --git a/po/de_DE.po b/po/de_DE.po Xindex 6d5b822..0a00a5a 100644 X--- a/po/de_DE.po X+++ b/po/de_DE.po X@@ -947,6 +947,9 @@ msgstr "Untertitel-Transparenz Vordergrund" X msgid "Setup.DVB$Subtitle background transparency" X msgstr "Untertitel-Transparenz Hintergrund" X X+msgid "Setup.DVB$Enable teletext support" X+msgstr "Videotext-Unterstützung aktivieren" X+ X msgid "LNB" X msgstr "LNB" X Xdiff --git a/po/el_GR.po b/po/el_GR.po Xindex 9756ea7..5d4d6ea 100644 X--- a/po/el_GR.po X+++ b/po/el_GR.po X@@ -947,6 +947,9 @@ msgstr "" X msgid "Setup.DVB$Subtitle background transparency" X msgstr "" X X+msgid "Setup.DVB$Enable teletext support" X+msgstr "" X+ X msgid "LNB" X msgstr "LNB" X Xdiff --git a/po/es_ES.po b/po/es_ES.po Xindex 193e75e..1f36b60 100644 X--- a/po/es_ES.po X+++ b/po/es_ES.po X@@ -948,6 +948,9 @@ msgstr "Transparencia primer plano subt X msgid "Setup.DVB$Subtitle background transparency" X msgstr "Transparencia fondo subtítulos" X X+msgid "Setup.DVB$Enable teletext support" X+msgstr "" X+ X msgid "LNB" X msgstr "LNB" X Xdiff --git a/po/et_EE.po b/po/et_EE.po Xindex 49794dd..83ff319 100644 X--- a/po/et_EE.po X+++ b/po/et_EE.po X@@ -947,6 +947,9 @@ msgstr "Subtiitri l X msgid "Setup.DVB$Subtitle background transparency" X msgstr "Subtiitri tausta läbipaistvus" X X+msgid "Setup.DVB$Enable teletext support" X+msgstr "Teleteksti tugi" X+ X msgid "LNB" X msgstr "LNB" X Xdiff --git a/po/fi_FI.po b/po/fi_FI.po Xindex b093e88..4abf6a8 100644 X--- a/po/fi_FI.po X+++ b/po/fi_FI.po X@@ -950,6 +950,9 @@ msgstr "Tekstityksen läpinäkyvyys" X msgid "Setup.DVB$Subtitle background transparency" X msgstr "Tekstityksen taustan läpinäkyvyys" X X+msgid "Setup.DVB$Enable teletext support" X+msgstr "Salli teksti-TV-tuki" X+ X msgid "LNB" X msgstr "LNB" X Xdiff --git a/po/fr_FR.po b/po/fr_FR.po Xindex b5c5120..86a961a 100644 X--- a/po/fr_FR.po X+++ b/po/fr_FR.po X@@ -953,6 +953,9 @@ msgstr "Transparence de l'avant-plan" X msgid "Setup.DVB$Subtitle background transparency" X msgstr "Transparence du fond" X X+msgid "Setup.DVB$Enable teletext support" X+msgstr "" X+ X msgid "LNB" X msgstr "LNB" X Xdiff --git a/po/hr_HR.po b/po/hr_HR.po Xindex ed519a2..43f2ea5 100644 X--- a/po/hr_HR.po X+++ b/po/hr_HR.po X@@ -949,6 +949,9 @@ msgstr "Transparentnost titla" X msgid "Setup.DVB$Subtitle background transparency" X msgstr "Transparentnost pozadine titla" X X+msgid "Setup.DVB$Enable teletext support" X+msgstr "" X+ X msgid "LNB" X msgstr "LNB" X Xdiff --git a/po/hu_HU.po b/po/hu_HU.po Xindex 17b905f..06f4505 100644 X--- a/po/hu_HU.po X+++ b/po/hu_HU.po X@@ -950,6 +950,9 @@ msgstr "Felirat transzparenci X msgid "Setup.DVB$Subtitle background transparency" X msgstr "Felirat hátterének transzparenciája" X X+msgid "Setup.DVB$Enable teletext support" X+msgstr "" X+ X msgid "LNB" X msgstr "LNB" X Xdiff --git a/po/it_IT.po b/po/it_IT.po Xindex 501300e..e0227d3 100644 X--- a/po/it_IT.po X+++ b/po/it_IT.po X@@ -954,6 +954,9 @@ msgstr "Trasparenza sottotitoli" X msgid "Setup.DVB$Subtitle background transparency" X msgstr "Trasparenza sfondo sottotitoli" X X+msgid "Setup.DVB$Enable teletext support" X+msgstr "" X+ X msgid "LNB" X msgstr "LNB" X Xdiff --git a/po/lt_LT.po b/po/lt_LT.po Xindex 6cb1faa..4efc707 100644 X--- a/po/lt_LT.po X+++ b/po/lt_LT.po X@@ -947,6 +947,9 @@ msgstr "Subtitrų fonto permatomumas" X msgid "Setup.DVB$Subtitle background transparency" X msgstr "Subtitrų fono permatomumas" X X+msgid "Setup.DVB$Enable teletext support" X+msgstr "" X+ X msgid "LNB" X msgstr "Konverteris (LNB)" X Xdiff --git a/po/nl_NL.po b/po/nl_NL.po Xindex ae2b85e..34a71e9 100644 X--- a/po/nl_NL.po X+++ b/po/nl_NL.po X@@ -951,6 +951,9 @@ msgstr "Transparantie voorgrond ondertiteling" X msgid "Setup.DVB$Subtitle background transparency" X msgstr "Transparantie achtergrond ondertiteling" X X+msgid "Setup.DVB$Enable teletext support" X+msgstr "" X+ X msgid "LNB" X msgstr "LNB" X Xdiff --git a/po/nn_NO.po b/po/nn_NO.po Xindex 8ec8dfb..9c129ee 100644 X--- a/po/nn_NO.po X+++ b/po/nn_NO.po X@@ -948,6 +948,9 @@ msgstr "" X msgid "Setup.DVB$Subtitle background transparency" X msgstr "" X X+msgid "Setup.DVB$Enable teletext support" X+msgstr "" X+ X msgid "LNB" X msgstr "LNB" X Xdiff --git a/po/pl_PL.po b/po/pl_PL.po Xindex a5c1b47..9645eca 100644 X--- a/po/pl_PL.po X+++ b/po/pl_PL.po X@@ -948,6 +948,9 @@ msgstr "Prze X msgid "Setup.DVB$Subtitle background transparency" X msgstr "Prze¼rocze podtytu³ów: T³o" X X+msgid "Setup.DVB$Enable teletext support" X+msgstr "" X+ X msgid "LNB" X msgstr "LNB" X Xdiff --git a/po/pt_PT.po b/po/pt_PT.po Xindex c443312..3c108ea 100644 X--- a/po/pt_PT.po X+++ b/po/pt_PT.po X@@ -948,6 +948,9 @@ msgstr "Transpar X msgid "Setup.DVB$Subtitle background transparency" X msgstr "Transparência de fundo das legendas" X X+msgid "Setup.DVB$Enable teletext support" X+msgstr "" X+ X msgid "LNB" X msgstr "LNB" X Xdiff --git a/po/ro_RO.po b/po/ro_RO.po Xindex f8c5a1e..35ec9ec 100644 X--- a/po/ro_RO.po X+++ b/po/ro_RO.po X@@ -950,6 +950,9 @@ msgstr "Transparen X msgid "Setup.DVB$Subtitle background transparency" X msgstr "Transparenþa fundalului subtitrãrii" X X+msgid "Setup.DVB$Enable teletext support" X+msgstr "" X+ X msgid "LNB" X msgstr "LNB" X Xdiff --git a/po/ru_RU.po b/po/ru_RU.po Xindex e683b8b..b90e565 100644 X--- a/po/ru_RU.po X+++ b/po/ru_RU.po X@@ -948,6 +948,9 @@ msgstr " X msgid "Setup.DVB$Subtitle background transparency" X msgstr "¿àÞ×àÐçÝÞáâì äÞÝÐ áãÑâØâàÞÒ" X X+msgid "Setup.DVB$Enable teletext support" X+msgstr "" X+ X msgid "LNB" X msgstr "ºÞÝÒÕàâÕà" X Xdiff --git a/po/sk_SK.po b/po/sk_SK.po Xindex 46edef5..aabb641 100644 X--- a/po/sk_SK.po X+++ b/po/sk_SK.po X@@ -947,6 +947,9 @@ msgstr "Prieh X msgid "Setup.DVB$Subtitle background transparency" X msgstr "Priehµadnos» pozadia titulkov" X X+msgid "Setup.DVB$Enable teletext support" X+msgstr "" X+ X msgid "LNB" X msgstr "LNB" X Xdiff --git a/po/sl_SI.po b/po/sl_SI.po Xindex 89c6923..8ef4387 100644 X--- a/po/sl_SI.po X+++ b/po/sl_SI.po X@@ -948,6 +948,9 @@ msgstr "Transparentnost podnapisov" X msgid "Setup.DVB$Subtitle background transparency" X msgstr "Transparentnost ozadja podnapisov" X X+msgid "Setup.DVB$Enable teletext support" X+msgstr "" X+ X msgid "LNB" X msgstr "LNB" X Xdiff --git a/po/sv_SE.po b/po/sv_SE.po Xindex 150f95e..020c64d 100644 X--- a/po/sv_SE.po X+++ b/po/sv_SE.po X@@ -950,6 +950,9 @@ msgstr "Transparent f X msgid "Setup.DVB$Subtitle background transparency" X msgstr "Transparent bakgrund textremsa" X X+msgid "Setup.DVB$Enable teletext support" X+msgstr "" X+ X msgid "LNB" X msgstr "LNB" X Xdiff --git a/po/tr_TR.po b/po/tr_TR.po Xindex 194943b..338c649 100644 X--- a/po/tr_TR.po X+++ b/po/tr_TR.po X@@ -947,6 +947,9 @@ msgstr "Altyaz X msgid "Setup.DVB$Subtitle background transparency" X msgstr "Altyazý arka þeffaflýk" X X+msgid "Setup.DVB$Enable teletext support" X+msgstr "" X+ X msgid "LNB" X msgstr "LNB" X Xdiff --git a/po/uk_UA.po b/po/uk_UA.po Xindex 433ec70..c0a7947 100644 X--- a/po/uk_UA.po X+++ b/po/uk_UA.po X@@ -947,6 +947,9 @@ msgstr "ПрозоріÑÑ‚ÑŒ переднього плану Ñубтитрів" X msgid "Setup.DVB$Subtitle background transparency" X msgstr "ПрозоріÑÑ‚ÑŒ заднього плану Ñубтитрів" X X+msgid "Setup.DVB$Enable teletext support" X+msgstr "" X+ X msgid "LNB" X msgstr "Конвертер" X Xdiff --git a/po/zh_CN.po b/po/zh_CN.po Xindex c28fe88..8a594e3 100644 X--- a/po/zh_CN.po X+++ b/po/zh_CN.po X@@ -950,6 +950,9 @@ msgstr "字幕å‰æ™¯é€æ˜Žåº¦" X msgid "Setup.DVB$Subtitle background transparency" X msgstr "字幕背景é€æ˜Žåº¦" X X+msgid "Setup.DVB$Enable teletext support" X+msgstr "" X+ X msgid "LNB" X msgstr "切æ¢å™¨è®¾ç½®" X Xdiff --git a/receiver.c b/receiver.c Xindex 6a9ba04..a5c8967 100644 X--- a/receiver.c X+++ b/receiver.c X@@ -81,7 +81,8 @@ bool cReceiver::SetPids(const cChannel *Channel) X (Channel->Ppid() == Channel->Vpid() || AddPid(Channel->Ppid())) && X AddPids(Channel->Apids()) && X AddPids(Channel->Dpids()) && X- AddPids(Channel->Spids()); X+ AddPids(Channel->Spids()) && X+ (!Setup.SupportTeletext || AddPid(Channel->Tpid())); X } X return true; X } Xdiff --git a/remux.c b/remux.c Xindex 78ab294..4f9950f 100644 X--- a/remux.c X+++ b/remux.c X@@ -219,6 +219,29 @@ int cPatPmtGenerator::MakeSubtitlingDescriptor(uchar *Target, const char *Langua X return i; X } X X+int cPatPmtGenerator::MakeTeletextDescriptor(uchar *Target, const tTeletextSubtitlePage *pages, int pageCount) X+{ X+ int i = 0, j = 0; X+ Target[i++] = SI::TeletextDescriptorTag; X+ int l = i; X+ Target[i++] = 0x00; // length X+ for (int n = 0; n < pageCount; n++) { X+ const char* Language = pages[n].ttxtLanguage; X+ Target[i++] = *Language++; X+ Target[i++] = *Language++; X+ Target[i++] = *Language++; X+ Target[i++] = (pages[n].ttxtType << 3) + pages[n].ttxtMagazine; X+ Target[i++] = pages[n].ttxtPage; X+ j++; X+ } X+ if (j > 0) { X+ Target[l] = j * 5; // update length X+ IncEsInfoLength(i); X+ return i; X+ } X+ return 0; X+} X+ X int cPatPmtGenerator::MakeLanguageDescriptor(uchar *Target, const char *Language) X { X int i = 0; X@@ -306,6 +329,7 @@ void cPatPmtGenerator::GeneratePmt(const cChannel *Channel) X if (Channel) { X int Vpid = Channel->Vpid(); X int Ppid = Channel->Ppid(); X+ int Tpid = Channel->Tpid(); X uchar *p = buf; X int i = 0; X p[i++] = 0x02; // table id X@@ -338,6 +362,10 @@ void cPatPmtGenerator::GeneratePmt(const cChannel *Channel) X i += MakeStream(buf + i, 0x06, Channel->Spid(n)); X i += MakeSubtitlingDescriptor(buf + i, Channel->Slang(n), Channel->SubtitlingType(n), Channel->CompositionPageId(n), Channel->AncillaryPageId(n)); X } X+ if (Tpid) { X+ i += MakeStream(buf + i, 0x06, Tpid); X+ i += MakeTeletextDescriptor(buf + i, Channel->TeletextSubtitlePages(), Channel->TotalTeletextSubtitlePages()); X+ } X X int sl = i - SectionLength - 2 + 4; // -2 = SectionLength storage, +4 = length of CRC X buf[SectionLength] |= (sl >> 8) & 0x0F; X@@ -411,6 +439,7 @@ void cPatPmtParser::Reset(void) X pmtPid = -1; X vpid = vtype = 0; X ppid = 0; X+ tpid = 0; X } X X void cPatPmtParser::ParsePat(const uchar *Data, int Length) X@@ -496,11 +525,13 @@ void cPatPmtParser::ParsePmt(const uchar *Data, int Length) X int NumSpids = 0; X vpid = vtype = 0; X ppid = 0; X+ tpid = 0; X apids[0] = 0; X dpids[0] = 0; X spids[0] = 0; X atypes[0] = 0; X dtypes[0] = 0; X+ totalTtxtSubtitlePages = 0; X SI::PMT::Stream stream; X for (SI::Loop::Iterator it; Pmt.streamLoop.getNext(stream, it); ) { X dbgpatpmt(" stream type = %02X, pid = %d", stream.getStreamType(), stream.getPid()); X@@ -599,6 +630,28 @@ void cPatPmtParser::ParsePmt(const uchar *Data, int Length) X spids[NumSpids]= 0; X } X break; X+ case SI::TeletextDescriptorTag: { X+ dbgpatpmt(" teletext"); X+ tpid = stream.getPid(); X+ SI::TeletextDescriptor *sd = (SI::TeletextDescriptor *)d; X+ SI::TeletextDescriptor::Teletext ttxt; X+ if (totalTtxtSubtitlePages < MAXTXTPAGES) { X+ for (SI::Loop::Iterator it; sd->teletextLoop.getNext(ttxt, it); ) { X+ bool isSubtitlePage = (ttxt.getTeletextType() == 0x02) || (ttxt.getTeletextType() == 0x05); X+ if (isSubtitlePage && ttxt.languageCode[0]) { X+ dbgpatpmt(" '%s:%x.%x'", ttxt.languageCode, ttxt.getTeletextMagazineNumber(), ttxt.getTeletextPageNumber()); X+ strn0cpy(teletextSubtitlePages[totalTtxtSubtitlePages].ttxtLanguage, I18nNormalizeLanguageCode(ttxt.languageCode), MAXLANGCODE1); X+ teletextSubtitlePages[totalTtxtSubtitlePages].ttxtPage = ttxt.getTeletextPageNumber(); X+ teletextSubtitlePages[totalTtxtSubtitlePages].ttxtMagazine = ttxt.getTeletextMagazineNumber(); X+ teletextSubtitlePages[totalTtxtSubtitlePages].ttxtType = ttxt.getTeletextType(); X+ totalTtxtSubtitlePages++; X+ if (totalTtxtSubtitlePages >= MAXTXTPAGES) X+ break; X+ } X+ } X+ } X+ } X+ break; X case SI::ISO639LanguageDescriptorTag: { X SI::ISO639LanguageDescriptor *ld = (SI::ISO639LanguageDescriptor *)d; X dbgpatpmt(" '%s'", ld->languageCode); Xdiff --git a/remux.h b/remux.h Xindex b882279..4af51e5 100644 X--- a/remux.h X+++ b/remux.h X@@ -174,6 +174,7 @@ protected: X int MakeStream(uchar *Target, uchar Type, int Pid); X int MakeAC3Descriptor(uchar *Target, uchar Type); X int MakeSubtitlingDescriptor(uchar *Target, const char *Language, uchar SubtitlingType, uint16_t CompositionPageId, uint16_t AncillaryPageId); X+ int MakeTeletextDescriptor(uchar *Target, const tTeletextSubtitlePage *pages, int pageCount); X int MakeLanguageDescriptor(uchar *Target, const char *Language); X int MakeCRC(uchar *Target, const uchar *Data, int Length); X void GeneratePmtPid(const cChannel *Channel); X@@ -219,6 +220,7 @@ private: X int vpid; X int ppid; X int vtype; X+ int tpid; X int apids[MAXAPIDS + 1]; // list is zero-terminated X int atypes[MAXAPIDS + 1]; // list is zero-terminated X char alangs[MAXAPIDS][MAXLANGCODE2]; X@@ -231,6 +233,8 @@ private: X uint16_t compositionPageIds[MAXSPIDS]; X uint16_t ancillaryPageIds[MAXSPIDS]; X bool updatePrimaryDevice; X+ int totalTtxtSubtitlePages; X+ tTeletextSubtitlePage teletextSubtitlePages[MAXTXTPAGES]; X protected: X int SectionLength(const uchar *Data, int Length) { return (Length >= 3) ? ((int(Data[1]) & 0x0F) << 8)| Data[2] : 0; } X public: X@@ -263,6 +267,9 @@ public: X int Vtype(void) const { return vtype; } X ///< Returns the video stream type as defined by the current PMT, or 0 if no video X ///< stream type has been detected, yet. X+ int Tpid(void) { return tpid; } X+ ///< Returns the teletext pid as defined by the current PMT, or 0 if no teletext X+ ///< pid has been detected, yet. X const int *Apids(void) const { return apids; } X const int *Dpids(void) const { return dpids; } X const int *Spids(void) const { return spids; } X@@ -277,6 +284,8 @@ public: X uchar SubtitlingType(int i) const { return (0 <= i && i < MAXSPIDS) ? subtitlingTypes[i] : uchar(0); } X uint16_t CompositionPageId(int i) const { return (0 <= i && i < MAXSPIDS) ? compositionPageIds[i] : uint16_t(0); } X uint16_t AncillaryPageId(int i) const { return (0 <= i && i < MAXSPIDS) ? ancillaryPageIds[i] : uint16_t(0); } X+ const tTeletextSubtitlePage *TeletextSubtitlePages() const { return teletextSubtitlePages; } X+ int TotalTeletextSubtitlePages() const { return totalTtxtSubtitlePages; } X }; X X // TS to PES converter: Xdiff --git a/vdr.5 b/vdr.5 Xindex c46a2bf..96e142a 100644 X--- a/vdr.5 X+++ b/vdr.5 X@@ -225,6 +225,12 @@ by an '=' sign, as in X X .B ...:201;2001=deu,2002=eng:... X X+Manual teletext subtitling pages can be defined separated by a '+' sign. X+The pages (separated by commas) can contain language codes, delimited by a '=' X+sign, as in X+ X+.B ...:201+150=deu,151=fin;2001,2002:... X+ X .TP X .B Conditional access X A hexadecimal integer defining how this channel can be accessed: Xdiff --git a/vdrttxtsubshooks.c b/vdrttxtsubshooks.c Xnew file mode 100644 Xindex 0000000..2471788 X--- /dev/null X+++ b/vdrttxtsubshooks.c X@@ -0,0 +1,63 @@ X+/* X+ * vdr-ttxtsubs - A plugin for the Linux Video Disk Recorder X+ * Copyright (c) 2003 - 2008 Ragnar Sundblad X+ * X+ * This program is free software; you can redistribute it and/or modify it X+ * under the terms of the GNU General Public License as published by the X+ * Free Software Foundation; either version 2 of the License, or (at your option) X+ * any later version. X+ * X+ * This program is distributed in the hope that it will be useful, but X+ * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or X+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more X+ * details. X+ * X+ * You should have received a copy of the GNU General Public License along with X+ * this program; if not, write to the Free Software Foundation, Inc., X+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA X+ * X+ */ X+ X+#include X+#include X+#include X+ X+#include "vdrttxtsubshooks.h" X+ X+// XXX Really should be a list... X+static cVDRTtxtsubsHookListener *gListener; X+ X+// ------ class cVDRTtxtsubsHookProxy ------ X+ X+class cVDRTtxtsubsHookProxy : public cVDRTtxtsubsHookListener X+{ X+ public: X+ virtual void HideOSD(void) { if(gListener) gListener->HideOSD(); }; X+ virtual void ShowOSD(void) { if(gListener) gListener->ShowOSD(); }; X+ virtual void PlayerTeletextData(uint8_t *p, int length, bool IsPesRecording, const struct tTeletextSubtitlePage teletextSubtitlePages[] = NULL, int pageCount = 0) X+ { if(gListener) gListener->PlayerTeletextData(p, length, IsPesRecording, teletextSubtitlePages, pageCount); }; X+ virtual int ManualPageNumber(const cChannel *channel) X+ { if(gListener) return gListener->ManualPageNumber(channel); else return 0; }; X+}; X+ X+ X+// ------ class cVDRTtxtsubsHookListener ------ X+ X+cVDRTtxtsubsHookListener::~cVDRTtxtsubsHookListener() X+{ X+ gListener = 0; X+} X+ X+void cVDRTtxtsubsHookListener::HookAttach(void) X+{ X+ gListener = this; X+ //printf("cVDRTtxtsubsHookListener::HookAttach\n"); X+} X+ X+static cVDRTtxtsubsHookProxy gProxy; X+ X+cVDRTtxtsubsHookListener *cVDRTtxtsubsHookListener::Hook(void) X+{ X+ return &gProxy; X+} X+ Xdiff --git a/vdrttxtsubshooks.h b/vdrttxtsubshooks.h Xnew file mode 100644 Xindex 0000000..2f97969 X--- /dev/null X+++ b/vdrttxtsubshooks.h X@@ -0,0 +1,46 @@ X+/* X+ * vdr-ttxtsubs - A plugin for the Linux Video Disk Recorder X+ * Copyright (c) 2003 - 2008 Ragnar Sundblad X+ * X+ * This program is free software; you can redistribute it and/or modify it X+ * under the terms of the GNU General Public License as published by the X+ * Free Software Foundation; either version 2 of the License, or (at your option) X+ * any later version. X+ * X+ * This program is distributed in the hope that it will be useful, but X+ * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or X+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more X+ * details. X+ * X+ * You should have received a copy of the GNU General Public License along with X+ * this program; if not, write to the Free Software Foundation, Inc., X+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA X+ * X+ */ X+ X+#ifndef __VDRTTXTSUBSHOOKS_H X+#define __VDRTTXTSUBSHOOKS_H X+ X+#define TTXTSUBSVERSNUM 2 X+ X+class cDevice; X+class cChannel; X+struct tTeletextSubtitlePage; X+ X+class cVDRTtxtsubsHookListener { X+ public: X+ cVDRTtxtsubsHookListener(void) {}; X+ virtual ~cVDRTtxtsubsHookListener(); X+ X+ void HookAttach(void); X+ X+ virtual void HideOSD(void) {}; X+ virtual void ShowOSD(void) {}; X+ virtual void PlayerTeletextData(uint8_t *p, int length, bool IsPesRecording = true, const struct tTeletextSubtitlePage teletextSubtitlePages[] = NULL, int pageCount = 0) {}; X+ virtual int ManualPageNumber(const cChannel *channel) { return 0; }; X+ X+ // used by VDR to call hook listeners X+ static cVDRTtxtsubsHookListener *Hook(void); X+}; X+ X+#endif d9bf59d4e8261cb10287316c015d80d1 echo x - multimedia/vdr/files/vdr-1.7.21-ttxtsubs.patch-2 sed 's/^X//' >multimedia/vdr/files/vdr-1.7.21-ttxtsubs.patch-2 << 'ab3f3d6cca8052a2091f2e6ffbd7dbcb' Xdiff --git a/pat.c b/pat.c Xindex b7493ec..9262491 100644 X--- a/pat.c X+++ b/pat.c X@@ -17,6 +17,7 @@ X #include "libsi/section.h" X #include "libsi/descriptor.h" X #include "thread.h" X+#include "vdrttxtsubshooks.h" X X #define PMT_SCAN_TIMEOUT 10 // seconds X X@@ -347,6 +348,8 @@ void cPatFilter::Process(u_short Pid, u_ X char DLangs[MAXDPIDS][MAXLANGCODE2] = { "" }; X char SLangs[MAXSPIDS][MAXLANGCODE2] = { "" }; X int Tpid = 0; X+ tTeletextSubtitlePage TeletextSubtitlePages[MAXTXTPAGES]; X+ int NumTPages = 0; X int NumApids = 0; X int NumDpids = 0; X int NumSpids = 0; X@@ -438,8 +441,21 @@ void cPatFilter::Process(u_short Pid, u_ X NumSpids++; X } X break; X- case SI::TeletextDescriptorTag: X+ case SI::TeletextDescriptorTag: { X Tpid = esPid; X+ SI::TeletextDescriptor *sd = (SI::TeletextDescriptor *)d; X+ SI::TeletextDescriptor::Teletext ttxt; X+ for (SI::Loop::Iterator it; sd->teletextLoop.getNext(ttxt, it); ) { X+ bool isSubtitlePage = (ttxt.getTeletextType() == 0x02) || (ttxt.getTeletextType() == 0x05); X+ if ((NumTPages < MAXTXTPAGES) && ttxt.languageCode[0] && isSubtitlePage) { X+ strn0cpy(TeletextSubtitlePages[NumTPages].ttxtLanguage, I18nNormalizeLanguageCode(ttxt.languageCode), MAXLANGCODE1); X+ TeletextSubtitlePages[NumTPages].ttxtPage = ttxt.getTeletextPageNumber(); X+ TeletextSubtitlePages[NumTPages].ttxtMagazine = ttxt.getTeletextMagazineNumber(); X+ TeletextSubtitlePages[NumTPages].ttxtType = ttxt.getTeletextType(); X+ NumTPages++; X+ } X+ } X+ } X break; X case SI::ISO639LanguageDescriptorTag: { X SI::ISO639LanguageDescriptor *ld = (SI::ISO639LanguageDescriptor *)d; X@@ -541,6 +557,11 @@ void cPatFilter::Process(u_short Pid, u_ X } X if (Setup.UpdateChannels >= 2) { X Channel->SetPids(Vpid, Ppid, Vtype, Apids, Atypes, ALangs, Dpids, Dtypes, DLangs, Spids, SLangs, Tpid); X+ if (NumTPages < MAXTXTPAGES) { X+ int manualPageNumber = cVDRTtxtsubsHookListener::Hook()->ManualPageNumber(Channel); X+ if (manualPageNumber) X+ TeletextSubtitlePages[NumTPages++] = tTeletextSubtitlePage(manualPageNumber); X+ } X if (!cSource::IsType(Channel->Source(), 'I')) X Channel->SetCaIds(CaDescriptors->CaIds()); X Channel->SetSubtitlingDescriptors(SubtitlingTypes, CompositionPageIds, AncillaryPageIds); ab3f3d6cca8052a2091f2e6ffbd7dbcb echo x - multimedia/vdr/files/vdr-waitdvb.in sed 's/^X//' >multimedia/vdr/files/vdr-waitdvb.in << 'f65241f01ba68374366228e8ca5263a2' X#!/bin/sh X# X# $FreeBSD: ports/multimedia/vdr/files/vdr-waitdvb.in,v 1.1 2012/01/21 17:32:50 nox Exp $ X# X Xcommand="%%PREFIX%%/bin/vdr" X Xecho -n "vdr: waiting for dvb nodes: " Xi=0 Xwhile true Xdo X ndvb=$(ls /dev/dvb/adapter*/frontend* 2>/dev/null|wc -l|tr -d ' ') X if [ $ndvb -gt 0 ]; then X break X fi X if [ $i -ge 60 ]; then X break X fi X i=$((i + 1)) X sleep 1 X echo -n "." Xdone X Xi=0 Xwhile true Xdo X sleep 2 X nndvb=$(ls /dev/dvb/adapter*/frontend* 2>/dev/null|wc -l|tr -d ' ') X echo -n " $nndvb" X if [ $nndvb -eq $ndvb ]; then X break X fi X if [ $i -ge 30 ]; then X break X fi X i=$((i + 1)) Xdone Xecho . X Xexec "$command" "$@" f65241f01ba68374366228e8ca5263a2 echo x - multimedia/vdr/files/vdr.in sed 's/^X//' >multimedia/vdr/files/vdr.in << '6bcd4a437129f6f9295e8fd1c3d4f660' X#!/bin/sh X# X# $FreeBSD: ports/multimedia/vdr/files/vdr.in,v 1.3 2012/01/21 17:32:50 nox Exp $ X# X# PROVIDE: vdr X# REQUIRE: LOGIN X# KEYWORD: shutdown X# X# Add the following line to /etc/rc.conf[.local] to enable vdr: X# X# vdr_enable="YES" X# X# And if you are using vdr plugins etc. add those including any plugin X# parameters to /etc/rc.conf[.local] similar to this: X# X# vdr_flags="'-Pxineliboutput --local=none --remote=127.1:37890' \ X# -Pfemon -Posdpip \ X# -Posdteletext --cache-system=packed --max-cache=128' \ X# -Pstreamdev-server '-Plive -i127.1' -Pepgsearch \ X# -Pinfosatepg" X X. /etc/rc.subr X Xname=vdr Xrcvar=vdr_enable X Xload_rc_config ${name} X: ${vdr_enable="NO"} X: ${vdr_chdir="%%VIDEODIR%%"} X: ${vdr_waitdvb="YES"} X Xcommand="%%PREFIX%%/bin/vdr" Xprocname="$command" Xcommand_args="-d" X Xstart_precmd="${name}_prestart" X Xvdr_prestart() X{ X if checkyesno "${name}_waitdvb"; then X command="/usr/sbin/daemon" X rc_flags="-f %%PREFIX%%/bin/vdr-waitdvb $rc_flags" X fi X} X Xrun_rc_command "$1" 6bcd4a437129f6f9295e8fd1c3d4f660 echo c - multimedia/vdr-plugin-control/ mkdir -p multimedia/vdr-plugin-control/ > /dev/null 2>&1 echo x - multimedia/vdr-plugin-control/Makefile sed 's/^X//' >multimedia/vdr-plugin-control/Makefile << '6f96094fcb6e1b6db20d27e661fadfdd' X# New ports collection makefile for: vdr-plugin-control X# Date created: Wed Apr 14 18:11:42 CEST 2010 X# Whom: Juergen Lock X# X# $FreeBSD: ports/multimedia/vdr-plugin-control/Makefile,v 1.5 2012/01/21 17:32:50 nox Exp $ X# X XPORTNAME= vdr-plugin-control XPORTVERSION= 0.0.2a45 XPORTREVISION= 11 XCATEGORIES= multimedia XMASTER_SITES= http://ricomp.de/vdr/ XDISTNAME= ${PORTNAME:S/-plugin-/-/}-${DISTVERSIONPREFIX}${DISTVERSION:S/a45/a/}${DISTVERSIONSUFFIX} XEXTRACT_SUFX= .tgz X XPATCH_SITES= http://ppa.launchpad.net/the-vdr-team/unstable-plugins/ubuntu/pool/main/v/vdr-plugin-control/ \ X ${MASTER_SITE_LOCAL} XPATCH_SITE_SUBDIR= nox/ XPATCHFILES= ${PORTNAME}_${PORTVERSION:S/a45/a-45/}yavdr1.diff.gz X XMAINTAINER= nox@FreeBSD.org XCOMMENT= Video Disk Recorder - telnet control plugin X XPATCH_STRIP= -p1 XHAVE_CONFIGURE= yes XPORTDOCS= COPYING README XMAKE_JOBS_SAFE= yes XWRKSRC= ${WRKDIR}/${PLUGIN}-${DISTVERSION:S/a45/a/} X X.include "${.CURDIR}/../vdr/Makefile.plugins" X Xpost-patch: post-patch-plugin X for i in ${WRKSRC}/vdr-plugin-${PLUGIN}-${DISTVERSION:S/a45/a/}/debian/patches/*.dpatch; do \ X ${PATCH} -d ${WRKSRC} `${SED} -n '/^#PATCHOPTIONS:/{s///;p;q;}' $$i` --forward --quiet <$$i ;\ X done X Xpost-install: X.if !defined(NOPORTDOCS) X ${MKDIR} ${DOCSDIR} X (cd ${WRKSRC} && ${INSTALL_DATA} ${PORTDOCS} ${DOCSDIR}) X.endif X X.include 6f96094fcb6e1b6db20d27e661fadfdd echo x - multimedia/vdr-plugin-control/distinfo sed 's/^X//' >multimedia/vdr-plugin-control/distinfo << '2f283127a3c934f70cb9d692413ba213' XSHA256 (vdr/vdr-control-0.0.2a.tgz) = e32012511cac2f333a59d4da250ca63d222abe574f99eb55c567d9752ef0d565 XSIZE (vdr/vdr-control-0.0.2a.tgz) = 27441 XSHA256 (vdr/vdr-plugin-control_0.0.2a-45yavdr1.diff.gz) = 806c6b29b43988c9fd3b0421e5a3af03517a5088a6a0b2ed622fdf7afa15c7fa XSIZE (vdr/vdr-plugin-control_0.0.2a-45yavdr1.diff.gz) = 5129 2f283127a3c934f70cb9d692413ba213 echo x - multimedia/vdr-plugin-control/pkg-descr sed 's/^X//' >multimedia/vdr-plugin-control/pkg-descr << 'e863118b05c62edaaaf1c838d39b9fa9' Xhttp://www.linuxtv.org/vdrwiki/index.php/Control-plugin X XThe 'control' plugin brings the ability to VDR to control Xthe whole OSD over a telnet client. X XTo reach this, 'control' listens on a network socket X(default is port 2002). If a client wants to connect, VDR Xchecks if that client is allowed to connect to VDR (see in Xthe documentation of VDR about the svdrphosts.conf file for Xmore info). If the connection is etablished, 'control' Xsends the curent OSD state to the client. Also all key Xstrokes at the client side are redirected to VDR. X XWWW: http://ricomp.de/vdr/down_en.html e863118b05c62edaaaf1c838d39b9fa9 echo x - multimedia/vdr-plugin-control/pkg-plist sed 's/^X//' >multimedia/vdr-plugin-control/pkg-plist << 'fd429f2c5d1476d403bcac32f0d82fed' Xlib/vdr/libvdr-control.so.%%APIVERSION%% fd429f2c5d1476d403bcac32f0d82fed echo c - multimedia/vdr-plugin-control/files/ mkdir -p multimedia/vdr-plugin-control/files/ > /dev/null 2>&1 echo x - multimedia/vdr-plugin-control/files/patch-Makefile sed 's/^X//' >multimedia/vdr-plugin-control/files/patch-Makefile << '4791f7343128f9ed4e1c057487a8479d' X--- a/Makefile X+++ b/Makefile X@@ -67,6 +67,11 @@ dist: clean X clean: X @-rm -f $(OBJS) $(DEPFILE) *.so *.tgz core* *~ X X+APIVERSION = $(shell sed -ne '/define APIVERSION/s/^.*"\(.*\)".*$$/\1/p' $(VDRDIR)/config.h) X+ X+install: X+ ${INSTALL_PROGRAM} $(LIBDIR)/libvdr-$(PLUGIN).so.$(APIVERSION) $(PREFIX)/lib/vdr/libvdr-$(PLUGIN).so.$(APIVERSION) X+ X ### Implicit rules: X X %.o: %.c 4791f7343128f9ed4e1c057487a8479d echo x - multimedia/vdr-plugin-control/files/patch-StringArray.c sed 's/^X//' >multimedia/vdr-plugin-control/files/patch-StringArray.c << 'b28032703043770bef3344ffa77ffd1c' X--- a/StringArray.c X+++ b/StringArray.c X@@ -11,7 +11,11 @@ X #endif // _GNU_SOURCE X X X+#ifdef __FreeBSD__ X+#include X+#else X #include X+#endif X #include X #include X b28032703043770bef3344ffa77ffd1c echo x - multimedia/vdr-plugin-control/files/patch-control.c sed 's/^X//' >multimedia/vdr-plugin-control/files/patch-control.c << '5bbb193f682d7c408ff7afbf271d14c7' X--- a/control.c X+++ b/control.c X@@ -69,6 +69,7 @@ cPluginControl::~cPluginControl() X // Clean up after yourself! X delete(_pReceivers); X delete(_pTerminal); X+ delete(glCtrlState); X } X X 5bbb193f682d7c408ff7afbf271d14c7 echo x - multimedia/vdr-plugin-control/files/patch-stack.c sed 's/^X//' >multimedia/vdr-plugin-control/files/patch-stack.c << '9a2726cda9377fe9cd5ab41bbadbec0b' X--- a/stack.c X+++ b/stack.c X@@ -12,7 +12,11 @@ X X X X+#ifdef __FreeBSD__ X+#include X+#else X #include X+#endif X #include X #include X 9a2726cda9377fe9cd5ab41bbadbec0b echo x - multimedia/vdr-plugin-control/files/patch-telnet.c sed 's/^X//' >multimedia/vdr-plugin-control/files/patch-telnet.c << '69c5a713603607854ce82ac48e277b7b' X--- a/telnet.c X+++ b/telnet.c X@@ -12,7 +12,11 @@ X X X X+#ifdef __FreeBSD__ X+#include X+#else X #include X+#endif X #include X //#include X 69c5a713603607854ce82ac48e277b7b echo c - multimedia/vdr-plugin-eepg/ mkdir -p multimedia/vdr-plugin-eepg/ > /dev/null 2>&1 echo x - multimedia/vdr-plugin-eepg/Makefile sed 's/^X//' >multimedia/vdr-plugin-eepg/Makefile << '32616c8d5900d48894a2dbb1c1f0b159' X# New ports collection makefile for: vdr-plugin-eepg X# Date created: Wed Dec 21 18:34:25 CET 2011 X# Whom: Juergen Lock X# X# $FreeBSD: ports/multimedia/vdr-plugin-eepg/Makefile,v 1.3 2012/01/21 17:32:50 nox Exp $ X# X XPORTNAME= vdr-plugin-eepg XPORTVERSION= 0.0.6p2011071921 XPORTREVISION= 3 XCATEGORIES= multimedia XMASTER_SITES= LOCAL/nox/ XDISTNAME= ${PORTNAME}-${PORTVERSION:C/p.*/pre/}-0-g${GITHASH} X XMAINTAINER= nox@FreeBSD.org XCOMMENT= Video Disk Recorder - extended EPG plugin X XGITHASH= e7383ed XPATCH_STRIP= -p1 XHAVE_CONFIGURE= yes XPORTDOCS= COPYING README XMAKE_JOBS_SAFE= yes XWRKSRC= ${WRKDIR}/${PORTNAME}-${GITHASH} X X.include "${.CURDIR}/../vdr/Makefile.plugins" X Xpost-patch: post-patch-plugin X Xpost-install: X @${INSTALL} -o ${VDR_USER} -g ${VDR_GROUP} -d ${PREFIX}/etc/vdr/plugins/${PLUGIN} X @${INSTALL_DATA} ${WRKSRC}/eepg.equiv.IT ${PREFIX}/etc/vdr/plugins/${PLUGIN} X @${INSTALL_DATA} ${WRKSRC}/eepg.equiv.IT ${PREFIX}/etc/vdr/plugins/${PLUGIN}/eepg.equiv.sample X @if [ ! -f ${PREFIX}/etc/vdr/plugins/${PLUGIN}/eepg.equiv ]; then \ X ${INSTALL_DATA} -o ${VDR_USER} -g ${VDR_GROUP} ${WRKSRC}/eepg.equiv.IT ${PREFIX}/etc/vdr/plugins/${PLUGIN}/eepg.equiv; \ X fi X.if !defined(NOPORTDOCS) X ${MKDIR} ${DOCSDIR} X (cd ${WRKSRC} && ${INSTALL_DATA} ${PORTDOCS} ${DOCSDIR}) X.endif X X.include 32616c8d5900d48894a2dbb1c1f0b159 echo x - multimedia/vdr-plugin-eepg/distinfo sed 's/^X//' >multimedia/vdr-plugin-eepg/distinfo << '0d8abd8337e7d3ffef5c161a96c951ec' XSHA256 (vdr/vdr-plugin-eepg-0.0.6pre-0-ge7383ed.tar.gz) = 411da7abf4edee3591086d57cfb33c48c3f71396bc823f61e58612b6ee8ccdca XSIZE (vdr/vdr-plugin-eepg-0.0.6pre-0-ge7383ed.tar.gz) = 81815 0d8abd8337e7d3ffef5c161a96c951ec echo x - multimedia/vdr-plugin-eepg/pkg-descr sed 's/^X//' >multimedia/vdr-plugin-eepg/pkg-descr << '8284cb1c67204f12a564e9592e84f606' XThis VDR plugin parses the extended (2 to 10 day) EPG data which is send by Xproviders on their portal channels. This EEPG data is transmitted in a Xnon-standard format on a non-standard PID. X XCurrently the following EEPG formats are supported: X-Mediahighway 1 (CanaalDigitaalNL, CSat, Cyfra+) X-Mediahighway 2 (Digital+) X-Sky Italy X-Sky UK X-Freesat X-Premiere X-NagraGuide (CanaalDigitaalNL, only in test) X XWWW: http://projects.vdr-developer.org/projects/plg-eepg 8284cb1c67204f12a564e9592e84f606 echo x - multimedia/vdr-plugin-eepg/pkg-plist sed 's/^X//' >multimedia/vdr-plugin-eepg/pkg-plist << '6a38767c30fedd9f0d6cac87ac11003f' Xlib/vdr/libvdr-eepg.so.%%APIVERSION%% X@exec /usr/bin/install -o %%VDR_USER%% -g %%VDR_GROUP%% -d %D/etc/vdr/plugins/eepg Xetc/vdr/plugins/eepg/eepg.equiv.IT X@unexec if cmp -s %D/etc/vdr/plugins/eepg/eepg.equiv.sample %D/etc/vdr/plugins/eepg/eepg.equiv; then rm -f %D/etc/vdr/plugins/eepg/eepg.equiv; fi Xetc/vdr/plugins/eepg/eepg.equiv.sample X@exec if [ ! -f %D/etc/vdr/plugins/eepg/eepg.equiv ] ; then cp -p %D/%F %B/eepg.equiv; fi X@dirrmtry etc/vdr/plugins/eepg 6a38767c30fedd9f0d6cac87ac11003f echo c - multimedia/vdr-plugin-eepg/files/ mkdir -p multimedia/vdr-plugin-eepg/files/ > /dev/null 2>&1 echo x - multimedia/vdr-plugin-eepg/files/patch-Makefile sed 's/^X//' >multimedia/vdr-plugin-eepg/files/patch-Makefile << '137b6b482c06badf7ee97bc42ce7e222' X--- a/Makefile X+++ b/Makefile X@@ -130,3 +130,6 @@ dist: clean X clean: X @-rm -f $(OBJS) $(DEPFILE) *.so *.tar.gz core* *~ X # @-rm -f $(PODIR)/*.mo $(PODIR)/*.pot X+ X+install: X+ ${INSTALL_PROGRAM} $(LIBDIR)/libvdr-$(PLUGIN).so.$(APIVERSION) $(PREFIX)/lib/vdr/libvdr-$(PLUGIN).so.$(APIVERSION) 137b6b482c06badf7ee97bc42ce7e222 echo x - multimedia/vdr-plugin-eepg/files/patch-eepg.c sed 's/^X//' >multimedia/vdr-plugin-eepg/files/patch-eepg.c << 'c8c8856290e6b2f41fb784ed4a9fb780' X--- a/eepg.c X+++ b/eepg.c X@@ -427,7 +427,14 @@ static void load_file (int tableid, char X X while (fgets (buf, sizeof (buf), fp) != NULL) { X from = binary = to = NULL; X+#ifdef __FreeBSD__ X+ from = MALLOC(char, 256); X+ binary = MALLOC(char, 1024); X+ to = MALLOC(char, 256); X+ int elems = sscanf (buf, "%255[^:]:%1023[^:]:%255[^:]:", from, binary, to); X+#else X int elems = sscanf (buf, "%a[^:]:%a[^:]:%a[^:]:", &from, &binary, &to); X+#endif X if (elems == 3) { X int bin_len = strlen (binary); X int from_char = resolve_char (from); c8c8856290e6b2f41fb784ed4a9fb780 echo c - multimedia/vdr-plugin-epgsearch/ mkdir -p multimedia/vdr-plugin-epgsearch/ > /dev/null 2>&1 echo x - multimedia/vdr-plugin-epgsearch/Makefile sed 's/^X//' >multimedia/vdr-plugin-epgsearch/Makefile << '6d06004150f17f5369aeddb29d8d4005' X# New ports collection makefile for: vdr-plugin-epgsearch X# Date created: Wed Apr 14 18:11:42 CEST 2010 X# Whom: Juergen Lock X# X# $FreeBSD: ports/multimedia/vdr-plugin-epgsearch/Makefile,v 1.5 2012/01/21 17:32:50 nox Exp $ X# X XPORTNAME= vdr-plugin-epgsearch XPORTVERSION= 1.0.1s20120322 XCATEGORIES= multimedia XMASTER_SITES= http://winni.vdr-developer.org/epgsearch/downloads/beta/:beta \ X LOCAL/nox/:snapshot XDISTFILES= ${DISTNAME}${EXTRACT_SUFX}:snapshot X XMAINTAINER= nox@FreeBSD.org XCOMMENT= Video Disk Recorder - EPG search plugin X XLIB_DEPENDS+= pcre:${PORTSDIR}/devel/pcre \ X tre:${PORTSDIR}/textproc/libtre X XUSE_BZIP2= yes XPATCH_STRIP= -p1 XPORTDOCS= COPYING HISTORY XMAKE_JOBS_SAFE= yes XWRKSRC= ${WRKDIR}/vdr-plugin-${PLUGIN} XMAKE_ARGS+= INCLUDES="-I$(LOCALBASE)/include -I$(LOCALBASE)/include/vdr -I${WRKSRC}" X X.include "${.CURDIR}/../vdr/Makefile.plugins" X Xpost-patch: post-patch-plugin X @${REINPLACE_CMD} 's/^#\(HAVE_PCREPOSIX=\)/\1/;'\\ X 's/^#\(HAVE_LIBTRE=\)/\1/;' \ X ${WRKSRC}/Makefile X Xpost-install: post-install-pluginlocales X.if !defined(NOPORTDOCS) X ${MKDIR} ${DOCSDIR} X (cd ${WRKSRC} && ${INSTALL_DATA} ${PORTDOCS} ${DOCSDIR}) X.endif X X.include 6d06004150f17f5369aeddb29d8d4005 echo x - multimedia/vdr-plugin-epgsearch/distinfo sed 's/^X//' >multimedia/vdr-plugin-epgsearch/distinfo << 'a5c2e6c66d0bef44a5337af30281c49b' XSHA256 (vdr/vdr-plugin-epgsearch-1.0.1s20120322.tar.bz2) = 3aeba4e396fcab71a15cb7a6dbd84f359b7770ef8d15aee05f0fffecb69e276e XSIZE (vdr/vdr-plugin-epgsearch-1.0.1s20120322.tar.bz2) = 355342 a5c2e6c66d0bef44a5337af30281c49b echo x - multimedia/vdr-plugin-epgsearch/pkg-descr sed 's/^X//' >multimedia/vdr-plugin-epgsearch/pkg-descr << '2fe8be20e8e61a2dbe588b2ee3dffaa9' Xhttp://www.linuxtv.org/vdrwiki/index.php/Epgsearch-plugin X XEPG-Search can be used as a replacement for VDR's default schedules menu Xentry. It looks like the standard schedules menu, but adds some Xadditional functions. X XWWW: http://winni.vdr-developer.org/epgsearch/index_eng.html 2fe8be20e8e61a2dbe588b2ee3dffaa9 echo x - multimedia/vdr-plugin-epgsearch/pkg-plist sed 's/^X//' >multimedia/vdr-plugin-epgsearch/pkg-plist << '02d27ccb2f4d98b87d6aaf4cebd27f27' Xlib/vdr/libvdr-epgsearch.so.%%APIVERSION%% Xlib/vdr/libvdr-epgsearchonly.so.%%APIVERSION%% Xlib/vdr/libvdr-conflictcheckonly.so.%%APIVERSION%% Xlib/vdr/libvdr-quickepgsearch.so.%%APIVERSION%% X%%NLS%%share/locale/ca_ES/LC_MESSAGES/vdr-epgsearch.mo X%%NLS%%share/locale/cs_CZ/LC_MESSAGES/vdr-epgsearch.mo X%%NLS%%share/locale/da_DK/LC_MESSAGES/vdr-epgsearch.mo X%%NLS%%share/locale/de_DE/LC_MESSAGES/vdr-epgsearch.mo X%%NLS%%share/locale/el_GR/LC_MESSAGES/vdr-epgsearch.mo X%%NLS%%share/locale/es_ES/LC_MESSAGES/vdr-epgsearch.mo X%%NLS%%share/locale/et_EE/LC_MESSAGES/vdr-epgsearch.mo X%%NLS%%share/locale/fi_FI/LC_MESSAGES/vdr-epgsearch.mo X%%NLS%%share/locale/fr_FR/LC_MESSAGES/vdr-epgsearch.mo X%%NLS%%share/locale/hr_HR/LC_MESSAGES/vdr-epgsearch.mo X%%NLS%%share/locale/hu_HU/LC_MESSAGES/vdr-epgsearch.mo X%%NLS%%share/locale/it_IT/LC_MESSAGES/vdr-epgsearch.mo X%%NLS%%share/locale/lt_LT/LC_MESSAGES/vdr-epgsearch.mo X%%NLS%%share/locale/nl_NL/LC_MESSAGES/vdr-epgsearch.mo X%%NLS%%share/locale/nn_NO/LC_MESSAGES/vdr-epgsearch.mo X%%NLS%%share/locale/pl_PL/LC_MESSAGES/vdr-epgsearch.mo X%%NLS%%share/locale/pt_PT/LC_MESSAGES/vdr-epgsearch.mo X%%NLS%%share/locale/ro_RO/LC_MESSAGES/vdr-epgsearch.mo X%%NLS%%share/locale/ru_RU/LC_MESSAGES/vdr-epgsearch.mo X%%NLS%%share/locale/sk_SK/LC_MESSAGES/vdr-epgsearch.mo X%%NLS%%share/locale/sl_SI/LC_MESSAGES/vdr-epgsearch.mo X%%NLS%%share/locale/sv_SE/LC_MESSAGES/vdr-epgsearch.mo X%%NLS%%share/locale/tr_TR/LC_MESSAGES/vdr-epgsearch.mo 02d27ccb2f4d98b87d6aaf4cebd27f27 echo c - multimedia/vdr-plugin-epgsearch/files/ mkdir -p multimedia/vdr-plugin-epgsearch/files/ > /dev/null 2>&1 echo x - multimedia/vdr-plugin-epgsearch/files/patch-Makefile sed 's/^X//' >multimedia/vdr-plugin-epgsearch/files/patch-Makefile << '43fa213cb5462c227056dc36f980e32c' X--- a/Makefile X+++ b/Makefile X@@ -235,19 +235,35 @@ i18n: $(I18Nmsgs) $(I18Npot) X X libvdr-$(PLUGIN).so: $(OBJS) X $(CXX) $(CXXFLAGS) $(LDFLAGS) -shared $(OBJS) $(LIBS) -o $@ X+ifdef FREEBSD X+ @cp -f $@ $(LIBDIR)/$@.$(APIVERSION) X+else X @cp --remove-destination $@ $(LIBDIR)/$@.$(APIVERSION) X+endif X X libvdr-$(PLUGIN2).so: $(OBJS2) X $(CXX) $(CXXFLAGS) $(LDFLAGS) -shared $(OBJS2) $(LIBS2) -o $@ X+ifdef FREEBSD X+ @cp -f $@ $(LIBDIR)/$@.$(APIVERSION) X+else X @cp --remove-destination $@ $(LIBDIR)/$@.$(APIVERSION) X+endif X X libvdr-$(PLUGIN3).so: $(OBJS3) X $(CXX) $(CXXFLAGS) $(LDFLAGS) -shared $(OBJS3) $(LIBS3) -o $@ X+ifdef FREEBSD X+ @cp -f $@ $(LIBDIR)/$@.$(APIVERSION) X+else X @cp --remove-destination $@ $(LIBDIR)/$@.$(APIVERSION) X+endif X X libvdr-$(PLUGIN4).so: $(OBJS4) X $(CXX) $(CXXFLAGS) $(LDFLAGS) -shared $(OBJS4) $(LIBS4) -o $@ X+ifdef FREEBSD X+ @cp -f $@ $(LIBDIR)/$@.$(APIVERSION) X+else X @cp --remove-destination $@ $(LIBDIR)/$@.$(APIVERSION) X+endif X X createcats: createcats.o Makefile X $(CXX) $(CXXFLAGS) $(LDFLAGS) createcats.o -o $@ X@@ -299,3 +315,15 @@ clean: X @-rm -f $(OBJS) $(OBJS2) $(OBJS3) $(OBJS4) $(DEPFILE) *.so *.tgz core* createcats createcats.o pod2*.tmp X @-find . \( -name "*~" -o -name "#*#" \) -print0 | xargs -0r rm -f X @-rm -rf doc html man X+ X+install: X+ ${INSTALL_PROGRAM} $(LIBDIR)/libvdr-$(PLUGIN).so.$(APIVERSION) $(PREFIX)/lib/vdr/libvdr-$(PLUGIN).so.$(APIVERSION) X+ifndef WITHOUT_EPGSEARCHONLY X+ ${INSTALL_PROGRAM} $(LIBDIR)/libvdr-$(PLUGIN2).so.$(APIVERSION) $(PREFIX)/lib/vdr/libvdr-$(PLUGIN2).so.$(APIVERSION) X+endif X+ifndef WITHOUT_CONFLICTCHECKONLY X+ ${INSTALL_PROGRAM} $(LIBDIR)/libvdr-$(PLUGIN3).so.$(APIVERSION) $(PREFIX)/lib/vdr/libvdr-$(PLUGIN3).so.$(APIVERSION) X+endif X+ifndef WITHOUT_QUICKSEARCH X+ ${INSTALL_PROGRAM} $(LIBDIR)/libvdr-$(PLUGIN4).so.$(APIVERSION) $(PREFIX)/lib/vdr/libvdr-$(PLUGIN4).so.$(APIVERSION) X+endif 43fa213cb5462c227056dc36f980e32c echo c - multimedia/vdr-plugin-femon/ mkdir -p multimedia/vdr-plugin-femon/ > /dev/null 2>&1 echo x - multimedia/vdr-plugin-femon/Makefile sed 's/^X//' >multimedia/vdr-plugin-femon/Makefile << '28f64c6039508957550e04af9d7e1f13' X# New ports collection makefile for: vdr-plugin-femon X# Date created: Wed Apr 14 18:11:42 CEST 2010 X# Whom: Juergen Lock X# X# $FreeBSD: ports/multimedia/vdr-plugin-femon/Makefile,v 1.7 2012/01/21 17:32:51 nox Exp $ X# X XPORTNAME= vdr-plugin-femon XPORTVERSION= 1.7.15 XCATEGORIES= multimedia XMASTER_SITES= http://www.saunalahti.fi/~rahrenbe/vdr/femon/files/ XDISTNAME= ${PORTNAME:S/-plugin-/-/}-${DISTVERSIONPREFIX}${DISTVERSION}${DISTVERSIONSUFFIX} XEXTRACT_SUFX= .tgz X XMAINTAINER= nox@FreeBSD.org XCOMMENT= Video Disk Recorder - frontend monitor plugin X XPATCH_STRIP= -p1 XHAVE_CONFIGURE= yes XPORTDOCS= COPYING README XMAKE_JOBS_SAFE= yes XWRKSRC= ${WRKDIR}/${PLUGIN}-${DISTVERSION} X X.include "${.CURDIR}/../vdr/Makefile.plugins" X Xpost-patch: post-patch-plugin X Xpost-install: post-install-pluginlocales X.if !defined(NOPORTDOCS) X ${MKDIR} ${DOCSDIR} X (cd ${WRKSRC} && ${INSTALL_DATA} ${PORTDOCS} ${DOCSDIR}) X.endif X X.include 28f64c6039508957550e04af9d7e1f13 echo x - multimedia/vdr-plugin-femon/distinfo sed 's/^X//' >multimedia/vdr-plugin-femon/distinfo << '9dc8ef598371ce9fafcf95da941786f9' XSHA256 (vdr/vdr-femon-1.7.15.tgz) = 9520b5cae795215aa84eb18760be9c00a637fd7ae755a1c00f3c988c6118d80f XSIZE (vdr/vdr-femon-1.7.15.tgz) = 77215 9dc8ef598371ce9fafcf95da941786f9 echo x - multimedia/vdr-plugin-femon/pkg-descr sed 's/^X//' >multimedia/vdr-plugin-femon/pkg-descr << '9394175b174448270a26575aa118f463' Xhttp://www.linuxtv.org/vdrwiki/index.php/Femon-plugin X XDVB Frontend Status Monitor is a VDR plugin that displays some signal Xinformation parameters of the current tuned channel on OSD. You can zap Xthrough all your channels and the plugin should be monitoring always the Xright frontend. The transponder and stream information are also available Xin advanced display modes. X XWWW: http://www.saunalahti.fi/~rahrenbe/vdr/femon/ 9394175b174448270a26575aa118f463 echo x - multimedia/vdr-plugin-femon/pkg-plist sed 's/^X//' >multimedia/vdr-plugin-femon/pkg-plist << '83493f6f114aebc80674f9939bf9966c' Xlib/vdr/libvdr-femon.so.%%APIVERSION%% X%%NLS%%share/locale/de_DE/LC_MESSAGES/vdr-femon.mo X%%NLS%%share/locale/es_ES/LC_MESSAGES/vdr-femon.mo X%%NLS%%share/locale/et_EE/LC_MESSAGES/vdr-femon.mo X%%NLS%%share/locale/fi_FI/LC_MESSAGES/vdr-femon.mo X%%NLS%%share/locale/fr_FR/LC_MESSAGES/vdr-femon.mo X%%NLS%%share/locale/hu_HU/LC_MESSAGES/vdr-femon.mo X%%NLS%%share/locale/it_IT/LC_MESSAGES/vdr-femon.mo X%%NLS%%share/locale/lt_LT/LC_MESSAGES/vdr-femon.mo X%%NLS%%share/locale/ru_RU/LC_MESSAGES/vdr-femon.mo X%%NLS%%share/locale/zh_CN/LC_MESSAGES/vdr-femon.mo X%%NLS%%share/locale/zh_TW/LC_MESSAGES/vdr-femon.mo 83493f6f114aebc80674f9939bf9966c echo c - multimedia/vdr-plugin-femon/files/ mkdir -p multimedia/vdr-plugin-femon/files/ > /dev/null 2>&1 echo x - multimedia/vdr-plugin-femon/files/patch-Makefile sed 's/^X//' >multimedia/vdr-plugin-femon/files/patch-Makefile << '78b88465baebc06f3bfa017a5f5c82f6' X--- femon-1.7.7/Makefile.orig X+++ femon-1.7.7/Makefile X@@ -131,3 +134,6 @@ dist: clean X X clean: X @-rm -f $(OBJS) $(DEPFILE) *.so *.tgz core* *~ $(PODIR)/*.mo $(PODIR)/*.pot X+ X+install: X+ ${INSTALL_PROGRAM} $(LIBDIR)/libvdr-$(PLUGIN).so.$(APIVERSION) $(PREFIX)/lib/vdr/libvdr-$(PLUGIN).so.$(APIVERSION) 78b88465baebc06f3bfa017a5f5c82f6 echo x - multimedia/vdr-plugin-femon/files/patch-femon-1.7.7.patch sed 's/^X//' >multimedia/vdr-plugin-femon/files/patch-femon-1.7.7.patch << 'e369a72a7cb02faf11b911eb747506b7' Xdiff -ur orig/femon-1.7.7/Makefile femon-1.7.7/Makefile X--- orig/femon-1.7.7/Makefile 2010-03-05 03:20:00.000000000 +0100 X+++ femon-1.7.7/Makefile 2010-03-05 17:55:59.000000000 +0100 X@@ -115,7 +115,11 @@ X ifndef FEMON_DEBUG X @$(STRIP) $@ X endif X+ifdef FREEBSD X+ @cp -f $@ $(LIBDIR)/$@.$(APIVERSION) X+else X @cp --remove-destination $@ $(LIBDIR)/$@.$(APIVERSION) X+endif X X dist: clean X @-rm -rf $(TMPDIR)/$(ARCHIVE) XOnly in femon-1.7.7: Makefile.orig e369a72a7cb02faf11b911eb747506b7 echo c - multimedia/vdr-plugin-infosatepg/ mkdir -p multimedia/vdr-plugin-infosatepg/ > /dev/null 2>&1 echo x - multimedia/vdr-plugin-infosatepg/Makefile sed 's/^X//' >multimedia/vdr-plugin-infosatepg/Makefile << 'cc9bef312fcb6672e640ed18accb2ab3' X# New ports collection makefile for: vdr-plugin-infosatepg X# Date created: Wed Apr 14 18:11:42 CEST 2010 X# Whom: Juergen Lock X# X# $FreeBSD: ports/multimedia/vdr-plugin-infosatepg/Makefile,v 1.6 2012/01/21 17:32:51 nox Exp $ X# X XPORTNAME= vdr-plugin-infosatepg XPORTVERSION= 0.0.11 XPORTREVISION= 12 XCATEGORIES= multimedia XMASTER_SITES= http://projects.vdr-developer.org/attachments/download/342/ XDISTNAME= ${PORTNAME:S/-plugin-/-/}-${DISTVERSIONPREFIX}${DISTVERSION}${DISTVERSIONSUFFIX} XEXTRACT_SUFX= .tgz X XMAINTAINER= nox@FreeBSD.org XCOMMENT= Video Disk Recorder - infosat EPG plugin X XPATCH_STRIP= -p1 XHAVE_CONFIGURE= yes XPORTDOCS= COPYING README XMAKE_JOBS_SAFE= yes XWRKSRC= ${WRKDIR}/${PLUGIN}-${DISTVERSION} X X.include "${.CURDIR}/../vdr/Makefile.plugins" X Xpost-patch: post-patch-plugin X Xpost-install: post-install-pluginlocales X.if !defined(NOPORTDOCS) X ${MKDIR} ${DOCSDIR} X (cd ${WRKSRC} && ${INSTALL_DATA} ${PORTDOCS} ${DOCSDIR}) X.endif X ${INSTALL} -o ${VDR_USER} -g ${VDR_GROUP} -d /var/cache/vdr/${PLUGIN} X X.include cc9bef312fcb6672e640ed18accb2ab3 echo x - multimedia/vdr-plugin-infosatepg/distinfo sed 's/^X//' >multimedia/vdr-plugin-infosatepg/distinfo << '81d8d0c406e7194831d41c4dc597cbae' XSHA256 (vdr/vdr-infosatepg-0.0.11.tgz) = 14495b07f15f928b9ae66d6ec2f6e9639aa0cf86865900b7d6a9e212d7eb80ac XSIZE (vdr/vdr-infosatepg-0.0.11.tgz) = 35585 81d8d0c406e7194831d41c4dc597cbae echo x - multimedia/vdr-plugin-infosatepg/pkg-descr sed 's/^X//' >multimedia/vdr-plugin-infosatepg/pkg-descr << '8958de2fd20fce90697b548571ac3511' Xhttp://vdr-wiki.de/wiki/index.php/Infosatepg-plugin X XThis plugin reads infosat EPG data from DVB-S. X XWWW: http://projects.vdr-developer.org/projects/show/plg-infosatepg 8958de2fd20fce90697b548571ac3511 echo x - multimedia/vdr-plugin-infosatepg/pkg-plist sed 's/^X//' >multimedia/vdr-plugin-infosatepg/pkg-plist << 'c12b36024ce12ddc15bcc9a711a3d349' Xlib/vdr/libvdr-infosatepg.so.%%APIVERSION%% X@exec /usr/bin/install -o %%VDR_USER%% -g %%VDR_GROUP%% -d /var/cache/vdr/infosatepg X%%NLS%%share/locale/de_DE/LC_MESSAGES/vdr-infosatepg.mo X%%NLS%%share/locale/it_IT/LC_MESSAGES/vdr-infosatepg.mo c12b36024ce12ddc15bcc9a711a3d349 echo c - multimedia/vdr-plugin-infosatepg/files/ mkdir -p multimedia/vdr-plugin-infosatepg/files/ > /dev/null 2>&1 echo x - multimedia/vdr-plugin-infosatepg/files/patch-Makefile sed 's/^X//' >multimedia/vdr-plugin-infosatepg/files/patch-Makefile << 'a7b861c2174c005d7698b2e210d80051' X--- a/Makefile X+++ b/Makefile X@@ -97,7 +97,11 @@ i18n: $(I18Nmsgs) $(I18Npot) X X libvdr-$(PLUGIN).so: $(OBJS) X $(CXX) $(CXXFLAGS) -shared $(OBJS) -o $@ X+ifdef FREEBSD X+ @cp -f $@ $(LIBDIR)/$@.$(APIVERSION) X+else X @cp --remove-destination $@ $(LIBDIR)/$@.$(APIVERSION) X+endif X X dist: clean X @-rm -rf $(TMPDIR)/$(ARCHIVE) X@@ -110,3 +114,6 @@ dist: clean X X clean: X @-rm -f $(OBJS) $(DEPFILE) *.so* *.tgz core* *~ $(PODIR)/*.mo $(PODIR)/*.pot X+ X+install: X+ ${INSTALL_PROGRAM} $(LIBDIR)/libvdr-$(PLUGIN).so.$(APIVERSION) $(PREFIX)/lib/vdr/libvdr-$(PLUGIN).so.$(APIVERSION) a7b861c2174c005d7698b2e210d80051 echo x - multimedia/vdr-plugin-infosatepg/files/patch-filter.cpp sed 's/^X//' >multimedia/vdr-plugin-infosatepg/files/patch-filter.cpp << 'f7336f24a4aa8e7611cfd4bcfbe5c66c' X--- a/filter.cpp X+++ b/filter.cpp X@@ -6,6 +6,9 @@ X * $Id$ X */ X X+#include X+#include X+#include X #include X #include X X@@ -47,24 +50,32 @@ u_short cFilterInfosatepg::foldsum(u_lon X return ((u_short) ~sum); X } X X-u_short cFilterInfosatepg::IPChecksum(iphdr *ipHeader) X+u_short cFilterInfosatepg::IPChecksum(ip *ipHeader) X { X- return foldsum(do_sum(0, (u_char*) ipHeader, sizeof(iphdr))); X+ return foldsum(do_sum(0, (u_char*) ipHeader, sizeof(ip))); X X } /* IpChecksum() */ X X X-u_short cFilterInfosatepg::UDPChecksum(iphdr *ipHeader, udphdr *udpHeader) X+u_short cFilterInfosatepg::UDPChecksum(ip *ipHeader, udphdr *udpHeader) X { X u_long sum = 0; X X // Ip-Pseudo-Header X- sum = do_sum(sum, (u_char*)(&ipHeader->saddr), sizeof(ipHeader->saddr)); X- sum = do_sum(sum, (u_char*)(&ipHeader->daddr), sizeof(ipHeader->daddr)); X+ sum = do_sum(sum, (u_char*)(&ipHeader->ip_src), sizeof(ipHeader->ip_src)); X+ sum = do_sum(sum, (u_char*)(&ipHeader->ip_dst), sizeof(ipHeader->ip_dst)); X+#ifdef __linux__ X sum += udpHeader->len; X- sum += ipHeader->protocol<<8; X+#else X+ sum += udpHeader->uh_ulen; X+#endif X+ sum += ipHeader->ip_p<<8; X X+#ifdef __linux__ X sum = do_sum(sum, (u_char*)udpHeader, ntohs(udpHeader->len)); X+#else X+ sum = do_sum(sum, (u_char*)udpHeader, ntohs(udpHeader->uh_ulen)); X+#endif X X return foldsum(sum); X } X@@ -78,27 +89,27 @@ void cFilterInfosatepg::Process(u_short X X if (Data[0]!=0x3E) return; X X- struct ethhdr eth_hdr; X- memset(ð_hdr,0,sizeof(struct ethhdr)); X+ struct ether_header eth_hdr; X+ memset(ð_hdr,0,sizeof(struct ether_header)); X X- eth_hdr.h_dest[0]=Data[11]; X- eth_hdr.h_dest[1]=Data[10]; X- eth_hdr.h_dest[2]=Data[9]; X- eth_hdr.h_dest[3]=Data[8]; X- eth_hdr.h_dest[4]=Data[4]; X- eth_hdr.h_dest[5]=Data[3]; X+ eth_hdr.ether_dhost[0]=Data[11]; X+ eth_hdr.ether_dhost[1]=Data[10]; X+ eth_hdr.ether_dhost[2]=Data[9]; X+ eth_hdr.ether_dhost[3]=Data[8]; X+ eth_hdr.ether_dhost[4]=Data[4]; X+ eth_hdr.ether_dhost[5]=Data[3]; X X // check mac and range X if (!global->CheckMAC(ð_hdr)) return; X X- int mac = eth_hdr.h_dest[5]; X+ int mac = eth_hdr.ether_dhost[5]; X global->ActualMac=mac; X X- struct iphdr *ip_hdr = (iphdr *) &Data[SECT_IP_HDR_START]; X+ struct ip *ip_hdr = (ip *) &Data[SECT_IP_HDR_START]; X struct udphdr *udp_hdr = (udphdr *) &Data[SECT_UDP_HDR_START]; X X // Only IPv4 X- if (ip_hdr->version!=4) return; X+ if (ip_hdr->ip_v!=4) return; X X // Check IP checksum X if (IPChecksum(ip_hdr)!=0) X@@ -108,7 +119,7 @@ void cFilterInfosatepg::Process(u_short X } X X // Only UDP X- if (ip_hdr->protocol!=17) return; X+ if (ip_hdr->ip_p!=17) return; X X // Check UDP checksum X if (UDPChecksum(ip_hdr,udp_hdr)!=0) X@@ -149,8 +160,8 @@ void cFilterInfosatepg::Process(u_short X X X #ifdef VDRDEBUG X- dsyslog("infosatepg: mac=%02x-%02x-%02x-%02x-%02x-%02x",eth_hdr.h_dest[0],eth_hdr.h_dest[1], X- eth_hdr.h_dest[2],eth_hdr.h_dest[3],eth_hdr.h_dest[4],eth_hdr.h_dest[5] ); X+ dsyslog("infosatepg: mac=%02x-%02x-%02x-%02x-%02x-%02x",eth_hdr.ether_dhost[0],eth_hdr.ether_dhost[1], X+ eth_hdr.ether_dhost[2],eth_hdr.ether_dhost[3],eth_hdr.ether_dhost[4],eth_hdr.ether_dhost[5] ); X X dsyslog("infosatepg: tid=%04i tbl=%04i stbl=%04i day=%02i month=%02i pktnr=%03i pktcnt=%03i len=%i", X ntohs(ishdr->technisatId),ishdr->tableId,ishdr->tablesubId,ishdr->day, f7336f24a4aa8e7611cfd4bcfbe5c66c echo x - multimedia/vdr-plugin-infosatepg/files/patch-filter.h sed 's/^X//' >multimedia/vdr-plugin-infosatepg/files/patch-filter.h << 'd9f6797186b40f771eae70dfc7d31da9' X--- a/filter.h X+++ b/filter.h X@@ -33,8 +33,8 @@ private: X cGlobalInfosatepg *global; X u_long do_sum(u_long sum, u_char *buf, int nBytes); X u_short foldsum(u_long sum); X- u_short IPChecksum(iphdr *ipHeader); X- u_short UDPChecksum(iphdr *ipHeader, udphdr *udpHeader); X+ u_short IPChecksum(ip *ipHeader); X+ u_short UDPChecksum(ip *ipHeader, udphdr *udpHeader); X protected: X virtual void Process(u_short Pid, u_char Tid, const u_char *Data, int Length); X public: d9f6797186b40f771eae70dfc7d31da9 echo x - multimedia/vdr-plugin-infosatepg/files/patch-global.cpp sed 's/^X//' >multimedia/vdr-plugin-infosatepg/files/patch-global.cpp << '370bfc1d7887471eb5683a0afd7375b0' X--- a/global.cpp X+++ b/global.cpp X@@ -164,7 +164,11 @@ cGlobalInfosatepg::cGlobalInfosatepg() X MAC[3]=0x02; X MAC[4]=0x02; X WaitTime=10; // default 10 seconds X+#ifdef __FreeBSD__ X+ SetDirectory ("/var/cache/vdr/infosatepg"); X+#else X SetDirectory ("/tmp"); X+#endif X NoWakeup=false; X NoDeferredShutdown=false; X ActualMac=0; X@@ -194,17 +198,17 @@ bool cGlobalInfosatepg::SetDirectory(con X return true; X } X X-bool cGlobalInfosatepg::CheckMAC(struct ethhdr *eth_hdr) X+bool cGlobalInfosatepg::CheckMAC(ether_header *eth_hdr) X { X if (!eth_hdr) return false; X- if (eth_hdr->h_dest[0]!=MAC[0]) return false; X- if (eth_hdr->h_dest[1]!=MAC[1]) return false; X- if (eth_hdr->h_dest[2]!=MAC[2]) return false; X- if (eth_hdr->h_dest[3]!=MAC[3]) return false; X- if (eth_hdr->h_dest[4]!=MAC[4]) return false; X+ if (eth_hdr->ether_dhost[0]!=MAC[0]) return false; X+ if (eth_hdr->ether_dhost[1]!=MAC[1]) return false; X+ if (eth_hdr->ether_dhost[2]!=MAC[2]) return false; X+ if (eth_hdr->ether_dhost[3]!=MAC[3]) return false; X+ if (eth_hdr->ether_dhost[4]!=MAC[4]) return false; X X- if (eth_hdr->h_dest[5]h_dest[5]>EPG_LAST_DAY_MAC) return false; X+ if (eth_hdr->ether_dhost[5]ether_dhost[5]>EPG_LAST_DAY_MAC) return false; X X return true; X } 370bfc1d7887471eb5683a0afd7375b0 echo x - multimedia/vdr-plugin-infosatepg/files/patch-global.h sed 's/^X//' >multimedia/vdr-plugin-infosatepg/files/patch-global.h << '00f433b460830598cd09376112cf8281' X--- a/global.h X+++ b/global.h X@@ -9,8 +9,10 @@ X #ifndef __global_h_ X #define __global_h_ X X+#include X #include X #include X+#include X X #include X #include X@@ -162,7 +164,7 @@ public: X return directory; X } X bool SetDirectory (const char *Directory); X- bool CheckMAC (struct ethhdr *eth_hdr); X+ bool CheckMAC (ether_header *eth_hdr); X void SetWaitTimer() X { X timer=time (NULL); 00f433b460830598cd09376112cf8281 echo x - multimedia/vdr-plugin-infosatepg/files/patch-infosatepg.cpp sed 's/^X//' >multimedia/vdr-plugin-infosatepg/files/patch-infosatepg.cpp << '5ab2c4c08be673c5eb4d4e625681df00' X--- infosatepg.cpp.orig X+++ infosatepg.cpp X@@ -190,10 +190,14 @@ void cPluginInfosatepg::MainThreadHook(v X if (dev) X { X if (!dev->ProvidesTransponder(chan)) continue; // device cannot provide transponder -> skip X+#if VDRVERSNUM >= 10726 X+ if (statusMonitor->m_LiveView) continue; // EITScanner is updating EPG -> skip X+#else X if (EITScanner.UsesDevice(dev)) continue; // EITScanner is updating EPG -> skip X+#endif X if (dev->Receiving()) continue; // device is recording -> skip X if (dev->IsPrimaryDevice()) continue; // device is primary -> skip X- if (cDevice::ActualDevice()->CardIndex()==i) continue; // device is live viewing -> skip X+ if (cDevice::ActualDevice()->CardIndex()==dev->CardIndex()) continue; // device is live viewing -> skip X if (dev->IsTunedToTransponder(chan)) X { X // we already have a device which is tuned (maybe switched manually?) X@@ -403,7 +407,7 @@ cString cPluginInfosatepg::SVDRPCommand( X cString head2; X head2="\n" \ X " | | missed | | | unlocated\n" \ X- " Day | Date | Packets | Received %% | Processed | Events\n" \ X+ " Day | Date | Packets | Received % | Processed | Events\n" \ X "------+--------+---------+------------+------------+----------\n"; X X cString mstr; 5ab2c4c08be673c5eb4d4e625681df00 echo x - multimedia/vdr-plugin-infosatepg/files/patch-process.cpp sed 's/^X//' >multimedia/vdr-plugin-infosatepg/files/patch-process.cpp << '80371a8b4c3b1c690add60999a9fb024' X--- a/process.cpp X+++ b/process.cpp X@@ -1047,7 +1047,9 @@ bool cProcessInfosatepg::ParseInfosatepg X int ieventnr=1; X cChannel *chan=NULL; X cInfosatevent *ievent=NULL; X-#if VDRVERSNUM < 10701 X+// XXX don't default to assuming UTF-8 on FreeBSD (that's what the NULL does), X+// its still often used without. X+#if VDRVERSNUM < 10701 || defined(__FreeBSD__) X cCharSetConv *conv = new cCharSetConv("ISO-8859-1",cCharSetConv::SystemCharacterTable() ? X cCharSetConv::SystemCharacterTable() : "UTF-8"); X #else X@@ -1139,7 +1141,12 @@ bool cProcessInfosatepg::ParseInfosatepg X } X int shour,sminute; X char *title; X+#ifdef __FreeBSD__ X+ title = (char *)malloc(strlen(s)); X+ fields=sscanf(s,"%d:%d %[^^]",&shour,&sminute,title); X+#else X fields=sscanf(s,"%d:%d %a[^^]",&shour,&sminute,&title); X+#endif X if (fields==3) X { X if (!ievent) ievent = new cInfosatevent; 80371a8b4c3b1c690add60999a9fb024 echo x - multimedia/vdr-plugin-infosatepg/files/patch-readline.cpp sed 's/^X//' >multimedia/vdr-plugin-infosatepg/files/patch-readline.cpp << 'aa5cbed98ece8f11d6c0296e7f454ddf' X--- a/readline.cpp X+++ b/readline.cpp X@@ -10,6 +10,15 @@ X #include X #include "readline.h" X X+#ifdef __FreeBSD__ X+#include X+#if __FreeBSD_version > 800000 X+#define HAVE_GETLINE X+#endif X+#else X+#define HAVE_GETLINE X+#endif X+ X extern char *strcatrealloc(char *dest, const char *src); X X // --- cReadLineInfosatepg --------------------------------------------------- X@@ -36,7 +45,31 @@ char *cReadLineInfosatepg::Read(FILE *f, X do X { X ext=false; X+#ifndef HAVE_GETLINE X+ size_t n; X+ X+ if (!tempbuffer) X+ { X+ if (!(tempbuffer = (char *)malloc(tempsize = 4096))) X+ return NULL; X+ } X+ if (!fgets(tempbuffer, tempsize, f)) X+ { X+ if (tempbuffer) free(tempbuffer); X+ return buffer; X+ } X+ while ((n = strlen(tempbuffer)) >= tempsize - 1 && X+ tempbuffer[n - 1] != '\n') X+ { X+ if (!(tempbuffer = (char *)realloc(tempbuffer, tempsize * 2))) X+ return NULL; X+ tempsize *= 2; X+ if (!fgets(tempbuffer + n, tempsize - n, f)) X+ break; X+ } X+#else X int n = getline(&tempbuffer, &tempsize, f); X+#endif X if (n > 0) X { X if (tempbuffer[n-1] == '\n') aa5cbed98ece8f11d6c0296e7f454ddf echo x - multimedia/vdr-plugin-infosatepg/files/patch-status.cpp sed 's/^X//' >multimedia/vdr-plugin-infosatepg/files/patch-status.cpp << 'e43dd2d57e1b6dc6c35e146ae626e669' X--- status.cpp.orig X+++ status.cpp X@@ -21,11 +21,18 @@ cStatusInfosatepg::~cStatusInfosatepg(vo X if (myFilter) delete myFilter; X } X X+#if VDRVERSNUM >= 10726 X+void cStatusInfosatepg::ChannelSwitch(const cDevice *Device, int ChannelNumber, bool LiveView) X+#else X void cStatusInfosatepg::ChannelSwitch(const cDevice *Device, int ChannelNumber) X+#endif X { X if (!ChannelNumber) return; X if (!Device) return; // just to be safe X X+#if VDRVERSNUM >= 10726 X+ m_LiveView = LiveView; X+#endif X bool bAddFilter=false; X X // just add filter if we aren't locked e43dd2d57e1b6dc6c35e146ae626e669 echo x - multimedia/vdr-plugin-infosatepg/files/patch-status.h sed 's/^X//' >multimedia/vdr-plugin-infosatepg/files/patch-status.h << 'ab12e3a897b0db445f0d62c2a86ff737' X--- status.h.orig X+++ status.h X@@ -20,8 +20,15 @@ private: X cDevice *myFilterDevice; X cGlobalInfosatepg *global; X protected: X+#if VDRVERSNUM >= 10726 X+ virtual void ChannelSwitch(const cDevice *Device, int ChannelNumber, bool LiveView); X+#else X virtual void ChannelSwitch(const cDevice *Device, int ChannelNumber); X+#endif X public: X+#if VDRVERSNUM >= 10726 X+ bool m_LiveView; X+#endif X cStatusInfosatepg(cGlobalInfosatepg *Global); X virtual ~cStatusInfosatepg(void); X }; ab12e3a897b0db445f0d62c2a86ff737 echo c - multimedia/vdr-plugin-iptv/ mkdir -p multimedia/vdr-plugin-iptv/ > /dev/null 2>&1 echo x - multimedia/vdr-plugin-iptv/Makefile sed 's/^X//' >multimedia/vdr-plugin-iptv/Makefile << '6b15db0e5ffe52810be866ce3e01915e' X# New ports collection makefile for: vdr-plugin-remote X# Date created: Sun Aug 29 18:11:42 CEST 2010 X# Whom: Juergen Lock X# X# $FreeBSD: ports/multimedia/vdr-plugin-iptv/Makefile,v 1.5 2012/01/21 17:32:51 nox Exp $ X# X XPORTNAME= vdr-plugin-iptv XPORTVERSION= 0.5.0 XCATEGORIES= multimedia XMASTER_SITES= http://www.saunalahti.fi/~rahrenbe/vdr/iptv/files/ XDISTNAME= ${PORTNAME:S/-plugin-/-/}-${DISTVERSIONPREFIX}${DISTVERSION}${DISTVERSIONSUFFIX} XEXTRACT_SUFX= .tgz X XMAINTAINER= nox@FreeBSD.org XCOMMENT= Video Disk Recorder - IP television plugin X XPATCH_STRIP= -p1 XHAVE_CONFIGURE= yes XPORTDOCS= COPYING README XPORTEXAMPLES= channels.conf.iptv XMAKE_JOBS_SAFE= yes XWRKSRC= ${WRKDIR}/${PLUGIN}-${DISTVERSION} X X.include "${.CURDIR}/../vdr/Makefile.plugins" X Xpost-patch: post-patch-plugin X @${REINPLACE_CMD} 's|^\(CHANNELS_CONF[[:space:]]*\)[?]*\(=[[:space:]]*\).*|\1\2${PREFIX}/etc/vdr/channels.conf|;'\\ X 's|^\(CHANNEL_SETTINGS_DIR[[:space:]]*\)[?]*\(=[[:space:]]*\)/etc|\1\2${PREFIX}/etc|;'\ X ${WRKSRC}/iptv/vlc2iptv X Xpost-install: post-install-pluginlocales X @${MKDIR} ${PREFIX}/etc/vdr/plugins/${PLUGIN} X @${MKDIR} ${PREFIX}/etc/vdr/plugins/${PLUGIN}/vlcinput X @${INSTALL_DATA} ${FILESDIR}/vlcinput/*.conf ${PREFIX}/etc/vdr/plugins/${PLUGIN}/vlcinput X @${INSTALL_SCRIPT} ${WRKSRC}/${PLUGIN}/image.sh ${PREFIX}/etc/vdr/plugins/${PLUGIN}/image.sh.sample X @if [ ! -f ${PREFIX}/etc/vdr/plugins/${PLUGIN}/image.sh ]; then \ X ${INSTALL_SCRIPT} ${WRKSRC}/${PLUGIN}/image.sh ${PREFIX}/etc/vdr/plugins/${PLUGIN}; \ X fi X @${INSTALL_SCRIPT} ${WRKSRC}/${PLUGIN}/internetradio.sh ${PREFIX}/etc/vdr/plugins/${PLUGIN}/internetradio.sh.sample X @if [ ! -f ${PREFIX}/etc/vdr/plugins/${PLUGIN}/internetradio.sh ]; then \ X ${INSTALL_SCRIPT} ${WRKSRC}/${PLUGIN}/internetradio.sh ${PREFIX}/etc/vdr/plugins/${PLUGIN}; \ X fi X @${INSTALL_SCRIPT} ${WRKSRC}/${PLUGIN}/iptvstream-notrap.sh ${PREFIX}/etc/vdr/plugins/${PLUGIN}/iptvstream-notrap.sh.sample X @if [ ! -f ${PREFIX}/etc/vdr/plugins/${PLUGIN}/iptvstream-notrap.sh ]; then \ X ${INSTALL_SCRIPT} ${WRKSRC}/${PLUGIN}/iptvstream-notrap.sh ${PREFIX}/etc/vdr/plugins/${PLUGIN}; \ X fi X @${INSTALL_SCRIPT} ${WRKSRC}/${PLUGIN}/iptvstream.sh ${PREFIX}/etc/vdr/plugins/${PLUGIN}/iptvstream.sh.sample X @if [ ! -f ${PREFIX}/etc/vdr/plugins/${PLUGIN}/iptvstream.sh ]; then \ X ${INSTALL_SCRIPT} ${WRKSRC}/${PLUGIN}/iptvstream.sh ${PREFIX}/etc/vdr/plugins/${PLUGIN}; \ X fi X @${INSTALL_SCRIPT} ${WRKSRC}/${PLUGIN}/linein.sh ${PREFIX}/etc/vdr/plugins/${PLUGIN}/linein.sh.sample X @if [ ! -f ${PREFIX}/etc/vdr/plugins/${PLUGIN}/linein.sh ]; then \ X ${INSTALL_SCRIPT} ${WRKSRC}/${PLUGIN}/linein.sh ${PREFIX}/etc/vdr/plugins/${PLUGIN}; \ X fi X @${INSTALL_SCRIPT} ${WRKSRC}/${PLUGIN}/vlc2iptv ${PREFIX}/etc/vdr/plugins/${PLUGIN}/vlc2iptv.sample X @if [ ! -f ${PREFIX}/etc/vdr/plugins/${PLUGIN}/vlc2iptv ]; then \ X ${INSTALL_SCRIPT} ${WRKSRC}/${PLUGIN}/vlc2iptv ${PREFIX}/etc/vdr/plugins/${PLUGIN}; \ X fi X @${INSTALL_SCRIPT} ${WRKSRC}/${PLUGIN}/webcam.sh ${PREFIX}/etc/vdr/plugins/${PLUGIN}/webcam.sh.sample X @if [ ! -f ${PREFIX}/etc/vdr/plugins/${PLUGIN}/webcam.sh ]; then \ X ${INSTALL_SCRIPT} ${WRKSRC}/${PLUGIN}/webcam.sh ${PREFIX}/etc/vdr/plugins/${PLUGIN}; \ X fi X.if !defined(NOPORTEXAMPLES) X ${MKDIR} ${EXAMPLESDIR} X ${INSTALL_DATA} ${FILESDIR}/channels.conf.iptv ${EXAMPLESDIR} X.endif X.if !defined(NOPORTDOCS) X ${MKDIR} ${DOCSDIR} X (cd ${WRKSRC} && ${INSTALL_DATA} ${PORTDOCS} ${DOCSDIR}) X.endif X X.include 6b15db0e5ffe52810be866ce3e01915e echo x - multimedia/vdr-plugin-iptv/distinfo sed 's/^X//' >multimedia/vdr-plugin-iptv/distinfo << 'b28c6ed3a1b2c480be029aa2cd598b04' XSHA256 (vdr/vdr-iptv-0.5.0.tgz) = 83ad8d4117fb8d46ee290aaabccc62bd8e143ffbc9f6a5d6328449de8b5a13cf XSIZE (vdr/vdr-iptv-0.5.0.tgz) = 49178 b28c6ed3a1b2c480be029aa2cd598b04 echo x - multimedia/vdr-plugin-iptv/pkg-descr sed 's/^X//' >multimedia/vdr-plugin-iptv/pkg-descr << '38543b9cd0cdc8669b3be7ca6969320e' XThis is an IPTV plugin for the Video Disk Recorder (VDR). X XThis plugin integrates multicast IPTV transport streams seamlessly into XVDR. You can use any IPTV channel like any other normal DVB channel for Xlive viewing, recording, etc. The plugin also features full section Xfiltering capabilities which allow for example EIT information to be Xextracted from the incoming stream. X XCurrently the IPTV plugin has direct support for both multicast UDP/RTP Xand unicast HTTP MPEG1/2 transport streams. Also a file input method is Xsupported, but a file delay must be selected individually to prevent XVDR's transfer buffer over/underflow. Therefore the file input should be Xconsidered as a testing feature only. X XIPTV plugin also features a support for external streaming applications. XWith proper helper applications and configuration IPTV plugin is able to Xdisplay not only MPEG1/2 transport streams but also other formats like XMP3 radio streams, mms video streams and so on. X XWWW: http://www.saunalahti.fi/~rahrenbe/vdr/iptv/ 38543b9cd0cdc8669b3be7ca6969320e echo x - multimedia/vdr-plugin-iptv/pkg-plist sed 's/^X//' >multimedia/vdr-plugin-iptv/pkg-plist << 'f2ba44755bcf0fb08350b414d96d3777' Xlib/vdr/libvdr-iptv.so.%%APIVERSION%% X@unexec if cmp -s %D/etc/vdr/plugins/iptv/image.sh.sample %D/etc/vdr/plugins/iptv/image.sh; then rm -f %D/etc/vdr/plugins/iptv/image.sh; fi Xetc/vdr/plugins/iptv/image.sh.sample X@exec if [ ! -f %D/etc/vdr/plugins/iptv/image.sh ] ; then cp -p %D/%F %B/image.sh; fi X@unexec if cmp -s %D/etc/vdr/plugins/iptv/internetradio.sh.sample %D/etc/vdr/plugins/iptv/internetradio.sh; then rm -f %D/etc/vdr/plugins/iptv/internetradio.sh; fi Xetc/vdr/plugins/iptv/internetradio.sh.sample X@exec if [ ! -f %D/etc/vdr/plugins/iptv/internetradio.sh ] ; then cp -p %D/%F %B/internetradio.sh; fi X@unexec if cmp -s %D/etc/vdr/plugins/iptv/iptvstream-notrap.sh.sample %D/etc/vdr/plugins/iptv/iptvstream-notrap.sh; then rm -f %D/etc/vdr/plugins/iptv/iptvstream-notrap.sh; fi Xetc/vdr/plugins/iptv/iptvstream-notrap.sh.sample X@exec if [ ! -f %D/etc/vdr/plugins/iptv/iptvstream-notrap.sh ] ; then cp -p %D/%F %B/iptvstream-notrap.sh; fi X@unexec if cmp -s %D/etc/vdr/plugins/iptv/iptvstream.sh.sample %D/etc/vdr/plugins/iptv/iptvstream.sh; then rm -f %D/etc/vdr/plugins/iptv/iptvstream.sh; fi Xetc/vdr/plugins/iptv/iptvstream.sh.sample X@exec if [ ! -f %D/etc/vdr/plugins/iptv/iptvstream.sh ] ; then cp -p %D/%F %B/iptvstream.sh; fi X@unexec if cmp -s %D/etc/vdr/plugins/iptv/linein.sh.sample %D/etc/vdr/plugins/iptv/linein.sh; then rm -f %D/etc/vdr/plugins/iptv/linein.sh; fi Xetc/vdr/plugins/iptv/linein.sh.sample X@exec if [ ! -f %D/etc/vdr/plugins/iptv/linein.sh ] ; then cp -p %D/%F %B/linein.sh; fi X@unexec if cmp -s %D/etc/vdr/plugins/iptv/vlc2iptv.sample %D/etc/vdr/plugins/iptv/vlc2iptv; then rm -f %D/etc/vdr/plugins/iptv/vlc2iptv; fi Xetc/vdr/plugins/iptv/vlc2iptv.sample X@exec if [ ! -f %D/etc/vdr/plugins/iptv/vlc2iptv ] ; then cp -p %D/%F %B/vlc2iptv; fi X@unexec if cmp -s %D/etc/vdr/plugins/iptv/webcam.sh.sample %D/etc/vdr/plugins/iptv/webcam.sh; then rm -f %D/etc/vdr/plugins/iptv/webcam.sh; fi Xetc/vdr/plugins/iptv/webcam.sh.sample X@exec if [ ! -f %D/etc/vdr/plugins/iptv/webcam.sh ] ; then cp -p %D/%F %B/webcam.sh; fi Xetc/vdr/plugins/iptv/vlcinput/3Sat.conf Xetc/vdr/plugins/iptv/vlcinput/BBC-radio1.conf Xetc/vdr/plugins/iptv/vlcinput/BBC-radio1xtra.conf Xetc/vdr/plugins/iptv/vlcinput/BBC-radio2.conf Xetc/vdr/plugins/iptv/vlcinput/BBC-radio3.conf Xetc/vdr/plugins/iptv/vlcinput/BBC-radio4.conf Xetc/vdr/plugins/iptv/vlcinput/BBC-radio4lw.conf Xetc/vdr/plugins/iptv/vlcinput/BBC-radio5liveint.conf Xetc/vdr/plugins/iptv/vlcinput/BBC-radio5livesport.conf Xetc/vdr/plugins/iptv/vlcinput/BBC-radio6music.conf Xetc/vdr/plugins/iptv/vlcinput/BBC-radio7.conf Xetc/vdr/plugins/iptv/vlcinput/Bundesligen-TV.conf Xetc/vdr/plugins/iptv/vlcinput/Daytona-Beach.conf Xetc/vdr/plugins/iptv/vlcinput/NASA-1200-Kbit.conf Xetc/vdr/plugins/iptv/vlcinput/NASA-500-Kbit.conf Xetc/vdr/plugins/iptv/vlcinput/NASA.conf Xetc/vdr/plugins/iptv/vlcinput/Sky-News.conf Xetc/vdr/plugins/iptv/vlcinput/THE_VOICE.conf X@dirrmtry etc/vdr/plugins/iptv/vlcinput X@dirrmtry etc/vdr/plugins/iptv X%%NLS%%share/locale/de_DE/LC_MESSAGES/vdr-iptv.mo X%%NLS%%share/locale/fi_FI/LC_MESSAGES/vdr-iptv.mo X%%NLS%%share/locale/fr_FR/LC_MESSAGES/vdr-iptv.mo X%%NLS%%share/locale/it_IT/LC_MESSAGES/vdr-iptv.mo X%%NLS%%share/locale/nl_NL/LC_MESSAGES/vdr-iptv.mo X%%NLS%%share/locale/ru_RU/LC_MESSAGES/vdr-iptv.mo f2ba44755bcf0fb08350b414d96d3777 echo x - multimedia/vdr-plugin-iptv/pkg-plist.foo sed 's/^X//' >multimedia/vdr-plugin-iptv/pkg-plist.foo << 'c8803ec0b845cc57bb99459ae426c5d4' Xlib/vdr/libvdr-iptv.so.1.7.15 X@unexec if cmp -s %D/etc/vdr/plugins/streamdev/image.sh.sample %D/etc/vdr/plugins/streamdev/image.sh; then rm -f %D/etc/vdr/plugins/streamdev/image.sh; fi Xetc/vdr/plugins/streamdev/image.sh.sample X@exec if [ ! -f %D/etc/vdr/plugins/streamdev/image.sh ] ; then cp -p %D/%F %B/image.sh; fi X@unexec if cmp -s %D/etc/vdr/plugins/streamdev/internetradio.sh.sample %D/etc/vdr/plugins/streamdev/internetradio.sh; then rm -f %D/etc/vdr/plugins/streamdev/internetradio.sh; fi Xetc/vdr/plugins/streamdev/internetradio.sh.sample X@exec if [ ! -f %D/etc/vdr/plugins/streamdev/iptvstream-notrap.sh ] ; then cp -p %D/%F %B/iptvstream-notrap.sh; fi X@unexec if cmp -s %D/etc/vdr/plugins/streamdev/iptvstream-notrap.sh.sample %D/etc/vdr/plugins/streamdev/iptvstream-notrap.sh; then rm -f %D/etc/vdr/plugins/streamdev/iptvstream-notrap.sh; fi Xetc/vdr/plugins/streamdev/iptvstream-notrap.sh.sample X@exec if [ ! -f %D/etc/vdr/plugins/streamdev/iptvstream.sh ] ; then cp -p %D/%F %B/iptvstream.sh; fi X@unexec if cmp -s %D/etc/vdr/plugins/streamdev/iptvstream.sh.sample %D/etc/vdr/plugins/streamdev/iptvstream.sh; then rm -f %D/etc/vdr/plugins/streamdev/iptvstream.sh; fi Xetc/vdr/plugins/streamdev/iptvstream.sh.sample X@exec if [ ! -f %D/etc/vdr/plugins/streamdev/linein.sh ] ; then cp -p %D/%F %B/linein.sh; fi X@unexec if cmp -s %D/etc/vdr/plugins/streamdev/linein.sh.sample %D/etc/vdr/plugins/streamdev/linein.sh; then rm -f %D/etc/vdr/plugins/streamdev/linein.sh; fi Xetc/vdr/plugins/streamdev/linein.sh.sample X@exec if [ ! -f %D/etc/vdr/plugins/streamdev/vlc2iptv.sh ] ; then cp -p %D/%F %B/vlc2iptv.sh; fi X@unexec if cmp -s %D/etc/vdr/plugins/streamdev/vlc2iptv.sh.sample %D/etc/vdr/plugins/streamdev/vlc2iptv.sh; then rm -f %D/etc/vdr/plugins/streamdev/vlc2iptv.sh; fi Xetc/vdr/plugins/streamdev/vlc2iptv.sh.sample X@exec if [ ! -f %D/etc/vdr/plugins/streamdev/webcam.sh ] ; then cp -p %D/%F %B/webcam.sh; fi X@unexec if cmp -s %D/etc/vdr/plugins/streamdev/webcam.sh.sample %D/etc/vdr/plugins/streamdev/webcam.sh; then rm -f %D/etc/vdr/plugins/streamdev/webcam.sh; fi Xetc/vdr/plugins/streamdev/webcam.sh.sample X@exec if [ ! -f %D/etc/vdr/plugins/streamdev/externremux.sh ] ; then cp -p %D/%F %B/externremux.sh; fi c8803ec0b845cc57bb99459ae426c5d4 echo c - multimedia/vdr-plugin-iptv/files/ mkdir -p multimedia/vdr-plugin-iptv/files/ > /dev/null 2>&1 echo x - multimedia/vdr-plugin-iptv/files/channels.conf.iptv sed 's/^X//' >multimedia/vdr-plugin-iptv/files/channels.conf.iptv << '88ccbc9d59d6673cf8e39debb829b047' X:@950 iptv-plugin XBBC-radio1;IPTV:2010:S=0|P=0|F=EXT|U=vlc2iptv|A=2010:I:0:0:6=eng@3:0:0:1:0:0:0 XBBC-radio1xtra;IPTV:2020:S=0|P=0|F=EXT|U=vlc2iptv|A=2020:I:0:0:6=eng@3:0:0:1:0:0:0 XBBC-radio2;IPTV:2030:S=0|P=0|F=EXT|U=vlc2iptv|A=2030:I:0:0:6=eng@3:0:0:1:0:0:0 XBBC-radio3;IPTV:2040:S=0|P=0|F=EXT|U=vlc2iptv|A=2040:I:0:0:6=eng@3:0:0:1:0:0:0 XBBC-radio4;IPTV:2050:S=0|P=0|F=EXT|U=vlc2iptv|A=2050:I:0:5=2:6=eng@3:0:0:1:0:0:0 XBBC-radio4lw;IPTV:2060:S=0|P=0|F=EXT|U=vlc2iptv|A=2060:I:0:0:6=eng@3:0:0:1:0:0:0 XBBC-radio5liveint;IPTV:2070:S=0|P=0|F=EXT|U=vlc2iptv|A=2070:I:0:0:6=eng@3:0:0:1:0:0:0 XBBC-radio5livesport;IPTV:2080:S=0|P=0|F=EXT|U=vlc2iptv|A=2080:I:0:5=2:6=eng@3:0:0:1:0:0:0 XBBC-radio6music;IPTV:2090:S=0|P=0|F=EXT|U=vlc2iptv|A=2090:I:0:0:6=eng@3:0:0:1:0:0:0 XBBC-radio7;IPTV:2100:S=0|P=0|F=EXT|U=vlc2iptv|A=2100:I:0:5=2:6=eng@3:0:0:1:0:0:0 XTHE_VOICE;IPTV:3010:S=0|P=0|F=EXT|U=vlc2iptv|A=3010:I:0:0:6=eng@3:0:0:1:0:0:0 X3Sat;IPTV:3020:S=0|P=0|F=EXT|U=vlc2iptv|A=3020:I:0:2=2:3=@4:0:0:7:0:0:0 XSky-News;IPTV:3030:S=0|P=0|F=EXT|U=vlc2iptv|A=3030:I:0:5=2:6=eng@3:0:0:1:0:0:0 XNASA;IPTV:4010:S=0|P=0|F=EXT|U=vlc2iptv|A=4010:I:0:5=2:6=eng@3:0:0:1:0:0:0 XNASA-500-Kbit;IPTV:4020:S=0|P=0|F=EXT|U=vlc2iptv|A=4020:I:0:5=2:6=eng@3:0:0:1:0:0:0 XNASA-1200-Kbit;IPTV:4030:S=0|P=0|F=EXT|U=vlc2iptv|A=4030:I:0:5=2:6=eng@3:0:0:1:0:0:0 88ccbc9d59d6673cf8e39debb829b047 echo x - multimedia/vdr-plugin-iptv/files/patch-Makefile sed 's/^X//' >multimedia/vdr-plugin-iptv/files/patch-Makefile << '1ce57ceca283615761fb13327cab8087' X--- a/Makefile X+++ b/Makefile X@@ -50,7 +50,8 @@ PACKAGE = vdr-$(ARCHIVE) X X ### Includes and Defines (add further entries here): X X-INCLUDES += -I$(VDRDIR)/include X+#INCLUDES += -I$(VDRDIR)/include X+INCLUDES += -I$(VDRDIR) X X DEFINES += -D_GNU_SOURCE -DPLUGIN_NAME_I18N='"$(PLUGIN)"' X X@@ -117,7 +118,11 @@ libvdr-$(PLUGIN).so: $(OBJS) X ifndef IPTV_DEBUG X @$(STRIP) $@ X endif X+ifdef FREEBSD X+ @cp -f $@ $(LIBDIR)/$@.$(APIVERSION) X+else X @cp --remove-destination $@ $(LIBDIR)/$@.$(APIVERSION) X+endif X X dist: clean X @-rm -rf $(TMPDIR)/$(ARCHIVE) X@@ -129,3 +134,6 @@ dist: clean X X clean: X @-rm -f $(OBJS) $(DEPFILE) *.so *.tgz core* *~ $(PODIR)/*.mo $(PODIR)/*.pot X+ X+install: X+ ${INSTALL_PROGRAM} $(LIBDIR)/libvdr-$(PLUGIN).so.$(APIVERSION) $(PREFIX)/lib/vdr/libvdr-$(PLUGIN).so.$(APIVERSION) 1ce57ceca283615761fb13327cab8087 echo x - multimedia/vdr-plugin-iptv/files/patch-common.h sed 's/^X//' >multimedia/vdr-plugin-iptv/files/patch-common.h << 'f75f739376fc7e5a11124e838574c86b' X--- a/common.h X+++ b/common.h X@@ -36,6 +36,7 @@ X X #define SECTION_FILTER_TABLE_SIZE 7 X X+#ifndef __FreeBSD__ X #define ERROR_IF_FUNC(exp, errstr, func, ret) \ X do { \ X if (exp) { \ X@@ -45,6 +46,18 @@ X ret; \ X } \ X } while (0) X+#else X+#define ERROR_IF_FUNC(exp, errstr, func, ret) \ X+ do { \ X+ if (exp) { \ X+ char tmp[64]; \ X+ strerror_r(errno, tmp, sizeof(tmp)); \ X+ error(errstr": %s", tmp); \ X+ func; \ X+ ret; \ X+ } \ X+ } while (0) X+#endif X X X #define ERROR_IF_RET(exp, errstr, ret) ERROR_IF_FUNC(exp, errstr, ,ret); f75f739376fc7e5a11124e838574c86b echo x - multimedia/vdr-plugin-iptv/files/patch-iptv-vlc2iptv sed 's/^X//' >multimedia/vdr-plugin-iptv/files/patch-iptv-vlc2iptv << 'c75137bfb802c75c93a7cd463cd2d3be' X--- a/iptv/vlc2iptv X+++ b/iptv/vlc2iptv X@@ -29,6 +29,8 @@ CHANNELS_CONF=/usr/local/etc/vdr/channel X CHANNEL_SETTINGS_DIR=/usr/local/etc/vdr/plugins/iptv/vlcinput/ X VIDEO_BITRATE=2400 X AUDIO_BITRATE=320 X+AUDIO_CODEC=mpga X+VIDEO_CODEC=mp2v X X # X # X@@ -88,13 +90,6 @@ else X RESIZE_OPTIONS="" X fi X X-vlc "${URL}" \ X- --sout "#transcode{vcodec=mp2v$RESIZE_OPTIONS,acodec=mpga,vb=${VIDEO_BITRATE},ab=${AUDIO_BITRATE}}:standard{access=udp,mux=ts{pid-video=${VPID},pid-audio=${APID},pid-spu=${SPID}},dst=127.0.0.1:${PORT}}" \ X- --intf dummy & X- X-PID=${!} X- X-trap 'kill -INT ${PID} 2> /dev/null' INT EXIT QUIT TERM X- X-# Waiting for the given PID to terminate X-wait ${PID} X+exec vlc "${URL}" \ X+ --sout "#transcode{vcodec=$VIDEO_CODEC$RESIZE_OPTIONS,acodec=$AUDIO_CODEC,vb=${VIDEO_BITRATE},ab=${AUDIO_BITRATE}}:standard{access=udp,mux=ts{pid-video=${VPID},pid-audio=${APID},pid-spu=${SPID}},dst=127.0.0.1:${PORT}}" \ X+ --intf dummy c75137bfb802c75c93a7cd463cd2d3be echo x - multimedia/vdr-plugin-iptv/files/patch-protocolext.c sed 's/^X//' >multimedia/vdr-plugin-iptv/files/patch-protocolext.c << '51d158278b2b5d743bb945f3ba60ec05' X--- a/protocolext.c X+++ b/protocolext.c X@@ -55,10 +55,17 @@ void cIptvProtocolExt::ExecuteScript(voi X // Execute the external script X cString cmd = cString::sprintf("%s %d %d", *scriptFile, scriptParameter, socketPort); X debug("cIptvProtocolExt::ExecuteScript(child): %s\n", *cmd); X+#ifdef linux X if (execl("/bin/bash", "sh", "-c", *cmd, (char *)NULL) == -1) { X error("Script execution failed: %s", *cmd); X _exit(-1); X } X+#else X+ if (execl("/bin/sh", "sh", "-c", *cmd, (char *)NULL) == -1) { X+ error("Script execution failed: %s", *cmd); X+ _exit(-1); X+ } X+#endif X _exit(0); X } X else { X@@ -86,6 +93,7 @@ void cIptvProtocolExt::TerminateScript(v X error("Script '%s' won't terminate - killing it!", *scriptFile); X kill(pid, SIGKILL); X } X+#ifdef linux X // Clear wait status to make sure child exit status is accessible X memset(&waitStatus, '\0', sizeof(waitStatus)); X // Wait for child termination X@@ -98,6 +106,17 @@ void cIptvProtocolExt::TerminateScript(v X debug("Child (%d) exited as expected\n", pid); X waitOver = true; X } X+#else X+ int status = 0; X+ retval = waitpid(pid, &status, (WNOHANG)); X+ ERROR_IF_RET(retval < 0, "waitid()", waitOver = true); X+ // These are the acceptable conditions under which child exit is X+ // regarded as successful X+ if (!retval && (WIFEXITED(status) || WIFSIGNALED(status))) { X+ debug("Child (%d) exited as expected\n", pid); X+ waitOver = true; X+ } X+#endif X // Unsuccessful wait, avoid busy looping X if (!waitOver) X cCondWait::SleepMs(timeoutms); 51d158278b2b5d743bb945f3ba60ec05 echo x - multimedia/vdr-plugin-iptv/files/patch-sectionfilter.h sed 's/^X//' >multimedia/vdr-plugin-iptv/files/patch-sectionfilter.h << '29592d5b1a4ba9567a67053cfde327a2' X--- a/sectionfilter.h X+++ b/sectionfilter.h X@@ -9,6 +9,7 @@ X #define __IPTV_SECTIONFILTER_H X X #include X+#include X X #include "common.h" X #include "statistics.h" 29592d5b1a4ba9567a67053cfde327a2 echo x - multimedia/vdr-plugin-iptv/files/patch-socket.c sed 's/^X//' >multimedia/vdr-plugin-iptv/files/patch-socket.c << 'ef43b79b1476c928cf7e81828079253b' X--- a/socket.c X+++ b/socket.c X@@ -57,9 +57,11 @@ bool cIptvSocket::OpenSocket(const int P X // Allow multiple sockets to use the same PORT number X ERROR_IF_FUNC(setsockopt(socketDesc, SOL_SOCKET, SO_REUSEADDR, &yes, sizeof(yes)) < 0, "setsockopt(SO_REUSEADDR)", X CloseSocket(), return false); X+#ifndef __FreeBSD__ X // Allow packet information to be fetched X ERROR_IF_FUNC(setsockopt(socketDesc, SOL_IP, IP_PKTINFO, &yes, sizeof(yes)) < 0, "setsockopt(IP_PKTINFO)", X CloseSocket(), return false); X+#endif X // Bind socket X memset(&sockAddr, '\0', sizeof(sockAddr)); X sockAddr.sin_family = AF_INET; X@@ -180,6 +182,7 @@ int cIptvUdpSocket::Read(unsigned char* X } X else if (len > 0) { X // Process auxiliary received data and validate source address X+#ifndef __FreeBSD__ X for (cmsg = CMSG_FIRSTHDR(&msgh); (sourceAddr != INADDR_ANY) && (cmsg != NULL); cmsg = CMSG_NXTHDR(&msgh, cmsg)) { X if ((cmsg->cmsg_level == SOL_IP) && (cmsg->cmsg_type == IP_PKTINFO)) { X struct in_pktinfo *i = (struct in_pktinfo *)CMSG_DATA(cmsg); X@@ -189,6 +192,7 @@ int cIptvUdpSocket::Read(unsigned char* X } X } X } X+#endif X if (BufferAddr[0] == TS_SYNC_BYTE) X return len; X else if (len > 3) { ef43b79b1476c928cf7e81828079253b echo x - multimedia/vdr-plugin-iptv/files/patch-socket.h sed 's/^X//' >multimedia/vdr-plugin-iptv/files/patch-socket.h << 'b3af25ced7ddb244b1c460080282f5a3' X--- a/socket.h X+++ b/socket.h X@@ -9,6 +9,7 @@ X #define __IPTV_SOCKET_H X X #include X+#include X X class cIptvSocket { X protected: b3af25ced7ddb244b1c460080282f5a3 echo c - multimedia/vdr-plugin-iptv/files/vlcinput/ mkdir -p multimedia/vdr-plugin-iptv/files/vlcinput/ > /dev/null 2>&1 echo x - multimedia/vdr-plugin-iptv/files/vlcinput/3Sat.conf sed 's/^X//' >multimedia/vdr-plugin-iptv/files/vlcinput/3Sat.conf << '483d3d9d437888e1df80cf66af8f8825' XURL="http://wstreaming.zdf.de/encoder/3sat_h.asx" 483d3d9d437888e1df80cf66af8f8825 echo x - multimedia/vdr-plugin-iptv/files/vlcinput/BBC-radio1.conf sed 's/^X//' >multimedia/vdr-plugin-iptv/files/vlcinput/BBC-radio1.conf << '7b38685829f8eee091ed7621fd75fb84' X# see: X# http://faq.external.bbc.co.uk/questions/radio/online_radiohowto XURL="http://www.bbc.co.uk/radio/listen/live/r1.asx" 7b38685829f8eee091ed7621fd75fb84 echo x - multimedia/vdr-plugin-iptv/files/vlcinput/BBC-radio1xtra.conf sed 's/^X//' >multimedia/vdr-plugin-iptv/files/vlcinput/BBC-radio1xtra.conf << 'ecae03e0b2a73d24c5983b2dfdd3a540' X# see: X# http://faq.external.bbc.co.uk/questions/radio/online_radiohowto XURL="http://www.bbc.co.uk/radio/listen/live/r1x.asx" ecae03e0b2a73d24c5983b2dfdd3a540 echo x - multimedia/vdr-plugin-iptv/files/vlcinput/BBC-radio2.conf sed 's/^X//' >multimedia/vdr-plugin-iptv/files/vlcinput/BBC-radio2.conf << '066ff9e1594030f36945ce2a3b8482d6' X# see: X# http://faq.external.bbc.co.uk/questions/radio/online_radiohowto XURL="http://www.bbc.co.uk/radio/listen/live/r2.asx" 066ff9e1594030f36945ce2a3b8482d6 echo x - multimedia/vdr-plugin-iptv/files/vlcinput/BBC-radio3.conf sed 's/^X//' >multimedia/vdr-plugin-iptv/files/vlcinput/BBC-radio3.conf << 'fabcb5c31a72cd5c5a9013de113fd67d' X# see: X# http://faq.external.bbc.co.uk/questions/radio/online_radiohowto XURL="http://www.bbc.co.uk/radio/listen/live/r3.asx" fabcb5c31a72cd5c5a9013de113fd67d echo x - multimedia/vdr-plugin-iptv/files/vlcinput/BBC-radio4.conf sed 's/^X//' >multimedia/vdr-plugin-iptv/files/vlcinput/BBC-radio4.conf << '5a0b0aa5d4248833dd2f75db47a633b0' X# see: X# http://faq.external.bbc.co.uk/questions/radio/online_radiohowto XURL="http://www.bbc.co.uk/radio/listen/live/r4.asx" 5a0b0aa5d4248833dd2f75db47a633b0 echo x - multimedia/vdr-plugin-iptv/files/vlcinput/BBC-radio4lw.conf sed 's/^X//' >multimedia/vdr-plugin-iptv/files/vlcinput/BBC-radio4lw.conf << '05b043960baaa7a83f610c7ac4208496' X# see: X# http://faq.external.bbc.co.uk/questions/radio/online_radiohowto XURL="http://www.bbc.co.uk/radio/listen/live/r4lw.asx" 05b043960baaa7a83f610c7ac4208496 echo x - multimedia/vdr-plugin-iptv/files/vlcinput/BBC-radio5liveint.conf sed 's/^X//' >multimedia/vdr-plugin-iptv/files/vlcinput/BBC-radio5liveint.conf << '1b03b6dcfaa912453a557597d9c12afa' X# see: X# http://faq.external.bbc.co.uk/questions/radio/online_radiohowto XURL="http://www.bbc.co.uk/fivelive/live/live_int.asx" 1b03b6dcfaa912453a557597d9c12afa echo x - multimedia/vdr-plugin-iptv/files/vlcinput/BBC-radio5livesport.conf sed 's/^X//' >multimedia/vdr-plugin-iptv/files/vlcinput/BBC-radio5livesport.conf << '5de5428a9c4ef02800fbe2f4723e15b1' X# see: X# http://faq.external.bbc.co.uk/questions/radio/online_radiohowto XURL="http://www.bbc.co.uk/radio/listen/live/r5lsp.asx" 5de5428a9c4ef02800fbe2f4723e15b1 echo x - multimedia/vdr-plugin-iptv/files/vlcinput/BBC-radio6music.conf sed 's/^X//' >multimedia/vdr-plugin-iptv/files/vlcinput/BBC-radio6music.conf << '1c7c8cd9e729fe67d2c07573610c96f7' X# see: X# http://faq.external.bbc.co.uk/questions/radio/online_radiohowto XURL="http://www.bbc.co.uk/radio/listen/live/r6.asx" 1c7c8cd9e729fe67d2c07573610c96f7 echo x - multimedia/vdr-plugin-iptv/files/vlcinput/BBC-radio7.conf sed 's/^X//' >multimedia/vdr-plugin-iptv/files/vlcinput/BBC-radio7.conf << '2035200f571550b91505946470860642' X# see: X# http://faq.external.bbc.co.uk/questions/radio/online_radiohowto XURL="http://www.bbc.co.uk/radio/listen/live/r7.asx" 2035200f571550b91505946470860642 echo x - multimedia/vdr-plugin-iptv/files/vlcinput/Bundesligen-TV.conf sed 's/^X//' >multimedia/vdr-plugin-iptv/files/vlcinput/Bundesligen-TV.conf << '534bb0162121b9543fd100ab67074913' XURL="http://www.bundesligen-tv.com/act_stream.aspx?sender_id=31" 534bb0162121b9543fd100ab67074913 echo x - multimedia/vdr-plugin-iptv/files/vlcinput/Daytona-Beach.conf sed 's/^X//' >multimedia/vdr-plugin-iptv/files/vlcinput/Daytona-Beach.conf << '4266c3b00c73e800a7fe7aa0ddcbc9cb' XURL="rtsp://real.prohosting.com/encoder/daytona.rm" 4266c3b00c73e800a7fe7aa0ddcbc9cb echo x - multimedia/vdr-plugin-iptv/files/vlcinput/NASA-1200-Kbit.conf sed 's/^X//' >multimedia/vdr-plugin-iptv/files/vlcinput/NASA-1200-Kbit.conf << '335bd88745069e48264e497b1470393a' XURL="http://playlist.yahoo.com/makeplaylist.dll?id=1368163" XVIDEO_CODEC=mp2v,fps=30 XAUDIO_BITRATE=128 335bd88745069e48264e497b1470393a echo x - multimedia/vdr-plugin-iptv/files/vlcinput/NASA-500-Kbit.conf sed 's/^X//' >multimedia/vdr-plugin-iptv/files/vlcinput/NASA-500-Kbit.conf << '80400b1fdad4d1874e44a92c9b5546ec' XURL="http://playlist.yahoo.com/makeplaylist.dll?id=1368570" XVIDEO_CODEC=mp2v,fps=30 XAUDIO_BITRATE=128 80400b1fdad4d1874e44a92c9b5546ec echo x - multimedia/vdr-plugin-iptv/files/vlcinput/NASA.conf sed 's/^X//' >multimedia/vdr-plugin-iptv/files/vlcinput/NASA.conf << '4359a8d154b945795170b6387bb32ee1' XURL="http://www.nasa.gov/55644main_NASATV_Windows.asx" XVIDEO_CODEC=mp2v,fps=25 XAUDIO_BITRATE=128 4359a8d154b945795170b6387bb32ee1 echo x - multimedia/vdr-plugin-iptv/files/vlcinput/Sky-News.conf sed 's/^X//' >multimedia/vdr-plugin-iptv/files/vlcinput/Sky-News.conf << 'd08c57cc39790db32f7f6e478d6582d5' XURL="mms://live1.wm.skynews.servecast.net/skynews_wmlz_live300k" XVIDEO_CODEC=mp2v,fps=30 d08c57cc39790db32f7f6e478d6582d5 echo x - multimedia/vdr-plugin-iptv/files/vlcinput/THE_VOICE.conf sed 's/^X//' >multimedia/vdr-plugin-iptv/files/vlcinput/THE_VOICE.conf << '0272b1b7bb2d21e2b5ceec0430195c48' XURL="mms://62.41.56.32/PUBLIC_votv_fi" 0272b1b7bb2d21e2b5ceec0430195c48 echo c - multimedia/vdr-plugin-markad/ mkdir -p multimedia/vdr-plugin-markad/ > /dev/null 2>&1 echo x - multimedia/vdr-plugin-markad/Makefile sed 's/^X//' >multimedia/vdr-plugin-markad/Makefile << '1e1ea03913da39083f581213bae9c4c4' X# New ports collection makefile for: vdr-plugin-markad X# Date created: Wed Mar 30 22:35:19 CEST 2011 X# Whom: Juergen Lock X# X# $FreeBSD: ports/multimedia/vdr-plugin-markad/Makefile,v 1.10 2012/02/16 15:57:20 ashish Exp $ X# X XPORTNAME= vdr-plugin-markad XPORTVERSION= 0.1.2 XPORTREVISION= 10 XCATEGORIES= multimedia XMASTER_SITES= http://projects.vdr-developer.org/attachments/download/578/ XDISTNAME= ${PORTNAME:S/-plugin-/-/}-${DISTVERSIONPREFIX}${DISTVERSION}${DISTVERSIONSUFFIX} XEXTRACT_SUFX= .tgz X XMAINTAINER= nox@FreeBSD.org XCOMMENT= Video Disk Recorder - MarkAd plugin X XLIB_DEPENDS+= avcodec:${PORTSDIR}/multimedia/ffmpeg \ X execinfo.1:${PORTSDIR}/devel/libexecinfo X XPATCH_STRIP= -p1 XHAVE_CONFIGURE= yes XPORTDOCS= COPYING README XPORTDATA= logos XMAKE_JOBS_SAFE= yes XWRKSRC= ${WRKDIR}/${PLUGIN}-${DISTVERSION} XVDR_PLUGIN_MAKEFILES= ${WRKSRC}/command/Makefile ${WRKSRC}/plugin/Makefile XDEFINES+= -DDATADIR=\\\"${DATADIR}\\\" -DPREFIX=\\\"${PREFIX}\\\" XMAKE_ARGS+= DATADIR=${DATADIR} FREEBSD=1 XMAKE_ENV+= DEFINES="${DEFINES}" X XRESTRICTED= installs station logos X X.include X X.include "${.CURDIR}/../vdr/Makefile.plugins" X X.if ${OSVERSION} < 800000 XIGNORE= needs getline(3) X.endif X X# for libexecinfo: (so that __builtin_frame_address() finds the top X# of the stack) X.if ${ARCH} == "amd64" XCFLAGS+= -fno-omit-frame-pointer XCPPFLAGS+= -fno-omit-frame-pointer X.endif X Xpost-patch: post-patch-plugin X @${LN} -s ../lib ../locale ${WRKSRC} X Xpost-install: post-install-pluginlocales X.if !defined(NOPORTDOCS) X ${MKDIR} ${DOCSDIR} X (cd ${WRKSRC} && ${INSTALL_DATA} ${PORTDOCS} ${DOCSDIR}) X.endif X X.include 1e1ea03913da39083f581213bae9c4c4 echo x - multimedia/vdr-plugin-markad/distinfo sed 's/^X//' >multimedia/vdr-plugin-markad/distinfo << '41561aa21a2e92efea22f814ef553a62' XSHA256 (vdr/vdr-markad-0.1.2.tgz) = ca2b855435a11b8bd814e031cca3f37fdd8da866d8b7eec889d1a624c5861d6b XSIZE (vdr/vdr-markad-0.1.2.tgz) = 100832 41561aa21a2e92efea22f814ef553a62 echo x - multimedia/vdr-plugin-markad/pkg-descr sed 's/^X//' >multimedia/vdr-plugin-markad/pkg-descr << '9fb6b049137431e5e9be89063fb69b76' Xhttp://www.vdr-wiki.de/wiki/index.php/Markad-plugin X XMarkAd marks advertisements in VDR recordings. X XWWW: http://projects.vdr-developer.org/projects/plg-markad 9fb6b049137431e5e9be89063fb69b76 echo x - multimedia/vdr-plugin-markad/pkg-plist sed 's/^X//' >multimedia/vdr-plugin-markad/pkg-plist << '15f205ae5dbc012e1504af91ec363a5b' Xbin/markad Xlib/vdr/libvdr-markad.so.%%APIVERSION%% X%%NLS%%share/locale/de_DE/LC_MESSAGES/vdr-markad.mo X%%NLS%%share/locale/es_ES/LC_MESSAGES/vdr-markad.mo X%%NLS%%share/locale/fi_FI/LC_MESSAGES/vdr-markad.mo X%%NLS%%share/locale/it_IT/LC_MESSAGES/vdr-markad.mo X%%NLS%%share/locale/sk_SK/LC_MESSAGES/vdr-markad.mo X%%NLS%%share/locale/cs_CZ/LC_MESSAGES/markad.mo X%%NLS%%share/locale/de_DE/LC_MESSAGES/markad.mo X%%NLS%%share/locale/fi_FI/LC_MESSAGES/markad.mo X%%NLS%%share/locale/it_IT/LC_MESSAGES/markad.mo X%%NLS%%share/locale/sk_SK/LC_MESSAGES/markad.mo 15f205ae5dbc012e1504af91ec363a5b echo c - multimedia/vdr-plugin-markad/files/ mkdir -p multimedia/vdr-plugin-markad/files/ > /dev/null 2>&1 echo x - multimedia/vdr-plugin-markad/files/patch-Makefile sed 's/^X//' >multimedia/vdr-plugin-markad/files/patch-Makefile << '2d26665e337401ba9f0f11ca96ead924' X--- a/Makefile X+++ b/Makefile X@@ -13,10 +13,10 @@ ARCHIVE = markad-$(VERSION) X PACKAGE = vdr-$(ARCHIVE) X X all: X- for i in $(DIRS); do $(MAKE) -C $$i; done X+ for i in $(DIRS); do $(MAKE) -C $$i CC=${CC} CXX=${CXX}; done X X install: X- for i in $(DIRS); do $(MAKE) -C $$i install; done X+ for i in $(DIRS); do $(MAKE) -C $$i CC=${CC} CXX=${CXX} install; done X X dist: X @-rm -rf $(TMPDIR)/$(ARCHIVE) 2d26665e337401ba9f0f11ca96ead924 echo x - multimedia/vdr-plugin-markad/files/patch-command-Makefile sed 's/^X//' >multimedia/vdr-plugin-markad/files/patch-command-Makefile << '2e3e73fa59828584a4d3b44a621209ef' X--- a/command/Makefile X+++ b/command/Makefile X@@ -16,6 +16,10 @@ CXXFLAGS ?= -g -rdynamic -O3 -funroll-lo X PKG-CONFIG ?= pkg-config X STRIP ?= strip X X+ifdef FREEBSD X+LIBS+=-lintl -lexecinfo X+endif X+ X ### Includes and Defines (add further entries here): X X PKG-LIBS += libavcodec libavutil X@@ -88,11 +100,19 @@ markad: $(OBJS) X $(CXX) $(CXXFLAGS) $(OBJS) $(LIBS) -o $@ X X install: markad $(I18Nmsgs) X+ifdef FREEBSD X+ @mkdir -p $(PREFIX)/bin X+ @cp -f markad $(PREFIX)/bin/markad X+ @$(STRIP) $(PREFIX)/bin/markad X+ @mkdir -p $(DATADIR)/logos X+ @cp logos/* $(DATADIR)/logos X+else X @mkdir -p $(DESTDIR)/usr/bin X @cp --remove-destination markad $(DESTDIR)/usr/bin/markad X @$(STRIP) $(DESTDIR)/usr/bin/markad X @mkdir -p $(DESTDIR)/var/lib/markad X @cp logos/* $(DESTDIR)/var/lib/markad X+endif X @echo markad installed X X clean: 2e3e73fa59828584a4d3b44a621209ef echo x - multimedia/vdr-plugin-markad/files/patch-command-decoder.cpp sed 's/^X//' >multimedia/vdr-plugin-markad/files/patch-command-decoder.cpp << '9976213c89cb9af05b0b553c0eeab1ac' X--- a/command/decoder.cpp X+++ b/command/decoder.cpp X@@ -6,7 +6,12 @@ X */ X X #include X+#ifndef __FreeBSD__ X #include X+#else X+#include X+#include X+#endif X #include X #include X #include X@@ -107,6 +112,7 @@ cMarkAdDecoder::cMarkAdDecoder(bool useH X noticeERRMP2=false; X noticeERRAC3=false; X X+#ifndef __FreeBSD__ X cpu_set_t cpumask; X uint len = sizeof(cpumask); X int cpucount; X@@ -118,6 +124,12 @@ cMarkAdDecoder::cMarkAdDecoder(bool useH X { X cpucount=CPU_COUNT(&cpumask); X } X+#else X+ int cpucount; X+ size_t cpus_size = sizeof(cpucount); X+ if (sysctlbyname("hw.ncpu", &cpucount, &cpus_size, NULL, 0) == -1) X+ cpucount = 1; X+#endif X X if (Threads==-1) X { 9976213c89cb9af05b0b553c0eeab1ac echo x - multimedia/vdr-plugin-markad/files/patch-command-markad-standalone.cpp sed 's/^X//' >multimedia/vdr-plugin-markad/files/patch-command-markad-standalone.cpp << '8f804cf0c1b1462562b8c5948b5a1604' X--- a/command/markad-standalone.cpp X+++ b/command/markad-standalone.cpp X@@ -24,7 +24,13 @@ X #include X #include X #include X+#ifndef __FreeBSD__ X #include X+#else X+#include X+#include X+#include X+#endif X #include X #include X #include X@@ -1389,6 +1395,7 @@ bool cMarkAdStandalone::SaveInfo() X time_t cMarkAdStandalone::GetBroadcastStart(time_t start, int fd) X { X // get broadcast start from atime of directory (if the volume is mounted with noatime) X+#ifndef __FreeBSD__ X struct mntent *ent; X struct stat statbuf; X FILE *mounts=setmntent(_PATH_MOUNTED,"r"); X@@ -1415,6 +1422,14 @@ time_t cMarkAdStandalone::GetBroadcastSt X } X } X endmntent(mounts); X+#else X+ struct stat statbuf; X+ struct statfs statfsbuf; X+ bool useatime=false; X+ if ((statfs(directory, &statfsbuf) == 0) && X+ !(statfsbuf.f_flags & MNT_NOATIME)) X+ useatime=true; X+#endif X X if ((useatime) && (stat(directory,&statbuf)!=-1)) X { X@@ -1900,10 +1915,14 @@ bool cMarkAdStandalone::CreatePidfile() X int pid; X if (fscanf(oldpid,"%i\n",&pid)==1) X { X+#ifndef __FreeBSD__ X char procname[256]=""; X snprintf(procname,sizeof(procname),"/proc/%i",pid); X struct stat statbuf; X if (stat(procname,&statbuf)!=-1) X+#else X+ if (kill(pid, 0) == 0) X+#endif X { X // found another, running markad X isyslog("another instance is running on this recording"); X@@ -2212,7 +2231,7 @@ cMarkAdStandalone::~cMarkAdStandalone() X RemovePidfile(); X } X X-bool isnumber(const char *s) X+bool str_isnumber(const char *s) X { X while (*s) X { X@@ -2238,7 +2257,11 @@ int usage(int svdrpport) X " ignores hints from info(.vdr) file\n" X " 4 = ignore timer info\n" X "-l --logocachedir\n" X+#ifdef DATADIR X+ " directory where logos stored, default " DATADIR "/logos\n" X+#else X " directory where logos stored, default /var/lib/markad\n" X+#endif X "-p --priority=\n" X " software priority of markad when running in background\n" X " from -20...19, default 19\n" X@@ -2382,7 +2405,11 @@ int main(int argc, char *argv[]) X config.logoHeight=-1; X config.threads=-1; X strcpy(config.svdrphost,"127.0.0.1"); X+#ifdef DATADIR X+ strcpy(config.logoDirectory,DATADIR "/logos"); X+#else X strcpy(config.logoDirectory,"/var/lib/markad"); X+#endif X X struct servent *serv=getservbyname("svdrp","tcp"); X if (serv) X@@ -2513,7 +2540,7 @@ int main(int argc, char *argv[]) X X case 'p': X // --priority X- if (isnumber(optarg) || *optarg=='-') X+ if (str_isnumber(optarg) || *optarg=='-') X niceLevel = atoi(optarg); X else X { X@@ -2699,7 +2726,7 @@ int main(int argc, char *argv[]) X break; X X case 9: // --svdrpport X- if (isnumber(optarg) && atoi(optarg) > 0 && atoi(optarg) < 65536) X+ if (str_isnumber(optarg) && atoi(optarg) > 0 && atoi(optarg) < 65536) X { X config.svdrpport=atoi(optarg); X } 8f804cf0c1b1462562b8c5948b5a1604 echo x - multimedia/vdr-plugin-markad/files/patch-plugin-Makefile sed 's/^X//' >multimedia/vdr-plugin-markad/files/patch-plugin-Makefile << '8ee074c2c044bc53bf2277dfb0c98fab' X--- a/plugin/Makefile X+++ b/plugin/Makefile X@@ -100,10 +100,15 @@ i18n: $(I18Nmsgs) $(I18Npot) X ### Targets: X X install: X+ ${INSTALL_PROGRAM} $(LIBDIR)/libvdr-$(PLUGIN).so.$(APIVERSION) $(PREFIX)/lib/vdr/libvdr-$(PLUGIN).so.$(APIVERSION) X X libvdr-$(PLUGIN).so: $(OBJS) X $(CXX) $(CXXFLAGS) -shared $(OBJS) $(LIBS) -o $@ X+ifdef FREEBSD X+ @cp -f $@ $(LIBDIR)/$@.$(APIVERSION) X+else X @cp --remove-destination $@ $(LIBDIR)/$@.$(APIVERSION) X+endif X X clean: X @-rm -f $(OBJS) $(DEPFILE) *.so *.so.* *.tgz core* *~ $(PODIR)/*.mo $(PODIR)/*.pot 8ee074c2c044bc53bf2277dfb0c98fab echo x - multimedia/vdr-plugin-markad/files/patch-plugin-markad.cpp sed 's/^X//' >multimedia/vdr-plugin-markad/files/patch-plugin-markad.cpp << '0f006cba082c8b87a0daadc13cf19a29' X--- a/plugin/markad.cpp X+++ b/plugin/markad.cpp X@@ -15,8 +15,16 @@ X X #include "markad.h" X X+#ifdef PREFIX X+#define DEF_BINDIR PREFIX "/bin" X+#else X #define DEF_BINDIR "/usr/bin" X+#endif X+#ifdef DATADIR X+#define DEF_LOGODIR DATADIR "/logos" X+#else X #define DEF_LOGODIR "/var/lib/markad" X+#endif X X cPluginMarkAd::cPluginMarkAd(void) X { 0f006cba082c8b87a0daadc13cf19a29 echo x - multimedia/vdr-plugin-markad/files/patch-plugin-status.cpp sed 's/^X//' >multimedia/vdr-plugin-markad/files/patch-plugin-status.cpp << 'd0260a4143c1826641615f1b07c29573' X--- a/plugin/status.cpp X+++ b/plugin/status.cpp X@@ -6,6 +6,12 @@ X */ X X #include X+#ifdef __FreeBSD__ X+#include X+#include X+#include X+#include X+#endif X X #include "status.h" X X@@ -223,6 +229,7 @@ bool cStatusMarkAd::getStatus(int Positi X if (Position<0) return false; X if (!recs[Position].Pid) return false; X int ret=0; X+#ifndef __FreeBSD__ X char procname[256]=""; X snprintf(procname,sizeof(procname),"/proc/%i/stat",recs[Position].Pid); X FILE *fstat=fopen(procname,"r"); X@@ -242,6 +249,59 @@ bool cStatusMarkAd::getStatus(int Positi X } X } X return (ret==1); X+#else X+ int mib[4] = {CTL_KERN, KERN_PROC, KERN_PROC_PID, recs[Position].Pid}; X+ size_t len = 0; X+ struct kinfo_proc *kipp = NULL; X+ if (sysctl(mib, sizeof(mib)/sizeof(*mib), NULL, &len, NULL, 0) >= 0 && X+ (kipp = (kinfo_proc *)malloc(len)) != NULL && X+ sysctl(mib, sizeof(mib)/sizeof(*mib), kipp, &len, NULL, 0) >= 0 && X+ len == sizeof(*kipp) && kipp->ki_structsize == sizeof(*kipp) && X+ kipp->ki_pid == recs[Position].Pid) { X+ X+ int tdflags = kipp->ki_tdflags; /* XXXKSE */ X+ X+ ret = 1; X+ X+ switch (kipp->ki_stat) { X+ X+ case SSTOP: X+ recs[Position].Status = 'T'; X+ break; X+ X+ case SSLEEP: X+ if (tdflags & TDF_SINTR) /* interruptable (long) */ X+ recs[Position].Status = /* kipp->ki_slptime >= MAXSLP ? 'I' : */ 'S'; X+ else X+ recs[Position].Status = 'D'; X+ break; X+ X+ case SRUN: X+ case SIDL: X+ recs[Position].Status = 'R'; X+ break; X+ X+ case SWAIT: X+ recs[Position].Status = 'W'; X+ break; X+ X+ case SLOCK: X+ recs[Position].Status = 'L'; X+ break; X+ X+ case SZOMB: X+ recs[Position].Status = 'Z'; X+ break; X+ X+ default: X+ recs[Position].Status = '?'; X+ } X+ } else { X+ Remove(Position); X+ } X+ free(kipp); X+ return ret; X+#endif X } X X bool cStatusMarkAd::getPid(int Position) d0260a4143c1826641615f1b07c29573 echo c - multimedia/vdr-plugin-osdpip/ mkdir -p multimedia/vdr-plugin-osdpip/ > /dev/null 2>&1 echo x - multimedia/vdr-plugin-osdpip/Makefile sed 's/^X//' >multimedia/vdr-plugin-osdpip/Makefile << '2b194086a731fd89b36266e1e16f19b3' X# New ports collection makefile for: vdr-plugin-osdpip X# Date created: Wed Apr 14 18:11:42 CEST 2010 X# Whom: Juergen Lock X# X# $FreeBSD: ports/multimedia/vdr-plugin-osdpip/Makefile,v 1.7 2012/02/16 15:57:20 ashish Exp $ X# X XPORTNAME= vdr-plugin-osdpip XPORTVERSION= 0.1.1 XPORTREVISION= 2 XCATEGORIES= multimedia XMASTER_SITES= http://projects.vdr-developer.org/attachments/download/880/ XDISTNAME= ${PORTNAME:S/-plugin-/-/}-${DISTVERSIONPREFIX}${DISTVERSION}${DISTVERSIONSUFFIX} XEXTRACT_SUFX= .tgz X XPATCH_SITES= http://projects.vdr-developer.org/attachments/download/893/ XPATCHFILES= osdpip-vdr-1.7.26.diff X XMAINTAINER= nox@FreeBSD.org XCOMMENT= Video Disk Recorder - picture-in-picture plugin X XLIB_DEPENDS+= avcodec.1:${PORTSDIR}/multimedia/ffmpeg X XDIST_SUBDIR= vdr XPATCH_STRIP= -p1 XPATCH_DIST_STRIP= -p1 XHAVE_CONFIGURE= yes XPORTDOCS= COPYING README XMAKE_JOBS_SAFE= yes XWRKSRC= ${WRKDIR}/${PLUGIN}-${DISTVERSION} X X.include "${.CURDIR}/../vdr/Makefile.plugins" X Xpost-patch: post-patch-plugin X Xpost-install: post-install-pluginlocales X.if !defined(NOPORTDOCS) X ${MKDIR} ${DOCSDIR} X (cd ${WRKSRC} && ${INSTALL_DATA} ${PORTDOCS} ${DOCSDIR}) X.endif X X.include 2b194086a731fd89b36266e1e16f19b3 echo x - multimedia/vdr-plugin-osdpip/distinfo sed 's/^X//' >multimedia/vdr-plugin-osdpip/distinfo << '0a44375604a919c8b73fb56d36ad2afb' XSHA256 (vdr/vdr-osdpip-0.1.1.tgz) = 777f5fd9abbfbf43227c78eb2b363d3bdade2b368425ed78caa836d4c38bfef4 XSIZE (vdr/vdr-osdpip-0.1.1.tgz) = 53272 XSHA256 (vdr/osdpip-vdr-1.7.26.diff) = fa58b9671439b7a5a13d7b3e93b5a7596aecf5169b4400b5bf5a922c90e6132f XSIZE (vdr/osdpip-vdr-1.7.26.diff) = 1057 0a44375604a919c8b73fb56d36ad2afb echo x - multimedia/vdr-plugin-osdpip/pkg-descr sed 's/^X//' >multimedia/vdr-plugin-osdpip/pkg-descr << 'ef26344e3d46e739d1f0b7ec58cb0f7d' Xhttp://www.linuxtv.org/vdrwiki/index.php/Osdpip-plugin X XOSD Picture-in-Picture is a VDR PlugIn that displays the current channel Xin a small box on the screen (default upper right corner). You can switch Xup and down now, watching the progress of the previous channel in the box. XQuality is not too good yet, and only I-Frames are displayed. X XWWW: http://projects.vdr-developer.org/projects/show/plg-osdpip ef26344e3d46e739d1f0b7ec58cb0f7d echo x - multimedia/vdr-plugin-osdpip/pkg-plist sed 's/^X//' >multimedia/vdr-plugin-osdpip/pkg-plist << '966095029adfaad2f6b980ffb21d15f8' Xlib/vdr/libvdr-osdpip.so.%%APIVERSION%% X%%NLS%%share/locale/ca_ES/LC_MESSAGES/vdr-osdpip.mo X%%NLS%%share/locale/cs_CZ/LC_MESSAGES/vdr-osdpip.mo X%%NLS%%share/locale/da_DK/LC_MESSAGES/vdr-osdpip.mo X%%NLS%%share/locale/de_DE/LC_MESSAGES/vdr-osdpip.mo X%%NLS%%share/locale/el_GR/LC_MESSAGES/vdr-osdpip.mo X%%NLS%%share/locale/es_ES/LC_MESSAGES/vdr-osdpip.mo X%%NLS%%share/locale/et_EE/LC_MESSAGES/vdr-osdpip.mo X%%NLS%%share/locale/fi_FI/LC_MESSAGES/vdr-osdpip.mo X%%NLS%%share/locale/fr_FR/LC_MESSAGES/vdr-osdpip.mo X%%NLS%%share/locale/hr_HR/LC_MESSAGES/vdr-osdpip.mo X%%NLS%%share/locale/hu_HU/LC_MESSAGES/vdr-osdpip.mo X%%NLS%%share/locale/it_IT/LC_MESSAGES/vdr-osdpip.mo X%%NLS%%share/locale/nl_NL/LC_MESSAGES/vdr-osdpip.mo X%%NLS%%share/locale/nn_NO/LC_MESSAGES/vdr-osdpip.mo X%%NLS%%share/locale/pl_PL/LC_MESSAGES/vdr-osdpip.mo X%%NLS%%share/locale/pt_PT/LC_MESSAGES/vdr-osdpip.mo X%%NLS%%share/locale/ro_RO/LC_MESSAGES/vdr-osdpip.mo X%%NLS%%share/locale/ru_RU/LC_MESSAGES/vdr-osdpip.mo X%%NLS%%share/locale/sl_SI/LC_MESSAGES/vdr-osdpip.mo X%%NLS%%share/locale/sv_SE/LC_MESSAGES/vdr-osdpip.mo X%%NLS%%share/locale/tr_TR/LC_MESSAGES/vdr-osdpip.mo 966095029adfaad2f6b980ffb21d15f8 echo c - multimedia/vdr-plugin-osdpip/files/ mkdir -p multimedia/vdr-plugin-osdpip/files/ > /dev/null 2>&1 echo x - multimedia/vdr-plugin-osdpip/files/patch-Makefile sed 's/^X//' >multimedia/vdr-plugin-osdpip/files/patch-Makefile << '3889e520ef62ff3b99fc205db685b375' X--- osdpip-0.1.0/Makefile.orig X+++ osdpip-0.1.0/Makefile X@@ -107,7 +107,7 @@ endif X X ### The object files (add further files here): X X-OBJS = $(PLUGIN).o osd_info.o remux.o osd.o receiver.o setup.o i18n.o pes.o quantize.o decoder.o X+OBJS = $(PLUGIN).o osd_info.o remux.o osd.o receiver.o setup.o pes.o quantize.o decoder.o X X ### The main target: X X@@ -171,3 +173,6 @@ dist: clean X X clean: X @-rm -f $(OBJS) $(DEPFILE) *.so *.tgz core* *~ $(PODIR)/*.mo $(PODIR)/*.pot X+ X+install: X+ ${INSTALL_PROGRAM} $(LIBDIR)/libvdr-$(PLUGIN).so.$(APIVERSION) $(PREFIX)/lib/vdr/libvdr-$(PLUGIN).so.$(APIVERSION) 3889e520ef62ff3b99fc205db685b375 echo x - multimedia/vdr-plugin-osdpip/files/patch-i18n.h sed 's/^X//' >multimedia/vdr-plugin-osdpip/files/patch-i18n.h << 'a219fe5e1745c1c7fc45e13186312a79' X--- i18n.h.orig X+++ i18n.h X@@ -28,8 +28,8 @@ X #if (APIVERSNUM < 10507) X #define trNOOP(a) a X #define trVDR tr X-#endif X X extern const tI18nPhrase Phrases[]; X+#endif X X #endif // VDR_OSDPIP_I18N_H a219fe5e1745c1c7fc45e13186312a79 echo x - multimedia/vdr-plugin-osdpip/files/patch-osd.c sed 's/^X//' >multimedia/vdr-plugin-osdpip/files/patch-osd.c << '9116255356fe694980bb0e0ef3d8344f' X--- osd.c.orig X+++ osd.c X@@ -788,7 +788,7 @@ eOSState cOsdPipObject::ProcessKey(eKeys X if (cControl::Control()) X { X cControl::Control()->GetIndex(pos, end); X- if (pPos == "") X+ if (*pPos == '\0') X { X pPos = IndexToHMSF(pos); X } 9116255356fe694980bb0e0ef3d8344f echo x - multimedia/vdr-plugin-osdpip/files/patch-vdr-osdpip-0.1.0 sed 's/^X//' >multimedia/vdr-plugin-osdpip/files/patch-vdr-osdpip-0.1.0 << '5c2140cfb317fc0e3bcf0bf66eb214fe' Xdiff -ur orig/osdpip-0.1.0/Makefile osdpip-0.1.0/Makefile X--- orig/osdpip-0.1.0/Makefile 2010-03-27 16:38:13.000000000 +0100 X+++ osdpip-0.1.0/Makefile 2010-03-29 09:35:59.000000000 +0200 X@@ -155,7 +155,11 @@ X X libvdr-$(PLUGIN).so: $(OBJS) X $(CXX) $(CXXFLAGS) -shared -o $@ $^ $(LIBS) X+ifdef FREEBSD X+ @cp -f $@ $(LIBDIR)/$@.$(APIVERSION) X+else X @cp --remove-destination $@ $(LIBDIR)/$@.$(APIVERSION) X+endif X X dist: clean X @-rm -rf $(TMPDIR)/$(ARCHIVE) 5c2140cfb317fc0e3bcf0bf66eb214fe echo c - multimedia/vdr-plugin-osdteletext/ mkdir -p multimedia/vdr-plugin-osdteletext/ > /dev/null 2>&1 echo x - multimedia/vdr-plugin-osdteletext/Makefile sed 's/^X//' >multimedia/vdr-plugin-osdteletext/Makefile << 'e12b64550985ef89785c8ee7b04f7620' X# New ports collection makefile for: vdr-plugin-osdteletext X# Date created: Wed Apr 14 18:11:42 CEST 2010 X# Whom: Juergen Lock X# X# $FreeBSD: ports/multimedia/vdr-plugin-osdteletext/Makefile,v 1.5 2012/01/21 17:32:51 nox Exp $ X# X XPORTNAME= vdr-plugin-osdteletext XPORTVERSION= 0.9.2 XCATEGORIES= multimedia XMASTER_SITES= http://projects.vdr-developer.org/attachments/download/899/ XDISTNAME= ${PORTNAME:S/-plugin-/-/}-${DISTVERSIONPREFIX}${DISTVERSION}${DISTVERSIONSUFFIX} XEXTRACT_SUFX= .tgz X X#PATCH_SITES= http://projects.vdr-developer.org/attachments/download/901/ X#PATCHFILES= receiver-fix-2.diff X#PATCH_DIST_STRIP= -p1 X XMAINTAINER= nox@FreeBSD.org XCOMMENT= Video Disk Recorder - OSD teletext plugin X XPATCH_STRIP= -p1 XHAVE_CONFIGURE= yes XPORTDOCS= COPYING README XMAKE_JOBS_SAFE= yes XWRKSRC= ${WRKDIR}/${PLUGIN}-${DISTVERSION} X X.include "${.CURDIR}/../vdr/Makefile.plugins" X Xpost-patch: post-patch-plugin X Xpost-install: post-install-pluginlocales X.if !defined(NOPORTDOCS) X ${MKDIR} ${DOCSDIR} X (cd ${WRKSRC} && ${INSTALL_DATA} ${PORTDOCS} ${DOCSDIR}) X.endif X ${INSTALL} -o ${VDR_USER} -g ${VDR_GROUP} -d /var/cache/vdr/vtx X X.include e12b64550985ef89785c8ee7b04f7620 echo x - multimedia/vdr-plugin-osdteletext/distinfo sed 's/^X//' >multimedia/vdr-plugin-osdteletext/distinfo << 'aa9c5716678bc1915113e90355c34826' XSHA256 (vdr/vdr-osdteletext-0.9.2.tgz) = d6c7eee8dc81d0e9499250b3f6540603d8d290d9a1ecbaa4d19092f606662bac XSIZE (vdr/vdr-osdteletext-0.9.2.tgz) = 60028 aa9c5716678bc1915113e90355c34826 echo x - multimedia/vdr-plugin-osdteletext/pkg-descr sed 's/^X//' >multimedia/vdr-plugin-osdteletext/pkg-descr << '2151e628cb94ac5767bc472fd04eb49a' Xhttp://www.linuxtv.org/vdrwiki/index.php/Osdteletext-plugin X XOsd-Teletext displays the teletext directly on VDR's OSD. XBoth sound and video are played in the background. X XWWW: http://projects.vdr-developer.org/projects/show/plg-osdteletext 2151e628cb94ac5767bc472fd04eb49a echo x - multimedia/vdr-plugin-osdteletext/pkg-plist sed 's/^X//' >multimedia/vdr-plugin-osdteletext/pkg-plist << 'ff7a29cdcb85f07ad54c190bbe457e11' Xlib/vdr/libvdr-osdteletext.so.%%APIVERSION%% X@exec /usr/bin/install -o %%VDR_USER%% -g %%VDR_GROUP%% -d /var/cache/vdr/vtx X%%NLS%%share/locale/ca_ES/LC_MESSAGES/vdr-osdteletext.mo X%%NLS%%share/locale/de_DE/LC_MESSAGES/vdr-osdteletext.mo X%%NLS%%share/locale/es_ES/LC_MESSAGES/vdr-osdteletext.mo X%%NLS%%share/locale/fi_FI/LC_MESSAGES/vdr-osdteletext.mo X%%NLS%%share/locale/fr_FR/LC_MESSAGES/vdr-osdteletext.mo X%%NLS%%share/locale/it_IT/LC_MESSAGES/vdr-osdteletext.mo X%%NLS%%share/locale/pt_PT/LC_MESSAGES/vdr-osdteletext.mo X%%NLS%%share/locale/ru_RU/LC_MESSAGES/vdr-osdteletext.mo X%%NLS%%share/locale/sk_SK/LC_MESSAGES/vdr-osdteletext.mo X%%NLS%%share/locale/uk_UA/LC_MESSAGES/vdr-osdteletext.mo ff7a29cdcb85f07ad54c190bbe457e11 echo c - multimedia/vdr-plugin-osdteletext/files/ mkdir -p multimedia/vdr-plugin-osdteletext/files/ > /dev/null 2>&1 echo x - multimedia/vdr-plugin-osdteletext/files/patch-Makefile sed 's/^X//' >multimedia/vdr-plugin-osdteletext/files/patch-Makefile << '08a826faf79dd6a003255db3e5dac5fa' X--- osdteletext-0.8.3/Makefile.orig X+++ osdteletext-0.8.3/Makefile X@@ -113,5 +113,8 @@ clean: X @-rm -f $(OBJS) $(DEPFILE) *.so *.tgz core* *~ X X install: X+ ${INSTALL_PROGRAM} $(LIBDIR)/libvdr-$(PLUGIN).so.$(APIVERSION) $(PREFIX)/lib/vdr/libvdr-$(PLUGIN).so.$(APIVERSION) X+ X+install-readme: X @install -d ../../man X @install README ../../man/$(PLUGIN).man 08a826faf79dd6a003255db3e5dac5fa echo x - multimedia/vdr-plugin-osdteletext/files/patch-osdteletext-vdr-1.7.27.txt sed 's/^X//' >multimedia/vdr-plugin-osdteletext/files/patch-osdteletext-vdr-1.7.27.txt << 'a26d8936bf78e978fcfc0c0702e7fb35' Xdiff --git a/txtrecv.c b/txtrecv.c Xindex 3dc89f6..3de5c1d 100644 X--- a/txtrecv.c X+++ b/txtrecv.c X@@ -518,7 +518,7 @@ void cTxtStatus::ChannelSwitch(const cDevice *Device, int ChannelNumber X int TPid = newLiveChannel->Tpid(); X X if (TPid) { X- receiver = new cTxtReceiver(TPid, newLiveChannel->GetChannelID(), storeTopText, storage); X+ receiver = new cTxtReceiver(newLiveChannel, storeTopText, storage); X cDevice::ActualDevice()->AttachReceiver(receiver); X } X X@@ -526,10 +526,18 @@ void cTxtStatus::ChannelSwitch(const cDevice *Device, int ChannelNumber X } X X X-cTxtReceiver::cTxtReceiver(int TPid, tChannelID chan, bool storeTopText, Storage* storage) X- : cReceiver(chan, -1, TPid), cThread("osdteletext-receiver"), X+cTxtReceiver::cTxtReceiver(const cChannel* chan, bool storeTopText, Storage* storage) X+#if APIVERSNUM >= 10712 X+ : cReceiver(chan, -1), cThread("osdteletext-receiver"), X+#else X+ : cReceiver(chan, -1, chan->Tpid()), cThread("osdteletext-receiver"), X+#endif X TxtPage(0), storeTopText(storeTopText), buffer((188+60)*75), storage(storage) X { X+#if APIVERSNUM >= 10712 X+ SetPids(NULL); X+ AddPid(chan->Tpid()); X+#endif X storage->prepareDirectory(ChannelID()); X X // 10 ms timeout on getting TS frames Xdiff --git a/txtrecv.h b/txtrecv.h Xindex a111d0d..3468b6e 100644 X--- a/txtrecv.h X+++ b/txtrecv.h X@@ -165,7 +165,7 @@ protected: X virtual void Receive(uchar *Data, int Length); X virtual void Action(); X public: X- cTxtReceiver(int TPid, tChannelID chan, bool storeTopText, Storage* storage); X+ cTxtReceiver(const cChannel* chan, bool storeTopText, Storage* storage); X virtual ~cTxtReceiver(); X virtual void Stop(); X }; a26d8936bf78e978fcfc0c0702e7fb35 echo x - multimedia/vdr-plugin-osdteletext/files/patch-vdr-osdteletext-0.8.3 sed 's/^X//' >multimedia/vdr-plugin-osdteletext/files/patch-vdr-osdteletext-0.8.3 << '6237576e0cb192f86ac79aeea1a46336' 6237576e0cb192f86ac79aeea1a46336 echo x - multimedia/vdr-plugin-osdteletext/files/patch-vdr-osdteletext-0.9.2 sed 's/^X//' >multimedia/vdr-plugin-osdteletext/files/patch-vdr-osdteletext-0.9.2 << 'e4e90cf7476ade928b3a79a6c24a2769' X--- Makefile.orig X+++ Makefile X@@ -98,7 +98,11 @@ all: libvdr-$(PLUGIN).so i18n X X libvdr-$(PLUGIN).so: $(OBJS) X $(CXX) $(CXXFLAGS) $(LDFLAGS) -shared $(OBJS) -o $@ X+ifdef FREEBSD X+ @cp -f $@ $(LIBDIR)/$@.$(APIVERSION) X+else X @cp --remove-destination $@ $(LIBDIR)/$@.$(APIVERSION) X+endif X X dist: $(I18Npo) clean X @-rm -rf $(TMPDIR)/$(ARCHIVE) Xdiff -ur orig/osdteletext-0.8.3/txtrecv.c osdteletext-0.8.3/txtrecv.c X--- orig/osdteletext-0.8.3/txtrecv.c 2009-05-25 20:28:59.000000000 +0200 X+++ osdteletext-0.8.3/txtrecv.c 2010-03-16 17:29:53.000000000 +0100 X@@ -22,7 +22,11 @@ X #include X #include X #include X+#ifdef __FreeBSD__ X+#include X+#else X #include X+#endif X #include X #include X #include e4e90cf7476ade928b3a79a6c24a2769 echo c - multimedia/vdr-plugin-reelchannelscan/ mkdir -p multimedia/vdr-plugin-reelchannelscan/ > /dev/null 2>&1 echo x - multimedia/vdr-plugin-reelchannelscan/Makefile sed 's/^X//' >multimedia/vdr-plugin-reelchannelscan/Makefile << '22018dfac8316e05b12c44c9cf5b8502' X# New ports collection makefile for: vdr-plugin-reelchannelscan X# Date created: Fri Apr 29 17:44:18 CEST 2011 X# Whom: Juergen Lock X# X# $FreeBSD: ports/multimedia/vdr-plugin-reelchannelscan/Makefile,v 1.8 2012/01/21 17:32:52 nox Exp $ X# X XPORTNAME= vdr-plugin-reelchannelscan XPORTVERSION= 0.6.1b1.7.15 XPORTREVISION= 8 XCATEGORIES= multimedia XMASTER_SITES= LOCAL/nox \ X http://ppa.launchpad.net/yavdr/stable-vdr/ubuntu/pool/main/v/vdr-plugin-reelchannelscan/ XDISTFILES= ${PORTNAME}_${DISTVERSIONPREFIX}${DISTVERSION:S/b/+beta/}${DISTVERSIONSUFFIX}.orig${EXTRACT_SUFX} \ X ${PORTNAME}_${DISTVERSIONPREFIX}${DISTVERSION:S/b/+beta/}${DISTVERSIONSUFFIX}-27yavdr1.debian${EXTRACT_SUFX} X XMAINTAINER= nox@FreeBSD.org XCOMMENT= Video Disk Recorder - Reelchannelscan plugin X XPATCH_STRIP= -p1 XHAVE_CONFIGURE= yes XPORTDOCS= COPYING README XMAKE_JOBS_SAFE= yes XWRKSRC= ${WRKDIR}/${PORTNAME}-${DISTVERSION:S/b1.7.15//} X X.include "${.CURDIR}/../vdr/Makefile.plugins" X Xpost-patch: post-patch-plugin X Xpost-install: post-install-pluginlocales X ${MKDIR} ${PREFIX}/etc/vdr/plugins/transponders X ${INSTALL_DATA} ${WRKDIR}/debian/transponders/*.tpl \ X ${PREFIX}/etc/vdr/plugins/transponders X.if !defined(NOPORTDOCS) X ${MKDIR} ${DOCSDIR} X (cd ${WRKSRC} && ${INSTALL_DATA} ${PORTDOCS} ${DOCSDIR}) X.endif X X.include 22018dfac8316e05b12c44c9cf5b8502 echo x - multimedia/vdr-plugin-reelchannelscan/distinfo sed 's/^X//' >multimedia/vdr-plugin-reelchannelscan/distinfo << 'd214c9577e1a5f2f4a45ad71af0836e7' XSHA256 (vdr/vdr-plugin-reelchannelscan_0.6.1+beta1.7.15.orig.tar.gz) = 680a71e35674e3dd9408cec75edf2307e83fdf4615a9fdeabae4827087264da5 XSIZE (vdr/vdr-plugin-reelchannelscan_0.6.1+beta1.7.15.orig.tar.gz) = 82747 XSHA256 (vdr/vdr-plugin-reelchannelscan_0.6.1+beta1.7.15-27yavdr1.debian.tar.gz) = 881c928fa4aac4fe696a884210da52c3ab598f75d09564953565025322753e40 XSIZE (vdr/vdr-plugin-reelchannelscan_0.6.1+beta1.7.15-27yavdr1.debian.tar.gz) = 11972 d214c9577e1a5f2f4a45ad71af0836e7 echo x - multimedia/vdr-plugin-reelchannelscan/pkg-descr sed 's/^X//' >multimedia/vdr-plugin-reelchannelscan/pkg-descr << '38a9a5a4ea0a44174b3732d06c37af58' Xhttp://www.vdr-wiki.de/wiki/index.php/Reelchannelscan-plugin X XThis plugin reads the /sources.conf and Xparses the coresponding transponderlist (.tpl file), Xthen it scans this sat and updates/appends all found channels to Xthe current channel list. X XWWW: http://www.reel-multimedia.com 38a9a5a4ea0a44174b3732d06c37af58 echo x - multimedia/vdr-plugin-reelchannelscan/pkg-plist sed 's/^X//' >multimedia/vdr-plugin-reelchannelscan/pkg-plist << '0903ab8b507c62e57536a619d464c47b' Xlib/vdr/libvdr-reelchannelscan.so.%%APIVERSION%% Xetc/vdr/plugins/transponders/S0.8W.tpl Xetc/vdr/plugins/transponders/S10.0E.tpl Xetc/vdr/plugins/transponders/S100.5E.tpl Xetc/vdr/plugins/transponders/S105.5E.tpl Xetc/vdr/plugins/transponders/S108.0E.tpl Xetc/vdr/plugins/transponders/S12.5W.tpl Xetc/vdr/plugins/transponders/S13.0E.tpl Xetc/vdr/plugins/transponders/S14.0W.tpl Xetc/vdr/plugins/transponders/S140.0E.tpl Xetc/vdr/plugins/transponders/S15.0W.tpl Xetc/vdr/plugins/transponders/S16.0E.tpl Xetc/vdr/plugins/transponders/S18.0W.tpl Xetc/vdr/plugins/transponders/S19.2E.tpl Xetc/vdr/plugins/transponders/S21.6E.tpl Xetc/vdr/plugins/transponders/S22.0W.tpl Xetc/vdr/plugins/transponders/S23.5E.tpl Xetc/vdr/plugins/transponders/S24.5W.tpl Xetc/vdr/plugins/transponders/S25.5E.tpl Xetc/vdr/plugins/transponders/S26.0E.tpl Xetc/vdr/plugins/transponders/S27.5W.tpl Xetc/vdr/plugins/transponders/S28.2E.tpl Xetc/vdr/plugins/transponders/S30.0W.tpl Xetc/vdr/plugins/transponders/S32.9E.tpl Xetc/vdr/plugins/transponders/S33.0E.tpl Xetc/vdr/plugins/transponders/S35.9E.tpl Xetc/vdr/plugins/transponders/S36.0E.tpl Xetc/vdr/plugins/transponders/S39.0E.tpl Xetc/vdr/plugins/transponders/S4.0W.tpl Xetc/vdr/plugins/transponders/S4.8E.tpl Xetc/vdr/plugins/transponders/S40.0E.tpl Xetc/vdr/plugins/transponders/S41.9E.tpl Xetc/vdr/plugins/transponders/S42.0E.tpl Xetc/vdr/plugins/transponders/S45.0E.tpl Xetc/vdr/plugins/transponders/S5.0W.tpl Xetc/vdr/plugins/transponders/S53.0E.tpl Xetc/vdr/plugins/transponders/S56.0E.tpl Xetc/vdr/plugins/transponders/S57.0E.tpl Xetc/vdr/plugins/transponders/S60.0E.tpl Xetc/vdr/plugins/transponders/S62.0E.tpl Xetc/vdr/plugins/transponders/S66.0E.tpl Xetc/vdr/plugins/transponders/S68.5E.tpl Xetc/vdr/plugins/transponders/S7.0E.tpl Xetc/vdr/plugins/transponders/S7.0W.tpl Xetc/vdr/plugins/transponders/S70.5E.tpl Xetc/vdr/plugins/transponders/S72.0E.tpl Xetc/vdr/plugins/transponders/S75.0E.tpl Xetc/vdr/plugins/transponders/S76.5E.tpl Xetc/vdr/plugins/transponders/S78.5E.tpl Xetc/vdr/plugins/transponders/S8.0W.tpl Xetc/vdr/plugins/transponders/S80.0E.tpl Xetc/vdr/plugins/transponders/S83.0E.tpl Xetc/vdr/plugins/transponders/S88.0E.tpl Xetc/vdr/plugins/transponders/S9.0E.tpl Xetc/vdr/plugins/transponders/S90.0E.tpl Xetc/vdr/plugins/transponders/S91.5E.tpl Xetc/vdr/plugins/transponders/S93.5E.tpl Xetc/vdr/plugins/transponders/S95.0E.tpl Xetc/vdr/plugins/transponders/S96.5E.tpl X@dirrm etc/vdr/plugins/transponders X%%NLS%%share/locale/de_DE/LC_MESSAGES/vdr-reelchannelscan.mo X%%NLS%%share/locale/sl_SI/LC_MESSAGES/vdr-reelchannelscan.mo X%%NLS%%share/locale/ro_RO/LC_MESSAGES/vdr-reelchannelscan.mo X%%NLS%%share/locale/fr_FR/LC_MESSAGES/vdr-reelchannelscan.mo X%%NLS%%share/locale/hu_HU/LC_MESSAGES/vdr-reelchannelscan.mo X%%NLS%%share/locale/cs_CZ/LC_MESSAGES/vdr-reelchannelscan.mo X%%NLS%%share/locale/sv_SE/LC_MESSAGES/vdr-reelchannelscan.mo X%%NLS%%share/locale/el_GR/LC_MESSAGES/vdr-reelchannelscan.mo X%%NLS%%share/locale/nn_NO/LC_MESSAGES/vdr-reelchannelscan.mo X%%NLS%%share/locale/it_IT/LC_MESSAGES/vdr-reelchannelscan.mo X%%NLS%%share/locale/es_ES/LC_MESSAGES/vdr-reelchannelscan.mo X%%NLS%%share/locale/fi_FI/LC_MESSAGES/vdr-reelchannelscan.mo X%%NLS%%share/locale/da_DK/LC_MESSAGES/vdr-reelchannelscan.mo X%%NLS%%share/locale/hr_HR/LC_MESSAGES/vdr-reelchannelscan.mo X%%NLS%%share/locale/tr_TR/LC_MESSAGES/vdr-reelchannelscan.mo X%%NLS%%share/locale/ca_ES/LC_MESSAGES/vdr-reelchannelscan.mo X%%NLS%%share/locale/et_EE/LC_MESSAGES/vdr-reelchannelscan.mo X%%NLS%%share/locale/ru_RU/LC_MESSAGES/vdr-reelchannelscan.mo X%%NLS%%share/locale/nl_NL/LC_MESSAGES/vdr-reelchannelscan.mo X%%NLS%%share/locale/pl_PL/LC_MESSAGES/vdr-reelchannelscan.mo X%%NLS%%share/locale/pt_PT/LC_MESSAGES/vdr-reelchannelscan.mo 0903ab8b507c62e57536a619d464c47b echo c - multimedia/vdr-plugin-reelchannelscan/files/ mkdir -p multimedia/vdr-plugin-reelchannelscan/files/ > /dev/null 2>&1 echo x - multimedia/vdr-plugin-reelchannelscan/files/patch-Makefile sed 's/^X//' >multimedia/vdr-plugin-reelchannelscan/files/patch-Makefile << '1be8c2876a34296745a1468f7b2161d3' X--- a/Makefile X+++ b/Makefile X@@ -141,3 +141,5 @@ clean: X @-rm -f $(PODIR)/*.mo $(PODIR)/*.pot X @-rm -f $(OBJS) $(DEPFILE) *.so *.tgz core* *~ X X+install: X+ ${INSTALL_PROGRAM} $(LIBDIR)/libvdr-$(PLUGIN).so.$(APIVERSION) $(PREFIX)/lib/vdr/libvdr-$(PLUGIN).so.$(APIVERSION) 1be8c2876a34296745a1468f7b2161d3 echo x - multimedia/vdr-plugin-reelchannelscan/files/patch-channelscan.c sed 's/^X//' >multimedia/vdr-plugin-reelchannelscan/files/patch-channelscan.c << 'b232808b25162297194ffda77f3a7e1c' X--- a/channelscan.c X+++ b/channelscan.c X@@ -37,6 +37,11 @@ X eAutoScanStat X cPluginChannelscan::AutoScanStat = AssNone; X X+#if APIVERSNUM > 10723 X+cStringList X+ cPluginChannelscan::Nodes; X+#endif X+ X cScanSetup ScanSetup; X bool OnlyChannelList=false; X X@@ -117,11 +122,51 @@ cPluginChannelscan::Initialize(void) X return true; X } X X+#if APIVERSNUM > 10723 X+bool X+cPluginChannelscan::GetAdapterFrontend(int CardIndex, int &Adapter, int &Frontend) { X+ Adapter = Frontend = -1; X+ if (CardIndex < 0) X+ return false; X+ if (CardIndex < Nodes.Size() && X+ 2 == sscanf(Nodes[CardIndex], "%d %d", &Adapter, &Frontend)) { X+ return true; X+ } X+ return false; X+} X+#endif X+ X bool X cPluginChannelscan::Start(void) X { X // Start any background activities the plugin shall perform. X+#if (APIVERSNUM < 10507) X RegisterI18n(Phrases); X+#endif X+#if APIVERSNUM > 10723 X+ cReadDir DvbDir(DEV_DVB_BASE); X+ if (DvbDir.Ok()) { X+ struct dirent *a; X+ while ((a = DvbDir.Next()) != NULL) { X+ if (strstr(a->d_name, DEV_DVB_ADAPTER) == a->d_name) { X+ int Adapter = strtol(a->d_name + strlen(DEV_DVB_ADAPTER), NULL, 10); X+ cReadDir AdapterDir(AddDirectory(DEV_DVB_BASE, a->d_name)); X+ if (AdapterDir.Ok()) { X+ struct dirent *f; X+ while ((f = AdapterDir.Next()) != NULL) { X+ if (strstr(f->d_name, DEV_DVB_FRONTEND) == f->d_name) { X+ int Frontend = strtol(f->d_name + strlen(DEV_DVB_FRONTEND), NULL, 10); X+ Nodes.Append(strdup(cString::sprintf("%2d %2d", Adapter, Frontend))); X+ } X+ } X+ } X+ } X+ } X+ } X+ X+ if (Nodes.Size() > 0) X+ Nodes.Sort(); X+#endif X return true; X } X b232808b25162297194ffda77f3a7e1c echo x - multimedia/vdr-plugin-reelchannelscan/files/patch-channelscan.h sed 's/^X//' >multimedia/vdr-plugin-reelchannelscan/files/patch-channelscan.h << '1fff17545737eece30ffb9e739f9b672' X--- a/channelscan.h X+++ b/channelscan.h X@@ -68,6 +68,9 @@ class cPluginChannelscan:public cPlugin X { X private: X // Add any member variables or functions you may need here. X+#if APIVERSNUM > 10723 X+ static cStringList Nodes; X+#endif X public: X cPluginChannelscan(); X virtual ~ cPluginChannelscan(); X@@ -102,6 +105,9 @@ class cPluginChannelscan:public cPlugin X static eAutoScanStat AutoScanStat; X ChannelScanData channelData_; X bool channelDataPresent_; X+#if APIVERSNUM > 10723 X+ static bool GetAdapterFrontend(int CardIndex, int &Adapter, int &Frontend); X+#endif X }; X X // --- cSetupMenu ------------------------------------------------------ 1fff17545737eece30ffb9e739f9b672 echo x - multimedia/vdr-plugin-reelchannelscan/files/patch-csmenu.c sed 's/^X//' >multimedia/vdr-plugin-reelchannelscan/files/patch-csmenu.c << '06789a14952d1e6634104c6bb5022403' X--- a/csmenu.c X+++ b/csmenu.c X@@ -378,8 +378,12 @@ void cMenuChannelscan::Set() X X // avoid C/T-positions for SAT X // and take Astra as start position X- if (srcTypes[currentTuner] >= SAT && (source == cSource::FromString("C") || source == cSource::FromString("T"))) { X- source = cSource::FromString("S19.2E"); X+ if (srcTypes[currentTuner] >= SAT && (source == cSource::FromString("C") || source == cSource::FromString("T") || !Sources.Get(source))) { X+ cDiseqc *d = Diseqcs.First(); X+ if (Setup.DiSEqC > 0 && d) X+ source = d->Source(); X+ else X+ source = cSource::FromString("S19.2E"); X } X X Add(new cMenuEditStraItem(tr("Search Mode"), &scanMode, 2, searchTexts)); X@@ -1209,7 +1213,7 @@ eOSState cMyMenuEditSrcItem::ProcessKey( X { X if (NORMALKEY(Key) == kLeft) // TODO might want to increase the delta if repeated quickly? X { X- if(cSource::IsSat(source->Code()) && !cPluginManager::GetPlugin("mcli")) { X+ if(cSource::IsSat(source->Code()) && !cPluginManager::GetPlugin("mcli") && Setup.DiSEqC > 0) { X source = oldSrc; X while(!found && source && (source->Code() & cSource::stSat)) { X for (cDiseqc *p = Diseqcs.First(); p && !found; p = Diseqcs.Next(p)) { X@@ -1231,7 +1235,7 @@ eOSState cMyMenuEditSrcItem::ProcessKey( X } X } X } else if (NORMALKEY(Key) == kRight) { X- if (cSource::IsSat(source->Code()) && !cPluginManager::GetPlugin("mcli")) { X+ if (cSource::IsSat(source->Code()) && !cPluginManager::GetPlugin("mcli") && Setup.DiSEqC > 0) { X source = oldSrc; X while(!found && source && (source->Code() & cSource::stSat)) { X for (cDiseqc *p = Diseqcs.First(); p && !found; p = Diseqcs.Next(p)) { 06789a14952d1e6634104c6bb5022403 echo x - multimedia/vdr-plugin-reelchannelscan/files/patch-dvb-s2-vdr-1.7.18 sed 's/^X//' >multimedia/vdr-plugin-reelchannelscan/files/patch-dvb-s2-vdr-1.7.18 << 'b6d18e4fe0ab061a5ddd54d8b91209bb' X--- a/csmenu.c X+++ b/csmenu.c X@@ -243,7 +243,7 @@ void cMenuChannelscan::TunerDetection() X txtstream << tr("DVB-C - Cable") << " (" << tr("Tuner") << ' ' << tuner + 1 << ')'; X stp = CABLE; X } else if (device->ProvidesSource(cSource::stSat)) { X- if (device->NumProvidedSystems() == 2) { X+ if (device->NumProvidedSystems() == 3) { X // if(TunerIsRotor(tuner)) X // txtstream << tr("DVB-S2 - Rotor") << " (" << tr("Tuner") << ' ' << tuner + 1 << ')'; X // else X--- a/scan.c X+++ b/scan.c X@@ -421,7 +421,7 @@ void cScan::ScanNitServices() X void cScan::ScanDVB_S(cTransponder * tp, cChannel * c) X { X //const time_t tt = time(NULL); X- int maxmods = device->NumProvidedSystems() == 2? 4 : 2; X+ int maxmods = device->NumProvidedSystems() == 3? 4 : 2; X X // esyslog("%s cTransponder* tp = %x cChannel *c = %x", __PRETTY_FUNCTION__); X esyslog("maxmods = %d",maxmods); X@@ -431,7 +431,7 @@ void cScan::ScanDVB_S(cTransponder * tp, X ; X X // skip HD Transonders on SD Tuner X- if ( !device->NumProvidedSystems() == 2 && static_cast < cSatTransponder * >(tp)->System() == 1) X+ if ( !device->NumProvidedSystems() == 3 && static_cast < cSatTransponder * >(tp)->System() == 1) X return; X X unsigned int nRadio = radioChannelNames.size(); b6d18e4fe0ab061a5ddd54d8b91209bb echo x - multimedia/vdr-plugin-reelchannelscan/files/patch-i18n.c sed 's/^X//' >multimedia/vdr-plugin-reelchannelscan/files/patch-i18n.c << 'bc259d21ab026a1b2cdb66a1300053f6' X--- a/i18n.c X+++ b/i18n.c X@@ -23,8 +23,10 @@ X * X ***************************************************************************/ X X+#include X #include "i18n.h" X X+#if (APIVERSNUM < 10507) X const tI18nPhrase Phrases[] = { X {"Channel Scan", X "Kanalsuche", X@@ -1881,3 +1883,4 @@ const tI18nPhrase Phrases[] = { X }, X {NULL} X }; X+#endif bc259d21ab026a1b2cdb66a1300053f6 echo x - multimedia/vdr-plugin-reelchannelscan/files/patch-i18n.h sed 's/^X//' >multimedia/vdr-plugin-reelchannelscan/files/patch-i18n.h << 'cd32fd2f7947a677f4437c1a49703c6d' X--- i18n.h.orig X+++ i18n.h X@@ -29,6 +29,8 @@ X #include X #include X X+#if (APIVERSNUM < 10507) X extern const tI18nPhrase Phrases[]; X+#endif X X #endif //_I18N__H cd32fd2f7947a677f4437c1a49703c6d echo x - multimedia/vdr-plugin-reelchannelscan/files/patch-scan.c sed 's/^X//' >multimedia/vdr-plugin-reelchannelscan/files/patch-scan.c << '0ebe6440c9b8d6153098ce7ff6fdfe0d' X--- a/scan.c X+++ b/scan.c X@@ -197,7 +197,17 @@ bool cScan::StartScanning(cScanParameter X X #ifndef DEVICE_ATTRIBUTES X char buffer[265]; X- snprintf(buffer, sizeof(buffer), "/dev/dvb/adapter%d/frontend0", cardnr); X+#if APIVERSNUM > 10723 X+ int Adapter = -1, Frontend = -1; X+ if (!cPluginChannelscan::GetAdapterFrontend(cDevice::GetDevice(cardnr)->CardIndex(), Adapter, Frontend)) { X+ esyslog("GetAdapterFrontend() failed"); X+ cMenuChannelscan::scanState = ssDeviceFailure; X+ return false; X+ } X+ snprintf(buffer, sizeof(buffer), "/dev/dvb/adapter%d/frontend%d", Adapter, Frontend); X+#else X+ snprintf(buffer, sizeof(buffer), "/dev/dvb/adapter%d/frontend0", cDevice::GetDevice(cardnr)->CardIndex()); X+#endif X X fd_frontend = open(buffer, O_RDONLY | O_NONBLOCK); X if (fd_frontend <= 0) { X@@ -932,12 +942,12 @@ void cScan::Action() X char *strDate; X asprintf(&strDate,"%s", asctime(localtime(&tt))); X strDate[strlen(strDate)-1] = 0; X- fprintf(fp,"\n\n%s tp=%4d, %6d(%d) TV:%4d Radio:%4d in %3d sec",strDate,i , frequency, !alreadyScanned, tvChannelNames.size()-ntv, radioChannelNames.size()-nradio, (int)difftime(t_out,t_in) ); X+ fprintf(fp,"\n\n%s tp=%4d, %6d(%d) TV:%4ld Radio:%4ld in %3d sec",strDate,i , frequency, !alreadyScanned, tvChannelNames.size()-ntv, radioChannelNames.size()-nradio, (int)difftime(t_out,t_in) ); X fclose(fp); X X fp = fopen("/tmp/tScan.log","a"); X //fprintf(fp,"\n\n%s tp=%4d, %6d/%2d/%5d TV:%4d Radio:%4d in %3dsec",strDate,i , frequency,(*tp)->Modulation(), (*tp)->Symbolrate(), tvChannelNames.size()-ntv, radioChannelNames.size()-nradio, (int)difftime(t_out,t_in) ); X- fprintf(fp,"\n\ntp=%4d, %6d/%2d/%5d TV:%4d Radio:%4d in %3dsec new:%3d",i , frequency,(*tp)->Modulation(), (*tp)->Symbolrate(), tvChannelNames.size()-ntv, radioChannelNames.size()-nradio, (int)difftime(t_out,t_in),tvChannelNames.size()-ntv+ radioChannelNames.size()-nradio ); X+ fprintf(fp,"\n\ntp=%4d, %6d/%2d/%5d TV:%4ld Radio:%4ld in %3dsec new:%3ld",i , frequency,(*tp)->Modulation(), (*tp)->Symbolrate(), tvChannelNames.size()-ntv, radioChannelNames.size()-nradio, (int)difftime(t_out,t_in),tvChannelNames.size()-ntv+ radioChannelNames.size()-nradio ); X fclose(fp); X X free(strDate); 0ebe6440c9b8d6153098ce7ff6fdfe0d echo x - multimedia/vdr-plugin-reelchannelscan/files/patch-transponders.c sed 's/^X//' >multimedia/vdr-plugin-reelchannelscan/files/patch-transponders.c << '71961bf2bfb3b568f32d694932f5e742' X--- a/transponders.c X+++ b/transponders.c X@@ -285,7 +285,7 @@ cTerrTransponder::cTerrTransponder(int C X fec_h_ = FEC_AUTO; X fec_l_ = FEC_AUTO; X hierarchy_ = HIERARCHY_NONE; X- modulation_ = FE_OFDM; X+ modulation_ = QAM_AUTO; X guard_ = GUARD_INTERVAL_AUTO; X transmission_ = TRANSMISSION_MODE_AUTO; X } 71961bf2bfb3b568f32d694932f5e742 echo c - multimedia/vdr-plugin-remote/ mkdir -p multimedia/vdr-plugin-remote/ > /dev/null 2>&1 echo x - multimedia/vdr-plugin-remote/Makefile sed 's/^X//' >multimedia/vdr-plugin-remote/Makefile << '63f327e590d43d959ed6797f66d03e82' X# New ports collection makefile for: vdr-plugin-remote X# Date created: Sun Aug 29 18:11:42 CEST 2010 X# Whom: Juergen Lock X# X# $FreeBSD: ports/multimedia/vdr-plugin-remote/Makefile,v 1.5 2012/01/21 17:32:52 nox Exp $ X# X XPORTNAME= vdr-plugin-remote XPORTVERSION= 0.4.0 XPORTREVISION= 11 XCATEGORIES= multimedia XMASTER_SITES= http://www.escape-edv.de/endriss/vdr/ XDISTNAME= ${PORTNAME:S/-plugin-/-/}-${DISTVERSIONPREFIX}${DISTVERSION}${DISTVERSIONSUFFIX} XEXTRACT_SUFX= .tgz X XMAINTAINER= nox@FreeBSD.org XCOMMENT= Video Disk Recorder - remote control plugin X XPATCH_STRIP= -p1 XHAVE_CONFIGURE= yes XPORTDOCS= COPYING README XMAKE_JOBS_SAFE= yes XWRKSRC= ${WRKDIR}/${PLUGIN}-${DISTVERSION} X X.include "${.CURDIR}/../vdr/Makefile.plugins" X Xpost-patch: post-patch-plugin X Xpost-install: post-install-pluginlocales X.if !defined(NOPORTDOCS) X ${MKDIR} ${DOCSDIR} X (cd ${WRKSRC} && ${INSTALL_DATA} ${PORTDOCS} ${DOCSDIR}) X.endif X X.include 63f327e590d43d959ed6797f66d03e82 echo x - multimedia/vdr-plugin-remote/distinfo sed 's/^X//' >multimedia/vdr-plugin-remote/distinfo << '7b599d1b1fb99b22674517a09a45f7f1' XSHA256 (vdr/vdr-remote-0.4.0.tgz) = 402178a5ca34796621ec248fbc459c41d86e7ce7f226080b507aad3e054512bf XSIZE (vdr/vdr-remote-0.4.0.tgz) = 28397 7b599d1b1fb99b22674517a09a45f7f1 echo x - multimedia/vdr-plugin-remote/pkg-descr sed 's/^X//' >multimedia/vdr-plugin-remote/pkg-descr << '002b9d9457458c6e8ebea716e4a71902' Xhttp://www.linuxtv.org/vdrwiki/index.php/Remote-plugin X XThis plugin extends the remote control capabilities of vdr. XThe following remote control devices are supported: X X(a) linux input device driver ('/dev/input/eventX', X=0,1,2,...) X (currently not supported on FreeBSD) X X(b) keyboard (tty driver): /dev/console, /dev/ttyX X X(c) TCP connection (telnet) X X(d) LIRC X X(e) some(?) FreeBSD uhid(4) devices (experimental support added by this port) X To use, add something like this to vdr_flags: '-Premote -h /dev/uhid0', X (re)start vdr, then the osd should ask you to configure the X remote by pressing the buttons you want to assign. X X Note: If your remote is detected as a keyboard you'll have to X tell ukbd(4) to ignore it first by doing (as root) something like: X X usbconfig add_dev_quirk_vplh 0x1241 0xe000 0 0xffff UQ_KBD_IGNORE X X (and possibly unplug it for a moment or reset it via usbconfig, X 0x1241 there is the vendor id, 0xe000 the product id of the X device, you can get yours by doing X X usbconfig -d 1.2 dump_device_desc X X and looking for idVendor and idProduct, -d 1.2 there corresponds X to ugen1.2 listed by usbconfig w/o args.) X X You can check with: X X usbconfig show_ifdrv X X if the device is then listed as ugen...: uhid... you're good to go. X X 2nd note: If vdr cannot open your uhid device check it is not claimed X by xorg: X X fstat |grep uhid X X If it is you may need an xorg.conf(5) with manually defined X InputDevice sections for mouse and keyboard and X X Option "AutoAddDevices" "False" X X in the ServerFlags section. X X And if for some reason you want to reassign the buttons on the X remote you can stop vdr and do: X X touch /usr/local/etc/vdr/channels.conf X X and/or remove uhid entries from X X /usr/local/etc/vdr/remote.conf . X X When you then start vdr again it should ask to configure the X remote again. X XWWW: http://escape-edv.de/endriss/vdr 002b9d9457458c6e8ebea716e4a71902 echo x - multimedia/vdr-plugin-remote/pkg-plist sed 's/^X//' >multimedia/vdr-plugin-remote/pkg-plist << '73ee7e50e683574c8a892b74a54b1db2' Xlib/vdr/libvdr-remote.so.%%APIVERSION%% X%%NLS%%share/locale/de_DE/LC_MESSAGES/vdr-remote.mo X%%NLS%%share/locale/fi_FI/LC_MESSAGES/vdr-remote.mo X%%NLS%%share/locale/fr_FR/LC_MESSAGES/vdr-remote.mo X%%NLS%%share/locale/it_IT/LC_MESSAGES/vdr-remote.mo X%%NLS%%share/locale/pl_PL/LC_MESSAGES/vdr-remote.mo X%%NLS%%share/locale/ru_RU/LC_MESSAGES/vdr-remote.mo 73ee7e50e683574c8a892b74a54b1db2 echo c - multimedia/vdr-plugin-remote/files/ mkdir -p multimedia/vdr-plugin-remote/files/ > /dev/null 2>&1 echo x - multimedia/vdr-plugin-remote/files/patch-Makefile sed 's/^X//' >multimedia/vdr-plugin-remote/files/patch-Makefile << '7aee64c13bce45bbdf5799e8cf04c5c1' X--- a/Makefile X+++ b/Makefile X@@ -54,6 +54,12 @@ DEFINES += -D_GNU_SOURCE -DPLUGIN_NAME_I X DEFINES += -DREMOTE_FEATURE_LIRC X DEFINES += -DREMOTE_FEATURE_TCPIP X X+ifeq ($(OSTYPE),FreeBSD) X+DEFINES += -DREMOTE_FEATURE_UHID X+else X+DEFINES += -DREMOTE_FEATURE_DEVINPUT X+endif X+ X ### The object files (add further files here): X X OBJS = $(PLUGIN).o ttystatus.o X@@ -81,9 +87,9 @@ $(DEPFILE): Makefile X X ### Internationalization (I18N): X X-ifneq ($(shell grep 'LOCALEDIR' $(VDRDIR)/Makefile),) X+#ifneq ($(shell grep 'LOCALEDIR' $(VDRDIR)/Makefile),) X PODIR = po X LOCALEDIR = $(VDRDIR)/locale X I18Npo = $(wildcard $(PODIR)/*.po) X I18Nmo = $(addsuffix .mo, $(foreach file, $(I18Npo), $(basename $(file)))) X I18Ndirs = $(notdir $(foreach file, $(I18Npo), $(basename $(file)))) X@@ -104,10 +110,10 @@ i18n: $(I18Nmo) X mkdir -p $(LOCALEDIR)/$$i/LC_MESSAGES;\ X cp $(PODIR)/$$i.mo $(LOCALEDIR)/$$i/LC_MESSAGES/vdr-$(PLUGIN).mo;\ X done X-else X-OBJS += i18n.o X-i18n: ; X-endif X+#else X+#OBJS += i18n.o X+#i18n: ; X+#endif X X ### Targets: X X@@ -126,3 +132,6 @@ dist: clean X clean: X @-rm -f $(PODIR)/*.mo $(PODIR)/*.pot X @-rm -f *.o $(DEPFILE) *.so *.tgz core* *~ X+ X+install: X+ ${INSTALL_PROGRAM} $(LIBDIR)/libvdr-$(PLUGIN).so.$(APIVERSION) $(PREFIX)/lib/vdr/libvdr-$(PLUGIN).so.$(APIVERSION) 7aee64c13bce45bbdf5799e8cf04c5c1 echo x - multimedia/vdr-plugin-remote/files/patch-uhid1 sed 's/^X//' >multimedia/vdr-plugin-remote/files/patch-uhid1 << 'a4ef9a76b77d9599771fa0c127c731a5' X--- a/remote.c X+++ a/remote.c X@@ -15,7 +15,9 @@ X #include X #include X #include X+#ifdef REMOTE_FEATURE_DEVINPUT X #include X+#endif X #include "i18n.h" X #include "remote.h" X #ifdef REMOTE_FEATURE_TCPIP X@@ -25,6 +27,9 @@ X X X #define NUMREMOTES 10 // maximum number of remote control devices X+#ifdef REMOTE_FEATURE_UHID X+#define UHID_DEFAULT_READSIZE 8 // default size of uhid reads X+#endif X X #define AV7110_KEYMAP_DEVICE "/proc/av7110_ir" X #if 0 X@@ -183,6 +188,7 @@ void cRemoteGeneric::Action(void) X int identifyInputDevice(const int fh, char *name) X // --------------------------------------------------------------------------- X { X+#ifdef REMOTE_FEATURE_DEVINPUT X char description[256]; X X // check name of input device X@@ -196,11 +202,13 @@ int identifyInputDevice(const int fh, ch X X if (strstr(description, "DVB") || strstr(description, "dvb")) X return 2; X+#endif X X return 0; X } X X X+#ifdef REMOTE_FEATURE_DEVINPUT X // --------------------------------------------------------------------------- X bool cRemoteDevInput::loadKeymap(const char *devname, uint32_t options) X // --------------------------------------------------------------------------- X@@ -454,6 +462,68 @@ bool cRemoteDevInput::keyPressed(uint64_ X { X return (code & 0xFFFF00000000ULL); X } X+#endif // REMOTE_FEATURE_DEVINPUT X+ X+ X+/*****************************************************************************/ X+ X+ X+#ifdef REMOTE_FEATURE_UHID X+// --------------------------------------------------------------------------- X+cRemoteUhid::cRemoteUhid(const char *name, int f, char *d, int size) X+ :cRemoteGeneric(name, f, d) X+// --------------------------------------------------------------------------- X+{ X+ Start(); X+ X+ readsize = size; X+ repeatcode = 0; X+ fcntl(f, F_SETFL, O_NONBLOCK); X+} X+ X+ X+// --------------------------------------------------------------------------- X+bool cRemoteUhid::Initialize() X+// --------------------------------------------------------------------------- X+{ X+ return true; X+} X+ X+ X+// --------------------------------------------------------------------------- X+uint64_t cRemoteUhid::getKey(void) X+// --------------------------------------------------------------------------- X+{ X+ int n; X+ uint64_t code = 0; X+ X+ // XXX handle short reads properly on big-endian X+ n = read(fh, &code, readsize); X+ if (n <= 0) { X+ if (n < 0 && (errno == EAGAIN || errno == EINTR)) X+ code = repeatcode; X+ else { X+ code = INVALID_KEY; X+ repeatcode = 0; X+ } X+ } else { X+ repeatcode = code; X+#if 1 //def PRINTFDEBUGGING X+ printf("code %jx\n", code); X+#endif X+ } X+ X+ return code; X+} X+ X+ X+// --------------------------------------------------------------------------- X+bool cRemoteUhid::keyPressed(uint64_t code) X+// --------------------------------------------------------------------------- X+{ X+ return ((code & ~0xffULL) != 0LL); X+} X+#endif // REMOTE_FEATURE_UHID X X X /*****************************************************************************/ X@@ -557,6 +627,9 @@ private: X int devcnt; X char devtyp[NUMREMOTES]; X char *devnam[NUMREMOTES]; X+#ifdef REMOTE_FEATURE_UHID X+ int devsize[NUMREMOTES]; X+#endif X int fh[NUMREMOTES]; X public: X cPluginRemote(void); X@@ -604,6 +677,10 @@ const char *cPluginRemote::CommandLineHe X // --------------------------------------------------------------------------- X { X return " -i dev, --input=dev input device (/dev/input/... | autodetect)\n" X+#ifdef REMOTE_FEATURE_UHID X+ " -h dev, --uhid=dev uhid(4) device (/dev/uhidX)\n" X+ " -s size, --uhidsize=size uhid device read size\n" X+#endif X #ifdef REMOTE_FEATURE_LIRC X " -l dev, --lirc=dev lirc device (/dev/lircd)\n" X #endif X@@ -624,6 +701,10 @@ bool cPluginRemote::ProcessArgs(int argc X { X static struct option long_options[] = X { { "input", required_argument, NULL, 'i' }, X+#ifdef REMOTE_FEATURE_UHID X+ { "uhid", required_argument, NULL, 'h' }, X+ { "uhidsize", required_argument, NULL, 's' }, X+#endif X { "lirc", required_argument, NULL, 'l' }, X { "port", required_argument, NULL, 'p' }, X { "tty", required_argument, NULL, 't' }, X@@ -631,11 +712,20 @@ bool cPluginRemote::ProcessArgs(int argc X { NULL } }; X int c; X X+#ifndef REMOTE_FEATURE_UHID X while ((c = getopt_long(argc, argv, "i:l:p:t:T:", long_options, NULL)) != -1) X+#else X+ while ((c = getopt_long(argc, argv, "i:h:s:l:p:t:T:", long_options, NULL)) != -1) X+#endif X { X+#ifdef REMOTE_FEATURE_UHID X+ int size; X+#endif X+ X switch (c) X { X case 'i': X+ case 'h': X case 'l': X case 'p': X case 't': X@@ -647,8 +737,27 @@ bool cPluginRemote::ProcessArgs(int argc X } X devtyp[devcnt] = c; X devnam[devcnt] = optarg; X+#ifdef REMOTE_FEATURE_UHID X+ devsize[devcnt] = UHID_DEFAULT_READSIZE; X+#endif X devcnt++; X break; X+#ifdef REMOTE_FEATURE_UHID X+ case 's': X+ if (!devcnt || devcnt > NUMREMOTES) X+ { X+ esyslog("%s: uhidsize must come after uhid device", Name()); X+ return false; X+ } X+ size = atoi(optarg); X+ if (size <= 0 || size_t(size) > sizeof (int64_t)) X+ { X+ esyslog("%s: bad uhidsize %s", Name(), optarg); X+ return false; X+ } X+ devsize[devcnt] = size; X+ break; X+#endif X X default: X esyslog("%s: invalid argument", Name()); X@@ -671,6 +780,7 @@ bool cPluginRemote::Start(void) X RegisterI18n(remotePhrases); X #endif X X+#ifdef REMOTE_FEATURE_DEVINPUT X // no device specified by the user, set default X if (devcnt == 0) X { X@@ -719,6 +829,7 @@ bool cPluginRemote::Start(void) X if (devtyp[i] == 'i' && strcmp(devnam[i], "autodetect") == 0) X devnam[i] = "/dev/input/ir"; X } // for i X+#endif X X for (int i = 0; i < devcnt; i++) X { X@@ -769,9 +880,17 @@ bool cPluginRemote::Start(void) X X switch (devtyp[i]) X { X+#ifdef REMOTE_FEATURE_DEVINPUT X case 'i': X new cRemoteDevInput(nam,fh[i],devnam[i]); X break; X+#endif X+ X+#ifdef REMOTE_FEATURE_UHID X+ case 'h': X+ new cRemoteUhid(nam,fh[i],devnam[i],devsize[i]); X+ break; X+#endif X X #ifdef REMOTE_FEATURE_LIRC X case 'l': X--- a/remote.h X+++ a/remote.h X@@ -82,6 +82,24 @@ public: X X X X+#ifdef REMOTE_FEATURE_UHID X+/*****************************************************************************/ X+class cRemoteUhid : protected cRemoteGeneric X+/*****************************************************************************/ X+{ X+private: X+ uint64_t repeatcode; X+ int readsize; X+protected: X+ virtual uint64_t getKey(void); X+ virtual bool keyPressed(uint64_t code); X+public: X+ cRemoteUhid(const char *name, int f, char *d, int size); X+ virtual bool Initialize(void); X+}; X+#endif X+ X+ X #ifdef REMOTE_FEATURE_LIRCOLD X /*****************************************************************************/ X class cRemoteDevLirc : protected cRemoteGeneric a4ef9a76b77d9599771fa0c127c731a5 echo c - multimedia/vdr-plugin-skinenigmang/ mkdir -p multimedia/vdr-plugin-skinenigmang/ > /dev/null 2>&1 echo x - multimedia/vdr-plugin-skinenigmang/Makefile sed 's/^X//' >multimedia/vdr-plugin-skinenigmang/Makefile << '63011eeb4de8a69a0a4db64c70e63a81' X# New ports collection makefile for: vdr-plugin-skinenigmang X# Date created: Wed Apr 14 18:11:42 CEST 2010 X# Whom: Juergen Lock X# X# $FreeBSD: ports/multimedia/vdr-plugin-skinenigmang/Makefile,v 1.5 2012/01/21 17:32:52 nox Exp $ X# X XPORTNAME= vdr-plugin-skinenigmang XPORTVERSION= 0.1.1 XPORTREVISION= 11 XCATEGORIES= multimedia XMASTER_SITES= http://andreas.vdr-developer.org/enigmang/download/ XDISTNAME= ${PORTNAME:S/-plugin-/-/}-${DISTVERSIONPREFIX}${DISTVERSION}${DISTVERSIONSUFFIX} XDISTFILES= ${DISTNAME}.tgz \ X skinenigmang-logos-xpm-hi-20070702.tgz X XMAINTAINER= nox@FreeBSD.org XCOMMENT= Video Disk Recorder - Enigma-NG skin plugin X XPATCH_STRIP= -p1 XHAVE_CONFIGURE= yes XPORTDOCS= COPYING README XMAKE_JOBS_SAFE= yes XWRKSRC= ${WRKDIR}/${PLUGIN}-${DISTVERSION} X X.include "${.CURDIR}/../vdr/Makefile.plugins" X Xpost-patch: post-patch-plugin X Xpost-install: post-install-pluginlocales X (cd ${WRKDIR}/${PLUGIN} && \ X ${COPYTREE_SHARE} \* ${PREFIX}/etc/vdr/plugins/${PLUGIN} ) X.if !defined(NOPORTDOCS) X ${MKDIR} ${DOCSDIR} X (cd ${WRKSRC} && ${INSTALL_DATA} ${PORTDOCS} ${DOCSDIR}) X.endif X X.include 63011eeb4de8a69a0a4db64c70e63a81 echo x - multimedia/vdr-plugin-skinenigmang/distinfo sed 's/^X//' >multimedia/vdr-plugin-skinenigmang/distinfo << '4ffd3a6266a12870cec6a66e22532415' XSHA256 (vdr/vdr-skinenigmang-0.1.1.tgz) = 2d87b4f0257e6f6272b72d9dcb97446b70a0da77872b26e467b8462e53d4e72f XSIZE (vdr/vdr-skinenigmang-0.1.1.tgz) = 89727 XSHA256 (vdr/skinenigmang-logos-xpm-hi-20070702.tgz) = 3428569d284db2fb1e57fe2683a818be489311d0b0ca3d4d172d34638fa61eaf XSIZE (vdr/skinenigmang-logos-xpm-hi-20070702.tgz) = 49245 4ffd3a6266a12870cec6a66e22532415 echo x - multimedia/vdr-plugin-skinenigmang/pkg-descr sed 's/^X//' >multimedia/vdr-plugin-skinenigmang/pkg-descr << 'f6089051a75d328ba604f4e6f1f045bc' Xhttp://www.vdr-wiki.de/wiki/index.php/Skinenigmang-plugin X X"EnigmaNG" is a standalone VDR OSD skin based on the "Enigma" text2skin Xaddon. X XWWW: http://andreas.vdr-developer.org/enigmang/index.html f6089051a75d328ba604f4e6f1f045bc echo x - multimedia/vdr-plugin-skinenigmang/pkg-plist sed 's/^X//' >multimedia/vdr-plugin-skinenigmang/pkg-plist << '2f16044822a7a333c974761e31530416' Xlib/vdr/libvdr-skinenigmang.so.%%APIVERSION%% Xetc/vdr/plugins/skinenigmang/HISTORY Xetc/vdr/plugins/skinenigmang/README Xetc/vdr/plugins/skinenigmang/flags/deu.xpm Xetc/vdr/plugins/skinenigmang/flags/eng.xpm Xetc/vdr/plugins/skinenigmang/flags/fra.xpm Xetc/vdr/plugins/skinenigmang/flags/dut.xpm Xetc/vdr/plugins/skinenigmang/flags/fraDD.xpm Xetc/vdr/plugins/skinenigmang/flags/dutDD.xpm Xetc/vdr/plugins/skinenigmang/flags/deuDD.xpm Xetc/vdr/plugins/skinenigmang/flags/engDD.xpm Xetc/vdr/plugins/skinenigmang/flags/dutDUAL.xpm Xetc/vdr/plugins/skinenigmang/flags/fraDUAL.xpm Xetc/vdr/plugins/skinenigmang/flags/engDUAL.xpm Xetc/vdr/plugins/skinenigmang/flags/dutMONO.xpm Xetc/vdr/plugins/skinenigmang/flags/fraMONO.xpm Xetc/vdr/plugins/skinenigmang/flags/engMONO.xpm Xetc/vdr/plugins/skinenigmang/flags/deuMONO.xpm Xetc/vdr/plugins/skinenigmang/flags/deuDUAL.xpm Xetc/vdr/plugins/skinenigmang/flags/ger.xpm Xetc/vdr/plugins/skinenigmang/icons/message/info.xpm Xetc/vdr/plugins/skinenigmang/icons/replay/fastForward.xpm Xetc/vdr/plugins/skinenigmang/icons/replay/fastForward1.xpm Xetc/vdr/plugins/skinenigmang/icons/replay/fastForward2.xpm Xetc/vdr/plugins/skinenigmang/icons/replay/fastForward3.xpm Xetc/vdr/plugins/skinenigmang/icons/replay/slowForward1.xpm Xetc/vdr/plugins/skinenigmang/icons/replay/slowForward2.xpm Xetc/vdr/plugins/skinenigmang/icons/replay/pause.xpm Xetc/vdr/plugins/skinenigmang/icons/replay/fastForward4.xpm Xetc/vdr/plugins/skinenigmang/icons/replay/fastForward5.xpm Xetc/vdr/plugins/skinenigmang/icons/replay/fastForward6.xpm Xetc/vdr/plugins/skinenigmang/icons/replay/fastForward7.xpm Xetc/vdr/plugins/skinenigmang/icons/replay/fastForward8.xpm Xetc/vdr/plugins/skinenigmang/icons/replay/fastForward9.xpm Xetc/vdr/plugins/skinenigmang/icons/replay/fastRewind.xpm Xetc/vdr/plugins/skinenigmang/icons/replay/fastRewind1.xpm Xetc/vdr/plugins/skinenigmang/icons/replay/fastRewind2.xpm Xetc/vdr/plugins/skinenigmang/icons/replay/fastRewind3.xpm Xetc/vdr/plugins/skinenigmang/icons/replay/fastRewind4.xpm Xetc/vdr/plugins/skinenigmang/icons/replay/fastRewind5.xpm Xetc/vdr/plugins/skinenigmang/icons/replay/fastRewind6.xpm Xetc/vdr/plugins/skinenigmang/icons/replay/fastRewind7.xpm Xetc/vdr/plugins/skinenigmang/icons/replay/fastRewind8.xpm Xetc/vdr/plugins/skinenigmang/icons/replay/fastRewind9.xpm Xetc/vdr/plugins/skinenigmang/icons/replay/play.xpm Xetc/vdr/plugins/skinenigmang/icons/replay/slowForward3.xpm Xetc/vdr/plugins/skinenigmang/icons/replay/slowRewind1.xpm Xetc/vdr/plugins/skinenigmang/icons/replay/slowForward.xpm Xetc/vdr/plugins/skinenigmang/icons/replay/slowRewind.xpm Xetc/vdr/plugins/skinenigmang/icons/replay/slowRewind2.xpm Xetc/vdr/plugins/skinenigmang/icons/replay/slowRewind3.xpm Xetc/vdr/plugins/skinenigmang/icons/audio/audioStereo.xpm Xetc/vdr/plugins/skinenigmang/icons/audio/audioRight.xpm Xetc/vdr/plugins/skinenigmang/icons/audio/audioLeft.xpm Xetc/vdr/plugins/skinenigmang/icons/volume/muteOff.xpm Xetc/vdr/plugins/skinenigmang/icons/volume/muteOn.xpm Xetc/vdr/plugins/skinenigmang/icons/menu/audiorecorder.xpm Xetc/vdr/plugins/skinenigmang/icons/menu/blank.xpm Xetc/vdr/plugins/skinenigmang/icons/menu/burn.xpm Xetc/vdr/plugins/skinenigmang/icons/menu/cancel.xpm Xetc/vdr/plugins/skinenigmang/icons/menu/cdda.xpm Xetc/vdr/plugins/skinenigmang/icons/menu/channels.xpm Xetc/vdr/plugins/skinenigmang/icons/menu/channelscan.xpm Xetc/vdr/plugins/skinenigmang/icons/menu/chanorg.xpm Xetc/vdr/plugins/skinenigmang/icons/menu/commands.xpm Xetc/vdr/plugins/skinenigmang/icons/menu/device.xpm Xetc/vdr/plugins/skinenigmang/icons/menu/digicam.xpm Xetc/vdr/plugins/skinenigmang/icons/menu/director.xpm Xetc/vdr/plugins/skinenigmang/icons/menu/dvd.xpm Xetc/vdr/plugins/skinenigmang/icons/menu/dvdselect.xpm Xetc/vdr/plugins/skinenigmang/icons/menu/epgsearch.xpm Xetc/vdr/plugins/skinenigmang/icons/menu/externalplayer.xpm Xetc/vdr/plugins/skinenigmang/icons/menu/femon.xpm Xetc/vdr/plugins/skinenigmang/icons/menu/filebrowser.xpm Xetc/vdr/plugins/skinenigmang/icons/menu/fussball.xpm Xetc/vdr/plugins/skinenigmang/icons/menu/games.xpm Xetc/vdr/plugins/skinenigmang/icons/menu/image.xpm Xetc/vdr/plugins/skinenigmang/icons/menu/mp3.xpm Xetc/vdr/plugins/skinenigmang/icons/menu/mplayer.xpm Xetc/vdr/plugins/skinenigmang/icons/menu/newsticker.xpm Xetc/vdr/plugins/skinenigmang/icons/menu/osdpip.xpm Xetc/vdr/plugins/skinenigmang/icons/menu/pin.xpm Xetc/vdr/plugins/skinenigmang/icons/menu/radio.xpm Xetc/vdr/plugins/skinenigmang/icons/menu/recordings.xpm Xetc/vdr/plugins/skinenigmang/icons/menu/rotor.xpm Xetc/vdr/plugins/skinenigmang/icons/menu/schedule.xpm Xetc/vdr/plugins/skinenigmang/icons/menu/setup.xpm Xetc/vdr/plugins/skinenigmang/icons/menu/solitaire.xpm Xetc/vdr/plugins/skinenigmang/icons/menu/solitaire2.xpm Xetc/vdr/plugins/skinenigmang/icons/menu/stop.xpm Xetc/vdr/plugins/skinenigmang/icons/menu/streamdev.xpm Xetc/vdr/plugins/skinenigmang/icons/menu/sudoku.xpm Xetc/vdr/plugins/skinenigmang/icons/menu/summary.xpm Xetc/vdr/plugins/skinenigmang/icons/menu/teletext.xpm Xetc/vdr/plugins/skinenigmang/icons/menu/timers.xpm Xetc/vdr/plugins/skinenigmang/icons/menu/tvonscreen.xpm Xetc/vdr/plugins/skinenigmang/icons/menu/vdrc.xpm Xetc/vdr/plugins/skinenigmang/icons/menu/vdrcd.xpm Xetc/vdr/plugins/skinenigmang/icons/menu/vdrrip.xpm Xetc/vdr/plugins/skinenigmang/icons/menu/weather.xpm Xetc/vdr/plugins/skinenigmang/icons/menu/xineliboutput.xpm Xetc/vdr/plugins/skinenigmang/icons/menu/vcd.xpm Xetc/vdr/plugins/skinenigmang/icons/menu/soccer.xpm Xetc/vdr/plugins/skinenigmang/icons/menu/webepg.xpm Xetc/vdr/plugins/skinenigmang/icons/menu/vdr.xpm X@dirrm etc/vdr/plugins/skinenigmang/flags X@dirrm etc/vdr/plugins/skinenigmang/icons/message X@dirrm etc/vdr/plugins/skinenigmang/icons/replay X@dirrm etc/vdr/plugins/skinenigmang/icons/audio X@dirrm etc/vdr/plugins/skinenigmang/icons/volume X@dirrm etc/vdr/plugins/skinenigmang/icons/menu X@dirrm etc/vdr/plugins/skinenigmang/icons X@dirrm etc/vdr/plugins/skinenigmang X%%NLS%%share/locale/ca_ES/LC_MESSAGES/vdr-skinenigmang.mo X%%NLS%%share/locale/cs_CZ/LC_MESSAGES/vdr-skinenigmang.mo X%%NLS%%share/locale/da_DK/LC_MESSAGES/vdr-skinenigmang.mo X%%NLS%%share/locale/de_DE/LC_MESSAGES/vdr-skinenigmang.mo X%%NLS%%share/locale/el_GR/LC_MESSAGES/vdr-skinenigmang.mo X%%NLS%%share/locale/es_ES/LC_MESSAGES/vdr-skinenigmang.mo X%%NLS%%share/locale/et_EE/LC_MESSAGES/vdr-skinenigmang.mo X%%NLS%%share/locale/fi_FI/LC_MESSAGES/vdr-skinenigmang.mo X%%NLS%%share/locale/fr_FR/LC_MESSAGES/vdr-skinenigmang.mo X%%NLS%%share/locale/hr_HR/LC_MESSAGES/vdr-skinenigmang.mo X%%NLS%%share/locale/hu_HU/LC_MESSAGES/vdr-skinenigmang.mo X%%NLS%%share/locale/it_IT/LC_MESSAGES/vdr-skinenigmang.mo X%%NLS%%share/locale/nl_NL/LC_MESSAGES/vdr-skinenigmang.mo X%%NLS%%share/locale/nn_NO/LC_MESSAGES/vdr-skinenigmang.mo X%%NLS%%share/locale/pl_PL/LC_MESSAGES/vdr-skinenigmang.mo X%%NLS%%share/locale/pt_PT/LC_MESSAGES/vdr-skinenigmang.mo X%%NLS%%share/locale/ro_RO/LC_MESSAGES/vdr-skinenigmang.mo X%%NLS%%share/locale/ru_RU/LC_MESSAGES/vdr-skinenigmang.mo X%%NLS%%share/locale/sl_SI/LC_MESSAGES/vdr-skinenigmang.mo X%%NLS%%share/locale/sv_SE/LC_MESSAGES/vdr-skinenigmang.mo X%%NLS%%share/locale/tr_TR/LC_MESSAGES/vdr-skinenigmang.mo 2f16044822a7a333c974761e31530416 echo c - multimedia/vdr-plugin-skinenigmang/files/ mkdir -p multimedia/vdr-plugin-skinenigmang/files/ > /dev/null 2>&1 echo x - multimedia/vdr-plugin-skinenigmang/files/patch-Makefile sed 's/^X//' >multimedia/vdr-plugin-skinenigmang/files/patch-Makefile << '34bbc7e57211a170f5d4a29e299f8055' X--- skinenigmang-0.1.1/Makefile.orig X+++ skinenigmang-0.1.1/Makefile X@@ -206,3 +210,6 @@ dist: clean X X clean: X @-rm -f $(OBJS) $(DEPFILE) *.so *.tgz core* *~ $(PODIR)/*.mo $(PODIR)/*.pot X+ X+install: X+ ${INSTALL_PROGRAM} $(LIBDIR)/libvdr-$(PLUGIN).so.$(APIVERSION) $(PREFIX)/lib/vdr/libvdr-$(PLUGIN).so.$(APIVERSION) 34bbc7e57211a170f5d4a29e299f8055 echo x - multimedia/vdr-plugin-skinenigmang/files/patch-vdr-skinenigmang-0.1.1 sed 's/^X//' >multimedia/vdr-plugin-skinenigmang/files/patch-vdr-skinenigmang-0.1.1 << 'dc8fc2d4661d3d2422021c682e16d83b' Xdiff -ur orig/skinenigmang-0.1.1/Makefile skinenigmang-0.1.1/Makefile X--- orig/skinenigmang-0.1.1/Makefile 2010-03-13 16:33:20.000000000 +0100 X+++ skinenigmang-0.1.1/Makefile 2010-04-07 13:38:45.000000000 +0200 X@@ -16,15 +16,15 @@ X X # If you are using the epgsearch plugin and want to see the number of X # timer conflicts in the main menu's info area. X-SKINENIGMA_USE_PLUGIN_EPGSEARCH = 1 X+#SKINENIGMA_USE_PLUGIN_EPGSEARCH = 1 X X # If you use the mailbox plugin this will include support for it. X-SKINENIGMA_USE_PLUGIN_MAILBOX = 1 X+#SKINENIGMA_USE_PLUGIN_MAILBOX = 1 X X # Include code to support the Avards plugin: X # - Dynamic OSD size depending on current WSS mode. X # - Display current WSS mode in channel info and replay OSDs. X-SKINENIGMA_USE_PLUGIN_AVARDS = 1 X+#SKINENIGMA_USE_PLUGIN_AVARDS = 1 X X # Disable code to show signal strength and signal-to-noise ratio X # in channel info OSD. X@@ -32,7 +32,7 @@ X X # Strip debug symbols? Set eg. to /bin/true if not X #STRIP = strip X-STRIP = /bin/true X+STRIP = /usr/bin/true X X # The official name of this plugin. X # This name will be used in the '-P...' option of VDR to load the plugin. X@@ -191,7 +191,11 @@ X ifndef SKINENIGMA_DEBUG X @$(STRIP) $@ X endif X+ifdef FREEBSD X+ @cp -f $@ $(LIBDIR)/$@.$(APIVERSION) X+else X @cp --remove-destination $@ $(LIBDIR)/$@.$(APIVERSION) X+endif X X dist: clean X @-rm -rf $(TMPDIR)/$(ARCHIVE) Xdiff -ur orig/skinenigmang-0.1.1/enigma.c skinenigmang-0.1.1/enigma.c X--- orig/skinenigmang-0.1.1/enigma.c 2010-04-05 10:33:42.000000000 +0200 X+++ skinenigmang-0.1.1/enigma.c 2010-04-07 13:38:07.000000000 +0200 X@@ -256,6 +256,18 @@ X #define ScrollbarHeight 20 X #define ScrollbarWidth 16 X X+#ifdef __FreeBSD__ X+/* XXX Implement strchrnul for FreeBSD. */ X+static char * X+strchrnul (const char *s, int c_in) X+{ X+ char c = c_in; X+ while (*s && (*s != c)) X+ s++; X+ X+ return (char *) s; X+} X+#endif X X // --- cSkinEnigmaDisplayChannel -------------------------------------------- X dc8fc2d4661d3d2422021c682e16d83b echo c - multimedia/vdr-plugin-sleeptimer/ mkdir -p multimedia/vdr-plugin-sleeptimer/ > /dev/null 2>&1 echo x - multimedia/vdr-plugin-sleeptimer/Makefile sed 's/^X//' >multimedia/vdr-plugin-sleeptimer/Makefile << '68a62c473ef9f6498642b139d4fca88d' X# New ports collection makefile for: vdr-plugin-sleeptimer X# Date created: Fri Jul 22 21:45:54 CEST 2011 X# Whom: Juergen Lock X# X# $FreeBSD: ports/multimedia/vdr-plugin-sleeptimer/Makefile,v 1.3 2012/01/21 17:32:52 nox Exp $ X# X XPORTNAME= vdr-plugin-sleeptimer XPORTVERSION= 0.8.2 XPORTREVISION= 3 XCATEGORIES= multimedia XMASTER_SITES= http://projects.vdr-developer.org/attachments/download/652/ XEXTRACT_SUFX= .tgz X XMAINTAINER= nox@FreeBSD.org XCOMMENT= Video Disk Recorder - sleep timer plugin X XPATCH_STRIP= -p1 XHAVE_CONFIGURE= yes XPORTDOCS= COPYING README XMAKE_JOBS_SAFE= yes XWRKSRC= ${WRKDIR}/${PLUGIN}-${PORTVERSION} X X.include "${.CURDIR}/../vdr/Makefile.plugins" X Xpost-patch: post-patch-plugin X Xpost-install: post-install-pluginlocales X.if !defined(NOPORTDOCS) X ${MKDIR} ${DOCSDIR} X (cd ${WRKSRC} && ${INSTALL_DATA} ${PORTDOCS} ${DOCSDIR}) X.endif X X.include 68a62c473ef9f6498642b139d4fca88d echo x - multimedia/vdr-plugin-sleeptimer/distinfo sed 's/^X//' >multimedia/vdr-plugin-sleeptimer/distinfo << '9061c25527ba7b386bc0722836cc7fc8' XSHA256 (vdr/vdr-plugin-sleeptimer-0.8.2.tgz) = 81e924bc0ea3587238cf2b090713076320aa3b8f5417561691e2a6ba543ff28c XSIZE (vdr/vdr-plugin-sleeptimer-0.8.2.tgz) = 22483 9061c25527ba7b386bc0722836cc7fc8 echo x - multimedia/vdr-plugin-sleeptimer/pkg-descr sed 's/^X//' >multimedia/vdr-plugin-sleeptimer/pkg-descr << 'ebfe2c80cfcf1fe5f34b794bd1258236' Xhttp://www.linuxtv.org/vdrwiki/index.php/Sleeptimer-plugin X XShutdown vdr, mute or execute a custom command after a configurable Xtimespan. User keys and keymacros.conf are supported. X XWWW: http://projects.vdr-developer.org/projects/plg-sleeptimer ebfe2c80cfcf1fe5f34b794bd1258236 echo x - multimedia/vdr-plugin-sleeptimer/pkg-plist sed 's/^X//' >multimedia/vdr-plugin-sleeptimer/pkg-plist << '1674510bf3e4ab0863e4895667f882fa' Xlib/vdr/libvdr-sleeptimer.so.%%APIVERSION%% X%%NLS%%share/locale/ca_ES/LC_MESSAGES/vdr-sleeptimer.mo X%%NLS%%share/locale/cs_CZ/LC_MESSAGES/vdr-sleeptimer.mo X%%NLS%%share/locale/da_DK/LC_MESSAGES/vdr-sleeptimer.mo X%%NLS%%share/locale/de_DE/LC_MESSAGES/vdr-sleeptimer.mo X%%NLS%%share/locale/el_GR/LC_MESSAGES/vdr-sleeptimer.mo X%%NLS%%share/locale/es_ES/LC_MESSAGES/vdr-sleeptimer.mo X%%NLS%%share/locale/et_EE/LC_MESSAGES/vdr-sleeptimer.mo X%%NLS%%share/locale/fi_FI/LC_MESSAGES/vdr-sleeptimer.mo X%%NLS%%share/locale/fr_FR/LC_MESSAGES/vdr-sleeptimer.mo X%%NLS%%share/locale/hr_HR/LC_MESSAGES/vdr-sleeptimer.mo X%%NLS%%share/locale/hu_HU/LC_MESSAGES/vdr-sleeptimer.mo X%%NLS%%share/locale/it_IT/LC_MESSAGES/vdr-sleeptimer.mo X%%NLS%%share/locale/nl_NL/LC_MESSAGES/vdr-sleeptimer.mo X%%NLS%%share/locale/nn_NO/LC_MESSAGES/vdr-sleeptimer.mo X%%NLS%%share/locale/pl_PL/LC_MESSAGES/vdr-sleeptimer.mo X%%NLS%%share/locale/pt_PT/LC_MESSAGES/vdr-sleeptimer.mo X%%NLS%%share/locale/ro_RO/LC_MESSAGES/vdr-sleeptimer.mo X%%NLS%%share/locale/ru_RU/LC_MESSAGES/vdr-sleeptimer.mo X%%NLS%%share/locale/sl_SI/LC_MESSAGES/vdr-sleeptimer.mo X%%NLS%%share/locale/sv_SE/LC_MESSAGES/vdr-sleeptimer.mo X%%NLS%%share/locale/tr_TR/LC_MESSAGES/vdr-sleeptimer.mo 1674510bf3e4ab0863e4895667f882fa echo c - multimedia/vdr-plugin-sleeptimer/files/ mkdir -p multimedia/vdr-plugin-sleeptimer/files/ > /dev/null 2>&1 echo x - multimedia/vdr-plugin-sleeptimer/files/patch-Makefile sed 's/^X//' >multimedia/vdr-plugin-sleeptimer/files/patch-Makefile << 'a92245357b9542535db121314de1b959' X--- a/Makefile X+++ b/Makefile X@@ -50,7 +50,7 @@ DEFINES += -D_GNU_SOURCE -DPLUGIN_NAME_I X X ### The object files (add further files here): X X-OBJS = $(PLUGIN).o i18n.o X+OBJS = $(PLUGIN).o X X ### Implicit rules: X X@@ -110,3 +110,6 @@ dist: clean X clean: X @-rm -f $(PODIR)/*.mo $(PODIR)/*.pot X @-rm -f $(OBJS) $(DEPFILE) *.so *.tgz core* *~ X+ X+install: X+ ${INSTALL_PROGRAM} $(LIBDIR)/libvdr-$(PLUGIN).so.$(APIVERSION) $(PREFIX)/lib/vdr/libvdr-$(PLUGIN).so.$(APIVERSION) a92245357b9542535db121314de1b959 echo x - multimedia/vdr-plugin-sleeptimer/files/patch-sleeptimer.c sed 's/^X//' >multimedia/vdr-plugin-sleeptimer/files/patch-sleeptimer.c << '80641c90d534483139fb1dd58454054b' X--- a/sleeptimer.c X+++ b/sleeptimer.c X@@ -165,6 +165,8 @@ bool cPluginSleeptimer::ProcessArgs(int X { X // Implement command line argument processing here if applicable. X int c; X+ if (!strcmp(*argv, "sleeptimer")) X+ ++argv, --argc; X while((c = getopt(argc, argv, "e:")) != -1 ) { X switch(c) { X case 'e': 80641c90d534483139fb1dd58454054b echo c - multimedia/vdr-plugin-softdevice/ mkdir -p multimedia/vdr-plugin-softdevice/ > /dev/null 2>&1 echo x - multimedia/vdr-plugin-softdevice/Makefile sed 's/^X//' >multimedia/vdr-plugin-softdevice/Makefile << '497c5d119d6bffa3735e51debbe8593b' X# New ports collection makefile for: vdr-plugin-softdevie X# Date created: Wed Apr 14 18:11:42 CEST 2010 X# Whom: Juergen Lock X# X# $FreeBSD: ports/multimedia/vdr-plugin-softdevice/Makefile,v 1.6 2012/02/16 15:57:20 ashish Exp $ X# X XPORTNAME= vdr-plugin-softdevice XPORTVERSION= 0.5.0p20100414 XPORTREVISION= 12 XCATEGORIES= multimedia XMASTER_SITES= LOCAL XMASTER_SITE_SUBDIR= nox/ XDISTNAME= ${PORTNAME:S/-plugin-/-/}-${DISTVERSIONPREFIX}${DISTVERSION}${DISTVERSIONSUFFIX} X XMAINTAINER= nox@FreeBSD.org XCOMMENT= Video Disk Recorder - softdevice plugin X XLIB_DEPENDS+= avcodec.1:${PORTSDIR}/multimedia/ffmpeg X XUSE_BZIP2= yes XUSE_GNOME+= pkgconfig XUSE_XORG+= xv x11 xinerama XPATCH_STRIP= -p1 XHAVE_CONFIGURE= yes XPORTDOCS= COPYING README XMAKE_JOBS_SAFE= yes XWRKSRC= ${WRKDIR}/${PLUGIN} XCONFIGURE_ARGS+= --disable-vidix --disable-fb --disable-dfb --disable-cle266 --disable-alsa #--disable-yaepg X X.include "${.CURDIR}/../vdr/Makefile.plugins" X Xpost-patch: post-patch-plugin X ${REINPLACE_CMD} 's|/usr/X11R6|${LOCALBASE}|' ${WRKSRC}/Makefile ${WRKSRC}/configure X Xdo-configure: X (cd ${WRKSRC} && ./configure ${CONFIGURE_ARGS}) X Xpost-install: post-install-pluginlocales X.if !defined(NOPORTDOCS) X ${MKDIR} ${DOCSDIR} X (cd ${WRKSRC} && ${INSTALL_DATA} ${PORTDOCS} ${DOCSDIR}) X.endif X X.include 497c5d119d6bffa3735e51debbe8593b echo x - multimedia/vdr-plugin-softdevice/distinfo sed 's/^X//' >multimedia/vdr-plugin-softdevice/distinfo << '2a91fbdf0f04fbfd8b445774ef12b554' XSHA256 (vdr/vdr-softdevice-0.5.0p20100414.tar.bz2) = fe737cd580f7b56cd3c32ecf10696008ccf13400a87266b4b8d2b5c9727a0bd2 XSIZE (vdr/vdr-softdevice-0.5.0p20100414.tar.bz2) = 163434 2a91fbdf0f04fbfd8b445774ef12b554 echo x - multimedia/vdr-plugin-softdevice/pkg-descr sed 's/^X//' >multimedia/vdr-plugin-softdevice/pkg-descr << 'aa87d2a3f9c50881d06b43fd71675041' Xhttp://www.linuxtv.org/vdrwiki/index.php/Softdevice-plugin X XThis VDR plugin is a MPEG2 decoder. XIt can be used as an output device for the vdr. Possible output devices are XXv, DirectFB, Vidix or a framebuffer. X XWWW: http://softdevice.berlios.de/ aa87d2a3f9c50881d06b43fd71675041 echo x - multimedia/vdr-plugin-softdevice/pkg-plist sed 's/^X//' >multimedia/vdr-plugin-softdevice/pkg-plist << '2c14f1df1fec2202c62718711a630f89' Xbin/ShmClient Xlib/vdr/libvdr-softdevice.so.%%APIVERSION%% Xlib/vdr/libsoftdevice-xv.so.%%APIVERSION%% Xlib/vdr/libsoftdevice-shm.so.%%APIVERSION%% X%%NLS%%share/locale/ca_ES/LC_MESSAGES/vdr-softdevice.mo X%%NLS%%share/locale/cs_CZ/LC_MESSAGES/vdr-softdevice.mo X%%NLS%%share/locale/da_DK/LC_MESSAGES/vdr-softdevice.mo X%%NLS%%share/locale/de_DE/LC_MESSAGES/vdr-softdevice.mo X%%NLS%%share/locale/el_GR/LC_MESSAGES/vdr-softdevice.mo X%%NLS%%share/locale/es_ES/LC_MESSAGES/vdr-softdevice.mo X%%NLS%%share/locale/et_EE/LC_MESSAGES/vdr-softdevice.mo X%%NLS%%share/locale/fi_FI/LC_MESSAGES/vdr-softdevice.mo X%%NLS%%share/locale/fr_FR/LC_MESSAGES/vdr-softdevice.mo X%%NLS%%share/locale/hr_HR/LC_MESSAGES/vdr-softdevice.mo X%%NLS%%share/locale/hu_HU/LC_MESSAGES/vdr-softdevice.mo X%%NLS%%share/locale/it_IT/LC_MESSAGES/vdr-softdevice.mo X%%NLS%%share/locale/nl_NL/LC_MESSAGES/vdr-softdevice.mo X%%NLS%%share/locale/nn_NO/LC_MESSAGES/vdr-softdevice.mo X%%NLS%%share/locale/pl_PL/LC_MESSAGES/vdr-softdevice.mo X%%NLS%%share/locale/pt_PT/LC_MESSAGES/vdr-softdevice.mo X%%NLS%%share/locale/ro_RO/LC_MESSAGES/vdr-softdevice.mo X%%NLS%%share/locale/ru_RU/LC_MESSAGES/vdr-softdevice.mo X%%NLS%%share/locale/sl_SI/LC_MESSAGES/vdr-softdevice.mo X%%NLS%%share/locale/sv_SE/LC_MESSAGES/vdr-softdevice.mo X%%NLS%%share/locale/tr_TR/LC_MESSAGES/vdr-softdevice.mo 2c14f1df1fec2202c62718711a630f89 echo c - multimedia/vdr-plugin-softdevice/files/ mkdir -p multimedia/vdr-plugin-softdevice/files/ > /dev/null 2>&1 echo x - multimedia/vdr-plugin-softdevice/files/patch-Makefile sed 's/^X//' >multimedia/vdr-plugin-softdevice/files/patch-Makefile << 'acb2715f00e4712ec11f526a882b9ce6' X--- Makefile.orig X+++ Makefile X@@ -233,7 +238,7 @@ DEFINES += -DPLUGINLIBDIR='"$(PLUGINLIBD X X TARGETS = libvdr-$(PLUGIN).so X LIBS = $(FFMPEGLIBS) X-OBJS = $(PLUGIN).o utils.o i18n.o video.o mpeg2decoder.o \ X+OBJS = $(PLUGIN).o utils.o video.o mpeg2decoder.o \ X audio.o video-dummy.o \ X setup-softdevice.o setup-softdevice-menu.o \ X setup-softlog.o setup-softlog-menu.o\ X@@ -438,3 +438,9 @@ MacVdrClient_obj = video_shm.o video-qua X MacVdrClient: $(MacVdrClient_obj) X $(CXX) $(LDFLAGS) $(MacVdrClient_obj) -framework Carbon -framework AGL -framework OpenGL -lpthread -o $@ X cp $@ ./MacVdrClient.app/Contents/MacOS/MacVdrClient X+ X+install: X+ ${INSTALL_PROGRAM} $(LIBDIR)/libvdr-$(PLUGIN).so.$(APIVERSION) $(PREFIX)/lib/vdr/libvdr-$(PLUGIN).so.$(APIVERSION) X+ ${INSTALL_PROGRAM} $(LIBDIR)/lib$(PLUGIN)-xv.so.$(APIVERSION) $(PREFIX)/lib/vdr/lib$(PLUGIN)-xv.so.$(APIVERSION) X+ ${INSTALL_PROGRAM} $(LIBDIR)/lib$(PLUGIN)-shm.so.$(APIVERSION) $(PREFIX)/lib/vdr/lib$(PLUGIN)-shm.so.$(APIVERSION) X+ ${INSTALL_PROGRAM} ShmClient $(PREFIX)/bin acb2715f00e4712ec11f526a882b9ce6 echo x - multimedia/vdr-plugin-softdevice/files/patch-VdrReplacements.c sed 's/^X//' >multimedia/vdr-plugin-softdevice/files/patch-VdrReplacements.c << '56342a41beeff5c58e1e4a7c68b681f0' X--- VdrReplacements.c.orig X+++ VdrReplacements.c X@@ -16,7 +16,7 @@ X cMutex::cMutex() { X pthread_mutexattr_t attr; X pthread_mutexattr_init(&attr); X-#ifdef __APPLE__ X+#if defined(__APPLE__) || defined(__FreeBSD__) X pthread_mutexattr_settype(&attr, PTHREAD_MUTEX_ERRORCHECK); X #else X pthread_mutexattr_settype(&attr, PTHREAD_MUTEX_ERRORCHECK_NP); 56342a41beeff5c58e1e4a7c68b681f0 echo x - multimedia/vdr-plugin-softdevice/files/patch-i18n.h sed 's/^X//' >multimedia/vdr-plugin-softdevice/files/patch-i18n.h << '276c7d5c2688701b87ed803866274a46' X--- i18n.h.orig X+++ i18n.h X@@ -9,8 +9,10 @@ X #ifndef _I18N__H X #define _I18N__H X X+#if (APIVERSNUM < 10507) X #include X X extern const tI18nPhrase Phrases[]; X+#endif X X #endif //_I18N__H 276c7d5c2688701b87ed803866274a46 echo x - multimedia/vdr-plugin-softdevice/files/patch-shm-common.h sed 's/^X//' >multimedia/vdr-plugin-softdevice/files/patch-shm-common.h << '59017a94225ab64f5e88274d99451790' X--- shm-common.h.orig X+++ shm-common.h X@@ -20,7 +20,7 @@ X X #define CTL_KEY 5681 X X-#ifndef __APPLE__ // should rather be #ifdef LINUX X+#if !defined(__APPLE__) && !defined(__FreeBSD__) // should rather be #ifdef LINUX X union semun { X int val; X struct semid_ds *buf; 59017a94225ab64f5e88274d99451790 echo x - multimedia/vdr-plugin-softdevice/files/patch-softdevice.c sed 's/^X//' >multimedia/vdr-plugin-softdevice/files/patch-softdevice.c << '167a693789e89643f3a8299508e7fecf' X--- softdevice.c.orig X+++ softdevice.c X@@ -1254,7 +1254,9 @@ bool cPluginSoftDevice::Service(const ch X bool cPluginSoftDevice::Start(void) X { X // Start any background activities the plugin shall perform. X+#if (APIVERSNUM < 10507) X RegisterI18n(Phrases); X+#endif X return true; X } X 167a693789e89643f3a8299508e7fecf echo x - multimedia/vdr-plugin-softdevice/files/patch-vdr-softdevice_CVS-20100414 sed 's/^X//' >multimedia/vdr-plugin-softdevice/files/patch-vdr-softdevice_CVS-20100414 << 'e93244f3975a173824cf85be56ae69cc' XIndex: Makefile X=================================================================== XRCS file: /cvsroot/softdevice/softdevice/Makefile,v Xretrieving revision 1.42 Xdiff -u -r1.42 Makefile X--- Makefile 14 Apr 2008 02:52:10 -0000 1.42 X+++ Makefile 14 Apr 2010 20:12:50 -0000 X@@ -27,9 +27,6 @@ X TMPDIR = /tmp X PLUGINLIBDIR = ./PLUGINS/lib X X-# for older file-utils, option -f had the same effect X-CPOPTS = --remove-destination X- X -include config.mak X X # uncomment to build the shared memory video server X@@ -130,6 +127,14 @@ X X -include $(VDRDIR)/Make.config X X+# leave this here as we only know if it is FreeBSD after Make.config inclusion X+# for older file-utils, option -f had the same effect X+ifdef FREEBSD X+CPOPTS = -f X+else X+CPOPTS = --remove-destination X+endif X+ X # ############################################################################# X # moved some defines to this section, as they are generated by X # configure too. X@@ -211,7 +216,7 @@ X ### The version number of VDR (taken from VDR's "config.h"): X X VDRVERSION = $(shell grep 'define VDRVERSION ' $(VDRDIR)/config.h | awk '{ print $$3 }' | sed -e 's/"//g') X-APIVERSION = $(shell sed -ne '/define APIVERSION/ { s/^.*"\(.*\)".*$$/\1/; p }' $(VDRDIR)/config.h) X+APIVERSION = $(shell grep 'define APIVERSION ' $(VDRDIR)/config.h | awk '{ print $$3 }' | sed -e 's/"//g') X X ifeq ($(APIVERSION),) X APIVERSION = $(VDRVERSION) XIndex: configure X=================================================================== XRCS file: /cvsroot/softdevice/softdevice/configure,v Xretrieving revision 1.50 Xdiff -u -r1.50 configure X--- configure 21 Sep 2008 12:55:57 -0000 1.50 X+++ configure 14 Apr 2010 20:12:50 -0000 X@@ -1,4 +1,4 @@ X-#!/bin/bash X+#!/bin/sh X # X # simple configure script for softdevice X # X@@ -50,7 +50,7 @@ X suspendkey="yes" X cpu_bigendian="no" X X-function help () { X+help () { X echo "Usage: configure [options]" X echo "available options are:" X echo " --disable-vidix" X@@ -118,6 +118,10 @@ X system=`uname -s` X case "$system" in X Linux) system="Linux";; X+ FreeBSD) X+ system="FreeBSD" X+ CFLAGS="${CFLAGS} -I/usr/local/include" X+ ;; X Darwin) X system="Darwin" X #with_subplugins="no" XIndex: setup-softlog.c X=================================================================== XRCS file: /cvsroot/softdevice/softdevice/setup-softlog.c,v Xretrieving revision 1.9 Xdiff -u -r1.9 setup-softlog.c X--- setup-softlog.c 14 Jun 2009 16:18:53 -0000 1.9 X+++ setup-softlog.c 14 Apr 2010 20:12:50 -0000 X@@ -216,6 +216,8 @@ X { X #ifdef __APPLE__ X return getpid(); X+#elif (defined __FreeBSD__) X+ return reinterpret_cast(::pthread_self()); X #else X return syscall(__NR_gettid); X #endif e93244f3975a173824cf85be56ae69cc echo c - multimedia/vdr-plugin-streamdev/ mkdir -p multimedia/vdr-plugin-streamdev/ > /dev/null 2>&1 echo x - multimedia/vdr-plugin-streamdev/Makefile sed 's/^X//' >multimedia/vdr-plugin-streamdev/Makefile << '83c34560721f90892aac46cf5cf89d9a' X# New ports collection makefile for: vdr-plugin-streamdev X# Date created: Wed Apr 14 18:11:42 CEST 2010 X# Whom: Juergen Lock X# X# $FreeBSD: ports/multimedia/vdr-plugin-streamdev/Makefile,v 1.6 2012/01/21 17:32:53 nox Exp $ X# X XPORTNAME= vdr-plugin-streamdev XPORTVERSION= 0.5.1p20120311 XCATEGORIES= multimedia XMASTER_SITES= http://projects.vdr-developer.org/attachments/download/497/:release \ X LOCAL:snapshot XMASTER_SITE_SUBDIR= nox/:snapshot XDISTFILES= ${DISTNAME}${EXTRACT_SUFX}:snapshot X XMAINTAINER= nox@FreeBSD.org XCOMMENT= Video Disk Recorder - stream device plugin X XRUN_DEPENDS+= bash:${PORTSDIR}/shells/bash X XUSE_BZIP2= yes XPORTDOCS= COPYING README XHAVE_CONFIGURE= yes XMAKE_JOBS_UNSAFE= yes XWRKSRC= ${WRKDIR}/${PORTNAME} XVDR_PLUGIN_MAKEFILES= ${WRKSRC}/client/Makefile \ X ${WRKSRC}/server/Makefile X X.include "${.CURDIR}/../vdr/Makefile.plugins" X Xpost-patch: post-patch-plugin X @${LN} -s ../locale ${WRKSRC} X @${REINPLACE_CMD} '1s-^#!/bin/sh-#!${LOCALBASE}/bin/bash-' \ X ${WRKSRC}/${PLUGIN}-server/externremux.sh X Xpost-install: post-install-pluginlocales X @${MKDIR} ${PREFIX}/etc/vdr/plugins/${PLUGIN}-server X @${INSTALL_SCRIPT} ${WRKSRC}/${PLUGIN}-server/externremux.sh ${PREFIX}/etc/vdr/plugins/${PLUGIN}-server/externremux.sh.sample X @${INSTALL_DATA} ${WRKSRC}/${PLUGIN}-server/streamdevhosts.conf ${PREFIX}/etc/vdr/plugins/${PLUGIN}-server/streamdevhosts.conf.sample X @if [ ! -f ${PREFIX}/etc/vdr/plugins/${PLUGIN}-server/externremux.sh ]; then \ X ${INSTALL_SCRIPT} -o ${VDR_USER} -g ${VDR_GROUP} ${WRKSRC}/${PLUGIN}-server/externremux.sh ${PREFIX}/etc/vdr/plugins/${PLUGIN}-server; \ X fi X @if [ ! -f ${PREFIX}/etc/vdr/plugins/${PLUGIN}-server/streamdevhosts.conf ]; then \ X ${INSTALL_DATA} -o ${VDR_USER} -g ${VDR_GROUP} ${WRKSRC}/${PLUGIN}-server/streamdevhosts.conf ${PREFIX}/etc/vdr/plugins/${PLUGIN}-server; \ X fi X.if !defined(NOPORTDOCS) X ${MKDIR} ${DOCSDIR} X (cd ${WRKSRC} && ${INSTALL_DATA} ${PORTDOCS} ${DOCSDIR}) X.endif X X.include 83c34560721f90892aac46cf5cf89d9a echo x - multimedia/vdr-plugin-streamdev/distinfo sed 's/^X//' >multimedia/vdr-plugin-streamdev/distinfo << '89d91989698eef60a40d8b548d23349e' XSHA256 (vdr/vdr-plugin-streamdev-0.5.1p20120311.tar.bz2) = 519bc2295b7e17504c25beadc4715853bdc095d1e112b0416e74bd083d895122 XSIZE (vdr/vdr-plugin-streamdev-0.5.1p20120311.tar.bz2) = 148996 89d91989698eef60a40d8b548d23349e echo x - multimedia/vdr-plugin-streamdev/pkg-descr sed 's/^X//' >multimedia/vdr-plugin-streamdev/pkg-descr << '8833299387940fda69416a8c63e2e71c' Xhttp://www.linuxtv.org/vdrwiki/index.php/Streamdev-plugin X XThis PlugIn is a VDR implementation of the VTP (Video Transfer Protocol) XVersion 0.0.3 (see file PROTOCOL) and a basic HTTP Streaming Protocol. X XIt consists of a server and a client part, but both parts are compiled together Xwith the PlugIn source, but appear as separate PlugIns to VDR. X XThe client part acts as a full Input Device, so it can be used in conjunction Xwith a DXR3-Card, XINE, SoftDevice or others to act as a working VDR Xinstallation without any DVB-Hardware including EPG-Handling. X XThe server part acts as a Receiver-Device and works transparently in the Xbackground within your running VDR. It can serve multiple clients and it can Xdistribute multiple input streams (i.e. from multiple DVB-cards) to multiple Xclients using the native VTP protocol (for VDR-clients), or using the HTTP Xprotocol supporting clients such as XINE, MPlayer and so on. With XMMS or XWinAMP, you can also listen to radio channels over a HTTP connection. X XWWW: http://streamdev.vdr-developer.org/ 8833299387940fda69416a8c63e2e71c echo x - multimedia/vdr-plugin-streamdev/pkg-plist sed 's/^X//' >multimedia/vdr-plugin-streamdev/pkg-plist << '22b10b39fcdcfa62d9beb814b7170e49' Xlib/vdr/libvdr-streamdev-client.so.%%APIVERSION%% Xlib/vdr/libvdr-streamdev-server.so.%%APIVERSION%% X@unexec if cmp -s %D/etc/vdr/plugins/streamdev-server/externremux.sh.sample %D/etc/vdr/plugins/streamdev-server/externremux.sh; then rm -f %D/etc/vdr/plugins/streamdev-server/externremux.sh; fi Xetc/vdr/plugins/streamdev-server/externremux.sh.sample X@exec if [ ! -f %D/etc/vdr/plugins/streamdev-server/externremux.sh ] ; then cp -p %D/%F %B/externremux.sh; fi X@unexec if cmp -s %D/etc/vdr/plugins/streamdev-server/streamdevhosts.conf.sample %D/etc/vdr/plugins/streamdev-server/streamdevhosts.conf; then rm -f %D/etc/vdr/plugins/streamdev-server/streamdevhosts.conf; fi Xetc/vdr/plugins/streamdev-server/streamdevhosts.conf.sample X@exec if [ ! -f %D/etc/vdr/plugins/streamdev-server/streamdevhosts.conf ] ; then cp -p %D/%F %B/streamdevhosts.conf; fi X@dirrmtry etc/vdr/plugins/streamdev-server X%%NLS%%share/locale/de_DE/LC_MESSAGES/vdr-streamdev-client.mo X%%NLS%%share/locale/de_DE/LC_MESSAGES/vdr-streamdev-server.mo X%%NLS%%share/locale/es_ES/LC_MESSAGES/vdr-streamdev-client.mo X%%NLS%%share/locale/es_ES/LC_MESSAGES/vdr-streamdev-server.mo X%%NLS%%share/locale/fi_FI/LC_MESSAGES/vdr-streamdev-client.mo X%%NLS%%share/locale/fi_FI/LC_MESSAGES/vdr-streamdev-server.mo X%%NLS%%share/locale/fr_FR/LC_MESSAGES/vdr-streamdev-client.mo X%%NLS%%share/locale/fr_FR/LC_MESSAGES/vdr-streamdev-server.mo X%%NLS%%share/locale/it_IT/LC_MESSAGES/vdr-streamdev-client.mo X%%NLS%%share/locale/it_IT/LC_MESSAGES/vdr-streamdev-server.mo X%%NLS%%share/locale/lt_LT/LC_MESSAGES/vdr-streamdev-client.mo X%%NLS%%share/locale/lt_LT/LC_MESSAGES/vdr-streamdev-server.mo X%%NLS%%share/locale/ru_RU/LC_MESSAGES/vdr-streamdev-client.mo X%%NLS%%share/locale/ru_RU/LC_MESSAGES/vdr-streamdev-server.mo X%%NLS%%share/locale/sk_SK/LC_MESSAGES/vdr-streamdev-client.mo X%%NLS%%share/locale/sk_SK/LC_MESSAGES/vdr-streamdev-server.mo 22b10b39fcdcfa62d9beb814b7170e49 echo c - multimedia/vdr-plugin-streamdev/files/ mkdir -p multimedia/vdr-plugin-streamdev/files/ > /dev/null 2>&1 echo x - multimedia/vdr-plugin-streamdev/files/patch-Makefile sed 's/^X//' >multimedia/vdr-plugin-streamdev/files/patch-Makefile << '9e8cab3897ea9170de58b2f52c1ff88f' X--- Makefile.orig X+++ Makefile X@@ -106,3 +106,7 @@ clean: X $(MAKE) -C ./remux clean X $(MAKE) -C ./client clean X $(MAKE) -C ./server clean X+ X+install: X+ ${INSTALL_PROGRAM} $(LIBDIR)/libvdr-$(PLUGIN)-client.so.$(APIVERSION) $(PREFIX)/lib/vdr/libvdr-$(PLUGIN)-client.so.$(APIVERSION) X+ ${INSTALL_PROGRAM} $(LIBDIR)/libvdr-$(PLUGIN)-server.so.$(APIVERSION) $(PREFIX)/lib/vdr/libvdr-$(PLUGIN)-server.so.$(APIVERSION) 9e8cab3897ea9170de58b2f52c1ff88f echo x - multimedia/vdr-plugin-streamdev/files/patch-client-Makefile sed 's/^X//' >multimedia/vdr-plugin-streamdev/files/patch-client-Makefile << '5f994a0d26f7fc691e267bec9edd52b3' X--- client/Makefile.orig X+++ client/Makefile X@@ -70,7 +70,11 @@ libvdr-$(PLUGIN).so: $(CLIENTOBJS) $(COM X X %.so: X $(CXX) $(CXXFLAGS) -shared $^ -o $@ X+ifdef FREEBSD X+ @cp -f $@ $(LIBDIR)/$@.$(APIVERSION) X+else X @cp --remove-destination $@ $(LIBDIR)/$@.$(APIVERSION) X+endif X X dist: clean X @-rm -rf $(TMPDIR)/$(ARCHIVE) 5f994a0d26f7fc691e267bec9edd52b3 echo x - multimedia/vdr-plugin-streamdev/files/patch-client-setup.c sed 's/^X//' >multimedia/vdr-plugin-streamdev/files/patch-client-setup.c << '90f7f807ed8d660560a18a92f3cfd45b' X--- client/setup.c.orig X+++ client/setup.c X@@ -2,6 +2,7 @@ X * $Id: setup.c,v 1.2 2005/02/08 15:34:38 lordjaxom Exp $ X */ X X+#include X #include X X #include "client/setup.h" 90f7f807ed8d660560a18a92f3cfd45b echo x - multimedia/vdr-plugin-streamdev/files/patch-server-Makefile sed 's/^X//' >multimedia/vdr-plugin-streamdev/files/patch-server-Makefile << '9435ea832cf52482f21c734eccec8d9d' X--- server/Makefile.orig X+++ server/Makefile X@@ -76,7 +76,11 @@ libvdr-$(PLUGIN).so: $(SERVEROBJS) $(COM X X %.so: X $(CXX) $(CXXFLAGS) -shared $^ -o $@ X+ifdef FREEBSD X+ @cp -f $@ $(LIBDIR)/$@.$(APIVERSION) X+else X @cp --remove-destination $@ $(LIBDIR)/$@.$(APIVERSION) X+endif X X clean: X @-rm -f $(COMMONOBJS) $(SERVEROBJS) $(DEPFILE) $(PODIR)/*.mo $(PODIR)/*.pot *.so *.tgz core* *~ 9435ea832cf52482f21c734eccec8d9d echo x - multimedia/vdr-plugin-streamdev/files/patch-server-componentIGMP.c sed 's/^X//' >multimedia/vdr-plugin-streamdev/files/patch-server-componentIGMP.c << 'd11165cdd75cafc606c5584a4b2bc4c7' X--- server/componentIGMP.c.orig X+++ server/componentIGMP.c X@@ -1,9 +1,24 @@ X /* X * $Id: componentIGMP.c,v 1.2 2009/07/03 21:44:19 schmirl Exp $ X */ X+#include X+#include X #include X #include X- X+ X+#ifndef IGMP_MEMBERSHIP_QUERY X+#define IGMP_MEMBERSHIP_QUERY IGMP_HOST_MEMBERSHIP_QUERY X+#endif X+#ifndef IGMP_V1_MEMBERSHIP_REPORT X+#define IGMP_V1_MEMBERSHIP_REPORT IGMP_v1_HOST_MEMBERSHIP_REPORT X+#endif X+#ifndef IGMP_V2_MEMBERSHIP_REPORT X+#define IGMP_V2_MEMBERSHIP_REPORT IGMP_v2_HOST_MEMBERSHIP_REPORT X+#endif X+#ifndef IGMP_V2_LEAVE_GROUP X+#define IGMP_V2_LEAVE_GROUP IGMP_HOST_LEAVE_MESSAGE X+#endif X+ X #include "server/componentIGMP.h" X #include "server/connectionIGMP.h" X #include "server/setup.h" d11165cdd75cafc606c5584a4b2bc4c7 echo x - multimedia/vdr-plugin-streamdev/files/patch-server-connectionVTP.c sed 's/^X//' >multimedia/vdr-plugin-streamdev/files/patch-server-connectionVTP.c << '5c4fdd99b5d8edfb5ec0daf8ff7cc2fd' X--- server/connectionVTP.c.orig X+++ server/connectionVTP.c X@@ -245,12 +245,14 @@ bool cLSTEHandler::Next(bool &Last) X if (m_Event != NULL) { X m_State = Title; X #ifdef __FreeBSD__ X- return m_Client->Respond(-215, "E %u %d %d %X", m_Event->EventID(), X+ return m_Client->Respond(-215, "E %u " PRId64 " %d %X", m_Event->EventID(), X+ (int64_t)m_Event->StartTime(), m_Event->Duration(), X+ m_Event->TableID()); X #else X return m_Client->Respond(-215, "E %u %ld %d %X", m_Event->EventID(), X-#endif X m_Event->StartTime(), m_Event->Duration(), X m_Event->TableID()); X+#endif X } else { X m_State = EndChannel; X return Next(Last); X@@ -292,7 +294,7 @@ bool cLSTEHandler::Next(bool &Last) X #endif /* PARENTALRATING */ X if (m_Event->Vps()) X #ifdef __FreeBSD__ X- return m_Client->Respond(-215, "V %d", m_Event->Vps()); X+ return m_Client->Respond(-215, "V " PRId64, (int64_t)m_Event->Vps()); X #else X return m_Client->Respond(-215, "V %ld", m_Event->Vps()); X #endif 5c4fdd99b5d8edfb5ec0daf8ff7cc2fd echo x - multimedia/vdr-plugin-streamdev/files/patch-server-recplayer.c sed 's/^X//' >multimedia/vdr-plugin-streamdev/files/patch-server-recplayer.c << '006f452e5a953980ce137e7500d78bc8' X--- server/recplayer.c.orig X+++ server/recplayer.c X@@ -196,8 +196,10 @@ unsigned long RecPlayer::getBlock(unsign X fseek(file, filePosition, SEEK_SET); X if (fread(&buffer[got], getFromThisSegment, 1, file) != 1) return 0; // umm, big problem. X X+#ifdef __linux__ X // Tell linux not to bother keeping the data in the FS cache X posix_fadvise(file->_fileno, filePosition, getFromThisSegment, POSIX_FADV_DONTNEED); X+#endif X X got += getFromThisSegment; X currentPosition += getFromThisSegment; 006f452e5a953980ce137e7500d78bc8 echo x - multimedia/vdr-plugin-streamdev/files/patch-server-setup.c sed 's/^X//' >multimedia/vdr-plugin-streamdev/files/patch-server-setup.c << '9ee6cd801ec10d9fc92b2dcba5002b02' X--- server/setup.c.orig X+++ server/setup.c X@@ -2,6 +2,7 @@ X * $Id: setup.c,v 1.2 2005/05/09 20:22:29 lordjaxom Exp $ X */ X X+#include X #include X X #include "server/setup.h" 9ee6cd801ec10d9fc92b2dcba5002b02 echo c - multimedia/vdr-plugin-ttxtsubs/ mkdir -p multimedia/vdr-plugin-ttxtsubs/ > /dev/null 2>&1 echo x - multimedia/vdr-plugin-ttxtsubs/Makefile sed 's/^X//' >multimedia/vdr-plugin-ttxtsubs/Makefile << '4210743a9b6be2fa395d4c21476fc7d0' X# New ports collection makefile for: vdr-plugin-ttxtsubs X# Date created: Fri May 13 18:13:34 CEST 2011 X# Whom: Juergen Lock X# X# $FreeBSD: ports/multimedia/vdr-plugin-ttxtsubs/Makefile,v 1.4 2012/01/21 17:32:53 nox Exp $ X# X XPORTNAME= vdr-plugin-ttxtsubs XPORTVERSION= 0.2.4 XPORTREVISION= 1 XCATEGORIES= multimedia XMASTER_SITES= http://projects.vdr-developer.org/attachments/download/725/ XDISTNAME= ${PORTNAME:S/-plugin-/-/}-${DISTVERSIONPREFIX}${DISTVERSION}${DISTVERSIONSUFFIX} X XMAINTAINER= nox@FreeBSD.org XCOMMENT= Video Disk Recorder - teletext subtitle plugin X XPATCH_STRIP= -p1 XHAVE_CONFIGURE= yes XPORTDOCS= COPYING README HISTORY XMAKE_JOBS_SAFE= yes XWRKSRC= ${WRKDIR}/${PLUGIN}-${DISTVERSION} X X.include "${.CURDIR}/../vdr/Makefile.plugins" X Xpost-patch: post-patch-plugin X Xpost-install: post-install-pluginlocales X.if !defined(NOPORTDOCS) X ${MKDIR} ${DOCSDIR} X (cd ${WRKSRC} && ${INSTALL_DATA} ${PORTDOCS} ${DOCSDIR}) X.endif X X.include 4210743a9b6be2fa395d4c21476fc7d0 echo x - multimedia/vdr-plugin-ttxtsubs/distinfo sed 's/^X//' >multimedia/vdr-plugin-ttxtsubs/distinfo << '41b8a82287039171b153a3bec6ee2235' XSHA256 (vdr/vdr-ttxtsubs-0.2.4.tar.gz) = 6d038f9f48ca6bb844934e15ab47d0aca8cbf650d24c5b31930802d0ac57f4ef XSIZE (vdr/vdr-ttxtsubs-0.2.4.tar.gz) = 60378 41b8a82287039171b153a3bec6ee2235 echo x - multimedia/vdr-plugin-ttxtsubs/pkg-descr sed 's/^X//' >multimedia/vdr-plugin-ttxtsubs/pkg-descr << '6392657fed45367ef8b6d00e9fed6fa8' Xhttp://www.linuxtv.org/vdrwiki/index.php/Ttxtsubs-plugin X Xvdr-ttxtsubs - a teletext subtitle plugin for the Linux Video Disk Recorder X XThis plug-in implements displaying, recording and replaying teletext Xbased subtitles using the on screen display. X XWWW: http://projects.vdr-developer.org/projects/show/plg-ttxtsubs 6392657fed45367ef8b6d00e9fed6fa8 echo x - multimedia/vdr-plugin-ttxtsubs/pkg-plist sed 's/^X//' >multimedia/vdr-plugin-ttxtsubs/pkg-plist << '6a584b0b1cd6e4214a28007f5051d75b' Xlib/vdr/libvdr-ttxtsubs.so.%%APIVERSION%% X%%NLS%%share/locale/fr_FR/LC_MESSAGES/vdr-ttxtsubs.mo X%%NLS%%share/locale/ru_RU/LC_MESSAGES/vdr-ttxtsubs.mo X%%NLS%%share/locale/uk_UA/LC_MESSAGES/vdr-ttxtsubs.mo X%%NLS%%share/locale/sv_SE/LC_MESSAGES/vdr-ttxtsubs.mo X%%NLS%%share/locale/it_IT/LC_MESSAGES/vdr-ttxtsubs.mo X%%NLS%%share/locale/es_ES/LC_MESSAGES/vdr-ttxtsubs.mo X%%NLS%%share/locale/fi_FI/LC_MESSAGES/vdr-ttxtsubs.mo X%%NLS%%share/locale/de_DE/LC_MESSAGES/vdr-ttxtsubs.mo X%%NLS%%share/locale/ca_ES/LC_MESSAGES/vdr-ttxtsubs.mo X%%NLS%%share/locale/et_EE/LC_MESSAGES/vdr-ttxtsubs.mo 6a584b0b1cd6e4214a28007f5051d75b echo c - multimedia/vdr-plugin-ttxtsubs/files/ mkdir -p multimedia/vdr-plugin-ttxtsubs/files/ > /dev/null 2>&1 echo x - multimedia/vdr-plugin-ttxtsubs/files/patch-Makefile sed 's/^X//' >multimedia/vdr-plugin-ttxtsubs/files/patch-Makefile << '34c9a2e20ce34719529edf02d020563a' X--- a/Makefile X+++ b/Makefile X@@ -101,7 +101,11 @@ all: libvdr-$(PLUGIN).so i18n X X libvdr-$(PLUGIN).so: $(OBJS) X $(CXX) $(CXXFLAGS) $(LDFLAGS) -shared $(OBJS) -o $@ X+ifdef FREEBSD X+ @cp -f $@ $(LIBDIR)/$@.$(APIVERSION) X+else X @cp --remove-destination $@ $(LIBDIR)/$@.$(APIVERSION) X+endif X X dist: $(I18Npo) clean X @-rm -rf $(TMPDIR)/$(ARCHIVE) X@@ -114,3 +118,6 @@ dist: $(I18Npo) clean X clean: X @-rm -f $(PODIR)/*.mo $(PODIR)/*.pot X @-rm -f $(OBJS) $(DEPFILE) *.so *.tgz core* *~ X+ X+install: X+ ${INSTALL_PROGRAM} $(LIBDIR)/libvdr-$(PLUGIN).so.$(APIVERSION) $(PREFIX)/lib/vdr/libvdr-$(PLUGIN).so.$(APIVERSION) 34c9a2e20ce34719529edf02d020563a echo x - multimedia/vdr-plugin-ttxtsubs/files/patch-ttxtsubschannelsettings.c sed 's/^X//' >multimedia/vdr-plugin-ttxtsubs/files/patch-ttxtsubschannelsettings.c << '328a71a225f1a412e7e81d174e782078' X--- a/ttxtsubschannelsettings.c X+++ b/ttxtsubschannelsettings.c X@@ -34,10 +34,19 @@ cTtxtSubsChannelSetting::cTtxtSubsChanne X bool cTtxtSubsChannelSetting::Parse(const char *s) X { X bool result=false; X+#ifdef __FreeBSD__ X+ char *buffer=MALLOC(char, 256); X+#else X char *buffer=NULL; X+#endif X int PageMode; X int PageNumber; X- if (3 == sscanf(s, "%a[^,],%d,%d\n", &buffer, &PageMode, &PageNumber)) { X+#ifdef __FreeBSD__ X+ if (3 == sscanf(s, "%255[^,],%d,%d\n", buffer, &PageMode, &PageNumber)) X+#else X+ if (3 == sscanf(s, "%a[^,],%d,%d\n", &buffer, &PageMode, &PageNumber)) X+#endif X+ { X tChannelID channelID=tChannelID::FromString(buffer); X if (channelID.Valid()) { X channelid=channelID; 328a71a225f1a412e7e81d174e782078 echo c - multimedia/vdr-plugin-upnp/ mkdir -p multimedia/vdr-plugin-upnp/ > /dev/null 2>&1 echo x - multimedia/vdr-plugin-upnp/Makefile sed 's/^X//' >multimedia/vdr-plugin-upnp/Makefile << 'fb585f51a8b9238a2f502c5edc7364fb' X# New ports collection makefile for: vdr-plugin-upnp X# Date created: Tue Nov 16 18:34:10 CET 2010 X# Whom: Juergen Lock X# X# $FreeBSD: ports/multimedia/vdr-plugin-upnp/Makefile,v 1.6 2012/02/16 15:57:20 ashish Exp $ X# X XPORTNAME= vdr-plugin-upnp XPORTVERSION= 0.0.2a2 XPORTREVISION= 14 XCATEGORIES= multimedia XMASTER_SITES= http://projects.vdr-developer.org/attachments/download/177/ XDISTNAME= ${PORTNAME:S/-plugin-/-/}-${DISTVERSIONPREFIX}${DISTVERSION:S/a/-alpha/}${DISTVERSIONSUFFIX} XEXTRACT_SUFX= .tgz X XMAINTAINER= nox@FreeBSD.org XCOMMENT= Video Disk Recorder - UPnP/DLNA plugin (alpha!) X XLIB_DEPENDS+= avcodec.1:${PORTSDIR}/multimedia/ffmpeg \ X boost_system:${PORTSDIR}/devel/boost-libs \ X upnp.8:${PORTSDIR}/devel/upnp \ X sqlite3.8:${PORTSDIR}/databases/sqlite3 X XDIST_SUBDIR= vdr XPATCH_STRIP= -p1 XHAVE_CONFIGURE= yes XPORTDOCS= COPYING README XMAKE_JOBS_SAFE= yes XWRKSRC= ${WRKDIR}/${PLUGIN}-${DISTVERSION:S/a2//} X X.include "${.CURDIR}/../vdr/Makefile.plugins" X Xpost-patch: post-patch-plugin X Xpost-install: post-install-pluginlocales X @${MKDIR} ${PREFIX}/etc/vdr/plugins/${PLUGIN}/http/icons X @${INSTALL_DATA} ${WRKSRC}/http/icons/* ${PREFIX}/etc/vdr/plugins/${PLUGIN}/http/icons X @${MKDIR} ${PREFIX}/etc/vdr/plugins/${PLUGIN}/http/xml X @${INSTALL_DATA} ${WRKSRC}/http/xml/* ${PREFIX}/etc/vdr/plugins/${PLUGIN}/http/xml X @${INSTALL} -o ${VDR_USER} -g ${VDR_GROUP} -d /var/cache/vdr/${PLUGIN} X.if !defined(NOPORTDOCS) X ${MKDIR} ${DOCSDIR} X (cd ${WRKSRC} && ${INSTALL_DATA} ${PORTDOCS} ${DOCSDIR}) X.endif X X.include fb585f51a8b9238a2f502c5edc7364fb echo x - multimedia/vdr-plugin-upnp/distinfo sed 's/^X//' >multimedia/vdr-plugin-upnp/distinfo << '2c44bd44c6ac48daed91faccfe0f7c28' XSHA256 (vdr/vdr-upnp-0.0.2-alpha2.tgz) = 5c5acff28e287b6ac59bd14c93cee1ce932bb8e2d0f9191cbb5a1314e6976ab3 XSIZE (vdr/vdr-upnp-0.0.2-alpha2.tgz) = 152762 2c44bd44c6ac48daed91faccfe0f7c28 echo x - multimedia/vdr-plugin-upnp/pkg-descr sed 's/^X//' >multimedia/vdr-plugin-upnp/pkg-descr << '2b658270e4913f810357176abaafd7ec' Xhttp://www.vdr-wiki.de/wiki/index.php/Upnp-plugin X XUPnP/DLNA Plugin for Video Disk Recorder X XThis Plugins extends the VDR with the possibility to act as an UPnP/DLNA Media XServer (DMS). It will serve VDR's contents in the network to any UPnP-AV and XDLNA capable devices. X XThis still is an alpha version! X XWWW: http://upnp.vdr-developer.org/ 2b658270e4913f810357176abaafd7ec echo x - multimedia/vdr-plugin-upnp/pkg-plist sed 's/^X//' >multimedia/vdr-plugin-upnp/pkg-plist << 'da2d05e0deaa9f75171e034a08c2a53c' Xlib/vdr/libvdr-upnp.so.%%APIVERSION%% Xetc/vdr/plugins/upnp/http/icons/upnpIconLrg.jpeg Xetc/vdr/plugins/upnp/http/icons/upnpIconLrg.png Xetc/vdr/plugins/upnp/http/icons/upnpIconSm.jpeg Xetc/vdr/plugins/upnp/http/icons/upnpIconSm.png Xetc/vdr/plugins/upnp/http/xml/cds_scpd.xml Xetc/vdr/plugins/upnp/http/xml/cms_scpd.xml X@exec /usr/bin/install -o %%VDR_USER%% -g %%VDR_GROUP%% -d /var/cache/vdr/upnp X@dirrm etc/vdr/plugins/upnp/http/xml X@dirrm etc/vdr/plugins/upnp/http/icons X@dirrm etc/vdr/plugins/upnp/http X@dirrmtry etc/vdr/plugins/upnp X%%NLS%%share/locale/de-DE/LC_MESSAGES/vdr-upnp.mo X%%NLS%%@dirrmtry share/locale/de-DE/LC_MESSAGES X%%NLS%%@dirrmtry share/locale/de-DE da2d05e0deaa9f75171e034a08c2a53c echo c - multimedia/vdr-plugin-upnp/files/ mkdir -p multimedia/vdr-plugin-upnp/files/ > /dev/null 2>&1 echo x - multimedia/vdr-plugin-upnp/files/patch-Makefile sed 's/^X//' >multimedia/vdr-plugin-upnp/files/patch-Makefile << 'c05dfc47fe571dbee76e642a9b5decb7' X--- a/Makefile X+++ b/Makefile X@@ -42,6 +42,9 @@ PACKAGE = vdr-$(ARCHIVE) X X ### Includes and Defines (add further entries here): X X+ifdef FREEBSD X+LIBS += -L${LOCALBASE}/lib X+endif X LIBS += -lupnp -lixml -lsqlite3 -lavformat -lavcodec X X INCLUDES += -I$(VDRDIR)/include -I/usr/include -Iinc \ X@@ -150,7 +153,11 @@ i18n: $(I18Nmsgs) $(I18Npot) X X libvdr-$(PLUGIN).so: $(OBJS) X $(CXX) $(CXXFLAGS) $(LIBS) -shared $(OBJS) -o $@ -lc X+ifdef FREEBSD X+ @cp -f $@ $(LIBDIR)/$@.$(APIVERSION) X+else X @cp --remove-destination $@ $(LIBDIR)/$@.$(APIVERSION) X+endif X X dist: clean X @-rm -rf $(TMPDIR)/$(ARCHIVE) X@@ -162,3 +169,6 @@ dist: clean X X clean: X @-rm -f $(OBJS) $(DEPFILE) *.so *.tgz core* *~ $(PODIR)/*.mo $(PODIR)/*.pot X+ X+install: X+ ${INSTALL_PROGRAM} $(LIBDIR)/libvdr-$(PLUGIN).so.$(APIVERSION) $(PREFIX)/lib/vdr/libvdr-$(PLUGIN).so.$(APIVERSION) c05dfc47fe571dbee76e642a9b5decb7 echo x - multimedia/vdr-plugin-upnp/files/patch-badvideo sed 's/^X//' >multimedia/vdr-plugin-upnp/files/patch-badvideo << '7ff2d321e6d12f7404051b757cb5fe98' X--- a/dlna/avdetector.cpp X+++ b/dlna/avdetector.cpp X@@ -262,7 +262,8 @@ int cAudioVideoDetector::detectDLNAProfi X } X X AVCodecContext* cCodecToolKit::getFirstCodecContext(AVFormatContext* FormatCtx, CodecType Type){ X- return cCodecToolKit::getFirstStream(FormatCtx, Type)->codec; X+ AVStream* ret = cCodecToolKit::getFirstStream(FormatCtx, Type); X+ return ret ? ret->codec : NULL; X } X X AVStream* cCodecToolKit::getFirstStream(AVFormatContext* FormatCtx, CodecType Type){ X--- a/dlna/profiles/mpeg2.cpp X+++ b/dlna/profiles/mpeg2.cpp X@@ -159,6 +159,8 @@ VideoPortionProfile cMPEG2Profiler::prob X AVCodecContext* VideoCodec = cCodecToolKit::getFirstCodecContext(FormatCtx, CODEC_TYPE_VIDEO); X AVStream* VideoStream = cCodecToolKit::getFirstStream(FormatCtx, CODEC_TYPE_VIDEO); X X+ if (VideoCodec == NULL || VideoStream == NULL) X+ return DLNA_VPP_UNKNOWN; X MESSAGE(VERBOSE_METADATA, "Codec-ID: %d", VideoCodec->codec_id); X MESSAGE(VERBOSE_METADATA, "Codec-Name: %s", VideoCodec->codec_name); X MESSAGE(VERBOSE_METADATA, "Codec Bitrate: %d", VideoCodec->bit_rate); 7ff2d321e6d12f7404051b757cb5fe98 echo x - multimedia/vdr-plugin-upnp/files/patch-clang sed 's/^X//' >multimedia/vdr-plugin-upnp/files/patch-clang << '3d649007ad7151cf3aa7101be374deac' X--- a/misc/util.cpp X+++ b/misc/util.cpp X@@ -331,105 +331,105 @@ const char* escapeXMLCharacters(const ch X for(unsigned int i = 0; i < strlen(Data); i++){ X Char = Data[i]; X switch(Char){ X- case L'€': NewData += "€"; break; X- case L'"': NewData += """; break; X- case L'&': NewData += "&"; break; X- case L'<': NewData += "<"; break; X- case L'>': NewData += ">"; break; X- case L'¡': NewData += "¡"; break; X- case L'¢': NewData += "¢"; break; X- case L'£': NewData += "£"; break; X- case L'¤': NewData += "¤"; break; X- case L'Â¥': NewData += "¥"; break; X- case L'¦': NewData += "¦"; break; X- case L'§': NewData += "§"; break; X- case L'¨': NewData += "¨"; break; X- case L'©': NewData += "©"; break; X- case L'ª': NewData += "ª"; break; X- case L'¬': NewData += "¬"; break; X- case L'­': NewData += "­"; break; X- case L'®': NewData += "®"; break; X- case L'¯': NewData += "¯"; break; X- case L'°': NewData += "°"; break; X- case L'±': NewData += "±"; break; X- case L'²': NewData += "²"; break; X- case L'³': NewData += "³"; break; X- case L'´': NewData += "´"; break; X- case L'µ': NewData += "µ"; break; X- case L'¶': NewData += "¶"; break; X- case L'·': NewData += "·"; break; X- case L'¸': NewData += "¸"; break; X- case L'¹': NewData += "¹"; break; X- case L'º': NewData += "º"; break; X- case L'»': NewData += "»"; break; X- case L'«': NewData += "«"; break; X- case L'¼': NewData += "¼"; break; X- case L'½': NewData += "½"; break; X- case L'¾': NewData += "¾"; break; X- case L'¿': NewData += "¿"; break; X- case L'À': NewData += "À"; break; X- case L'Ã': NewData += "Á"; break; X- case L'Â': NewData += "Â"; break; X- case L'Ã': NewData += "Ã"; break; X- case L'Ä': NewData += "Ä"; break; X- case L'Ã…': NewData += "Å"; break; X- case L'Æ': NewData += "Æ"; break; X- case L'Ç': NewData += "Ç"; break; X- case L'È': NewData += "È"; break; X- case L'É': NewData += "É"; break; X- case L'Ê': NewData += "Ê"; break; X- case L'Ë': NewData += "Ë"; break; X- case L'ÃŒ': NewData += "Ì"; break; X- case L'Ã': NewData += "Í"; break; X- case L'ÃŽ': NewData += "Î"; break; X- case L'Ã': NewData += "Ï"; break; X- case L'Ã': NewData += "Ð"; break; X- case L'Ñ': NewData += "Ñ"; break; X- case L'Ã’': NewData += "Ò"; break; X- case L'Ó': NewData += "Ó"; break; X- case L'Ô': NewData += "Ô"; break; X- case L'Õ': NewData += "Õ"; break; X- case L'Ö': NewData += "Ö"; break; X- case L'×': NewData += "×"; break; X- case L'Ø': NewData += "Ø"; break; X- case L'Ù': NewData += "Ù"; break; X- case L'Ú': NewData += "Ú"; break; X- case L'Û': NewData += "Û"; break; X- case L'Ãœ': NewData += "Ü"; break; X- case L'Ã': NewData += "Ý"; break; X- case L'Þ': NewData += "Þ"; break; X- case L'ß': NewData += "ß"; break; X- case L'à': NewData += "à"; break; X- case L'á': NewData += "á"; break; X- case L'â': NewData += "â"; break; X- case L'ã': NewData += "ã"; break; X- case L'ä': NewData += "ä"; break; X- case L'Ã¥': NewData += "å"; break; X- case L'æ': NewData += "æ"; break; X- case L'ç': NewData += "ç"; break; X- case L'è': NewData += "è"; break; X- case L'é': NewData += "é"; break; X- case L'ê': NewData += "ê"; break; X- case L'ë': NewData += "ë"; break; X- case L'ì': NewData += "ì"; break; X- case L'í': NewData += "í"; break; X- case L'î': NewData += "î"; break; X- case L'ï': NewData += "ï"; break; X- case L'ð': NewData += "ð"; break; X- case L'ñ': NewData += "ñ"; break; X- case L'ò': NewData += "ò"; break; X- case L'ó': NewData += "ó"; break; X- case L'ô': NewData += "ô"; break; X- case L'õ': NewData += "õ"; break; X- case L'ö': NewData += "ö"; break; X- case L'÷': NewData += "÷"; break; X- case L'ø': NewData += "ø"; break; X- case L'ù': NewData += "ù"; break; X- case L'ú': NewData += "ú"; break; X- case L'û': NewData += "û"; break; X- case L'ü': NewData += "ü"; break; X- case L'ý': NewData += "ý"; break; X- case L'þ': NewData += "þ"; break; X+ case /* L'€' */ 0x20ac: NewData += "€"; break; X+ case /* L'"' */ 0x22: NewData += """; break; X+ case /* L'&' */ 0x26: NewData += "&"; break; X+ case /* L'<' */ 0x3c: NewData += "<"; break; X+ case /* L'>' */ 0x3e: NewData += ">"; break; X+ case /* L'¡' */ 0xa1: NewData += "¡"; break; X+ case /* L'¢' */ 0xa2: NewData += "¢"; break; X+ case /* L'£' */ 0xa3: NewData += "£"; break; X+ case /* L'¤' */ 0xa4: NewData += "¤"; break; X+ case /* L'Â¥' */ 0xa5: NewData += "¥"; break; X+ case /* L'¦' */ 0xa6: NewData += "¦"; break; X+ case /* L'§' */ 0xa7: NewData += "§"; break; X+ case /* L'¨' */ 0xa8: NewData += "¨"; break; X+ case /* L'©' */ 0xa9: NewData += "©"; break; X+ case /* L'ª' */ 0xaa: NewData += "ª"; break; X+ case /* L'¬' */ 0xac: NewData += "¬"; break; X+ case /* L'­' */ 0xad: NewData += "­"; break; X+ case /* L'®' */ 0xae: NewData += "®"; break; X+ case /* L'¯' */ 0xaf: NewData += "¯"; break; X+ case /* L'°' */ 0xb0: NewData += "°"; break; X+ case /* L'±' */ 0xb1: NewData += "±"; break; X+ case /* L'²' */ 0xb2: NewData += "²"; break; X+ case /* L'³' */ 0xb3: NewData += "³"; break; X+ case /* L'´' */ 0xb4: NewData += "´"; break; X+ case /* L'µ' */ 0xb5: NewData += "µ"; break; X+ case /* L'¶' */ 0xb6: NewData += "¶"; break; X+ case /* L'·' */ 0xb7: NewData += "·"; break; X+ case /* L'¸' */ 0xb8: NewData += "¸"; break; X+ case /* L'¹' */ 0xb9: NewData += "¹"; break; X+ case /* L'º' */ 0xba: NewData += "º"; break; X+ case /* L'»' */ 0xbb: NewData += "»"; break; X+ case /* L'«' */ 0xab: NewData += "«"; break; X+ case /* L'¼' */ 0xbc: NewData += "¼"; break; X+ case /* L'½' */ 0xbd: NewData += "½"; break; X+ case /* L'¾' */ 0xbe: NewData += "¾"; break; X+ case /* L'¿' */ 0xbf: NewData += "¿"; break; X+ case /* L'À' */ 0xc0: NewData += "À"; break; X+ case /* L'Ã' */ 0xc1: NewData += "Á"; break; X+ case /* L'Â' */ 0xc2: NewData += "Â"; break; X+ case /* L'Ã' */ 0xc3: NewData += "Ã"; break; X+ case /* L'Ä' */ 0xc4: NewData += "Ä"; break; X+ case /* L'Ã…' */ 0xc5: NewData += "Å"; break; X+ case /* L'Æ' */ 0xc6: NewData += "Æ"; break; X+ case /* L'Ç' */ 0xc7: NewData += "Ç"; break; X+ case /* L'È' */ 0xc8: NewData += "È"; break; X+ case /* L'É' */ 0xc9: NewData += "É"; break; X+ case /* L'Ê' */ 0xca: NewData += "Ê"; break; X+ case /* L'Ë' */ 0xcb: NewData += "Ë"; break; X+ case /* L'ÃŒ' */ 0xcc: NewData += "Ì"; break; X+ case /* L'Ã' */ 0xcd: NewData += "Í"; break; X+ case /* L'ÃŽ' */ 0xce: NewData += "Î"; break; X+ case /* L'Ã' */ 0xcf: NewData += "Ï"; break; X+ case /* L'Ã' */ 0xd0: NewData += "Ð"; break; X+ case /* L'Ñ' */ 0xd1: NewData += "Ñ"; break; X+ case /* L'Ã’' */ 0xd2: NewData += "Ò"; break; X+ case /* L'Ó' */ 0xd3: NewData += "Ó"; break; X+ case /* L'Ô' */ 0xd4: NewData += "Ô"; break; X+ case /* L'Õ' */ 0xd5: NewData += "Õ"; break; X+ case /* L'Ö' */ 0xd6: NewData += "Ö"; break; X+ case /* L'×' */ 0xd7: NewData += "×"; break; X+ case /* L'Ø' */ 0xd8: NewData += "Ø"; break; X+ case /* L'Ù' */ 0xd9: NewData += "Ù"; break; X+ case /* L'Ú' */ 0xda: NewData += "Ú"; break; X+ case /* L'Û' */ 0xdb: NewData += "Û"; break; X+ case /* L'Ãœ' */ 0xdc: NewData += "Ü"; break; X+ case /* L'Ã' */ 0xdd: NewData += "Ý"; break; X+ case /* L'Þ' */ 0xde: NewData += "Þ"; break; X+ case /* L'ß' */ 0xdf: NewData += "ß"; break; X+ case /* L'à' */ 0xe0: NewData += "à"; break; X+ case /* L'á' */ 0xe1: NewData += "á"; break; X+ case /* L'â' */ 0xe2: NewData += "â"; break; X+ case /* L'ã' */ 0xe3: NewData += "ã"; break; X+ case /* L'ä' */ 0xe4: NewData += "ä"; break; X+ case /* L'Ã¥' */ 0xe5: NewData += "å"; break; X+ case /* L'æ' */ 0xe6: NewData += "æ"; break; X+ case /* L'ç' */ 0xe7: NewData += "ç"; break; X+ case /* L'è' */ 0xe8: NewData += "è"; break; X+ case /* L'é' */ 0xe9: NewData += "é"; break; X+ case /* L'ê' */ 0xea: NewData += "ê"; break; X+ case /* L'ë' */ 0xeb: NewData += "ë"; break; X+ case /* L'ì' */ 0xec: NewData += "ì"; break; X+ case /* L'í' */ 0xed: NewData += "í"; break; X+ case /* L'î' */ 0xee: NewData += "î"; break; X+ case /* L'ï' */ 0xef: NewData += "ï"; break; X+ case /* L'ð' */ 0xf0: NewData += "ð"; break; X+ case /* L'ñ' */ 0xf1: NewData += "ñ"; break; X+ case /* L'ò' */ 0xf2: NewData += "ò"; break; X+ case /* L'ó' */ 0xf3: NewData += "ó"; break; X+ case /* L'ô' */ 0xf4: NewData += "ô"; break; X+ case /* L'õ' */ 0xf5: NewData += "õ"; break; X+ case /* L'ö' */ 0xf6: NewData += "ö"; break; X+ case /* L'÷' */ 0xf7: NewData += "÷"; break; X+ case /* L'ø' */ 0xf8: NewData += "ø"; break; X+ case /* L'ù' */ 0xf9: NewData += "ù"; break; X+ case /* L'ú' */ 0xfa: NewData += "ú"; break; X+ case /* L'û' */ 0xfb: NewData += "û"; break; X+ case /* L'ü' */ 0xfc: NewData += "ü"; break; X+ case /* L'ý' */ 0xfd: NewData += "ý"; break; X+ case /* L'þ' */ 0xfe: NewData += "þ"; break; X default: NewData += Data[i]; break; X } X } 3d649007ad7151cf3aa7101be374deac echo x - multimedia/vdr-plugin-upnp/files/patch-freebsd sed 's/^X//' >multimedia/vdr-plugin-upnp/files/patch-freebsd << '58b74f620bcd4003689d2301df41927c' X--- a/misc/util.cpp X+++ b/misc/util.cpp X@@ -12,6 +12,14 @@ X #include X #include X #include X+#ifdef __FreeBSD__ X+#include X+#include X+#include X+#include X+#include X+#include X+#endif X #include X #include X #include X@@ -74,6 +82,7 @@ char* substr(const char* str, unsigned i X } X X const char* getMACFromInterface(const char* Interface) { X+#ifndef __FreeBSD__ X int fd; X struct ifreq ifr; X X@@ -95,6 +104,31 @@ const char* getMACFromInterface(const ch X (unsigned char)ifr.ifr_hwaddr.sa_data[3], X (unsigned char)ifr.ifr_hwaddr.sa_data[4], X (unsigned char)ifr.ifr_hwaddr.sa_data[5]); X+#else X+ struct ifaddrs *ifa, *ifp = NULL; X+ char *ret = new char[18]; X+ strcpy(ret, "00:00:00:00:00:00"); X+ X+ if (!Interface || getifaddrs(&ifp) < 0) X+ return ret; X+ X+ for (ifa = ifp; ifa != NULL; ifa = ifa->ifa_next) { X+ if (strcmp(ifa->ifa_name, Interface)) X+ continue; X+ X+ if (ifa->ifa_addr->sa_family == AF_LINK) { X+ struct sockaddr_dl *sdl = X+ (struct sockaddr_dl *)ifa->ifa_addr; X+ X+ if (sdl->sdl_type == IFT_ETHER && X+ sdl->sdl_alen == ETHER_ADDR_LEN) X+ snprintf(ret, 18, "%s", X+ ether_ntoa((struct ether_addr *)LLADDR(sdl))); X+ break; X+ } X+ } X+ freeifaddrs(ifp); X+#endif X X return ret; X } X--- a/server/server.cpp X+++ b/server/server.cpp X@@ -8,6 +8,9 @@ X #include X #include X #include X+#ifdef __FreeBSD__ X+#include X+#endif X #include X #include X #include "server.h" X--- a/database/database.cpp X+++ b/database/database.cpp X@@ -161,7 +161,11 @@ bool cRow::fetchColumn(char** Column, ch X X int cSQLiteDatabase::initialize(){ X int ret; X+#ifdef __FreeBSD__ X+ const char* dbdir = (cUPnPConfig::get()->mDatabaseFolder) ? cUPnPConfig::get()->mDatabaseFolder : "/var/cache/vdr/upnp"; X+#else X const char* dbdir = (cUPnPConfig::get()->mDatabaseFolder) ? cUPnPConfig::get()->mDatabaseFolder : cPluginUpnp::getConfigDirectory(); X+#endif X cString File = cString::sprintf("%s/%s", dbdir, SQLITE_DB_FILE); X if((ret = sqlite3_open(File, &this->mDatabase))){ X ERROR("Unable to open database file %s (Error code: %d)!", *File, ret); 58b74f620bcd4003689d2301df41927c echo x - multimedia/vdr-plugin-upnp/files/patch-fromgit sed 's/^X//' >multimedia/vdr-plugin-upnp/files/patch-fromgit << 'af6af6f2bc6071bbbcf05d252a906672' X--- a/database/metadata.cpp X+++ b/database/metadata.cpp X@@ -461,11 +471,20 @@ void cMediaDatabase::Action(){ X time_t LastEPGUpdate = 0; X while(this->Running()){ X X+#ifndef WITHOUT_TV X if(cSchedules::Modified() >= LastEPGUpdate){ X MESSAGE(VERBOSE_EPG_UPDATES, "Schedule changed. Updating..."); X updateChannelEPG(); X LastEPGUpdate = cSchedules::Modified(); X } X+#endif X+#ifndef WITHOUT_RECORDS X+ int NotUsed; X+ if(Recordings.StateChanged(NotUsed)){ X+ MESSAGE(VERBOSE_EPG_UPDATES, "Recordings changed. Updating..."); X+ loadRecordings(); X+ } X+#endif X X cCondWait::SleepMs(60 * 1000); // sleep a minute X } af6af6f2bc6071bbbcf05d252a906672 echo x - multimedia/vdr-plugin-upnp/files/patch-iconv sed 's/^X//' >multimedia/vdr-plugin-upnp/files/patch-iconv << 'b1394fb2bdf4a168cce015f2a18bf2b6' X--- a/inc/upnp/contentdirectory.h X+++ b/inc/upnp/contentdirectory.h X@@ -39,6 +39,7 @@ public: X virtual void setError(Upnp_Action_Request* Request, int Error); X private: X cMediaDatabase* mMediaDatabase; X+ cCharSetConv* mconv; X void Action(); X int getSearchCapabilities(Upnp_Action_Request* Request); X int getSortCapabilities(Upnp_Action_Request* Request); X--- a/upnp/contentdirectory.cpp X+++ b/upnp/contentdirectory.cpp X@@ -14,9 +14,13 @@ X cContentDirectory::cContentDirectory(UpnpDevice_Handle DeviceHandle, cMediaDatabase* MediaDatabase) X : cUpnpService(DeviceHandle) { X this->mMediaDatabase = MediaDatabase; X+ this->mconv = new cCharSetConv((cCharSetConv::SystemCharacterTable() ? X+ cCharSetConv::SystemCharacterTable() : "UTF-8"), "UTF-8"); X } X X-cContentDirectory::~cContentDirectory() {} X+cContentDirectory::~cContentDirectory() { X+ delete this->mconv; X+} X X int cContentDirectory::subscribe(Upnp_Subscription_Request* Request){ X IXML_Document* PropertySet = NULL; X@@ -149,8 +153,15 @@ int cContentDirectory::browse(Upnp_Actio X return Request->ErrCode; X } X X+ const char *utf8Result = this->mconv->Convert(ResultSet->mResult); X+ if(!utf8Result){ X+ ERROR("Converting XML data failed"); X+ this->setError(Request, UPNP_SOAP_E_ACTION_FAILED); X+ return Request->ErrCode; X+ } X+ X char* escapedResult = NULL; X- escapeXMLCharacters(ResultSet->mResult, &escapedResult); X+ escapeXMLCharacters(utf8Result, &escapedResult); X X if(!escapedResult){ X ERROR("Escaping XML data failed"); b1394fb2bdf4a168cce015f2a18bf2b6 echo x - multimedia/vdr-plugin-upnp/files/patch-libupnp1.6.9 sed 's/^X//' >multimedia/vdr-plugin-upnp/files/patch-libupnp1.6.9 << '7298bec934c2b3073ae16c10183b413a' X--- a/database/object.cpp X+++ b/database/object.cpp X@@ -7,6 +7,7 @@ X X #include X #include X+#include X #include X #include X #include X--- a/inc/util.h X+++ b/inc/util.h X@@ -20,6 +20,12 @@ extern "C" { X X #include X #include X+ X+#ifdef __FreeBSD__ X+#define off64_t off_t X+#endif X+#include X+ X /** X * Compares two strings X * X@@ -147,5 +153,7 @@ public: X virtual eOSState ProcessKey(eKeys Key); X }; X X+const char *IPAddrP(struct sockaddr_storage &IPAddr, char *buf, size_t buflen); X+ X #endif /* _UTIL_H */ X X--- a/inc/webserver.h X+++ b/inc/webserver.h X@@ -22,7 +22,9 @@ class cUPnPWebServer { X friend class cUPnPServer; X private: X static cUPnPWebServer *mInstance; X+#ifdef OLDUPNPAPI X static UpnpVirtualDirCallbacks mVirtualDirCallbacks; X+#endif X const char* mRootdir; X cUPnPWebServer(const char* root = "/"); X protected: X--- a/misc/util.cpp X+++ b/misc/util.cpp X@@ -532,4 +567,16 @@ IXML_Element* ixmlAddFilteredProperty(cS X return ixmlAddProperty(document, node, upnpproperty, value); X else X return NULL; X-} X\ No newline at end of file X+} X+ X+const char *IPAddrP(struct sockaddr_storage &IPAddr, char *buf, size_t buflen){ X+ *buf = '\0'; X+ if (IPAddr.ss_family == AF_INET) { X+ inet_ntop(AF_INET, (void *)&((struct sockaddr_in *)&IPAddr)->sin_addr, buf, buflen); X+ return buf; X+ } else if (IPAddr.ss_family == AF_INET6) { X+ inet_ntop(AF_INET6, (void *)&((struct sockaddr_in6 *)&IPAddr)->sin6_addr, buf, buflen); X+ return buf; X+ } X+ return "??"; X+} X--- a/server/webserver.cpp X+++ b/server/webserver.cpp X@@ -100,6 +100,7 @@ cUPnPWebServer::~cUPnPWebServer(){} X X cUPnPWebServer* cUPnPWebServer::mInstance = NULL; X X+#ifdef OLDUPNPAPI X UpnpVirtualDirCallbacks cUPnPWebServer::mVirtualDirCallbacks = { X cUPnPWebServer::getInfo, X cUPnPWebServer::open, X@@ -108,6 +109,7 @@ UpnpVirtualDirCallbacks cUPnPWebServer:: X cUPnPWebServer::seek, X cUPnPWebServer::close X }; X+#endif X X bool cUPnPWebServer::init(){ X MESSAGE(VERBOSE_WEBSERVER, "Initialize callbacks for virtual directories."); X@@ -118,7 +120,16 @@ bool cUPnPWebServer::init(){ X } X MESSAGE(VERBOSE_WEBSERVER, "Setting up callbacks"); X X+#ifdef OLDUPNPAPI X if(UpnpSetVirtualDirCallbacks(&cUPnPWebServer::mVirtualDirCallbacks) == UPNP_E_INVALID_ARGUMENT){ X+#else X+ if(UpnpVirtualDir_set_GetInfoCallback(&cUPnPWebServer::getInfo) != UPNP_E_SUCCESS || X+ UpnpVirtualDir_set_OpenCallback(&cUPnPWebServer::open) != UPNP_E_SUCCESS || X+ UpnpVirtualDir_set_ReadCallback(&cUPnPWebServer::read) != UPNP_E_SUCCESS || X+ UpnpVirtualDir_set_WriteCallback(&cUPnPWebServer::write) != UPNP_E_SUCCESS || X+ UpnpVirtualDir_set_SeekCallback(&cUPnPWebServer::seek) != UPNP_E_SUCCESS || X+ UpnpVirtualDir_set_CloseCallback(&cUPnPWebServer::close) != UPNP_E_SUCCESS){ X+#endif X ERROR("The virtual directory callbacks are invalid."); X return false; X } X--- a/upnp/connectionmanager.cpp X+++ b/upnp/connectionmanager.cpp X@@ -7,6 +7,8 @@ X X #include X #include X+/* XXX */ X+#define UPNP_HAVE_TOOLS 1 X #include X #include X #include "upnp/connectionmanager.h" X@@ -70,7 +72,8 @@ int cConnectionManager::execute(Upnp_Act X } X X int cConnectionManager::getProtocolInfo(Upnp_Action_Request* Request){ X- MESSAGE(VERBOSE_CMS, "Protocol info requested by %s.", inet_ntoa(Request->CtrlPtIPAddr)); X+ char buf[64]; X+ MESSAGE(VERBOSE_CMS, "Protocol info requested by %s.", IPAddrP(Request->CtrlPtIPAddr, buf, sizeof buf)); X cString Result = cString::sprintf( X " \ X %s \ X@@ -87,7 +90,8 @@ int cConnectionManager::getProtocolInfo( X } X X int cConnectionManager::getCurrentConnectionIDs(Upnp_Action_Request* Request){ X- MESSAGE(VERBOSE_CMS, "Current connection IDs requested by %s.", inet_ntoa(Request->CtrlPtIPAddr)); X+ char buf[64]; X+ MESSAGE(VERBOSE_CMS, "Current connection IDs requested by %s.", IPAddrP(Request->CtrlPtIPAddr, buf, sizeof buf)); X cString Result; X const char* IDs = this->getConnectionIDsCVS(); X if(!IDs){ X@@ -109,7 +113,8 @@ int cConnectionManager::getCurrentConnec X } X X int cConnectionManager::getCurrentConnectionInfo(Upnp_Action_Request* Request){ X- MESSAGE(VERBOSE_CMS, "Current connection info requested by %s.", inet_ntoa(Request->CtrlPtIPAddr)); X+ char buf[64]; X+ MESSAGE(VERBOSE_CMS, "Current connection info requested by %s.", IPAddrP(Request->CtrlPtIPAddr, buf, sizeof buf)); X int ConnectionID; X X if(this->parseIntegerValue(Request->ActionRequest, "ConnectionID", &ConnectionID) != 0){ X@@ -156,7 +161,8 @@ int cConnectionManager::getCurrentConnec X } X X int cConnectionManager::prepareForConnection(Upnp_Action_Request* Request){ X- MESSAGE(VERBOSE_CMS, "Request for a new connection by %s.", inet_ntoa(Request->CtrlPtIPAddr)); X+ char buf[64]; X+ MESSAGE(VERBOSE_CMS, "Request for a new connection by %s.", IPAddrP(Request->CtrlPtIPAddr, buf, sizeof buf)); X //char* Result = NULL; X char* RemoteProtocolInfo = NULL; X char* PeerConnectionManager = NULL; X@@ -198,7 +204,8 @@ int cConnectionManager::prepareForConnec X } X X int cConnectionManager::connectionComplete(Upnp_Action_Request* Request){ X- MESSAGE(VERBOSE_CMS, "Request for closing an open connection by %s.", inet_ntoa(Request->CtrlPtIPAddr)); X+ char buf[64]; X+ MESSAGE(VERBOSE_CMS, "Request for closing an open connection by %s.", IPAddrP(Request->CtrlPtIPAddr, buf, sizeof buf)); X //char* Result = NULL; X int ConnectionID; X X--- a/upnp/contentdirectory.cpp X+++ b/upnp/contentdirectory.cpp X@@ -6,6 +6,8 @@ X */ X X #include X+/* XXX */ X+#define UPNP_HAVE_TOOLS 1 X #include X #include "upnp/contentdirectory.h" X #include "../common.h" X@@ -84,7 +90,8 @@ int cContentDirectory::execute(Upnp_Acti X X X int cContentDirectory::browse(Upnp_Action_Request* Request){ X- MESSAGE(VERBOSE_CDS, "Browse requested by %s.", inet_ntoa(Request->CtrlPtIPAddr)); X+ char buf[64]; X+ MESSAGE(VERBOSE_CDS, "Browse requested by %s.", IPAddrP(Request->CtrlPtIPAddr, buf, sizeof buf)); X X char* ObjectID = NULL; X if(this->parseStringValue(Request->ActionRequest, "ObjectID", &ObjectID)){ 7298bec934c2b3073ae16c10183b413a echo x - multimedia/vdr-plugin-upnp/files/patch-livetv-channelname sed 's/^X//' >multimedia/vdr-plugin-upnp/files/patch-livetv-channelname << 'cbd8b5f2c4d8b0cdc5b28702dc8b2db7' X--- a/database/metadata.cpp X+++ b/database/metadata.cpp X@@ -364,7 +364,11 @@ void cMediaDatabase::updateChannelEPG(){ X MESSAGE(VERBOSE_EPG_UPDATES, "Updating details"); X X if(Event){ X+#if 1 // XXX easier to find the channels at least on xbmc X+ ChannelItem->setTitle(Channel->Name()); X+#else X ChannelItem->setTitle(Event->Title()?Event->Title():Channel->Name()); X+#endif X ChannelItem->setLongDescription(Event->Description()); X ChannelItem->setDescription(Event->ShortText()); X } cbd8b5f2c4d8b0cdc5b28702dc8b2db7 echo x - multimedia/vdr-plugin-upnp/files/patch-recplayer-seek sed 's/^X//' >multimedia/vdr-plugin-upnp/files/patch-recplayer-seek << '2f1b4972c1fa1276153a7296d8f78934' X--- a/receiver/recplayer.cpp X+++ b/receiver/recplayer.cpp X@@ -97,13 +97,14 @@ int cRecordingPlayer::seek(off_t offset, X } X // finally, we can seek X // TODO: binary search X- for(index = 1; this->mLastOffsets[index]; index++){ X+ for(index = 1; index <= this->mLastFileNumber; index++){ X if(this->mLastOffsets[index-1] <= offset && offset <= this->mLastOffsets[index]){ X relativeOffset = offset - this->mLastOffsets[index-1]; X break; X } X } X- if(!(this->mCurrentFile = this->mRecordingFile->SetOffset(index, relativeOffset))){ X+ if(index > this->mLastFileNumber || X+ !(this->mCurrentFile = this->mRecordingFile->SetOffset(index, relativeOffset))){ X // seeking failed!!! should never happen. X this->mCurrentFile = this->mRecordingFile->SetOffset(1); X return -1; X@@ -115,9 +116,12 @@ int cRecordingPlayer::seek(off_t offset, X void cRecordingPlayer::scanLastOffsets(){ X // rewind X this->mCurrentFile = this->mRecordingFile->SetOffset(1); X- for(int i = 1; (this->mCurrentFile = this->mRecordingFile->NextFile()); i++){ X+ this->mLastOffsets[0] = 0; X+ this->mLastFileNumber = 1; X+ for(int i = 1; this->mCurrentFile; i++){ X this->mLastOffsets[i] = this->mLastOffsets[i-1] + this->mCurrentFile->Seek(0, SEEK_END); X this->mLastFileNumber = this->mRecordingFile->Number(); X+ this->mCurrentFile = this->mRecordingFile->NextFile(); X } X } X 2f1b4972c1fa1276153a7296d8f78934 echo x - multimedia/vdr-plugin-upnp/files/patch-size_t sed 's/^X//' >multimedia/vdr-plugin-upnp/files/patch-size_t << 'b580cdaf092048e7b8639054a1068097' X--- a/database/object.cpp X+++ b/database/object.cpp X@@ -1023,7 +1024,7 @@ void cUPnPObjectFactory::registerMediato X } X MESSAGE(VERBOSE_SDK, "Registering mediator for class '%s'", UPnPClass); X this->mMediators[UPnPClass] = Mediator; X- MESSAGE(VERBOSE_SDK, "Now %d mediators registered", this->mMediators.size()); X+ MESSAGE(VERBOSE_SDK, "Now %ld mediators registered", (long)this->mMediators.size()); X return; X } X X@@ -1040,7 +1041,7 @@ void cUPnPObjectFactory::unregisterMedia X MESSAGE(VERBOSE_SDK, "Unregistering mediator for class '%s'", UPnPClass); X this->mMediators.erase(MediatorIterator); X if(freeMediator) delete MediatorIterator->second; X- MESSAGE(VERBOSE_SDK, "Now %d mediators registered", this->mMediators.size()); X+ MESSAGE(VERBOSE_SDK, "Now %ld mediators registered", (long)this->mMediators.size()); X return; X } X X@@ -1067,7 +1068,7 @@ cMediatorInterface* cUPnPObjectFactory:: X X cMediatorInterface* cUPnPObjectFactory::findMediatorByClass(const char* Class){ X if(!Class){ ERROR("No class specified"); return NULL; } X- MESSAGE(VERBOSE_SQL, "Searching for mediator '%s' in %d mediators", Class, this->mMediators.size()); X+ MESSAGE(VERBOSE_SQL, "Searching for mediator '%s' in %ld mediators", Class, (long)this->mMediators.size()); X tMediatorMap::iterator MediatorIterator = this->mMediators.find(Class); X if(MediatorIterator==this->mMediators.end()){ X ERROR("No matching mediator for class '%s'",Class); X--- a/receiver/recplayer.cpp X+++ b/receiver/recplayer.cpp X@@ -58,7 +58,7 @@ int cRecordingPlayer::read(char* buf, si X ERROR("Current part of record is not open"); X return -1; X } X- MESSAGE(VERBOSE_RECORDS, "Reading %d from record", buflen); X+ MESSAGE(VERBOSE_RECORDS, "Reading %ld from record", (long)buflen); X int bytesread = 0; X while((bytesread = this->mCurrentFile->Read(buf, buflen)) == 0){ // EOF, try next file X if(!(this->mCurrentFile = this->mRecordingFile->NextFile())){ X--- a/server/server.cpp X+++ b/server/server.cpp X@@ -278,7 +281,7 @@ bool cUPnPServer::autoDetectSettings(voi X char** Ifaces = getNetworkInterfaces(&count); X int i=0; X bool ret = false; X- MESSAGE(VERBOSE_CUSTOM_OUTPUT, "AUTODETECT: Found %d possible interfaces.", sizeof(Ifaces)); X+ MESSAGE(VERBOSE_CUSTOM_OUTPUT, "AUTODETECT: Found %ld possible interfaces.", (long)sizeof(Ifaces)); X while(Ifaces[i]){ X if(strcmp(Ifaces[i],"lo")!=0){ X // true || false == true b580cdaf092048e7b8639054a1068097 echo x - multimedia/vdr-plugin-upnp/files/patch-strncpy sed 's/^X//' >multimedia/vdr-plugin-upnp/files/patch-strncpy << '908673aa107bcedf65cbb2320f405751' X--- a/misc/util.cpp X+++ b/misc/util.cpp X@@ -485,7 +519,8 @@ IXML_Element* ixmlAddProperty(IXML_Docum X char tvalue[UPNP_MAX_METADATA_LENGTH]; X // trim the value to max metadata size X if(value){ X- strncpy(tvalue, value, UPNP_MAX_METADATA_LENGTH); X+ strncpy(tvalue, value, UPNP_MAX_METADATA_LENGTH - 1); X+ tvalue[UPNP_MAX_METADATA_LENGTH - 1] = '\0'; X } X X const char* attribute = att(upnpproperty); 908673aa107bcedf65cbb2320f405751 echo c - multimedia/vdr-plugin-vdrmanager/ mkdir -p multimedia/vdr-plugin-vdrmanager/ > /dev/null 2>&1 echo x - multimedia/vdr-plugin-vdrmanager/Makefile sed 's/^X//' >multimedia/vdr-plugin-vdrmanager/Makefile << 'e4297e54d8a8aa871b7fd90802ca7094' X# New ports collection makefile for: vdr-plugin-vdrmanager X# Date created: Fri Mar 23 2012 X# Whom: Juergen Lock X# X# $FreeBSD: ports/multimedia/vdr-plugin-vdrmanager/Makefile,v 1.1 2012/03/23 23:40:42 nox Exp $ X# X XPORTNAME= vdr-plugin-vdrmanager XPORTVERSION= 0.6 XPORTREVISION= 1 XCATEGORIES= multimedia XMASTER_SITES= http://projects.vdr-developer.org/attachments/download/828/ XDISTNAME= ${PORTNAME:S/-plugin//}-${PORTVERSION} X XMAINTAINER= nox@FreeBSD.org XCOMMENT= Video Disk Recorder - VDR-Manager server plugin X XPATCH_STRIP= -p1 XPORTDOCS= COPYING README XMAKE_JOBS_SAFE= yes X X.include "${.CURDIR}/../vdr/Makefile.plugins" X Xpost-patch: post-patch-plugin X Xpost-install: X @${MKDIR} ${PREFIX}/etc/vdr/plugins X @${INSTALL_DATA} ${WRKSRC}/examples/plugin.vdrmanager.conf ${PREFIX}/etc/vdr/plugins/plugin.vdrmanager.conf.sample X.if !defined(NOPORTDOCS) X ${MKDIR} ${DOCSDIR} X (cd ${WRKSRC} && ${INSTALL_DATA} ${PORTDOCS} ${DOCSDIR}) X.endif X X.include e4297e54d8a8aa871b7fd90802ca7094 echo x - multimedia/vdr-plugin-vdrmanager/distinfo sed 's/^X//' >multimedia/vdr-plugin-vdrmanager/distinfo << '37b7be309115b6ce40bf6eb137a7d522' XSHA256 (vdr/vdr-vdrmanager-0.6.tar.gz) = 4298fa4d806a8de77a417ebd36750983822deb861dcc7c85f6038ebef45f5011 XSIZE (vdr/vdr-vdrmanager-0.6.tar.gz) = 33040 37b7be309115b6ce40bf6eb137a7d522 echo x - multimedia/vdr-plugin-vdrmanager/pkg-descr sed 's/^X//' >multimedia/vdr-plugin-vdrmanager/pkg-descr << 'f72fb02a790a50356cc52d9f2d9c9800' XThis helper plugin allows remote programming VDR using XVDR-Manager running on Android devices. X XWWW: http://projects.vdr-developer.org/projects/vdr-manager/wiki f72fb02a790a50356cc52d9f2d9c9800 echo x - multimedia/vdr-plugin-vdrmanager/pkg-plist sed 's/^X//' >multimedia/vdr-plugin-vdrmanager/pkg-plist << '77a1a01572f9549b05af464a531f3634' Xlib/vdr/libvdr-vdrmanager.so.%%APIVERSION%% Xetc/vdr/plugins/plugin.vdrmanager.conf.sample 77a1a01572f9549b05af464a531f3634 echo c - multimedia/vdr-plugin-vdrmanager/files/ mkdir -p multimedia/vdr-plugin-vdrmanager/files/ > /dev/null 2>&1 echo x - multimedia/vdr-plugin-vdrmanager/files/patch-Makefile sed 's/^X//' >multimedia/vdr-plugin-vdrmanager/files/patch-Makefile << 'd54a1c4cc384f126575ea05e6039f7d1' X--- a/Makefile X+++ b/Makefile X@@ -80,3 +80,6 @@ dist: clean X X clean: X @-rm -f $(OBJS) $(DEPFILE) *.so *.tgz core* *~ X+ X+install: X+ ${INSTALL_PROGRAM} $(LIBDIR)/libvdr-$(PLUGIN).so.$(APIVERSION) $(PREFIX)/lib/vdr/libvdr-$(PLUGIN).so.$(APIVERSION) d54a1c4cc384f126575ea05e6039f7d1 echo x - multimedia/vdr-plugin-vdrmanager/files/patch-helpers.cpp sed 's/^X//' >multimedia/vdr-plugin-vdrmanager/files/patch-helpers.cpp << 'd2748551ddabc350b9739e605ba7bd65' X--- a/helpers.cpp X+++ b/helpers.cpp X@@ -4,7 +4,9 @@ X X #include X #include X+#ifndef __FreeBSD__ X #include X+#endif X #include X #include X #include d2748551ddabc350b9739e605ba7bd65 echo x - multimedia/vdr-plugin-vdrmanager/files/patch-sock.h sed 's/^X//' >multimedia/vdr-plugin-vdrmanager/files/patch-sock.h << '087fd262f0dd95f7d7101e7ebf0a33d1' X--- a/sock.h X+++ b/sock.h X@@ -7,6 +7,9 @@ X X #include X #include X+#ifdef __FreeBSD__ X+#include X+#endif X #include X X using namespace std; 087fd262f0dd95f7d7101e7ebf0a33d1 echo c - multimedia/vdr-plugin-vnsiserver/ mkdir -p multimedia/vdr-plugin-vnsiserver/ > /dev/null 2>&1 echo x - multimedia/vdr-plugin-vnsiserver/Makefile sed 's/^X//' >multimedia/vdr-plugin-vnsiserver/Makefile << '163fb3d168fb8a4086f6cda8c40e9cf0' X# New ports collection makefile for: vdr-plugin-vnsiserver X# Date created: Tue Oct 5 21:13:30 CEST 2010 X# Whom: Juergen Lock X# X# $FreeBSD: ports/multimedia/vdr-plugin-vnsiserver/Makefile,v 1.6 2012/01/21 17:32:53 nox Exp $ X# X XPORTNAME= vdr-plugin-vnsiserver XPORTVERSION= 0.0.2s20100808.0952 XPORTREVISION= 11 XCATEGORIES= multimedia XMASTER_SITES= http://ppa.launchpad.net/yavdr/testing-vdr/ubuntu/pool/main/v/vdr-plugin-vnsiserver/ \ X LOCAL/nox/ XDISTNAME= ${PORTNAME}_${DISTVERSIONPREFIX}${DISTVERSION:S/s20/+svn20/}${DISTVERSIONSUFFIX}.orig X XMAINTAINER= nox@FreeBSD.org XCOMMENT= Video Disk Recorder - VNSI server plugin X XPATCH_STRIP= -p1 XHAVE_CONFIGURE= yes XPORTDOCS= COPYING README XMAKE_JOBS_SAFE= yes XWRKSRC= ${WRKDIR}/${PORTNAME}-${DISTVERSIONPREFIX}${DISTVERSION:S/s20/+svn20/}${DISTVERSIONSUFFIX} X X.include "${.CURDIR}/../vdr/Makefile.plugins" X Xpost-patch: post-patch-plugin X Xpost-install: X @${MKDIR} ${PREFIX}/etc/vdr/plugins/${PLUGIN} X @${INSTALL_DATA} ${WRKSRC}/${PLUGIN}/allowed_hosts.conf ${PREFIX}/etc/vdr/plugins/${PLUGIN}/allowed_hosts.conf.sample X @if [ ! -f ${PREFIX}/etc/vdr/plugins/${PLUGIN}/allowed_hosts.conf ]; then \ X ${INSTALL_DATA} -o ${VDR_USER} -g ${VDR_GROUP} ${WRKSRC}/${PLUGIN}/allowed_hosts.conf ${PREFIX}/etc/vdr/plugins/${PLUGIN}; \ X fi X.if !defined(NOPORTDOCS) X ${MKDIR} ${DOCSDIR} X (cd ${WRKSRC} && ${INSTALL_DATA} ${PORTDOCS} ${DOCSDIR}) X.endif X X.include 163fb3d168fb8a4086f6cda8c40e9cf0 echo x - multimedia/vdr-plugin-vnsiserver/distinfo sed 's/^X//' >multimedia/vdr-plugin-vnsiserver/distinfo << '6fdb3e7948aa369c6a9a06753917c6b8' XSHA256 (vdr/vdr-plugin-vnsiserver_0.0.2+svn20100808.0952.orig.tar.gz) = 3763fe0cc853c7e9e22196f4bab5bbf7ce56efac82c44de1e3ab1c6f40a9e375 XSIZE (vdr/vdr-plugin-vnsiserver_0.0.2+svn20100808.0952.orig.tar.gz) = 110497 6fdb3e7948aa369c6a9a06753917c6b8 echo x - multimedia/vdr-plugin-vnsiserver/pkg-descr sed 's/^X//' >multimedia/vdr-plugin-vnsiserver/pkg-descr << 'c26a976da6eb80321ca47a08d2da7be1' Xhttp://www.vdr-wiki.de/wiki/index.php/Vnsi-server-plugin X XVDR-Network-Streaming-Interface plugin (untested, currently used by Xthe XBMC pvr-testing2 branch which hasn't been ported to FreeBSD yet Xat the time of writing.) X XWWW: http://www.vdr-portal.de/board/thread.php?threadid=95292 c26a976da6eb80321ca47a08d2da7be1 echo x - multimedia/vdr-plugin-vnsiserver/pkg-plist sed 's/^X//' >multimedia/vdr-plugin-vnsiserver/pkg-plist << '7088d6615401c25853b2fcf63fa2cf7c' Xlib/vdr/libvdr-vnsiserver.so.%%APIVERSION%% X@unexec if cmp -s %D/etc/vdr/plugins/vnsiserver/allowed_hosts.conf.sample %D/etc/vdr/plugins/vnsiserver/allowed_hosts.conf; then rm -f %D/etc/vdr/plugins/vnsiserver/allowed_hosts.conf; fi Xetc/vdr/plugins/vnsiserver/allowed_hosts.conf.sample X@exec if [ ! -f %D/etc/vdr/plugins/vnsiserver/allowed_hosts.conf ] ; then cp -p %D/%F %B/allowed_hosts.conf; fi X@dirrmtry etc/vdr/plugins/vnsiserver 7088d6615401c25853b2fcf63fa2cf7c echo c - multimedia/vdr-plugin-vnsiserver/files/ mkdir -p multimedia/vdr-plugin-vnsiserver/files/ > /dev/null 2>&1 echo x - multimedia/vdr-plugin-vnsiserver/files/patch-Makefile sed 's/^X//' >multimedia/vdr-plugin-vnsiserver/files/patch-Makefile << 'be23be277b069cf594adc60fcaef15a7' X--- a/Makefile X+++ b/Makefile X@@ -45,7 +45,11 @@ PACKAGE = vdr-$(ARCHIVE) X X ### Includes and Defines (add further entries here): X X+ifdef FREEBSD X+INCLUDES += -I$(VDRDIR) X+else X INCLUDES += -I$(VDRDIR)/include X+endif X X DEFINES += -D_GNU_SOURCE -DPLUGIN_NAME_I18N='"$(PLUGIN)"' X X@@ -109,7 +113,11 @@ i18n: $(I18Nmsgs) $(I18Npot) X X libvdr-$(PLUGIN).so: $(OBJS) X $(CXX) $(CXXFLAGS) -shared $(LIBS) $(OBJS) -o $@ X+ifdef FREEBSD X+ @cp -f $@ $(LIBDIR)/$@.$(APIVERSION) X+else X @cp --remove-destination $@ $(LIBDIR)/$@.$(APIVERSION) X+endif X X dist: clean X @-rm -rf $(TMPDIR)/$(ARCHIVE) X@@ -121,3 +129,6 @@ dist: clean X X clean: X @-rm -f $(OBJS) $(DEPFILE) *.so *.tgz core* *~ $(PODIR)/*.mo $(PODIR)/*.pot X+ X+install: X+ ${INSTALL_PROGRAM} $(LIBDIR)/libvdr-$(PLUGIN).so.$(APIVERSION) $(PREFIX)/lib/vdr/libvdr-$(PLUGIN).so.$(APIVERSION) be23be277b069cf594adc60fcaef15a7 echo x - multimedia/vdr-plugin-vnsiserver/files/patch-cmdcontrol.c sed 's/^X//' >multimedia/vdr-plugin-vnsiserver/files/patch-cmdcontrol.c << 'e6f0d199aab39f4f7bcd13adda9efc5d' X--- a/cmdcontrol.c X+++ b/cmdcontrol.c X@@ -1232,7 +1232,7 @@ bool cCmdControl::processRECORDINGS_Move X return true; X } X } X- else if ((statret == 0) && (! (dstat.st_mode && S_IFDIR))) // Something exists but it's not a dir X+ else if ((statret == 0) && (! (dstat.st_mode & S_IFDIR))) // Something exists but it's not a dir X { X delete[] dateDirName; X delete[] titleDirName; e6f0d199aab39f4f7bcd13adda9efc5d echo x - multimedia/vdr-plugin-vnsiserver/files/patch-cxsocket.c sed 's/^X//' >multimedia/vdr-plugin-vnsiserver/files/patch-cxsocket.c << 'a929d014dd10e5e3171b6b6b774170ab' X--- a/cxsocket.c X+++ b/cxsocket.c X@@ -35,7 +35,7 @@ X #include X #include X #include X-#ifndef __APPLE__ X+#if !defined(__APPLE__) && !defined(__FreeBSD__) X # include X #endif X #include X@@ -191,7 +191,7 @@ bool cxSocket::set_multicast(int ttl) X X bool cxSocket::set_cork(bool state) X { X-#ifdef __APPLE__ X+#if defined(__APPLE__) || defined(__FreeBSD__) X return false; X #else X int iCork = state ? 1 : 0; a929d014dd10e5e3171b6b6b774170ab echo x - multimedia/vdr-plugin-vnsiserver/files/patch-cxsocket.h sed 's/^X//' >multimedia/vdr-plugin-vnsiserver/files/patch-cxsocket.h << '74260708806726f30d0f1a20e17dd3b2' X--- a/cxsocket.h X+++ b/cxsocket.h X@@ -29,6 +29,9 @@ X #ifndef __CXSOCKET_H X #define __CXSOCKET_H X X+#ifdef __FreeBSD__ X+#include X+#endif X #include X #include X #include 74260708806726f30d0f1a20e17dd3b2 echo x - multimedia/vdr-plugin-vnsiserver/files/patch-recplayer.c sed 's/^X//' >multimedia/vdr-plugin-vnsiserver/files/patch-recplayer.c << 'c6694831c881566027faa7afdabee759' X--- a/recplayer.c X+++ b/recplayer.c X@@ -189,8 +189,10 @@ unsigned long cRecPlayer::getBlock(unsig X fseek(m_file, filePosition, SEEK_SET); X fread(&buffer[got], getFromThisSegment, 1, m_file); X X+#ifndef __FreeBSD__ X // Tell linux not to bother keeping the data in the FS cache X posix_fadvise(m_file->_fileno, filePosition, getFromThisSegment, POSIX_FADV_DONTNEED); X+#endif X X got += getFromThisSegment; X currentPosition += getFromThisSegment; c6694831c881566027faa7afdabee759 echo x - multimedia/vdr-plugin-vnsiserver/files/patch-responsepacket.c sed 's/^X//' >multimedia/vdr-plugin-vnsiserver/files/patch-responsepacket.c << '38091792085eea1cb955606ee6e33c9f' X--- a/responsepacket.c X+++ b/responsepacket.c X@@ -27,6 +27,7 @@ X #include X #include X #include X+#include X X #include "responsepacket.h" X #include "vdrcommand.h" 38091792085eea1cb955606ee6e33c9f echo x - multimedia/vdr-plugin-vnsiserver/files/patch-server.c sed 's/^X//' >multimedia/vdr-plugin-vnsiserver/files/patch-server.c << '37e938c0db1bdf56d31d48a4cd627bf4' X--- a/server.c X+++ b/server.c X@@ -151,6 +151,7 @@ void cServer::NewClientConnected(int fd) X int val = 1; X setsockopt(fd, SOL_SOCKET, SO_KEEPALIVE, &val, sizeof(val)); X X+#ifdef SOL_TCP X val = 30; X setsockopt(fd, SOL_TCP, TCP_KEEPIDLE, &val, sizeof(val)); X X@@ -162,6 +163,7 @@ void cServer::NewClientConnected(int fd) X X val = 1; X setsockopt(fd, SOL_TCP, TCP_NODELAY, &val, sizeof(val)); X+#endif X X isyslog("VNSI: Client with ID %d connected: %s", m_IdCnt, cxSocket::ip2txt(sin.sin_addr.s_addr, sin.sin_port, buf)); X cConnection *connection = new cConnection(this, fd, m_IdCnt, cxSocket::ip2txt(sin.sin_addr.s_addr, sin.sin_port, buf)); 37e938c0db1bdf56d31d48a4cd627bf4 echo c - multimedia/vdr-plugin-wirbelscan/ mkdir -p multimedia/vdr-plugin-wirbelscan/ > /dev/null 2>&1 echo x - multimedia/vdr-plugin-wirbelscan/Makefile sed 's/^X//' >multimedia/vdr-plugin-wirbelscan/Makefile << 'a22bd8fcdba7d6eb24af99ddc298e3cd' X# New ports collection makefile for: vdr-plugin-wirbelscan X# Date created: Sat Apr 30 18:33:49 CEST 2011 X# Whom: Juergen Lock X# X# $FreeBSD: ports/multimedia/vdr-plugin-wirbelscan/Makefile,v 1.4 2012/01/21 17:32:53 nox Exp $ X# X XPORTNAME= vdr-plugin-wirbelscan XPORTVERSION= 0.0.7 XPORTREVISION= 4 XCATEGORIES= multimedia XMASTER_SITES= http://wirbel.htpc-forum.de/wirbelscan/ XDISTNAME= ${PORTNAME:S/-plugin-/-/}-${DISTVERSIONPREFIX}${DISTVERSION}${DISTVERSIONSUFFIX} XEXTRACT_SUFX= .tgz X XMAINTAINER= nox@FreeBSD.org XCOMMENT= Video Disk Recorder - wirbelscan plugin X XPATCH_STRIP= -p1 XHAVE_CONFIGURE= yes XPORTDOCS= COPYING README XMAKE_JOBS_SAFE= yes XWRKSRC= ${WRKDIR}/${PLUGIN}-${DISTVERSION} X X.include "${.CURDIR}/../vdr/Makefile.plugins" X Xpost-patch: post-patch-plugin X ${REINPLACE_CMD} -f ${FILESDIR}/types.sed ${WRKSRC}/*.c ${WRKSRC}/*.h X Xpost-install: post-install-pluginlocales X.if !defined(NOPORTDOCS) X ${MKDIR} ${DOCSDIR} X (cd ${WRKSRC} && ${INSTALL_DATA} ${PORTDOCS} ${DOCSDIR}) X.endif X X.include a22bd8fcdba7d6eb24af99ddc298e3cd echo x - multimedia/vdr-plugin-wirbelscan/distinfo sed 's/^X//' >multimedia/vdr-plugin-wirbelscan/distinfo << '9cb0f1fda109dab5400810d1b29d10ef' XSHA256 (vdr/vdr-wirbelscan-0.0.7.tgz) = 42ffc3da1efd2ec6e40e233e4750f9b19ba04aa6e887d9cac960b758e4371dd2 XSIZE (vdr/vdr-wirbelscan-0.0.7.tgz) = 149949 9cb0f1fda109dab5400810d1b29d10ef echo x - multimedia/vdr-plugin-wirbelscan/pkg-descr sed 's/^X//' >multimedia/vdr-plugin-wirbelscan/pkg-descr << 'de0bf53aa959811267640b7ea7df72cd' Xhttp://www.vdr-wiki.de/wiki/index.php/Wirbelscan-plugin X XThis plugin performs a channel scans for digital terrestrial and digital Xcable TV and analog ivtv cards, satellite is also supported. X XWWW: http://wirbel.htpc-forum.de/wirbelscan/index2.html de0bf53aa959811267640b7ea7df72cd echo x - multimedia/vdr-plugin-wirbelscan/pkg-plist sed 's/^X//' >multimedia/vdr-plugin-wirbelscan/pkg-plist << '5a17d82bb92fdec0b30b1a72026c81e3' Xlib/vdr/libvdr-wirbelscan.so.%%APIVERSION%% X%%NLS%%share/locale/fr_FR/LC_MESSAGES/vdr-wirbelscan.mo X%%NLS%%share/locale/sl_SI/LC_MESSAGES/vdr-wirbelscan.mo X%%NLS%%share/locale/ru_RU/LC_MESSAGES/vdr-wirbelscan.mo X%%NLS%%share/locale/hr_HR/LC_MESSAGES/vdr-wirbelscan.mo X%%NLS%%share/locale/nn_NO/LC_MESSAGES/vdr-wirbelscan.mo X%%NLS%%share/locale/de_DE/LC_MESSAGES/vdr-wirbelscan.mo X%%NLS%%share/locale/tr_TR/LC_MESSAGES/vdr-wirbelscan.mo X%%NLS%%share/locale/sv_SE/LC_MESSAGES/vdr-wirbelscan.mo X%%NLS%%share/locale/el_GR/LC_MESSAGES/vdr-wirbelscan.mo X%%NLS%%share/locale/nl_NL/LC_MESSAGES/vdr-wirbelscan.mo X%%NLS%%share/locale/it_IT/LC_MESSAGES/vdr-wirbelscan.mo X%%NLS%%share/locale/es_ES/LC_MESSAGES/vdr-wirbelscan.mo X%%NLS%%share/locale/fi_FI/LC_MESSAGES/vdr-wirbelscan.mo X%%NLS%%share/locale/da_DK/LC_MESSAGES/vdr-wirbelscan.mo X%%NLS%%share/locale/hu_HU/LC_MESSAGES/vdr-wirbelscan.mo X%%NLS%%share/locale/cs_CZ/LC_MESSAGES/vdr-wirbelscan.mo X%%NLS%%share/locale/ca_ES/LC_MESSAGES/vdr-wirbelscan.mo X%%NLS%%share/locale/et_EE/LC_MESSAGES/vdr-wirbelscan.mo X%%NLS%%share/locale/ro_RO/LC_MESSAGES/vdr-wirbelscan.mo X%%NLS%%share/locale/pl_PL/LC_MESSAGES/vdr-wirbelscan.mo X%%NLS%%share/locale/pt_PT/LC_MESSAGES/vdr-wirbelscan.mo 5a17d82bb92fdec0b30b1a72026c81e3 echo c - multimedia/vdr-plugin-wirbelscan/files/ mkdir -p multimedia/vdr-plugin-wirbelscan/files/ > /dev/null 2>&1 echo x - multimedia/vdr-plugin-wirbelscan/files/patch-Makefile sed 's/^X//' >multimedia/vdr-plugin-wirbelscan/files/patch-Makefile << '3bf9302e0240ca4791ff1d4a1673561f' X--- a/Makefile X+++ b/Makefile X@@ -119,7 +119,11 @@ i18n: $(I18Nmsgs) $(I18Npot) X X libvdr-$(PLUGIN).so: $(OBJS) X $(CXX) $(CXXFLAGS) $(LDFLAGS) -shared $(OBJS) -o $@ X+ifdef FREEBSD X+ @cp -f $@ $(LIBDIR)/$@.$(APIVERSION) X+else X @cp --remove-destination $@ $(LIBDIR)/$@.$(APIVERSION) X+endif X X perm: X @chmod 644 *.{c,h,html} COPYING HISTORY README TODO Makefile po/* patches/* X@@ -138,3 +142,6 @@ clean: X X clean_code: clean X uncrustify -c ../../../../clean_code/config --replace --no-backup $(UNCRUSTIFY_FILES) X+ X+install: X+ ${INSTALL_PROGRAM} $(LIBDIR)/libvdr-$(PLUGIN).so.$(APIVERSION) $(PREFIX)/lib/vdr/libvdr-$(PLUGIN).so.$(APIVERSION) 3bf9302e0240ca4791ff1d4a1673561f echo x - multimedia/vdr-plugin-wirbelscan/files/patch-scanner.c sed 's/^X//' >multimedia/vdr-plugin-wirbelscan/files/patch-scanner.c << 'd515a69dcb1bcf92833c68ce6f2cf4e3' X--- a/scanner.c X+++ b/scanner.c X@@ -633,7 +633,7 @@ void cScanner::Action(void) { X else X continue; X cCondWait::SleepMs(2000); X- vbiSupport = vcap.capabilities & (V4L2_CAP_VBI_CAPTURE || V4L2_CAP_SLICED_VBI_CAPTURE); X+ vbiSupport = vcap.capabilities & (V4L2_CAP_VBI_CAPTURE | V4L2_CAP_SLICED_VBI_CAPTURE); X if (vbiSupport) X dlog(1, "device can capture vbi"); X } d515a69dcb1bcf92833c68ce6f2cf4e3 echo x - multimedia/vdr-plugin-wirbelscan/files/types.sed sed 's/^X//' >multimedia/vdr-plugin-wirbelscan/files/types.sed << '4811ad371d5aaa9efd9d6fe944baee8a' X/^#include /i\ X#include Xs/^#include /#include / Xs/__u8/uint8_t/g Xs/__u32/uint32_t/g 4811ad371d5aaa9efd9d6fe944baee8a echo c - multimedia/vdr-plugin-xineliboutput/ mkdir -p multimedia/vdr-plugin-xineliboutput/ > /dev/null 2>&1 echo x - multimedia/vdr-plugin-xineliboutput/Makefile sed 's/^X//' >multimedia/vdr-plugin-xineliboutput/Makefile << 'f2f34ab73057b599a7ea198b62f8bb9f' X# New ports collection makefile for: vdr-plugin-xineliboutput X# Date created: Wed Apr 14 18:11:42 CEST 2010 X# Whom: Juergen Lock X# X# $FreeBSD: ports/multimedia/vdr-plugin-xineliboutput/Makefile,v 1.13 2012/03/22 06:52:34 rm Exp $ X# X XPORTNAME= vdr-plugin-xineliboutput XPORTVERSION= 1.0.90s20120403.2257 XCATEGORIES= multimedia XMASTER_SITES= SF:release \ X LOCAL:snapshot XMASTER_SITE_SUBDIR= xineliboutput/files/xineliboutput/vdr-xineliboutput-${PORTVERSION}/:release \ X nox/:snapshot XDISTNAME= ${PORTNAME}_${DISTVERSIONPREFIX}${DISTVERSION:S/s/+cvs/}${DISTVERSIONSUFFIX} XDISTFILES= ${DISTNAME}${EXTRACT_SUFX}:snapshot X XMAINTAINER= nox@FreeBSD.org XCOMMENT= Video Disk Recorder - xineliboutput plugin/viewer X XLIB_DEPENDS+= xine.2:${PORTSDIR}/multimedia/libxine \ X avutil.1:${PORTSDIR}/multimedia/ffmpeg \ X dbus-glib-1.2:${PORTSDIR}/devel/dbus-glib \ X vdpau.1:${PORTSDIR}/multimedia/libvdpau X XUSE_BZIP2= yes XPATCH_STRIP= -p1 XUSE_GNOME+= pkgconfig XUSE_XORG+= xrandr xrender XUSE_GL= gl glu glut XPORTDOCS= COPYING README XPORTEXAMPLES= xine XMAKE_JOBS_SAFE= yes XWRKSRC= ${WRKDIR}/vdr-${PLUGIN} X X.include "${.CURDIR}/../vdr/Makefile.plugins" X XOPTIONS= LIBBLURAY "Enable libbluray support" off \ X LIBEXTRACTOR "Enable libextractor support" off X X.include X X.if defined(WITH_LIBEXTRACTOR) XLIB_DEPENDS+= extractor.3:${PORTSDIR}/textproc/libextractor XCONFIGURE_OPTS+= --enable-libextractor X.else XCONFIGURE_OPTS+= --disable-libextractor X.endif X X.if defined(WITH_LIBBLURAY) XCONFIGURE_OPTS+= --enable-libbluray XLIB_DEPENDS+= bluray:${PORTSDIR}/multimedia/libbluray X.else XCONFIGURE_OPTS+= --disable-libbluray X.endif X XMAKE_ARGS+= CONFIGURE_OPTS="${CONFIGURE_OPTS}" X Xpost-patch: post-patch-plugin X# clang doesn't know -MG X ${TOUCH} -t 200001010000 ${WRKSRC}/nosignal_720x576.c \ X ${WRKSRC}/black_720x576.c ${WRKSRC}/vdrlogo_720x576.c X Xpost-install: post-install-pluginlocales X @${INSTALL} -o ${VDR_USER} -g ${VDR_GROUP} -d ${PREFIX}/etc/vdr/plugins/${PLUGIN} X @${INSTALL_DATA} ${WRKSRC}/examples/allowed_hosts.conf ${PREFIX}/etc/vdr/plugins/${PLUGIN}/allowed_hosts.conf.sample X @if [ ! -f ${PREFIX}/etc/vdr/plugins/${PLUGIN}/allowed_hosts.conf ]; then \ X ${INSTALL_DATA} ${WRKSRC}/examples/allowed_hosts.conf ${PREFIX}/etc/vdr/plugins/${PLUGIN}; \ X fi X.if !defined(NOPORTEXAMPLES) X ${MKDIR} ${EXAMPLESDIR}/xine X ${INSTALL_DATA} ${FILESDIR}/keymap ${EXAMPLESDIR}/xine X.endif X.if !defined(NOPORTDOCS) X ${MKDIR} ${DOCSDIR} X (cd ${WRKSRC} && ${INSTALL_DATA} ${PORTDOCS} ${DOCSDIR}) X.endif X X.include f2f34ab73057b599a7ea198b62f8bb9f echo x - multimedia/vdr-plugin-xineliboutput/Makefile-xx sed 's/^X//' >multimedia/vdr-plugin-xineliboutput/Makefile-xx << '0294f9cd7cf0988578408d46311718e2' X# New ports collection makefile for: vdr-plugin-xineliboutput X# Date created: Wed Apr 14 18:11:42 CEST 2010 X# Whom: Juergen Lock X# X# $FreeBSD: ports/multimedia/vdr-plugin-xineliboutput/Makefile,v 1.12 2012/02/26 15:22:36 nox Exp $ X# X XPORTNAME= vdr-plugin-xineliboutput XPORTVERSION= 1.0.90s20111129.1002 XPORTREVISION= 3 XCATEGORIES= multimedia XMASTER_SITES= SF:release \ X LOCAL:snapshot XMASTER_SITE_SUBDIR= xineliboutput/files/xineliboutput/vdr-xineliboutput-${PORTVERSION}/:release \ X nox/:snapshot XDISTNAME= ${PORTNAME}_${DISTVERSIONPREFIX}${DISTVERSION:S/s/+cvs/}${DISTVERSIONSUFFIX} XDISTFILES= ${DISTNAME}${EXTRACT_SUFX}:snapshot X XMAINTAINER= nox@FreeBSD.org XCOMMENT= Video Disk Recorder - xineliboutput plugin/viewer X XLIB_DEPENDS+= xine.2:${PORTSDIR}/multimedia/libxine \ X avutil.1:${PORTSDIR}/multimedia/ffmpeg \ X dbus-glib-1.2:${PORTSDIR}/devel/dbus-glib \ X vdpau.1:${PORTSDIR}/multimedia/libvdpau X XUSE_BZIP2= yes XPATCH_STRIP= -p1 XUSE_GNOME+= pkgconfig XUSE_XORG+= xrandr xrender XUSE_GL= gl glu glut XPORTDOCS= COPYING README XPORTEXAMPLES= xine XMAKE_JOBS_SAFE= yes XWRKSRC= ${WRKDIR}/vdr-${PLUGIN} X X.include "${.CURDIR}/../vdr/Makefile.plugins" X X<<<<<<< Makefile XOPTIONS= LIBBLURAY "Enable libbluray support" on \ X LIBEXTRACTOR "Enable libextractor support" off X======= XOPTIONS= LIBBLURAY "Enable libbluray support" off \ X LIBEXTRACTOR "Enable libextractor support" off X>>>>>>> 1.12 X X.include X X.if defined(WITH_LIBEXTRACTOR) XLIB_DEPENDS+= extractor.3:${PORTSDIR}/textproc/libextractor XCONFIGURE_OPTS+= --enable-libextractor X.else XCONFIGURE_OPTS+= --disable-libextractor X.endif X X.if defined(WITH_LIBBLURAY) XCONFIGURE_OPTS+= --enable-libbluray X<<<<<<< Makefile XLIB_DEPENDS+= bluray.1:${PORTSDIR}/multimedia/libbluray XPLIST_SUB+= LIBBLURAY="" X======= XLIB_DEPENDS+= bluray.1:${PORTSDIR}/multimedia/libbluray X>>>>>>> 1.11 X.else XCONFIGURE_OPTS+= --disable-libbluray XPLIST_SUB+= LIBBLURAY="@comment " X.endif X XMAKE_ARGS+= CONFIGURE_OPTS="${CONFIGURE_OPTS}" X X.if defined(WITH_LIBBLURAY) Xpost-build: X (cd ${WRKSRC}/xine/BluRay && ${SETENV} ${MAKE_ENV} ${GMAKE} ${MAKE_FLAGS} ${MAKEFILE} ${_MAKE_JOBS} ${MAKE_ARGS}) X.endif X Xpost-patch: post-patch-plugin X# clang doesn't know -MG X ${TOUCH} -t 200001010000 ${WRKSRC}/nosignal_720x576.c \ X ${WRKSRC}/black_720x576.c ${WRKSRC}/vdrlogo_720x576.c X Xpost-install: post-install-pluginlocales X.if defined(WITH_LIBBLURAY) X (cd ${WRKSRC}/xine/BluRay && ${SETENV} ${MAKE_ENV} ${GMAKE} ${MAKE_FLAGS} ${MAKEFILE} ${_MAKE_JOBS} ${MAKE_ARGS} ${INSTALL_TARGET}) X.endif X @${INSTALL} -o ${VDR_USER} -g ${VDR_GROUP} -d ${PREFIX}/etc/vdr/plugins/${PLUGIN} X @${INSTALL_DATA} ${WRKSRC}/examples/allowed_hosts.conf ${PREFIX}/etc/vdr/plugins/${PLUGIN}/allowed_hosts.conf.sample X @if [ ! -f ${PREFIX}/etc/vdr/plugins/${PLUGIN}/allowed_hosts.conf ]; then \ X ${INSTALL_DATA} ${WRKSRC}/examples/allowed_hosts.conf ${PREFIX}/etc/vdr/plugins/${PLUGIN}; \ X fi X.if !defined(NOPORTEXAMPLES) X ${MKDIR} ${EXAMPLESDIR}/xine X ${INSTALL_DATA} ${FILESDIR}/keymap ${EXAMPLESDIR}/xine X.endif X.if !defined(NOPORTDOCS) X ${MKDIR} ${DOCSDIR} X (cd ${WRKSRC} && ${INSTALL_DATA} ${PORTDOCS} ${DOCSDIR}) X.endif X X.include 0294f9cd7cf0988578408d46311718e2 echo x - multimedia/vdr-plugin-xineliboutput/distinfo sed 's/^X//' >multimedia/vdr-plugin-xineliboutput/distinfo << '589f421b29ae46cbcf5670b775be7832' XSHA256 (vdr/vdr-plugin-xineliboutput_1.0.90+cvs20120403.2257.tar.bz2) = 585d093bc12963d42322be29ccb6800a68f818569311a1f3198f7a0c20a296d3 XSIZE (vdr/vdr-plugin-xineliboutput_1.0.90+cvs20120403.2257.tar.bz2) = 376634 589f421b29ae46cbcf5670b775be7832 echo x - multimedia/vdr-plugin-xineliboutput/pkg-descr sed 's/^X//' >multimedia/vdr-plugin-xineliboutput/pkg-descr << '657a9c65b4306ba88d9239f5da02ded0' Xhttp://www.linuxtv.org/vdrwiki/index.php/Xineliboutput-plugin X XX11 and Linux framebuffer front-end for VDR. XPlugin displays video and OSD in X/Xv/XvMC/VAAPI/VDPAU window, XLinux framebuffer/DirectFB/vidixfb or DXR3 card. X XSupport for local and remote frontends. X XBuilt-in image and media player supports playback of most known Xmedia files (avi/mp3/divx/jpeg/...), DVDs and radio/video streams X(http, rtsp, ...) directly from VDR. X XFreeBSD Note: If you want to use VAAPI/VDPAU make sure the ffmpeg Xand libxine ports are (re)built with the corresponding knobs turned on! X(make config in their port dirs.) X XWWW: http://sourceforge.net/projects/xineliboutput/ 657a9c65b4306ba88d9239f5da02ded0 echo x - multimedia/vdr-plugin-xineliboutput/pkg-plist sed 's/^X//' >multimedia/vdr-plugin-xineliboutput/pkg-plist << '45630207804c732f50834b640b34d693' Xbin/vdr-fbfe Xbin/vdr-sxfe Xlib/xine/plugins/2.1/xineplug_inp_xvdr.so Xlib/xine/plugins/2.1/post/xineplug_post_autocrop.so Xlib/xine/plugins/2.1/post/xineplug_post_swscale.so Xlib/xine/plugins/2.1/post/xineplug_post_audiochannel.so Xlib/vdr/libvdr-xineliboutput.so.%%APIVERSION%% Xlib/vdr/libxineliboutput-sxfe.so.1.0.90-cvs X@unexec if cmp -s %D/etc/vdr/plugins/xineliboutput/allowed_hosts.conf.sample %D/etc/vdr/plugins/xineliboutput/allowed_hosts.conf; then rm -f %D/etc/vdr/plugins/xineliboutput/allowed_hosts.conf; fi Xetc/vdr/plugins/xineliboutput/allowed_hosts.conf.sample X@exec if [ ! -f %D/etc/vdr/plugins/xineliboutput/allowed_hosts.conf ] ; then cp -p %D/%F %B/allowed_hosts.conf; fi X@exec chown %%VDR_USER%%:%%VDR_GROUP%% %D/etc/vdr/plugins/xineliboutput X@dirrmtry etc/vdr/plugins/xineliboutput X%%NLS%%share/locale/cs_CZ/LC_MESSAGES/vdr-xineliboutput.mo X%%NLS%%share/locale/de_DE/LC_MESSAGES/vdr-xineliboutput.mo X%%NLS%%share/locale/et_EE/LC_MESSAGES/vdr-xineliboutput.mo X%%NLS%%share/locale/fi_FI/LC_MESSAGES/vdr-xineliboutput.mo X%%NLS%%share/locale/it_IT/LC_MESSAGES/vdr-xineliboutput.mo X%%NLS%%share/locale/ru_RU/LC_MESSAGES/vdr-xineliboutput.mo X%%NLS%%share/locale/uk_UA/LC_MESSAGES/vdr-xineliboutput.mo X%%NLS%%share/locale/zh_CN/LC_MESSAGES/vdr-xineliboutput.mo X%%NLS%%share/locale/zh_TW/LC_MESSAGES/vdr-xineliboutput.mo 45630207804c732f50834b640b34d693 echo c - multimedia/vdr-plugin-xineliboutput/files/ mkdir -p multimedia/vdr-plugin-xineliboutput/files/ > /dev/null 2>&1 echo x - multimedia/vdr-plugin-xineliboutput/files/keymap sed 's/^X//' >multimedia/vdr-plugin-xineliboutput/files/keymap << '2ac9d0440967078d2c9c0e284adc9e19' X## X# xine key bindings. X# Automatically generated by xine-ui version 0.99.6. X## X X# start playback XPlay { X key = VOID X modifier = none X} X X# playback pause toggle XPause { X key = space X modifier = meta X} X X# stop playback XStop { X key = S X modifier = meta X} X X# take a snapshot XSnapshot { X key = t X modifier = none X} X X# eject the current medium XEject { X key = E X modifier = none X} X X# select and play next MRL in the playlist XNextMrl { X key = Next X modifier = control X} X X# select and play previous MRL in the playlist XPriorMrl { X key = Prior X modifier = control X} X X# select and play MRL in the playlist XSelectMrl { X key = Select X modifier = none X} X X# loop mode toggle XToggleLoopMode { X key = l X modifier = none X} X X# stop playback after played stream XPlaylistStop { X key = l X modifier = control X} X X# scan playlist to grab stream infos XScanPlaylistInfo { X key = s X modifier = control X} X X# add a mediamark from current playback XAddMediamark { X key = a X modifier = control X} X X# edit selected mediamark XMediamarkEditor { X key = e X modifier = control X} X X# set position to -60 seconds in current stream XSeekRelative-60 { X key = VOID X modifier = none X} X X# set position to +60 seconds in current stream XSeekRelative+60 { X key = VOID X modifier = none X} X X# set position to -30 seconds in current stream XSeekRelative-30 { X key = VOID X modifier = meta X} X X# set position to +30 seconds in current stream XSeekRelative+30 { X key = VOID X modifier = meta X} X X# set position to -15 seconds in current stream XSeekRelative-15 { X key = VOID X modifier = control X} X X# set position to +15 seconds in current stream XSeekRelative+15 { X key = VOID X modifier = control X} X X# set position to -7 seconds in current stream XSeekRelative-7 { X key = VOID X modifier = mod3 X} X X# set position to +7 seconds in current stream XSeekRelative+7 { X key = VOID X modifier = mod3 X} X X# set position to beginning of current stream XSetPosition0% { X key = 0 X modifier = control X} X X# set position to 10% of current stream XSetPosition10% { X key = 1 X modifier = control X} X X# set position to 20% of current stream XSetPosition20% { X key = 2 X modifier = control X} X X# set position to 30% of current stream XSetPosition30% { X key = 3 X modifier = control X} X X# set position to 40% of current stream XSetPosition40% { X key = 4 X modifier = control X} X X# set position to 50% of current stream XSetPosition50% { X key = 5 X modifier = control X} X X# set position to 60% of current stream XSetPosition60% { X key = 6 X modifier = control X} X X# set position to 70% of current stream XSetPosition70% { X key = 7 X modifier = control X} X X# set position to 80% of current stream XSetPosition80% { X key = 8 X modifier = control X} X X# set position to 90% of current stream XSetPosition90% { X key = 9 X modifier = control X} X X# set position to 100% of current stream XSetPosition100% { X key = End X modifier = control X} X X# increment playback speed XSpeedFaster { X key = VOID X modifier = none X} X X# decrement playback speed XSpeedSlower { X key = VOID X modifier = none X} X X# reset playback speed XSpeedReset { X key = DOWN X modifier = meta X} X X# increment audio volume XVolume+ { X key = V X modifier = meta X} X X# decrement audio volume XVolume- { X key = v X modifier = meta X} X X# increment amplification level XAmp+ { X key = V X modifier = control X} X X# decrement amplification level XAmp- { X key = v X modifier = control X} X X# reset amplification to default value XResetAmp { X key = A X modifier = control X} X X# audio muting toggle XMute { X key = VOID X modifier = control X} X X# select next audio channel XAudioChannelNext { X key = plus X modifier = none X} X X# select previous audio channel XAudioChannelPrior { X key = minus X modifier = none X} X X# visibility toggle of audio post effect window XAPProcessShow { X key = VOID X modifier = none X} X X# toggle post effect usage XAPProcessEnable { X key = VOID X modifier = none X} X X# select next sub picture (subtitle) channel XSpuNext { X key = period X modifier = none X} X X# select previous sub picture (subtitle) channel XSpuPrior { X key = comma X modifier = none X} X X# interlaced mode toggle XToggleInterleave { X key = I X modifier = none X} X X# cycle aspect ratio values XToggleAspectRatio { X key = A X modifier = none X} X X# reduce the output window size by factor 1.2 XWindowReduce { X key = less X modifier = none X} X X# enlarge the output window size by factor 1.2 XWindowEnlarge { X key = greater X modifier = none X} X X# set video output window to 50% XWindow50 { X key = 1 X modifier = meta X} X X# set video output window to 100% XWindow100 { X key = 2 X modifier = meta X} X X# set video output window to 200% XWindow200 { X key = 3 X modifier = meta X} X X# zoom in XZoomIn { X key = z X modifier = none X} X X# zoom out XZoomOut { X key = Z X modifier = none X} X X# zoom in horizontally XZoomInX { X key = z X modifier = control X} X X# zoom out horizontally XZoomOutX { X key = Z X modifier = control X} X X# zoom in vertically XZoomInY { X key = z X modifier = meta X} X X# zoom out vertically XZoomOutY { X key = Z X modifier = meta X} X X# reset zooming XZoomReset { X key = z X modifier = control, meta X} X X# resize output window to stream size XZoom1:1 { X key = S X modifier = none X} X X# fullscreen toggle XToggleFullscreen { X key = f X modifier = none X} X X# Xinerama fullscreen toggle XToggleXineramaFullscr { X key = F X modifier = none X} X X# jump to media Menu XMenu { X key = Tab X modifier = none X} X X# jump to Title Menu XTitleMenu { X key = VOID X modifier = none X} X X# jump to Root Menu XRootMenu { X key = VOID X modifier = none X} X X# jump to Subpicture Menu XSubpictureMenu { X key = VOID X modifier = none X} X X# jump to Audio Menu XAudioMenu { X key = VOID X modifier = none X} X X# jump to Angle Menu XAngleMenu { X key = F1 X modifier = none X} X X# jump to Part Menu XPartMenu { X key = F2 X modifier = none X} X X# menu navigate up XEventUp { X key = Up X modifier = none X} X X# menu navigate down XEventDown { X key = Down X modifier = none X} X X# menu navigate left XEventLeft { X key = Left X modifier = none X} X X# menu navigate right XEventRight { X key = Right X modifier = none X} X X# menu select XEventSelect { X key = Return X modifier = none X} X X# jump to next chapter XEventNext { X key = KP_Next X modifier = none X} X X# jump to previous chapter XEventPrior { X key = KP_Prior X modifier = none X} X X# select next angle XEventAngleNext { X key = KP_Home X modifier = none X} X X# select previous angle XEventAnglePrior { X key = KP_End X modifier = none X} X X# visibility toggle of help window XHelpShow { X key = h X modifier = meta X} X X# visibility toggle of video post effect window XVPProcessShow { X key = P X modifier = meta X} X X# toggle post effect usage XVPProcessEnable { X key = P X modifier = control, meta X} X X# visibility toggle of output window XToggleWindowVisibility { X key = h X modifier = none X} X X# bordered window toggle of output window XToggleWindowBorder { X key = b X modifier = none X} X X# visibility toggle of UI windows XToggleVisibility { X key = g X modifier = none X} X X# visibility toggle of control window XControlShow { X key = c X modifier = meta X} X X# visibility toggle of mrl browser window XMrlBrowser { X key = m X modifier = meta X} X X# visibility toggle of playlist editor window XPlaylistEditor { X key = p X modifier = meta X} X X# visibility toggle of the setup window XSetupShow { X key = s X modifier = meta X} X X# visibility toggle of the event sender window XEventSenderShow { X key = e X modifier = meta X} X X# visibility toggle of analog TV window XTVAnalogShow { X key = t X modifier = meta X} X X# visibility toggle of log viewer XViewlogShow { X key = l X modifier = meta X} X X# visibility toggle of stream info window XStreamInfosShow { X key = i X modifier = meta X} X X# display stream information using OSD XOSDStreamInfos { X key = i X modifier = control X} X X# display information using OSD XOSDWriteText { X key = VOID X modifier = control X} X X# show OSD menu XOSDMenu { X key = O X modifier = none X} X X# enter key binding editor XKeyBindingEditor { X key = k X modifier = meta X} X X# enable key bindings (not useful to bind a key to it!) XKeyBindingsEnable { X key = VOID X modifier = none X} X X# open file selector XFileSelector { X key = o X modifier = control X} X X# select a subtitle file XSubSelector { X key = S X modifier = control X} X X# download a skin from the skin server XSkinDownload { X key = d X modifier = control X} X X# display MRL/Ident toggle XMrlIdentToggle { X key = t X modifier = control X} X X# grab pointer toggle XGrabPointer { X key = Insert X modifier = meta X} X X# enter the number 0 XNumber0 { X key = 0 X modifier = none X} X X# enter the number 1 XNumber1 { X key = 1 X modifier = none X} X X# enter the number 2 XNumber2 { X key = 2 X modifier = none X} X X# enter the number 3 XNumber3 { X key = 3 X modifier = none X} X X# enter the number 4 XNumber4 { X key = 4 X modifier = none X} X X# enter the number 5 XNumber5 { X key = 5 X modifier = none X} X X# enter the number 6 XNumber6 { X key = 6 X modifier = none X} X X# enter the number 7 XNumber7 { X key = 7 X modifier = none X} X X# enter the number 8 XNumber8 { X key = 8 X modifier = none X} X X# enter the number 9 XNumber9 { X key = 9 X modifier = none X} X X# add 10 to the next entered number XNumber10add { X key = plus X modifier = mod3 X} X X# set position in current stream to numeric percentage XSetPosition% { X key = slash X modifier = none X} X X# set position forward by numeric argument in current stream XSeekRelative+ { X key = VOID X modifier = meta X} X X# set position back by numeric argument in current stream XSeekRelative- { X key = VOID X modifier = mod3 X} X X# change audio video syncing (delay video) XAudioVideoDecay+ { X key = VOID X modifier = none X} X X# change audio video syncing (delay audio) XAudioVideoDecay- { X key = n X modifier = none X} X X# reset audio video syncing offset XAudioVideoDecayReset { X key = Home X modifier = none X} X X# change subtitle syncing (delay video) XSpuVideoDecay+ { X key = M X modifier = none X} X X# change subtitle syncing (delay subtitles) XSpuVideoDecay- { X key = N X modifier = none X} X X# reset subtitle syncing offset XSpuVideoDecayReset { X key = End X modifier = none X} X X# toggle TV modes (on the DXR3) XToggleTVmode { X key = o X modifier = control, meta X} X X# switch Monitor to DPMS standby mode XDPMSStandby { X key = d X modifier = none X} X X# increase hue by 10 XHueControl+ { X key = VOID X modifier = none X} X X# decrease hue by 10 XHueControl- { X key = VOID X modifier = none X} X X# increase saturation by 10 XSaturationControl+ { X key = VOID X modifier = none X} X X# decrease saturation by 10 XSaturationControl- { X key = VOID X modifier = none X} X X# increase brightness by 10 XBrightnessControl+ { X key = VOID X modifier = none X} X X# decrease brightness by 10 XBrightnessControl- { X key = VOID X modifier = none X} X X# increase contrast by 10 XContrastControl+ { X key = VOID X modifier = none X} X X# decrease contrast by 10 XContrastControl- { X key = VOID X modifier = none X} X X# quit the program XQuit { X key = q X modifier = none X} X X# input_pvr: set input XPVRSetInput { X key = VOID X modifier = none X} X X# input_pvr: set frequency XPVRSetFrequency { X key = VOID X modifier = none X} X X# input_pvr: mark the start of a new stream section XPVRSetMark { X key = VOID X modifier = none X} X X# input_pvr: set the name for the current stream section XPVRSetName { X key = VOID X modifier = none X} X X# input_pvr: save the stream section XPVRSave { X key = VOID X modifier = none X} X X# VDR Red button XVDRButtonRed { X key = F5 X modifier = none X} X X# VDR Green button XVDRButtonGreen { X key = F6 X modifier = none X} X X# VDR Yellow button XVDRButtonYellow { X key = F7 X modifier = none X} X X# VDR Blue button XVDRButtonBlue { X key = F8 X modifier = none X} X X# VDR Play XVDRPlay { X key = p X modifier = none X} X X# VDR Pause XVDRPause { X key = space X modifier = none X} X X# VDR Stop XVDRStop { X key = s X modifier = none X} X X# VDR Record XVDRRecord { X key = r X modifier = none X} X X# VDR Fast forward XVDRFastFwd { X key = w X modifier = none X} X X# VDR Fast rewind XVDRFastRew { X key = e X modifier = none X} X X# VDR Power XVDRPower { X key = VOID X modifier = none X} X X# VDR Channel + XVDRChannelPlus { X key = Prior X modifier = none X} X X# VDR Channel - XVDRChannelMinus { X key = Next X modifier = none X} X X# VDR Schedule menu XVDRSchedule { X key = VOID X modifier = none X} X X# VDR Channel menu XVDRChannels { X key = c X modifier = none X} X X# VDR Timers menu XVDRTimers { X key = VOID X modifier = none X} X X# VDR Recordings menu XVDRRecordings { X key = o X modifier = none X} X X# VDR Setup menu XVDRSetup { X key = VOID X modifier = none X} X X# VDR Command menu XVDRCommands { X key = C X modifier = none X} X X# VDR Command back XVDRBack { X key = BackSpace X modifier = none X} X X# VDR User command 1 XVDRUser1 { X key = U X modifier = none X} X X# VDR User command 2 XVDRUser2 { X key = V X modifier = none X} X X# VDR User command 3 XVDRUser3 { X key = W X modifier = none X} X X# VDR User command 4 XVDRUser4 { X key = X X modifier = none X} X X# VDR User command 5 XVDRUser5 { X key = Y X modifier = none X} X X# VDR User command 6 XVDRUser6 { X key = VOID X modifier = none X} X X# VDR User command 7 XVDRUser7 { X key = VOID X modifier = none X} X X# VDR User command 8 XVDRUser8 { X key = VOID X modifier = none X} X X# VDR User command 9 XVDRUser9 { X key = VOID X modifier = none X} X X# VDR Volume + XVDRVolumePlus { X key = KP_Add X modifier = none X} X X# VDR Volume - XVDRVolumeMinus { X key = KP_Subtract X modifier = none X} X X# VDR Mute audio XVDRMute { X key = m X modifier = none X} X X# VDR Audio menu XVDRAudio { X key = a X modifier = none X} X X# VDR Command info XVDRInfo { X key = i X modifier = none X} X X# VDR Previous channel XVDRChannelPrevious { X key = VOID X modifier = none X} X X# VDR Subtiles menu XVDRSubtitles { X key = u X modifier = none X} X X# menu select XAlias { X entry = EventSelect X key = KP_Enter X modifier = none X} X X# jump to media Menu XAlias { X entry = Menu X key = Insert X modifier = none X} X X# enter the number 0 XAlias { X entry = Number0 X key = KP_0 X modifier = none X} X X# enter the number 1 XAlias { X entry = Number1 X key = KP_1 X modifier = none X} X X# enter the number 2 XAlias { X entry = Number2 X key = KP_2 X modifier = none X} X X# enter the number 3 XAlias { X entry = Number3 X key = KP_3 X modifier = none X} X X# enter the number 4 XAlias { X entry = Number4 X key = KP_4 X modifier = none X} X X# enter the number 5 XAlias { X entry = Number5 X key = KP_5 X modifier = none X} X X# enter the number 6 XAlias { X entry = Number6 X key = KP_6 X modifier = none X} X X# enter the number 7 XAlias { X entry = Number7 X key = KP_7 X modifier = none X} X X# enter the number 8 XAlias { X entry = Number8 X key = KP_8 X modifier = none X} X X# enter the number 9 XAlias { X entry = Number9 X key = KP_9 X modifier = none X} X X# VDR Play XAlias { X entry = VDRPlay X key = y X modifier = none X} X X## X# End of xine key bindings. X## 2ac9d0440967078d2c9c0e284adc9e19 echo x - multimedia/vdr-plugin-xineliboutput/files/patch-Makefile sed 's/^X//' >multimedia/vdr-plugin-xineliboutput/files/patch-Makefile << 'ffafd782746c820c5485500c8ba50f31' X--- a/Makefile X+++ b/Makefile X@@ -84,13 +84,8 @@ VDRINCDIR = /usr/local/include X ### check for VDR X ### X X-ifeq ($(ARCH_APPLE_DARWIN), yes) X VDRVERSION = $(shell sed -ne '/define VDRVERSION/s/^.*"\(.*\)".*$$/\1/p' $(VDRDIR)/config.h) X APIVERSION = $(shell sed -ne '/define APIVERSION/s/^.*"\(.*\)".*$$/\1/p' $(VDRDIR)/config.h) X-else X- VDRVERSION = $(shell sed -ne '/define VDRVERSION/ { s/^.*"\(.*\)".*$$/\1/; p }' $(VDRDIR)/config.h) X- APIVERSION = $(shell sed -ne '/define APIVERSION/ { s/^.*"\(.*\)".*$$/\1/; p }' $(VDRDIR)/config.h) X-endif X X VDR_TREE = no X ifeq ($(strip $(VDRVERSION)),) X@@ -199,6 +194,9 @@ endif X ifdef STARTUP_IMAGE_FILE X DEFINES += -DSTARTUP_IMAGE_FILE='"$(STARTUP_IMAGE_FILE)"' X endif X+ifdef LOCALBASE X+ DEFINES += -DLOCALBASE='"$(LOCALBASE)"' X+endif X X X ### X@@ -410,7 +408,7 @@ ifeq ($(XINELIBOUTPUT_VDRPLUGIN), yes) X @echo Installing $(DESTDIR)$(LIBDIR)/$(VDRPLUGIN) X @mkdir -p $(DESTDIR)$(LIBDIR) X @-rm -rf $(DESTDIR)$(LIBDIR)/$(VDRPLUGIN) X- @$(INSTALL) -D -m 0755 $(VDRPLUGIN) $(DESTDIR)$(LIBDIR)/$(VDRPLUGIN) X+ @$(INSTALL) -m 0755 $(VDRPLUGIN) $(DESTDIR)$(LIBDIR)/$(VDRPLUGIN) X endif X endif X ifeq ($(XINELIBOUTPUT_FB), yes) X@@ -441,6 +439,11 @@ ifeq ($(XINELIBOUTPUT_X11), yes) X endif X endif X endif X+ifeq ($(XINELIBOUTPUT_VDRPLUGIN), yes) X+ @$(INSTALL) -m 0755 $(LIBDIR)/$(VDRPLUGIN) $(DESTDIR)/${PREFIX}/lib/vdr X+ @$(INSTALL) -m 0755 $(LIBDIR)/$(VDRPLUGIN_SXFE) $(DESTDIR)/${PREFIX}/lib/vdr X+ X+endif X X dist: clean X @-rm -rf $(TMPDIR)/$(ARCHIVE) ffafd782746c820c5485500c8ba50f31 echo x - multimedia/vdr-plugin-xineliboutput/files/patch-clang sed 's/^X//' >multimedia/vdr-plugin-xineliboutput/files/patch-clang << '6763199d9949c5f7aa63758f53b4547e' X--- a/xine_post_autocrop.c X+++ b/xine_post_autocrop.c X@@ -42,6 +42,7 @@ X */ X X X+#include X #include X X #include X--- a/xine_post_swscale.c X+++ b/xine_post_swscale.c X@@ -37,6 +37,8 @@ X * - Fixed yv12 stretched warp tables generation X */ X X+#include X+ X #include X #include X #include /* DBL_MIN */ X--- a/xine_post_audiochannel.c X+++ b/xine_post_audiochannel.c X@@ -39,6 +39,8 @@ X * X */ X X+#include X+ X #include X #include X 6763199d9949c5f7aa63758f53b4547e echo x - multimedia/vdr-plugin-xineliboutput/files/patch-config.c sed 's/^X//' >multimedia/vdr-plugin-xineliboutput/files/patch-config.c << '5c2e16d94f7353bf3e76e1ed1ecd6245' X--- a/config.c X+++ b/config.c X@@ -544,7 +544,11 @@ config_t::config_t() { X memset(audio_equalizer,0,sizeof(audio_equalizer)); X strn0cpy(audio_visualization, "goom", sizeof(audio_visualization)); X strn0cpy(audio_vis_goom_opts, "fps:25,width:720,height:576", sizeof(audio_vis_goom_opts)); X+#ifdef LOCALBASE X+ strn0cpy(audio_vis_image_mrl, "file:" LOCALBASE "/share/xine/visuals/default.avi", sizeof(audio_vis_image_mrl)); X+#else X strn0cpy(audio_vis_image_mrl, "file:/usr/share/xine/visuals/default.avi", sizeof(audio_vis_image_mrl)); X+#endif X X headphone = 0; X audio_upmix = 0; 5c2e16d94f7353bf3e76e1ed1ecd6245 echo x - multimedia/vdr-plugin-xineliboutput/files/patch-configure sed 's/^X//' >multimedia/vdr-plugin-xineliboutput/files/patch-configure << 'b508ef6e09cc604ef929e999703dbc09' X--- a/configure X+++ a/configure X@@ -349,11 +349,14 @@ test_pkgconfig X [ $debug = yes ] && \ X test_library X11 do_error "none.h" "-lnolib" X X-test_library VDR libextractor "extractor.h" "-lextractor" "EXTRACTOR_getKeywords(0,0)" X-test_library VDR libcap "sys/capability.h" "-lcap" "cap_get_proc()" X-test_library VDR libbluray "libbluray/bluray.h" "-lbluray" "bd_get_disc_info(0)" X-test_library XINE libxine "xine.h" "-lxine" "xine_init(0)" X-test_library DLFCN dlfcn "dlfcn.h" "-ldl" "dlopen(0,0)" X+#test_library VDR libextractor "extractor.h" "-lextractor" "EXTRACTOR_getKeywords(0,0)" X+test_library VDR libextractor "extractor.h" "-lextractor" "EXTRACTOR_getKeywords(0,0)" "-I${LOCALBASE}/include -L${LOCALBASE}/lib" X+#test_library VDR libcap "sys/capability.h" "-lcap" "cap_get_proc()" X+#test_library VDR libbluray "libbluray/bluray.h" "-lbluray" "bd_get_disc_info(0)" X+test_library VDR libbluray "libbluray/bluray.h" "-lbluray" "bd_get_disc_info(0)" "-I${LOCALBASE}/include -L${LOCALBASE}/lib" X+#test_library XINE libxine "xine.h" "-lxine" "xine_init(0)" X+test_library XINE libxine "xine.h" "-lxine" "xine_init(0)" "-I${LOCALBASE}/include -L${LOCALBASE}/lib" X+test_library DLFCN dlfcn "dlfcn.h" "" "dlopen(0,0)" X X if enabled libxine; then X X@@ -365,24 +368,40 @@ if enabled libxine; then X fi X log " $XINEPLUGINDIR" X X- test_library AVUTIL libavutil "libavutil/mem.h" "-lavutil" "av_mallocz(1)" X- test_library JPEG libjpeg "jpeglib.h" "-ljpeg" "jpeg_create_compress(0)" X- test_library X11 x11 "X11/X.h" "-lX11" "XInitThreads()" X+# test_library AVUTIL libavutil "libavutil/mem.h" "-lavutil" "av_mallocz(1)" X+ test_library AVUTIL libavutil "libavutil/mem.h" "-lavutil" "av_mallocz(1)" "-I${LOCALBASE}/include -L${LOCALBASE}/lib" X+# test_library JPEG libjpeg "jpeglib.h" "-ljpeg" "jpeg_create_compress(0)" X+ test_library JPEG libjpeg "jpeglib.h" "-ljpeg" "jpeg_create_compress(0)" "-I${LOCALBASE}/include -L${LOCALBASE}/lib" X+# test_library X11 x11 "X11/X.h" "-lX11" "XInitThreads()" X+ test_library X11 x11 "X11/X.h" "-lX11" "XInitThreads()" "-I${LOCALBASE}/include -L${LOCALBASE}/lib" X test_library PTHREAD pthread "pthread.h" "-lpthread" "pthread_create(0,0,0,0)" X if enabled x11; then X- test_library X11 xext "X11/extensions/Xext.h" "-lXext" "" X- test_library X11 xshm "X11/extensions/XShm.h" "-lXext" "XShmQueryExtension(0)" X- test_library X11 xrender "X11/extensions/Xrender.h" "-lXrender" "XRenderQueryFormats(0)" X- test_library X11 xshape "X11/extensions/shape.h" "-lXext" "XShapeQueryExtension(0,0,0)" X- test_library X11 xdpms "X11/extensions/dpms.h" "-lXext" "DPMSDisable(0)" X- test_library X11 xinerama "X11/extensions/Xinerama.h" "-lXinerama" "XineramaQueryScreens(0,0)" X- test_library X11 opengl "GL/glx.h" "-lGL -lGLU" "glXQueryVersion(0,0,0)" X- test_library none vdpau "vdpau/vdpau_x11.h" "-lvdpau" "vdp_device_create_x11(0,0,0,0)" X+# test_library X11 xext "X11/extensions/Xext.h" "-lXext" "" X+ test_library X11 xext "X11/extensions/Xext.h" "-lXext" "" "-I${LOCALBASE}/include -L${LOCALBASE}/lib" X+# test_library X11 xshm "X11/extensions/XShm.h" "-lXext" "XShmQueryExtension(0)" X+ test_library X11 xshm "X11/extensions/XShm.h" "-lXext" "XShmQueryExtension(0)" "-I${LOCALBASE}/include -L${LOCALBASE}/lib" X+# test_library X11 xrender "X11/extensions/Xrender.h" "-lXrender" "XRenderQueryFormats(0)" X+ test_library X11 xrender "X11/extensions/Xrender.h" "-lXrender" "XRenderQueryFormats(0)" "-I${LOCALBASE}/include -L${LOCALBASE}/lib" X+# test_library X11 xshape "X11/extensions/shape.h" "-lXext" "XShapeQueryExtension(0,0,0)" X+ test_library X11 xshape "X11/extensions/shape.h" "-lXext" "XShapeQueryExtension(0,0,0)" "-I${LOCALBASE}/include -L${LOCALBASE}/lib" X+# test_library X11 xdpms "X11/extensions/dpms.h" "-lXext" "DPMSDisable(0)" X+ test_library X11 xdpms "X11/extensions/dpms.h" "-lXext" "DPMSDisable(0)" "-I${LOCALBASE}/include -L${LOCALBASE}/lib" X+# test_library X11 xinerama "X11/extensions/Xinerama.h" "-lXinerama" "XineramaQueryScreens(0,0)" X+ test_library X11 xinerama "X11/extensions/Xinerama.h" "-lXinerama" "XineramaQueryScreens(0,0)" "-I${LOCALBASE}/include -L${LOCALBASE}/lib" X+# test_library X11 opengl "GL/glx.h" "-lGL -lGLU" "glXQueryVersion(0,0,0)" X+ test_library X11 opengl "GL/glx.h" "-lGL -lGLU" "glXQueryVersion(0,0,0)" "-I${LOCALBASE}/include -L${LOCALBASE}/lib" X+# test_library none vdpau "vdpau/vdpau_x11.h" "-lvdpau" "vdp_device_create_x11(0,0,0,0)" X+ test_library none vdpau "vdpau/vdpau_x11.h" "-lvdpau" "vdp_device_create_x11(0,0,0,0)" "-I${LOCALBASE}/include -L${LOCALBASE}/lib" X+# test_library X11 dbus-glib-1 \ X+# "dbus/dbus-glib.h" \ X+# "-ldbus-glib-1 -lgobject-2.0 -lglib-2.0" \ X+# "dbus_g_bus_get(0,0)" \ X+# "-I/usr/include/dbus-1.0 -I/usr/lib64/dbus-1.0/include -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include" X test_library X11 dbus-glib-1 \ X "dbus/dbus-glib.h" \ X "-ldbus-glib-1 -lgobject-2.0 -lglib-2.0" \ X "dbus_g_bus_get(0,0)" \ X- "-I/usr/include/dbus-1.0 -I/usr/lib64/dbus-1.0/include -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include" X+ "-I/usr/include/dbus-1.0 -I${LOCALBASE}/include/dbus-1.0 -I/usr/include/glib-2.0 -I${LOCALBASE}/include/glib-2.0 -L${LOCALBASE}/lib" X fi X fi X b508ef6e09cc604ef929e999703dbc09 echo x - multimedia/vdr-plugin-xineliboutput/files/patch-tools-sys_cap.h sed 's/^X//' >multimedia/vdr-plugin-xineliboutput/files/patch-tools-sys_cap.h << '2ade0b79e5ae0dd94106e17e14f266f5' X--- a/tools/sys_cap.h X+++ b/tools/sys_cap.h X@@ -11,7 +11,9 @@ X #ifndef _XINELIBOUTPUT_SYS_CAP_H_ X #define _XINELIBOUTPUT_SYS_CAP_H_ X X-#include "../features.h" X+#ifdef HAVE_LIBCAP X+# include "../features.h" X+#endif X X #include X #include 2ade0b79e5ae0dd94106e17e14f266f5 echo x - multimedia/vdr-plugin-xineliboutput/files/patch-xine_frontend_main.c sed 's/^X//' >multimedia/vdr-plugin-xineliboutput/files/patch-xine_frontend_main.c << 'a115502e58ba7ca69e1685e8bc10221f' X--- a/xine_frontend_main.c X+++ b/xine_frontend_main.c X@@ -629,7 +629,7 @@ int main(int argc, char *argv[]) X case 'C': config_file = optarg; X PRINTF("Config file: %s\n", config_file); X break; X- case 'L': lirc_dev = strdup(optarg ? : "/dev/lircd"); X+ case 'L': lirc_dev = strdup(optarg ? : "/var/run/lirc/lircd"); X if (strstr(lirc_dev, ",repeatemu")) { X *strstr(lirc_dev, ",repeatemu") = 0; X repeat_emu = 1; a115502e58ba7ca69e1685e8bc10221f echo x - multimedia/vdr-plugin-xineliboutput/files/patch-xine_input_vdr.c sed 's/^X//' >multimedia/vdr-plugin-xineliboutput/files/patch-xine_input_vdr.c << '7b7d33056d99a8f932f0b3becbbfd363' 7b7d33056d99a8f932f0b3becbbfd363 echo x - multimedia/vdr-plugin-xineliboutput/files/patch-xine_post_audiochannel.c sed 's/^X//' >multimedia/vdr-plugin-xineliboutput/files/patch-xine_post_audiochannel.c << 'c45c90b3a2ac234c77e0a1c8521a2b33' c45c90b3a2ac234c77e0a1c8521a2b33 echo c - multimedia/vdr-plugin-xvdr/ mkdir -p multimedia/vdr-plugin-xvdr/ > /dev/null 2>&1 echo x - multimedia/vdr-plugin-xvdr/Makefile sed 's/^X//' >multimedia/vdr-plugin-xvdr/Makefile << '784c097a9d9ab9fb609b0e02cf8e22e1' X# New ports collection makefile for: vdr-plugin-xvdr X# Date created: Sat Oct 8 17:45:22 CEST 2011 X# Whom: Juergen Lock X# X# $FreeBSD: ports/multimedia/vdr-plugin-xvdr/Makefile,v 1.3 2012/01/21 17:32:54 nox Exp $ X# X XPORTNAME= vdr-plugin-xvdr XPORTVERSION= 0.9.5 XPORTREVISION= 3 XCATEGORIES= multimedia XMASTER_SITES= LOCAL/nox/ XDISTNAME= pipelka-${PORTNAME}-xvdr-${PORTVERSION}-0-g${GITHASH} X XMAINTAINER= nox@FreeBSD.org XCOMMENT= Video Disk Recorder - XVDR server plugin X XGITHASH= e4cab47 XPATCH_STRIP= -p1 XHAVE_CONFIGURE= yes XPORTDOCS= COPYING README XMAKE_JOBS_SAFE= yes XWRKSRC= ${WRKDIR}/pipelka-${PORTNAME}-${GITHASH} X X.include "${.CURDIR}/../vdr/Makefile.plugins" X Xpost-patch: post-patch-plugin X Xpost-install: X @${MKDIR} ${PREFIX}/etc/vdr/plugins/${PLUGIN} X @${INSTALL_DATA} ${WRKSRC}/${PLUGIN}/allowed_hosts.conf ${PREFIX}/etc/vdr/plugins/${PLUGIN}/allowed_hosts.conf.sample X @if [ ! -f ${PREFIX}/etc/vdr/plugins/${PLUGIN}/allowed_hosts.conf ]; then \ X ${INSTALL_DATA} -o ${VDR_USER} -g ${VDR_GROUP} ${WRKSRC}/${PLUGIN}/allowed_hosts.conf ${PREFIX}/etc/vdr/plugins/${PLUGIN}; \ X fi X.if !defined(NOPORTDOCS) X ${MKDIR} ${DOCSDIR} X (cd ${WRKSRC} && ${INSTALL_DATA} ${PORTDOCS} ${DOCSDIR}) X.endif X X.include 784c097a9d9ab9fb609b0e02cf8e22e1 echo x - multimedia/vdr-plugin-xvdr/distinfo sed 's/^X//' >multimedia/vdr-plugin-xvdr/distinfo << '1915ad2e4ea827193455970cde228ef3' XSHA256 (vdr/pipelka-vdr-plugin-xvdr-xvdr-0.9.5-0-ge4cab47.tar.gz) = 791de7fea6b8fd355a38041b5d660b5f09a3fe7221c4cdfa86624f8ad2d8d6f3 XSIZE (vdr/pipelka-vdr-plugin-xvdr-xvdr-0.9.5-0-ge4cab47.tar.gz) = 62582 1915ad2e4ea827193455970cde228ef3 echo x - multimedia/vdr-plugin-xvdr/pkg-descr sed 's/^X//' >multimedia/vdr-plugin-xvdr/pkg-descr << '6ed5083bce65a96d618fc99eec7de6d0' XVDR plugin to handle XBMC clients. XThe vdr-plugin-xvdr is able to handle serveral XBMC clients connecting Xvia the XVDR addon. X XWWW: https://github.com/pipelka/vdr-plugin-xvdr 6ed5083bce65a96d618fc99eec7de6d0 echo x - multimedia/vdr-plugin-xvdr/pkg-plist sed 's/^X//' >multimedia/vdr-plugin-xvdr/pkg-plist << 'c6142986aae63ef2fa3297255c349664' Xlib/vdr/libvdr-xvdr.so.%%APIVERSION%% X@unexec if cmp -s %D/etc/vdr/plugins/xvdr/allowed_hosts.conf.sample %D/etc/vdr/plugins/xvdr/allowed_hosts.conf; then rm -f %D/etc/vdr/plugins/xvdr/allowed_hosts.conf; fi Xetc/vdr/plugins/xvdr/allowed_hosts.conf.sample X@exec if [ ! -f %D/etc/vdr/plugins/xvdr/allowed_hosts.conf ] ; then cp -p %D/%F %B/allowed_hosts.conf; fi X@dirrmtry etc/vdr/plugins/xvdr c6142986aae63ef2fa3297255c349664 echo c - multimedia/vdr-plugin-xvdr/files/ mkdir -p multimedia/vdr-plugin-xvdr/files/ > /dev/null 2>&1 echo x - multimedia/vdr-plugin-xvdr/files/patch-81bde12cd5d36a5bb0f1bc5791977b58cc34f91e sed 's/^X//' >multimedia/vdr-plugin-xvdr/files/patch-81bde12cd5d36a5bb0f1bc5791977b58cc34f91e << '86741c6ee7950e08afe76efb6ae1abf6' Xcommit 81bde12cd5d36a5bb0f1bc5791977b58cc34f91e XAuthor: Alexander Pipelka XDate: Mon Dec 19 10:30:16 2011 +0100 X X wait until streaming stopped before switching to a new channel, thanks Juergen Lock X Xdiff --git a/src/xvdr/xvdrclient.c b/src/xvdr/xvdrclient.c Xindex ced735e..8078454 100644 X--- a/src/xvdr/xvdrclient.c X+++ b/src/xvdr/xvdrclient.c X@@ -72,6 +72,7 @@ static uint32_t recid2uid(const char* recid) X } X X cMutex cXVDRClient::m_timerLock; X+cMutex cXVDRClient::m_switchLock; X X cXVDRClient::cXVDRClient(int fd, unsigned int id, const char *ClientAdr) X { X@@ -183,6 +184,7 @@ void cXVDRClient::Action(void) X X bool cXVDRClient::StartChannelStreaming(const cChannel *channel, uint32_t timeout) X { X+ cMutexLock lock(&m_switchLock); X m_Streamer = new cLiveStreamer(timeout); X m_Streamer->SetLanguage(m_LanguageIndex, m_LangStreamType); X X@@ -192,12 +194,10 @@ bool cXVDRClient::StartChannelStreaming(const cChannel *channel, uint32_t timeou X X void cXVDRClient::StopChannelStreaming() X { X+ cMutexLock lock(&m_switchLock); X+ delete m_Streamer; X+ m_Streamer = NULL; X m_isStreaming = false; X- if (m_Streamer) X- { X- delete m_Streamer; X- m_Streamer = NULL; X- } X } X X void cXVDRClient::TimerChange(const cTimer *Timer, eTimerChange Change) X@@ -640,8 +640,7 @@ bool cXVDRClient::processChannelStream_Open() /* OPCODE 20 */ X if(timeout == 0) X timeout = XVDRServerConfig.stream_timeout; X X- if (m_isStreaming) X- StopChannelStreaming(); X+ StopChannelStreaming(); X X Channels.Lock(false); X const cChannel *channel = NULL; X@@ -679,9 +678,7 @@ bool cXVDRClient::processChannelStream_Open() /* OPCODE 20 */ X X bool cXVDRClient::processChannelStream_Close() /* OPCODE 21 */ X { X- if (m_isStreaming) X- StopChannelStreaming(); X- X+ StopChannelStreaming(); X return true; X } X Xdiff --git a/src/xvdr/xvdrclient.h b/src/xvdr/xvdrclient.h Xindex e602c70..99bae64 100644 X--- a/src/xvdr/xvdrclient.h X+++ b/src/xvdr/xvdrclient.h X@@ -64,6 +64,7 @@ private: X uint32_t m_protocolVersion; X cMutex m_msgLock; X static cMutex m_timerLock; X+ static cMutex m_switchLock; X int m_compressionLevel; X int m_LanguageIndex; X eStreamType m_LangStreamType; 86741c6ee7950e08afe76efb6ae1abf6 echo x - multimedia/vdr-plugin-xvdr/files/patch-Makefile sed 's/^X//' >multimedia/vdr-plugin-xvdr/files/patch-Makefile << 'a3b8ece0b15988f8ad7b4f252e91e695' X--- a/Makefile X+++ b/Makefile X@@ -114,5 +114,4 @@ clean: X @-rm -f $(OBJS) $(DEPFILE) *.so *.tgz core* *~ X X install: X- @install -d ../../man X- @install README ../../man/$(PLUGIN).man X+ ${INSTALL_PROGRAM} $(LIBDIR)/libvdr-$(PLUGIN).so.$(APIVERSION) $(PREFIX)/lib/vdr/libvdr-$(PLUGIN).so.$(APIVERSION) a3b8ece0b15988f8ad7b4f252e91e695 echo x - multimedia/vdr-plugin-xvdr/files/patch-rofafor sed 's/^X//' >multimedia/vdr-plugin-xvdr/files/patch-rofafor << 'acc68e7c45a3db0d9222c90e08b28097' Xdiff --git a/src/live/livepatfilter.c b/src/live/livepatfilter.c Xindex e811c8c..f1b94fd 100644 X--- a/src/live/livepatfilter.c X+++ b/src/live/livepatfilter.c X@@ -447,7 +447,7 @@ void cLivePatFilter::Process(u_short Pid, u_char Tid, const u_char *Data, int Le X } X } X X- m_Streamer->m_Receiver = new cLiveReceiver(m_Streamer, m_Channel->GetChannelID(), m_Streamer->m_Priority, m_Streamer->m_Pids); X+ m_Streamer->m_Receiver = new cLiveReceiver(m_Streamer, m_Channel, m_Streamer->m_Priority, m_Streamer->m_Pids); X m_Streamer->m_Device->AttachReceiver(m_Streamer->m_Receiver); X INFOLOG("Currently unknown new streams found, requesting stream change"); X m_Streamer->RequestStreamChange(); Xdiff --git a/src/live/livereceiver.c b/src/live/livereceiver.c Xindex 34f5ba8..528f65a 100644 X--- a/src/live/livereceiver.c X+++ b/src/live/livereceiver.c X@@ -27,10 +27,12 @@ X #include "livereceiver.h" X #include "livestreamer.h" X X-cLiveReceiver::cLiveReceiver(cLiveStreamer *Streamer, tChannelID ChannelID, int Priority, const int *Pids) X- : cReceiver(ChannelID, Priority, 0, Pids) X+cLiveReceiver::cLiveReceiver(cLiveStreamer *Streamer, const cChannel *Channel, int Priority, const int *Pids) X+ : cReceiver(Channel, Priority) X , m_Streamer(Streamer) X { X+ AddPid(0); X+ AddPids(Pids); X DEBUGLOG("Starting live receiver"); X } X Xdiff --git a/src/live/livereceiver.h b/src/live/livereceiver.h Xindex 8d23522..2ccd8bf 100644 X--- a/src/live/livereceiver.h X+++ b/src/live/livereceiver.h X@@ -42,7 +42,7 @@ protected: X virtual void Receive(uchar *Data, int Length); X X public: X- cLiveReceiver(cLiveStreamer *Streamer, tChannelID ChannelID, int Priority, const int *Pids); X+ cLiveReceiver(cLiveStreamer *Streamer, const cChannel *Channel, int Priority, const int *Pids); X virtual ~cLiveReceiver(); X }; X Xdiff --git a/src/live/livestreamer.c b/src/live/livestreamer.c Xindex a2d6826..6bafc02 100644 X--- a/src/live/livestreamer.c X+++ b/src/live/livestreamer.c X@@ -406,7 +406,7 @@ bool cLiveStreamer::StreamChannel(const cChannel *channel, int priority, cxSocke X if (m_NumStreams > 0 && m_Socket) X { X DEBUGLOG("Creating new live Receiver"); X- m_Receiver = new cLiveReceiver(this, m_Channel->GetChannelID(), m_Priority, m_Pids); X+ m_Receiver = new cLiveReceiver(this, m_Channel, m_Priority, m_Pids); X m_PatFilter = new cLivePatFilter(this, m_Channel); X m_Device->AttachReceiver(m_Receiver); X m_Device->AttachFilter(m_PatFilter); Xdiff --git a/src/xvdr/xvdrclient.c b/src/xvdr/xvdrclient.c Xindex cea1af2..931ea61 100644 X--- a/src/xvdr/xvdrclient.c X+++ b/src/xvdr/xvdrclient.c X@@ -1572,7 +1572,7 @@ bool cXVDRClient::processRECORDINGS_GetList() /* OPCODE 102 */ X } X else X { X- recordingStart = recording->start; X+ recordingStart = recording->Start(); X } X } X DEBUGLOG("GRI: RC: recordingStart=%lu recordingDuration=%i", recordingStart, recordingDuration); X@@ -1584,10 +1584,10 @@ bool cXVDRClient::processRECORDINGS_GetList() /* OPCODE 102 */ X m_resp->add_U32(recordingDuration); X X // priority X- m_resp->add_U32(recording->priority); X+ m_resp->add_U32(recording->Priority()); X X // lifetime X- m_resp->add_U32(recording->lifetime); X+ m_resp->add_U32(recording->Lifetime()); X X // channel_name X m_resp->add_String(recording->Info()->ChannelName() ? m_toUTF8.Convert(recording->Info()->ChannelName()) : ""); acc68e7c45a3db0d9222c90e08b28097 echo x - multimedia/vdr-plugin-xvdr/files/patch-src-live-livestreamer.c sed 's/^X//' >multimedia/vdr-plugin-xvdr/files/patch-src-live-livestreamer.c << 'a15b211ee0187f23475da793931838af' X--- a/src/live/livestreamer.c X+++ b/src/live/livestreamer.c X@@ -29,7 +29,12 @@ X #include X #include X #include X+#ifdef __FreeBSD__ X+#include X+#define __cpu_to_be64 htobe64 X+#else X #include X+#endif X X #include "config/config.h" X #include "net/cxsocket.h" a15b211ee0187f23475da793931838af echo x - multimedia/vdr-plugin-xvdr/files/patch-src-net-cxsocket.c sed 's/^X//' >multimedia/vdr-plugin-xvdr/files/patch-src-net-cxsocket.c << '99deb3798111118ac2aafe8a530a153c' X--- a/src/net/cxsocket.c X--- b/src/net/cxsocket.c X@@ -48,6 +48,10 @@ X #include "config/config.h" X #include "cxsocket.h" X X+#ifndef MSG_MORE X+#define MSG_MORE 0 X+#endif X+ X cxSocket::~cxSocket() X { X close(); 99deb3798111118ac2aafe8a530a153c echo x - multimedia/vdr-plugin-xvdr/files/patch-src-net-cxsocket.h sed 's/^X//' >multimedia/vdr-plugin-xvdr/files/patch-src-net-cxsocket.h << '7823b40dad65a2e81ae89fc05e760032' X--- a/src/net/cxsocket.h X+++ b/src/net/cxsocket.h X@@ -29,6 +29,9 @@ X #ifndef __CXSOCKET_H X #define __CXSOCKET_H X X+#ifdef __FreeBSD__ X+#include X+#endif X #include X #include X #include 7823b40dad65a2e81ae89fc05e760032 echo x - multimedia/vdr-plugin-xvdr/files/patch-src-net-requestpacket.c sed 's/^X//' >multimedia/vdr-plugin-xvdr/files/patch-src-net-requestpacket.c << '474ce3012a149dda8ac1501fa6a27de2' X--- a/src/net/requestpacket.c X+++ b/src/net/requestpacket.c X@@ -28,7 +28,13 @@ X #include X #include X X+#ifdef __FreeBSD__ X+#include X+#define __cpu_to_be64 htobe64 X+#define __be64_to_cpu be64toh X+#else X #include X+#endif X X #include "xvdr/xvdrcommand.h" X #include "config/config.h" 474ce3012a149dda8ac1501fa6a27de2 echo x - multimedia/vdr-plugin-xvdr/files/patch-src-net-responsepacket.c sed 's/^X//' >multimedia/vdr-plugin-xvdr/files/patch-src-net-responsepacket.c << '3cf16ef91b19f9037be8157dca2f5da8' X--- a/src/net/responsepacket.c X+++ b/src/net/responsepacket.c X@@ -31,7 +31,12 @@ X #include X #include X #include X+#ifdef __FreeBSD__ X+#include X+#define __cpu_to_be64 htobe64 X+#else X #include X+#endif X #include X X #include "config/config.h" 3cf16ef91b19f9037be8157dca2f5da8 echo x - multimedia/vdr-plugin-xvdr/files/patch-src-recordings-recplayer.c sed 's/^X//' >multimedia/vdr-plugin-xvdr/files/patch-src-recordings-recplayer.c << '6baef863c3c00ea857410fff8b8623ec' X--- a/src/recordings/recplayer.c X+++ b/src/recordings/recplayer.c X@@ -36,6 +36,10 @@ X X #include "config/config.h" X X+#ifndef O_NOATIME X+#define O_NOATIME 0 X+#endif X+ X cRecPlayer::cRecPlayer(cRecording* rec) X { X m_file = -1; X@@ -220,8 +220,10 @@ int cRecPlayer::getBlock(unsigned char* X return 0; X } X X+#ifndef __FreeBSD__ X // Tell linux not to bother keeping the data in the FS cache X posix_fadvise(m_file, filePosition, bytes_read, POSIX_FADV_DONTNEED); X+#endif X X // divide and conquer X if(bytes_read < amount) { 6baef863c3c00ea857410fff8b8623ec echo x - multimedia/vdr-plugin-xvdr/files/patch-src-xvdr-xvdrserver.c sed 's/^X//' >multimedia/vdr-plugin-xvdr/files/patch-src-xvdr-xvdrserver.c << '7a171822a581afe5d834bffc4a83ce10' X--- a/src/xvdr/xvdrserver.c X+++ b/src/xvdr/xvdrserver.c X@@ -156,6 +156,7 @@ void cXVDRServer::NewClientConnected(int X int val = 1; X setsockopt(fd, SOL_SOCKET, SO_KEEPALIVE, &val, sizeof(val)); X X+#ifndef __FreeBSD__ X val = 30; X setsockopt(fd, SOL_TCP, TCP_KEEPIDLE, &val, sizeof(val)); X X@@ -167,6 +168,10 @@ void cXVDRServer::NewClientConnected(int X X val = 1; X setsockopt(fd, SOL_TCP, TCP_NODELAY, &val, sizeof(val)); X+#else X+ val = 1; X+ setsockopt(fd, IPPROTO_TCP, TCP_NODELAY, &val, sizeof(val)); X+#endif X X INFOLOG("Client with ID %d connected: %s", m_IdCnt, cxSocket::ip2txt(sin.sin_addr.s_addr, sin.sin_port, buf)); X cXVDRClient *connection = new cXVDRClient(fd, m_IdCnt, cxSocket::ip2txt(sin.sin_addr.s_addr, sin.sin_port, buf)); 7a171822a581afe5d834bffc4a83ce10 echo c - multimedia/vdr-plugins/ mkdir -p multimedia/vdr-plugins/ > /dev/null 2>&1 echo x - multimedia/vdr-plugins/Makefile sed 's/^X//' >multimedia/vdr-plugins/Makefile << '87a09281c11f9baa448537448041f14a' X# New ports collection makefile for: vdr X# Date created: Sun Oct 17 21:15:34 CEST 2010 X# Whom: Juergen Lock X# X# $FreeBSD: ports/multimedia/vdr-plugins/Makefile,v 1.12 2012/03/24 17:00:49 nox Exp $ X# X XPORTNAME= vdr-plugins XPORTVERSION= 1.7.27 XCATEGORIES= multimedia XMASTER_SITES= # none XDISTFILES= # none XEXTRACT_ONLY= # none X XMAINTAINER= nox@FreeBSD.org XCOMMENT= Video Disk Recorder - plugin metaport X XNO_BUILD= yes X XOPTIONS= CONTROL "telnet control" On \ X EPGSEARCH "EPG search" On \ X FEMON "frontend monitor" On \ X INFOSATEPG "infosat EPG data via satellite" On \ X IPTV "IP television" On \ X OSDPIP "picture-in-picture" On \ X OSDTELETEXT "OSD teletext" On \ X REELSCAN "Reel channelscan" On \ X REMOTE "non-lirc remote control (experimental)" On \ X SKINENIGMANG "Enigma-NG skin" On \ X STREAMDEV "stream device (server and client)" On \ X TTXTSUBS "teletext subtitle plugin" On \ X WIRBELSCAN "Wirbelscan" On \ X XINELIBOUTPUT "xineliboutput plugin/viewer" On \ X LIVE "live web plugin" On \ X UPNP "UPnP/DLNA plugin (alpha!)" On \ X SLEEPTIMER "sleep timer plugin" On \ X XVDR "XVDR plugin (for connecting XBMC PVR)" On \ X EEPG "extended EPG plugin (for UK/NL/etc.)" On \ X VDRMANAGER "plugin for VDR-Manager Android clients" On \ X VNSISERVER "VNSI server (for XBMC PVR branch - old)" Off \ X SOFTDEVICE "softdevice (broken?)" Off \ X MARKAD "MarkAd plugin" Off X X.include X X.if defined(WITH_CONTROL) XRUN_DEPENDS+= ${LOCALBASE}/lib/vdr/libvdr-control.so.${PORTVERSION}:${PORTSDIR}/multimedia/vdr-plugin-control X.endif X.if defined(WITH_EPGSEARCH) XRUN_DEPENDS+= ${LOCALBASE}/lib/vdr/libvdr-epgsearch.so.${PORTVERSION}:${PORTSDIR}/multimedia/vdr-plugin-epgsearch X.endif X.if defined(WITH_FEMON) XRUN_DEPENDS+= ${LOCALBASE}/lib/vdr/libvdr-femon.so.${PORTVERSION}:${PORTSDIR}/multimedia/vdr-plugin-femon X.endif X.if defined(WITH_INFOSATEPG) XRUN_DEPENDS+= ${LOCALBASE}/lib/vdr/libvdr-infosatepg.so.${PORTVERSION}:${PORTSDIR}/multimedia/vdr-plugin-infosatepg X.endif X.if defined(WITH_IPTV) XRUN_DEPENDS+= ${LOCALBASE}/lib/vdr/libvdr-iptv.so.${PORTVERSION}:${PORTSDIR}/multimedia/vdr-plugin-iptv X.endif X.if defined(WITH_OSDPIP) XRUN_DEPENDS+= ${LOCALBASE}/lib/vdr/libvdr-osdpip.so.${PORTVERSION}:${PORTSDIR}/multimedia/vdr-plugin-osdpip X.endif X.if defined(WITH_OSDTELETEXT) XRUN_DEPENDS+= ${LOCALBASE}/lib/vdr/libvdr-osdteletext.so.${PORTVERSION}:${PORTSDIR}/multimedia/vdr-plugin-osdteletext X.endif X.if defined(WITH_REELSCAN) XRUN_DEPENDS+= ${LOCALBASE}/lib/vdr/libvdr-reelchannelscan.so.${PORTVERSION}:${PORTSDIR}/multimedia/vdr-plugin-reelchannelscan X.endif X.if defined(WITH_REMOTE) XRUN_DEPENDS+= ${LOCALBASE}/lib/vdr/libvdr-remote.so.${PORTVERSION}:${PORTSDIR}/multimedia/vdr-plugin-remote X.endif X.if defined(WITH_SKINENIGMANG) XRUN_DEPENDS+= ${LOCALBASE}/lib/vdr/libvdr-skinenigmang.so.${PORTVERSION}:${PORTSDIR}/multimedia/vdr-plugin-skinenigmang X.endif X.if defined(WITH_STREAMDEV) XRUN_DEPENDS+= ${LOCALBASE}/lib/vdr/libvdr-streamdev-server.so.${PORTVERSION}:${PORTSDIR}/multimedia/vdr-plugin-streamdev X.endif X.if defined(WITH_TTXTSUBS) XRUN_DEPENDS+= ${LOCALBASE}/lib/vdr/libvdr-ttxtsubs.so.${PORTVERSION}:${PORTSDIR}/multimedia/vdr-plugin-ttxtsubs X.endif X.if defined(WITH_WIRBELSCAN) XRUN_DEPENDS+= ${LOCALBASE}/lib/vdr/libvdr-wirbelscan.so.${PORTVERSION}:${PORTSDIR}/multimedia/vdr-plugin-wirbelscan X.endif X.if defined(WITH_XINELIBOUTPUT) XRUN_DEPENDS+= ${LOCALBASE}/lib/vdr/libvdr-xineliboutput.so.${PORTVERSION}:${PORTSDIR}/multimedia/vdr-plugin-xineliboutput X.endif X.if defined(WITH_LIVE) XRUN_DEPENDS+= ${LOCALBASE}/lib/vdr/libvdr-live.so.${PORTVERSION}:${PORTSDIR}/www/vdr-plugin-live X.endif X.if defined(WITH_UPNP) XRUN_DEPENDS+= ${LOCALBASE}/lib/vdr/libvdr-upnp.so.${PORTVERSION}:${PORTSDIR}/multimedia/vdr-plugin-upnp X.endif X.if defined(WITH_SLEEPTIMER) XRUN_DEPENDS+= ${LOCALBASE}/lib/vdr/libvdr-sleeptimer.so.${PORTVERSION}:${PORTSDIR}/multimedia/vdr-plugin-sleeptimer X.endif X.if defined(WITH_SOFTDEVICE) XRUN_DEPENDS+= ${LOCALBASE}/lib/vdr/libvdr-softdevice.so.${PORTVERSION}:${PORTSDIR}/multimedia/vdr-plugin-softdevice X.endif X.if defined(WITH_XVDR) XRUN_DEPENDS+= ${LOCALBASE}/lib/vdr/libvdr-xvdr.so.${PORTVERSION}:${PORTSDIR}/multimedia/vdr-plugin-xvdr X.endif X.if defined(WITH_EEPG) XRUN_DEPENDS+= ${LOCALBASE}/lib/vdr/libvdr-eepg.so.${PORTVERSION}:${PORTSDIR}/multimedia/vdr-plugin-eepg X.endif X.if defined(WITH_VNSISERVER) XRUN_DEPENDS+= ${LOCALBASE}/lib/vdr/libvdr-vnsiserver.so.${PORTVERSION}:${PORTSDIR}/multimedia/vdr-plugin-vnsiserver X.endif X.if defined(WITH_MARKAD) XRUN_DEPENDS+= ${LOCALBASE}/lib/vdr/libvdr-markad.so.${PORTVERSION}:${PORTSDIR}/multimedia/vdr-plugin-markad X.endif X.if defined(WITH_VDRMANAGER) XRUN_DEPENDS+= ${LOCALBASE}/lib/vdr/libvdr-vdrmanager.so.${PORTVERSION}:${PORTSDIR}/multimedia/vdr-plugin-vdrmanager X.endif X Xdo-install: # empty X X.include 87a09281c11f9baa448537448041f14a echo x - multimedia/vdr-plugins/pkg-descr sed 's/^X//' >multimedia/vdr-plugins/pkg-descr << 'aa4f3040d792ffe1abeb7c6f50097d39' XPreliminary port of the vdr development branch, use at your own risk! :) X XThis is just a metaport that lets you select the plugins you want to Xinstall. X XSee vdr/webcamd dvb thread(s) on the freebsd-multimedia list and the Xwiki for FreeBSD notes: X X http://wiki.freebsd.org/VDR X XSome links are also here: X X http://people.freebsd.org/~nox/dvb/ X Xand see these links for general vdr info: X X http://www.linuxtv.org/vdrwiki/index.php/Main_Page X http://www.vdr-portal.de/ X XWWW: http://www.tvdr.de/ aa4f3040d792ffe1abeb7c6f50097d39 echo c - www/ mkdir -p www/ > /dev/null 2>&1 echo c - www/vdr-plugin-live/ mkdir -p www/vdr-plugin-live/ > /dev/null 2>&1 echo x - www/vdr-plugin-live/Makefile sed 's/^X//' >www/vdr-plugin-live/Makefile << '7623fb71d34213031b300f2438d414c0' X# New ports collection makefile for: vdr-plugin-live X# Date created: Wed Apr 14 18:11:42 CEST 2010 X# Whom: Juergen Lock X# X# $FreeBSD: ports/www/vdr-plugin-live/Makefile,v 1.5 2012/01/21 17:32:54 nox Exp $ X# X XPORTNAME= vdr-plugin-live XPORTVERSION= 0.2.0s20110303 XPORTREVISION= 7 XCATEGORIES= www multimedia XMASTER_SITES= http://live.vdr-developer.org/downloads/:release \ X LOCAL/nox/:snapshot XDISTNAME= ${PORTNAME:S/-plugin-/-/}-${DISTVERSIONPREFIX}${DISTVERSION}${DISTVERSIONSUFFIX} XDISTFILES= ${DISTNAME}${EXTRACT_SUFX}:snapshot X XMAINTAINER= nox@FreeBSD.org XCOMMENT= Video Disk Recorder - live web plugin X XLIB_DEPENDS+= tntnet:${PORTSDIR}/www/tntnet \ X pcre:${PORTSDIR}/devel/pcre X XUSE_BZIP2= yes XPATCH_STRIP= -p1 XPORTDOCS= COPYING README XMAKE_JOBS_SAFE= yes XWRKSRC= ${WRKDIR}/vdr-plugin-${PLUGIN} XVDR_PLUGIN_MAKEFILES= ${WRKSRC}/httpd/Makefile ${WRKSRC}/pages/Makefile XMAKE_ARGS+= INCLUDES="-I$(LOCALBASE)/include -I${WRKSRC}" X X.include "${.CURDIR}/../../multimedia/vdr/Makefile.plugins" X Xpost-patch: post-patch-plugin X Xpost-install: post-install-pluginlocales X (cd ${WRKSRC}/${PLUGIN} && \ X ${COPYTREE_SHARE} \* ${PREFIX}/etc/vdr/plugins/${PLUGIN} ) X ${CHOWN} -R ${VDR_USER}:${VDR_GROUP} ${PREFIX}/etc/vdr/plugins/${PLUGIN} X.if !defined(NOPORTDOCS) X ${MKDIR} ${DOCSDIR} X (cd ${WRKSRC} && ${INSTALL_DATA} ${PORTDOCS} ${DOCSDIR}) X.endif X X.include 7623fb71d34213031b300f2438d414c0 echo x - www/vdr-plugin-live/distinfo sed 's/^X//' >www/vdr-plugin-live/distinfo << 'ab031bf99b4340cd8854db8f01e1f357' XSHA256 (vdr/vdr-live-0.2.0s20110303.tar.bz2) = d1a50c8c25f1b8a563c14f8c94cddd61a53764484322d177c506954e6f993462 XSIZE (vdr/vdr-live-0.2.0s20110303.tar.bz2) = 1995550 ab031bf99b4340cd8854db8f01e1f357 echo x - www/vdr-plugin-live/pkg-descr sed 's/^X//' >www/vdr-plugin-live/pkg-descr << '8d7dd626a5b7903b1bfe866c783a961a' Xhttp://www.vdr-wiki.de/wiki/index.php/Live-plugin X XLive, the "Live Interactive VDR Environment", is a plugin providing the Xpossibility to interactively control the VDR and some of it's plugins by Xa web interface. X XUnlike external utility programs that communicate with VDR and it's plugins Xby SVDRP, Live has direct access to VDR's data structures and is thus very Xfast. X XWWW: http://live.vdr-developer.org/ 8d7dd626a5b7903b1bfe866c783a961a echo x - www/vdr-plugin-live/pkg-plist sed 's/^X//' >www/vdr-plugin-live/pkg-plist << '10cf4a8c92a4e6caa13d2639158876ce' Xlib/vdr/libvdr-live.so.%%APIVERSION%% Xetc/vdr/plugins/live/css/DatePicker.css Xetc/vdr/plugins/live/css/siteprefs.css Xetc/vdr/plugins/live/img/active.png Xetc/vdr/plugins/live/img/arrow.png Xetc/vdr/plugins/live/img/arrow_rec.gif Xetc/vdr/plugins/live/img/bg_box_h.png Xetc/vdr/plugins/live/img/bg_box_l.png Xetc/vdr/plugins/live/img/bg_box_r.png Xetc/vdr/plugins/live/img/bg_header_h.png Xetc/vdr/plugins/live/img/bg_header_l.png Xetc/vdr/plugins/live/img/bg_header_r.png Xetc/vdr/plugins/live/img/bg_line.png Xetc/vdr/plugins/live/img/bg_line_top.png Xetc/vdr/plugins/live/img/bg_tools.png Xetc/vdr/plugins/live/img/button_blue.png Xetc/vdr/plugins/live/img/button_green.png Xetc/vdr/plugins/live/img/button_new.png Xetc/vdr/plugins/live/img/button_red.png Xetc/vdr/plugins/live/img/button_yellow.png Xetc/vdr/plugins/live/img/close.png Xetc/vdr/plugins/live/img/close_red.png Xetc/vdr/plugins/live/img/del.png Xetc/vdr/plugins/live/img/edit.png Xetc/vdr/plugins/live/img/english.png Xetc/vdr/plugins/live/img/favicon.ico Xetc/vdr/plugins/live/img/ffw.png Xetc/vdr/plugins/live/img/file.png Xetc/vdr/plugins/live/img/folder_closed.png Xetc/vdr/plugins/live/img/folder_open.png Xetc/vdr/plugins/live/img/german.png Xetc/vdr/plugins/live/img/help.png Xetc/vdr/plugins/live/img/imdb.png Xetc/vdr/plugins/live/img/inactive.png Xetc/vdr/plugins/live/img/info-win-b-l.png Xetc/vdr/plugins/live/img/info-win-b-r.png Xetc/vdr/plugins/live/img/info-win-m-l.png Xetc/vdr/plugins/live/img/info-win-m-r.png Xetc/vdr/plugins/live/img/info-win-t-l.png Xetc/vdr/plugins/live/img/info-win-t-r.png Xetc/vdr/plugins/live/img/logo.png Xetc/vdr/plugins/live/img/logo_login.png Xetc/vdr/plugins/live/img/menu_line_bg.png Xetc/vdr/plugins/live/img/minus.png Xetc/vdr/plugins/live/img/movie.png Xetc/vdr/plugins/live/img/on_dvd.png Xetc/vdr/plugins/live/img/msgbar_line_bg.png Xetc/vdr/plugins/live/img/one_downarrow.png Xetc/vdr/plugins/live/img/one_uparrow.png Xetc/vdr/plugins/live/img/pause.png Xetc/vdr/plugins/live/img/play.png Xetc/vdr/plugins/live/img/plus.png Xetc/vdr/plugins/live/img/record.png Xetc/vdr/plugins/live/img/record_timer.png Xetc/vdr/plugins/live/img/reload.png Xetc/vdr/plugins/live/img/remotecontrol.jpg Xetc/vdr/plugins/live/img/rounded-box-blue-bl.png Xetc/vdr/plugins/live/img/rounded-box-blue-br.png Xetc/vdr/plugins/live/img/rounded-box-blue-ml.png Xetc/vdr/plugins/live/img/rounded-box-blue-mr.png Xetc/vdr/plugins/live/img/rounded-box-blue-tl.png Xetc/vdr/plugins/live/img/rounded-box-blue-tr.png Xetc/vdr/plugins/live/img/rounded-box-green-bl.png Xetc/vdr/plugins/live/img/rounded-box-green-br.png Xetc/vdr/plugins/live/img/rounded-box-green-ml.png Xetc/vdr/plugins/live/img/rounded-box-green-mr.png Xetc/vdr/plugins/live/img/rounded-box-green-tl.png Xetc/vdr/plugins/live/img/rounded-box-green-tr.png Xetc/vdr/plugins/live/img/rounded-box-orange-bl.png Xetc/vdr/plugins/live/img/rounded-box-orange-br.png Xetc/vdr/plugins/live/img/rounded-box-orange-ml.png Xetc/vdr/plugins/live/img/rounded-box-orange-mr.png Xetc/vdr/plugins/live/img/rounded-box-orange-tl.png Xetc/vdr/plugins/live/img/rounded-box-orange-tr.png Xetc/vdr/plugins/live/img/rounded-box-redwine-bl.png Xetc/vdr/plugins/live/img/rounded-box-redwine-br.png Xetc/vdr/plugins/live/img/rounded-box-redwine-ml.png Xetc/vdr/plugins/live/img/rounded-box-redwine-mr.png Xetc/vdr/plugins/live/img/rounded-box-redwine-tl.png Xetc/vdr/plugins/live/img/rounded-box-redwine-tr.png Xetc/vdr/plugins/live/img/rwd.png Xetc/vdr/plugins/live/img/search.png Xetc/vdr/plugins/live/img/stop.png Xetc/vdr/plugins/live/img/stop_update.png Xetc/vdr/plugins/live/img/stream_button.png Xetc/vdr/plugins/live/img/timerconflict.gif Xetc/vdr/plugins/live/img/transparent.png Xetc/vdr/plugins/live/img/tv.jpg Xetc/vdr/plugins/live/img/zap.png Xetc/vdr/plugins/live/js/live/browserwin.js Xetc/vdr/plugins/live/js/live/hinttips.js Xetc/vdr/plugins/live/js/live/infowin.js Xetc/vdr/plugins/live/js/live/liveajax.js Xetc/vdr/plugins/live/js/live/pageenhance.js Xetc/vdr/plugins/live/js/live/vdr_status.js Xetc/vdr/plugins/live/js/live/vlc.js Xetc/vdr/plugins/live/js/mootools/DatePicker.js Xetc/vdr/plugins/live/js/mootools/mootools.v1.11.js Xetc/vdr/plugins/live/js/mootools/readme.mootools.config Xetc/vdr/plugins/live/themes/marine/css/theme.css Xetc/vdr/plugins/live/themes/marine/img/zap.png Xetc/vdr/plugins/live/themes/orange-blue/css/theme.css Xetc/vdr/plugins/live/themes/orange-blue/img/bg_box_h.png Xetc/vdr/plugins/live/themes/orange-blue/img/bg_box_l.png Xetc/vdr/plugins/live/themes/orange-blue/img/bg_box_r.png Xetc/vdr/plugins/live/themes/orange-blue/img/bg_header_h.png Xetc/vdr/plugins/live/themes/orange-blue/img/bg_header_l.png Xetc/vdr/plugins/live/themes/orange-blue/img/bg_header_r.png Xetc/vdr/plugins/live/themes/orange-blue/img/bg_line.png Xetc/vdr/plugins/live/themes/orange-blue/img/bg_line_top.png Xetc/vdr/plugins/live/themes/orange-blue/img/bg_tools.png Xetc/vdr/plugins/live/themes/orange-blue/img/info-win-b-l.png Xetc/vdr/plugins/live/themes/orange-blue/img/info-win-b-r.png Xetc/vdr/plugins/live/themes/orange-blue/img/info-win-m-l.png Xetc/vdr/plugins/live/themes/orange-blue/img/info-win-m-r.png Xetc/vdr/plugins/live/themes/orange-blue/img/info-win-t-l.png Xetc/vdr/plugins/live/themes/orange-blue/img/info-win-t-r.png Xetc/vdr/plugins/live/themes/orange-blue/img/logo.png Xetc/vdr/plugins/live/themes/orange-blue/img/menu_line_bg.png Xetc/vdr/plugins/live/themes/orange-blue/img/remotecontrol.jpg Xetc/vdr/plugins/live/themes/orange-blue/img/tv.jpg Xetc/vdr/plugins/live/themes/orange-blue/img/zap.png Xetc/vdr/plugins/live/themes/redwine/css/theme.css Xetc/vdr/plugins/live/themes/redwine/img/bg_box_h.png Xetc/vdr/plugins/live/themes/redwine/img/bg_box_l.png Xetc/vdr/plugins/live/themes/redwine/img/bg_box_r.png Xetc/vdr/plugins/live/themes/redwine/img/bg_header_h.png Xetc/vdr/plugins/live/themes/redwine/img/bg_header_l.png Xetc/vdr/plugins/live/themes/redwine/img/bg_header_r.png Xetc/vdr/plugins/live/themes/redwine/img/bg_line.png Xetc/vdr/plugins/live/themes/redwine/img/bg_line_top.png Xetc/vdr/plugins/live/themes/redwine/img/bg_tools.png Xetc/vdr/plugins/live/themes/redwine/img/menu_line_bg.png Xetc/vdr/plugins/live/themes/redwine/img/zap.png Xetc/vdr/plugins/live/themes/veltliner/css/theme.css Xetc/vdr/plugins/live/themes/veltliner/img/bg_box_h.png Xetc/vdr/plugins/live/themes/veltliner/img/bg_box_h1.png Xetc/vdr/plugins/live/themes/veltliner/img/bg_box_l.png Xetc/vdr/plugins/live/themes/veltliner/img/bg_box_r.png Xetc/vdr/plugins/live/themes/veltliner/img/bg_header_h.png Xetc/vdr/plugins/live/themes/veltliner/img/bg_header_l.png Xetc/vdr/plugins/live/themes/veltliner/img/bg_header_r.png Xetc/vdr/plugins/live/themes/veltliner/img/bg_line.png Xetc/vdr/plugins/live/themes/veltliner/img/bg_line_top.png Xetc/vdr/plugins/live/themes/veltliner/img/bg_tools.png Xetc/vdr/plugins/live/themes/veltliner/img/button_blue.png Xetc/vdr/plugins/live/themes/veltliner/img/info-win-t-l.png Xetc/vdr/plugins/live/themes/veltliner/img/info-win-t-r.png Xetc/vdr/plugins/live/themes/veltliner/img/logo.png Xetc/vdr/plugins/live/themes/veltliner/img/logo_login.png Xetc/vdr/plugins/live/themes/veltliner/img/menu_line_bg.png Xetc/vdr/plugins/live/themes/veltliner/img/zap.png X@dirrm etc/vdr/plugins/live/themes/marine/css X@dirrm etc/vdr/plugins/live/themes/marine/img X@dirrm etc/vdr/plugins/live/themes/marine X@dirrm etc/vdr/plugins/live/themes/orange-blue/css X@dirrm etc/vdr/plugins/live/themes/orange-blue/img X@dirrm etc/vdr/plugins/live/themes/orange-blue X@dirrm etc/vdr/plugins/live/themes/redwine/css X@dirrm etc/vdr/plugins/live/themes/redwine/img X@dirrm etc/vdr/plugins/live/themes/redwine X@dirrm etc/vdr/plugins/live/themes/veltliner/css X@dirrm etc/vdr/plugins/live/themes/veltliner/img X@dirrm etc/vdr/plugins/live/themes/veltliner X@dirrm etc/vdr/plugins/live/themes X@dirrm etc/vdr/plugins/live/js/mootools X@dirrm etc/vdr/plugins/live/js/live X@dirrm etc/vdr/plugins/live/js X@dirrm etc/vdr/plugins/live/img X@dirrm etc/vdr/plugins/live/css X@dirrmtry etc/vdr/plugins/live X%%NLS%%share/locale/ca_ES/LC_MESSAGES/vdr-live.mo X%%NLS%%share/locale/cs_CZ/LC_MESSAGES/vdr-live.mo X%%NLS%%share/locale/da_DK/LC_MESSAGES/vdr-live.mo X%%NLS%%share/locale/de_DE/LC_MESSAGES/vdr-live.mo X%%NLS%%share/locale/el_GR/LC_MESSAGES/vdr-live.mo X%%NLS%%share/locale/es_ES/LC_MESSAGES/vdr-live.mo X%%NLS%%share/locale/et_EE/LC_MESSAGES/vdr-live.mo X%%NLS%%share/locale/fi_FI/LC_MESSAGES/vdr-live.mo X%%NLS%%share/locale/fr_FR/LC_MESSAGES/vdr-live.mo X%%NLS%%share/locale/hr_HR/LC_MESSAGES/vdr-live.mo X%%NLS%%share/locale/hu_HU/LC_MESSAGES/vdr-live.mo X%%NLS%%share/locale/it_IT/LC_MESSAGES/vdr-live.mo X%%NLS%%share/locale/lt_LT/LC_MESSAGES/vdr-live.mo X%%NLS%%share/locale/nl_NL/LC_MESSAGES/vdr-live.mo X%%NLS%%share/locale/nn_NO/LC_MESSAGES/vdr-live.mo X%%NLS%%share/locale/pl_PL/LC_MESSAGES/vdr-live.mo X%%NLS%%share/locale/pt_PT/LC_MESSAGES/vdr-live.mo X%%NLS%%share/locale/ro_RO/LC_MESSAGES/vdr-live.mo X%%NLS%%share/locale/ru_RU/LC_MESSAGES/vdr-live.mo X%%NLS%%share/locale/sk_SK/LC_MESSAGES/vdr-live.mo X%%NLS%%share/locale/sl_SI/LC_MESSAGES/vdr-live.mo X%%NLS%%share/locale/sv_SE/LC_MESSAGES/vdr-live.mo X%%NLS%%share/locale/tr_TR/LC_MESSAGES/vdr-live.mo 10cf4a8c92a4e6caa13d2639158876ce echo c - www/vdr-plugin-live/files/ mkdir -p www/vdr-plugin-live/files/ > /dev/null 2>&1 echo x - www/vdr-plugin-live/files/patch-Makefile sed 's/^X//' >www/vdr-plugin-live/files/patch-Makefile << '79440af7d7534e5ea8323605b6c1bcb4' X--- a/Makefile X+++ b/Makefile X@@ -151,7 +151,11 @@ $(VERSIONSUFFIX): FORCE X X libvdr-$(PLUGIN).so: $(VERSIONSUFFIX) $(SUBDIRS) $(PLUGINOBJS) X $(CXX) $(LDFLAGS) -shared -o $@ $(PLUGINOBJS) -Wl,--whole-archive $(WEBLIBS) -Wl,--no-whole-archive $(LIBS) X+ifdef FREEBSD X+ @cp -f $@ $(LIBDIR)/$@.$(APIVERSION) X+else X @cp --remove-destination $@ $(LIBDIR)/$@.$(APIVERSION) X+endif X X ifneq ($(TNTVERS7),yes) X @echo "" X@@ -189,6 +193,9 @@ clean: $(SUBDIRS) X @-rm -f $(PLUGINOBJS) $(DEPFILE) *.so *.tgz core* *~ X @-rm -f $(VERSIONSUFFIX) X X+install: X+ ${INSTALL_PROGRAM} $(LIBDIR)/libvdr-$(PLUGIN).so.$(APIVERSION) $(PREFIX)/lib/vdr/libvdr-$(PLUGIN).so.$(APIVERSION) X+ X .PRECIOUS: $(I18Npo) X X FORCE: 79440af7d7534e5ea8323605b6c1bcb4 echo x - www/vdr-plugin-live/files/patch-live.cpp sed 's/^X//' >www/vdr-plugin-live/files/patch-live.cpp << '559cebac286a42aa607d8b725b415e66' X--- a/live.cpp X+++ b/live.cpp X@@ -42,7 +42,13 @@ bool Plugin::ProcessArgs(int argc, char X X bool Plugin::Start(void) X { X+#ifdef __FreeBSD__ X+ char buf[PATH_MAX]; X+ X+ m_configDirectory = realpath(cPlugin::ConfigDirectory( PLUGIN_NAME_I18N ), buf); X+#else X m_configDirectory = canonicalize_file_name(cPlugin::ConfigDirectory( PLUGIN_NAME_I18N )); X+#endif X X #if VDRVERSNUM < 10507 X RegisterI18n( vdrlive::Phrases ); 559cebac286a42aa607d8b725b415e66 echo x - www/vdr-plugin-live/files/patch-tools.cpp sed 's/^X//' >www/vdr-plugin-live/files/patch-tools.cpp << '6cc46faf4890d85ed11a6f7698097a17' X--- a/tools.cpp X+++ a/tools.cpp X@@ -12,6 +12,9 @@ X #include "tools.h" X #include "md5.h" X X+#ifdef __FreeBSD__ X+#define O_LARGEFILE 0 X+#endif X X using namespace std; X using namespace tnt; 6cc46faf4890d85ed11a6f7698097a17 echo c - www/vdradmin-am/ mkdir -p www/vdradmin-am/ > /dev/null 2>&1 echo x - www/vdradmin-am/Makefile sed 's/^X//' >www/vdradmin-am/Makefile << '09f94998e800f76642770f1ea9d384d7' X# New ports collection makefile for: vdradmin-am X# Date created: Wed Apr 14 18:11:42 CEST 2010 X# Whom: Juergen Lock X# X# $FreeBSD: ports/www/vdradmin-am/Makefile,v 1.4 2012/01/21 17:32:54 nox Exp $ X# X XPORTNAME= vdradmin-am XPORTVERSION= 3.6.9 XCATEGORIES= www XMASTER_SITES= http://andreas.vdr-developer.org/vdradmin-am/download/ X XMAINTAINER= nox@FreeBSD.org XCOMMENT= Video Disk Recorder - webinterface X XBUILD_DEPENDS= bash:${PORTSDIR}/shells/bash \ X ${SITE_PERL}/${PERL_ARCH}/Locale/gettext.pm:${PORTSDIR}/devel/p5-Locale-gettext \ X p5-Template-Plugin-JavaScript>=0:${PORTSDIR}/www/p5-Template-Plugin-JavaScript \ X ${SITE_PERL}/Authen/SASL.pm:${PORTSDIR}/security/p5-Authen-SASL \ X ${SITE_PERL}/Compress/Zlib.pm:${PORTSDIR}/archivers/p5-IO-Compress \ X ${SITE_PERL}/IO/Socket/INET6.pm:${PORTSDIR}/net/p5-IO-Socket-INET6 \ X ${SITE_PERL}/IO/Socket/SSL.pm:${PORTSDIR}/security/p5-IO-Socket-SSL \ X ${SITE_PERL}/HTTP/Date.pm:${PORTSDIR}/www/p5-libwww XRUN_DEPENDS= ${SITE_PERL}/${PERL_ARCH}/Locale/gettext.pm:${PORTSDIR}/devel/p5-Locale-gettext \ X p5-Template-Plugin-JavaScript>=0:${PORTSDIR}/www/p5-Template-Plugin-JavaScript \ X ${SITE_PERL}/Authen/SASL.pm:${PORTSDIR}/security/p5-Authen-SASL \ X ${SITE_PERL}/Compress/Zlib.pm:${PORTSDIR}/archivers/p5-IO-Compress \ X ${SITE_PERL}/IO/Socket/INET6.pm:${PORTSDIR}/net/p5-IO-Socket-INET6 \ X ${SITE_PERL}/IO/Socket/SSL.pm:${PORTSDIR}/security/p5-IO-Socket-SSL \ X ${SITE_PERL}/HTTP/Date.pm:${PORTSDIR}/www/p5-libwww X XDIST_SUBDIR= vdr XPATCH_STRIP= -p1 XUSE_BZIP2= yes XWRKSRC= ${WRKDIR}/${PORTNAME:S/_/-/}-${DISTVERSION} XNO_BUILD= yes XMAN8= vdradmind.8 XUSE_RC_SUBR= vdradmind X XVIDEODIR= /video XLIBDIR= ${DATADIR} XMAKE_ENV+= LIBDIR=${LIBDIR} XMAKE_ENV+= ETCDIR=${ETCDIR} XMAKE_ENV+= DOCDIR=${DOCSDIR} XMAKE_ENV+= BINDIR=${PREFIX}/bin XMAKE_ENV+= LOCDIR=${PREFIX}/share/locale XMAKE_ENV+= MANDIR=${PREFIX}/man XMAKE_ENV+= LOGDIR=/var/log/${PORTNAME} XMAKE_ENV+= CACHEDIR=/var/cache/${PORTNAME} XMAKE_ENV+= PIDFILE=/var/run/${PORTNAME}/vdradmind.pid XMAKE_ENV+= VIDEODIR=${VIDEODIR} XMAKE_ENV+= EPGIMAGES=${VIDEODIR}/epgimages XMAKE_ENV+= VDRCONF=${PREFIX}/etc/vdr X XVDR_USER= vdr XVDR_GROUP= vdr XUSERS= ${VDR_USER} XGROUPS= ${VDR_GROUP} XPLIST_SUB= VDR_USER=${VDR_USER} XPLIST_SUB+= VDR_GROUP=${VDR_GROUP} X Xpost-patch: X @${REINPLACE_CMD} 1s-^#!/bin/bash-#!${LOCALBASE}/bin/bash- \ X ${WRKSRC}/install.sh ${WRKSRC}/make.sh X Xdo-install: X @${INSTALL} -o ${VDR_USER} -g ${VDR_GROUP} -d ${ETCDIR} X @${INSTALL_DATA} -m 644 ${FILESDIR}/vdradmind.conf ${ETCDIR}/vdradmind.conf.sample X @if [ ! -f ${ETCDIR}/vdradmind.conf ]; then \ X ${INSTALL_DATA} -o ${VDR_USER} -g ${VDR_GROUP} -m 644 ${FILESDIR}/vdradmind.conf ${ETCDIR}; \ X fi X @${INSTALL} -o ${VDR_USER} -g ${VDR_GROUP} -d /var/cache/${PORTNAME} \ X /var/log/${PORTNAME} /var/run/${PORTNAME} X @(cd ${WRKSRC} && ${SETENV} ${MAKE_ENV} ./install.sh) X X.include 09f94998e800f76642770f1ea9d384d7 echo x - www/vdradmin-am/distinfo sed 's/^X//' >www/vdradmin-am/distinfo << '60b89f17c424c980ae794b92d6f6a7e8' XSHA256 (vdr/vdradmin-am-3.6.9.tar.bz2) = 5f0421ca0ea2b4c7669d5332d43b04af8b0c40d2964dd152a265c18f4d7f2715 XSIZE (vdr/vdradmin-am-3.6.9.tar.bz2) = 562006 60b89f17c424c980ae794b92d6f6a7e8 echo x - www/vdradmin-am/pkg-descr sed 's/^X//' >www/vdradmin-am/pkg-descr << '546633790d614fc1d7f8bac0273f63a9' Xhttp://www.vdr-wiki.de/wiki/index.php/Vdradmin_AM X XVDRAdmin-AM is a web based interface to VDR. X XWWW: http://andreas.vdr-developer.org/vdradmin-am/ 546633790d614fc1d7f8bac0273f63a9 echo x - www/vdradmin-am/pkg-plist sed 's/^X//' >www/vdradmin-am/pkg-plist << '69347206d988c02a5352051a59f76e39' Xbin/vdradmind X@exec /usr/bin/install -o %%VDR_USER%% -g %%VDR_GROUP%% -d %%ETCDIR%% X@unexec if cmp -s %D/etc/vdradmin-am/vdradmind.conf.sample %D/etc/vdradmin-am/vdradmind.conf; then rm -f %D/etc/vdradmin-am/vdradmind.conf; fi X%%ETCDIR%%/vdradmind.conf.sample X@exec if [ ! -f %D/etc/vdradmin-am/vdradmind.conf ] ; then cp -p %D/%F %B/vdradmind.conf; chown %%VDR_USER%%:%%VDR_GROUP%% %B/vdradmind.conf; fi Xshare/vdradmin-am/lib/MIME/Base64.pm Xshare/vdradmin-am/lib/Template/Plugin/Date.pm Xshare/vdradmin-am/lib/Template/Plugin/HTML.pm Xshare/vdradmin-am/lib/Template/Plugin/JavaScript.pm Xshare/vdradmin-am/lib/Template/Namespace/Constants.pm Xshare/vdradmin-am/lib/Template/Stash/XS.pm Xshare/vdradmin-am/lib/Template/Stash/Context.pm Xshare/vdradmin-am/lib/Template/Directive.pm Xshare/vdradmin-am/lib/Template/View.pm Xshare/vdradmin-am/lib/Template/Stash.pm Xshare/vdradmin-am/lib/Template/Plugin.pm Xshare/vdradmin-am/lib/Template/Iterator.pm Xshare/vdradmin-am/lib/Template/Provider.pm Xshare/vdradmin-am/lib/Template/Constants.pm Xshare/vdradmin-am/lib/Template/Config.pm Xshare/vdradmin-am/lib/Template/Context.pm Xshare/vdradmin-am/lib/Template/Grammar.pm Xshare/vdradmin-am/lib/Template/Service.pm Xshare/vdradmin-am/lib/Template/Base.pm Xshare/vdradmin-am/lib/Template/Parser.pm Xshare/vdradmin-am/lib/Template/Exception.pm Xshare/vdradmin-am/lib/Template/Document.pm Xshare/vdradmin-am/lib/Template/Plugins.pm Xshare/vdradmin-am/lib/Template/Filters.pm Xshare/vdradmin-am/lib/Template/Test.pm Xshare/vdradmin-am/lib/File/Temp.pm Xshare/vdradmin-am/lib/URI/Escape.pm Xshare/vdradmin-am/lib/Template.pm Xshare/vdradmin-am/template/default/default/fern_33.jpg Xshare/vdradmin-am/template/default/default/fern_36.jpg Xshare/vdradmin-am/template/default/default/fern_32.jpg Xshare/vdradmin-am/template/default/default/delete.png Xshare/vdradmin-am/template/default/default/edit.png Xshare/vdradmin-am/template/default/default/pfeile_nachlinks_soft.png Xshare/vdradmin-am/template/default/default/fern_13.jpg Xshare/vdradmin-am/template/default/default/cut.png Xshare/vdradmin-am/template/default/default/play.png Xshare/vdradmin-am/template/default/default/imdb.png Xshare/vdradmin-am/template/default/default/fern_mute.jpg Xshare/vdradmin-am/template/default/default/configure.png Xshare/vdradmin-am/template/default/default/rec_button.png Xshare/vdradmin-am/template/default/default/fern_05.jpg Xshare/vdradmin-am/template/default/default/folder_video.png Xshare/vdradmin-am/template/default/default/fern_12.jpg Xshare/vdradmin-am/template/default/default/fern_48.jpg Xshare/vdradmin-am/template/default/default/fern_10.jpg Xshare/vdradmin-am/template/default/default/fern_31.jpg Xshare/vdradmin-am/template/default/default/fern_09.jpg Xshare/vdradmin-am/template/default/default/fern_23.jpg Xshare/vdradmin-am/template/default/default/noise.gif Xshare/vdradmin-am/template/default/default/rec.gif Xshare/vdradmin-am/template/default/default/fern_40.jpg Xshare/vdradmin-am/template/default/default/fern_46.jpg Xshare/vdradmin-am/template/default/default/close.png Xshare/vdradmin-am/template/default/default/fern_47.jpg Xshare/vdradmin-am/template/default/default/view.png Xshare/vdradmin-am/template/default/default/fern_24.jpg Xshare/vdradmin-am/template/default/default/fern_back.jpg Xshare/vdradmin-am/template/default/default/pfeile_nachrechts.png Xshare/vdradmin-am/template/default/default/fern_06.jpg Xshare/vdradmin-am/template/default/default/pfeile_nachrechts_soft.png Xshare/vdradmin-am/template/default/default/fern_25.jpg Xshare/vdradmin-am/template/default/default/fern_43.jpg Xshare/vdradmin-am/template/default/default/fern_28.jpg Xshare/vdradmin-am/template/default/default/sortiert_desc.gif Xshare/vdradmin-am/template/default/default/sum_find.png Xshare/vdradmin-am/template/default/default/fern_11.jpg Xshare/vdradmin-am/template/default/default/info_button_disabled.png Xshare/vdradmin-am/template/default/default/fern_41.jpg Xshare/vdradmin-am/template/default/default/poempl_gelb.png Xshare/vdradmin-am/template/default/default/pfeile_nachlinks.png Xshare/vdradmin-am/template/default/default/sortiert_asc.gif Xshare/vdradmin-am/template/default/default/fern_42.jpg Xshare/vdradmin-am/template/default/default/help.png Xshare/vdradmin-am/template/default/default/fern_22.jpg Xshare/vdradmin-am/template/default/default/fern_03.jpg Xshare/vdradmin-am/template/default/default/tv_bottom.gif Xshare/vdradmin-am/template/default/default/fern_18.jpg Xshare/vdradmin-am/template/default/default/poempl_rot.png Xshare/vdradmin-am/template/default/default/udef_search.png Xshare/vdradmin-am/template/default/default/logo.png Xshare/vdradmin-am/template/default/default/aktion.png Xshare/vdradmin-am/template/default/default/fern_15.jpg Xshare/vdradmin-am/template/default/default/fern_08.jpg Xshare/vdradmin-am/template/default/default/fern_19.jpg Xshare/vdradmin-am/template/default/default/fern_39.jpg Xshare/vdradmin-am/template/default/default/poempl_grau.png Xshare/vdradmin-am/template/default/default/fern_07.jpg Xshare/vdradmin-am/template/default/default/poempl_gruen.png Xshare/vdradmin-am/template/default/default/info_button.png Xshare/vdradmin-am/template/default/default/fern_44.jpg Xshare/vdradmin-am/template/default/default/fern_45.jpg Xshare/vdradmin-am/template/default/default/stream.png Xshare/vdradmin-am/template/default/default/find.png Xshare/vdradmin-am/template/default/default/spacer.gif Xshare/vdradmin-am/template/default/error.html Xshare/vdradmin-am/template/default/timer_list.html Xshare/vdradmin-am/template/default/help_rec_list.html Xshare/vdradmin-am/template/default/prog_list2.html Xshare/vdradmin-am/template/default/at_timer_new.html Xshare/vdradmin-am/template/default/navigation.html Xshare/vdradmin-am/template/default/favicon.ico Xshare/vdradmin-am/template/default/prog_timeline.html Xshare/vdradmin-am/template/default/at_timer_list.html Xshare/vdradmin-am/template/default/help_at_timer_list.html Xshare/vdradmin-am/template/default/help_edit_epg.html Xshare/vdradmin-am/template/default/timeline.js Xshare/vdradmin-am/template/default/help_at_timer_new.html Xshare/vdradmin-am/template/default/prog_detail_form.html Xshare/vdradmin-am/template/default/vdr_cmds.html Xshare/vdradmin-am/template/default/config.html Xshare/vdradmin-am/template/default/epgsearch_new.html Xshare/vdradmin-am/template/default/prog_list.html Xshare/vdradmin-am/template/default/index.html Xshare/vdradmin-am/template/default/rc.html Xshare/vdradmin-am/template/default/timer_new.html Xshare/vdradmin-am/template/default/noauth.html Xshare/vdradmin-am/template/default/infobox.js Xshare/vdradmin-am/template/default/rec_list.html Xshare/vdradmin-am/template/default/tv.html Xshare/vdradmin-am/template/default/prog_summary.html Xshare/vdradmin-am/template/default/about.html Xshare/vdradmin-am/template/default/rec_edit.html Xshare/vdradmin-am/template/default/noperm.html Xshare/vdradmin-am/template/default/epgsearch_config.html Xshare/vdradmin-am/template/default/prog_detail.html Xshare/vdradmin-am/template/default/help_timer_list.html Xshare/vdradmin-am/template/default/library.js Xshare/vdradmin-am/template/default/help_timer_new.html Xshare/vdradmin-am/template/default/help_no.html Xshare/vdradmin-am/template/default/help_config.html Xshare/vdradmin-am/template/default/style.css Xshare/vdradmin-am/template/default/epgsearch_list.html Xshare/vdradmin-am/template/default/prog_summary2.html X%%PORTDOCS%%%%DOCSDIR%%/contrib/README.Streaming X%%PORTDOCS%%%%DOCSDIR%%/contrib/user.css.example X%%PORTDOCS%%%%DOCSDIR%%/contrib/HISTORY.macfly X%%PORTDOCS%%%%DOCSDIR%%/contrib/HISTORY X%%PORTDOCS%%%%DOCSDIR%%/contrib/HISTORY.bigpatch X%%PORTDOCS%%%%DOCSDIR%%/contrib/HISTORY.ct X%%PORTDOCS%%%%DOCSDIR%%/contrib/vdradmind.bl_example X%%PORTDOCS%%%%DOCSDIR%%/REQUIREMENTS X%%PORTDOCS%%%%DOCSDIR%%/README.translators X%%PORTDOCS%%%%DOCSDIR%%/README X%%PORTDOCS%%%%DOCSDIR%%/LGPL.txt X%%PORTDOCS%%%%DOCSDIR%%/FAQ X%%PORTDOCS%%%%DOCSDIR%%/HISTORY X%%PORTDOCS%%%%DOCSDIR%%/CREDITS X%%PORTDOCS%%%%DOCSDIR%%/COPYING X%%PORTDOCS%%%%DOCSDIR%%/INSTALL Xshare/locale/cs/LC_MESSAGES/vdradmin.mo Xshare/locale/de/LC_MESSAGES/vdradmin.mo Xshare/locale/es/LC_MESSAGES/vdradmin.mo Xshare/locale/fi/LC_MESSAGES/vdradmin.mo Xshare/locale/fr/LC_MESSAGES/vdradmin.mo Xshare/locale/it/LC_MESSAGES/vdradmin.mo Xshare/locale/nl/LC_MESSAGES/vdradmin.mo Xshare/locale/ru/LC_MESSAGES/vdradmin.mo X@exec /usr/bin/install -o %%VDR_USER%% -g %%VDR_GROUP%% -d /var/cache/vdradmin-am /var/log/vdradmin-am /var/run/vdradmin-am X@dirrmtry %%ETCDIR%% X@dirrm share/vdradmin-am/lib/MIME X@dirrm share/vdradmin-am/lib/File X@dirrm share/vdradmin-am/lib/URI X@dirrm share/vdradmin-am/lib/Template/Plugin X@dirrm share/vdradmin-am/lib/Template/Namespace X@dirrm share/vdradmin-am/lib/Template/Stash X@dirrm share/vdradmin-am/lib/Template X@dirrm share/vdradmin-am/lib X@dirrm share/vdradmin-am/template/default/default X@dirrm share/vdradmin-am/template/default X@dirrm share/vdradmin-am/template X@dirrm share/vdradmin-am X%%PORTDOCS%%@dirrm %%DOCSDIR%%/contrib X%%PORTDOCS%%@dirrm %%DOCSDIR%% 69347206d988c02a5352051a59f76e39 echo c - www/vdradmin-am/files/ mkdir -p www/vdradmin-am/files/ > /dev/null 2>&1 echo x - www/vdradmin-am/files/patch-install.sh sed 's/^X//' >www/vdradmin-am/files/patch-install.sh << '49316ea30a5fca830c7e1c3f496aee2e' X--- a/install.sh X+++ b/install.sh X@@ -148,7 +148,7 @@ function doInstall() X X makeDir $LIBDIR 1 && cp -r template lib $LIBDIR || exit 1 X makeDir $BINDIR || exit 1 X- makeDir $DOCDIR && cp -r contrib COPYING CREDITS HISTORY INSTALL LGPL.txt README* REQUIREMENTS FAQ $DOCDIR || exit 1 X+ [ -n $NOPORTDOCS ] && makeDir $DOCDIR && cp -r contrib COPYING CREDITS HISTORY INSTALL LGPL.txt README* REQUIREMENTS FAQ $DOCDIR || exit 1 X makeDir $MANDIR/man8 && cp vdradmind.pl.1 $MANDIR/man8/vdradmind.8 || exit 1 X X ( 49316ea30a5fca830c7e1c3f496aee2e echo x - www/vdradmin-am/files/vdradmind.conf sed 's/^X//' >www/vdradmin-am/files/vdradmind.conf << '222bd7ec721813f37e7eaa63a7aa611f' XAT_DESC = 0 XAT_FUNC = 0 XAT_LIFETIME = 99 XAT_MARGIN_BEGIN = 10 XAT_MARGIN_END = 10 XAT_OFFER = 1 XAT_PRIORITY = 99 XAT_SENDMAIL = 0 XAT_SORTBY = pattern XAT_TOOLTIP = 1 XAUTO_SAVE_CONFIG = 1 XCACHE_BG_UPDATE = 1 XCACHE_LASTUPDATE = 1272551398 XCACHE_REC_ENABLED = 1 XCACHE_REC_LASTUPDATE = 1272544309 XCACHE_REC_TIMEOUT = 60 XCACHE_TIMEOUT = 60 XCHANNELS_WANTED = XCHANNELS_WANTED_AUTOTIMER = 0 XCHANNELS_WANTED_PRG = 0 XCHANNELS_WANTED_PRG2 = 0 XCHANNELS_WANTED_SUMMARY = 0 XCHANNELS_WANTED_TIMELINE = 0 XCHANNELS_WANTED_WATCHTV = 0 XCHANNELS_WITHOUT_EPG = 1 XCMD_LINES = 20 XEPGIMAGES = /video/epgimages XEPG_PRUNE = 0 XEPG_START_TIME = 00:00 XEPG_SUBTITLE = 1 XEPG_SUMMARY = 0 XES_DESC = 0 XES_SORTBY = pattern XGUEST_ACCOUNT = 0 XGUI_POPUP_HEIGHT = 250 XGUI_POPUP_WIDTH = 500 XLANG = XLOCAL_NET = 0.0.0.0/32 XLOGFILE = syslog XLOGGING = 0 XLOGINPAGE = 0 XLOGLEVEL = 4 XMAIL_AUTH_PASS = XMAIL_AUTH_USER = XMAIL_FROM = autotimer@example.org XMAIL_SERVER = localhost XMAIL_TO = you@example.org XMOD_GZIP = 0 XNO_EVENTID = 0 XNO_EVENTID_ON = XPASSWORD = vdr XPASSWORD_GUEST = guest XPROG_SUMMARY_COLS = 3 XPS_VIEW = ext XRECORDINGS = 1 XREC_DESC = 0 XREC_EXT = m3u XREC_MIMETYPE = video/x-mpegurl XREC_SORTBY = name XSERVERHOST = 127.1 XSERVERPORT = 8001 XSKIN = default XSRCH1_ACTIVE = 1 XSRCH1_TITLE = Lookup movie in the Internet-Movie-Database (IMDb) XSRCH1_URL = http://akas.imdb.com/Tsearch?title=%TITLE% XSRCH2_ACTIVE = 0 XSRCH2_TITLE = XSRCH2_URL = XST_FUNC = 1 XST_LIVE_ON = 1 XST_REC_ON = 0 XST_STREAMDEV_HOST = XST_STREAMDEV_PORT = 3000 XST_URL = XST_VIDEODIR = XTEMPLATE = default XTIMES = 18:00, 20:00, 21:00, 22:00 XTL_TOOLTIP = 1 XTM_DESC = 0 XTM_LIFETIME = 99 XTM_MARGIN_BEGIN = 10 XTM_MARGIN_END = 10 XTM_PRIORITY = 99 XTM_SORTBY = day XTM_TT_LIST = 1 XTM_TT_TIMELINE = 1 XTV_EXT = m3u XTV_INTERVAL = 5 XTV_MIMETYPE = video/x-mpegurl XTV_SIZE = half XUSERNAME = vdr XUSERNAME_GUEST = guest XVDRCONFDIR = /usr/local/etc/vdr XVDR_HOST = localhost XVDR_PORT = 6419 XVIDEODIR = /video XZEITRAHMEN = 1 222bd7ec721813f37e7eaa63a7aa611f echo x - www/vdradmin-am/files/vdradmind.in sed 's/^X//' >www/vdradmin-am/files/vdradmind.in << '6ca1f6072432ebd1da4bcef54cdbb6aa' X#!/bin/sh X# X# $FreeBSD: ports/www/vdradmin-am/files/vdradmind.in,v 1.4 2012/01/14 08:57:20 dougb Exp $ X# X# PROVIDE: vdradmind X# REQUIRE: LOGIN X# KEYWORD: shutdown X# X# Add the following line to /etc/rc.conf[.local] to enable vdradmin_am: X# X# vdradmind_enable="YES" X X. /etc/rc.subr X Xname=vdradmind Xrcvar=vdradmind_enable X Xcommand="%%PREFIX%%/bin/vdradmind" Xpidfile="/var/run/vdradmin-am/${name}.pid" X Xload_rc_config ${name} X: ${vdradmind_enable="NO"} X: ${vdradmind_user="vdr"} X Xrun_rc_command "$1" 6ca1f6072432ebd1da4bcef54cdbb6aa exit