vdr: introduce vdr to oe
authorPaul Menzel <paulepanter@users.sourceforge.net>
Sat, 12 Dec 2009 09:17:52 +0000 (10:17 +0100)
committerHenning Heinold <heinold@inf.fu-berlin.de>
Sun, 3 Jan 2010 20:49:16 +0000 (21:49 +0100)
* packaging started by Paul Menzel
* packaging finished by Henning Heinold

Signed-off-by: Paul Menzel <paulepanter@users.sourceforge.net>
Signed-off-by: Henning Heinold <heinold@inf.fu-berlin.de>
conf/checksums.ini
recipes/vdr/files/cplusplus.patch [new file with mode: 0644]
recipes/vdr/files/disable_plugin.patch [new file with mode: 0644]
recipes/vdr/files/fixpaths.patch [new file with mode: 0644]
recipes/vdr/files/libintl.patch [new file with mode: 0644]
recipes/vdr/files/linkerflags.patch [new file with mode: 0644]
recipes/vdr/vdr_1.7.10.bb [new file with mode: 0644]

index 910ba09..1b9fd5a 100644 (file)
@@ -27314,6 +27314,10 @@ sha256=05b473815f9706387a3c5eaeb4da2e492f624e0b7783432179454f9d69bb973c
 md5=d97a8dbc72942c57542f50322b538a48
 sha256=05b473815f9706387a3c5eaeb4da2e492f624e0b7783432179454f9d69bb973c
 
+[ftp://ftp.tvdr.de/vdr/Developer/vdr-1.7.10.tar.bz2]
+md5=c74ee966baca1c47ed6b9e2be3d1639b
+sha256=165bfcd811ef92cab50d11a88a76c481e105689438929414d27edfacfb312f52
+
 [ftp://ftp.billsgames.com/unix/x/vectoroids/src/vectoroids-1.1.0.tar.gz]
 md5=c63ce56b09aa7da9a6e95d804e9ee314
 sha256=8d14dd281767e994108abd77c8e67d5a17718d0ad1e34d37e026911d14697b2e
diff --git a/recipes/vdr/files/cplusplus.patch b/recipes/vdr/files/cplusplus.patch
new file mode 100644 (file)
index 0000000..74e4731
--- /dev/null
@@ -0,0 +1,54 @@
+Index: vdr-1.7.10/tools.c
+===================================================================
+--- vdr-1.7.10.orig/tools.c    2010-01-03 16:34:41.162295450 +0100
++++ vdr-1.7.10/tools.c 2010-01-03 17:07:03.318358420 +0100
+@@ -8,9 +8,12 @@
+  */
+ #include "tools.h"
+-#include <ctype.h>
++#include <cctype>
+ #include <dirent.h>
+-#include <errno.h>
++#include <cerrno>
++#include <cstdarg>
++#include <ctime>
++
+ extern "C" {
+ #ifdef boolean
+ #define HAVE_BOOLEAN
+@@ -18,11 +21,10 @@
+ #include <jpeglib.h>
+ #undef boolean
+ }
+-#include <stdarg.h>
++
+ #include <stdlib.h>
+ #include <sys/time.h>
+ #include <sys/vfs.h>
+-#include <time.h>
+ #include <unistd.h>
+ #include <utime.h>
+ #include "i18n.h"
+@@ -484,7 +486,7 @@
+ {
+   if (!FileName)
+      return NULL;
+-  char *TargetName = canonicalize_file_name(FileName);
++  char *TargetName = realpath(FileName,NULL);
+   if (!TargetName) {
+      if (errno == ENOENT) // file doesn't exist
+         TargetName = strdup(FileName);
+Index: vdr-1.7.10/tools.h
+===================================================================
+--- vdr-1.7.10.orig/tools.h    2010-01-03 16:30:20.441906815 +0100
++++ vdr-1.7.10/tools.h 2010-01-03 16:30:57.168575048 +0100
+@@ -24,6 +24,8 @@
+ #include <sys/stat.h>
+ #include <sys/types.h>
++#include <cstdarg>
++
+ typedef unsigned char uchar;
+ extern int SysLogLevel;
diff --git a/recipes/vdr/files/disable_plugin.patch b/recipes/vdr/files/disable_plugin.patch
new file mode 100644 (file)
index 0000000..80cf236
--- /dev/null
@@ -0,0 +1,18 @@
+Index: vdr-1.7.10/Makefile
+===================================================================
+--- vdr-1.7.10.orig/Makefile   2010-01-03 18:19:12.915007986 +0100
++++ vdr-1.7.10/Makefile        2010-01-03 18:29:47.598277455 +0100
+@@ -142,11 +142,12 @@
+       noapiv="";\
+       for i in `ls $(PLUGINDIR)/src | grep -v '[^a-z0-9]'`; do\
+           echo "Plugin $$i:";\
+-          if ! grep -q "\$$(LIBDIR)/.*\$$(APIVERSION)" "$(PLUGINDIR)/src/$$i/Makefile" ; then\
++          if ! grep -q "\$$(LIBDIR)/.*\$$(APIVERSION)" "$(PLUGINDIR)/src/$$i/Makefile";  then \
+              echo "ERROR: plugin $$i doesn't honor APIVERSION - not compiled!";\
+              noapiv="$$noapiv $$i";\
+              continue;\
+              fi;\
++          if [ "$$i" = "skincurses" ]; then echo; echo "*** $$i plugin disbabled "; echo; continue; fi;\
+           $(MAKE) -C "$(PLUGINDIR)/src/$$i" all || failed="$$failed $$i";\
+           done;\
+       if [ -n "$$noapiv" ] ; then echo; echo "*** plugins without APIVERSION:$$noapiv"; echo; fi;\
diff --git a/recipes/vdr/files/fixpaths.patch b/recipes/vdr/files/fixpaths.patch
new file mode 100644 (file)
index 0000000..418f2d9
--- /dev/null
@@ -0,0 +1,11 @@
+--- vdr/Makefile~fixpaths      2009-10-18 15:59:25.000000000 +0200
++++ vdr/Makefile       2009-12-13 12:28:22.000000000 +0100
+@@ -21,7 +21,7 @@
+ BINDIR   = $(PREFIX)/bin
+ LOCDIR   = ./locale
+ LIBS     = -ljpeg -lpthread -ldl -lcap -lrt -lfreetype -lfontconfig
+-INCLUDES = -I/usr/include/freetype2
++INCLUDES = ${CFLAGS}
+ PLUGINDIR= ./PLUGINS
+ PLUGINLIBDIR= $(PLUGINDIR)/lib
diff --git a/recipes/vdr/files/libintl.patch b/recipes/vdr/files/libintl.patch
new file mode 100644 (file)
index 0000000..5354040
--- /dev/null
@@ -0,0 +1,13 @@
+Index: vdr-1.7.10/Makefile
+===================================================================
+--- vdr-1.7.10.orig/Makefile   2010-01-03 17:37:34.481503866 +0100
++++ vdr-1.7.10/Makefile        2010-01-03 17:37:46.708168016 +0100
+@@ -20,7 +20,7 @@
+ MANDIR   = $(PREFIX)/share/man
+ BINDIR   = $(PREFIX)/bin
+ LOCDIR   = ./locale
+-LIBS     = -ljpeg -lpthread -ldl -lcap -lrt -lfreetype -lfontconfig
++LIBS     = -ljpeg -lpthread -ldl -lcap -lrt -lfreetype -lfontconfig -lintl
+ INCLUDES = ${CFLAGS}
+ PLUGINDIR= ./PLUGINS
diff --git a/recipes/vdr/files/linkerflags.patch b/recipes/vdr/files/linkerflags.patch
new file mode 100644 (file)
index 0000000..6ae2fef
--- /dev/null
@@ -0,0 +1,186 @@
+Index: vdr-1.7.10/Makefile
+===================================================================
+--- vdr-1.7.10.orig/Makefile   2010-01-03 18:32:17.621590237 +0100
++++ vdr-1.7.10/Makefile        2010-01-03 18:32:35.494511992 +0100
+@@ -20,7 +20,7 @@
+ MANDIR   = $(PREFIX)/share/man
+ BINDIR   = $(PREFIX)/bin
+ LOCDIR   = ./locale
+-LIBS     = -ljpeg -lpthread -ldl -lcap -lrt -lfreetype -lfontconfig -lintl
++LIBS     = -ljpeg -lpthread -ldl -lcap -lrt -lfreetype -lfontconfig -lintl ${LDFLAGS}
+ INCLUDES = ${CFLAGS}
+ PLUGINDIR= ./PLUGINS
+Index: vdr-1.7.10/PLUGINS/src/hello/Makefile
+===================================================================
+--- vdr-1.7.10.orig/PLUGINS/src/hello/Makefile 2010-01-03 18:36:04.434906531 +0100
++++ vdr-1.7.10/PLUGINS/src/hello/Makefile      2010-01-03 18:36:53.764486295 +0100
+@@ -19,6 +19,7 @@
+ CXX      ?= g++
+ CXXFLAGS ?= -fPIC -g -O2 -Wall -Woverloaded-virtual -Wno-parentheses
++LIBS     ?= ${LDFLAGS}
+ ### The directory environment:
+@@ -95,7 +96,7 @@
+ ### Targets:
+ libvdr-$(PLUGIN).so: $(OBJS)
+-      $(CXX) $(CXXFLAGS) -shared $(OBJS) -o $@
++      $(CXX) $(CXXFLAGS) -shared $(OBJS) -o $@ $(LIBS)
+       @cp --remove-destination $@ $(LIBDIR)/$@.$(APIVERSION)
+ dist: clean
+Index: vdr-1.7.10/PLUGINS/src/osddemo/Makefile
+===================================================================
+--- vdr-1.7.10.orig/PLUGINS/src/osddemo/Makefile       2010-01-03 18:37:03.264901094 +0100
++++ vdr-1.7.10/PLUGINS/src/osddemo/Makefile    2010-01-03 18:37:50.811562295 +0100
+@@ -17,6 +17,7 @@
+ CXX      ?= g++
+ CXXFLAGS ?= -fPIC -g -O2 -Wall -Woverloaded-virtual -Wno-parentheses
++LIBS     ?= ${LDFLAGS}
+ ### The directory environment:
+@@ -68,7 +69,7 @@
+ ### Targets:
+ libvdr-$(PLUGIN).so: $(OBJS)
+-      $(CXX) $(CXXFLAGS) -shared $(OBJS) -o $@
++      $(CXX) $(CXXFLAGS) -shared $(OBJS) -o $@ $(LIBS)
+       @cp --remove-destination $@ $(LIBDIR)/$@.$(APIVERSION)
+ dist: clean
+Index: vdr-1.7.10/PLUGINS/src/pictures/Makefile
+===================================================================
+--- vdr-1.7.10.orig/PLUGINS/src/pictures/Makefile      2010-01-03 18:38:04.324891989 +0100
++++ vdr-1.7.10/PLUGINS/src/pictures/Makefile   2010-01-03 18:38:28.857810076 +0100
+@@ -19,6 +19,7 @@
+ CXX      ?= g++
+ CXXFLAGS ?= -fPIC -g -O2 -Wall -Woverloaded-virtual -Wno-parentheses
++LIBS     ?= ${LDFLAGS}
+ ### The directory environment:
+@@ -95,7 +96,7 @@
+ ### Targets:
+ libvdr-$(PLUGIN).so: $(OBJS)
+-      $(CXX) $(CXXFLAGS) -shared $(OBJS) -o $@
++      $(CXX) $(CXXFLAGS) -shared $(OBJS) -o $@ $(LIBS)
+       @cp --remove-destination $@ $(LIBDIR)/$@.$(APIVERSION)
+ dist: clean
+Index: vdr-1.7.10/PLUGINS/src/servicedemo/Makefile
+===================================================================
+--- vdr-1.7.10.orig/PLUGINS/src/servicedemo/Makefile   2010-01-03 18:38:35.431552371 +0100
++++ vdr-1.7.10/PLUGINS/src/servicedemo/Makefile        2010-01-03 18:39:08.001139005 +0100
+@@ -19,6 +19,7 @@
+ CXX      ?= g++
+ CXXFLAGS ?= -fPIC -g -O2 -Wall -Woverloaded-virtual -Wno-parentheses
++LIBS     ?= ${LDFLAGS}
+ ### The directory environment:
+@@ -70,11 +71,11 @@
+ ### Targets:
+ libvdr-$(PLUGIN1).so: $(PLUGIN1).o
+-      $(CXX) $(CXXFLAGS) -shared $(PLUGIN1).o -o $@
++      $(CXX) $(CXXFLAGS) -shared $(PLUGIN1).o -o $@ $(LIBS)
+       @cp --remove-destination $@ $(LIBDIR)/$@.$(APIVERSION)
+ libvdr-$(PLUGIN2).so: $(PLUGIN2).o
+-      $(CXX) $(CXXFLAGS) -shared $(PLUGIN2).o -o $@
++      $(CXX) $(CXXFLAGS) -shared $(PLUGIN2).o -o $@ $(LIBS)
+       @cp --remove-destination $@ $(LIBDIR)/$@.$(APIVERSION)
+ dist: clean
+Index: vdr-1.7.10/PLUGINS/src/skincurses/Makefile
+===================================================================
+--- vdr-1.7.10.orig/PLUGINS/src/skincurses/Makefile    2010-01-03 18:39:17.038217922 +0100
++++ vdr-1.7.10/PLUGINS/src/skincurses/Makefile 2010-01-03 18:40:01.821133352 +0100
+@@ -19,6 +19,7 @@
+ CXX      ?= g++
+ CXXFLAGS ?= -fPIC -g -O2 -Wall -Woverloaded-virtual -Wno-parentheses
++LIBS     ?= ${LDFLAGS}
+ ### The directory environment:
+@@ -95,7 +96,7 @@
+ ### Targets:
+ libvdr-$(PLUGIN).so: $(OBJS)
+-      $(CXX) $(CXXFLAGS) -shared $(OBJS) -lncursesw -o $@
++      $(CXX) $(CXXFLAGS) -shared $(OBJS) -lncursesw -o $@ $(LIBS)
+       @cp --remove-destination $@ $(LIBDIR)/$@.$(APIVERSION)
+ dist: clean
+Index: vdr-1.7.10/PLUGINS/src/sky/Makefile
+===================================================================
+--- vdr-1.7.10.orig/PLUGINS/src/sky/Makefile   2010-01-03 18:40:08.738209760 +0100
++++ vdr-1.7.10/PLUGINS/src/sky/Makefile        2010-01-03 18:40:20.694465450 +0100
+@@ -17,6 +17,7 @@
+ CXX      ?= g++
+ CXXFLAGS ?= -fPIC -g -O2 -Wall -Woverloaded-virtual -Wno-parentheses
++LIBS     ?= ${LDFLAGS}
+ ### The directory environment:
+@@ -68,7 +69,7 @@
+ ### Targets:
+ libvdr-$(PLUGIN).so: $(OBJS)
+-      $(CXX) $(CXXFLAGS) -shared $(OBJS) -o $@
++      $(CXX) $(CXXFLAGS) -shared $(OBJS) -o $@ $(LIBS)
+       @cp --remove-destination $@ $(LIBDIR)/$@.$(APIVERSION)
+ dist: clean
+Index: vdr-1.7.10/PLUGINS/src/status/Makefile
+===================================================================
+--- vdr-1.7.10.orig/PLUGINS/src/status/Makefile        2010-01-03 18:40:27.841126169 +0100
++++ vdr-1.7.10/PLUGINS/src/status/Makefile     2010-01-03 18:40:41.844457953 +0100
+@@ -17,6 +17,7 @@
+ CXX      ?= g++
+ CXXFLAGS ?= -fPIC -g -O2 -Wall -Woverloaded-virtual -Wno-parentheses
++LIBS     ?= ${LDFLAGS}
+ ### The directory environment:
+@@ -68,7 +69,7 @@
+ ### Targets:
+ libvdr-$(PLUGIN).so: $(OBJS)
+-      $(CXX) $(CXXFLAGS) -shared $(OBJS) -o $@
++      $(CXX) $(CXXFLAGS) -shared $(OBJS) -o $@ $(LIBS)
+       @cp --remove-destination $@ $(LIBDIR)/$@.$(APIVERSION)
+ dist: clean
+Index: vdr-1.7.10/PLUGINS/src/svdrpdemo/Makefile
+===================================================================
+--- vdr-1.7.10.orig/PLUGINS/src/svdrpdemo/Makefile     2010-01-03 18:40:50.818205559 +0100
++++ vdr-1.7.10/PLUGINS/src/svdrpdemo/Makefile  2010-01-03 18:41:01.831121904 +0100
+@@ -17,6 +17,7 @@
+ CXX      ?= g++
+ CXXFLAGS ?= -fPIC -g -O2 -Wall -Woverloaded-virtual -Wno-parentheses
++LIBS     ?= ${LDFLAGS}
+ ### The directory environment:
+@@ -68,7 +69,7 @@
+ ### Targets:
+ libvdr-$(PLUGIN).so: $(OBJS)
+-      $(CXX) $(CXXFLAGS) -shared $(OBJS) -o $@
++      $(CXX) $(CXXFLAGS) -shared $(OBJS) -o $@ $(LIBS)
+       @cp --remove-destination $@ $(LIBDIR)/$@.$(APIVERSION)
+ dist: clean
diff --git a/recipes/vdr/vdr_1.7.10.bb b/recipes/vdr/vdr_1.7.10.bb
new file mode 100644 (file)
index 0000000..64b89b8
--- /dev/null
@@ -0,0 +1,40 @@
+DESCRIPTION = "Video Disk Recorder (VDR) is a digital sat-receiver program using Linux and DVB technologies. It allows one to record MPEG2 streams, as well as output the stream to TV. It is also possible to watch DVDs (hardware accelerated) with some comfort and use an IR remote control."
+AUTHOR = "Klaus Schmidinger"
+LICENSE = "GPLv2"
+HOMEPAGE = "http://www.tvdr.de"
+PR = "r0"
+
+DEPENDS = "fontconfig freetype gettext libcap jpeg"
+
+SRC_URI = "ftp://ftp.tvdr.de/vdr/Developer/${P}.tar.bz2 \
+           file://fixpaths.patch;patch=1 \
+           file://cplusplus.patch;patch=1 \
+           file://libintl.patch;patch=1 \
+           file://disable_plugin.patch;patch=1 \
+           file://linkerflags.patch;patch=1 \
+          "
+
+CFLAGS_append += " -I${STAGING_INCDIR}/freetype2"
+
+PLUGINDIR = "${libdir}/vdr/plugins"
+
+do_install () {
+      oe_runmake 'DESTDIR=${D}' \
+                 'PREFIX=${prefix}' \
+                 'CONFDIR=${sysconfdir}/vdr' \
+                 'VIDEODIR=/var/lib/vdr/video' \
+                 'PLUGINLIBDIR=${PLUGINDIR}' \
+                 'LOCDIR=${datadir}/locale' \
+                 install 
+}
+
+PACKAGES_DYNAMIC += "vdr-plugin-*"
+
+python populate_packages_prepend () {
+        plugindir = bb.data.expand('${PLUGINDIR}', d)
+        do_split_packages(d, plugindir, '^libvdr-(.*)\.so*', 'libvdr-%s', 'vdr plugin %s',  extra_depends='')
+}
+
+FILES_${PN} = "${bindir}/* /var/lib/vdr/conf/*"
+FILES_${PN}-dbg += "${PLUGINDIR}/.debug/*"
+