summaryrefslogtreecommitdiffstats
path: root/meta-openembedded/meta-multimedia/recipes-mkv
diff options
context:
space:
mode:
Diffstat (limited to 'meta-openembedded/meta-multimedia/recipes-mkv')
-rw-r--r--meta-openembedded/meta-multimedia/recipes-mkv/libebml/libebml/ldflags.patch57
-rw-r--r--meta-openembedded/meta-multimedia/recipes-mkv/libebml/libebml/override-uname.patch42
-rw-r--r--meta-openembedded/meta-multimedia/recipes-mkv/libebml/libebml_1.3.0.bb59
-rw-r--r--meta-openembedded/meta-multimedia/recipes-mkv/libmatroska/libmatroska/0001-Makefile-Use-LINKFLAGS-during-link-step.patch28
-rw-r--r--meta-openembedded/meta-multimedia/recipes-mkv/libmatroska/libmatroska_1.4.1.bb37
5 files changed, 223 insertions, 0 deletions
diff --git a/meta-openembedded/meta-multimedia/recipes-mkv/libebml/libebml/ldflags.patch b/meta-openembedded/meta-multimedia/recipes-mkv/libebml/libebml/ldflags.patch
new file mode 100644
index 000000000..a01c7544b
--- /dev/null
+++ b/meta-openembedded/meta-multimedia/recipes-mkv/libebml/libebml/ldflags.patch
@@ -0,0 +1,57 @@
+Use LD and obey LDFLAGS
+
+Signed-off-by: Christopher Larson <chris_larson@mentor.com>
+Upstream-Status: Pending
+
+diff --git a/make/linux/Makefile b/make/linux/Makefile
+index 391b6e3..a2ac13e 100644
+--- a/make/linux/Makefile
++++ b/make/linux/Makefile
+@@ -64,6 +64,7 @@ objects_so:=$(patsubst %$(EXTENSION),%.lo,$(sources))
+ WARNINGFLAGS=-Wall -Wextra -Wno-unknown-pragmas -ansi -fno-gnu-keywords -Wshadow
+ COMPILEFLAGS=$(WARNINGFLAGS) $(CXXFLAGS) $(CPPFLAGS) $(DEBUGFLAGS) $(INCLUDE)
+ DEPENDFLAGS = $(CXXFLAGS) $(INCLUDE)
++LINKFLAGS=$(LDFLAGS)
+
+ ifeq (Darwin,$(shell uname -s))
+ all: staticlib
+@@ -91,7 +92,7 @@ $(LIBRARY): $(objects)
+ $(RANLIB) $@
+
+ $(LIBRARY_SO): $(objects_so)
+- $(CXX) -shared -Wl,-soname,$(LIBRARY_SO_VER) -o $(LIBRARY_SO_VER) $(objects_so)
++ $(LD) $(LINKFLAGS) -shared -Wl,-soname,$(LIBRARY_SO_VER) -o $(LIBRARY_SO_VER) $(objects_so)
+ rm -f $(LIBRARY_SO)
+ ln -s $(LIBRARY_SO_VER) $(LIBRARY_SO)
+
+diff --git a/make/mingw32/Makefile b/make/mingw32/Makefile
+index e5986ef..6ca16aa 100644
+--- a/make/mingw32/Makefile
++++ b/make/mingw32/Makefile
+@@ -18,6 +18,7 @@ DEBUGFLAGS=-g -DDEBUG
+ endif
+ CROSS =
+ CXX = $(CROSS)g++
++LD = $(CXX)
+ CC = $(CROSS)gcc
+ WINDRES = $(CROSS)windres
+ RANLIB = $(CROSS)ranlib
+@@ -33,6 +34,7 @@ LIBS = libebml.a
+ endif
+ INCS = -I"$(shell pwd)/../.."
+ COMPILEFLAGS = $(DEBUGFLAGS) $(INCS) $(DLLFLAGS) $(CXXFLAGS)
++LINKFLAGS = $(LDFLAGS)
+
+ .PHONY: all all-before all-after clean clean-custom
+
+@@ -54,7 +56,7 @@ libebml.a: $(OBJ)
+ $(RANLIB) $@
+
+ libebml.dll: $(OBJ)
+- $(CXX) -shared -Wl,--export-all -Wl,--out-implib=$@.a -o $@ $(OBJ)
++ $(LD) $(LINKFLAGS) -shared -Wl,--export-all -Wl,--out-implib=$@.a -o $@ $(OBJ)
+
+ depend:
+ @echo Calculating dependecies:
+--
+2.8.0
diff --git a/meta-openembedded/meta-multimedia/recipes-mkv/libebml/libebml/override-uname.patch b/meta-openembedded/meta-multimedia/recipes-mkv/libebml/libebml/override-uname.patch
new file mode 100644
index 000000000..57eb3450d
--- /dev/null
+++ b/meta-openembedded/meta-multimedia/recipes-mkv/libebml/libebml/override-uname.patch
@@ -0,0 +1,42 @@
+Allow override of the 'uname -s' for cross-compilation
+
+Signed-off-by: Christopher Larson <chris_larson@mentor.com>
+Upstream-Status: Pending
+
+diff --git a/make/linux/Makefile b/make/linux/Makefile
+index a2ac13e..4188bee 100644
+--- a/make/linux/Makefile
++++ b/make/linux/Makefile
+@@ -9,9 +9,11 @@
+ # 'make DEBUG=yes'.
+ #
+
++TARGET_OS ?= $(shell uname -s)
++
+ # Paths
+ # BeOS wants the libs and headers in /boot/home/config
+-ifeq (BeOS,$(shell uname -s))
++ifeq (BeOS,$(TARGET_OS))
+ prefix=/boot/home/config
+ else
+ prefix=/usr/local
+@@ -66,7 +68,7 @@ COMPILEFLAGS=$(WARNINGFLAGS) $(CXXFLAGS) $(CPPFLAGS) $(DEBUGFLAGS) $(INCLUDE)
+ DEPENDFLAGS = $(CXXFLAGS) $(INCLUDE)
+ LINKFLAGS=$(LDFLAGS)
+
+-ifeq (Darwin,$(shell uname -s))
++ifeq (Darwin,$(TARGET_OS))
+ all: staticlib
+ else
+ all: staticlib sharedlib
+@@ -116,7 +118,7 @@ depend:
+ $(CXX) $(DEPENDFLAGS) -MM -MT $$o $$i >> .depend ; \
+ done
+
+-ifeq (Darwin,$(shell uname -s))
++ifeq (Darwin,$(TARGET_OS))
+ install: install_staticlib install_headers
+ else
+ install: install_staticlib install_sharedlib install_headers
+--
+2.8.0
diff --git a/meta-openembedded/meta-multimedia/recipes-mkv/libebml/libebml_1.3.0.bb b/meta-openembedded/meta-multimedia/recipes-mkv/libebml/libebml_1.3.0.bb
new file mode 100644
index 000000000..16e17e9ab
--- /dev/null
+++ b/meta-openembedded/meta-multimedia/recipes-mkv/libebml/libebml_1.3.0.bb
@@ -0,0 +1,59 @@
+SUMMARY = "libebml is a C++ libary to parse EBML files"
+LICENSE = "LGPLv2.1"
+LIC_FILES_CHKSUM = "file://LICENSE.LGPL;md5=7fbc338309ac38fefcd64b04bb903e34"
+
+SRC_URI = "\
+ http://dl.matroska.org/downloads/libebml/libebml-${PV}.tar.bz2 \
+ file://ldflags.patch \
+ file://override-uname.patch \
+"
+SRC_URI[md5sum] = "efec729bf5a51e649e1d9d1f61c0ae7a"
+SRC_URI[sha256sum] = "83b074d6b62715aa0080406ea84d33df2e44b5d874096640233a4db49b8096de"
+
+inherit dos2unix
+
+LIBEBML_OS = "Unknown"
+LIBEBML_OS_linux = "Linux"
+LIBEBML_OS_darwin = "Darwin"
+LIBEBML_OS_mingw32 = "Windows"
+
+EXTRA_OEMAKE = "\
+ 'TARGET_OS=${LIBEBML_OS}' \
+ \
+ 'CXX=${CXX}' \
+ 'LD=${CXX}' \
+ 'AR=${AR}' \
+ 'RANLIB=${RANLIB}' \
+ \
+ 'DEBUGFLAGS=' \
+ 'CPPFLAGS=${CPPFLAGS}' \
+ 'CXXFLAGS=${CXXFLAGS}' \
+ 'LDFLAGS=${LDFLAGS}' \
+ \
+ 'prefix=${prefix}' \
+ 'libdir=${libdir}' \
+ 'includedir=${includedir}/ebml' \
+"
+
+do_compile () {
+ oe_runmake -C make/linux
+}
+
+do_install() {
+ cd ${S}/make/linux
+
+ install -d ${D}${libdir}
+ install -m 0644 libebml.a ${D}${libdir}
+ install -m 0755 libebml.so.* ${D}${libdir}
+ cp -R --no-dereference --preserve=mode,links -v libebml.so ${D}${libdir}
+
+ install -d ${D}${includedir}/ebml
+ for i in ../../ebml/*.h; do
+ install -m 0644 $i ${D}${includedir}/ebml
+ done
+
+ install -d ${D}${includedir}/ebml/c
+ for i in ../../ebml/c/*.h; do
+ install -m 0644 $i ${D}${includedir}/ebml/c
+ done
+}
diff --git a/meta-openembedded/meta-multimedia/recipes-mkv/libmatroska/libmatroska/0001-Makefile-Use-LINKFLAGS-during-link-step.patch b/meta-openembedded/meta-multimedia/recipes-mkv/libmatroska/libmatroska/0001-Makefile-Use-LINKFLAGS-during-link-step.patch
new file mode 100644
index 000000000..90e997561
--- /dev/null
+++ b/meta-openembedded/meta-multimedia/recipes-mkv/libmatroska/libmatroska/0001-Makefile-Use-LINKFLAGS-during-link-step.patch
@@ -0,0 +1,28 @@
+From f0c879097c331d1dabe6ee92b583a8badb62ea6d Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Sat, 18 Mar 2017 08:26:35 -0700
+Subject: [PATCH] Makefile: Use LINKFLAGS during link step
+
+Adds much needed GNU_HASH section into the .so
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ make/linux/Makefile | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/make/linux/Makefile b/make/linux/Makefile
+index 3ca7b0f..b5c9645 100644
+--- a/make/linux/Makefile
++++ b/make/linux/Makefile
+@@ -104,7 +104,7 @@ $(LIBRARY): $(objects)
+ $(RANLIB) $@
+
+ $(LIBRARY_SO): $(objects_so)
+- $(CXX) -shared -Wl,-soname,$(LIBRARY_SO_VER) -o $(LIBRARY_SO_VER) $(objects_so) -lebml
++ $(CXX) $(LINKFLAGS) -shared -Wl,-soname,$(LIBRARY_SO_VER) -o $(LIBRARY_SO_VER) $(objects_so) -lebml
+ rm -f $(LIBRARY_SO)
+ ln -s $(LIBRARY_SO_VER) $(LIBRARY_SO)
+
+--
+2.12.0
+
diff --git a/meta-openembedded/meta-multimedia/recipes-mkv/libmatroska/libmatroska_1.4.1.bb b/meta-openembedded/meta-multimedia/recipes-mkv/libmatroska/libmatroska_1.4.1.bb
new file mode 100644
index 000000000..fdffa41ec
--- /dev/null
+++ b/meta-openembedded/meta-multimedia/recipes-mkv/libmatroska/libmatroska_1.4.1.bb
@@ -0,0 +1,37 @@
+SUMMARY = "libmatroska is a C++ libary to parse Matroska files (.mkv and .mka)"
+LICENSE = "LGPLv2.1"
+LIC_FILES_CHKSUM = "file://LICENSE.LGPL;md5=4fbd65380cdd255951079008b364516c"
+
+DEPENDS = "libebml"
+
+SRC_URI = "http://dl.matroska.org/downloads/${BPN}/${BPN}-${PV}.tar.bz2 \
+ file://0001-Makefile-Use-LINKFLAGS-during-link-step.patch \
+ "
+SRC_URI[md5sum] = "f61b2e5086f4bb9d24a43cc8af43a719"
+SRC_URI[sha256sum] = "086f21873e925679babdabf793c3bb85c353d0cd79423543a3355e08e8a4efb7"
+
+EXTRA_OEMAKE = "-e MAKEFLAGS="
+
+do_compile() {
+ cd ${S}/make/linux
+ oe_runmake CROSS="${TARGET_PREFIX}"
+}
+
+do_install() {
+ cd ${S}/make/linux
+
+ install -d ${D}${libdir}
+ install -m 0644 libmatroska.a ${D}${libdir}
+ install -m 0755 libmatroska.so.* ${D}${libdir}
+ cp -R --no-dereference --preserve=mode,links -v libmatroska.so ${D}${libdir}
+
+ install -d ${D}${includedir}/matroska
+ for i in ../../matroska/*.h; do
+ install -m 0644 $i ${D}${includedir}/matroska
+ done
+
+ install -d ${D}${includedir}/matroska/c
+ for i in ../../matroska/c/*.h; do
+ install -m 0644 $i ${D}${includedir}/matroska/c
+ done
+}
OpenPOWER on IntegriCloud