diff options
author | Juergen Lock <nox@FreeBSD.org> | 2011-12-19 01:23:38 +0800 |
---|---|---|
committer | Juergen Lock <nox@FreeBSD.org> | 2011-12-19 01:23:38 +0800 |
commit | 7c720b5681a1c432100d24b7c3bb276e847b4cd6 (patch) | |
tree | 2d047974944033b3fd664f18db1d828ecb4d7f88 /multimedia/vdr-plugin-xvdr | |
parent | 2bf3ba692f03830148ea03473b48420380a5cb8e (diff) | |
download | freebsd-ports-gnome-7c720b5681a1c432100d24b7c3bb276e847b4cd6.tar.gz freebsd-ports-gnome-7c720b5681a1c432100d24b7c3bb276e847b4cd6.tar.zst freebsd-ports-gnome-7c720b5681a1c432100d24b7c3bb276e847b4cd6.zip |
VDR plugin to handle XBMC clients.
The vdr-plugin-xvdr is able to handle serveral XBMC clients connecting
via the XVDR addon.
WWW: https://github.com/pipelka/vdr-plugin-xvdr
Diffstat (limited to 'multimedia/vdr-plugin-xvdr')
12 files changed, 176 insertions, 0 deletions
diff --git a/multimedia/vdr-plugin-xvdr/Makefile b/multimedia/vdr-plugin-xvdr/Makefile new file mode 100644 index 000000000000..df8f06867daf --- /dev/null +++ b/multimedia/vdr-plugin-xvdr/Makefile @@ -0,0 +1,39 @@ +# New ports collection makefile for: vdr-plugin-xvdr +# Date created: Sat Oct 8 17:45:22 CEST 2011 +# Whom: Juergen Lock <nox@FreeBSD.org> +# +# $FreeBSD$ +# + +PORTNAME= vdr-plugin-xvdr +PORTVERSION= 0.9.5 +CATEGORIES= multimedia +MASTER_SITES= LOCAL/nox/ +DISTNAME= pipelka-${PORTNAME}-xvdr-${PORTVERSION}-0-g${GITHASH} + +MAINTAINER= nox@FreeBSD.org +COMMENT= Video Disk Recorder - XVDR server plugin + +GITHASH= e4cab47 +PATCH_STRIP= -p1 +HAVE_CONFIGURE= yes +PORTDOCS= COPYING README +MAKE_JOBS_SAFE= yes +WRKSRC= ${WRKDIR}/pipelka-${PORTNAME}-${GITHASH} + +.include "${.CURDIR}/../vdr/Makefile.plugins" + +post-patch: post-patch-plugin + +post-install: + @${MKDIR} ${PREFIX}/etc/vdr/plugins/${PLUGIN} + @${INSTALL_DATA} ${WRKSRC}/${PLUGIN}/allowed_hosts.conf ${PREFIX}/etc/vdr/plugins/${PLUGIN}/allowed_hosts.conf.sample + @if [ ! -f ${PREFIX}/etc/vdr/plugins/${PLUGIN}/allowed_hosts.conf ]; then \ + ${INSTALL_DATA} -o ${VDR_USER} -g ${VDR_GROUP} ${WRKSRC}/${PLUGIN}/allowed_hosts.conf ${PREFIX}/etc/vdr/plugins/${PLUGIN}; \ + fi +.if !defined(NOPORTDOCS) + ${MKDIR} ${DOCSDIR} + (cd ${WRKSRC} && ${INSTALL_DATA} ${PORTDOCS} ${DOCSDIR}) +.endif + +.include <bsd.port.mk> diff --git a/multimedia/vdr-plugin-xvdr/distinfo b/multimedia/vdr-plugin-xvdr/distinfo new file mode 100644 index 000000000000..7709619875d0 --- /dev/null +++ b/multimedia/vdr-plugin-xvdr/distinfo @@ -0,0 +1,2 @@ +SHA256 (vdr/pipelka-vdr-plugin-xvdr-xvdr-0.9.5-0-ge4cab47.tar.gz) = 791de7fea6b8fd355a38041b5d660b5f09a3fe7221c4cdfa86624f8ad2d8d6f3 +SIZE (vdr/pipelka-vdr-plugin-xvdr-xvdr-0.9.5-0-ge4cab47.tar.gz) = 62582 diff --git a/multimedia/vdr-plugin-xvdr/files/patch-Makefile b/multimedia/vdr-plugin-xvdr/files/patch-Makefile new file mode 100644 index 000000000000..ab221cdf52f5 --- /dev/null +++ b/multimedia/vdr-plugin-xvdr/files/patch-Makefile @@ -0,0 +1,9 @@ +--- a/Makefile ++++ b/Makefile +@@ -114,5 +114,4 @@ clean: + @-rm -f $(OBJS) $(DEPFILE) *.so *.tgz core* *~ + + install: +- @install -d ../../man +- @install README ../../man/$(PLUGIN).man ++ ${INSTALL_PROGRAM} $(LIBDIR)/libvdr-$(PLUGIN).so.$(APIVERSION) $(PREFIX)/lib/vdr/libvdr-$(PLUGIN).so.$(APIVERSION) diff --git a/multimedia/vdr-plugin-xvdr/files/patch-src-live-livestreamer.c b/multimedia/vdr-plugin-xvdr/files/patch-src-live-livestreamer.c new file mode 100644 index 000000000000..3df5c8b9f7d8 --- /dev/null +++ b/multimedia/vdr-plugin-xvdr/files/patch-src-live-livestreamer.c @@ -0,0 +1,15 @@ +--- a/src/live/livestreamer.c ++++ b/src/live/livestreamer.c +@@ -29,7 +29,12 @@ + #include <map> + #include <vdr/remux.h> + #include <vdr/channels.h> ++#ifdef __FreeBSD__ ++#include <sys/endian.h> ++#define __cpu_to_be64 htobe64 ++#else + #include <asm/byteorder.h> ++#endif + + #include "config/config.h" + #include "net/cxsocket.h" diff --git a/multimedia/vdr-plugin-xvdr/files/patch-src-net-cxsocket.c b/multimedia/vdr-plugin-xvdr/files/patch-src-net-cxsocket.c new file mode 100644 index 000000000000..801f0dfe6bbf --- /dev/null +++ b/multimedia/vdr-plugin-xvdr/files/patch-src-net-cxsocket.c @@ -0,0 +1,13 @@ +--- a/src/net/cxsocket.c +--- b/src/net/cxsocket.c +@@ -48,6 +48,10 @@ + #include "config/config.h" + #include "cxsocket.h" + ++#ifndef MSG_MORE ++#define MSG_MORE 0 ++#endif ++ + cxSocket::~cxSocket() + { + close(); diff --git a/multimedia/vdr-plugin-xvdr/files/patch-src-net-cxsocket.h b/multimedia/vdr-plugin-xvdr/files/patch-src-net-cxsocket.h new file mode 100644 index 000000000000..4474e309e03d --- /dev/null +++ b/multimedia/vdr-plugin-xvdr/files/patch-src-net-cxsocket.h @@ -0,0 +1,12 @@ +--- a/src/net/cxsocket.h ++++ b/src/net/cxsocket.h +@@ -29,6 +29,9 @@ + #ifndef __CXSOCKET_H + #define __CXSOCKET_H + ++#ifdef __FreeBSD__ ++#include <netinet/in.h> ++#endif + #include <inttypes.h> + #include <sys/types.h> + #include <sys/socket.h> diff --git a/multimedia/vdr-plugin-xvdr/files/patch-src-net-requestpacket.c b/multimedia/vdr-plugin-xvdr/files/patch-src-net-requestpacket.c new file mode 100644 index 000000000000..0c3476f630db --- /dev/null +++ b/multimedia/vdr-plugin-xvdr/files/patch-src-net-requestpacket.c @@ -0,0 +1,16 @@ +--- a/src/net/requestpacket.c ++++ b/src/net/requestpacket.c +@@ -28,7 +28,13 @@ + #include <stdint.h> + #include <string.h> + ++#ifdef __FreeBSD__ ++#include <sys/endian.h> ++#define __cpu_to_be64 htobe64 ++#define __be64_to_cpu be64toh ++#else + #include <asm/byteorder.h> ++#endif + + #include "xvdr/xvdrcommand.h" + #include "config/config.h" diff --git a/multimedia/vdr-plugin-xvdr/files/patch-src-net-responsepacket.c b/multimedia/vdr-plugin-xvdr/files/patch-src-net-responsepacket.c new file mode 100644 index 000000000000..d5ccd711aaf2 --- /dev/null +++ b/multimedia/vdr-plugin-xvdr/files/patch-src-net-responsepacket.c @@ -0,0 +1,15 @@ +--- a/src/net/responsepacket.c ++++ b/src/net/responsepacket.c +@@ -31,7 +31,12 @@ + #include <arpa/inet.h> + #include <stdlib.h> + #include <string.h> ++#ifdef __FreeBSD__ ++#include <sys/endian.h> ++#define __cpu_to_be64 htobe64 ++#else + #include <asm/byteorder.h> ++#endif + #include <zlib.h> + + #include "config/config.h" diff --git a/multimedia/vdr-plugin-xvdr/files/patch-src-recordings-recplayer.c b/multimedia/vdr-plugin-xvdr/files/patch-src-recordings-recplayer.c new file mode 100644 index 000000000000..4e8fb5a6feb0 --- /dev/null +++ b/multimedia/vdr-plugin-xvdr/files/patch-src-recordings-recplayer.c @@ -0,0 +1,24 @@ +--- a/src/recordings/recplayer.c ++++ b/src/recordings/recplayer.c +@@ -36,6 +36,10 @@ + + #include "config/config.h" + ++#ifndef O_NOATIME ++#define O_NOATIME 0 ++#endif ++ + cRecPlayer::cRecPlayer(cRecording* rec) + { + m_file = -1; +@@ -220,8 +220,10 @@ int cRecPlayer::getBlock(unsigned char* + return 0; + } + ++#ifndef __FreeBSD__ + // Tell linux not to bother keeping the data in the FS cache + posix_fadvise(m_file, filePosition, bytes_read, POSIX_FADV_DONTNEED); ++#endif + + // divide and conquer + if(bytes_read < amount) { diff --git a/multimedia/vdr-plugin-xvdr/files/patch-src-xvdr-xvdrserver.c b/multimedia/vdr-plugin-xvdr/files/patch-src-xvdr-xvdrserver.c new file mode 100644 index 000000000000..17767e1f682d --- /dev/null +++ b/multimedia/vdr-plugin-xvdr/files/patch-src-xvdr-xvdrserver.c @@ -0,0 +1,21 @@ +--- a/src/xvdr/xvdrserver.c ++++ b/src/xvdr/xvdrserver.c +@@ -156,6 +156,7 @@ void cXVDRServer::NewClientConnected(int + int val = 1; + setsockopt(fd, SOL_SOCKET, SO_KEEPALIVE, &val, sizeof(val)); + ++#ifndef __FreeBSD__ + val = 30; + setsockopt(fd, SOL_TCP, TCP_KEEPIDLE, &val, sizeof(val)); + +@@ -167,6 +168,10 @@ void cXVDRServer::NewClientConnected(int + + val = 1; + setsockopt(fd, SOL_TCP, TCP_NODELAY, &val, sizeof(val)); ++#else ++ val = 1; ++ setsockopt(fd, IPPROTO_TCP, TCP_NODELAY, &val, sizeof(val)); ++#endif + + INFOLOG("Client with ID %d connected: %s", m_IdCnt, cxSocket::ip2txt(sin.sin_addr.s_addr, sin.sin_port, buf)); + cXVDRClient *connection = new cXVDRClient(fd, m_IdCnt, cxSocket::ip2txt(sin.sin_addr.s_addr, sin.sin_port, buf)); diff --git a/multimedia/vdr-plugin-xvdr/pkg-descr b/multimedia/vdr-plugin-xvdr/pkg-descr new file mode 100644 index 000000000000..b9d47e2ce628 --- /dev/null +++ b/multimedia/vdr-plugin-xvdr/pkg-descr @@ -0,0 +1,5 @@ +VDR plugin to handle XBMC clients. +The vdr-plugin-xvdr is able to handle serveral XBMC clients connecting +via the XVDR addon. + +WWW: https://github.com/pipelka/vdr-plugin-xvdr diff --git a/multimedia/vdr-plugin-xvdr/pkg-plist b/multimedia/vdr-plugin-xvdr/pkg-plist new file mode 100644 index 000000000000..0efb8d90d6a9 --- /dev/null +++ b/multimedia/vdr-plugin-xvdr/pkg-plist @@ -0,0 +1,5 @@ +lib/vdr/libvdr-xvdr.so.1.7.19 +@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 +etc/vdr/plugins/xvdr/allowed_hosts.conf.sample +@exec if [ ! -f %D/etc/vdr/plugins/xvdr/allowed_hosts.conf ] ; then cp -p %D/%F %B/allowed_hosts.conf; fi +@dirrmtry etc/vdr/plugins/xvdr |