From e45072720caa141eceb68e6f851c67564aa17aa8 Mon Sep 17 00:00:00 2001 From: Stefan Saraev Date: Mon, 7 May 2012 12:43:41 +0300 Subject: [PATCH 01/12] makemkv: fix build error --- .../makemkv-1.7.2-001-crosscompiling-objcopy.patch | 13 +++++++++++++ 1 file changed, 13 insertions(+) create mode 100644 packages/addons/multimedia/makemkv/patches.upstream/makemkv-1.7.2-001-crosscompiling-objcopy.patch diff --git a/packages/addons/multimedia/makemkv/patches.upstream/makemkv-1.7.2-001-crosscompiling-objcopy.patch b/packages/addons/multimedia/makemkv/patches.upstream/makemkv-1.7.2-001-crosscompiling-objcopy.patch new file mode 100644 index 0000000000..10e67fa8b8 --- /dev/null +++ b/packages/addons/multimedia/makemkv/patches.upstream/makemkv-1.7.2-001-crosscompiling-objcopy.patch @@ -0,0 +1,13 @@ +diff --git a/lib/makefile.linux b/lib/makefile.linux +index dedf8cf..5fac196 100644 +--- a/lib/makefile.linux ++++ b/lib/makefile.linux +@@ -38,7 +38,7 @@ endif + install -D -m 644 makemkvgui/src/img/128/mkv_icon.png $(DESTDIR)$(PREFIX)/share/icons/hicolor/128x128/apps/makemkv.png + + out/%: out/%.full +- objcopy --strip-all --strip-debug --strip-unneeded --discard-all $< $@ ++ $(OBJCOPY) --strip-all --strip-debug --strip-unneeded --discard-all $< $@ + + out/libdriveio.so.0.full: + mkdir -p out From ce0440c8b01d422857109a57704b4d64e56633b4 Mon Sep 17 00:00:00 2001 From: Stefan Saraev Date: Mon, 7 May 2012 12:56:10 +0300 Subject: [PATCH 02/12] boblightd: fix build error --- packages/addons/service/multimedia/boblightd/build | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/packages/addons/service/multimedia/boblightd/build b/packages/addons/service/multimedia/boblightd/build index 6c32ba94a2..b48f301cfe 100755 --- a/packages/addons/service/multimedia/boblightd/build +++ b/packages/addons/service/multimedia/boblightd/build @@ -24,12 +24,16 @@ . config/options $1 +if [ ! "$OPENGL_SUPPORT" = "yes" ] ; then + EXTRAOPTS="--without-opengl" +fi cd $PKG_BUILD ./configure --host=$TARGET_NAME \ --build=$HOST_NAME \ --prefix=/usr \ --enable-shared \ --disable-static \ + $EXTRAOPTS \ --without-portaudio \ make From 51b54ed7821ea320d639ba8bcb5abe4cc276bc38 Mon Sep 17 00:00:00 2001 From: Stefan Saraev Date: Mon, 7 May 2012 13:06:21 +0300 Subject: [PATCH 03/12] vdr-plugin-dvbapi: add -ffdecsa.patch --- .../vdr-plugin-dvbapi-329cbe8-ffdecsa.patch | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) create mode 100644 packages/3rdparty/multimedia/vdr-plugin-dvbapi/patches/vdr-plugin-dvbapi-329cbe8-ffdecsa.patch diff --git a/packages/3rdparty/multimedia/vdr-plugin-dvbapi/patches/vdr-plugin-dvbapi-329cbe8-ffdecsa.patch b/packages/3rdparty/multimedia/vdr-plugin-dvbapi/patches/vdr-plugin-dvbapi-329cbe8-ffdecsa.patch new file mode 100644 index 0000000000..ed4e806134 --- /dev/null +++ b/packages/3rdparty/multimedia/vdr-plugin-dvbapi/patches/vdr-plugin-dvbapi-329cbe8-ffdecsa.patch @@ -0,0 +1,17 @@ +diff --git a/Makefile b/Makefile +index a8c7d97..6084cec 100644 +--- a/Makefile ++++ b/Makefile +@@ -54,9 +54,9 @@ DEFINES += -D_GNU_SOURCE -DPLUGIN_NAME_I18N='"$(PLUGIN)"' + OBJS = CAPMT.o DeCSA.o DeCsaTSBuffer.o DVBAPI.o DVBAPISetup.o SCDeviceProbe.o SCDVBDevice.o UDPSocket.o SCCIAdapter.o Frame.o SCCAMSlot.o + + # FFdeCSA +-CPUOPT ?= athlon64 +-PARALLEL ?= PARALLEL_128_SSE +-CSAFLAGS ?= -fPIC -O3 -fexpensive-optimizations -funroll-loops -mmmx -msse -msse2 -msse3 ++CPUOPT ?= pentium ++PARALLEL ?= PARALLEL_32_INT ++CSAFLAGS ?= -Wall -fPIC -g -O3 -mmmx -fomit-frame-pointer -fexpensive-optimizations -funroll-loops + FFDECSADIR = FFdecsa + FFDECSA = $(FFDECSADIR)/FFdecsa.o + FFDECSATEST = $(FFDECSADIR)/FFdecsa_test.done From b7c354db802b0a54c9ae863c8326c53ba56bc328 Mon Sep 17 00:00:00 2001 From: Stefan Saraev Date: Mon, 7 May 2012 16:24:56 +0300 Subject: [PATCH 04/12] rotorng: update -vdr.patch (thx vpeter) --- .../rotorng/patches/rotorng-0.1.0-vdr.patch | 25 ++++++++++++++++--- 1 file changed, 21 insertions(+), 4 deletions(-) diff --git a/packages/3rdparty/multimedia/rotorng/patches/rotorng-0.1.0-vdr.patch b/packages/3rdparty/multimedia/rotorng/patches/rotorng-0.1.0-vdr.patch index 5ac319c7b5..c42ebe944d 100644 --- a/packages/3rdparty/multimedia/rotorng/patches/rotorng-0.1.0-vdr.patch +++ b/packages/3rdparty/multimedia/rotorng/patches/rotorng-0.1.0-vdr.patch @@ -1,7 +1,24 @@ -Index: vdr-plugin-rotorng-0.1.0/rotorng.c -=================================================================== ---- vdr-plugin-rotorng-0.1.0.orig/rotorng.c 2012-03-14 14:18:16.610997754 +0100 -+++ vdr-plugin-rotorng-0.1.0/rotorng.c 2012-03-14 14:24:59.410997997 +0100 +diff -uNr rotorng-0.1.0-orig/rotorng.c rotorng-0.1.0/rotorng.c +--- rotorng-0.1.0-orig/rotorng.c 2012-05-06 16:14:06.000000000 +0200 ++++ rotorng-0.1.0/rotorng.c 2012-05-07 10:52:18.000000000 +0200 +@@ -338,7 +338,7 @@ + int last_position_shown; + bool transfer; + protected: +- virtual void ChannelSwitch(const cDevice *Device, int ChannelNumber); ++ virtual void ChannelSwitch(const cDevice *Device, int ChannelNumber,bool LiveView); + public: + cStatusMonitor(); + }; +@@ -348,7 +348,7 @@ + transfer=false; + } + +-void cStatusMonitor::ChannelSwitch(const cDevice *Device, int ChannelNumber) ++void cStatusMonitor::ChannelSwitch(const cDevice *Device, int ChannelNumber,bool LiveView) + { + //actuator_status status; + if (ChannelNumber) { @@ -1494,7 +1494,7 @@ snprintf(buf, sizeof(buf),"%s %d", tr(menucaption[itemindex]), menuvalue[itemindex]); break; From 2ec086bfb78a490257c488827786a51e8f6410bb Mon Sep 17 00:00:00 2001 From: Stefan Saraev Date: Mon, 7 May 2012 16:25:57 +0300 Subject: [PATCH 05/12] vdr: update patchset --- .../vdr/patches/vdr-1.7.27-44_rotor.patch | 115 ++++++------- .../vdr-1.7.27-61_dynamite-subdevice.patch | 162 ++++++++++-------- 2 files changed, 143 insertions(+), 134 deletions(-) diff --git a/packages/3rdparty/multimedia/vdr/patches/vdr-1.7.27-44_rotor.patch b/packages/3rdparty/multimedia/vdr/patches/vdr-1.7.27-44_rotor.patch index 15190449b4..bed6014c98 100644 --- a/packages/3rdparty/multimedia/vdr/patches/vdr-1.7.27-44_rotor.patch +++ b/packages/3rdparty/multimedia/vdr/patches/vdr-1.7.27-44_rotor.patch @@ -1,11 +1,7 @@ -Description: This patch is needed for the rotor plugin. -Author: Thomas Bergwinkl -Origin: extracted from the rotor plugin 0.1.4-vdr1.5 - -Index: vdr-1.7.27/device.h -=================================================================== ---- vdr-1.7.27.orig/device.h 2012-03-25 14:18:05.554975038 +0200 -+++ vdr-1.7.27/device.h 2012-03-25 14:18:05.764975038 +0200 +diff --git a/device.h b/device.h +index e61edd0..dc2ea5f 100644 +--- a/device.h ++++ b/device.h @@ -24,6 +24,8 @@ #include "spu.h" #include "thread.h" @@ -15,19 +11,20 @@ Index: vdr-1.7.27/device.h #define MAXDEVICES 16 // the maximum number of devices in the system #define MAXPIDHANDLES 64 // the maximum number of different PIDs per device -@@ -331,6 +333,7 @@ +@@ -331,7 +333,7 @@ public: virtual bool HasProgramme(void); ///< Returns true if the device is currently showing any programme to ///< the user, either through replaying or live. +- + virtual bool SendDiseqcCmd(dvb_diseqc_master_cmd cmd) {return false;} - // PID handle facilities -Index: vdr-1.7.27/dvbdevice.c -=================================================================== ---- vdr-1.7.27.orig/dvbdevice.c 2012-03-25 12:41:45.000000000 +0200 -+++ vdr-1.7.27/dvbdevice.c 2012-03-25 14:18:05.764975038 +0200 -@@ -285,6 +285,7 @@ + private: +diff --git a/dvbdevice.c b/dvbdevice.c +index 65e9a4b..53a4a22 100644 +--- a/dvbdevice.c ++++ b/dvbdevice.c +@@ -285,6 +285,7 @@ class cDvbTuner : public cThread { private: static cMutex bondMutex; enum eTunerStatus { tsIdle, tsSet, tsTuned, tsLocked }; @@ -35,7 +32,7 @@ Index: vdr-1.7.27/dvbdevice.c const cDvbDevice *device; int fd_frontend; int adapter, frontend; -@@ -300,6 +301,7 @@ +@@ -300,6 +301,7 @@ private: cMutex mutex; cCondVar locked; cCondVar newSet; @@ -43,48 +40,44 @@ Index: vdr-1.7.27/dvbdevice.c cDvbTuner *bondedTuner; bool bondedMaster; bool bondedMasterFailed; -@@ -325,12 +327,16 @@ +@@ -322,6 +324,7 @@ public: + uint32_t SubsystemId(void) const { return subsystemId; } + bool IsTunedTo(const cChannel *Channel) const; + void SetChannel(const cChannel *Channel); ++ bool SendDiseqcCmd(dvb_diseqc_master_cmd cmd); bool Locked(int TimeoutMs = 0); int GetSignalStrength(void) const; int GetSignalQuality(void) const; -+ bool SendDiseqcCmd(dvb_diseqc_master_cmd cmd); -+private: -+ int GetCurrentDeliverySystem(void); - }; - - cMutex cDvbTuner::bondMutex; - - cDvbTuner::cDvbTuner(const cDvbDevice *Device, int Fd_Frontend, int Adapter, int Frontend) +@@ -333,6 +336,7 @@ cDvbTuner::cDvbTuner(const cDvbDevice *Device, int Fd_Frontend, int Adapter, int { -+ SendDiseqc=false; device = Device; fd_frontend = Fd_Frontend; ++ SendDiseqc=false; adapter = Adapter; -@@ -646,6 +652,35 @@ - return -1; + frontend = Frontend; + subsystemId = cDvbDeviceProbe::GetSubsystemId(adapter, frontend); +@@ -860,6 +864,10 @@ void cDvbTuner::Action(void) + Status = NewStatus; + cMutexLock MutexLock(&mutex); + int WaitTime = 1000; ++ if (SendDiseqc) { ++ CHECK(ioctl(fd_frontend, FE_DISEQC_SEND_MASTER_CMD, &diseqc_cmd)); ++ SendDiseqc=false; ++ } + switch (tunerStatus) { + case tsIdle: + break; +@@ -913,6 +921,20 @@ void cDvbTuner::Action(void) + } } -+int cDvbTuner::GetCurrentDeliverySystem() -+{ -+ dtv_property Frontend[1]; -+ memset(&Frontend, 0, sizeof(Frontend)); -+ dtv_properties CmdSeq; -+ memset(&CmdSeq, 0, sizeof(CmdSeq)); -+ CmdSeq.props = Frontend; -+ Frontend[0].cmd = DTV_DELIVERY_SYSTEM; -+ Frontend[0].u.data = 0; -+ if (ioctl(fd_frontend, FE_GET_PROPERTY, &CmdSeq) < 0) { -+ esyslog("ERROR: frontend %d/%d: %m", adapter, frontend); -+ return SYS_UNDEFINED; -+ } -+ return Frontend[0].u.data; -+} -+ +bool cDvbTuner::SendDiseqcCmd(dvb_diseqc_master_cmd cmd) +{ + cMutexLock MutexLock(&mutex); -+ int frontendType = GetCurrentDeliverySystem(); -+ if ((frontendType != SYS_DVBS && frontendType != SYS_DVBS2) || SendDiseqc) ++ cDvbTransponderParameters dtp(channel.Parameters()); ++ // Determine the required frontend type: ++ int frontendType = GetRequiredDeliverySystem(&channel, &dtp); ++ if ((frontendType!=SYS_DVBS2 && frontendType!=SYS_DVBS) || SendDiseqc) + return false; + diseqc_cmd=cmd; + SendDiseqc=true; @@ -92,22 +85,10 @@ Index: vdr-1.7.27/dvbdevice.c + return true; +} + -+ - static unsigned int FrequencyToHz(unsigned int f) - { - while (f && f < 1000000) -@@ -859,6 +894,10 @@ - if (GetFrontendStatus(NewStatus)) - Status = NewStatus; - cMutexLock MutexLock(&mutex); -+ if (SendDiseqc) { -+ CHECK(ioctl(fd_frontend, FE_DISEQC_SEND_MASTER_CMD, &diseqc_cmd)); -+ SendDiseqc=false; -+ } - int WaitTime = 1000; - switch (tunerStatus) { - case tsIdle: -@@ -1534,6 +1573,11 @@ + // --- cDvbSourceParam ------------------------------------------------------- + + class cDvbSourceParam : public cSourceParam { +@@ -1534,6 +1556,11 @@ bool cDvbDevice::HasLock(int TimeoutMs) return dvbTuner ? dvbTuner->Locked(TimeoutMs) : false; } @@ -119,11 +100,11 @@ Index: vdr-1.7.27/dvbdevice.c void cDvbDevice::SetTransferModeForDolbyDigital(int Mode) { setTransferModeForDolbyDigital = Mode; -Index: vdr-1.7.27/dvbdevice.h -=================================================================== ---- vdr-1.7.27.orig/dvbdevice.h 2012-03-13 11:11:15.000000000 +0100 -+++ vdr-1.7.27/dvbdevice.h 2012-03-25 14:18:05.774975038 +0200 -@@ -192,6 +192,7 @@ +diff --git a/dvbdevice.h b/dvbdevice.h +index c53a208..4ffcb91 100644 +--- a/dvbdevice.h ++++ b/dvbdevice.h +@@ -192,6 +192,7 @@ protected: virtual bool SetChannelDevice(const cChannel *Channel, bool LiveView); public: virtual bool HasLock(int TimeoutMs = 0); diff --git a/packages/3rdparty/multimedia/vdr/patches/vdr-1.7.27-61_dynamite-subdevice.patch b/packages/3rdparty/multimedia/vdr/patches/vdr-1.7.27-61_dynamite-subdevice.patch index 5b2d8d02df..50aabae7d1 100644 --- a/packages/3rdparty/multimedia/vdr/patches/vdr-1.7.27-61_dynamite-subdevice.patch +++ b/packages/3rdparty/multimedia/vdr/patches/vdr-1.7.27-61_dynamite-subdevice.patch @@ -1,12 +1,24 @@ -Description: Patch for VDR to support hotpluggable devices via the - dynamite plugin. -Origin: https://github.com/flensrocker/vdr-plugin-dynamite -Forwarded: no -Author: Lars Hanisch +From a13c75ec46f2783b2d258af48d7de28d44666715 Mon Sep 17 00:00:00 2001 +From: Stefan Saraev +Date: Sat, 5 May 2012 21:50:48 +0300 +Subject: [PATCH 2/2] dynamite +--- + ci.c | 2 + + ci.h | 2 + + device.c | 121 +++++++++++++++++++++++++++++++++++++++++++++++++++++++---- + device.h | 85 ++++++++++++++++++++++++++++++++++++----- + dvbci.c | 51 +++++++++++++++++++++++-- + dvbci.h | 12 +++++- + dvbdevice.c | 95 ++++++++++++++++++++++++++++++++++++++++++---- + dvbdevice.h | 6 ++- + 8 files changed, 339 insertions(+), 35 deletions(-) + +diff --git a/ci.c b/ci.c +index 0135d07..cf21952 100644 --- a/ci.c +++ b/ci.c -@@ -1571,6 +1571,8 @@ +@@ -1571,6 +1571,8 @@ cCamSlot::cCamSlot(cCiAdapter *CiAdapter) cCamSlot::~cCamSlot() { @@ -15,9 +27,11 @@ Author: Lars Hanisch CamSlots.Del(this, false); DeleteAllConnections(); } +diff --git a/ci.h b/ci.h +index 74e0270..d38e2dd 100644 --- a/ci.h +++ b/ci.h -@@ -115,6 +115,8 @@ +@@ -115,6 +115,8 @@ public: ///< The derived class must call Cancel(3) in its destructor. virtual bool Ready(void); ///< Returns 'true' if all present CAMs in this adapter are ready. @@ -26,9 +40,11 @@ Author: Lars Hanisch }; class cTPDU; +diff --git a/device.c b/device.c +index 273757e..f83e789 100644 --- a/device.c +++ b/device.c -@@ -70,12 +70,22 @@ +@@ -69,12 +69,22 @@ int cDevice::currentChannel = 1; cDevice *cDevice::device[MAXDEVICES] = { NULL }; cDevice *cDevice::primaryDevice = NULL; cList cDevice::deviceHooks; @@ -55,7 +71,7 @@ Author: Lars Hanisch SetDescription("receiver on device %d", CardIndex() + 1); -@@ -106,10 +116,14 @@ +@@ -105,10 +115,14 @@ cDevice::cDevice(void) for (int i = 0; i < MAXRECEIVERS; i++) receiver[i] = NULL; @@ -73,7 +89,7 @@ Author: Lars Hanisch } cDevice::~cDevice() -@@ -118,6 +132,29 @@ +@@ -117,6 +131,29 @@ cDevice::~cDevice() DetachAllReceivers(); delete liveSubtitle; delete dvbSubtitleConverter; @@ -103,7 +119,7 @@ Author: Lars Hanisch } bool cDevice::WaitForAllDevicesReady(int Timeout) -@@ -156,6 +193,8 @@ +@@ -155,6 +192,8 @@ int cDevice::NextCardIndex(int n) int cDevice::DeviceNumber(void) const { @@ -112,7 +128,7 @@ Author: Lars Hanisch for (int i = 0; i < numDevices; i++) { if (device[i] == this) return i; -@@ -350,6 +389,8 @@ +@@ -349,6 +388,8 @@ bool cDevice::HasCi(void) void cDevice::SetCamSlot(cCamSlot *CamSlot) { @@ -121,7 +137,7 @@ Author: Lars Hanisch camSlot = CamSlot; } -@@ -562,6 +603,10 @@ +@@ -561,6 +602,10 @@ void cDevice::DelLivePids(void) void cDevice::StartSectionHandler(void) { @@ -132,7 +148,7 @@ Author: Lars Hanisch if (!sectionHandler) { sectionHandler = new cSectionHandler(this); AttachFilter(eitFilter = new cEitFilter); -@@ -573,6 +618,10 @@ +@@ -572,6 +617,10 @@ void cDevice::StartSectionHandler(void) void cDevice::StopSectionHandler(void) { @@ -143,7 +159,7 @@ Author: Lars Hanisch if (sectionHandler) { delete nitFilter; delete sdtFilter; -@@ -599,12 +648,17 @@ +@@ -598,12 +647,17 @@ void cDevice::CloseFilter(int Handle) void cDevice::AttachFilter(cFilter *Filter) { @@ -161,7 +177,7 @@ Author: Lars Hanisch if (sectionHandler) sectionHandler->Detach(Filter); } -@@ -766,6 +820,7 @@ +@@ -765,6 +819,7 @@ eSetChannelResult cDevice::SetChannel(const cChannel *Channel, bool LiveView) sectionHandler->SetStatus(false); sectionHandler->SetChannel(NULL); } @@ -169,7 +185,7 @@ Author: Lars Hanisch // Tell the camSlot about the channel switch and add all PIDs of this // channel to it, for possible later decryption: if (camSlot) -@@ -812,19 +867,27 @@ +@@ -811,19 +866,27 @@ void cDevice::ForceTransferMode(void) { if (!cTransferControl::ReceiverDevice()) { cChannel *Channel = Channels.GetByNumber(CurrentChannel()); @@ -198,7 +214,7 @@ Author: Lars Hanisch if (Seconds >= 0) occupiedTimeout = time(NULL) + min(Seconds, MAXOCCUPIEDTIMEOUT); } -@@ -1197,7 +1260,10 @@ +@@ -1196,7 +1259,10 @@ bool cDevice::Transferring(void) const bool cDevice::AttachPlayer(cPlayer *Player) { @@ -209,7 +225,7 @@ Author: Lars Hanisch if (player) Detach(player); DELETENULL(liveSubtitle); -@@ -1216,6 +1282,8 @@ +@@ -1215,6 +1281,8 @@ bool cDevice::AttachPlayer(cPlayer *Player) void cDevice::Detach(cPlayer *Player) { @@ -218,7 +234,7 @@ Author: Lars Hanisch if (Player && player == Player) { cPlayer *p = player; player = NULL; // avoids recursive calls to Detach() -@@ -1235,6 +1303,8 @@ +@@ -1234,6 +1302,8 @@ void cDevice::Detach(cPlayer *Player) void cDevice::StopReplay(void) { @@ -227,7 +243,7 @@ Author: Lars Hanisch if (player) { Detach(player); if (IsPrimaryDevice()) -@@ -1536,6 +1606,8 @@ +@@ -1516,6 +1586,8 @@ int cDevice::PlayTs(const uchar *Data, int Length, bool VideoOnly) int cDevice::Priority(void) const { @@ -236,7 +252,7 @@ Author: Lars Hanisch int priority = IDLEPRIORITY; if (IsPrimaryDevice() && !Replaying() && ActualDevice() == PrimaryDevice()) priority = TRANSFERPRIORITY; // we use the same value here, no matter whether it's actual Transfer Mode or real live viewing -@@ -1554,6 +1626,8 @@ +@@ -1534,6 +1606,8 @@ bool cDevice::Ready(void) bool cDevice::Receiving(bool Dummy) const { @@ -245,7 +261,7 @@ Author: Lars Hanisch cMutexLock MutexLock(&mutexReceiver); for (int i = 0; i < MAXRECEIVERS; i++) { if (receiver[i]) -@@ -1634,10 +1708,13 @@ +@@ -1614,10 +1688,13 @@ bool cDevice::GetTSPacket(uchar *&Data) bool cDevice::AttachReceiver(cReceiver *Receiver) { @@ -259,7 +275,7 @@ Author: Lars Hanisch // activate the following line if you need it - actually the driver should be fixed! //#define WAIT_FOR_TUNER_LOCK #ifdef WAIT_FOR_TUNER_LOCK -@@ -1676,6 +1753,8 @@ +@@ -1656,6 +1733,8 @@ bool cDevice::AttachReceiver(cReceiver *Receiver) void cDevice::Detach(cReceiver *Receiver) { @@ -268,7 +284,7 @@ Author: Lars Hanisch if (!Receiver || Receiver->device != this) return; bool receiversLeft = false; -@@ -1701,6 +1780,8 @@ +@@ -1681,6 +1760,8 @@ void cDevice::Detach(cReceiver *Receiver) void cDevice::DetachAll(int Pid) { @@ -277,7 +293,7 @@ Author: Lars Hanisch if (Pid) { cMutexLock MutexLock(&mutexReceiver); for (int i = 0; i < MAXRECEIVERS; i++) { -@@ -1713,6 +1794,8 @@ +@@ -1693,6 +1774,8 @@ void cDevice::DetachAll(int Pid) void cDevice::DetachAllReceivers(void) { @@ -286,7 +302,7 @@ Author: Lars Hanisch cMutexLock MutexLock(&mutexReceiver); for (int i = 0; i < MAXRECEIVERS; i++) Detach(receiver[i]); -@@ -1784,3 +1867,25 @@ +@@ -1764,3 +1847,25 @@ uchar *cTSBuffer::Get(void) } return NULL; } @@ -312,9 +328,11 @@ Author: Lars Hanisch +{ + DynamicDeviceProbes.Del(this, false); +} +diff --git a/device.h b/device.h +index dc2ea5f..e5e92a3 100644 --- a/device.h +++ b/device.h -@@ -171,7 +171,6 @@ +@@ -171,7 +171,6 @@ private: static int nextCardIndex; int cardIndex; protected: @@ -322,7 +340,7 @@ Author: Lars Hanisch virtual ~cDevice(); virtual bool Ready(void); ///< Returns true if this device is ready. Devices with conditional -@@ -198,9 +197,6 @@ +@@ -198,9 +197,6 @@ protected: ///< A derived class must call the MakePrimaryDevice() function of its ///< base class. public: @@ -332,7 +350,7 @@ Author: Lars Hanisch int DeviceNumber(void) const; ///< Returns the number of this device (0 ... numDevices). virtual cString DeviceName(void) const; -@@ -417,9 +413,6 @@ +@@ -416,9 +412,6 @@ public: ///< shall check whether the channel can be decrypted. void SetCamSlot(cCamSlot *CamSlot); ///< Sets the given CamSlot to be used with this device. @@ -342,8 +360,8 @@ Author: Lars Hanisch // Image Grab facilities -@@ -576,9 +569,6 @@ - cTsToPes tsToPesTeletext; +@@ -574,9 +567,6 @@ private: + cTsToPes tsToPesSubtitle; bool isPlayingVideo; protected: - const cPatPmtParser *PatPmtParser(void) const { return &patPmtParser; } @@ -352,7 +370,7 @@ Author: Lars Hanisch virtual bool CanReplay(void) const; ///< Returns true if this device can currently start a replay session. virtual bool SetPlayMode(ePlayMode PlayMode); -@@ -763,6 +753,38 @@ +@@ -761,6 +751,38 @@ public: ///< Detaches all receivers from this device for this pid. virtual void DetachAllReceivers(void); ///< Detaches all receivers from this device. @@ -391,7 +409,7 @@ Author: Lars Hanisch }; /// Derived cDevice classes that can receive channels will have to provide -@@ -786,4 +808,47 @@ +@@ -784,4 +806,47 @@ public: uchar *Get(void); }; @@ -439,6 +457,8 @@ Author: Lars Hanisch +extern cList DynamicDeviceProbes; + #endif //__DEVICE_H +diff --git a/dvbci.c b/dvbci.c +index 5289bbd..fea3a83 100644 --- a/dvbci.c +++ b/dvbci.c @@ -10,15 +10,18 @@ @@ -462,7 +482,7 @@ Author: Lars Hanisch ca_caps_t Caps; if (ioctl(fd, CA_GET_CAP, &Caps) == 0) { if ((Caps.slot_type & CA_CI_LINK) != 0) { -@@ -41,10 +44,44 @@ +@@ -41,10 +44,44 @@ cDvbCiAdapter::cDvbCiAdapter(cDevice *Device, int Fd) cDvbCiAdapter::~cDvbCiAdapter() { Cancel(3); @@ -507,7 +527,7 @@ Author: Lars Hanisch if (Buffer && MaxLength > 0) { struct pollfd pfd[1]; pfd[0].fd = fd; -@@ -61,6 +98,8 @@ +@@ -61,6 +98,8 @@ int cDvbCiAdapter::Read(uint8_t *Buffer, int MaxLength) void cDvbCiAdapter::Write(const uint8_t *Buffer, int Length) { @@ -516,7 +536,7 @@ Author: Lars Hanisch if (Buffer && Length > 0) { if (safe_write(fd, Buffer, Length) != Length) esyslog("ERROR: can't write to CI adapter on device %d: %m", device->DeviceNumber()); -@@ -69,6 +108,8 @@ +@@ -69,6 +108,8 @@ void cDvbCiAdapter::Write(const uint8_t *Buffer, int Length) bool cDvbCiAdapter::Reset(int Slot) { @@ -525,7 +545,7 @@ Author: Lars Hanisch if (ioctl(fd, CA_RESET, 1 << Slot) != -1) return true; else -@@ -78,6 +119,8 @@ +@@ -78,6 +119,8 @@ bool cDvbCiAdapter::Reset(int Slot) eModuleStatus cDvbCiAdapter::ModuleStatus(int Slot) { @@ -534,7 +554,7 @@ Author: Lars Hanisch ca_slot_info_t sinfo; sinfo.num = Slot; if (ioctl(fd, CA_GET_SLOT_INFO, &sinfo) != -1) { -@@ -99,10 +142,10 @@ +@@ -99,10 +142,10 @@ bool cDvbCiAdapter::Assign(cDevice *Device, bool Query) return true; } @@ -547,9 +567,11 @@ Author: Lars Hanisch + return new cDvbCiAdapter(Device, Fd, Adapter, Frontend); return NULL; } +diff --git a/dvbci.h b/dvbci.h +index adbe40d..6d117b2 100644 --- a/dvbci.h +++ b/dvbci.h -@@ -16,16 +16,24 @@ +@@ -16,16 +16,24 @@ class cDvbCiAdapter : public cCiAdapter { private: cDevice *device; int fd; @@ -576,9 +598,11 @@ Author: Lars Hanisch }; #endif //__DVBCI_H +diff --git a/dvbdevice.c b/dvbdevice.c +index 53a4a22..7fc12a4 100644 --- a/dvbdevice.c +++ b/dvbdevice.c -@@ -287,7 +287,7 @@ +@@ -287,7 +287,7 @@ private: enum eTunerStatus { tsIdle, tsSet, tsTuned, tsLocked }; bool SendDiseqc; const cDvbDevice *device; @@ -587,7 +611,7 @@ Author: Lars Hanisch int adapter, frontend; uint32_t subsystemId; int tuneTimeout; -@@ -298,7 +298,7 @@ +@@ -298,7 +298,7 @@ private: const cScr *scr; bool lnbPowerTurnedOn; eTunerStatus tunerStatus; @@ -596,7 +620,7 @@ Author: Lars Hanisch cCondVar locked; cCondVar newSet; dvb_diseqc_master_cmd diseqc_cmd; -@@ -313,6 +313,10 @@ +@@ -313,6 +313,10 @@ private: void ResetToneAndVoltage(void); bool SetFrontend(void); virtual void Action(void); @@ -607,17 +631,16 @@ Author: Lars Hanisch public: cDvbTuner(const cDvbDevice *Device, int Fd_Frontend, int Adapter, int Frontend); virtual ~cDvbTuner(); -@@ -328,6 +332,9 @@ - int GetSignalStrength(void) const; - int GetSignalQuality(void) const; - bool SendDiseqcCmd(dvb_diseqc_master_cmd cmd); -+ +@@ -324,6 +328,8 @@ public: + uint32_t SubsystemId(void) const { return subsystemId; } + bool IsTunedTo(const cChannel *Channel) const; + void SetChannel(const cChannel *Channel); + bool SetIdle(bool Idle); + bool IsIdle(void) const { return isIdle; } - private: - int GetCurrentDeliverySystem(void); - }; -@@ -352,6 +359,7 @@ + bool SendDiseqcCmd(dvb_diseqc_master_cmd cmd); + bool Locked(int TimeoutMs = 0); + int GetSignalStrength(void) const; +@@ -350,6 +356,7 @@ cDvbTuner::cDvbTuner(const cDvbDevice *Device, int Fd_Frontend, int Adapter, int bondedTuner = NULL; bondedMaster = false; bondedMasterFailed = false; @@ -625,7 +648,7 @@ Author: Lars Hanisch SetDescription("tuner on frontend %d/%d", adapter, frontend); Start(); } -@@ -369,6 +377,8 @@ +@@ -367,6 +374,8 @@ cDvbTuner::~cDvbTuner() ExecuteDiseqc(lastDiseqc, &Frequency); } */ @@ -634,7 +657,7 @@ Author: Lars Hanisch } bool cDvbTuner::Bond(cDvbTuner *Tuner) -@@ -526,6 +536,8 @@ +@@ -524,6 +533,8 @@ bool cDvbTuner::Locked(int TimeoutMs) void cDvbTuner::ClearEventQueue(void) const { @@ -643,7 +666,7 @@ Author: Lars Hanisch cPoller Poller(fd_frontend); if (Poller.Poll(TUNER_POLL_TIMEOUT)) { dvb_frontend_event Event; -@@ -745,6 +757,8 @@ +@@ -714,6 +725,8 @@ static int GetRequiredDeliverySystem(const cChannel *Channel, const cDvbTranspon bool cDvbTuner::SetFrontend(void) { @@ -652,7 +675,7 @@ Author: Lars Hanisch #define MAXFRONTENDCMDS 16 #define SETCMD(c, d) { Frontend[CmdSeq.num].cmd = (c);\ Frontend[CmdSeq.num].u.data = (d);\ -@@ -890,9 +904,11 @@ +@@ -859,9 +872,11 @@ void cDvbTuner::Action(void) bool LostLock = false; fe_status_t Status = (fe_status_t)0; while (Running()) { @@ -665,10 +688,10 @@ Author: Lars Hanisch + Status = NewStatus; + } cMutexLock MutexLock(&mutex); + int WaitTime = 1000; if (SendDiseqc) { - CHECK(ioctl(fd_frontend, FE_DISEQC_SEND_MASTER_CMD, &diseqc_cmd)); -@@ -952,6 +968,40 @@ - } +@@ -935,6 +950,40 @@ bool cDvbTuner::SendDiseqcCmd(dvb_diseqc_master_cmd cmd) + return true; } +bool cDvbTuner::SetIdle(bool Idle) @@ -708,7 +731,7 @@ Author: Lars Hanisch // --- cDvbSourceParam ------------------------------------------------------- class cDvbSourceParam : public cSourceParam { -@@ -1037,7 +1087,8 @@ +@@ -1020,7 +1069,8 @@ const char *DeliverySystemNames[] = { NULL }; @@ -718,7 +741,7 @@ Author: Lars Hanisch { adapter = Adapter; frontend = Frontend; -@@ -1057,7 +1108,7 @@ +@@ -1040,7 +1090,7 @@ cDvbDevice::cDvbDevice(int Adapter, int Frontend) fd_ca = DvbOpen(DEV_DVB_CA, adapter, frontend, O_RDWR); if (fd_ca >= 0) @@ -727,7 +750,7 @@ Author: Lars Hanisch // The DVR device (will be opened and closed as needed): -@@ -1274,7 +1325,11 @@ +@@ -1257,7 +1307,11 @@ bool cDvbDevice::BondDevices(const char *Bondings) if (d >= 0) { int ErrorDevice = 0; if (cDevice *Device1 = cDevice::GetDevice(i)) { @@ -739,7 +762,7 @@ Author: Lars Hanisch if (cDvbDevice *DvbDevice1 = dynamic_cast(Device1)) { if (cDvbDevice *DvbDevice2 = dynamic_cast(Device2)) { if (!DvbDevice1->Bond(DvbDevice2)) -@@ -1308,7 +1363,10 @@ +@@ -1291,7 +1345,10 @@ bool cDvbDevice::BondDevices(const char *Bondings) void cDvbDevice::UnBondDevices(void) { for (int i = 0; i < cDevice::NumDevices(); i++) { @@ -751,7 +774,7 @@ Author: Lars Hanisch d->UnBond(); } } -@@ -1362,6 +1420,26 @@ +@@ -1345,6 +1402,26 @@ bool cDvbDevice::BondingOk(const cChannel *Channel, bool ConsiderOccupied) const return true; } @@ -778,7 +801,7 @@ Author: Lars Hanisch bool cDvbDevice::HasCi(void) { return ciAdapter; -@@ -1528,7 +1606,7 @@ +@@ -1511,7 +1588,7 @@ bool cDvbDevice::ProvidesChannel(const cChannel *Channel, int Priority, bool *Ne bool cDvbDevice::ProvidesEIT(void) const { @@ -787,9 +810,11 @@ Author: Lars Hanisch } int cDvbDevice::NumProvidedSystems(void) const +diff --git a/dvbdevice.h b/dvbdevice.h +index 4ffcb91..e9b7cd6 100644 --- a/dvbdevice.h +++ b/dvbdevice.h -@@ -107,7 +107,7 @@ +@@ -107,7 +107,7 @@ class cDvbTuner; /// The cDvbDevice implements a DVB device which can be accessed through the Linux DVB driver API. class cDvbDevice : public cDevice { @@ -798,7 +823,7 @@ Author: Lars Hanisch static cString DvbName(const char *Name, int Adapter, int Frontend); static int DvbOpen(const char *Name, int Adapter, int Frontend, int Mode, bool ReportError = false); private: -@@ -133,12 +133,14 @@ +@@ -133,12 +133,14 @@ private: mutable bool needsDetachBondedReceivers; bool QueryDeliverySystems(int fd_frontend); public: @@ -814,3 +839,6 @@ Author: Lars Hanisch static bool BondDevices(const char *Bondings); ///< Bonds the devices as defined in the given Bondings string. ///< A bonding is a sequence of device numbers (starting at 1), +-- +1.7.2.5 + From 33cbb29965bc0c2f1e5244594d7888b9ab83840e Mon Sep 17 00:00:00 2001 From: Stefan Saraev Date: Mon, 7 May 2012 20:59:36 +0300 Subject: [PATCH 06/12] tcpdump: do not use ssl --- packages/addons/networking/analyzer/tcpdump/build | 2 +- packages/addons/networking/analyzer/tcpdump/changelog.txt | 3 +++ packages/addons/networking/analyzer/tcpdump/meta | 4 ++-- 3 files changed, 6 insertions(+), 3 deletions(-) diff --git a/packages/addons/networking/analyzer/tcpdump/build b/packages/addons/networking/analyzer/tcpdump/build index a8edb99b52..83ac32aff1 100755 --- a/packages/addons/networking/analyzer/tcpdump/build +++ b/packages/addons/networking/analyzer/tcpdump/build @@ -32,7 +32,7 @@ sed -i -e 's/ac_cv_linux_vers=unknown/ac_cv_linux_vers=2/' configure --host=$TARGET_NAME \ --build=$HOST_NAME \ --with-pcap=linux \ - --with-crypto=yes \ + --with-crypto=no \ --disable-ipv6 diff --git a/packages/addons/networking/analyzer/tcpdump/changelog.txt b/packages/addons/networking/analyzer/tcpdump/changelog.txt index 14d8489007..cf1dcf369f 100644 --- a/packages/addons/networking/analyzer/tcpdump/changelog.txt +++ b/packages/addons/networking/analyzer/tcpdump/changelog.txt @@ -1,2 +1,5 @@ +2.1.2 +- rebuild + 2.1.1 - initial addon based on tcpdump-4.1.1 diff --git a/packages/addons/networking/analyzer/tcpdump/meta b/packages/addons/networking/analyzer/tcpdump/meta index a23bb7a3ea..11435fbe54 100644 --- a/packages/addons/networking/analyzer/tcpdump/meta +++ b/packages/addons/networking/analyzer/tcpdump/meta @@ -2,9 +2,9 @@ PKG_NAME="tcpdump" PKG_VERSION="4.1.1" PKG_SITE="http://www.tcpdump.org/" PKG_URL="http://www.tcpdump.org/release/tcpdump-${PKG_VERSION}.tar.gz" -PKG_REV=1 +PKG_REV=2 PKG_DEPENDS="" -PKG_BUILD_DEPENDS="toolchain libpcap openssl" +PKG_BUILD_DEPENDS="toolchain libpcap" PKG_PRIORITY=optional PKG_SECTION="network/analyzer" PKG_SHORTDESC="powerful tool for network monitoring and data acquisition" From f9e28033067ed58f1e2457372a0fe9ce392127ff Mon Sep 17 00:00:00 2001 From: Stefan Saraev Date: Mon, 7 May 2012 21:00:56 +0300 Subject: [PATCH 07/12] boblightd: bump version --- packages/addons/service/multimedia/boblightd/changelog.txt | 3 +++ packages/addons/service/multimedia/boblightd/meta | 2 +- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/packages/addons/service/multimedia/boblightd/changelog.txt b/packages/addons/service/multimedia/boblightd/changelog.txt index 0d18ed8792..b289f9379a 100644 --- a/packages/addons/service/multimedia/boblightd/changelog.txt +++ b/packages/addons/service/multimedia/boblightd/changelog.txt @@ -1,3 +1,6 @@ +2.1.2 +- rebuild + 2.1.1 - update to addon version 2.1 diff --git a/packages/addons/service/multimedia/boblightd/meta b/packages/addons/service/multimedia/boblightd/meta index 544d55d9e7..760b8966a0 100644 --- a/packages/addons/service/multimedia/boblightd/meta +++ b/packages/addons/service/multimedia/boblightd/meta @@ -20,7 +20,7 @@ PKG_NAME="boblightd" PKG_VERSION="2.0.5" -PKG_REV="1" +PKG_REV="2" PKG_ARCH="any" PKG_LICENSE="GPL" PKG_SITE="http://code.google.com/p/boblight" From 86eb57f87f94711d0ec041c49e8e180430aa99d6 Mon Sep 17 00:00:00 2001 From: Stefan Saraev Date: Mon, 7 May 2012 21:03:45 +0300 Subject: [PATCH 08/12] xbmc: build depends on xf86-video-fglrx for XVBA builds --- packages/mediacenter/xbmc-pvr/meta | 4 ++++ packages/mediacenter/xbmc/meta | 4 ++++ 2 files changed, 8 insertions(+) diff --git a/packages/mediacenter/xbmc-pvr/meta b/packages/mediacenter/xbmc-pvr/meta index 07936ac985..a4e4c30796 100644 --- a/packages/mediacenter/xbmc-pvr/meta +++ b/packages/mediacenter/xbmc-pvr/meta @@ -136,6 +136,10 @@ if [ "$CRYSTALHD" = yes ]; then PKG_DEPENDS="$PKG_DEPENDS crystalhd" fi +if [ "$XVBA" = yes ]; then + PKG_BUILD_DEPENDS="$PKG_BUILD_DEPENDS xf86-video-fglrx" +fi + # some python stuff needed for various addons PKG_DEPENDS="$PKG_DEPENDS Imaging" PKG_DEPENDS="$PKG_DEPENDS simplejson" diff --git a/packages/mediacenter/xbmc/meta b/packages/mediacenter/xbmc/meta index 4137bacf8b..321ef59235 100644 --- a/packages/mediacenter/xbmc/meta +++ b/packages/mediacenter/xbmc/meta @@ -136,6 +136,10 @@ if [ "$CRYSTALHD" = yes ]; then PKG_DEPENDS="$PKG_DEPENDS crystalhd" fi +if [ "$XVBA" = yes ]; then + PKG_BUILD_DEPENDS="$PKG_BUILD_DEPENDS xf86-video-fglrx" +fi + # some python stuff needed for various addons PKG_DEPENDS="$PKG_DEPENDS Imaging" PKG_DEPENDS="$PKG_DEPENDS simplejson" From 8bcc315934b48fc99d0f7c6d649b9dd16ce1a0be Mon Sep 17 00:00:00 2001 From: Henk Wiedig Date: Thu, 10 May 2012 12:13:41 +0300 Subject: [PATCH 09/12] new package: libzip --- packages/3rdparty/lib/libzip/build | 32 ++++++++++++++++++++++++++++ packages/3rdparty/lib/libzip/meta | 34 ++++++++++++++++++++++++++++++ 2 files changed, 66 insertions(+) create mode 100755 packages/3rdparty/lib/libzip/build create mode 100644 packages/3rdparty/lib/libzip/meta diff --git a/packages/3rdparty/lib/libzip/build b/packages/3rdparty/lib/libzip/build new file mode 100755 index 0000000000..486df11db2 --- /dev/null +++ b/packages/3rdparty/lib/libzip/build @@ -0,0 +1,32 @@ +#!/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 $PKG_BUILD + +./configure \ + --host=$TARGET_NAME \ + --build=$HOST_NAME \ + --prefix=/usr + +$MAKEINSTALL diff --git a/packages/3rdparty/lib/libzip/meta b/packages/3rdparty/lib/libzip/meta new file mode 100644 index 0000000000..d2534cab82 --- /dev/null +++ b/packages/3rdparty/lib/libzip/meta @@ -0,0 +1,34 @@ +################################################################################ +# 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="libzip" +PKG_VERSION="0.10.1" +PKG_REV="1" +PKG_ARCH="any" +PKG_LICENSE="GPL" +PKG_SITE="http://www.nih.at/libzip/" +PKG_URL="http://www.nih.at/libzip/${PKG_NAME}-${PKG_VERSION}.tar.bz2" +PKG_DEPENDS="" +PKG_BUILD_DEPENDS="toolchain" +PKG_PRIORITY="optional" +PKG_SHORTDESC="libzip" +PKG_LONGDESC="libzip" +PKG_IS_ADDON="no" +PKG_AUTORECONF="no" From 1921785e54ad0328900d593b7d7d46c2aa440c69 Mon Sep 17 00:00:00 2001 From: Henk Wiedig Date: Thu, 10 May 2012 12:13:58 +0300 Subject: [PATCH 10/12] new package: libxslt --- packages/3rdparty/lib/libxslt/build | 48 +++++++++++++++++++++++++++++ packages/3rdparty/lib/libxslt/meta | 36 ++++++++++++++++++++++ 2 files changed, 84 insertions(+) create mode 100755 packages/3rdparty/lib/libxslt/build create mode 100644 packages/3rdparty/lib/libxslt/meta diff --git a/packages/3rdparty/lib/libxslt/build b/packages/3rdparty/lib/libxslt/build new file mode 100755 index 0000000000..919b41898a --- /dev/null +++ b/packages/3rdparty/lib/libxslt/build @@ -0,0 +1,48 @@ +#!/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 $PKG_BUILD + +if [ "$ICONV" = "libiconv" ]; then + CONFIG_LIBXML="--with-iconv" +fi + +./configure --host=$TARGET_NAME \ + --build=$HOST_NAME \ + --prefix=/usr \ + --sysconfdir=/etc \ + --enable-static \ + --enable-shared \ + $CONFIG_LIBXML \ + --disable-ipv6 \ + --without-crypto + +make + +$MAKEINSTALL + +$SED "s:\(['= ]\)/usr:\\1$SYSROOT_PREFIX/usr:g" \ + $SYSROOT_PREFIX/usr/bin/xslt-config + +mv $SYSROOT_PREFIX/usr/bin/xslt-config $ROOT/$TOOLCHAIN/bin diff --git a/packages/3rdparty/lib/libxslt/meta b/packages/3rdparty/lib/libxslt/meta new file mode 100644 index 0000000000..77dffee683 --- /dev/null +++ b/packages/3rdparty/lib/libxslt/meta @@ -0,0 +1,36 @@ +################################################################################ +# 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="libxslt" +PKG_VERSION="1.1.26" +PKG_REV="1" +PKG_ARCH="any" +PKG_LICENSE="MIT" +PKG_SITE="http://xmlsoft.org/xslt/" +PKG_URL="ftp://xmlsoft.org/libxml2/$PKG_NAME-$PKG_VERSION.tar.gz" +PKG_DEPENDS="$ICONV" +PKG_BUILD_DEPENDS="toolchain $ICONV" +PKG_PRIORITY="optional" +PKG_SECTION="textproc" +PKG_SHORTDESC="libxslt" +PKG_LONGDESC="libxslt" +PKG_IS_ADDON="no" + +PKG_AUTORECONF="yes" From 7200e9311e75a1a05e008916c8de07b1c33d25f5 Mon Sep 17 00:00:00 2001 From: Henk Wiedig Date: Thu, 10 May 2012 12:14:23 +0300 Subject: [PATCH 11/12] new package: vdr-xmltv2vdr --- .../3rdparty/multimedia/vdr-xmltv2vdr/build | 30 +++++++++++++++ .../3rdparty/multimedia/vdr-xmltv2vdr/meta | 37 +++++++++++++++++++ .../vdr-xmltv2vdr-0.1.1-curl_compile-01.patch | 11 ++++++ .../3rdparty/multimedia/vdr-xmltv2vdr/rename | 26 +++++++++++++ 4 files changed, 104 insertions(+) create mode 100755 packages/3rdparty/multimedia/vdr-xmltv2vdr/build create mode 100644 packages/3rdparty/multimedia/vdr-xmltv2vdr/meta create mode 100644 packages/3rdparty/multimedia/vdr-xmltv2vdr/patches/vdr-xmltv2vdr-0.1.1-curl_compile-01.patch create mode 100755 packages/3rdparty/multimedia/vdr-xmltv2vdr/rename diff --git a/packages/3rdparty/multimedia/vdr-xmltv2vdr/build b/packages/3rdparty/multimedia/vdr-xmltv2vdr/build new file mode 100755 index 0000000000..c52b0afed0 --- /dev/null +++ b/packages/3rdparty/multimedia/vdr-xmltv2vdr/build @@ -0,0 +1,30 @@ +#!/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 + +VDR_DIR=`basename $BUILD/vdr-[0-9]*` +cd $PKG_BUILD + PWD=`pwd` + make VDRDIR="$PWD/../$VDR_DIR" LIBDIR="." LOCALEDIR="./locale" + cd dist/epgdata2xmltv + make diff --git a/packages/3rdparty/multimedia/vdr-xmltv2vdr/meta b/packages/3rdparty/multimedia/vdr-xmltv2vdr/meta new file mode 100644 index 0000000000..e57d101d65 --- /dev/null +++ b/packages/3rdparty/multimedia/vdr-xmltv2vdr/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-xmltv2vdr" +PKG_VERSION="0.1.1" +PKG_REV="1" +PKG_ARCH="any" +PKG_LICENSE="GPL" +PKG_SITE="http://projects.vdr-developer.org/projects/plg-xmltv2vdr" +PKG_URL="http://projects.vdr-developer.org/attachments/download/946/${PKG_NAME}-${PKG_VERSION}.tgz" +PKG_DEPENDS="vdr sqlite curl libzip libxml libxslt enca" +PKG_BUILD_DEPENDS="toolchain vdr sqlite curl libzip libxml libxslt enca" +PKG_PRIORITY="optional" +PKG_SECTION="multimedia" +PKG_SHORTDESC="vdr-xmltv2vdr" +PKG_LONGDESC="vdr-xmltv2vdr" + +PKG_IS_ADDON="no" + +PKG_AUTORECONF="no" diff --git a/packages/3rdparty/multimedia/vdr-xmltv2vdr/patches/vdr-xmltv2vdr-0.1.1-curl_compile-01.patch b/packages/3rdparty/multimedia/vdr-xmltv2vdr/patches/vdr-xmltv2vdr-0.1.1-curl_compile-01.patch new file mode 100644 index 0000000000..91a187224c --- /dev/null +++ b/packages/3rdparty/multimedia/vdr-xmltv2vdr/patches/vdr-xmltv2vdr-0.1.1-curl_compile-01.patch @@ -0,0 +1,11 @@ +diff -NaurwB xmltv2vdr-0.1.1_orig/dist/epgdata2xmltv/epgdata2xmltv.h xmltv2vdr-0.1.1/dist/epgdata2xmltv/epgdata2xmltv.h +--- xmltv2vdr-0.1.1_orig/dist/epgdata2xmltv/epgdata2xmltv.h 2012-05-07 07:34:21.000000000 +0200 ++++ xmltv2vdr-0.1.1/dist/epgdata2xmltv/epgdata2xmltv.h 2012-05-07 07:34:36.000000000 +0200 +@@ -7,7 +7,6 @@ + #define __EPGDATA2XMLTV_H + + #include +-#include + #include + + #include diff --git a/packages/3rdparty/multimedia/vdr-xmltv2vdr/rename b/packages/3rdparty/multimedia/vdr-xmltv2vdr/rename new file mode 100755 index 0000000000..b7dc45b6cf --- /dev/null +++ b/packages/3rdparty/multimedia/vdr-xmltv2vdr/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 xmltv2vdr-${PKG_VERSION} ${PKG_NAME}-${PKG_VERSION} From b6accc55f4ea7a7274ba9df671274772ee008faf Mon Sep 17 00:00:00 2001 From: Henk Wiedig Date: Thu, 10 May 2012 12:15:27 +0300 Subject: [PATCH 12/12] vdr-addon: add vdr-xmltv2vdr plugin --- packages/addons/service/multimedia/vdr-addon/addon | 9 +++++++++ packages/addons/service/multimedia/vdr-addon/meta | 2 +- .../service/multimedia/vdr-addon/source/bin/vdr.start | 3 +++ .../source/resources/language/English/strings.xml | 3 +++ .../multimedia/vdr-addon/source/resources/settings.xml | 3 +++ 5 files changed, 19 insertions(+), 1 deletion(-) diff --git a/packages/addons/service/multimedia/vdr-addon/addon b/packages/addons/service/multimedia/vdr-addon/addon index 5eb957eb83..cad23d4262 100755 --- a/packages/addons/service/multimedia/vdr-addon/addon +++ b/packages/addons/service/multimedia/vdr-addon/addon @@ -41,6 +41,9 @@ mkdir -p $ADDON_BUILD/$PKG_ADDON_ID/config mkdir -p $ADDON_BUILD/$PKG_ADDON_ID/config/plugins cp $BUILD/rotorng-[0-9]*/examples/rotorng.conf $ADDON_BUILD/$PKG_ADDON_ID/config/plugins +mkdir -p $ADDON_BUILD/$PKG_ADDON_ID/config/epgsources/epgdata2xmltv + cp $BUILD/vdr-xmltv2vdr*/dist/epgdata2xmltv/epgdata2xmltv.dist $ADDON_BUILD/$PKG_ADDON_ID/config/epgsources/epgdata2xmltv/ + mkdir -p $ADDON_BUILD/$PKG_ADDON_ID/plugin cp -PR $BUILD/vdr-plugin-xvdr-*/libvdr*.so.* $ADDON_BUILD/$PKG_ADDON_ID/plugin cp -PR $BUILD/vdr-dynamite-*/libvdr*.so.* $ADDON_BUILD/$PKG_ADDON_ID/plugin @@ -56,6 +59,7 @@ mkdir -p $ADDON_BUILD/$PKG_ADDON_ID/plugin cp -PR $BUILD/rotorng-*/libvdr*.so.* $ADDON_BUILD/$PKG_ADDON_ID/plugin cp -PR $BUILD/vdr-control-*/libvdr*.so.* $ADDON_BUILD/$PKG_ADDON_ID/plugin cp -PR $BUILD/vdr-epgsearch*/libvdr*.so.* $ADDON_BUILD/$PKG_ADDON_ID/plugin + cp -PR $BUILD/vdr-xmltv2vdr*/libvdr*.so.* $ADDON_BUILD/$PKG_ADDON_ID/plugin # ENABLED_PLUGINS="cardclient constcw sc-conax sc-cryptoworks sc-irdeto sc-nagra sc-seca sc-viaccess sc-videoguard2" # for plugin in $ENABLED_PLUGINS; do @@ -67,12 +71,17 @@ mkdir -p $ADDON_BUILD/$PKG_ADDON_ID/config/plugins/xvdr mkdir -p $ADDON_BUILD/$PKG_ADDON_ID/bin cp -P $BUILD/vdr-[0-9]*/vdr $ADDON_BUILD/$PKG_ADDON_ID/bin/vdr.bin + cp -P $BUILD/vdr-xmltv2vdr*/dist/epgdata2xmltv/epgdata2xmltv $ADDON_BUILD/$PKG_ADDON_ID/bin mkdir -p $ADDON_BUILD/$PKG_ADDON_ID/lib cp -P $BUILD/attr-[0-9]*/libattr/.libs/*.so* $ADDON_BUILD/$PKG_ADDON_ID/lib cp -P $BUILD/libcap-[0-9]*/libcap/*.so* $ADDON_BUILD/$PKG_ADDON_ID/lib cp -P $BUILD/cxxtools-[0-9]*/.build-target/src/.libs/*.so* $ADDON_BUILD/$PKG_ADDON_ID/lib cp -P $BUILD/tntnet-[0-9]*/.build-target/framework/common/.libs/*.so* $ADDON_BUILD/$PKG_ADDON_ID/lib + cp -P $BUILD/libzip-[0-9]*/lib/.libs/libzip*.so* $ADDON_BUILD/$PKG_ADDON_ID/lib + cp -P $BUILD/libxslt-[0-9]*/libxslt/.libs/libxslt*.so* $ADDON_BUILD/$PKG_ADDON_ID/lib + cp -P $BUILD/libxslt-[0-9]*/libexslt/.libs/libexslt*.so* $ADDON_BUILD/$PKG_ADDON_ID/lib + mkdir -p $ADDON_BUILD/$PKG_ADDON_ID/config/plugins/streamdev-server cp -PR $BUILD/vdr-plugin-streamdev-*/streamdev-server/streamdevhosts.conf $ADDON_BUILD/$PKG_ADDON_ID/config/plugins/streamdev-server diff --git a/packages/addons/service/multimedia/vdr-addon/meta b/packages/addons/service/multimedia/vdr-addon/meta index 1356aea2d9..524fe4d491 100755 --- a/packages/addons/service/multimedia/vdr-addon/meta +++ b/packages/addons/service/multimedia/vdr-addon/meta @@ -27,7 +27,7 @@ PKG_LICENSE="GPL" PKG_SITE="http://www.openelec.tv" PKG_URL="" PKG_DEPENDS="" -PKG_BUILD_DEPENDS="toolchain attr libcap vdr vdr-plugin-xvdr vdr-iptv vdr-wirbelscan vdr-wirbelscancontrol vdr-sc vdr-plugin-dvbapi vdr-dynamite vdr-plugin-streamdev vdr-live rotorng vdr-control vdr-epgsearch" +PKG_BUILD_DEPENDS="toolchain attr libcap vdr vdr-plugin-xvdr vdr-iptv vdr-wirbelscan vdr-wirbelscancontrol vdr-sc vdr-plugin-dvbapi vdr-dynamite vdr-plugin-streamdev vdr-live rotorng vdr-control vdr-epgsearch vdr-xmltv2vdr" PKG_PRIORITY="optional" PKG_SECTION="service.multimedia" PKG_SHORTDESC="vdr: A powerful DVB TV application" diff --git a/packages/addons/service/multimedia/vdr-addon/source/bin/vdr.start b/packages/addons/service/multimedia/vdr-addon/source/bin/vdr.start index 5ad1348827..fad4596ea6 100755 --- a/packages/addons/service/multimedia/vdr-addon/source/bin/vdr.start +++ b/packages/addons/service/multimedia/vdr-addon/source/bin/vdr.start @@ -78,6 +78,9 @@ fi if [ "$ENABLE_EPGSEARCH" == "true" ] ; then VDR_ARG="$VDR_ARG -P epgsearch" fi +if [ "$ENABLE_XMLTV2VDR" == "true" ] ; then + VDR_ARG="$VDR_ARG -P xmltv2vdr" +fi # dynamite must be LAST loaded plugin if [ "$ENABLE_DYNAMITE" == "true" ] ; then VDR_ARG="$VDR_ARG -P dynamite" diff --git a/packages/addons/service/multimedia/vdr-addon/source/resources/language/English/strings.xml b/packages/addons/service/multimedia/vdr-addon/source/resources/language/English/strings.xml index 5b02809032..2e3a3aaa93 100644 --- a/packages/addons/service/multimedia/vdr-addon/source/resources/language/English/strings.xml +++ b/packages/addons/service/multimedia/vdr-addon/source/resources/language/English/strings.xml @@ -17,7 +17,10 @@ control: listen on port Enable plugin: rotorng Enable plugin: epgsearch + Enable plugin: xmltv2vdr Enable plugin: dynamite + Enable epgdata.com + epgdata.com PIN Enable softcam softcam plugin diff --git a/packages/addons/service/multimedia/vdr-addon/source/resources/settings.xml b/packages/addons/service/multimedia/vdr-addon/source/resources/settings.xml index 1a2ed5e394..154dc2664d 100644 --- a/packages/addons/service/multimedia/vdr-addon/source/resources/settings.xml +++ b/packages/addons/service/multimedia/vdr-addon/source/resources/settings.xml @@ -20,6 +20,9 @@ + + +