diff options
| author | Andrei Gherzan <andrei@gherzan.ro> | 2012-08-27 16:51:26 +0300 |
|---|---|---|
| committer | Andrei Gherzan <andrei@gherzan.ro> | 2012-08-29 00:05:21 +0300 |
| commit | 6647bb651f1f33f4ab761c4aa129928fe3ae5f87 (patch) | |
| tree | 5dd4d22f1e07db1564efc38e8125074250fbfc06 | |
| parent | cc199637a7f82f3b0fab9db563071b7c0790b62a (diff) | |
| download | meta-raspberrypi-6647bb651f1f33f4ab761c4aa129928fe3ae5f87.tar.gz | |
omxplayer: Integrate git revision 231c08b42005e3de565013bc1cee18bd5a349c1f
Add four patches:
1. don-t-strip-while-installing.patch
Don't strip binaries because buildsystem will strip them after all.
2. libraries-are-installed-in-usr-lib.patch
Libraries are installed in /usr/lib not in /usr/local/lib
3, remove-hardcoded-directory-omxplayer-dist.patch
We want files to be installed in ${D}. Add a variable in Makefile to
let users install omxplayer in a specific location.
4. remove-makefile-include.patch
Remove Makefile.include as it includes hardcoded paths. Rely on
variables provided by build system.
[GITHUB #34]
Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
5 files changed, 228 insertions, 0 deletions
diff --git a/recipes-multimedia/omxplayer/omxplayer/don-t-strip-while-installing.patch b/recipes-multimedia/omxplayer/omxplayer/don-t-strip-while-installing.patch new file mode 100644 index 0000000..4f12cc0 --- /dev/null +++ b/recipes-multimedia/omxplayer/omxplayer/don-t-strip-while-installing.patch | |||
| @@ -0,0 +1,28 @@ | |||
| 1 | Build system will strip binaries so remove strip step in Makefile. | ||
| 2 | Avoid warnings/errors like: | ||
| 3 | WARNING: File '/usr/lib/omxplayer/libavutil.so.51.56.100' from | ||
| 4 | omxplayer was already stripped, this will prevent future debugging! | ||
| 5 | |||
| 6 | Upstream-Status: Inappropriate [embedded specific] | ||
| 7 | Signed-off-by: Andrei Gherzan <andrei@gherzan.ro> | ||
| 8 | |||
| 9 | Index: git/Makefile.ffmpeg | ||
| 10 | =================================================================== | ||
| 11 | --- git.orig/Makefile.ffmpeg 2012-08-26 15:38:45.099379852 +0300 | ||
| 12 | +++ git/Makefile.ffmpeg 2012-08-26 15:46:51.913055176 +0300 | ||
| 13 | @@ -52,7 +52,8 @@ | ||
| 14 | --enable-hardcoded-tables \ | ||
| 15 | --disable-runtime-cpudetect \ | ||
| 16 | --disable-debug \ | ||
| 17 | - --cross-prefix=$(HOST)- | ||
| 18 | + --cross-prefix=$(HOST)- \ | ||
| 19 | + --disable-stripping | ||
| 20 | |||
| 21 | clean: | ||
| 22 | @rm -rf ffmpeg | ||
| 23 | @@ -63,5 +64,4 @@ | ||
| 24 | |||
| 25 | install: | ||
| 26 | cd ffmpeg; make -j9 DESTDIR="$(WORK)/ffmpeg_compiled" install | ||
| 27 | - $(HOST)-strip ffmpeg_compiled/usr/lib/*.so | ||
| 28 | |||
diff --git a/recipes-multimedia/omxplayer/omxplayer/libraries-are-installed-in-usr-lib.patch b/recipes-multimedia/omxplayer/omxplayer/libraries-are-installed-in-usr-lib.patch new file mode 100644 index 0000000..1126bfb --- /dev/null +++ b/recipes-multimedia/omxplayer/omxplayer/libraries-are-installed-in-usr-lib.patch | |||
| @@ -0,0 +1,37 @@ | |||
| 1 | Libraries and headers from ffmpeg are installed in usr/lib. | ||
| 2 | |||
| 3 | Upstream-Status: Pending | ||
| 4 | Signed-off-by: Andrei Gherzan <andrei@gherzan.ro> | ||
| 5 | |||
| 6 | Index: git/Makefile.ffmpeg | ||
| 7 | =================================================================== | ||
| 8 | --- git.orig/Makefile.ffmpeg 2012-08-26 02:46:40.380518313 +0300 | ||
| 9 | +++ git/Makefile.ffmpeg 2012-08-26 02:46:40.512511177 +0300 | ||
| 10 | @@ -63,5 +63,5 @@ | ||
| 11 | |||
| 12 | install: | ||
| 13 | cd ffmpeg; make -j9 DESTDIR="$(WORK)/ffmpeg_compiled" install | ||
| 14 | - $(HOST)-strip ffmpeg_compiled/usr/local/lib/*.so | ||
| 15 | + $(HOST)-strip ffmpeg_compiled/usr/lib/*.so | ||
| 16 | |||
| 17 | Index: git/Makefile | ||
| 18 | =================================================================== | ||
| 19 | --- git.orig/Makefile 2012-08-26 02:52:11.578611542 +0300 | ||
| 20 | +++ git/Makefile 2012-08-26 02:52:53.952320465 +0300 | ||
| 21 | @@ -1,7 +1,7 @@ | ||
| 22 | CFLAGS+=-std=c++0x -DSTANDALONE -D__STDC_CONSTANT_MACROS -D__STDC_LIMIT_MACROS -DTARGET_POSIX -D_LINUX -fPIC -DPIC -D_REENTRANT -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -DHAVE_CMAKE_CONFIG -D__VIDEOCORE4__ -U_FORTIFY_SOURCE -Wall -DHAVE_OMXLIB -DUSE_EXTERNAL_FFMPEG -DHAVE_LIBAVCODEC_AVCODEC_H -DHAVE_LIBAVUTIL_OPT_H -DHAVE_LIBAVUTIL_MEM_H -DHAVE_LIBAVUTIL_AVUTIL_H -DHAVE_LIBAVFORMAT_AVFORMAT_H -DHAVE_LIBAVFILTER_AVFILTER_H -DOMX -DOMX_SKIP64BIT -ftree-vectorize -DUSE_EXTERNAL_OMX -DTARGET_RASPBERRY_PI -DUSE_EXTERNAL_LIBBCM_HOST | ||
| 23 | |||
| 24 | -LDFLAGS+=-L./ -lc -lWFC -lGLESv2 -lEGL -lbcm_host -lopenmaxil -lfreetype -lz -Lffmpeg_compiled/usr/local/lib/ | ||
| 25 | -INCLUDES+=-I./ -Ilinux -Iffmpeg_compiled/usr/local/include/ | ||
| 26 | +LDFLAGS+=-L./ -lc -lWFC -lGLESv2 -lEGL -lbcm_host -lopenmaxil -lfreetype -lz -Lffmpeg_compiled/usr/lib/ | ||
| 27 | +INCLUDES+=-I./ -Ilinux -Iffmpeg_compiled/usr/include/ | ||
| 28 | |||
| 29 | SRC=linux/XMemUtils.cpp \ | ||
| 30 | utils/log.cpp \ | ||
| 31 | @@ -63,5 +63,5 @@ | ||
| 32 | cp omxplayer omxplayer.bin omxplayer-dist/usr/usr/bin | ||
| 33 | cp COPYING omxplayer-dist/usr/share/doc/ | ||
| 34 | cp README.md omxplayer-dist/usr/share/doc/README | ||
| 35 | - cp -a ffmpeg_compiled/usr/local/lib/*.so* omxplayer-dist/usr/lib/omxplayer/ | ||
| 36 | + cp -a ffmpeg_compiled/usr/lib/*.so* omxplayer-dist/usr/lib/omxplayer/ | ||
| 37 | tar -czf omxplayer-dist.tar.gz omxplayer-dist | ||
diff --git a/recipes-multimedia/omxplayer/omxplayer/remove-hardcoded-directory-omxplayer-dist.patch b/recipes-multimedia/omxplayer/omxplayer/remove-hardcoded-directory-omxplayer-dist.patch new file mode 100644 index 0000000..99fbbf8 --- /dev/null +++ b/recipes-multimedia/omxplayer/omxplayer/remove-hardcoded-directory-omxplayer-dist.patch | |||
| @@ -0,0 +1,32 @@ | |||
| 1 | Modify install rule to use /usr/bin path and not /usr/usr/bin for | ||
| 2 | installing omxplayer binary and script. | ||
| 3 | As well, add a variable to let the user specify where to install | ||
| 4 | the files. | ||
| 5 | |||
| 6 | Upstream-Status: Pending | ||
| 7 | Signed-off-by: Andrei Gherzan <andrei@gherzan.ro> | ||
| 8 | |||
| 9 | Index: git/Makefile | ||
| 10 | =================================================================== | ||
| 11 | --- git.orig/Makefile 2012-08-26 05:03:31.710678243 +0300 | ||
| 12 | +++ git/Makefile 2012-08-26 05:03:11.000000000 +0300 | ||
| 13 | @@ -59,11 +57,11 @@ | ||
| 14 | make -f Makefile.ffmpeg install | ||
| 15 | |||
| 16 | dist: omxplayer.bin | ||
| 17 | - mkdir -p omxplayer-dist/usr/lib/omxplayer | ||
| 18 | - mkdir -p omxplayer-dist/usr/usr/bin | ||
| 19 | - mkdir -p omxplayer-dist/usr/share/doc | ||
| 20 | - cp omxplayer omxplayer.bin omxplayer-dist/usr/usr/bin | ||
| 21 | - cp COPYING omxplayer-dist/usr/share/doc/ | ||
| 22 | - cp README.md omxplayer-dist/usr/share/doc/README | ||
| 23 | - cp -a ffmpeg_compiled/usr/lib/*.so* omxplayer-dist/usr/lib/omxplayer/ | ||
| 24 | - tar -czf omxplayer-dist.tar.gz omxplayer-dist | ||
| 25 | + mkdir -p $(DEST)/usr/lib/omxplayer | ||
| 26 | + mkdir -p $(DEST)/usr/bin | ||
| 27 | + mkdir -p $(DEST)/usr/share/doc | ||
| 28 | + cp omxplayer omxplayer.bin $(DEST)/usr/bin | ||
| 29 | + cp COPYING $(DEST)/usr/share/doc/ | ||
| 30 | + cp README.md $(DEST)/usr/share/doc/README | ||
| 31 | + cp -a ffmpeg_compiled/usr/lib/*.so* $(DEST)/usr/lib/omxplayer/ | ||
| 32 | + tar -czf omxplayer-dist.tar.gz $(DEST) | ||
diff --git a/recipes-multimedia/omxplayer/omxplayer/remove-makefile-include.patch b/recipes-multimedia/omxplayer/omxplayer/remove-makefile-include.patch new file mode 100644 index 0000000..b4f3cd6 --- /dev/null +++ b/recipes-multimedia/omxplayer/omxplayer/remove-makefile-include.patch | |||
| @@ -0,0 +1,69 @@ | |||
| 1 | Remove Makefile.include which includes hardcoded paths and rely on | ||
| 2 | variables provided by build system. | ||
| 3 | |||
| 4 | Upstream-Status: Inappropriate [embedded specific] | ||
| 5 | Signed-off-by: Andrei Gherzan <andrei@gherzan.ro> | ||
| 6 | |||
| 7 | Index: git/Makefile.ffmpeg | ||
| 8 | =================================================================== | ||
| 9 | --- git.orig/Makefile.ffmpeg 2012-08-26 01:04:27.208235775 +0300 | ||
| 10 | +++ git/Makefile.ffmpeg 2012-08-26 01:05:03.958245731 +0300 | ||
| 11 | @@ -1,5 +1,3 @@ | ||
| 12 | -include Makefile.include | ||
| 13 | - | ||
| 14 | CFLAGS=-D__STDC_CONSTANT_MACROS -D__STDC_LIMIT_MACROS -DTARGET_POSIX -D_LINUX -fPIC -DPIC -D_REENTRANT -D_HAVE_SBRK -D_LARGEFILE64_SOURCE -DHAVE_CMAKE_CONFIG -DHAVE_VMCS_CONFIG -D_REENTRANT -DUSE_VCHIQ_ARM -DVCHI_BULK_ALIGN=1 -DVCHI_BULK_GRANULARITY=1 -DEGL_SERVER_DISPMANX -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D__VIDEOCORE4__ -DGRAPHICS_X_VG=1 -U_FORTIFY_SOURCE -Wall -DHAVE_OMXLIB -DUSE_EXTERNAL_FFMPEG -DHAVE_LIBAVCODEC_AVCODEC_H -DHAVE_LIBAVUTIL_MEM_H -DHAVE_LIBAVUTIL_AVUTIL_H -DHAVE_LIBAVFORMAT_AVFORMAT_H -DHAVE_LIBAVFILTER_AVFILTER_H -DOMX -DOMX_SKIP64BIT | ||
| 15 | |||
| 16 | WORK=$(PWD) | ||
| 17 | Index: git/Makefile | ||
| 18 | =================================================================== | ||
| 19 | --- git.orig/Makefile 2012-08-25 21:46:44.771745783 +0300 | ||
| 20 | +++ git/Makefile 2012-08-25 21:48:59.220406089 +0300 | ||
| 21 | @@ -1,5 +1,3 @@ | ||
| 22 | -include Makefile.include | ||
| 23 | - | ||
| 24 | CFLAGS+=-std=c++0x -DSTANDALONE -D__STDC_CONSTANT_MACROS -D__STDC_LIMIT_MACROS -DTARGET_POSIX -D_LINUX -fPIC -DPIC -D_REENTRANT -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -DHAVE_CMAKE_CONFIG -D__VIDEOCORE4__ -U_FORTIFY_SOURCE -Wall -DHAVE_OMXLIB -DUSE_EXTERNAL_FFMPEG -DHAVE_LIBAVCODEC_AVCODEC_H -DHAVE_LIBAVUTIL_OPT_H -DHAVE_LIBAVUTIL_MEM_H -DHAVE_LIBAVUTIL_AVUTIL_H -DHAVE_LIBAVFORMAT_AVFORMAT_H -DHAVE_LIBAVFILTER_AVFILTER_H -DOMX -DOMX_SKIP64BIT -ftree-vectorize -DUSE_EXTERNAL_OMX -DTARGET_RASPBERRY_PI -DUSE_EXTERNAL_LIBBCM_HOST | ||
| 25 | |||
| 26 | LDFLAGS+=-L./ -lc -lWFC -lGLESv2 -lEGL -lbcm_host -lopenmaxil -lfreetype -lz -Lffmpeg_compiled/usr/local/lib/ | ||
| 27 | Index: git/Makefile.include | ||
| 28 | =================================================================== | ||
| 29 | --- git.orig/Makefile.include 2012-08-25 21:46:44.771745783 +0300 | ||
| 30 | +++ /dev/null 1970-01-01 00:00:00.000000000 +0000 | ||
| 31 | @@ -1,38 +0,0 @@ | ||
| 32 | -USE_BUILDROOT=1 | ||
| 33 | -FLOAT=hard | ||
| 34 | - | ||
| 35 | -ifeq ($(USE_BUILDROOT), 1) | ||
| 36 | -BUILDROOT :=/opt/xbmc-bcm/buildroot | ||
| 37 | -SDKSTAGE :=$(BUILDROOT)/output/staging | ||
| 38 | -TARGETFS :=$(BUILDROOT)/output/target | ||
| 39 | -TOOLCHAIN :=$(BUILDROOT)/output/host/usr/ | ||
| 40 | -HOST :=arm-unknown-linux-gnueabi | ||
| 41 | -SYSROOT :=$(BUILDROOT)/output/host/usr/arm-unknown-linux-gnueabi/sysroot | ||
| 42 | -else | ||
| 43 | -BUILDROOT :=/opt/bcm-rootfs | ||
| 44 | -SDKSTAGE :=/opt/bcm-rootfs | ||
| 45 | -TARGETFS :=/opt/bcm-rootfs | ||
| 46 | -TOOLCHAIN :=/usr/local/bcm-gcc | ||
| 47 | -HOST :=bcm2708 | ||
| 48 | -SYSROOT :=$(TOOLCHAIN)/arm-bcm2708-linux-gnueabi/sys-root | ||
| 49 | -endif | ||
| 50 | - | ||
| 51 | -JOBS=7 | ||
| 52 | - | ||
| 53 | -CFLAGS := -isystem$(PREFIX)/include | ||
| 54 | -CXXFLAGS := $(CFLAGS) | ||
| 55 | -CPPFLAGS := $(CFLAGS) | ||
| 56 | -LDFLAGS := -L$(BUILDROOT)/lib | ||
| 57 | -LD := $(TOOLCHAIN)/bin/$(HOST)-ld --sysroot=$(SYSROOT) | ||
| 58 | -CC := $(TOOLCHAIN)/bin/$(HOST)-gcc --sysroot=$(SYSROOT) | ||
| 59 | -CXX := $(TOOLCHAIN)/bin/$(HOST)-g++ --sysroot=$(SYSROOT) | ||
| 60 | -OBJDUMP := $(TOOLCHAIN)/bin/$(HOST)-objdump | ||
| 61 | -RANLIB := $(TOOLCHAIN)/bin/$(HOST)-ranlib | ||
| 62 | -STRIP := $(TOOLCHAIN)/bin/$(HOST)-strip | ||
| 63 | -AR := $(TOOLCHAIN)/bin/$(HOST)-ar | ||
| 64 | -CXXCP := $(CXX) -E | ||
| 65 | -PATH := $(PREFIX)/bin:$(BUILDROOT)/output/host/usr/bin:$(PATH) | ||
| 66 | - | ||
| 67 | -CFLAGS += -pipe -mfloat-abi=$(FLOAT) -mcpu=arm1176jzf-s -fomit-frame-pointer -mabi=aapcs-linux -mtune=arm1176jzf-s -mfpu=vfp -Wno-psabi -mno-apcs-stack-check -O3 -mstructure-size-boundary=32 -mno-sched-prolog | ||
| 68 | -LDFLAGS += -L$(SDKSTAGE)/lib -L$(SDKSTAGE)/usr/lib -L$(SDKSTAGE)/opt/vc/lib/ | ||
| 69 | -INCLUDES += -isystem$(SDKSTAGE)/usr/include -isystem$(SDKSTAGE)/opt/vc/include -isystem$(SYSROOT)/usr/include -isystem$(SDKSTAGE)/opt/vc/include/interface/vcos/pthreads -isystem$(SDKSTAGE)/usr/include/freetype2 | ||
diff --git a/recipes-multimedia/omxplayer/omxplayer_git.bb b/recipes-multimedia/omxplayer/omxplayer_git.bb new file mode 100644 index 0000000..b637ba6 --- /dev/null +++ b/recipes-multimedia/omxplayer/omxplayer_git.bb | |||
| @@ -0,0 +1,62 @@ | |||
| 1 | DESCRIPTION = "OMXPlayer is a commandline OMX player for the Raspberry Pi" | ||
| 2 | HOMEPAGE = "https://github.com/huceke/omxplayer" | ||
| 3 | SECTION = "console/utils" | ||
| 4 | LICENSE = "GPLv2" | ||
| 5 | |||
| 6 | LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f" | ||
| 7 | |||
| 8 | DEPENDS = "libpcre libav virtual/egl boost freetype" | ||
| 9 | |||
| 10 | PR = "r0" | ||
| 11 | |||
| 12 | SRCREV = "231c08b42005e3de565013bc1cee18bd5a349c1f" | ||
| 13 | SRC_URI = "git://github.com/huceke/omxplayer.git;protocol=git;branch=master \ | ||
| 14 | file://remove-makefile-include.patch \ | ||
| 15 | file://libraries-are-installed-in-usr-lib.patch \ | ||
| 16 | file://remove-hardcoded-directory-omxplayer-dist.patch \ | ||
| 17 | file://don-t-strip-while-installing.patch \ | ||
| 18 | " | ||
| 19 | S = "${WORKDIR}/git" | ||
| 20 | |||
| 21 | COMPATIBLE_MACHINE = "raspberrypi" | ||
| 22 | |||
| 23 | inherit autotools | ||
| 24 | |||
| 25 | # Variable added in Makefile to INCLUDE | ||
| 26 | export ADD_INCDIR = "-I${STAGING_INCDIR}/interface/vcos/pthreads -I${STAGING_INCDIR}/freetype2" | ||
| 27 | |||
| 28 | # Needed in configure from Makefile.ffmpeg | ||
| 29 | export HOST = "${HOST_SYS}" | ||
| 30 | export WORK = "${S}" | ||
| 31 | export TEMPDIR = "${S}/tmp" | ||
| 32 | export FLOAT = "softfp" | ||
| 33 | |||
| 34 | export LDFLAGS = "-L${S}/ffmpeg_compiled/usr/lib \ | ||
| 35 | -L${STAGING_DIR_HOST}/lib \ | ||
| 36 | -L${STAGING_DIR_HOST}/usr/lib \ | ||
| 37 | " | ||
| 38 | |||
| 39 | export INCLUDES = "-isystem${STAGING_DIR_HOST}/usr/include \ | ||
| 40 | -isystem${STAGING_DIR_HOST}/usr/include/interface/vcos/pthreads \ | ||
| 41 | -isystem${STAGING_DIR_HOST}/usr/include/freetype2 \ | ||
| 42 | " | ||
| 43 | |||
| 44 | # Install in ${D} | ||
| 45 | export DEST = "${D}" | ||
| 46 | |||
| 47 | do_compile() { | ||
| 48 | # Needed for compiler test in ffmpeg's configure | ||
| 49 | mkdir -p tmp | ||
| 50 | |||
| 51 | oe_runmake ffmpeg | ||
| 52 | oe_runmake | ||
| 53 | } | ||
| 54 | |||
| 55 | do_install() { | ||
| 56 | oe_runmake dist | ||
| 57 | } | ||
| 58 | |||
| 59 | FILES_${PN} = "${bindir}/omxplayer* \ | ||
| 60 | ${libdir}/omxplayer/lib*${SOLIBS}" | ||
| 61 | |||
| 62 | FILES_${PN}-dev += "${libdir}/omxplayer/*.so" | ||
