summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorOtavio Salvador <otavio@ossystems.com.br>2023-03-13 08:57:55 -0300
committerGitHub <noreply@github.com>2023-03-13 08:57:55 -0300
commitae7575fa6a131983cf01d5e2c914084938f1c027 (patch)
treee00a560aabefa656c8424a0e60650def11244da1
parent83b0154beadc8c6dda821c12a29538aadabbc3b8 (diff)
parentca3689d1bfb692b73868f1e21fc809c3035a2a48 (diff)
downloadmeta-freescale-ae7575fa6a131983cf01d5e2c914084938f1c027.tar.gz
Merge pull request #1450 from YoeDistro/yoe/mut
Pin More gstreamer components for 1.20.3.imx
-rw-r--r--conf/machine/include/imx-base.inc5
-rw-r--r--recipes-extended/dpdk/dpdk.inc3
-rw-r--r--recipes-multimedia/gstreamer/gst-devtools/0001-connect-has-a-different-signature-on-musl.patch38
-rw-r--r--recipes-multimedia/gstreamer/gst-devtools_1.20.3.imx.bb56
-rw-r--r--recipes-multimedia/gstreamer/gstreamer1.0-omx_1.20.3.imx.bb52
-rw-r--r--recipes-multimedia/gstreamer/gstreamer1.0-plugins-good/0001-Add-prototype-declaration-for-gst_v4l2_object_stream.patch32
-rw-r--r--recipes-multimedia/gstreamer/gstreamer1.0-plugins-good_1.20.3.imx.bb1
-rw-r--r--recipes-multimedia/gstreamer/gstreamer1.0-vaapi_1.20.3.imx.bb55
-rw-r--r--recipes-security/optee-imx/optee-test_3.19.0.imx.bb4
9 files changed, 245 insertions, 1 deletions
diff --git a/conf/machine/include/imx-base.inc b/conf/machine/include/imx-base.inc
index fb2ec40a..277ce450 100644
--- a/conf/machine/include/imx-base.inc
+++ b/conf/machine/include/imx-base.inc
@@ -479,7 +479,10 @@ PREFERRED_VERSION_gstreamer1.0-plugins-bad:mx8-nxp-bsp ??= "1.20.3.imx"
479PREFERRED_VERSION_gstreamer1.0-plugins-ugly:mx8-nxp-bsp ??= "1.20.3.imx" 479PREFERRED_VERSION_gstreamer1.0-plugins-ugly:mx8-nxp-bsp ??= "1.20.3.imx"
480PREFERRED_VERSION_gstreamer1.0-libav:mx8-nxp-bsp ??= "1.20.3.imx" 480PREFERRED_VERSION_gstreamer1.0-libav:mx8-nxp-bsp ??= "1.20.3.imx"
481PREFERRED_VERSION_gstreamer1.0-rtsp-server:mx8-nxp-bsp ??= "1.20.3.imx" 481PREFERRED_VERSION_gstreamer1.0-rtsp-server:mx8-nxp-bsp ??= "1.20.3.imx"
482PREFERRED_VERSION_gstreamer1.0-python:mx8-nxp-bsp ??= "1.20.3.imx" 482PREFERRED_VERSION_gstreamer1.0-python:mx8-nxp-bsp ??= "1.20.3.imx"
483PREFERRED_VERSION_gstreamer1.0-vaapi:mx8-nxp-bsp ??= "1.20.3.imx"
484PREFERRED_VERSION_gstreamer1.0-omx:mx8-nxp-bsp ??= "1.20.3.imx"
485PREFERRED_VERSION_gst-devtools:mx8-nxp-bsp ??= "1.20.3.imx"
483PREFERRED_VERSION_ffmpeg:mx8-nxp-bsp ??= "4.4.1" 486PREFERRED_VERSION_ffmpeg:mx8-nxp-bsp ??= "4.4.1"
484 487
485# Determines if the SoC has support for Vivante kernel driver 488# Determines if the SoC has support for Vivante kernel driver
diff --git a/recipes-extended/dpdk/dpdk.inc b/recipes-extended/dpdk/dpdk.inc
index ba36260e..0dd08205 100644
--- a/recipes-extended/dpdk/dpdk.inc
+++ b/recipes-extended/dpdk/dpdk.inc
@@ -117,3 +117,6 @@ FILES:${PN} += " ${datadir}/ \
117FILES:${PN}-examples += " \ 117FILES:${PN}-examples += " \
118 ${datadir}/examples/* \ 118 ${datadir}/examples/* \
119 " 119 "
120
121TOOLCHAIN = "gcc"
122
diff --git a/recipes-multimedia/gstreamer/gst-devtools/0001-connect-has-a-different-signature-on-musl.patch b/recipes-multimedia/gstreamer/gst-devtools/0001-connect-has-a-different-signature-on-musl.patch
new file mode 100644
index 00000000..c0e45813
--- /dev/null
+++ b/recipes-multimedia/gstreamer/gst-devtools/0001-connect-has-a-different-signature-on-musl.patch
@@ -0,0 +1,38 @@
1From 73b1002eda17451db1f58431b42c25203f1d3097 Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com>
3Date: Sun, 9 Sep 2018 17:38:10 -0700
4Subject: [PATCH] connect has a different signature on musl
5
6On linux when not using glibc and using musl for C library, connect
7API has a different signature, this patch fixes this so it can compile
8on musl, the functionality should remain same as it is immediately
9typcasted to struct sockaddr_in* type inside the function before use
10
11Upstream-Status: Pending
12
13Signed-off-by: Khem Raj <raj.khem@gmail.com>
14---
15 validate/plugins/fault_injection/socket_interposer.c | 7 ++++++-
16 1 file changed, 6 insertions(+), 1 deletion(-)
17
18diff --git a/validate/plugins/fault_injection/socket_interposer.c b/validate/plugins/fault_injection/socket_interposer.c
19index 53c1ebb..ad7adf8 100644
20--- a/validate/plugins/fault_injection/socket_interposer.c
21+++ b/validate/plugins/fault_injection/socket_interposer.c
22@@ -100,10 +100,15 @@ socket_interposer_set_callback (struct sockaddr_in *addrin,
23 }
24
25 int
26-connect (int socket, const struct sockaddr_in *addrin, socklen_t address_len)
27+#if defined(__linux__) && !defined(__GLIBC__)
28+connect (int socket, const struct sockaddr *addr, socklen_t address_len)
29+#else
30+connect (int socket, const struct sockaddr_in *addr, socklen_t address_len)
31+#endif
32 {
33 size_t i;
34 int override_errno = 0;
35+ struct sockaddr_in* addrin = (struct sockaddr_in*)addr;
36 typedef ssize_t (*real_connect_fn) (int, const struct sockaddr_in *,
37 socklen_t);
38 static real_connect_fn real_connect = 0;
diff --git a/recipes-multimedia/gstreamer/gst-devtools_1.20.3.imx.bb b/recipes-multimedia/gstreamer/gst-devtools_1.20.3.imx.bb
new file mode 100644
index 00000000..5daba9d7
--- /dev/null
+++ b/recipes-multimedia/gstreamer/gst-devtools_1.20.3.imx.bb
@@ -0,0 +1,56 @@
1SUMMARY = "Gstreamer validation tool"
2DESCRIPTION = "A Tool to test GStreamer components"
3HOMEPAGE = "https://gstreamer.freedesktop.org/documentation/gst-devtools/index.html"
4SECTION = "multimedia"
5
6LICENSE = "LGPL-2.1-or-later"
7LIC_FILES_CHKSUM = "file://validate/COPYING;md5=a6f89e2100d9b6cdffcea4f398e37343"
8
9S = "${WORKDIR}/gst-devtools-${@get_gst_ver('${PV}')}"
10
11SRC_URI = "https://gstreamer.freedesktop.org/src/gst-devtools/gst-devtools-${@get_gst_ver('${PV}')}.tar.xz \
12 file://0001-connect-has-a-different-signature-on-musl.patch \
13 "
14
15SRC_URI[sha256sum] = "bbbd45ead703367ea8f4be9b3c082d7b62bef47b240a39083f27844e28758c47"
16
17DEPENDS = "json-glib glib-2.0 glib-2.0-native gstreamer1.0 gstreamer1.0-plugins-base"
18RRECOMMENDS:${PN} = "git"
19
20FILES:${PN} += "${datadir}/gstreamer-1.0/* ${libdir}/gst-validate-launcher/* ${libdir}/gstreamer-1.0/*"
21
22inherit meson pkgconfig gettext upstream-version-is-even gobject-introspection
23
24# Drop .imx from PV
25def get_gst_ver(v):
26 return oe.utils.trim_version(v, 3)
27
28# TODO: put this in a gettext.bbclass patch
29def gettext_oemeson(d):
30 if d.getVar('USE_NLS') == 'no':
31 return '-Dnls=disabled'
32 # Remove the NLS bits if USE_NLS is no or INHIBIT_DEFAULT_DEPS is set
33 if d.getVar('INHIBIT_DEFAULT_DEPS') and not oe.utils.inherits(d, 'cross-canadian'):
34 return '-Dnls=disabled'
35 return '-Dnls=enabled'
36
37# Build GstValidateVideo
38PACKAGECONFIG[cairo] = "-Dcairo=enabled,-Dcairo=disabled,cairo"
39
40EXTRA_OEMESON += " \
41 -Ddoc=disabled \
42 -Ddebug_viewer=disabled \
43 -Dtests=disabled \
44 -Dvalidate=enabled \
45 ${@gettext_oemeson(d)} \
46"
47
48do_install:append () {
49 for fn in ${bindir}/gst-validate-launcher \
50 ${libdir}/gst-validate-launcher/python/launcher/config.py; do
51 sed -i -e 's,${B},/usr/src/debug/${PN},g' -e 's,${S},/usr/src/debug/${PN},g' ${D}$fn
52 done
53}
54
55GIR_MESON_ENABLE_FLAG = "enabled"
56GIR_MESON_DISABLE_FLAG = "disabled"
diff --git a/recipes-multimedia/gstreamer/gstreamer1.0-omx_1.20.3.imx.bb b/recipes-multimedia/gstreamer/gstreamer1.0-omx_1.20.3.imx.bb
new file mode 100644
index 00000000..dc1c8ba0
--- /dev/null
+++ b/recipes-multimedia/gstreamer/gstreamer1.0-omx_1.20.3.imx.bb
@@ -0,0 +1,52 @@
1SUMMARY = "OpenMAX IL plugins for GStreamer"
2DESCRIPTION = "Wraps available OpenMAX IL components and makes them available as standard GStreamer elements."
3HOMEPAGE = "http://gstreamer.freedesktop.org/"
4SECTION = "multimedia"
5
6LICENSE = "LGPL-2.1-or-later"
7LICENSE_FLAGS = "commercial"
8LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c \
9 file://omx/gstomx.h;beginline=1;endline=21;md5=5c8e1fca32704488e76d2ba9ddfa935f"
10
11SRC_URI = "https://gstreamer.freedesktop.org/src/gst-omx/gst-omx-${@get_gst_ver('${PV}')}.tar.xz"
12
13SRC_URI[sha256sum] = "8db48040bb41f09edf8d17ff6d16c54888d7777ba4501c2c69f0083350ea9a15"
14
15S = "${WORKDIR}/gst-omx-${@get_gst_ver('${PV}')}"
16
17DEPENDS = "gstreamer1.0 gstreamer1.0-plugins-base gstreamer1.0-plugins-bad virtual/libomxil"
18
19inherit meson pkgconfig upstream-version-is-even
20
21GSTREAMER_1_0_OMX_TARGET ?= "bellagio"
22GSTREAMER_1_0_OMX_CORE_NAME ?= "${libdir}/libomxil-bellagio.so.0"
23
24EXTRA_OEMESON += "-Dtarget=${GSTREAMER_1_0_OMX_TARGET}"
25
26python __anonymous () {
27 omx_target = d.getVar("GSTREAMER_1_0_OMX_TARGET")
28 if omx_target in ['generic', 'bellagio']:
29 # Bellagio headers are incomplete (they are missing the OMX_VERSION_MAJOR,#
30 # OMX_VERSION_MINOR, OMX_VERSION_REVISION, and OMX_VERSION_STEP macros);
31 # appending a directory path to gst-omx' internal OpenMAX IL headers fixes this
32 d.appendVar("CFLAGS", " -I${S}/omx/openmax")
33 elif omx_target == "rpi":
34 # Dedicated Raspberry Pi OpenMAX IL support makes this package machine specific
35 d.setVar("PACKAGE_ARCH", d.getVar("MACHINE_ARCH"))
36}
37
38set_omx_core_name() {
39 sed -i -e "s;^core-name=.*;core-name=${GSTREAMER_1_0_OMX_CORE_NAME};" "${D}${sysconfdir}/xdg/gstomx.conf"
40}
41
42# Drop .imx from PV
43def get_gst_ver(v):
44 return oe.utils.trim_version(v, 3)
45
46do_install[postfuncs] += " set_omx_core_name "
47
48FILES:${PN} += "${libdir}/gstreamer-1.0/*.so"
49FILES:${PN}-staticdev += "${libdir}/gstreamer-1.0/*.a"
50
51VIRTUAL-RUNTIME_libomxil ?= "libomxil"
52RDEPENDS:${PN} = "${VIRTUAL-RUNTIME_libomxil}"
diff --git a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good/0001-Add-prototype-declaration-for-gst_v4l2_object_stream.patch b/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good/0001-Add-prototype-declaration-for-gst_v4l2_object_stream.patch
new file mode 100644
index 00000000..0a6637de
--- /dev/null
+++ b/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good/0001-Add-prototype-declaration-for-gst_v4l2_object_stream.patch
@@ -0,0 +1,32 @@
1From 50c821e3578e3e0892574d88ef7edb25d60ae50a Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com>
3Date: Sun, 12 Mar 2023 19:39:46 -0700
4Subject: [PATCH] Add prototype declaration for gst_v4l2_object_streamoff
5
6Fixes build with latest compilers e.g. clang-16
7
8../git/sys/v4l2/gstv4l2videodec.c:354:10: error: call to undeclared function 'gst_v4l2_object_streamoff'; ISO C99 and later do not support implicit function declarations [ -Wimplicit-function-declaration]
9 if (!gst_v4l2_object_streamoff (self->v4l2capture))
10 ^
11
12Upstream-Status: Submitted [https://github.com/nxp-imx/gst-plugins-good/pull/1]
13Signed-off-by: Khem Raj <raj.khem@gmail.com>
14---
15 sys/v4l2/gstv4l2object.h | 1 +
16 1 file changed, 1 insertion(+)
17
18diff --git a/sys/v4l2/gstv4l2object.h b/sys/v4l2/gstv4l2object.h
19index 685086902..c84dc1724 100644
20--- a/sys/v4l2/gstv4l2object.h
21+++ b/sys/v4l2/gstv4l2object.h
22@@ -323,6 +323,7 @@ GstStructure * gst_v4l2_object_v4l2fourcc_to_structure (guint32 fourcc);
23
24 /* crop / compose */
25 gboolean gst_v4l2_object_set_crop (GstV4l2Object * obj, struct v4l2_rect *result);
26+gboolean gst_v4l2_object_streamoff (GstV4l2Object * v4l2object);
27
28 /* TODO Move to proper namespace */
29 /* open/close the device */
30--
312.39.2
32
diff --git a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good_1.20.3.imx.bb b/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good_1.20.3.imx.bb
index 8cbbd2d1..ccbf0196 100644
--- a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good_1.20.3.imx.bb
+++ b/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good_1.20.3.imx.bb
@@ -13,6 +13,7 @@ BUGTRACKER = "https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/issues
13 13
14SRC_URI = "https://gstreamer.freedesktop.org/src/gst-plugins-good/gst-plugins-good-${PV}.tar.xz \ 14SRC_URI = "https://gstreamer.freedesktop.org/src/gst-plugins-good/gst-plugins-good-${PV}.tar.xz \
15 file://0001-qt-include-ext-qt-gstqtgl.h-instead-of-gst-gl-gstglf.patch \ 15 file://0001-qt-include-ext-qt-gstqtgl.h-instead-of-gst-gl-gstglf.patch \
16 file://0001-Add-prototype-declaration-for-gst_v4l2_object_stream.patch \
16 " 17 "
17 18
18SRC_URI[sha256sum] = "f8f3c206bf5cdabc00953920b47b3575af0ef15e9f871c0b6966f6d0aa5868b7" 19SRC_URI[sha256sum] = "f8f3c206bf5cdabc00953920b47b3575af0ef15e9f871c0b6966f6d0aa5868b7"
diff --git a/recipes-multimedia/gstreamer/gstreamer1.0-vaapi_1.20.3.imx.bb b/recipes-multimedia/gstreamer/gstreamer1.0-vaapi_1.20.3.imx.bb
new file mode 100644
index 00000000..503f828f
--- /dev/null
+++ b/recipes-multimedia/gstreamer/gstreamer1.0-vaapi_1.20.3.imx.bb
@@ -0,0 +1,55 @@
1SUMMARY = "VA-API support to GStreamer"
2HOMEPAGE = "https://gstreamer.freedesktop.org/"
3DESCRIPTION = "gstreamer-vaapi consists of a collection of VA-API \
4based plugins for GStreamer and helper libraries: `vaapidecode', \
5`vaapiconvert', and `vaapisink'."
6
7REALPN = "gstreamer-vaapi"
8
9LICENSE = "LGPL-2.1-or-later"
10LIC_FILES_CHKSUM = "file://COPYING.LIB;md5=4fbd65380cdd255951079008b364516c"
11
12SRC_URI = "https://gstreamer.freedesktop.org/src/${REALPN}/${REALPN}-${@get_gst_ver('${PV}')}.tar.xz"
13
14SRC_URI[sha256sum] = "6ee99eb316abdde9ad37002915bd8c3867918f6fdc74b7cf2ac4c1ae0d690b45"
15
16S = "${WORKDIR}/${REALPN}-${@get_gst_ver('${PV}')}"
17DEPENDS = "libva gstreamer1.0 gstreamer1.0-plugins-base gstreamer1.0-plugins-bad"
18
19inherit meson pkgconfig features_check upstream-version-is-even
20
21REQUIRED_DISTRO_FEATURES ?= "opengl"
22
23EXTRA_OEMESON += " \
24 -Ddoc=disabled \
25 -Dexamples=disabled \
26 -Dtests=enabled \
27"
28
29# Drop .imx from PV
30def get_gst_ver(v):
31 return oe.utils.trim_version(v, 3)
32
33PACKAGES =+ "${PN}-tests"
34
35# OpenGL packageconfig factored out to make it easy for distros
36# and BSP layers to pick either glx, egl, or no GL. By default,
37# try detecting X11 first, and if found (with OpenGL), use GLX,
38# otherwise try to check if EGL can be used.
39PACKAGECONFIG_GL ?= "egl"
40
41PACKAGECONFIG ??= "drm encoders \
42 ${PACKAGECONFIG_GL} \
43 ${@bb.utils.filter('DISTRO_FEATURES', 'wayland x11', d)}"
44
45PACKAGECONFIG[drm] = "-Dwith_drm=yes,-Dwith_drm=no,udev libdrm"
46PACKAGECONFIG[egl] = "-Dwith_egl=yes,-Dwith_egl=no,virtual/egl"
47PACKAGECONFIG[encoders] = "-Dwith_encoders=yes,-Dwith_encoders=no"
48PACKAGECONFIG[glx] = "-Dwith_glx=yes,-Dwith_glx=no,virtual/libgl"
49PACKAGECONFIG[wayland] = "-Dwith_wayland=yes,-Dwith_wayland=no,wayland-native wayland wayland-protocols"
50PACKAGECONFIG[x11] = "-Dwith_x11=yes,-Dwith_x11=no,virtual/libx11 libxrandr libxrender"
51
52FILES:${PN} += "${libdir}/gstreamer-*/*.so"
53FILES:${PN}-dbg += "${libdir}/gstreamer-*/.debug"
54FILES:${PN}-dev += "${libdir}/gstreamer-*/*.a"
55FILES:${PN}-tests = "${bindir}/*"
diff --git a/recipes-security/optee-imx/optee-test_3.19.0.imx.bb b/recipes-security/optee-imx/optee-test_3.19.0.imx.bb
index fa418b87..a75b577c 100644
--- a/recipes-security/optee-imx/optee-test_3.19.0.imx.bb
+++ b/recipes-security/optee-imx/optee-test_3.19.0.imx.bb
@@ -22,6 +22,9 @@ REQUIRED_MACHINE_FEATURES = "optee"
22OPTEE_ARCH:arm = "arm32" 22OPTEE_ARCH:arm = "arm32"
23OPTEE_ARCH:aarch64 = "arm64" 23OPTEE_ARCH:aarch64 = "arm64"
24 24
25COMPILER ?= "gcc"
26COMPILER:toolchain-clang = "clang"
27
25CFLAGS += "--sysroot=${STAGING_DIR_HOST}" 28CFLAGS += "--sysroot=${STAGING_DIR_HOST}"
26CXXFLAGS += "--sysroot=${STAGING_DIR_HOST}" 29CXXFLAGS += "--sysroot=${STAGING_DIR_HOST}"
27 30
@@ -32,6 +35,7 @@ EXTRA_OEMAKE = " \
32 CROSS_COMPILE_TA=${HOST_PREFIX} \ 35 CROSS_COMPILE_TA=${HOST_PREFIX} \
33 CROSS_COMPILE=${HOST_PREFIX} \ 36 CROSS_COMPILE=${HOST_PREFIX} \
34 OPENSSL_MODULES=${STAGING_LIBDIR_NATIVE}/ossl-modules \ 37 OPENSSL_MODULES=${STAGING_LIBDIR_NATIVE}/ossl-modules \
38 COMPILER=${COMPILER} \
35 -C ${S} O=${B} \ 39 -C ${S} O=${B} \
36" 40"
37 41