summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMartin Kelly <mkelly@xevo.com>2017-07-18 11:46:54 -0700
committerRichard Purdie <richard.purdie@linuxfoundation.org>2017-07-24 09:12:28 +0100
commit6650bd1b9c770b01525356f9a1fabd758360ee8f (patch)
tree2a4b595ba5018404918d08fa32e47dbf5f98f7de
parent3d5f11f0a1fd036e28a1d3f0c3169d8e21cc1358 (diff)
downloadopenembedded-core-6650bd1b9c770b01525356f9a1fabd758360ee8f.tar.gz
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. Signed-off-by: Martin Kelly <mkelly@xevo.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
-rw-r--r--meta/recipes-multimedia/gstreamer/gstreamer1.0-python.inc35
-rw-r--r--meta/recipes-multimedia/gstreamer/gstreamer1.0-python_1.10.4.bb7
2 files changed, 42 insertions, 0 deletions
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"