Merge pull request #2332 from CvH/9.0-vdr-2.3.x

VDR 2.3.x
This commit is contained in:
Christian Hewitt
2018-02-13 18:18:11 +04:00
committed by GitHub
60 changed files with 828 additions and 1528 deletions

View File

@@ -0,0 +1,50 @@
################################################################################
# This file is part of LibreELEC - https://libreelec.tv
# Copyright (C) 2017-present Team LibreELEC
#
# LibreELEC 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 of the License, or
# (at your option) any later version.
#
# LibreELEC 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 LibreELEC. If not, see <http://www.gnu.org/licenses/>.
################################################################################
PKG_NAME="vdr-plugin-ddci2"
PKG_VERSION="05dd988"
PKG_SHA256="b8ed2787e9140eb00a68397eaeb14862ba88a6e73480dc3220a098faffb14833"
PKG_ARCH="any"
PKG_LICENSE="GPL"
PKG_SITE="https://github.com/jasmin-j/vdr-plugin-ddci2"
PKG_URL="https://github.com/jasmin-j/vdr-plugin-ddci2/archive/$PKG_VERSION.tar.gz"
PKG_DEPENDS_TARGET="toolchain vdr"
PKG_SECTION="multimedia"
PKG_SHORTDESC="Support for stand alone CI by Digital Devices."
PKG_LONGDESC="Support for stand alone CI by Digital Devices."
PKG_TOOLCHAIN="manual"
make_target() {
VDR_DIR=$(get_build_dir vdr)
export PKG_CONFIG_PATH=$VDR_DIR:$PKG_CONFIG_PATH
export CPLUS_INCLUDE_PATH=$VDR_DIR/include
make \
LIBDIR="." \
LOCDIR="./locale" \
all
}
post_make_target() {
VDR_DIR=$(get_build_dir vdr)
VDR_APIVERSION=`sed -ne '/define APIVERSION/s/^.*"\(.*\)".*$/\1/p' $VDR_DIR/config.h`
LIB_NAME=lib${PKG_NAME/-plugin/}
cp --remove-destination $PKG_BUILD/${LIB_NAME}.so $PKG_BUILD/${LIB_NAME}.so.${VDR_APIVERSION}
$STRIP libvdr-*.so*
}

View File

@@ -1,19 +1,20 @@
################################################################################
# This file is part of OpenELEC - http://www.openelec.tv
# This file is part of LibreELEC - https://libreelec.tv
# Copyright (C) 2016-present Team LibreELEC
# Copyright (C) 2009-2016 Stephan Raue (stephan@openelec.tv)
#
# OpenELEC is free software: you can redistribute it and/or modify
# LibreELEC 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 of the License, or
# (at your option) any later version.
#
# OpenELEC is distributed in the hope that it will be useful,
# LibreELEC 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. If not, see <http://www.gnu.org/licenses/>.
# along with LibreELEC. If not, see <http://www.gnu.org/licenses/>.
################################################################################
PKG_NAME="vdr-plugin-dummydevice"
@@ -26,8 +27,9 @@ PKG_URL="http://phivdr.dyndns.org/vdr/vdr-dummydevice/${PKG_NAME/-plugin/}-$PKG_
PKG_SOURCE_DIR="dummydevice-${PKG_VERSION}"
PKG_DEPENDS_TARGET="toolchain vdr"
PKG_SECTION="multimedia"
PKG_SHORTDESC="vdr dummydevice plugin"
PKG_LONGDESC="vdr dummydevice plugin"
PKG_SHORTDESC="This plugin can be used to run vdr as recording server without any output devices."
PKG_LONGDESC="This plugin can be used to run vdr as recording server without any output devices."
PKG_TOOLCHAIN="manual"
make_target() {
VDR_DIR=$(get_build_dir vdr)
@@ -46,9 +48,4 @@ post_make_target() {
LIB_NAME=lib${PKG_NAME/-plugin/}
cp --remove-destination ${LIB_NAME}.so ${LIB_NAME}.so.${VDR_APIVERSION}
$STRIP libvdr-*.so*
}
makeinstall_target() {
: # installation not needed, done by create-addon script
}

View File

@@ -1,37 +1,34 @@
################################################################################
# This file is part of OpenELEC - http://www.openelec.tv
# This file is part of LibreELEC - https://libreelec.tv
# Copyright (C) 2016-present Team LibreELEC
# Copyright (C) 2009-2016 Stephan Raue (stephan@openelec.tv)
#
# OpenELEC is free software: you can redistribute it and/or modify
# LibreELEC 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 of the License, or
# (at your option) any later version.
#
# OpenELEC is distributed in the hope that it will be useful,
# LibreELEC 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. If not, see <http://www.gnu.org/licenses/>.
# along with LibreELEC. If not, see <http://www.gnu.org/licenses/>.
################################################################################
PKG_NAME="vdr-plugin-dvbapi"
PKG_VERSION="d7c7587"
PKG_SHA256="2b85a086aedf55246c5e8ee7d41648318cbb77b49d00e638d20b0737e33d9451"
PKG_VERSION="7d51cc4"
PKG_SHA256="b16840574802581950343942559797aeccbc4a8fc216901ad0cea42f420bfd7c"
PKG_ARCH="any"
PKG_LICENSE="GPL"
PKG_SITE="https://github.com/manio/vdr-plugin-dvbapi"
PKG_URL="https://github.com/manio/vdr-plugin-dvbapi/archive/$PKG_VERSION.tar.gz"
PKG_DEPENDS_TARGET="toolchain vdr libdvbcsa"
PKG_SECTION="multimedia"
PKG_SHORTDESC="TV"
PKG_LONGDESC="TV"
pre_make_target() {
# dont build parallel
MAKEFLAGS=-j1
}
PKG_SHORTDESC="VDR dvbapi plugin for use with OSCam"
PKG_LONGDESC="VDR dvbapi plugin for use with OSCam"
PKG_TOOLCHAIN="manual"
make_target() {
VDR_DIR=$(get_build_dir vdr)
@@ -51,9 +48,4 @@ post_make_target() {
LIB_NAME=lib${PKG_NAME/-plugin/}
cp --remove-destination $PKG_BUILD/${LIB_NAME}.so $PKG_BUILD/${LIB_NAME}.so.${VDR_APIVERSION}
$STRIP libvdr-*.so*
}
makeinstall_target() {
: # installation not needed, done by create-addon script
}

View File

@@ -1,5 +1,3 @@
diff --git a/Makefile b/Makefile
index d18b016..278af2b 100644
--- a/Makefile
+++ b/Makefile
@@ -156,7 +156,7 @@ libdvbapi-dvbufs9xx.so: device-ufs9xx.o

View File

@@ -1,27 +0,0 @@
From 7d51cc457823156d446d06c6ae40f850958fa735 Mon Sep 17 00:00:00 2001
From: Mariusz Bialonczyk <manio@skyboo.net>
Date: Sat, 25 Nov 2017 18:57:08 +0100
Subject: [PATCH] Fix compilation for kernels >= 4.14
Closes #122
---
CA.h | 8 ++++++++
1 file changed, 8 insertions(+)
diff --git a/CA.h b/CA.h
index 7130be6..019cd1c 100644
--- a/CA.h
+++ b/CA.h
@@ -9,4 +9,12 @@ typedef struct ca_descr_aes {
unsigned char cw[16];
} ca_descr_aes_t;
+#ifndef CA_SET_PID /* removed in kernel 4.14 */
+typedef struct ca_pid {
+ unsigned int pid;
+ int index; /* -1 == disable */
+} ca_pid_t;
+#define CA_SET_PID _IOW('o', 135, struct ca_pid)
#endif
+
+#endif // __CA_H

View File

@@ -1,32 +1,34 @@
################################################################################
# This file is part of OpenELEC - http://www.openelec.tv
# This file is part of LibreELEC - https://libreelec.tv
# Copyright (C) 2016-present Team LibreELEC
# Copyright (C) 2009-2016 Stephan Raue (stephan@openelec.tv)
#
# OpenELEC is free software: you can redistribute it and/or modify
# LibreELEC 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 of the License, or
# (at your option) any later version.
#
# OpenELEC is distributed in the hope that it will be useful,
# LibreELEC 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. If not, see <http://www.gnu.org/licenses/>.
# along with LibreELEC. If not, see <http://www.gnu.org/licenses/>.
################################################################################
PKG_NAME="vdr-plugin-eepg"
PKG_VERSION="9cd9a75"
PKG_SHA256="b5c21e083a0d78251028de55dfb59b47df9db88cbbb811f39e913c2fb4e63ba6"
PKG_VERSION="584d766"
PKG_SHA256="0ad19af6bcfb5f7de05814dfcb4ab18bb4f705fdbe60b11ab7dbf72cf0d85231"
PKG_ARCH="any"
PKG_LICENSE="GPL"
PKG_SITE="http://projects.vdr-developer.org/projects/plg-eepg"
PKG_URL="http://projects.vdr-developer.org/git/vdr-plugin-eepg.git/snapshot/$PKG_NAME-$PKG_VERSION.tar.bz2"
PKG_URL="https://github.com/vdr-projects/vdr-plugin-eepg/archive/$PKG_VERSION.tar.gz"
PKG_DEPENDS_TARGET="toolchain vdr"
PKG_SECTION="multimedia"
PKG_SHORTDESC="vdr-plugin-eepg"
PKG_LONGDESC="This plugin parses the Extended (2 to 10 day) EPG data which is send by providers on their portal channels. This EEPG data is transmitted in a non-standard format on a non-standard PID."
PKG_LONGDESC="This plugin parses the Extended (2 to 10 day) EPG data which is send by providers on their portal channels."
PKG_TOOLCHAIN="manual"
make_target() {
VDR_DIR=$(get_build_dir vdr)
@@ -45,9 +47,4 @@ post_make_target() {
LIB_NAME=lib${PKG_NAME/-plugin/}
cp --remove-destination $PKG_BUILD/${LIB_NAME}.so $PKG_BUILD/${LIB_NAME}.so.${VDR_APIVERSION}
$STRIP libvdr-*.so*
}
makeinstall_target() {
: # installation not needed, done by create-addon script
}

View File

@@ -1,32 +1,34 @@
################################################################################
# This file is part of OpenELEC - http://www.openelec.tv
# This file is part of LibreELEC - https://libreelec.tv
# Copyright (C) 2016-present Team LibreELEC
# Copyright (C) 2009-2016 Stephan Raue (stephan@openelec.tv)
#
# OpenELEC is free software: you can redistribute it and/or modify
# LibreELEC 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 of the License, or
# (at your option) any later version.
#
# OpenELEC is distributed in the hope that it will be useful,
# LibreELEC 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. If not, see <http://www.gnu.org/licenses/>.
# along with LibreELEC. If not, see <http://www.gnu.org/licenses/>.
################################################################################
PKG_NAME="vdr-plugin-epgfixer"
PKG_VERSION="1ad4aaf"
PKG_SHA256="032f0a0c238208e87c295d5fec04cdcf0fffe041e2245bc678811e1072a95b62"
PKG_SHA256="b109c1040e54a2499c1d4c650d7f02cdc7b647af2133839af227a8496c58281e"
PKG_ARCH="any"
PKG_LICENSE="GPL"
PKG_SITE="http://projects.vdr-developer.org/projects/plg-epgfixer"
PKG_URL="http://projects.vdr-developer.org/git/vdr-plugin-epgfixer.git/snapshot/$PKG_NAME-$PKG_VERSION.tar.bz2"
PKG_URL="https://github.com/vdr-projects/vdr-plugin-epgfixer/archive/$PKG_VERSION.tar.gz"
PKG_DEPENDS_TARGET="toolchain vdr pcre"
PKG_SECTION="multimedia"
PKG_SHORTDESC="vdr-plugin-epgfixer"
PKG_SHORTDESC="Plugin for modifying EPG data using regular expressions."
PKG_LONGDESC="Plugin for modifying EPG data using regular expressions."
PKG_TOOLCHAIN="manual"
make_target() {
VDR_DIR=$(get_build_dir vdr)
@@ -45,9 +47,4 @@ post_make_target() {
LIB_NAME=lib${PKG_NAME/-plugin/}
cp --remove-destination $PKG_BUILD/${LIB_NAME}.so $PKG_BUILD/${LIB_NAME}.so.${VDR_APIVERSION}
$STRIP libvdr-*.so*
}
makeinstall_target() {
: # installation not needed, done by create-addon script
}

View File

@@ -1,6 +1,5 @@
diff -Naur vdr-plugin-epgfixer-1ad4aaf/Makefile vdr-plugin-epgfixer-1ad4aaf.patch/Makefile
--- vdr-plugin-epgfixer-1ad4aaf/Makefile 2015-01-01 11:15:50.000000000 +0100
+++ vdr-plugin-epgfixer-1ad4aaf.patch/Makefile 2016-01-07 04:40:37.742655989 +0100
--- a/Makefile
+++ b/Makefile
@@ -70,8 +70,8 @@
OBJS = $(PLUGIN).o blacklist.o charset.o config.o epgclone.o epghandler.o regexp.o setup_menu.o tools.o

View File

@@ -0,0 +1,132 @@
patches taken from https://projects.vdr-developer.org/projects/plg-epgfixer/issues
From: glenvt18 <glenvt18@gmail.com>
Date: Tue, 24 May 2016 02:36:55 +0300
Subject: [PATCH 1/2] Fix compiling against VDR >= 2.3.1
--- a/epgclone.c
+++ b/epgclone.c
@@ -49,9 +49,16 @@ void cEpgClone::CloneEvent(cEvent *Source, cEvent *Dest) {
Dest->SetSeen();
tChannelID channelID;
if (dest_num) {
+#if VDRVERSNUM >= 20301
+ LOCK_CHANNELS_READ;
+ const cChannel *dest_chan = Channels->GetByNumber(dest_num);
+ if (dest_chan)
+ channelID = Channels->GetByNumber(dest_num)->GetChannelID();
+#else
cChannel *dest_chan = Channels.GetByNumber(dest_num);
if (dest_chan)
channelID = Channels.GetByNumber(dest_num)->GetChannelID();
+#endif
else
channelID = tChannelID::InvalidID;
}
diff --git a/setup_menu.c b/setup_menu.c
index 8b60870..fcba6b1 100644
--- a/setup_menu.c
+++ b/setup_menu.c
@@ -264,9 +264,21 @@ eOSState cMenuSetupEpgfixer::ProcessKey(eKeys Key)
break;
case kBlue:
Skins.Message(mtInfo, tr("Clearing EPG data..."));
+#if VDRVERSNUM >= 20301
+ {
+ LOCK_TIMERS_WRITE;
+ LOCK_SCHEDULES_WRITE;
+ for (cTimer *Timer = Timers->First(); Timer; Timer = Timers->Next(Timer))
+ Timer->SetEvent(NULL);
+ for (cSchedule *Schedule = Schedules->First(); Schedule; Schedule = Schedules->Next(Schedule))
+ Schedule->Cleanup(INT_MAX);
+ }
+ cEitFilter::SetDisableUntil(time(NULL) + 10);
+#else
cEitFilter::SetDisableUntil(time(NULL) + 10);
if (cSchedules::ClearAll())
cEitFilter::SetDisableUntil(time(NULL) + 10);
+#endif
Skins.Message(mtInfo, NULL);
state = osContinue;
break;
diff --git a/tools.c b/tools.c
index 9c9133d..35c4b53 100644
--- a/tools.c
+++ b/tools.c
@@ -463,14 +463,26 @@ cAddEventThread::~cAddEventThread(void)
void cAddEventThread::Action(void)
{
SetPriority(19);
- while (Running() && !LastHandleEvent.TimedOut()) {
+ for (; Running() && !LastHandleEvent.TimedOut(); cCondWait::SleepMs(10)) {
+ if (list->First() == NULL)
+ continue;
cAddEventListItem *e = NULL;
+#if VDRVERSNUM >= 20301
+ cStateKey StateKey;
+ cSchedules *schedules = cSchedules::GetSchedulesWrite(StateKey, 10);
+ LOCK_CHANNELS_READ;
+#else
cSchedulesLock SchedulesLock(true, 10);
cSchedules *schedules = (cSchedules *)cSchedules::Schedules(SchedulesLock);
+#endif
Lock();
while (schedules && (e = list->First()) != NULL) {
tChannelID chanid = e->GetChannelID();
+#if VDRVERSNUM >= 20301
+ const cChannel *chan = Channels->GetByChannelID(chanid);
+#else
cChannel *chan = Channels.GetByChannelID(chanid);
+#endif
if (!chan) {
error("Destination channel %s not found for cloning!", *chanid.ToString());
}
@@ -485,7 +497,10 @@ void cAddEventThread::Action(void)
list->Del(e);
}
Unlock();
- cCondWait::SleepMs(10);
+#if VDRVERSNUM >= 20301
+ if (schedules)
+ StateKey.Remove();
+#endif
}
}
@@ -553,7 +568,12 @@ bool cListItem::IsActive(tChannelID ChannelID)
bool active = false;
if (numchannels > 0) {
int i = 0;
+#if VDRVERSNUM >= 20301
+ LOCK_CHANNELS_READ;
+ int channel_number = Channels->GetByChannelID(ChannelID)->Number();
+#else
int channel_number = Channels.GetByChannelID(ChannelID)->Number();
+#endif
while (i < numchannels) {
if ((channel_number == GetChannelNum(i)) ||
(GetChannelID(i) && (ChannelID == *GetChannelID(i)))) {
From 12db9aadf7a05cae21bd7d75882b8883ac36205d Mon Sep 17 00:00:00 2001
From: glenvt18 <glenvt18@gmail.com>
Date: Thu, 18 May 2017 06:03:32 +0300
Subject: [PATCH 2/2] Make compatible with VDR 2.3.4
---
epghandler.h | 3 +++
1 file changed, 3 insertions(+)
diff --git a/epghandler.h b/epghandler.h
index de090af..bf65760 100644
--- a/epghandler.h
+++ b/epghandler.h
@@ -15,6 +15,9 @@ class cEpgfixerEpgHandler : public cEpgHandler
{
public:
cEpgfixerEpgHandler(void) {};
+#if VDRVERSNUM >= 20304
+ virtual bool BeginSegmentTransfer(const cChannel *Channel, bool Dummy) { return true; }
+#endif
virtual bool HandleEvent(cEvent *Event);
virtual bool IgnoreChannel(const cChannel *Channel);
virtual bool FixEpgBugs(cEvent *Event);

View File

@@ -1,32 +1,34 @@
################################################################################
# This file is part of OpenELEC - http://www.openelec.tv
# This file is part of LibreELEC - https://libreelec.tv
# Copyright (C) 2016-present Team LibreELEC
# Copyright (C) 2009-2016 Stephan Raue (stephan@openelec.tv)
#
# OpenELEC is free software: you can redistribute it and/or modify
# LibreELEC 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 of the License, or
# (at your option) any later version.
#
# OpenELEC is distributed in the hope that it will be useful,
# LibreELEC 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. If not, see <http://www.gnu.org/licenses/>.
# along with LibreELEC. If not, see <http://www.gnu.org/licenses/>.
################################################################################
PKG_NAME="vdr-plugin-epgsearch"
PKG_VERSION="0b09f90"
PKG_SHA256="2f50a784a01ef4c7c868b92b63a82b96296247eb148d757b31514a7887ebb534"
PKG_VERSION="c7c02e2"
PKG_SHA256="d8096c261cf94653f7487e7f89c9d38d8c2a5c27a766816b77fe0c49b4a82208"
PKG_ARCH="any"
PKG_LICENSE="GPL"
PKG_SITE="http://winni.vdr-developer.org/epgsearch/"
PKG_URL="https://projects.vdr-developer.org/git/vdr-plugin-epgsearch.git/snapshot/$PKG_NAME-$PKG_VERSION.tar.bz2"
PKG_URL="https://github.com/vdr-projects/vdr-plugin-epgsearch/archive/$PKG_VERSION.tar.gz"
PKG_DEPENDS_TARGET="toolchain vdr"
PKG_SECTION="multimedia"
PKG_SHORTDESC="vdr-epgsearch"
PKG_LONGDESC="vdr-epgsearch"
PKG_SHORTDESC="EPGSearch is a plugin for the Video-Disc-Recorder (VDR)."
PKG_LONGDESC="EPGSearch is a plugin for the Video-Disc-Recorder (VDR)."
PKG_TOOLCHAIN="manual"
make_target() {
VDR_DIR=$(get_build_dir vdr)
@@ -45,9 +47,4 @@ post_make_target() {
LIB_NAME=lib${PKG_NAME/-plugin/}
cp --remove-destination $PKG_BUILD/${LIB_NAME}.so $PKG_BUILD/${LIB_NAME}.so.${VDR_APIVERSION}
$STRIP libvdr-*.so*
}
makeinstall_target() {
: # installation not needed, done by create-addon script
}

View File

@@ -1,6 +1,5 @@
diff -Naur vdr-epgsearch-29c174a/Makefile vdr-epgsearch-29c174a.patch/Makefile
--- vdr-epgsearch-29c174a/Makefile 2014-01-18 16:53:11.000000000 +0100
+++ vdr-epgsearch-29c174a.patch/Makefile 2016-01-07 04:47:33.004326981 +0100
--- a/Makefile
+++ b/Makefile
@@ -130,9 +130,8 @@
OBJS = afuzzy.o blacklist.o changrp.o confdloader.o conflictcheck.o conflictcheck_thread.o distance.o $(PLUGIN).o epgsearchcats.o epgsearchcfg.o epgsearchext.o epgsearchsetup.o epgsearchsvdrp.o epgsearchtools.o mail.o md5.o menu_announcelist.o menu_blacklistedit.o menu_blacklists.o menu_commands.o menu_conflictcheck.o menu_deftimercheckmethod.o menu_dirselect.o menu_event.o menu_favorites.o menu_main.o menu_myedittimer.o menu_quicksearch.o menu_recsdone.o menu_search.o menu_searchactions.o menu_searchedit.o menu_searchresults.o menu_searchtemplate.o menu_switchtimers.o menu_templateedit.o menu_timersdone.o menu_whatson.o noannounce.o pending_notifications.o rcfile.o recdone.o recstatus.o searchtimer_thread.o services.o switchtimer.o switchtimer_thread.o templatefile.o timer_thread.o timerdone.o timerstatus.o uservars.o varparser.o

View File

@@ -1,14 +1,6 @@
From 61c795e71df00f4d3c22d2be405ceb0eb0e0e49c Mon Sep 17 00:00:00 2001
From: Stefan Saraev <stefan@saraev.ca>
Date: Fri, 22 Nov 2013 21:45:56 +0200
Subject: [PATCH] don't build unused plugins
---
Makefile | 6 +++---
1 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/Makefile b/Makefile
index 118e379..5f15ebe 100644
--- a/Makefile
+++ b/Makefile
@@ -16,9 +16,9 @@
@@ -24,6 +16,4 @@ index 118e379..5f15ebe 100644
### edit this to '0' if you don't want epgsearch to auto config itself
AUTOCONFIG=1
--
1.7.2.5

View File

@@ -1,24 +1,25 @@
################################################################################
# This file is part of OpenELEC - http://www.openelec.tv
# This file is part of LibreELEC - https://libreelec.tv
# Copyright (C) 2016-present Team LibreELEC
# Copyright (C) 2009-2016 Stephan Raue (stephan@openelec.tv)
#
# OpenELEC is free software: you can redistribute it and/or modify
# LibreELEC 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 of the License, or
# (at your option) any later version.
#
# OpenELEC is distributed in the hope that it will be useful,
# LibreELEC 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. If not, see <http://www.gnu.org/licenses/>.
# along with LibreELEC. If not, see <http://www.gnu.org/licenses/>.
################################################################################
PKG_NAME="vdr-plugin-iptv"
PKG_VERSION="2226be2"
PKG_SHA256="8c8297a6834cc7104901b256a4b31dfb25f3956ce3c4837c7ffb8ddf0507d09b"
PKG_VERSION="0fe1cb7"
PKG_SHA256="34e5c950d6150bbf98ca733a216f67ff56e078dd1db511aee0edc026e431ee6f"
PKG_ARCH="any"
PKG_LICENSE="GPL"
PKG_SITE="http://www.saunalahti.fi/~rahrenbe/vdr/iptv/"
@@ -27,6 +28,7 @@ PKG_DEPENDS_TARGET="toolchain vdr curl"
PKG_SECTION="multimedia"
PKG_SHORTDESC="vdr-iptv: an IPTV plugin for the Video Disk Recorder (VDR)"
PKG_LONGDESC="vdr-iptv is an IPTV plugin for the Video Disk Recorder (VDR)"
PKG_TOOLCHAIN="manual"
make_target() {
VDR_DIR=$(get_build_dir vdr)
@@ -45,9 +47,4 @@ post_make_target() {
LIB_NAME=lib${PKG_NAME/-plugin/}
cp --remove-destination $PKG_BUILD/${LIB_NAME}.so $PKG_BUILD/${LIB_NAME}.so.${VDR_APIVERSION}
$STRIP libvdr-*.so*
}
makeinstall_target() {
: # installation not needed, done by create-addon script
}

View File

@@ -1,6 +1,5 @@
diff -Naur iptv-2.2.1/Makefile iptv-2.2.1.patch/Makefile
--- iptv-2.2.1/Makefile 2015-04-04 03:20:00.000000000 +0200
+++ iptv-2.2.1.patch/Makefile 2016-01-07 07:37:31.037078104 +0100
--- a/Makefile
+++ b/Makefile
@@ -54,7 +54,7 @@
### Libraries

View File

@@ -1,33 +1,35 @@
################################################################################
# This file is part of OpenELEC - http://www.openelec.tv
# This file is part of LibreELEC - https://libreelec.tv
# Copyright (C) 2016-present Team LibreELEC
# Copyright (C) 2009-2016 Stephan Raue (stephan@openelec.tv)
#
# OpenELEC is free software: you can redistribute it and/or modify
# LibreELEC 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 of the License, or
# (at your option) any later version.
#
# OpenELEC is distributed in the hope that it will be useful,
# LibreELEC 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. If not, see <http://www.gnu.org/licenses/>.
# along with LibreELEC. If not, see <http://www.gnu.org/licenses/>.
################################################################################
PKG_NAME="vdr-plugin-live"
PKG_VERSION="0.3.0"
PKG_SHA256="c200042e51393c247be97e7f4667a1f3f06319d5c8e538adca32fdfac8d178da"
PKG_VERSION="e582514"
PKG_SHA256="74deb2ca43ffb5779b3f9ff6f34c8b53898a226fcf92605d7ede0401cb62601c"
PKG_ARCH="any"
PKG_LICENSE="GPL"
PKG_SITE="http://live.vdr-developer.org/en/index.php"
PKG_URL="http://live.vdr-developer.org/downloads/${PKG_NAME/-plugin/}-${PKG_VERSION}.tar.gz"
PKG_SOURCE_DIR="live-${PKG_VERSION}"
PKG_URL="https://github.com/vdr-projects/vdr-plugin-live/archive/$PKG_VERSION.tar.gz"
PKG_SOURCE_DIR="$PKG_NAME-${PKG_VERSION}*"
PKG_DEPENDS_TARGET="toolchain vdr tntnet pcre:host pcre"
PKG_SECTION="multimedia"
PKG_SHORTDESC="vdr-live: the LIVE Interactive VDR Environment/"
PKG_LONGDESC="vdr-live allows a comfortable operation of VDR and some of its plugins trough a web interface"
PKG_TOOLCHAIN="manual"
pre_configure_target() {
export CFLAGS="$CFLAGS -fPIC"
@@ -35,18 +37,15 @@ pre_configure_target() {
export LDFLAGS="$LDFLAGS -fPIC -L$SYSROOT_PREFIX/usr/lib/iconv"
}
pre_make_target() {
# dont build parallel
MAKEFLAGS=-j1
}
make_target() {
VDR_DIR=$(get_build_dir vdr)
export CPLUS_INCLUDE_PATH=$VDR_DIR/include
VDR_APIVERSION=`sed -ne '/define APIVERSION/s/^.*"\(.*\)".*$/\1/p' $VDR_DIR/config.h`
LIB_NAME=lib${PKG_NAME/-plugin/}
make VDRDIR=$VDR_DIR \
LIBDIR="." \
LOCALEDIR="./locale"
}
makeinstall_target() {
: # installation not needed, done by create-addon script
cp --remove-destination $PKG_BUILD/${LIB_NAME}.so $PKG_BUILD/${LIB_NAME}.so.${VDR_APIVERSION}
}

View File

@@ -1,290 +0,0 @@
commit 042724e30d5690ab67a6c04aea48a16b9a3b085b
Author: Dieter Hametner <dh (plus) vdr (at) gekrumbel (dot) de>
Date: Fri May 3 01:37:41 2013 +0200
Make LIVE compile and work with Tntnet and cxxtools version 2.2.
Thanks to Tommi Mäkitalo for his help on resolving the issues.
This problem was reported by Martin Gansser and by the user 'varas' in
the bugtracker as bug #1351. This commit fixes that bug.
diff --git a/pages/recordings.ecpp b/pages/recordings.ecpp
index 51018bb..80f145b 100644
--- a/pages/recordings.ecpp
+++ b/pages/recordings.ecpp
@@ -205,7 +205,11 @@ for (recIter = recItems.begin(); recIter != recItems.end(); ++recIter) {
<& rec_item_dir name=(recItem->Name()) level=(level) &>
<%cpp>
#if TNT_HAS_QUERYPARAMS
+#if TNT_QUERYPARAMS_NO_BOOL
+ tnt::QueryParams recItemParams(qparam);
+#else
tnt::QueryParams recItemParams(qparam, false);
+#endif
#else
cxxtools::QueryParams recItemParams(qparam, false);
#endif
diff --git a/tntconfig.cpp b/tntconfig.cpp
index 3a1fd14..3325776 100644
--- a/tntconfig.cpp
+++ b/tntconfig.cpp
@@ -3,7 +3,13 @@
#include <fstream>
#include <sstream>
#include <stdexcept>
+#include "tntfeatures.h"
+#if TNT_LOG_SERINFO
+#include <cxxtools/log.h>
+#include <cxxtools/xml/xmldeserializer.h>
+#else
#include <cxxtools/loginit.h>
+#endif
#include <tnt/sessionscope.h>
#include <tnt/httpreply.h>
#include <vdr/config.h>
@@ -181,19 +187,67 @@ namespace vdrlive {
#endif
#if TNT_CONFIG_INTERNAL
+ namespace {
+ std::string GetResourcePath()
+ {
+#if APIVERSNUM > 10729
+ string resourceDir(Plugin::GetResourceDirectory());
+ return resourceDir;
+#else
+ string configDir(Plugin::GetConfigDirectory());
+ return configDir;
+#endif
+ }
+
+ void MapUrl(tnt::Tntnet & app, const char *rule, const char * component, std::string const & instPath, const char * pathInfo, const char * mime_type)
+ {
+#if TNT_MAPURL_NAMED_ARGS
+ tnt::Mapping::args_type argMap;
+ argMap.insert(std::make_pair("mime-type", mime_type));
+#endif
+ app.mapUrl(rule, component)
+ .setPathInfo(instPath + pathInfo)
+#if TNT_MAPURL_NAMED_ARGS
+ .setArgs(argMap);
+#else
+ .pushArg(mime_type);
+#endif
+ }
+ }
+
void TntConfig::Configure(tnt::Tntnet& app) const
{
string const configDir(Plugin::GetConfigDirectory());
-#if APIVERSNUM > 10729
- string const resourceDir(Plugin::GetResourceDirectory());
-#endif
+#if TNT_LOG_SERINFO
+ cxxtools::SerializationInfo si;
+ std::istringstream logXmlConf(
+ "<logging>\n"
+ " <rootlogger>" + LiveSetup().GetTntnetLogLevel() + "</rootlogger>\n"
+ " <loggers>\n"
+ " <logger>\n"
+ " <category>cxxtools</category>\n"
+ " <level>" + LiveSetup().GetTntnetLogLevel() + "</level>\n"
+ " </logger>\n"
+ " <logger>\n"
+ " <category>tntnet</category>\n"
+ " <level>" + LiveSetup().GetTntnetLogLevel() + "</level>\n"
+ " </logger>\n"
+ " </loggers>\n"
+ "</logging>\n"
+ );
+ cxxtools::xml::XmlDeserializer d(logXmlConf);
+ d.deserialize(si);
+ log_init(si);
+#else
std::istringstream logConf(
"rootLogger=" + LiveSetup().GetTntnetLogLevel() + "\n"
"logger.tntnet=" + LiveSetup().GetTntnetLogLevel() + "\n"
"logger.cxxtools=" + LiveSetup().GetTntnetLogLevel() + "\n"
);
+
log_init(logConf);
+#endif
// +++ CAUTION +++ CAUTION +++ CAUTION +++ CAUTION +++ CAUTION +++
// ------------------------------------------------------------------------
@@ -229,13 +283,12 @@ namespace vdrlive {
// the following selects the theme specific 'theme.css' file
// inserted by 'tadi' -- verified with above, but not counterchecked yet!
- app.mapUrl("^/themes/([^/]*)/css.*/(.+\\.css)", "content")
-#if APIVERSNUM > 10729
- .setPathInfo(resourceDir + "/themes/$1/css/$2")
-#else
- .setPathInfo(configDir + "/themes/$1/css/$2")
-#endif
- .pushArg("text/css");
+ MapUrl(app,
+ "^/themes/([^/]*)/css.*/(.+\\.css)",
+ "content",
+ GetResourcePath(),
+ "/themes/$1/css/$2",
+ "text/css");
// the following rules provide a search scheme for images. The first
// rule where a image is found, terminates the search.
@@ -243,79 +296,82 @@ namespace vdrlive {
// 2. /img/<imgname>.<ext>
// deprecated: 3. <imgname>.<ext> (builtin images)
// inserted by 'tadi' -- verified with above, but not counterchecked yet!
- app.mapUrl("^/themes/([^/]*)/img.*/(.+)\\.(.+)", "content")
-#if APIVERSNUM > 10729
- .setPathInfo(resourceDir + "/themes/$1/img/$2.$3")
-#else
- .setPathInfo(configDir + "/themes/$1/img/$2.$3")
-#endif
- .pushArg("image/$3");
- app.mapUrl("^/themes/([^/]*)/img.*/(.+)\\.(.+)", "content")
-#if APIVERSNUM > 10729
- .setPathInfo(resourceDir + "/img/$2.$3")
-#else
- .setPathInfo(configDir + "/img/$2.$3")
-#endif
- .pushArg("image/$3");
+ MapUrl(app,
+ "^/themes/([^/]*)/img.*/(.+)\\.(.+)",
+ "content",
+ GetResourcePath(),
+ "/themes/$1/img/$2.$3",
+ "image/$3");
+
+ MapUrl(app,
+ "^/themes/([^/]*)/img.*/(.+)\\.(.+)",
+ "content",
+ GetResourcePath(),
+ "/img/$2.$3",
+ "image/$3");
// deprecated: file << "MapUrl ^/themes/([^/]*)/img.*/(.+)\\.(.+) $2@" << endl;
// Epg images
string const epgImgPath(LiveSetup().GetEpgImageDir());
if (!epgImgPath.empty()) {
// inserted by 'tadi' -- verified with above, but not counterchecked yet!
- app.mapUrl("^/epgimages/([^/]*)\\.([^./]+)", "content")
- .setPathInfo(epgImgPath + "/$1.$2")
- .pushArg("image/$2");
+ MapUrl(app,
+ "^/epgimages/([^/]*)\\.([^./]+)",
+ "content",
+ epgImgPath,
+ "/$1.$2",
+ "image/$2");
}
// select additional (not build in) javascript.
// WARNING: no path components with '.' in the name are allowed. Only
// the basename may contain dots and must end with '.js'
// inserted by 'tadi' -- verified with above, but not counterchecked yet!
- app.mapUrl("^/js(/[^.]*)([^/]*\\.js)", "content")
-#if APIVERSNUM > 10729
- .setPathInfo(resourceDir + "/js$1$2")
-#else
- .setPathInfo(configDir + "/js$1$2")
-#endif
- .pushArg("text/javascript");
+ MapUrl(app,
+ "^/js(/[^.]*)([^/]*\\.js)",
+ "content",
+ GetResourcePath(),
+ "/js$1$2",
+ "text/javascript");
// map to 'css/basename(uri)'
// inserted by 'tadi' -- verified with above, but not counterchecked yet!
- app.mapUrl("^/css.*/(.+)", "content")
-#if APIVERSNUM > 10729
- .setPathInfo(resourceDir + "/css/$1")
-#else
- .setPathInfo(configDir + "/css/$1")
-#endif
- .pushArg("text/css");
+ MapUrl(app,
+ "^/css.*/(.+)",
+ "content",
+ GetResourcePath(),
+ "/css/$1",
+ "text/css");
// map to 'img/basename(uri)'
// inserted by 'tadi' -- verified with above, but not counterchecked yet!
- app.mapUrl("^/img.*/(.+)\\.([^.]+)", "content")
-#if APIVERSNUM > 10729
- .setPathInfo(resourceDir + "/img/$1.$2")
-#else
- .setPathInfo(configDir + "/img/$1.$2")
-#endif
- .pushArg("image/$2");
+ MapUrl(app,
+ "^/img.*/(.+)\\.([^.]+)",
+ "content",
+ GetResourcePath(),
+ "/img/$1.$2",
+ "image/$2");
// Map favicon.ico into img directory
- app.mapUrl("^/favicon.ico$", "content")
-#if APIVERSNUM > 10729
- .setPathInfo(resourceDir + "/img/favicon.ico")
-#else
- .setPathInfo(configDir + "/img/favicon.ico")
-#endif
- .pushArg("image/x-icon");
+ MapUrl(app,
+ "^/favicon.ico$",
+ "content",
+ GetResourcePath(),
+ "/img/favicon.ico",
+ "image/x-icon");
// takes first path components without 'extension' when it does not
// contain '.'
// modified by 'tadi' -- verified with above, but not counterchecked yet!
app.mapUrl("^/([^./]+)(.*)?", "$1");
+#if TNT_GLOBAL_TNTCONFIG
+ tnt::TntConfig::it().sessionTimeout = 86400;
+ tnt::TntConfig::it().defaultContentType = string("text/html; charset=") + LiveI18n().CharacterEncoding();
+#else
tnt::Sessionscope::setDefaultTimeout(86400);
tnt::HttpReply::setDefaultContentType(string("text/html; charset=") + LiveI18n().CharacterEncoding());
+#endif
Setup::IpList const& ips = LiveSetup().GetServerIps();
int port = LiveSetup().GetServerPort();
diff --git a/tntfeatures.h b/tntfeatures.h
index 6de1f88..76d3757 100644
--- a/tntfeatures.h
+++ b/tntfeatures.h
@@ -17,6 +17,9 @@
// Query params are now in tntnet and not in cxxtools
#define TNT_HAS_QUERYPARAMS (TNTVERSION >= 16060)
+// Query params without boolean parameter
+#define TNT_QUERYPARAMS_NO_BOOL (TNTVERSION >= 22000)
+
// One can request the host part of the request url
#define TNT_HAS_GETHOST (TNTVERSION >= 16060)
@@ -26,4 +29,13 @@
// version of TNTNET that binds ipv6 addresses with IPV6_V6ONLY flag set to true
#define TNT_IPV6_V6ONLY (CXXTOOLVER >= 21000)
+// version of TNTNET with properties deserializer for logger configuration args.
+#define TNT_LOG_SERINFO (CXXTOOLVER >= 22000)
+
+// version of TNTNET wich expects name, value mappings for Url-Mapper arguments.
+#define TNT_MAPURL_NAMED_ARGS (TNTVERSION >= 22000)
+
+// version of TNTNET where configuration is global
+#define TNT_GLOBAL_TNTCONFIG (TNTVERSION >= 22000)
+
#endif // VDR_LIVE_TNTFEATURES_H

View File

@@ -1,25 +0,0 @@
commit 69f84f95fa875c6f562294b1a6a1ea6f584d3f6c
Author: Dieter Hametner <dh (plus) vdr (at) gekrumbel (dot) de>
Date: Sat May 4 22:27:09 2013 +0200
With tntnet v2.2 use also the request.getArg(<name>) function.
In the previous commit support for tntnet 2.2 was added. The URL
mapping changed in that version and allows now named arguments. This
change makes uses of this feature now.
diff --git a/pages/content.ecpp b/pages/content.ecpp
index 27d827c..cde092f 100644
--- a/pages/content.ecpp
+++ b/pages/content.ecpp
@@ -17,7 +17,11 @@ bool logged_in(false);
string mime("image/png");
if (request.getArgsCount() > 0) {
+#if TNT_MAPURL_NAMED_ARGS
+ mime = request.getArg("mime-type");
+#else
mime = request.getArg(0);
+#endif
// dsyslog("vdrlive::content found mime arg (%s)", mime.c_str());
}
reply.setContentType(mime);

View File

@@ -1,76 +0,0 @@
commit 0f8a281027f852ed5968361bcb7420ed242d0476
Author: Stefan Saraev <stefan@saraev.ca>
Date: Sat Oct 19 22:15:14 2013 +0300
vdr 2.1.2 buildfix
diff --git a/pages/recordings.ecpp b/pages/recordings.ecpp
index 80f145b..6da5285 100644
--- a/pages/recordings.ecpp
+++ b/pages/recordings.ecpp
@@ -79,7 +79,7 @@ for (deletions_type::const_iterator it = deletions.begin(); it != deletions.end(
deletions.clear();
int FreeMB, UsedMB;
-int Percent = VideoDiskSpace(&FreeMB, &UsedMB);
+int Percent = cVideoDirectory::VideoDiskSpace(&FreeMB, &UsedMB);
int Minutes = int(double(FreeMB) / MB_PER_MINUTE);
int Hours = Minutes / 60;
Minutes %= 60;
diff --git a/recman.cpp b/recman.cpp
index 6a2fc00..9ed88f0 100644
--- a/recman.cpp
+++ b/recman.cpp
@@ -112,7 +112,7 @@ namespace vdrlive {
if (found == string::npos)
return false;
- string newname = string(VideoDirectory) + "/" + name + oldname.substr(found);
+ string newname = string(cVideoDirectory::Name()) + "/" + name + oldname.substr(found);
if (!MoveDirectory(oldname.c_str(), newname.c_str(), copy)) {
esyslog("[LIVE]: renaming failed from '%s' to '%s'", oldname.c_str(), newname.c_str());
diff --git a/tntconfig.cpp b/tntconfig.cpp
index 3325776..161fdc4 100644
--- a/tntconfig.cpp
+++ b/tntconfig.cpp
@@ -279,7 +279,7 @@ namespace vdrlive {
// inserted by 'tadi' -- not verified, not counterchecked yet!
//app.mapUrl("^/vlc/(.+)", "static@tntnet")
// .setPathInfo("/$1")
- // .pushArg(string("DocumentRoot=") + VideoDirectory);
+ // .pushArg(string("DocumentRoot=") + cVideoDirectory::Name());
// the following selects the theme specific 'theme.css' file
// inserted by 'tadi' -- verified with above, but not counterchecked yet!
diff --git a/tools.cpp b/tools.cpp
index c744d06..cb3529e 100644
--- a/tools.cpp
+++ b/tools.cpp
@@ -365,7 +365,7 @@ namespace vdrlive {
stat(source.c_str(), &st1);
stat(target.c_str(),&st2);
if (!copy && (st1.st_dev == st2.st_dev)) {
- if (!RenameVideoFile(source.c_str(), target.c_str())) {
+ if (!cVideoDirectory::RenameVideoFile(source.c_str(), target.c_str())) {
esyslog("[LIVE]: rename failed from %s to %s", source.c_str(), target.c_str());
return false;
}
@@ -461,7 +461,7 @@ namespace vdrlive {
size_t found = source.find_last_of(delim);
if (found != std::string::npos) {
source = source.substr(0, found);
- while (source != VideoDirectory) {
+ while (source != cVideoDirectory::Name()) {
found = source.find_last_of(delim);
if (found == std::string::npos)
break;
@@ -478,7 +478,7 @@ namespace vdrlive {
size_t found = target.find_last_of(delim);
if (found != std::string::npos) {
target = target.substr(0, found);
- while (target != VideoDirectory) {
+ while (target != cVideoDirectory::Name()) {
found = target.find_last_of(delim);
if (found == std::string::npos)
break;

View File

@@ -1,25 +0,0 @@
From d95f6d719298b4586fc4b889612423be67b52e88 Mon Sep 17 00:00:00 2001
From: Stefan Saraev <stefan@saraev.ca>
Date: Mon, 16 Jun 2014 12:06:29 +0300
Subject: [PATCH] dont build i18n
---
Makefile | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/Makefile b/Makefile
index ab2f2b5..923d184 100644
--- a/Makefile
+++ b/Makefile
@@ -94,7 +94,7 @@ WEBLIBS = pages/libpages.a css/libcss.a javascript/libjavascript.a
### Default rules:
-all: libvdr-$(PLUGIN).so $(I18NTARG)
+all: libvdr-$(PLUGIN).so
.PHONY: all dist clean subdirs $(SUBDIRS) PAGES
--
1.7.2.5

View File

@@ -0,0 +1,36 @@
--- a/Makefile
+++ b/Makefile
@@ -11,7 +11,7 @@ PLUGIN := live
VERSION := $(shell grep '\#define LIVEVERSION ' setup.h | awk '{ print $$3 }' | sed -e 's/[";]//g')
### Check for libpcre c++ wrapper
-HAVE_LIBPCRECPP := $(shell pcre-config --libs-cpp)
+HAVE_LIBPCRECPP := $(shell pkg-config --libs libpcrecpp libpcre)
### The directory environment:
# Use package data if installed...otherwise assume we're under the VDR source directory:
@@ -37,18 +37,18 @@ APIVERSION := $(call PKGCFG,apiversion)
include global.mk
### Determine tntnet and cxxtools versions:
-TNTVERSION = $(shell tntnet-config --version | sed -e's/\.//g' | sed -e's/pre.*//g' | awk '/^..$$/ { print $$1."000"} /^...$$/ { print $$1."00"} /^....$$/ { print $$1."0" } /^.....$$/ { print $$1 }')
-CXXTOOLVER = $(shell cxxtools-config --version | sed -e's/\.//g' | sed -e's/pre.*//g' | awk '/^..$$/ { print $$1."000"} /^...$$/ { print $$1."00"} /^....$$/ { print $$1."0" } /^.....$$/ { print $$1 }')
+TNTVERSION = $(shell pkg-config --modversion tntnet | sed -e's/\.//g' | sed -e's/pre.*//g' | awk '/^..$$/ { print $$1."000"} /^...$$/ { print $$1."00"} /^....$$/ { print $$1."0" } /^.....$$/ { print $$1 }')
+CXXTOOLVER = $(shell pkg-config --modversion cxxtools | sed -e's/\.//g' | sed -e's/pre.*//g' | awk '/^..$$/ { print $$1."000"} /^...$$/ { print $$1."00"} /^....$$/ { print $$1."0" } /^.....$$/ { print $$1 }')
-CXXFLAGS += $(shell tntnet-config --cxxflags)
-LIBS += $(shell tntnet-config --libs)
+CXXFLAGS += $(shell pkg-config --cflags tntnet)
+LIBS += $(shell pkg-config --libs tntnet)
### Optional configuration features
PLUGINFEATURES :=
ifneq ($(HAVE_LIBPCRECPP),)
PLUGINFEATURES += -DHAVE_LIBPCRECPP
- CXXFLAGS += $(shell pcre-config --cflags)
- LIBS += $(HAVE_LIBPCRECPP)
+ CXXFLAGS += $(shell pkg-config --cflags libpcreposix libpcre)
+ LIBS += -Wl,-Bstatic $(HAVE_LIBPCRECPP) -Wl,-Bdynamic
endif
# -Wno-deprecated-declarations .. get rid of warning: template<class> class std::auto_ptr is deprecated

Some files were not shown because too many files have changed in this diff Show More