[OE-core] [PATCH] gstreamer1.0-python: add new recipe

Khem Raj raj.khem at gmail.com
Tue Jul 18 18:37:29 UTC 2017


On Tue, Jul 18, 2017 at 12:21 PM, Martin Kelly <mkelly at xevo.com> wrote:
> On 07/17/2017 07:47 PM, Khem Raj wrote:
>>
>> On Mon, Jul 17, 2017 at 8:21 PM, Martin Kelly <mkelly at xevo.com> wrote:
>>>
>>> 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 at xevo.com>
>>> ---
>>>  .../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
>>
>>
>> I think everything in single file would be better
>>
>
> I'm fine with that, but I was just following the convention that the rest of
> the gstreamer packaging uses; all the recipes in
> meta/recipes-multimedia/gstreamer use the same convention. I figured it's
> cleaner to keep all of it consistent. Would you prefer I diverge anyway?
>

I dont have strong preference here.

>>>
>>> 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..3299b89daa
>>> --- /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"
>>> +
>>
>>
>> this should be 2.1 most probably
>>
>
> Yes you're right, I'll change it.
>
>
>>> +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"
>>> --
>>> 2.11.0
>>>
>>> --
>>> _______________________________________________
>>> Openembedded-core mailing list
>>> Openembedded-core at lists.openembedded.org
>>> http://lists.openembedded.org/mailman/listinfo/openembedded-core



More information about the Openembedded-core mailing list