diff --git a/packages/3rdparty/multimedia/vdr-control/build b/packages/3rdparty/multimedia/vdr-control/build new file mode 100755 index 0000000000..040e514757 --- /dev/null +++ b/packages/3rdparty/multimedia/vdr-control/build @@ -0,0 +1,33 @@ +#!/bin/sh + +################################################################################ +# This file is part of OpenELEC - http://www.openelec.tv +# Copyright (C) 2009-2012 Stephan Raue (stephan@openelec.tv) +# +# This Program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. +# +# This Program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with OpenELEC.tv; see the file COPYING. If not, write to +# the Free Software Foundation, 51 Franklin Street, Suite 500, Boston, MA 02110, USA. +# http://www.gnu.org/copyleft/gpl.html +################################################################################ + +. config/options $1 + +CFLAGS="$CFLAGS -fPIC" +CXXFLAGS="$CXXFLAGS -fPIC" +LDFLAGS="$LDFLAGS -fPIC" + +VDR_DIR=`basename $BUILD/vdr-[0-9]*` + +cd $PKG_BUILD + PWD=`pwd` + make VDRDIR="$PWD/../$VDR_DIR" LIBDIR="." LOCALEDIR="./locale" diff --git a/packages/3rdparty/multimedia/vdr-control/meta b/packages/3rdparty/multimedia/vdr-control/meta new file mode 100644 index 0000000000..c145cd4648 --- /dev/null +++ b/packages/3rdparty/multimedia/vdr-control/meta @@ -0,0 +1,37 @@ +################################################################################ +# This file is part of OpenELEC - http://www.openelec.tv +# Copyright (C) 2009-2012 Stephan Raue (stephan@openelec.tv) +# +# This Program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. +# +# This Program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with OpenELEC.tv; see the file COPYING. If not, write to +# the Free Software Foundation, 51 Franklin Street, Suite 500, Boston, MA 02110, USA. +# http://www.gnu.org/copyleft/gpl.html +################################################################################ + +PKG_NAME="vdr-control" +PKG_VERSION="0.0.2a" +PKG_REV="1" +PKG_ARCH="any" +PKG_LICENSE="GPL" +PKG_SITE="http://ricomp.de/vdr/" +PKG_URL="http://ricomp.de/vdr/${PKG_NAME}-${PKG_VERSION}.tgz" +PKG_DEPENDS="vdr" +PKG_BUILD_DEPENDS="toolchain vdr" +PKG_PRIORITY="optional" +PKG_SECTION="multimedia" +PKG_SHORTDESC="vdr control plugin" +PKG_LONGDESC="vdr control plugin" + +PKG_IS_ADDON="no" + +PKG_AUTORECONF="no" diff --git a/packages/3rdparty/multimedia/vdr-control/patches/vdr-control-0.0.2a-01_Makefile-fPIC-fix.patch b/packages/3rdparty/multimedia/vdr-control/patches/vdr-control-0.0.2a-01_Makefile-fPIC-fix.patch new file mode 100644 index 0000000000..3380b8fcb1 --- /dev/null +++ b/packages/3rdparty/multimedia/vdr-control/patches/vdr-control-0.0.2a-01_Makefile-fPIC-fix.patch @@ -0,0 +1,20 @@ +#!/bin/sh /usr/share/dpatch/dpatch-run + +## Makefile-fPIC-fix patch +## +## All lines beginning with `## DP:' are a description of the patch. +## DP: Adds -fPIC to Makefile to fix potential FTBFS. + +@DPATCH@ +diff -urNad /usr/src/cvs/vdrdevel-plugin-rotor/Makefile vdrdevel-plugin-rotor/Makefile +--- /usr/src/cvs/vdrdevel-plugin-rotor/Makefile Sun May 16 15:48:12 2004 ++++ vdrdevel-plugin-rotor/Makefile Sat Sep 11 00:28:18 2004 +@@ -18,7 +18,7 @@ + ### The C++ compiler and options: + + CXX ?= g++ +-CXXFLAGS ?= -O2 -Wall -Woverloaded-virtual ++CXXFLAGS ?= -fPIC -O2 -Wall -Woverloaded-virtual + + ### The directory environment: + diff --git a/packages/3rdparty/multimedia/vdr-control/patches/vdr-control-0.0.2a-02_gateway.patch b/packages/3rdparty/multimedia/vdr-control/patches/vdr-control-0.0.2a-02_gateway.patch new file mode 100644 index 0000000000..5f46c18b9c --- /dev/null +++ b/packages/3rdparty/multimedia/vdr-control/patches/vdr-control-0.0.2a-02_gateway.patch @@ -0,0 +1,31 @@ +#! /bin/sh /usr/share/dpatch/dpatch-run +## 02_gateway.dpatch by Walter, dg9ep @ vdrportal.de +## +## All lines beginning with `## DP:' are a description of the patch. +## DP: Fixes problems when ending a telnet session with ctrl-c +## DP: see: http://www.vdr-portal.de/board/thread.php?threadid=49680 + +@DPATCH@ +diff -urNad vdr-plugin-control-0.0.2a~/gateway.c vdr-plugin-control-0.0.2a/gateway.c +--- vdr-plugin-control-0.0.2a~/gateway.c 2004-07-02 21:24:22.000000000 +0200 ++++ vdr-plugin-control-0.0.2a/gateway.c 2007-04-12 22:51:16.000000000 +0200 +@@ -36,7 +36,7 @@ + _pTelnet (0), + _pFormatter (0) + { +- gl_CtrlGatewayCol.Add(this); ++// gl_CtrlGatewayCol.Add(this); + + // if (! cKbdRemoteForControl::_pRemote) + // cKbdRemoteForControl::_pRemote = new cKbdRemoteForControl(); +@@ -163,8 +163,8 @@ + + // UnprepareSocket(); + +- if (! _terminating) +- gl_CtrlGatewayCol.Del(this); ++// if (! _terminating) ++// gl_CtrlGatewayCol.Del(this); + + conDSYSLOG("gateway thread ended (pid=%d)", getpid()); + conLOG_GATEW("gateway thread ended (pid=%d)", getpid()); diff --git a/packages/3rdparty/multimedia/vdr-control/patches/vdr-control-0.0.2a-92_control-1.3.18.patch b/packages/3rdparty/multimedia/vdr-control/patches/vdr-control-0.0.2a-92_control-1.3.18.patch new file mode 100644 index 0000000000..0e6a100f24 --- /dev/null +++ b/packages/3rdparty/multimedia/vdr-control/patches/vdr-control-0.0.2a-92_control-1.3.18.patch @@ -0,0 +1,35 @@ +#!/bin/sh /usr/share/dpatch/dpatch-run + +## control-1.3.18 patch - by Thomas Günther +## +## All lines beginning with `## DP:' are a description of the patch. +## DP: Changes for VDR >= 1.3.18. + +@DPATCH@ +--- control-0.0.2a/gateway.c ++++ control-0.0.2a/gateway.c +@@ -102,7 +102,12 @@ + + uint64 Command = 0; + uint i = 0; ++#if VDRVERSNUM >= 10318 ++ cTimeMs timeout; ++ timeout.Set(100); ++#else + int t0 = time_ms(); ++#endif + while (_active && i < sizeof(Command)) { + + uchar ch; +@@ -131,7 +136,11 @@ + // of their codes, so we'll need to wait some 100ms to see if + // there is more coming up - or whether this really is the 'ESC' + // key (if somebody knows how to clean this up, please let me know): ++#if VDRVERSNUM >= 10318 ++ if (Command == 0x1B && !timeout.TimedOut()) ++#else + if (Command == 0x1B && time_ms() - t0 < 100) ++#endif + continue; + + if (Command) { diff --git a/packages/3rdparty/multimedia/vdr-control/patches/vdr-control-0.0.2a-93_control-0.0.2a-1.5.0.patch b/packages/3rdparty/multimedia/vdr-control/patches/vdr-control-0.0.2a-93_control-0.0.2a-1.5.0.patch new file mode 100644 index 0000000000..a7ebfe3a2a --- /dev/null +++ b/packages/3rdparty/multimedia/vdr-control/patches/vdr-control-0.0.2a-93_control-0.0.2a-1.5.0.patch @@ -0,0 +1,73 @@ +#! /bin/sh /usr/share/dpatch/dpatch-run +## 93_control-0.0.2a-1.5.0.dpatch by Thomas Günther +## +## All lines beginning with `## DP:' are a description of the patch. +## DP: Changes for VDR >= 1.5.0 (applicable to VDR >= 1.4.5). + +@DPATCH@ +--- control-0.0.2a/gateway.c ++++ control-0.0.2a/gateway.c +@@ -100,7 +100,7 @@ + + if (_stack.poll(100)) { + +- uint64 Command = 0; ++ uint64_t Command = 0; + uint i = 0; + int t0 = time_ms(); + while (_active && i < sizeof(Command)) { +--- control-0.0.2a/keyboard.c ++++ control-0.0.2a/keyboard.c +@@ -18,7 +18,7 @@ + + struct tKbdMap { + eKbdFunc func; +- uint64 code; ++ uint64_t code; + }; + + +@@ -117,7 +117,7 @@ + + + +-bool cCtrlKeyboard::intPut(uint64 Command, bool Repeat, bool Release) { ++bool cCtrlKeyboard::intPut(uint64_t Command, bool Repeat, bool Release) { + + bool ret = cRemote::Put(Command, Repeat, Release); + conLOG_KEYB("%s cKbdRemoteForControl::intPut(0x%016LX)", ret ? "true" : "false", Command); +@@ -126,7 +126,7 @@ + + + +-bool cCtrlKeyboard::Put(uint64 Command, bool Repeat, bool Release) { ++bool cCtrlKeyboard::Put(uint64_t Command, bool Repeat, bool Release) { + + if (! _pRemote) + _pRemote = new cCtrlKeyboard(); +@@ -136,7 +136,7 @@ + + + +-int cCtrlKeyboard::MapCodeToFunc(uint64 Code) { ++int cCtrlKeyboard::MapCodeToFunc(uint64_t Code) { + + for (const tKbdMap *p = keyboardKbdMap; p->func != kfNone; p++) { + if (p->code == Code) +--- control-0.0.2a/keyboard.h ++++ control-0.0.2a/keyboard.h +@@ -30,11 +30,11 @@ + cCtrlKeyboard(); + virtual ~cCtrlKeyboard(); + +- bool intPut(uint64 Command, bool Repeat, bool Release); ++ bool intPut(uint64_t Command, bool Repeat, bool Release); + + public: +- static bool Put(uint64 Command, bool Repeat = false, bool Release = false); +- static int MapCodeToFunc(uint64 Code); ++ static bool Put(uint64_t Command, bool Repeat = false, bool Release = false); ++ static int MapCodeToFunc(uint64_t Code); + }; + + diff --git a/packages/3rdparty/multimedia/vdr-control/patches/vdr-control-0.0.2a-94_gcc-4.4.patch b/packages/3rdparty/multimedia/vdr-control/patches/vdr-control-0.0.2a-94_gcc-4.4.patch new file mode 100644 index 0000000000..09292c75d8 --- /dev/null +++ b/packages/3rdparty/multimedia/vdr-control/patches/vdr-control-0.0.2a-94_gcc-4.4.patch @@ -0,0 +1,28 @@ +#! /bin/sh /usr/share/dpatch/dpatch-run +## 94_gcc-4.4.dpatch by Tobias Grimm +## +## All lines beginning with `## DP:' are a description of the patch. +## DP: No description. + +@DPATCH@ +diff -urNad vdr-plugin-control-0.0.2a~/formatter.c vdr-plugin-control-0.0.2a/formatter.c +--- vdr-plugin-control-0.0.2a~/formatter.c 2004-07-02 21:24:22.000000000 +0200 ++++ vdr-plugin-control-0.0.2a/formatter.c 2009-11-11 22:07:56.000000000 +0100 +@@ -165,7 +165,7 @@ + + if (Title) { + +- char* t = strchr(Title, '\t'); ++ const char* t = strchr(Title, '\t'); + if (t) { + + int size = t - Title; +@@ -300,7 +300,7 @@ + + for (;;) { + +- char* t = strchr(text, '\t'); ++ const char* t = strchr(text, '\t'); + if (t) { + // Tab found - check if the tab can be used + diff --git a/packages/3rdparty/multimedia/vdr-control/rename b/packages/3rdparty/multimedia/vdr-control/rename new file mode 100755 index 0000000000..2cd5321a03 --- /dev/null +++ b/packages/3rdparty/multimedia/vdr-control/rename @@ -0,0 +1,26 @@ +#!/bin/sh + +################################################################################ +# This file is part of OpenELEC - http://www.openelec.tv +# Copyright (C) 2009-2012 Stephan Raue (stephan@openelec.tv) +# +# This Program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. +# +# This Program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with OpenELEC.tv; see the file COPYING. If not, write to +# the Free Software Foundation, 51 Franklin Street, Suite 500, Boston, MA 02110, USA. +# http://www.gnu.org/copyleft/gpl.html +################################################################################ + +. config/options $1 + +cd $BUILD +mv control-${PKG_VERSION} ${PKG_NAME}-${PKG_VERSION}