From 25a3b53765e9c8b3a894c4b6384ff6b207f40b66 Mon Sep 17 00:00:00 2001 From: Juan RP Date: Mon, 29 Sep 2014 14:13:08 +0200 Subject: [PATCH] omxplayer: make this build with ffmpeg-2.4 and simplify build (based on alarm). --- srcpkgs/omxplayer/files/Makefile | 66 ------------- srcpkgs/omxplayer/files/Makefile.include | 29 ------ srcpkgs/omxplayer/patches/build.patch | 105 +++++++++++++++++++++ srcpkgs/omxplayer/patches/ffmpeg-2.4.patch | 11 +++ srcpkgs/omxplayer/template | 3 +- 5 files changed, 117 insertions(+), 97 deletions(-) delete mode 100644 srcpkgs/omxplayer/files/Makefile delete mode 100644 srcpkgs/omxplayer/files/Makefile.include create mode 100644 srcpkgs/omxplayer/patches/build.patch create mode 100644 srcpkgs/omxplayer/patches/ffmpeg-2.4.patch diff --git a/srcpkgs/omxplayer/files/Makefile b/srcpkgs/omxplayer/files/Makefile deleted file mode 100644 index 6d5469f56e..0000000000 --- a/srcpkgs/omxplayer/files/Makefile +++ /dev/null @@ -1,66 +0,0 @@ -include Makefile.include - -CFLAGS+= -std=c++0x -D__STDC_CONSTANT_MACROS -D__STDC_LIMIT_MACROS -DTARGET_POSIX -DTARGET_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 -DHAVE_LIBSWRESAMPLE_SWRESAMPLE_H -DOMX -DOMX_SKIP64BIT -ftree-vectorize -DUSE_EXTERNAL_OMX -DTARGET_RASPBERRY_PI -DUSE_EXTERNAL_LIBBCM_HOST - -LDFLAGS+=-L./ -ldbus-1 -lWFC -lGLESv2 -lEGL -lbcm_host -lopenmaxil -lfreetype -lz -INCLUDES+=-I./ -Ilinux - -SRC=linux/XMemUtils.cpp \ - utils/log.cpp \ - DynamicDll.cpp \ - utils/PCMRemap.cpp \ - utils/RegExp.cpp \ - OMXSubtitleTagSami.cpp \ - OMXOverlayCodecText.cpp \ - BitstreamConverter.cpp \ - linux/RBP.cpp \ - OMXThread.cpp \ - OMXReader.cpp \ - OMXStreamInfo.cpp \ - OMXAudioCodecOMX.cpp \ - OMXCore.cpp \ - OMXVideo.cpp \ - OMXAudio.cpp \ - OMXClock.cpp \ - File.cpp \ - OMXPlayerVideo.cpp \ - OMXPlayerAudio.cpp \ - OMXPlayerSubtitles.cpp \ - SubtitleRenderer.cpp \ - Unicode.cpp \ - Srt.cpp \ - KeyConfig.cpp \ - OMXControl.cpp \ - Keyboard.cpp \ - omxplayer.cpp \ - -OBJS+=$(filter %.o,$(SRC:.cpp=.o)) - -all: omxplayer.bin - -%.o: %.cpp - @rm -f $@ - $(CXX) $(CFLAGS) $(INCLUDES) -c $< -o $@ -Wno-deprecated-declarations - -list_test: - $(CXX) -O3 -o list_test list_test.cpp - -version: - bash gen_version.sh > version.h - -omxplayer.bin: version $(OBJS) - $(CXX) $(LDFLAGS) -o omxplayer.bin $(OBJS) -lvchiq_arm -lvcos -lrt -lpthread -lavutil -lavcodec -lavformat -lswscale -lswresample -lpcre - -clean: - for i in $(OBJS); do (if test -e "$$i"; then ( rm $$i ); fi ); done - @rm -f omxplayer.old.log omxplayer.log - @rm -f omxplayer.bin - @rm -rf omxplayer-dist - @rm -f omxplayer-dist.tar.gz - -install: - install -d $(DESTDIR)/usr/bin - install -Dm755 omxplayer $(DESTDIR)/usr/bin/omxplayer - install -Dm755 omxplayer.bin $(DESTDIR)/usr/bin - - diff --git a/srcpkgs/omxplayer/files/Makefile.include b/srcpkgs/omxplayer/files/Makefile.include deleted file mode 100644 index 72d1d4d550..0000000000 --- a/srcpkgs/omxplayer/files/Makefile.include +++ /dev/null @@ -1,29 +0,0 @@ -USE_BUILDROOT=0 - -JOBS=1 - -CFLAGS := -CXXFLAGS := $(CFLAGS) -CPPFLAGS := $(CFLAGS) -LDFLAGS := -LD := ld -CC := gcc -CXX := g++ -OBJDUMP := objdump -RANLIB := ranlib -STRIP := strip -AR := ar -CXXCP := $(CXX) -E - -CFLAGS += -pipe -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 - -LDFLAGS += -L@CROSSBASE@/opt/vc/lib/ -Wl,-rpath /opt/vc/lib -L@CROSSBASE@/usr/lib - -INCLUDES += -I@CROSSBASE@/opt/vc/include -I@CROSSBASE@/opt/vc/include/interface/vcos/ \ - -I@CROSSBASE@/opt/vc/include/interface/vcos/pthreads \ - -I@CROSSBASE@/opt/vc/include/interface/vmcs_host/linux \ - -I@CROSSBASE@/usr/include -I@CROSSBASE@/usr/include/dbus-1.0 \ - -I@CROSSBASE@/usr/lib/dbus-1.0/include -I@CROSSBASE@/usr/include/freetype2 - diff --git a/srcpkgs/omxplayer/patches/build.patch b/srcpkgs/omxplayer/patches/build.patch new file mode 100644 index 0000000000..58a5b06b73 --- /dev/null +++ b/srcpkgs/omxplayer/patches/build.patch @@ -0,0 +1,105 @@ +--- Makefile ++++ Makefile +@@ -2,9 +2,9 @@ include Makefile.include + + CFLAGS+=-std=c++0x -D__STDC_CONSTANT_MACROS -D__STDC_LIMIT_MACROS -DTARGET_POSIX -DTARGET_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 -DHAVE_LIBSWRESAMPLE_SWRESAMPLE_H -DOMX -DOMX_SKIP64BIT -ftree-vectorize -DUSE_EXTERNAL_OMX -DTARGET_RASPBERRY_PI -DUSE_EXTERNAL_LIBBCM_HOST + +-LDFLAGS+=-L./ -Lffmpeg_compiled/usr/local/lib/ -lc -lWFC -lGLESv2 -lEGL -lbcm_host -lopenmaxil -lfreetype -lz ++LDFLAGS+=-L./ -lc -lWFC -lGLESv2 -lEGL -lbcm_host -lopenmaxil -lfreetype -lz + +-INCLUDES+=-I./ -Ilinux -Iffmpeg_compiled/usr/local/include/ -I /usr/include/dbus-1.0 -I /usr/lib/arm-linux-gnueabihf/dbus-1.0/include ++INCLUDES+=-I./ -Ilinux + + DIST ?= omxplayer-dist + +@@ -39,7 +39,7 @@ SRC=linux/XMemUtils.cpp \ + + OBJS+=$(filter %.o,$(SRC:.cpp=.o)) + +-all: dist ++all: omxplayer.bin + + %.o: %.cpp + @rm -f $@ +@@ -51,7 +51,7 @@ version: + bash gen_version.sh > version.h + + omxplayer.bin: version $(OBJS) +- $(CXX) $(LDFLAGS) -o omxplayer.bin $(OBJS) -lvchiq_arm -lvcos -ldbus-1 -lrt -lpthread -lavutil -lavcodec -lavformat -lswscale -lswresample -lpcre ++ $(CXX) -o omxplayer.bin $(OBJS) $(LDFLAGS) -lvchiq_arm -lvcos -ldbus-1 -lrt -lpthread -lavutil -lavcodec -lavformat -lswscale -lswresample -lpcre + $(STRIP) omxplayer.bin + + help.h: README.md Makefile +@@ -74,19 +74,9 @@ clean: + @rm -rf $(DIST) + @rm -f omxplayer-dist.tar.gz + +-ffmpeg: +- @rm -rf ffmpeg +- make -f Makefile.ffmpeg +- make -f Makefile.ffmpeg install +- +-dist: omxplayer.bin omxplayer.1 +- mkdir -p $(DIST)/usr/lib/omxplayer +- mkdir -p $(DIST)/usr/bin +- mkdir -p $(DIST)/usr/share/doc/omxplayer +- mkdir -p $(DIST)/usr/share/man/man1 +- cp omxplayer omxplayer.bin $(DIST)/usr/bin +- cp COPYING $(DIST)/usr/share/doc/omxplayer +- cp README.md $(DIST)/usr/share/doc/omxplayer/README +- cp omxplayer.1 $(DIST)/usr/share/man/man1 +- cp -a ffmpeg_compiled/usr/local/lib/*.so* $(DIST)/usr/lib/omxplayer/ +- cd $(DIST); tar -czf ../$(DIST).tgz * ++install: ++ install -d $(DESTDIR)/usr/bin ++ install -d $(DESTDIR)/usr/share/doc/omxplayer ++ install omxplayer $(DESTDIR)/usr/bin/ ++ install omxplayer.bin $(DESTDIR)/usr/bin/ ++ install README.md $(DESTDIR)/usr/share/doc/omxplayer/ +--- Makefile.include ++++ Makefile.include +@@ -1,40 +1,4 @@ +-USE_BUILDROOT=0 +-FLOAT=hard +- +-ifeq ($(USE_BUILDROOT), 1) +-BUILDROOT :=/opt/xbmc-bcm/buildroot +-SDKSTAGE :=$(BUILDROOT)/output/staging +-TARGETFS :=$(BUILDROOT)/output/target +-TOOLCHAIN :=$(BUILDROOT)/output/host/usr/ +-HOST :=arm-unknown-linux-gnueabi +-SYSROOT :=$(BUILDROOT)/output/host/usr/arm-unknown-linux-gnueabi/sysroot +-else +-BUILDROOT :=/opt/bcm-rootfs +-SDKSTAGE :=/opt/bcm-rootfs +-TARGETFS :=/opt/bcm-rootfs +-TOOLCHAIN :=/home/dc4/tools/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian/ +-HOST :=arm-linux-gnueabihf +-#SYSROOT :=$(TOOLCHAIN)/arm-bcm2708hardfp-linux-gnueabi/sysroot +-SYSROOT :=/opt/bcm-rootfs +-endif +- +-JOBS=7 +- +-CFLAGS := -isystem$(PREFIX)/include +-CXXFLAGS := $(CFLAGS) +-CPPFLAGS := $(CFLAGS) +-LDFLAGS := -L$(BUILDROOT)/lib +-LD := $(TOOLCHAIN)/bin/$(HOST)-ld --sysroot=$(SYSROOT) +-CC := $(TOOLCHAIN)/bin/$(HOST)-gcc --sysroot=$(SYSROOT) +-CXX := $(TOOLCHAIN)/bin/$(HOST)-g++ --sysroot=$(SYSROOT) +-OBJDUMP := $(TOOLCHAIN)/bin/$(HOST)-objdump +-RANLIB := $(TOOLCHAIN)/bin/$(HOST)-ranlib +-STRIP := $(TOOLCHAIN)/bin/$(HOST)-strip +-AR := $(TOOLCHAIN)/bin/$(HOST)-ar +-CXXCP := $(CXX) -E +-PATH := $(PREFIX)/bin:$(BUILDROOT)/output/host/usr/bin:$(PATH) +- +-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 -g -mstructure-size-boundary=32 -mno-sched-prolog +-LDFLAGS += -L$(SDKSTAGE)/lib -L$(SDKSTAGE)/usr/lib -L$(SDKSTAGE)/opt/vc/lib/ -Lpcre/build +-#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 +-INCLUDES += -isystem$(SDKSTAGE)/opt/vc/include -isystem$(SYSROOT)/usr/include -isystem$(SDKSTAGE)/opt/vc/include/interface/vcos/pthreads -Ipcre/build -Iboost-trunk -Ifreetype2/include ++#STRIP := strip ++CFLAGS += -fomit-frame-pointer -mabi=aapcs-linux -mtune=arm1176jzf-s -Wno-psabi -mno-apcs-stack-check -g -mstructure-size-boundary=32 -mno-sched-prolog ++LDFLAGS += -L$(XBPS_CROSS_BASE)/opt/vc/lib/ ++INCLUDES += -I$(XBPS_CROSS_BASE)/opt/vc/include -I$(XBPS_CROSS_BASE)/opt/vc/include/interface/vmcs_host/linux -I$(XBPS_CROSS_BASE)/opt/vc/include/interface/vcos/pthreads -I$(XBPS_CROSS_BASE)/usr/include/freetype2 -I$(XBPS_CROSS_BASE)/usr/include/dbus-1.0 -I$(XBPS_CROSS_BASE)/usr/lib/dbus-1.0/include diff --git a/srcpkgs/omxplayer/patches/ffmpeg-2.4.patch b/srcpkgs/omxplayer/patches/ffmpeg-2.4.patch new file mode 100644 index 0000000000..5f554cea6d --- /dev/null +++ b/srcpkgs/omxplayer/patches/ffmpeg-2.4.patch @@ -0,0 +1,11 @@ +--- DllAvFilter.h ++++ DllAvFilter.h +@@ -124,7 +124,7 @@ public: + } + virtual int avfilter_graph_parse(AVFilterGraph *graph, const char *filters, AVFilterInOut **inputs, AVFilterInOut **outputs, void *log_ctx) + { +- return ::avfilter_graph_parse(graph, filters, inputs, outputs, log_ctx); ++ return ::avfilter_graph_parse(graph, filters, *inputs, *outputs, log_ctx); + } + virtual int avfilter_graph_config(AVFilterGraph *graphctx, void *log_ctx) + { diff --git a/srcpkgs/omxplayer/template b/srcpkgs/omxplayer/template index f366bd7cf5..57550ec251 100644 --- a/srcpkgs/omxplayer/template +++ b/srcpkgs/omxplayer/template @@ -12,6 +12,7 @@ homepage="https://github.com/popcornmix/omxplayer" # XXX only rpi only_for_archs="armv6l" build_style=gnu-makefile +make_build_args="XBPS_CROSS_BASE=$XBPS_CROSS_BASE" hostmakedepends="pkg-config git" makedepends="rpi-firmware>=20130913 pcre-devel boost-devel freetype-devel ffmpeg-devel>=2.4 dbus-devel" depends="rpi-firmware>=20130913 freefont-ttf" @@ -24,8 +25,6 @@ do_fetch() { } pre_build() { - cp -f ${FILESDIR}/* . sed -e 's,/usr/share/fonts/truetype/freefont,/usr/share/fonts/TTF,g' -i omxplayer.cpp mkdir -p /opt/vc/lib - sed -e "s|@CROSSBASE@|${XBPS_CROSS_BASE}|g" -i Makefile.include }