[oe] package VDR for OE

Paul Menzel paulepanter at users.sourceforge.net
Sun Dec 13 13:46:20 UTC 2009


Am Samstag, den 12.12.2009, 18:33 +0100 schrieb Henning Heinold:
> On Sat, Dec 12, 2009 at 12:48:40PM +0100, Paul Menzel wrote:
> > I am trying to write a recipe for The Video Disc Recorder (VDR) [1] and
> > get it into OE.
> > 
> > Unfortunately I have never done this and I also do not know much about
> > things related to compiling.
> > 
> > I tried to follow [2] and [3] and came up with the following which is
> > not much as you can see and in addition does not work yet.
> > 
> > The problem I am facing is, that in the Makefile of VDR [4] there is
> > 
> >         […]
> >         LIBS     = -ljpeg -lpthread -ldl -lcap -lrt -lfreetype
> >         -lfontconfig
> >         INCLUDES = -I/usr/include/freetype
> >         […]
> > 
> > so that the path `/usr/include/freetype/` is passed to the make command
> > which of course fails trying to cross compile the program.
> > 
> >         CROSS COMPILE Badness: /usr/include in INCLUDEPATH: /usr/include/freetype2
> >         cc1plus: internal compiler error: in add_path, at c-incpath.c:425
> > 
> > Now, if I understand it correctly by looking at other recipes there is
> > EXTRA_OEMAKE = "" where I should be able to set the INCLUDEPATH to the
> > OE build environment. Is that correct.
> > 
> > Could you please also tell me what the recipe variable name is for libs?
>
> What buildsystem is vdr using autotools or handmade Makefiles?

VDR uses a handmade Makefile.

[…]

> for handmade Makefiles
> 
> make a Patch which patches the Makefile and sets the include path to
> our staginginclude-Path

Thank you! I tried this

        +-INCLUDES = -I/usr/include/freetype2
        ++INCLUDES = -I${STAGING_INCDIR}/freetype2

but the `${STAGING_INCDIR}` was not expanded. The result is the
following.

        INCLUDES = -I${STAGING_INCDIR}freetype2

Using an absolute path worked.

Could you please point out my mistake?

Furthermore is there a better way for upstream to set things up so that
no patching is needed? Or is autotools needed for this?

What else do I need to do to get VDR accepted into OE?


Thanks,

Paul

--

The upstream Makefile needs to be patched to use the headers from the staging area.

Signed-off-by: Paul Menzel <paulepanter at users.sourceforge.net>
---
 conf/checksums.ini               |    4 ++++
 recipes/vdr/files/fixpaths.patch |   11 +++++++++++
 recipes/vdr/vdr_1.7.10.bb        |    9 +++++++++
 3 files changed, 24 insertions(+), 0 deletions(-)
 create mode 100644 recipes/vdr/files/fixpaths.patch
 create mode 100644 recipes/vdr/vdr_1.7.10.bb

diff --git a/conf/checksums.ini b/conf/checksums.ini
index 3bf9854..e717f1b 100644
--- a/conf/checksums.ini
+++ b/conf/checksums.ini
@@ -27046,6 +27046,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/fixpaths.patch b/recipes/vdr/files/fixpaths.patch
new file mode 100644
index 0000000..f41bd26
--- /dev/null
+++ b/recipes/vdr/files/fixpaths.patch
@@ -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 = -I/srv/oe/angstrom-dev/staging/armv7a-angstrom-linux-gnueabi/usr/include/freetype2
+ 
+ PLUGINDIR= ./PLUGINS
+ PLUGINLIBDIR= $(PLUGINDIR)/lib
diff --git a/recipes/vdr/vdr_1.7.10.bb b/recipes/vdr/vdr_1.7.10.bb
new file mode 100644
index 0000000..662c883
--- /dev/null
+++ b/recipes/vdr/vdr_1.7.10.bb
@@ -0,0 +1,9 @@
+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"
+
+DEPENDS = "fontconfig freetype gettext libcap jpeg"
+
+SRC_URI = "ftp://ftp.tvdr.de/vdr/Developer/${P}.tar.bz2 \
+           file://fixpaths.patch;patch=1"
-- 
1.6.5.4
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0001-Package-VDR.patch
Type: text/x-patch
Size: 2779 bytes
Desc: not available
URL: <http://lists.openembedded.org/pipermail/openembedded-devel/attachments/20091213/4e3f7a1e/attachment-0002.bin>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 198 bytes
Desc: Dies ist ein digital signierter Nachrichtenteil
URL: <http://lists.openembedded.org/pipermail/openembedded-devel/attachments/20091213/4e3f7a1e/attachment-0002.sig>


More information about the Openembedded-devel mailing list