From a2cf84affff8a78fdaa8fabcfa9b40be1936678e Mon Sep 17 00:00:00 2001 From: Martin Kelly Date: Tue, 18 Jul 2017 11:46:54 -0700 Subject: gstreamer1.0-python: add new recipe Previously, we had a gst-python recipe, but it supported only GStreamer 0.1. After GStreamer switched the Python bindings to use GObject introspection, we were no longer able to build the bindings, and they were dropped in this patch: https://patchwork.openembedded.org/patch/93793/ However, at this point, we have a gobject-introspection class, so we can use the bindings again, this time with GStreamer 1.0. (From OE-Core rev: 6650bd1b9c770b01525356f9a1fabd758360ee8f) Signed-off-by: Martin Kelly Signed-off-by: Ross Burton Signed-off-by: Richard Purdie --- .../gstreamer/gstreamer1.0-python.inc | 35 ++++++++++++++++++++++ .../gstreamer/gstreamer1.0-python_1.10.4.bb | 7 +++++ 2 files changed, 42 insertions(+) create mode 100644 meta/recipes-multimedia/gstreamer/gstreamer1.0-python.inc create mode 100644 meta/recipes-multimedia/gstreamer/gstreamer1.0-python_1.10.4.bb (limited to 'meta/recipes-multimedia') diff --git a/meta/recipes-multimedia/gstreamer/gstreamer1.0-python.inc b/meta/recipes-multimedia/gstreamer/gstreamer1.0-python.inc new file mode 100644 index 0000000000..961b93017e --- /dev/null +++ b/meta/recipes-multimedia/gstreamer/gstreamer1.0-python.inc @@ -0,0 +1,35 @@ +SUMMARY = "Python bindings for GStreamer 1.0" +HOMEPAGE = "http://cgit.freedesktop.org/gstreamer/gst-python/" +SECTION = "multimedia" +LICENSE = "LGPLv2.1" + +DEPENDS = "gstreamer1.0 python3-pygobject" +RDEPENDS_${PN} += "gstreamer1.0 python3-pygobject" + +PNREAL = "gst-python" + +SRC_URI = "http://gstreamer.freedesktop.org/src/${PNREAL}/${PNREAL}-${PV}.tar.xz" + +S = "${WORKDIR}/${PNREAL}-${PV}" + +inherit autotools pkgconfig distutils3-base upstream-version-is-even gobject-introspection + +do_install_append() { + # gstpythonplugin hardcodes the location of the libpython from the build + # workspace and then fails at runtime. We can override it using + # --with-libpython-dir=${libdir}, but it still fails because it looks for a + # symlinked library ending in .so instead of the actually library with + # LIBNAME.so.MAJOR.MINOR. Although we could patch the code to use the path + # we want, it will break again if the library version ever changes. We need + # to think about the best way of handling this and possibly consult + # upstream. + # + # Note that this particular find line is taken from the Debian packaging for + # gst-python1.0. + find "${D}" \ + -name '*.pyc' -o \ + -name '*.pyo' -o \ + -name '*.la' -o \ + -name 'libgstpythonplugin*' \ + -delete +} diff --git a/meta/recipes-multimedia/gstreamer/gstreamer1.0-python_1.10.4.bb b/meta/recipes-multimedia/gstreamer/gstreamer1.0-python_1.10.4.bb new file mode 100644 index 0000000000..1365f7c6dd --- /dev/null +++ b/meta/recipes-multimedia/gstreamer/gstreamer1.0-python_1.10.4.bb @@ -0,0 +1,7 @@ +require gstreamer1.0-python.inc + +SRC_URI = "http://gstreamer.freedesktop.org/src/${PNREAL}/${PNREAL}-${PV}.tar.xz" +SRC_URI[md5sum] = "adcdb74f713e28d0b22a0a1e4f831573" +SRC_URI[sha256sum] = "59508174b8bc86c05290aa9a7c5d480ac556a6f36306ddbc1d0eacf4f7868212" + +LIC_FILES_CHKSUM = "file://COPYING;md5=c34deae4e395ca07e725ab0076a5f740" -- cgit v1.2.3-54-g00ecf