From 9734381aa2bfb04fca41f4b256462a24b32aafd0 Mon Sep 17 00:00:00 2001 From: Max Krummenacher Date: Mon, 21 Nov 2022 18:33:02 +0100 Subject: kernel-module-nxp89xx: upgrade to mxm5x17344.p3 Update to the version used in lf5.15.52_2.1.0. Signed-off-by: Max Krummenacher --- recipes-kernel/kernel-modules/kernel-module-nxp89xx_git.bb | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/recipes-kernel/kernel-modules/kernel-module-nxp89xx_git.bb b/recipes-kernel/kernel-modules/kernel-module-nxp89xx_git.bb index 00747f72..827dc94a 100644 --- a/recipes-kernel/kernel-modules/kernel-module-nxp89xx_git.bb +++ b/recipes-kernel/kernel-modules/kernel-module-nxp89xx_git.bb @@ -2,10 +2,10 @@ SUMMARY = "NXP Wi-Fi driver for module 88w8997/8987" LICENSE = "GPL-2.0-only" LIC_FILES_CHKSUM = "file://gpl-2.0.txt;md5=ab04ac0f249af12befccb94447c08b77" -SRCBRANCH = "lf-5.10.72_2.2.0" -MRVL_SRC ?= "git://source.codeaurora.org/external/imx/mwifiex.git;protocol=https" +SRCBRANCH = "lf-5.15.52_2.1.0" +MRVL_SRC ?= "git://github.com/nxp-imx/mwifiex.git;protocol=https" SRC_URI = "${MRVL_SRC};branch=${SRCBRANCH}" -SRCREV = "3c2a3c2cd25e9dce95f34c21bb4e728647eb64ee" +SRCREV = "5cda905576fd26eca6b49d0f0fb5e2bb3c0bf441" S = "${WORKDIR}/git/mxm_wifiex/wlan_src" -- cgit v1.2.3-54-g00ecf From 42b95e850eae2f9958fa094e827ec18307f34c16 Mon Sep 17 00:00:00 2001 From: Max Krummenacher Date: Tue, 15 Nov 2022 17:46:08 +0100 Subject: imx-codec: upgrade from 4.7.0 to 4.7.1 Update to the version used in lf5.15.52_2.1.0. License was updated to NXP EULA v39 August 2022. Signed-off-by: Max Krummenacher --- recipes-multimedia/imx-codec/imx-codec_4.7.0.bb | 121 ------------------------ recipes-multimedia/imx-codec/imx-codec_4.7.1.bb | 121 ++++++++++++++++++++++++ 2 files changed, 121 insertions(+), 121 deletions(-) delete mode 100644 recipes-multimedia/imx-codec/imx-codec_4.7.0.bb create mode 100644 recipes-multimedia/imx-codec/imx-codec_4.7.1.bb diff --git a/recipes-multimedia/imx-codec/imx-codec_4.7.0.bb b/recipes-multimedia/imx-codec/imx-codec_4.7.0.bb deleted file mode 100644 index e192c64d..00000000 --- a/recipes-multimedia/imx-codec/imx-codec_4.7.0.bb +++ /dev/null @@ -1,121 +0,0 @@ -# Copyright (C) 2012-2016 Freescale Semiconductor -# Copyright 2017 NXP -# Copyright 2018 (C) O.S. Systems Software LTDA. -# Released under the MIT license (see COPYING.MIT for the terms) -DESCRIPTION = "Freescale Multimedia codec libs" -LICENSE = "Proprietary" -SECTION = "multimedia" -LIC_FILES_CHKSUM = "file://COPYING;md5=d3c315c6eaa43e07d8c130dc3a04a011" - -# Backward compatibility -PROVIDES += "libfslcodec" - -SRC_URI = "${FSL_MIRROR}/${BPN}-${PV}.bin;fsl-eula=true" -SRC_URI[md5sum] = "5041d6e438c7779dcb424aedc11dd3ef" -SRC_URI[sha256sum] = "71bcb80bda44a326704d18b2e828b03c6f70792a4bf0686abc223657061df89b" - -inherit fsl-eula-unpack autotools pkgconfig - -PACKAGECONFIG ??= "${PACKAGECONFIG_VPU}" -# Support Chips&Media VPU only -PACKAGECONFIG_VPU = "" -PACKAGECONFIG_VPU:mx6q-nxp-bsp = "vpu" -PACKAGECONFIG_VPU:mx6dl-nxp-bsp = "vpu" -PACKAGECONFIG[vpu] = "--enable-vpu,--disable-vpu,virtual/imxvpu" - -# Choose between 32-bit and 64-bit binaries and between Soft Float-Point and Hard Float-Point -EXTRA_OECONF = "${@bb.utils.contains('TUNE_FEATURES', 'aarch64', '--enable-armv8', \ - bb.utils.contains('TUNE_FEATURES', 'callconvention-hard', '--enable-fhw', '', d), d)}" - -do_install:append() { - # LTIB move the files around or gst-fsl-plugin won't find them - for p in $(find ${D}${libdir}/imx-mm -mindepth 2 -maxdepth 2 -not -type d); do - mv $p ${D}${libdir} - done - rmdir ${D}${libdir}/imx-mm/video-codec - - # Fixup ownership of files - chown -R root:root ${D} -} - -python __set_insane_skip() { - # Ensure we have PACKAGES expanded - bb.build.exec_func("read_subpackage_metadata", d) - - for p in d.getVar('PACKAGES').split(): - # Even though we are packaging libraries those are plugins so we - # shouldn't rename the packages to follow its sonames. - d.setVar("DEBIAN_NOAUTONAME:%s" % p, "1") - - # FIXME: All binaries lack GNU_HASH in elf binary but as we don't have - # the source we cannot fix it. Disable the insane check for now. - if p == 'imx-codec-test-bin': - # FIXME: includes the DUT .so files so we need to deploy those - d.setVar("INSANE_SKIP:%s" % p, "ldflags textrel libdir") - else: - d.setVar("INSANE_SKIP:%s" % p, "ldflags textrel") -} - -do_package_qa[prefuncs] += "__set_insane_skip" - -python __split_libfslcodec_plugins() { - codecdir = bb.data.expand('${libdir}', d) - do_split_packages(d, codecdir, '^lib_([^_]*).*_arm.*_elinux\.so\..*', - aux_files_pattern='${libdir}/imx-mm/audio-codec/wrap/lib_%sd_wrap_arm*_elinux.so.*', - output_pattern='imx-codec-%s', - description='Freescale i.MX Codec (%s)', - extra_depends='') - pkgs = d.getVar('PACKAGES').split() - for pkg in pkgs: - meta = pkg[10:] - if meta != '': - d.setVar('RREPLACES:%s' % pkg, ' libfslcodec-%s' % meta) - d.setVar('RPROVIDES:%s' % pkg, ' libfslcodec-%s' % meta) - d.setVar('RCONFLICTS:%s' % pkg, ' libfslcodec-%s' % meta) - else : - d.setVar('RREPLACES:%s' % pkg, ' libfslcodec') - d.setVar('RPROVIDES:%s' % pkg, ' libfslcodec') - d.setVar('RCONFLICTS:%s' % pkg, ' libfslcodec') -} - -python __set_metapkg_rdepends() { - # Allow addition of all codecs in a image; useful specially for - # debugging. - codec_pkgs = oe.utils.packages_filter_out_system(d) - codec_pkgs = filter(lambda x: x not in ['imx-codec-test-bin', 'imx-codec-test-source'], - codec_pkgs) - d.appendVar('RDEPENDS:imx-codec-meta', ' ' + ' '.join(codec_pkgs)) -} - -PACKAGESPLITFUNCS =+ "__split_libfslcodec_plugins __set_metapkg_rdepends" - -# We need to ensure we don't have '-src' package overrided -PACKAGE_DEBUG_SPLIT_STYLE = 'debug-without-src' - -PACKAGES_DYNAMIC = "${PN}-*" -INHIBIT_PACKAGE_STRIP = "1" -INHIBIT_PACKAGE_DEBUG_SPLIT = "1" - -PACKAGES += "${PN}-meta ${PN}-test-bin ${PN}-test-source" - -ALLOW_EMPTY:${PN} = "1" -ALLOW_EMPTY:${PN}-meta = "1" - -# Ensure we get warnings if we miss something -FILES:${PN} = "" - -FILES:${PN}-dev += "${libdir}/imx-mm/*/*${SOLIBSDEV} \ - ${libdir}/imx-mm/*/*/*${SOLIBSDEV} \ - ${libdir}/pkgconfig/*.pc ${includedir}/imx-mm/*" - -FILES:${PN}-test-bin += "${datadir}/imx-mm/*/examples/*/bin" - -FILES:${PN}-test-source += "${datadir}/imx-mm/*" - -# FIXME: The wrap and lib names does not match -FILES:${PN}-oggvorbis += "${libdir}/imx-mm/audio-codec/wrap/lib_vorbisd_wrap_arm*_elinux.so.*" -FILES:${PN}-nb += "${libdir}/imx-mm/audio-codec/wrap/lib_nbamrd_wrap_arm*_elinux.so.*" -FILES:${PN}-wb += "${libdir}/imx-mm/audio-codec/wrap/lib_wbamrd_wrap_arm*_elinux.so.*" - -PACKAGE_ARCH = "${MACHINE_SOCARCH}" -COMPATIBLE_MACHINE = "(imx-nxp-bsp)" diff --git a/recipes-multimedia/imx-codec/imx-codec_4.7.1.bb b/recipes-multimedia/imx-codec/imx-codec_4.7.1.bb new file mode 100644 index 00000000..168878db --- /dev/null +++ b/recipes-multimedia/imx-codec/imx-codec_4.7.1.bb @@ -0,0 +1,121 @@ +# Copyright (C) 2012-2016 Freescale Semiconductor +# Copyright 2017 NXP +# Copyright 2018 (C) O.S. Systems Software LTDA. +# Released under the MIT license (see COPYING.MIT for the terms) +DESCRIPTION = "Freescale Multimedia codec libs" +LICENSE = "Proprietary" +SECTION = "multimedia" +LIC_FILES_CHKSUM = "file://COPYING;md5=5a0bf11f745e68024f37b4724a5364fe" + +# Backward compatibility +PROVIDES += "libfslcodec" + +SRC_URI = "${FSL_MIRROR}/${BPN}-${PV}.bin;fsl-eula=true" +SRC_URI[md5sum] = "a905c211e352c6d2f511603e21c6ec26" +SRC_URI[sha256sum] = "e7ab2c84d3d0d0eff258c45c15a27e3bb22082e73b41cf9d169a68dbdd705529" + +inherit fsl-eula-unpack autotools pkgconfig + +PACKAGECONFIG ??= "${PACKAGECONFIG_VPU}" +# Support Chips&Media VPU only +PACKAGECONFIG_VPU = "" +PACKAGECONFIG_VPU:mx6q-nxp-bsp = "vpu" +PACKAGECONFIG_VPU:mx6dl-nxp-bsp = "vpu" +PACKAGECONFIG[vpu] = "--enable-vpu,--disable-vpu,virtual/imxvpu" + +# Choose between 32-bit and 64-bit binaries and between Soft Float-Point and Hard Float-Point +EXTRA_OECONF = "${@bb.utils.contains('TUNE_FEATURES', 'aarch64', '--enable-armv8', \ + bb.utils.contains('TUNE_FEATURES', 'callconvention-hard', '--enable-fhw', '', d), d)}" + +do_install:append() { + # LTIB move the files around or gst-fsl-plugin won't find them + for p in $(find ${D}${libdir}/imx-mm -mindepth 2 -maxdepth 2 -not -type d); do + mv $p ${D}${libdir} + done + rmdir ${D}${libdir}/imx-mm/video-codec + + # Fixup ownership of files + chown -R root:root ${D} +} + +python __set_insane_skip() { + # Ensure we have PACKAGES expanded + bb.build.exec_func("read_subpackage_metadata", d) + + for p in d.getVar('PACKAGES').split(): + # Even though we are packaging libraries those are plugins so we + # shouldn't rename the packages to follow its sonames. + d.setVar("DEBIAN_NOAUTONAME:%s" % p, "1") + + # FIXME: All binaries lack GNU_HASH in elf binary but as we don't have + # the source we cannot fix it. Disable the insane check for now. + if p == 'imx-codec-test-bin': + # FIXME: includes the DUT .so files so we need to deploy those + d.setVar("INSANE_SKIP:%s" % p, "ldflags textrel libdir") + else: + d.setVar("INSANE_SKIP:%s" % p, "ldflags textrel") +} + +do_package_qa[prefuncs] += "__set_insane_skip" + +python __split_libfslcodec_plugins() { + codecdir = bb.data.expand('${libdir}', d) + do_split_packages(d, codecdir, '^lib_([^_]*).*_arm.*_elinux\.so\..*', + aux_files_pattern='${libdir}/imx-mm/audio-codec/wrap/lib_%sd_wrap_arm*_elinux.so.*', + output_pattern='imx-codec-%s', + description='Freescale i.MX Codec (%s)', + extra_depends='') + pkgs = d.getVar('PACKAGES').split() + for pkg in pkgs: + meta = pkg[10:] + if meta != '': + d.setVar('RREPLACES:%s' % pkg, ' libfslcodec-%s' % meta) + d.setVar('RPROVIDES:%s' % pkg, ' libfslcodec-%s' % meta) + d.setVar('RCONFLICTS:%s' % pkg, ' libfslcodec-%s' % meta) + else : + d.setVar('RREPLACES:%s' % pkg, ' libfslcodec') + d.setVar('RPROVIDES:%s' % pkg, ' libfslcodec') + d.setVar('RCONFLICTS:%s' % pkg, ' libfslcodec') +} + +python __set_metapkg_rdepends() { + # Allow addition of all codecs in a image; useful specially for + # debugging. + codec_pkgs = oe.utils.packages_filter_out_system(d) + codec_pkgs = filter(lambda x: x not in ['imx-codec-test-bin', 'imx-codec-test-source'], + codec_pkgs) + d.appendVar('RDEPENDS:imx-codec-meta', ' ' + ' '.join(codec_pkgs)) +} + +PACKAGESPLITFUNCS =+ "__split_libfslcodec_plugins __set_metapkg_rdepends" + +# We need to ensure we don't have '-src' package overrided +PACKAGE_DEBUG_SPLIT_STYLE = 'debug-without-src' + +PACKAGES_DYNAMIC = "${PN}-*" +INHIBIT_PACKAGE_STRIP = "1" +INHIBIT_PACKAGE_DEBUG_SPLIT = "1" + +PACKAGES += "${PN}-meta ${PN}-test-bin ${PN}-test-source" + +ALLOW_EMPTY:${PN} = "1" +ALLOW_EMPTY:${PN}-meta = "1" + +# Ensure we get warnings if we miss something +FILES:${PN} = "" + +FILES:${PN}-dev += "${libdir}/imx-mm/*/*${SOLIBSDEV} \ + ${libdir}/imx-mm/*/*/*${SOLIBSDEV} \ + ${libdir}/pkgconfig/*.pc ${includedir}/imx-mm/*" + +FILES:${PN}-test-bin += "${datadir}/imx-mm/*/examples/*/bin" + +FILES:${PN}-test-source += "${datadir}/imx-mm/*" + +# FIXME: The wrap and lib names does not match +FILES:${PN}-oggvorbis += "${libdir}/imx-mm/audio-codec/wrap/lib_vorbisd_wrap_arm*_elinux.so.*" +FILES:${PN}-nb += "${libdir}/imx-mm/audio-codec/wrap/lib_nbamrd_wrap_arm*_elinux.so.*" +FILES:${PN}-wb += "${libdir}/imx-mm/audio-codec/wrap/lib_wbamrd_wrap_arm*_elinux.so.*" + +PACKAGE_ARCH = "${MACHINE_SOCARCH}" +COMPATIBLE_MACHINE = "(imx-nxp-bsp)" -- cgit v1.2.3-54-g00ecf From 7019ddda9897630602abba72461f3fee25277900 Mon Sep 17 00:00:00 2001 From: Max Krummenacher Date: Mon, 21 Nov 2022 09:21:30 +0100 Subject: imx-parser: upgrade from 4.7.0 to 4.7.1 Update to the version used in lf5.15.52_2.1.0. License was updated to NXP EULA v39 August 2022. Signed-off-by: Max Krummenacher --- recipes-multimedia/imx-parser/imx-parser_4.7.0.bb | 44 ----------------------- recipes-multimedia/imx-parser/imx-parser_4.7.1.bb | 44 +++++++++++++++++++++++ 2 files changed, 44 insertions(+), 44 deletions(-) delete mode 100644 recipes-multimedia/imx-parser/imx-parser_4.7.0.bb create mode 100644 recipes-multimedia/imx-parser/imx-parser_4.7.1.bb diff --git a/recipes-multimedia/imx-parser/imx-parser_4.7.0.bb b/recipes-multimedia/imx-parser/imx-parser_4.7.0.bb deleted file mode 100644 index 55402bb6..00000000 --- a/recipes-multimedia/imx-parser/imx-parser_4.7.0.bb +++ /dev/null @@ -1,44 +0,0 @@ -# Copyright (C) 2012-2018 O.S. Systems Software LTDA. -# Copyright (C) 2012-2016 Freescale Semiconductor -# Copyright (C) 2017-2021 NXP -# Released under the MIT license (see COPYING.MIT for the terms) -DESCRIPTION = "Freescale Multimedia parser libs" -LICENSE = "Proprietary" -SECTION = "multimedia" -LIC_FILES_CHKSUM = "file://COPYING;md5=d3c315c6eaa43e07d8c130dc3a04a011" - -# For backwards compatibility -PROVIDES += "libfslparser" -RREPLACES:${PN} = "libfslparser" -RPROVIDES:${PN} = "libfslparser" -RCONFLICTS:${PN} = "libfslparser" - -SRC_URI = "${FSL_MIRROR}/${BP}.bin;fsl-eula=true" -SRC_URI[md5sum] = "5054251389f43702fd29da9668bd3dea" -SRC_URI[sha256sum] = "caf2757baa936ffe0e992f8e6c3121932f5b497cebfbf20048ba93b26626c4d7" - -inherit fsl-eula-unpack autotools pkgconfig - -# Choose between 32-bit and 64-bit binaries and between Soft Float-Point and Hard Float-Point -EXTRA_OECONF = "${@bb.utils.contains('TUNE_FEATURES', 'aarch64', '--enable-armv8', \ - bb.utils.contains('TUNE_FEATURES', 'callconvention-hard', '--enable-fhw', '--enable-fsw', d), d)}" - -INHIBIT_PACKAGE_STRIP = "1" -INHIBIT_PACKAGE_DEBUG_SPLIT = "1" - -python __set_insane_skip() { - # FIXME: All binaries lack GNU_HASH in elf binary but as we don't have - # the source we cannot fix it. Disable the insane check for now. - # FIXME: gst-fsl-plugin looks for the .so files so we need to deploy those - for p in d.getVar('PACKAGES').split(): - d.setVar("INSANE_SKIP:%s" % p, "ldflags dev-so textrel") -} - -do_package_qa[prefuncs] += "__set_insane_skip" - -# FIXME: gst-fsl-plugin looks for the .so files so we need to deploy those -FILES:${PN} += "${libdir}/imx-mm/*/*${SOLIBS} ${libdir}/imx-mm/*/*${SOLIBSDEV}" - -INHIBIT_SYSROOT_STRIP = "1" - -COMPATIBLE_MACHINE = "(imx-nxp-bsp)" diff --git a/recipes-multimedia/imx-parser/imx-parser_4.7.1.bb b/recipes-multimedia/imx-parser/imx-parser_4.7.1.bb new file mode 100644 index 00000000..8b3a39ed --- /dev/null +++ b/recipes-multimedia/imx-parser/imx-parser_4.7.1.bb @@ -0,0 +1,44 @@ +# Copyright (C) 2012-2018 O.S. Systems Software LTDA. +# Copyright (C) 2012-2016 Freescale Semiconductor +# Copyright (C) 2017-2021 NXP +# Released under the MIT license (see COPYING.MIT for the terms) +DESCRIPTION = "Freescale Multimedia parser libs" +LICENSE = "Proprietary" +SECTION = "multimedia" +LIC_FILES_CHKSUM = "file://COPYING;md5=5a0bf11f745e68024f37b4724a5364fe" + +# For backwards compatibility +PROVIDES += "libfslparser" +RREPLACES:${PN} = "libfslparser" +RPROVIDES:${PN} = "libfslparser" +RCONFLICTS:${PN} = "libfslparser" + +SRC_URI = "${FSL_MIRROR}/${BP}.bin;fsl-eula=true" +SRC_URI[md5sum] = "33341cfbc387a881d82c5197b86a4544" +SRC_URI[sha256sum] = "680080293df869393028c58ccb2642b724f4b2297f2cbd7b98877a81e4cd6d03" + +inherit fsl-eula-unpack autotools pkgconfig + +# Choose between 32-bit and 64-bit binaries and between Soft Float-Point and Hard Float-Point +EXTRA_OECONF = "${@bb.utils.contains('TUNE_FEATURES', 'aarch64', '--enable-armv8', \ + bb.utils.contains('TUNE_FEATURES', 'callconvention-hard', '--enable-fhw', '--enable-fsw', d), d)}" + +INHIBIT_PACKAGE_STRIP = "1" +INHIBIT_PACKAGE_DEBUG_SPLIT = "1" + +python __set_insane_skip() { + # FIXME: All binaries lack GNU_HASH in elf binary but as we don't have + # the source we cannot fix it. Disable the insane check for now. + # FIXME: gst-fsl-plugin looks for the .so files so we need to deploy those + for p in d.getVar('PACKAGES').split(): + d.setVar("INSANE_SKIP:%s" % p, "ldflags dev-so textrel") +} + +do_package_qa[prefuncs] += "__set_insane_skip" + +# FIXME: gst-fsl-plugin looks for the .so files so we need to deploy those +FILES:${PN} += "${libdir}/imx-mm/*/*${SOLIBS} ${libdir}/imx-mm/*/*${SOLIBSDEV}" + +INHIBIT_SYSROOT_STRIP = "1" + +COMPATIBLE_MACHINE = "(imx-nxp-bsp)" -- cgit v1.2.3-54-g00ecf From 143a9f756feea9cf6217f5d82a4811379d10b740 Mon Sep 17 00:00:00 2001 From: Max Krummenacher Date: Mon, 21 Nov 2022 09:30:02 +0100 Subject: imx-vpu-hantro: upgrade from 1.26.0 to 1.27.0 Update to the version used in lf5.15.52_2.1.0. License was updated to NXP EULA v39 August 2022. Signed-off-by: Max Krummenacher --- .../imx-vpu-hantro/imx-vpu-hantro_1.26.0.bb | 36 ---------------------- .../imx-vpu-hantro/imx-vpu-hantro_1.27.0.bb | 36 ++++++++++++++++++++++ 2 files changed, 36 insertions(+), 36 deletions(-) delete mode 100644 recipes-bsp/imx-vpu-hantro/imx-vpu-hantro_1.26.0.bb create mode 100644 recipes-bsp/imx-vpu-hantro/imx-vpu-hantro_1.27.0.bb diff --git a/recipes-bsp/imx-vpu-hantro/imx-vpu-hantro_1.26.0.bb b/recipes-bsp/imx-vpu-hantro/imx-vpu-hantro_1.26.0.bb deleted file mode 100644 index ac30b60f..00000000 --- a/recipes-bsp/imx-vpu-hantro/imx-vpu-hantro_1.26.0.bb +++ /dev/null @@ -1,36 +0,0 @@ -# Copyright (C) 2017-2020 NXP - -DESCRIPTION = "i.MX Hantro VPU library" -LICENSE = "Proprietary" -LIC_FILES_CHKSUM = "file://COPYING;md5=d3c315c6eaa43e07d8c130dc3a04a011" - -PROVIDES = "virtual/imxvpu" - -SRC_URI = "${FSL_MIRROR}/${BP}.bin;fsl-eula=true" -SRC_URI[md5sum] = "8d06cdacd7700e9e4c32644bf9804cdd" -SRC_URI[sha256sum] = "0cf9193923e110d2d9e6576e2c632f1675f0751b4c3de9ef54f32813f442540a" - -inherit fsl-eula-unpack use-imx-headers - -PARALLEL_MAKE="-j 1" - -PLATFORM:mx8mm-nxp-bsp = "IMX8MM" -PLATFORM:mx8mq-nxp-bsp = "IMX8MQ" -PLATFORM:mx8mp-nxp-bsp = "IMX8MP" - -EXTRA_OEMAKE = " \ - CROSS_COMPILE="${HOST_PREFIX}" \ - SDKTARGETSYSROOT="${STAGING_DIR_TARGET}" \ - PLATFORM="${PLATFORM}" \ -" - -do_install () { - oe_runmake install DEST_DIR="${D}" -} - -FILES:${PN} += "/unit_tests" - -RDEPENDS:${PN} += "imx-vpu-hantro-daemon" - -PACKAGE_ARCH = "${MACHINE_SOCARCH}" -COMPATIBLE_MACHINE = "(mx8mq-nxp-bsp|mx8mm-nxp-bsp|mx8mp-nxp-bsp)" diff --git a/recipes-bsp/imx-vpu-hantro/imx-vpu-hantro_1.27.0.bb b/recipes-bsp/imx-vpu-hantro/imx-vpu-hantro_1.27.0.bb new file mode 100644 index 00000000..473d747c --- /dev/null +++ b/recipes-bsp/imx-vpu-hantro/imx-vpu-hantro_1.27.0.bb @@ -0,0 +1,36 @@ +# Copyright (C) 2017-2020 NXP + +DESCRIPTION = "i.MX Hantro VPU library" +LICENSE = "Proprietary" +LIC_FILES_CHKSUM = "file://COPYING;md5=5a0bf11f745e68024f37b4724a5364fe" + +PROVIDES = "virtual/imxvpu" + +SRC_URI = "${FSL_MIRROR}/${BP}.bin;fsl-eula=true" +SRC_URI[md5sum] = "cfa0e92da0eca9cf622c4d7abc618cef" +SRC_URI[sha256sum] = "7e9bcdbd067ce66a1247373cbf088945346feb0027deb61af541ebc1256277c3" + +inherit fsl-eula-unpack use-imx-headers + +PARALLEL_MAKE="-j 1" + +PLATFORM:mx8mm-nxp-bsp = "IMX8MM" +PLATFORM:mx8mq-nxp-bsp = "IMX8MQ" +PLATFORM:mx8mp-nxp-bsp = "IMX8MP" + +EXTRA_OEMAKE = " \ + CROSS_COMPILE="${HOST_PREFIX}" \ + SDKTARGETSYSROOT="${STAGING_DIR_TARGET}" \ + PLATFORM="${PLATFORM}" \ +" + +do_install () { + oe_runmake install DEST_DIR="${D}" +} + +FILES:${PN} += "/unit_tests" + +RDEPENDS:${PN} += "imx-vpu-hantro-daemon" + +PACKAGE_ARCH = "${MACHINE_SOCARCH}" +COMPATIBLE_MACHINE = "(mx8mq-nxp-bsp|mx8mm-nxp-bsp|mx8mp-nxp-bsp)" -- cgit v1.2.3-54-g00ecf From 0b45cf3f5bf95c583b189c2fb5eaa125bf686a7d Mon Sep 17 00:00:00 2001 From: Max Krummenacher Date: Mon, 21 Nov 2022 13:37:00 +0100 Subject: imx-vpu-hantro: prevent warning from oe qa This passes among others -fdebug-prefix-map=... which prevents the following OE warning: | WARNING: imx-vpu-hantro-1.27.0-r0 do_package_qa: QA Issue: \ | File /usr/lib/.debug/libg1.so.1 in package imx-vpu-hantro-dbg contains reference to TMPDIR [buildpaths] Signed-off-by: Max Krummenacher --- ...system-don-t-ignore-externally-set-cflags.patch | 49 ++++++++++++++++++++++ .../imx-vpu-hantro/imx-vpu-hantro_1.27.0.bb | 5 ++- 2 files changed, 53 insertions(+), 1 deletion(-) create mode 100644 recipes-bsp/imx-vpu-hantro/imx-vpu-hantro/0001-buildsystem-don-t-ignore-externally-set-cflags.patch diff --git a/recipes-bsp/imx-vpu-hantro/imx-vpu-hantro/0001-buildsystem-don-t-ignore-externally-set-cflags.patch b/recipes-bsp/imx-vpu-hantro/imx-vpu-hantro/0001-buildsystem-don-t-ignore-externally-set-cflags.patch new file mode 100644 index 00000000..861230bb --- /dev/null +++ b/recipes-bsp/imx-vpu-hantro/imx-vpu-hantro/0001-buildsystem-don-t-ignore-externally-set-cflags.patch @@ -0,0 +1,49 @@ +From aba22ec2e285cf7557a5049fa6181e82e7f1a489 Mon Sep 17 00:00:00 2001 +From: Max Krummenacher +Date: Mon, 21 Nov 2022 12:04:09 +0000 +Subject: [PATCH] buildsystem: don't ignore externally set cflags + +Upstream-Status: pending +Signed-off-by: Max Krummenacher +--- + decoder_sw/software/linux/h264high/Makefile | 4 ++-- + decoder_sw/software/linux/vp6/Makefile | 4 ++-- + 2 files changed, 4 insertions(+), 4 deletions(-) + +diff --git a/decoder_sw/software/linux/h264high/Makefile b/decoder_sw/software/linux/h264high/Makefile +index 556ff71..7bdd99d 100755 +--- a/decoder_sw/software/linux/h264high/Makefile ++++ b/decoder_sw/software/linux/h264high/Makefile +@@ -50,10 +50,10 @@ CLEAR_HDRINFO_IN_SEEK = n + DEBUG = y + # Add your debugging flag (or not) to CFLAGS + ifeq ($(DEBUG),y) +- CFLAGS = $(M32) -g -O0 ++ CFLAGS += $(M32) -g -O0 + DEBFLAGS = -DDEBUG -D_ASSERT_USED -D_RANGE_CHECK -D_ERROR_PRINT + else +- CFLAGS = $(M32) -O3 ++ CFLAGS += $(M32) -O3 + DEBFLAGS = -DNDEBUG + endif + +diff --git a/decoder_sw/software/linux/vp6/Makefile b/decoder_sw/software/linux/vp6/Makefile +index b6e6914..b933d46 100755 +--- a/decoder_sw/software/linux/vp6/Makefile ++++ b/decoder_sw/software/linux/vp6/Makefile +@@ -50,10 +50,10 @@ DEBUG = y + + # Add your debugging flag (or not) to CFLAGS + ifeq ($(DEBUG),y) +- CFLAGS = -g -O0 ++ CFLAGS += -g -O0 + DEBFLAGS = -DDEBUG -D_ASSERT_USED -D_ERROR_PRINT + else +- CFLAGS = -O3 ++ CFLAGS += -O3 + DEBFLAGS = -DNDEBUG + endif + +-- +2.35.3 + diff --git a/recipes-bsp/imx-vpu-hantro/imx-vpu-hantro_1.27.0.bb b/recipes-bsp/imx-vpu-hantro/imx-vpu-hantro_1.27.0.bb index 473d747c..35adecf8 100644 --- a/recipes-bsp/imx-vpu-hantro/imx-vpu-hantro_1.27.0.bb +++ b/recipes-bsp/imx-vpu-hantro/imx-vpu-hantro_1.27.0.bb @@ -6,7 +6,10 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=5a0bf11f745e68024f37b4724a5364fe" PROVIDES = "virtual/imxvpu" -SRC_URI = "${FSL_MIRROR}/${BP}.bin;fsl-eula=true" +SRC_URI = " \ + ${FSL_MIRROR}/${BP}.bin;fsl-eula=true \ + file://0001-buildsystem-don-t-ignore-externally-set-cflags.patch \ +" SRC_URI[md5sum] = "cfa0e92da0eca9cf622c4d7abc618cef" SRC_URI[sha256sum] = "7e9bcdbd067ce66a1247373cbf088945346feb0027deb61af541ebc1256277c3" -- cgit v1.2.3-54-g00ecf From f367f1c4f294414e6e5bf2ae9eb22aef69a84c5f Mon Sep 17 00:00:00 2001 From: Max Krummenacher Date: Mon, 21 Nov 2022 09:41:51 +0100 Subject: imx-vpu-hantro-daemon: upgrade from 1.1.3 to 1.1.4 Update to the version used in lf5.15.52_2.1.0. Signed-off-by: Max Krummenacher --- .../imx-vpu-hantro/imx-vpu-hantro-daemon_1.1.3.bb | 29 ---------------------- .../imx-vpu-hantro/imx-vpu-hantro-daemon_1.1.4.bb | 29 ++++++++++++++++++++++ 2 files changed, 29 insertions(+), 29 deletions(-) delete mode 100644 recipes-bsp/imx-vpu-hantro/imx-vpu-hantro-daemon_1.1.3.bb create mode 100644 recipes-bsp/imx-vpu-hantro/imx-vpu-hantro-daemon_1.1.4.bb diff --git a/recipes-bsp/imx-vpu-hantro/imx-vpu-hantro-daemon_1.1.3.bb b/recipes-bsp/imx-vpu-hantro/imx-vpu-hantro-daemon_1.1.3.bb deleted file mode 100644 index 30c31a2e..00000000 --- a/recipes-bsp/imx-vpu-hantro/imx-vpu-hantro-daemon_1.1.3.bb +++ /dev/null @@ -1,29 +0,0 @@ -# Copyright 2021 NXP -DESCRIPTION = "i.MX Hantro V4L2 Daemon" -LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=cd8bc2a79509c22fc9c1782a151210b1" - -DEPENDS = "imx-vpu-hantro" -DEPENDS:append:mx8mp-nxp-bsp = " imx-vpu-hantro-vc" - -SRC_URI = "${FSL_MIRROR}/${BP}.tar.gz" -SRC_URI[md5sum] = "657af53a73fa9898ef7725dd26934079" -SRC_URI[sha256sum] = "75f857ddfc53341c425d6dac0e6eb9b5c0281b90b6f6de3ff1b64962d52399c5" - -PLATFORM:mx8mm-nxp-bsp = "IMX8MM" -PLATFORM:mx8mq-nxp-bsp = "IMX8MQ" -PLATFORM:mx8mp-nxp-bsp = "IMX8MP" - -EXTRA_OEMAKE = " \ - CROSS_COMPILE="${HOST_PREFIX}" \ - SDKTARGETSYSROOT="${STAGING_DIR_TARGET}" \ - CTRLSW_HDRPATH="${STAGING_INCDIR}" \ - PLATFORM="${PLATFORM}" \ -" - -do_install () { - oe_runmake install DEST_DIR="${D}" -} - -PACKAGE_ARCH = "${MACHINE_SOCARCH}" -COMPATIBLE_MACHINE = "(mx8mq-nxp-bsp|mx8mm-nxp-bsp|mx8mp-nxp-bsp)" diff --git a/recipes-bsp/imx-vpu-hantro/imx-vpu-hantro-daemon_1.1.4.bb b/recipes-bsp/imx-vpu-hantro/imx-vpu-hantro-daemon_1.1.4.bb new file mode 100644 index 00000000..b5e1d0e1 --- /dev/null +++ b/recipes-bsp/imx-vpu-hantro/imx-vpu-hantro-daemon_1.1.4.bb @@ -0,0 +1,29 @@ +# Copyright 2021 NXP +DESCRIPTION = "i.MX Hantro V4L2 Daemon" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=cd8bc2a79509c22fc9c1782a151210b1" + +DEPENDS = "imx-vpu-hantro" +DEPENDS:append:mx8mp-nxp-bsp = " imx-vpu-hantro-vc" + +SRC_URI = "${FSL_MIRROR}/${BP}.tar.gz" +SRC_URI[md5sum] = "e4bdaa1e064e3959576f7dd5a2d89389" +SRC_URI[sha256sum] = "83ba2798564702d74ab65f6238f95f59247d983b846de1de4c19bdfaf6dabeb8" + +PLATFORM:mx8mm-nxp-bsp = "IMX8MM" +PLATFORM:mx8mq-nxp-bsp = "IMX8MQ" +PLATFORM:mx8mp-nxp-bsp = "IMX8MP" + +EXTRA_OEMAKE = " \ + CROSS_COMPILE="${HOST_PREFIX}" \ + SDKTARGETSYSROOT="${STAGING_DIR_TARGET}" \ + CTRLSW_HDRPATH="${STAGING_INCDIR}" \ + PLATFORM="${PLATFORM}" \ +" + +do_install () { + oe_runmake install DEST_DIR="${D}" +} + +PACKAGE_ARCH = "${MACHINE_SOCARCH}" +COMPATIBLE_MACHINE = "(mx8mq-nxp-bsp|mx8mm-nxp-bsp|mx8mp-nxp-bsp)" -- cgit v1.2.3-54-g00ecf From ea13c15063cdc54ac7d7b4fb41adc9b728f46906 Mon Sep 17 00:00:00 2001 From: Max Krummenacher Date: Mon, 21 Nov 2022 09:39:23 +0100 Subject: imx-vpu-hantro-vc: upgrade from 1.8.0 to 1.9.0 Update to the version used in lf5.15.52_2.1.0. License was updated to NXP EULA v39 August 2022. Signed-off-by: Max Krummenacher --- .../imx-vpu-hantro-vc/imx-vpu-hantro-vc_1.8.0.bb | 36 ---------------------- .../imx-vpu-hantro-vc/imx-vpu-hantro-vc_1.9.0.bb | 36 ++++++++++++++++++++++ 2 files changed, 36 insertions(+), 36 deletions(-) delete mode 100644 recipes-bsp/imx-vpu-hantro-vc/imx-vpu-hantro-vc_1.8.0.bb create mode 100644 recipes-bsp/imx-vpu-hantro-vc/imx-vpu-hantro-vc_1.9.0.bb diff --git a/recipes-bsp/imx-vpu-hantro-vc/imx-vpu-hantro-vc_1.8.0.bb b/recipes-bsp/imx-vpu-hantro-vc/imx-vpu-hantro-vc_1.8.0.bb deleted file mode 100644 index dc5a0e5c..00000000 --- a/recipes-bsp/imx-vpu-hantro-vc/imx-vpu-hantro-vc_1.8.0.bb +++ /dev/null @@ -1,36 +0,0 @@ -# Copyright (C) 2019-2021 NXP - -DESCRIPTION = "i.MX VC8000E Encoder library" -LICENSE = "Proprietary" -LIC_FILES_CHKSUM = "file://COPYING;md5=d3c315c6eaa43e07d8c130dc3a04a011" - -inherit fsl-eula-unpack - -SRC_URI = "${FSL_MIRROR}/${BP}.bin;fsl-eula=true" - -S = "${WORKDIR}/${BPN}-${PV}" - -SRC_URI[md5sum] = "228b06302ad0f0da13a160573c06bbf4" -SRC_URI[sha256sum] = "537fdbc20fbd1fb561b9a0d01ad843ea25c46e5a5cd184960fc9f1074674ddce" - -# SCR is the location and name of the Software Content Register file -# relative to ${D}${D_SUBDIR}. -SCR = "SCR.txt" - -do_install () { - install -d ${D}${D_SUBDIR} - cp -r ${S}/* ${D}${D_SUBDIR} - if [ -d "${D}/usr/lib" ] && [ "${D}/usr/lib" != "${D}${libdir}" ]; then - mv ${D}/usr/lib ${D}${libdir} - fi - rm ${D}${D_SUBDIR}/COPYING - if [ ! -f ${D}${D_SUBDIR}/${SCR} ]; then - bbfatal "Missing Software Content Register \"${D}${D_SUBDIR}/${SCR}\"" - fi - rm ${D}${D_SUBDIR}/${SCR} -} - -FILES:${PN} = "/" - -PACKAGE_ARCH = "${MACHINE_SOCARCH}" -COMPATIBLE_MACHINE = "(mx8mp-nxp-bsp)" diff --git a/recipes-bsp/imx-vpu-hantro-vc/imx-vpu-hantro-vc_1.9.0.bb b/recipes-bsp/imx-vpu-hantro-vc/imx-vpu-hantro-vc_1.9.0.bb new file mode 100644 index 00000000..26ebf181 --- /dev/null +++ b/recipes-bsp/imx-vpu-hantro-vc/imx-vpu-hantro-vc_1.9.0.bb @@ -0,0 +1,36 @@ +# Copyright 2019-2022 NXP + +DESCRIPTION = "i.MX VC8000E Encoder library" +LICENSE = "Proprietary" +LIC_FILES_CHKSUM = "file://COPYING;md5=5a0bf11f745e68024f37b4724a5364fe" + +inherit fsl-eula-unpack + +SRC_URI = "${FSL_MIRROR}/${BP}.bin;fsl-eula=true" + +S = "${WORKDIR}/${BPN}-${PV}" + +SRC_URI[md5sum] = "192b354d1c21836dc7338606e60b45ae" +SRC_URI[sha256sum] = "62b5ba3c4aab21d0d4be3eee9b204a9bb50b83b6140ee1a3b27c648809bdfbaa" + +# SCR is the location and name of the Software Content Register file +# relative to ${D}${D_SUBDIR}. +SCR = "SCR.txt" + +do_install () { + install -d ${D}${D_SUBDIR} + cp -r ${S}/* ${D}${D_SUBDIR} + if [ -d "${D}/usr/lib" ] && [ "${D}/usr/lib" != "${D}${libdir}" ]; then + mv ${D}/usr/lib ${D}${libdir} + fi + rm ${D}${D_SUBDIR}/COPYING + if [ ! -f ${D}${D_SUBDIR}/${SCR} ]; then + bbfatal "Missing Software Content Register \"${D}${D_SUBDIR}/${SCR}\"" + fi + rm ${D}${D_SUBDIR}/${SCR} +} + +FILES:${PN} = "/" + +PACKAGE_ARCH = "${MACHINE_SOCARCH}" +COMPATIBLE_MACHINE = "(mx8mp-nxp-bsp)" -- cgit v1.2.3-54-g00ecf From 89f45daf8422f2f30ac48e1ba23912ccab6a3eef Mon Sep 17 00:00:00 2001 From: Max Krummenacher Date: Mon, 21 Nov 2022 09:52:27 +0100 Subject: imx-dsp: upgrade from 2.0.0 to 2.0.1 Update to the version used in lf5.15.52_2.1.0. License was updated to NXP EULA v39 August 2022. Signed-off-by: Max Krummenacher --- recipes-multimedia/imx-dsp/imx-dsp_2.0.0.bb | 57 ----------------------------- recipes-multimedia/imx-dsp/imx-dsp_2.0.1.bb | 57 +++++++++++++++++++++++++++++ 2 files changed, 57 insertions(+), 57 deletions(-) delete mode 100644 recipes-multimedia/imx-dsp/imx-dsp_2.0.0.bb create mode 100644 recipes-multimedia/imx-dsp/imx-dsp_2.0.1.bb diff --git a/recipes-multimedia/imx-dsp/imx-dsp_2.0.0.bb b/recipes-multimedia/imx-dsp/imx-dsp_2.0.0.bb deleted file mode 100644 index 168ec603..00000000 --- a/recipes-multimedia/imx-dsp/imx-dsp_2.0.0.bb +++ /dev/null @@ -1,57 +0,0 @@ -# Copyright 2017-2022 NXP - -DESCRIPTION = "i.MX DSP Wrapper, Firmware Binary, Codec Libraries" -LICENSE = "Proprietary" -LIC_FILES_CHKSUM = "file://COPYING;md5=d3c315c6eaa43e07d8c130dc3a04a011" - -inherit fsl-eula-unpack autotools pkgconfig - -SRC_URI = "${FSL_MIRROR}/${BP}.bin;fsl-eula=true" - -SRC_URI[md5sum] = "34f77ef1078b842e4cd67dc87c4c35a1" -SRC_URI[sha256sum] = "c484a29ab880e8f7ec84d7df736bfa37817c41e64802f07140e9752ba9cd7956" - -EXTRA_OECONF = " \ - -datadir=${base_libdir}/firmware \ - --bindir=/unit_tests \ - ${@bb.utils.contains('TUNE_FEATURES', 'aarch64', '--enable-armv8', '', d)} \ -" - -RDEPENDS:${PN} += " imx-dsp-codec-ext" - -HIFI4_PLATFORM ?= "HIFI4_PLATFORM_IS_UNDEFINED" -HIFI4_PLATFORM:mx8qm-nxp-bsp = "imx8qmqxp" -HIFI4_PLATFORM:mx8qxp-nxp-bsp = "imx8qmqxp" -HIFI4_PLATFORM:mx8dx-nxp-bsp = "imx8qmqxp" -HIFI4_PLATFORM:mx8mp-nxp-bsp = "imx8mp" -HIFI4_PLATFORM:mx8ulp-nxp-bsp = "imx8ulp" - -UNSUPPORTED_TESTS = "dsp_tflm" -UNSUPPORTED_TESTS:mx8ulp-nxp-bsp = "" - -do_install:append () { - # Remove firmware not for this platform - find ${D}/${base_libdir}/firmware/imx/dsp -name hifi4_*.bin -not -name *${HIFI4_PLATFORM}* -exec rm {} \; - # Set the expected generic name for the firmware - mv ${D}/${base_libdir}/firmware/imx/dsp/hifi4_${HIFI4_PLATFORM}.bin ${D}/${base_libdir}/firmware/imx/dsp/hifi4.bin - # Remove unit tests not for this platform - for unsupported_test in ${UNSUPPORTED_TESTS}; do - find ${D}/unit_tests/DSP -name $unsupported_test* -exec rm {} \; - done -} - -FILES:${PN} = "${libdir}/imx-mm/audio-codec/dsp \ - ${libdir}/imx-mm/audio-codec/wrap \ - ${base_libdir}/firmware/imx/dsp \ - /unit_tests \ -" - -INSANE_SKIP:${PN} = "already-stripped arch ldflags dev-so" - -# Fix strip command failed: 'Unable to recognise the format of the input file' -INHIBIT_PACKAGE_STRIP = "1" -INHIBIT_PACKAGE_DEBUG_SPLIT = "1" -INHIBIT_SYSROOT_STRIP = "1" - -PACKAGE_ARCH = "${MACHINE_ARCH}" -COMPATIBLE_MACHINE = "(mx8qm-nxp-bsp|mx8qxp-nxp-bsp|mx8dx-nxp-bsp|mx8mp-nxp-bsp|mx8ulp-nxp-bsp)" diff --git a/recipes-multimedia/imx-dsp/imx-dsp_2.0.1.bb b/recipes-multimedia/imx-dsp/imx-dsp_2.0.1.bb new file mode 100644 index 00000000..9e634b60 --- /dev/null +++ b/recipes-multimedia/imx-dsp/imx-dsp_2.0.1.bb @@ -0,0 +1,57 @@ +# Copyright 2017-2022 NXP + +DESCRIPTION = "i.MX DSP Wrapper, Firmware Binary, Codec Libraries" +LICENSE = "Proprietary" +LIC_FILES_CHKSUM = "file://COPYING;md5=5a0bf11f745e68024f37b4724a5364fe" + +inherit fsl-eula-unpack autotools pkgconfig + +SRC_URI = "${FSL_MIRROR}/${BP}.bin;fsl-eula=true" + +SRC_URI[md5sum] = "71e18d4518551f665fa0258ccf6605b0" +SRC_URI[sha256sum] = "7441cf3cbdc12058f2841a708b1374c637d2a171cca17a348338ebf4580a417e" + +EXTRA_OECONF = " \ + -datadir=${base_libdir}/firmware \ + --bindir=/unit_tests \ + ${@bb.utils.contains('TUNE_FEATURES', 'aarch64', '--enable-armv8', '', d)} \ +" + +RDEPENDS:${PN} += " imx-dsp-codec-ext" + +HIFI4_PLATFORM ?= "HIFI4_PLATFORM_IS_UNDEFINED" +HIFI4_PLATFORM:mx8qm-nxp-bsp = "imx8qmqxp" +HIFI4_PLATFORM:mx8qxp-nxp-bsp = "imx8qmqxp" +HIFI4_PLATFORM:mx8dx-nxp-bsp = "imx8qmqxp" +HIFI4_PLATFORM:mx8mp-nxp-bsp = "imx8mp" +HIFI4_PLATFORM:mx8ulp-nxp-bsp = "imx8ulp" + +UNSUPPORTED_TESTS = "dsp_tflm" +UNSUPPORTED_TESTS:mx8ulp-nxp-bsp = "" + +do_install:append () { + # Remove firmware not for this platform + find ${D}/${base_libdir}/firmware/imx/dsp -name hifi4_*.bin -not -name *${HIFI4_PLATFORM}* -exec rm {} \; + # Set the expected generic name for the firmware + mv ${D}/${base_libdir}/firmware/imx/dsp/hifi4_${HIFI4_PLATFORM}.bin ${D}/${base_libdir}/firmware/imx/dsp/hifi4.bin + # Remove unit tests not for this platform + for unsupported_test in ${UNSUPPORTED_TESTS}; do + find ${D}/unit_tests/DSP -name $unsupported_test* -exec rm {} \; + done +} + +FILES:${PN} = "${libdir}/imx-mm/audio-codec/dsp \ + ${libdir}/imx-mm/audio-codec/wrap \ + ${base_libdir}/firmware/imx/dsp \ + /unit_tests \ +" + +INSANE_SKIP:${PN} = "already-stripped arch ldflags dev-so" + +# Fix strip command failed: 'Unable to recognise the format of the input file' +INHIBIT_PACKAGE_STRIP = "1" +INHIBIT_PACKAGE_DEBUG_SPLIT = "1" +INHIBIT_SYSROOT_STRIP = "1" + +PACKAGE_ARCH = "${MACHINE_ARCH}" +COMPATIBLE_MACHINE = "(mx8qm-nxp-bsp|mx8qxp-nxp-bsp|mx8dx-nxp-bsp|mx8mp-nxp-bsp|mx8ulp-nxp-bsp)" -- cgit v1.2.3-54-g00ecf From cedda4fdd6219e1081ce1bf60b14c08e3ce6f3d9 Mon Sep 17 00:00:00 2001 From: Max Krummenacher Date: Mon, 21 Nov 2022 09:55:07 +0100 Subject: imx-dsp-codec-ext: upgrade from 2.0.0 to 2.0.1 Update to the version used in lf5.15.52_2.1.0. License was updated to NXP EULA v39 August 2022. Signed-off-by: Max Krummenacher --- .../imx-dsp/imx-dsp-codec-ext_2.0.0.bb | 21 --------------------- .../imx-dsp/imx-dsp-codec-ext_2.0.1.bb | 21 +++++++++++++++++++++ 2 files changed, 21 insertions(+), 21 deletions(-) delete mode 100644 recipes-multimedia/imx-dsp/imx-dsp-codec-ext_2.0.0.bb create mode 100644 recipes-multimedia/imx-dsp/imx-dsp-codec-ext_2.0.1.bb diff --git a/recipes-multimedia/imx-dsp/imx-dsp-codec-ext_2.0.0.bb b/recipes-multimedia/imx-dsp/imx-dsp-codec-ext_2.0.0.bb deleted file mode 100644 index f383615d..00000000 --- a/recipes-multimedia/imx-dsp/imx-dsp-codec-ext_2.0.0.bb +++ /dev/null @@ -1,21 +0,0 @@ -# Copyright 2018-2021 NXP - -DESCRIPTION = "i.MX DSP Codec Wrapper and Lib owned by NXP" -LICENSE = "Proprietary" -LIC_FILES_CHKSUM = "file://COPYING;md5=d3c315c6eaa43e07d8c130dc3a04a011" - -inherit fsl-eula-unpack autotools pkgconfig - -SRC_URI = "${FSL_MIRROR}/${BP}.bin;fsl-eula=true" - -SRC_URI[md5sum] = "371a550b9ade88cf355d45c68813f375" -SRC_URI[sha256sum] = "4307c0a625c73a1a1e5ab321834488d52471c434807ab81b9dd038b4cff5903b" - -# Fix strip command failed: 'Unable to recognise the format of the input file' -INHIBIT_PACKAGE_STRIP = "1" -INHIBIT_SYSROOT_STRIP = "1" -INHIBIT_PACKAGE_DEBUG_SPLIT = "1" -INSANE_SKIP:${PN} = "arch dev-so" - -FILES:${PN} += "${libdir}/imx-mm/audio-codec ${datadir}/imx-mm" -COMPATIBLE_MACHINE = "(mx8qm-nxp-bsp|mx8qxp-nxp-bsp|mx8dx-nxp-bsp|mx8mp-nxp-bsp|mx8ulp-nxp-bsp)" diff --git a/recipes-multimedia/imx-dsp/imx-dsp-codec-ext_2.0.1.bb b/recipes-multimedia/imx-dsp/imx-dsp-codec-ext_2.0.1.bb new file mode 100644 index 00000000..1ee90c38 --- /dev/null +++ b/recipes-multimedia/imx-dsp/imx-dsp-codec-ext_2.0.1.bb @@ -0,0 +1,21 @@ +# Copyright 2018-2021 NXP + +DESCRIPTION = "i.MX DSP Codec Wrapper and Lib owned by NXP" +LICENSE = "Proprietary" +LIC_FILES_CHKSUM = "file://COPYING;md5=5a0bf11f745e68024f37b4724a5364fe" + +inherit fsl-eula-unpack autotools pkgconfig + +SRC_URI = "${FSL_MIRROR}/${BP}.bin;fsl-eula=true" + +SRC_URI[md5sum] = "bb533c612e688d1ad0de028f19fefbf5" +SRC_URI[sha256sum] = "8f26dd1bdd08c4136da0fd67342cbac1c5c2f95a0dc33b1d71a64e0f8e1938a7" + +# Fix strip command failed: 'Unable to recognise the format of the input file' +INHIBIT_PACKAGE_STRIP = "1" +INHIBIT_SYSROOT_STRIP = "1" +INHIBIT_PACKAGE_DEBUG_SPLIT = "1" +INSANE_SKIP:${PN} = "arch dev-so" + +FILES:${PN} += "${libdir}/imx-mm/audio-codec ${datadir}/imx-mm" +COMPATIBLE_MACHINE = "(mx8qm-nxp-bsp|mx8qxp-nxp-bsp|mx8dx-nxp-bsp|mx8mp-nxp-bsp|mx8ulp-nxp-bsp)" -- cgit v1.2.3-54-g00ecf From e55609e8f1678f74528320b1788f5c26b9aa13ff Mon Sep 17 00:00:00 2001 From: Max Krummenacher Date: Mon, 21 Nov 2022 13:58:56 +0100 Subject: imx-vpuwrap: upgrade from MM_04.07.00_2205_L5.15.y to MM_04.07.01_2208_L5.15.y Update to the version used in lf5.15.52_2.1.0. License was updated to NXP EULA v39 August 2022. Commit history: * bb1a5f3 Update EULA.txt to v39 according to imx-release-info * 0d28bf2 Update EULA.txt to v38 according to imx-release-info * b12ca6a Update EULA.txt to v37 according to imx-release-info * c6d52a5 Update EULA.txt to v36 according to imx-release-info * 7fbaf32 MMFMWK-9106 Add QpMin and QpMax property for 8mm/8mp * 06e3543 [configurea.ac] Update version to 4.7.1 for next release Signed-off-by: Max Krummenacher --- recipes-multimedia/imx-vpuwrap/imx-vpuwrap_git.bb | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/recipes-multimedia/imx-vpuwrap/imx-vpuwrap_git.bb b/recipes-multimedia/imx-vpuwrap/imx-vpuwrap_git.bb index 240eab49..e2c69082 100644 --- a/recipes-multimedia/imx-vpuwrap/imx-vpuwrap_git.bb +++ b/recipes-multimedia/imx-vpuwrap/imx-vpuwrap_git.bb @@ -1,18 +1,18 @@ # Copyright (C) 2013-2016 Freescale Semiconductor -# Copyright (C) 2017-2021 NXP +# Copyright 2017-2022 NXP # Released under the MIT license (see COPYING.MIT for the terms) DESCRIPTION = "Freescale Multimedia VPU wrapper" LICENSE = "Proprietary" SECTION = "multimedia" -LIC_FILES_CHKSUM = "file://COPYING;md5=d3c315c6eaa43e07d8c130dc3a04a011" +LIC_FILES_CHKSUM = "file://COPYING;md5=5a0bf11f745e68024f37b4724a5364fe" DEPENDS = "virtual/imxvpu" DEPENDS:append:mx8mp-nxp-bsp = " imx-vpu-hantro-vc" SRC_URI = "git://github.com/NXP/imx-vpuwrap.git;protocol=https;branch=${SRCBRANCH}" -SRCBRANCH = "MM_04.07.00_2205_L5.15.y" -SRCREV = "0e417b0ade3e55b5fb639d20c419b05aa31ab329" +SRCBRANCH = "MM_04.07.01_2208_L5.15.y" +SRCREV = "bb1a5f300eec0b89d7127446eb78d479c23ff7da" S = "${WORKDIR}/git" -- cgit v1.2.3-54-g00ecf From 34077f988461dbb54095e85ea44f8c7c3b959189 Mon Sep 17 00:00:00 2001 From: Max Krummenacher Date: Mon, 21 Nov 2022 14:11:09 +0100 Subject: imx-alsa-plugins: upgrade from MM_04.07.00_2205_L5.15.y to MM_04.07.01_2208_L5.15.y Update to the version used in lf5.15.52_2.1.0. Commit history: * a9643b8 LF-6596 swpdm: refine the gain setting * 6fc1604 LF-6274-2: swpdm: Support channel 1/2/3 * 61215bc LF-6274-1: swpdm: fix swpdm document Signed-off-by: Max Krummenacher --- recipes-multimedia/alsa/imx-alsa-plugins_git.bb | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/recipes-multimedia/alsa/imx-alsa-plugins_git.bb b/recipes-multimedia/alsa/imx-alsa-plugins_git.bb index 1a53131d..38d00b8e 100644 --- a/recipes-multimedia/alsa/imx-alsa-plugins_git.bb +++ b/recipes-multimedia/alsa/imx-alsa-plugins_git.bb @@ -1,5 +1,5 @@ -# Copyright (C) 2013-2016 Freescale Semiconductor -# Copyright (C) 2017-2019 NXP +# Copyright 2013-2016 Freescale Semiconductor +# Copyright 2017-2022 NXP # Released under the MIT license (see COPYING.MIT for the terms) DESCRIPTION = "Freescale alsa-lib plugins" @@ -19,9 +19,9 @@ inherit autotools pkgconfig use-imx-headers PV = "1.0.26+${SRCPV}" -SRC_URI = "git://source.codeaurora.org/external/imx/imx-alsa-plugins.git;protocol=https;branch=${SRCBRANCH}" -SRCBRANCH = "MM_04.07.00_2205_L5.15.y" -SRCREV = "0f32bca96f7027c0c1145b27d1790541d34fb84c" +SRC_URI = "git://github.com/nxp-imx/imx-alsa-plugins.git;protocol=https;branch=${SRCBRANCH}" +SRCBRANCH = "MM_04.07.01_2208_L5.15.y" +SRCREV = "a9643b8820dd89b7a8c99941a90e9498f1b68c14" S = "${WORKDIR}/git" -- cgit v1.2.3-54-g00ecf From 7defe6a97494f817a10f43c70ed71fe313c7926e Mon Sep 17 00:00:00 2001 From: Max Krummenacher Date: Mon, 21 Nov 2022 15:46:38 +0100 Subject: gstreamer1.0: upgrade from MM_04.07.00_2205_L5.15.y to MM_04.07.01_2208_L5.15.y Update to the version used in lf5.15.52_2.1.0. No code changes, but the git repo was moved to github and a new branch used. Pull those changes in to be consistent with the plugin recipes. Signed-off-by: Max Krummenacher --- recipes-multimedia/gstreamer/gstreamer1.0_1.20.0.imx.bb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/recipes-multimedia/gstreamer/gstreamer1.0_1.20.0.imx.bb b/recipes-multimedia/gstreamer/gstreamer1.0_1.20.0.imx.bb index 3c9424e2..464b8ce0 100644 --- a/recipes-multimedia/gstreamer/gstreamer1.0_1.20.0.imx.bb +++ b/recipes-multimedia/gstreamer/gstreamer1.0_1.20.0.imx.bb @@ -88,8 +88,8 @@ DEFAULT_PREFERENCE = "-1" # Use i.MX fork of GST for customizations SRC_URI:remove = "https://gstreamer.freedesktop.org/src/gstreamer/gstreamer-${PV}.tar.xz" SRC_URI:prepend = "${GST1.0_SRC};branch=${SRCBRANCH} " -GST1.0_SRC ?= "gitsm://source.codeaurora.org/external/imx/gstreamer.git;protocol=https" -SRCBRANCH = "MM_04.07.00_2205_L5.15.y" +GST1.0_SRC ?= "gitsm://github.com/nxp-imx/gstreamer.git;protocol=https" +SRCBRANCH = "MM_04.07.01_2208_L5.15.y" SRCREV = "7afc123bc6974d68795f97466eb83ec7a093fb9b" S = "${WORKDIR}/git" -- cgit v1.2.3-54-g00ecf From c8a9a04c5df4f6e8fd26b9df725a9ccecde137e0 Mon Sep 17 00:00:00 2001 From: Max Krummenacher Date: Mon, 21 Nov 2022 15:35:56 +0100 Subject: gstreamer1.0-plugins-base: upgrade from MM_04.07.00_2205_L5.15.y to MM_04.07.01_2208_L5.15.y Update to the version used in lf5.15.52_2.1.0. Commit history: * db100facd MMFMWK-9073 gstimxcommon.h: add support for mx93 Signed-off-by: Max Krummenacher --- .../gstreamer/gstreamer1.0-plugins-base_1.20.0.imx.bb | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_1.20.0.imx.bb b/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_1.20.0.imx.bb index 3cbd2179..e025b582 100644 --- a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_1.20.0.imx.bb +++ b/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_1.20.0.imx.bb @@ -113,9 +113,9 @@ SRC_URI:remove = " \ file://0003-viv-fb-Make-sure-config.h-is-included.patch \ file://0002-ssaparse-enhance-SSA-text-lines-parsing.patch" SRC_URI:prepend = "${GST1.0-PLUGINS-BASE_SRC};branch=${SRCBRANCH} " -GST1.0-PLUGINS-BASE_SRC ?= "gitsm://source.codeaurora.org/external/imx/gst-plugins-base.git;protocol=https" -SRCBRANCH = "MM_04.07.00_2205_L5.15.y" -SRCREV = "4b8559690bf7a66745cc65900baccd955b436d3c" +GST1.0-PLUGINS-BASE_SRC ?= "gitsm://github.com/nxp-imx/gst-plugins-base.git;protocol=https" +SRCBRANCH = "MM_04.07.01_2208_L5.15.y" +SRCREV = "db100facd1b3601c225bfac2fae7abc9f7a5f92c" S = "${WORKDIR}/git" -- cgit v1.2.3-54-g00ecf From 7b324fb978412efee459c6085c91caa4796839d0 Mon Sep 17 00:00:00 2001 From: Max Krummenacher Date: Mon, 21 Nov 2022 14:45:38 +0100 Subject: gstreamer1.0-plugins-good: upgrade from MM_04.07.00_2205_L5.15.y to MM_04.07.01_2208_L5.15.y Update to the version used in lf5.15.52_2.1.0. Commit history: * b83d1e4a3 LF-6577 v4l2: add capture buffer check and resize to avoid deadlock issue when seek * b9319a38b LF-6531 v4l2: revert "v4l2videodec: workaround for v4l2 driver multi-plane" * 5459be91d LF-6531 v4l2: fix the critical log when unreference the buffer which memory type is multi-plane and contain no valid data * 059ed0874 LF-6531 v4l2: support stream with V4L2_FIELD_SEQ_TB field * ba9d457b0 LF-6531 v4l2: add function to detect upstream amphion vpu driver * 1cf76472c MMFMWK-9092 v4l2: Fix race condition between orphaning and stopping allocator * f5566b038 LF-6195 v4l2: Reset transfer in gst_v4l2_object_acquire_format() * dd7ae2aee v4l2: set default resolution if caps has no such information * fa45cf501 MMFMWK-9116 v4l2videodec: Fix output state memory leak Signed-off-by: Max Krummenacher --- .../gstreamer/gstreamer1.0-plugins-good_1.20.0.imx.bb | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good_1.20.0.imx.bb b/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good_1.20.0.imx.bb index cb762982..4b38fda2 100644 --- a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good_1.20.0.imx.bb +++ b/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good_1.20.0.imx.bb @@ -99,9 +99,9 @@ DEPENDS_V4L2 = "${@bb.utils.contains_any('DISTRO_FEATURES', 'wayland x11', '', ' SRC_URI:remove = "https://gstreamer.freedesktop.org/src/gst-plugins-good/gst-plugins-good-${PV}.tar.xz" SRC_URI:prepend = "${GST1.0-PLUGINS-GOOD_SRC};branch=${SRCBRANCH} " -GST1.0-PLUGINS-GOOD_SRC ?= "gitsm://source.codeaurora.org/external/imx/gst-plugins-good.git;protocol=https" -SRCBRANCH = "MM_04.07.00_2205_L5.15.y" -SRCREV = "4c58a36cfd4b2b16d8978b9592145fb46bb58732" +GST1.0-PLUGINS-GOOD_SRC ?= "gitsm://github.com/nxp-imx/gst-plugins-good.git;protocol=https" +SRCBRANCH = "MM_04.07.01_2208_L5.15.y" +SRCREV = "b83d1e4a3cd702bbe0cf4544aa2acc55796e4a0f" S = "${WORKDIR}/git" -- cgit v1.2.3-54-g00ecf From 3ad656c09f0959e7fa420c44b84fb5b09c39b3cb Mon Sep 17 00:00:00 2001 From: Max Krummenacher Date: Mon, 21 Nov 2022 15:42:57 +0100 Subject: gstreamer1.0-plugins-bad: upgrade from MM_04.07.00_2205_L5.15.y to MM_04.07.01_2208_L5.15.y Update to the version used in lf5.15.52_2.1.0. Commit history: * a9c9d17bb wlwindow: fix 8qxp and 8qm video playback performance issue * 8ecf6a59f MMFMWK-9073 waylandsink: set as default videosink for mx93 Signed-off-by: Max Krummenacher --- recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.20.0.imx.bb | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.20.0.imx.bb b/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.20.0.imx.bb index 5f422a1f..71160fad 100644 --- a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.20.0.imx.bb +++ b/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.20.0.imx.bb @@ -184,9 +184,9 @@ SRC_URI:remove = "https://gstreamer.freedesktop.org/src/gst-plugins-bad/gst-plug file://0005-msdk-fix-includedir-path.patch \ " SRC_URI:prepend = "${GST1.0-PLUGINS-BAD_SRC};branch=${SRCBRANCH} " -GST1.0-PLUGINS-BAD_SRC ?= "gitsm://source.codeaurora.org/external/imx/gst-plugins-bad.git;protocol=https" -SRCBRANCH = "MM_04.07.00_2205_L5.15.y" -SRCREV = "63a55f06f7e8f21b483c6d70d50389beb2e85e37" +GST1.0-PLUGINS-BAD_SRC ?= "gitsm://github.com/nxp-imx/gst-plugins-bad.git;protocol=https" +SRCBRANCH = "MM_04.07.01_2208_L5.15.y" +SRCREV = "a9c9d17bb3fc94f49f9c17fd965090949b7ba1cd" S = "${WORKDIR}/git" -- cgit v1.2.3-54-g00ecf From 867abd832e9d66a30909e763bd2d3407688e3c43 Mon Sep 17 00:00:00 2001 From: Max Krummenacher Date: Mon, 21 Nov 2022 14:25:12 +0100 Subject: imx-gst1.0-plugin: upgrade from 4.7.0 to 4.7.1 Update to the version used in lf5.15.52_2.1.0. Commit history: * f4410b7 LF-6531 imxcompositor: add video information handling by title format for upstream amphion vpu driver * befcd74 MKL-25625 imx2ddevice_pxp: add support to pxp new api and new formats * 2a26823 MMFMWK-9106 vpuenc: add QpMin and QpMax property for 8mm/8mp * d630a98 MMFMWK-9073 add support for imx93 * 6e9b88f [configurea.ac] Update version to 4.7.1 for next release Signed-off-by: Max Krummenacher --- .../gstreamer/imx-gst1.0-plugin_4.7.0.bb | 81 ---------------------- .../gstreamer/imx-gst1.0-plugin_4.7.1.bb | 81 ++++++++++++++++++++++ 2 files changed, 81 insertions(+), 81 deletions(-) delete mode 100644 recipes-multimedia/gstreamer/imx-gst1.0-plugin_4.7.0.bb create mode 100644 recipes-multimedia/gstreamer/imx-gst1.0-plugin_4.7.1.bb diff --git a/recipes-multimedia/gstreamer/imx-gst1.0-plugin_4.7.0.bb b/recipes-multimedia/gstreamer/imx-gst1.0-plugin_4.7.0.bb deleted file mode 100644 index 585113a4..00000000 --- a/recipes-multimedia/gstreamer/imx-gst1.0-plugin_4.7.0.bb +++ /dev/null @@ -1,81 +0,0 @@ -# Copyright (C) 2014,2016 Freescale Semiconductor -# Copyright 2017-2021 NXP -# Copyright (C) 2012-2015 O.S. Systems Software LTDA. -# Released under the MIT license (see COPYING.MIT for the terms) - -DESCRIPTION = "Gstreamer freescale plugins" -LICENSE = "GPL-2.0-only & LGPL-2.0-only & LGPL-2.1-only" -SECTION = "multimedia" - -DEPENDS = "imx-codec imx-parser gstreamer1.0 gstreamer1.0-plugins-base gstreamer1.0-plugins-bad" -DEPENDS:append:mx6-nxp-bsp = " imx-lib" -DEPENDS:append:mx7-nxp-bsp = " imx-lib" -DEPENDS:append:mx8ulp-nxp-bsp = " imx-lib" -DEPENDS:append:imxvpu = " imx-vpuwrap" -DEPENDS:append:imxfbdev:imxgpu = " libdrm" - -# For backwards compatibility -RREPLACES:${PN} = "gst1.0-fsl-plugin" -RPROVIDES:${PN} = "gst1.0-fsl-plugin" -RCONFLICTS:${PN} = "gst1.0-fsl-plugin" - -LIC_FILES_CHKSUM = "file://COPYING-LGPL-2;md5=5f30f0716dfdd0d91eb439ebec522ec2 \ - file://COPYING-LGPL-2.1;md5=fbc093901857fcd118f065f900982c24" - -SRC_URI = "git://source.codeaurora.org/external/imx/imx-gst1.0-plugin.git;protocol=https;branch=${SRCBRANCH}" -SRCBRANCH = "MM_04.07.00_2205_L5.15.y" -SRCREV = "d0b26997556983c99d7b3e7663577f090df36240" - -S = "${WORKDIR}/git" - -inherit meson pkgconfig use-imx-headers - -PLATFORM:mx6-nxp-bsp = "MX6" -PLATFORM:mx6sl-nxp-bsp = "MX6SL" -PLATFORM:mx6sx-nxp-bsp = "MX6SX" -PLATFORM:mx6ul-nxp-bsp = "MX6UL" -PLATFORM:mx6sll-nxp-bsp = "MX6SLL" -PLATFORM:mx7-nxp-bsp= "MX7D" -PLATFORM:mx7ulp-nxp-bsp= "MX7ULP" -PLATFORM:mx8-nxp-bsp = "MX8" - -# Todo add a mechanism to map possible build targets -EXTRA_OEMESON = "-Dplatform=${PLATFORM} \ - -Dc_args="${CFLAGS} -I${STAGING_INCDIR_IMX}" \ -" - -PACKAGES =+ "${PN}-gplay ${PN}-libgplaycore ${PN}-libgstfsl ${PN}-grecorder ${PN}-librecorder-engine ${PN}-libplayengine" - -# Add codec list that the beep plugin run-time depended -BEEP_RDEPENDS = "imx-codec-aac imx-codec-mp3 imx-codec-oggvorbis" -RDEPENDS:${PN} += "imx-parser ${BEEP_RDEPENDS} gstreamer1.0-plugins-good-id3demux " -RDEPENDS:${PN}:append:mx8qm-nxp-bsp = " imx-dsp" -RDEPENDS:${PN}:append:mx8qxp-nxp-bsp = " imx-dsp" -RDEPENDS:${PN}:append:mx8dx-nxp-bsp = " imx-dsp" -RDEPENDS:${PN}:append:mx8mp-nxp-bsp = " imx-dsp" -RDEPENDS:${PN}:append:mx8ulp-nxp-bsp = " imx-dsp" - -PACKAGECONFIG ?= "" - -# FIXME: Add all features -# feature from excluded mm packages -PACKAGECONFIG[ac3] = ",,imx-ac3codec,imx-ac3codec" -# feature from special mm packages -PACKAGECONFIG[aacp] = ",,imx-aacpcodec,imx-aacpcodec" -MSDEPENDS = "imx-msparser imx-mscodec" -PACKAGECONFIG[wma10dec] = ",,${MSDEPENDS},${MSDEPENDS}" -PACKAGECONFIG[wma8enc] = ",,${MSDEPENDS},${MSDEPENDS}" - -FILES:${PN} = "${libdir}/gstreamer-1.0/*.so ${datadir}" - -FILES:${PN}-dbg += "${libdir}/gstreamer-1.0/.debug" -FILES:${PN}-dev += "${libdir}/gstreamer-1.0/*.la ${libdir}/pkgconfig/*.pc" -FILES:${PN}-staticdev += "${libdir}/gstreamer-1.0/*.a" -FILES:${PN}-gplay = "${bindir}/gplay-1.0" -FILES:${PN}-libgplaycore = "${libdir}/libgplaycore-1.0${SOLIBS}" -FILES:${PN}-libgstfsl = "${libdir}/libgstfsl-1.0${SOLIBS}" -FILES:${PN}-grecorder = "${bindir}/grecorder-1.0" -FILES:${PN}-librecorder-engine = "${libdir}/librecorder_engine-1.0${SOLIBS}" -FILES:${PN}-libplayengine = "${libdir}/libplayengine-1.0${SOLIBS}" - -COMPATIBLE_MACHINE = "(imx-nxp-bsp)" diff --git a/recipes-multimedia/gstreamer/imx-gst1.0-plugin_4.7.1.bb b/recipes-multimedia/gstreamer/imx-gst1.0-plugin_4.7.1.bb new file mode 100644 index 00000000..d174b70c --- /dev/null +++ b/recipes-multimedia/gstreamer/imx-gst1.0-plugin_4.7.1.bb @@ -0,0 +1,81 @@ +# Copyright (C) 2014,2016 Freescale Semiconductor +# Copyright 2017-2021 NXP +# Copyright (C) 2012-2015 O.S. Systems Software LTDA. +# Released under the MIT license (see COPYING.MIT for the terms) + +DESCRIPTION = "Gstreamer freescale plugins" +LICENSE = "GPL-2.0-only & LGPL-2.0-only & LGPL-2.1-only" +SECTION = "multimedia" + +DEPENDS = "imx-codec imx-parser gstreamer1.0 gstreamer1.0-plugins-base gstreamer1.0-plugins-bad" +DEPENDS:append:mx6-nxp-bsp = " imx-lib" +DEPENDS:append:mx7-nxp-bsp = " imx-lib" +DEPENDS:append:mx8ulp-nxp-bsp = " imx-lib" +DEPENDS:append:imxvpu = " imx-vpuwrap" +DEPENDS:append:imxfbdev:imxgpu = " libdrm" + +# For backwards compatibility +RREPLACES:${PN} = "gst1.0-fsl-plugin" +RPROVIDES:${PN} = "gst1.0-fsl-plugin" +RCONFLICTS:${PN} = "gst1.0-fsl-plugin" + +LIC_FILES_CHKSUM = "file://COPYING-LGPL-2;md5=5f30f0716dfdd0d91eb439ebec522ec2 \ + file://COPYING-LGPL-2.1;md5=fbc093901857fcd118f065f900982c24" + +SRC_URI = "git://github.com/nxp-imx/imx-gst1.0-plugin.git;protocol=https;branch=${SRCBRANCH}" +SRCBRANCH = "MM_04.07.01_2208_L5.15.y" +SRCREV = "f4410b70e8cb49ec0d522bb0681c5d9178cfc216" + +S = "${WORKDIR}/git" + +inherit meson pkgconfig use-imx-headers + +PLATFORM:mx6-nxp-bsp = "MX6" +PLATFORM:mx6sl-nxp-bsp = "MX6SL" +PLATFORM:mx6sx-nxp-bsp = "MX6SX" +PLATFORM:mx6ul-nxp-bsp = "MX6UL" +PLATFORM:mx6sll-nxp-bsp = "MX6SLL" +PLATFORM:mx7-nxp-bsp= "MX7D" +PLATFORM:mx7ulp-nxp-bsp= "MX7ULP" +PLATFORM:mx8-nxp-bsp = "MX8" + +# Todo add a mechanism to map possible build targets +EXTRA_OEMESON = "-Dplatform=${PLATFORM} \ + -Dc_args="${CFLAGS} -I${STAGING_INCDIR_IMX}" \ +" + +PACKAGES =+ "${PN}-gplay ${PN}-libgplaycore ${PN}-libgstfsl ${PN}-grecorder ${PN}-librecorder-engine ${PN}-libplayengine" + +# Add codec list that the beep plugin run-time depended +BEEP_RDEPENDS = "imx-codec-aac imx-codec-mp3 imx-codec-oggvorbis" +RDEPENDS:${PN} += "imx-parser ${BEEP_RDEPENDS} gstreamer1.0-plugins-good-id3demux " +RDEPENDS:${PN}:append:mx8qm-nxp-bsp = " imx-dsp" +RDEPENDS:${PN}:append:mx8qxp-nxp-bsp = " imx-dsp" +RDEPENDS:${PN}:append:mx8dx-nxp-bsp = " imx-dsp" +RDEPENDS:${PN}:append:mx8mp-nxp-bsp = " imx-dsp" +RDEPENDS:${PN}:append:mx8ulp-nxp-bsp = " imx-dsp" + +PACKAGECONFIG ?= "" + +# FIXME: Add all features +# feature from excluded mm packages +PACKAGECONFIG[ac3] = ",,imx-ac3codec,imx-ac3codec" +# feature from special mm packages +PACKAGECONFIG[aacp] = ",,imx-aacpcodec,imx-aacpcodec" +MSDEPENDS = "imx-msparser imx-mscodec" +PACKAGECONFIG[wma10dec] = ",,${MSDEPENDS},${MSDEPENDS}" +PACKAGECONFIG[wma8enc] = ",,${MSDEPENDS},${MSDEPENDS}" + +FILES:${PN} = "${libdir}/gstreamer-1.0/*.so ${datadir}" + +FILES:${PN}-dbg += "${libdir}/gstreamer-1.0/.debug" +FILES:${PN}-dev += "${libdir}/gstreamer-1.0/*.la ${libdir}/pkgconfig/*.pc" +FILES:${PN}-staticdev += "${libdir}/gstreamer-1.0/*.a" +FILES:${PN}-gplay = "${bindir}/gplay-1.0" +FILES:${PN}-libgplaycore = "${libdir}/libgplaycore-1.0${SOLIBS}" +FILES:${PN}-libgstfsl = "${libdir}/libgstfsl-1.0${SOLIBS}" +FILES:${PN}-grecorder = "${bindir}/grecorder-1.0" +FILES:${PN}-librecorder-engine = "${libdir}/librecorder_engine-1.0${SOLIBS}" +FILES:${PN}-libplayengine = "${libdir}/libplayengine-1.0${SOLIBS}" + +COMPATIBLE_MACHINE = "(imx-nxp-bsp)" -- cgit v1.2.3-54-g00ecf From 7f551ae01ebfa29b155671565885b711dee020c0 Mon Sep 17 00:00:00 2001 From: Max Krummenacher Date: Mon, 21 Nov 2022 17:19:19 +0100 Subject: kernel-module-isp-vvcam: upgrade from 4.2.2.18.0 to 4.2.2.19.0 Update to the version used in lf5.15.52_2.1.0. Commit history: * b26ee8a LF-6957: P19 os08a20 4K@30fps image is abnormal * c98a7dc LF-6890: media: isp: fix build error due to API renamed * 62545f6 M865SW-984: Reduce write isp registers' risks that leaded the vvext test met system hung issue. * 6b4cb8e M865SW-1031: the second isp port jump frames * 11110c0 LF-6655: ISP Camera: os08a20 4k@15fps ISP stiching HDR setting support * 6be15f1 LF-6619: CAPTURE: os08a20 4k@30fps linear mode support * 48fb81b LF-6601-1: Update vvcam P19 release for the vvcam * aa19ac5 fix the rmmod vvcam-isp kernel null point * 1481da2 add the isp multiply power domain device link ways. Signed-off-by: Max Krummenacher --- .../kernel-modules/kernel-module-isp-vvcam_4.2.2.18.0.bb | 16 ---------------- .../kernel-modules/kernel-module-isp-vvcam_4.2.2.19.0.bb | 16 ++++++++++++++++ 2 files changed, 16 insertions(+), 16 deletions(-) delete mode 100644 recipes-kernel/kernel-modules/kernel-module-isp-vvcam_4.2.2.18.0.bb create mode 100644 recipes-kernel/kernel-modules/kernel-module-isp-vvcam_4.2.2.19.0.bb diff --git a/recipes-kernel/kernel-modules/kernel-module-isp-vvcam_4.2.2.18.0.bb b/recipes-kernel/kernel-modules/kernel-module-isp-vvcam_4.2.2.18.0.bb deleted file mode 100644 index 078f6a61..00000000 --- a/recipes-kernel/kernel-modules/kernel-module-isp-vvcam_4.2.2.18.0.bb +++ /dev/null @@ -1,16 +0,0 @@ -# Copyright 2020-2021 NXP - -DESCRIPTION = "Kernel loadable module for ISP" -LICENSE = "GPL-2.0-only" -LIC_FILES_CHKSUM = "file://${S}/../LICENSE;md5=64381a6ea83b48c39fe524c85f65fb44" - -SRC_URI = "${ISP_KERNEL_SRC};branch=${SRCBRANCH}" -ISP_KERNEL_SRC ?= "git://source.codeaurora.org/external/imx/isp-vvcam.git;protocol=https" -SRCBRANCH = "lf-5.15.y_2.0.0" -SRCREV = "551415470092d6af1d7e11e7a78591f5800333f9" - -S = "${WORKDIR}/git/vvcam/v4l2" - -inherit module - -COMPATIBLE_MACHINE = "(mx8mp-nxp-bsp)" diff --git a/recipes-kernel/kernel-modules/kernel-module-isp-vvcam_4.2.2.19.0.bb b/recipes-kernel/kernel-modules/kernel-module-isp-vvcam_4.2.2.19.0.bb new file mode 100644 index 00000000..816d4acc --- /dev/null +++ b/recipes-kernel/kernel-modules/kernel-module-isp-vvcam_4.2.2.19.0.bb @@ -0,0 +1,16 @@ +# Copyright 2020-2021 NXP + +DESCRIPTION = "Kernel loadable module for ISP" +LICENSE = "GPL-2.0-only" +LIC_FILES_CHKSUM = "file://${S}/../LICENSE;md5=64381a6ea83b48c39fe524c85f65fb44" + +SRC_URI = "${ISP_KERNEL_SRC};branch=${SRCBRANCH}" +ISP_KERNEL_SRC ?= "git://github.com/nxp-imx/isp-vvcam.git;protocol=https" +SRCBRANCH = "lf-5.15.y_2.1.0" +SRCREV = "b26ee8a5402afd7488716e06d82147669c05eb4a" + +S = "${WORKDIR}/git/vvcam/v4l2" + +inherit module + +COMPATIBLE_MACHINE = "(mx8mp-nxp-bsp)" -- cgit v1.2.3-54-g00ecf From af6f0c510085280500372c07157e9edd68122d38 Mon Sep 17 00:00:00 2001 From: Max Krummenacher Date: Thu, 24 Nov 2022 18:43:21 +0100 Subject: kernel-module-isp-vvcam: prevent oe qa warning When building objects in a path like ${S}/../isp/isp_miv1.o the resulting object files do not get their paths rewriten with the bitbake.conf provided DEBUG_PREFIX_MAP rules. Set DEBUG_PREFIX_MAP to the parent of ${S} to prevent the following warnings: | WARNING: kernel-module-isp-vvcam-4.2.2.19.0-r0 do_package_qa: QA Issue: | File /lib/modules/5.15.77-5.15.77-2.1.0+g7547e8bfc01a/extra/sensor/ar1335/.debug/ar1335.ko in package kernel-module-isp-vvcam-dbg contains reference to TMPDIR | File /lib/modules/5.15.77-5.15.77-2.1.0+g7547e8bfc01a/extra/sensor/os08a20/.debug/os08a20.ko in package kernel-module-isp-vvcam-dbg contains reference to TMPDIR | File /lib/modules/5.15.77-5.15.77-2.1.0+g7547e8bfc01a/extra/sensor/ov2775/.debug/ov2775.ko in package kernel-module-isp-vvcam-dbg contains reference to TMPDIR | File /lib/modules/5.15.77-5.15.77-2.1.0+g7547e8bfc01a/extra/.debug/vvcam-dwe.ko in package kernel-module-isp-vvcam-dbg contains reference to TMPDIR | File /lib/modules/5.15.77-5.15.77-2.1.0+g7547e8bfc01a/extra/.debug/vvcam-isp.ko in package kernel-module-isp-vvcam-dbg contains reference to TMPDIR | File /lib/modules/5.15.77-5.15.77-2.1.0+g7547e8bfc01a/extra/focus/vcm_dw9790/.debug/vcm-dw9790.ko in package kernel-module-isp-vvcam-dbg contains reference to TMPDIR | File /lib/modules/5.15.77-5.15.77-2.1.0+g7547e8bfc01a/extra/video/.debug/vvcam-video.ko in package kernel-module-isp-vvcam-dbg contains reference to TMPDIR [buildpaths] Signed-off-by: Max Krummenacher --- .../kernel-modules/kernel-module-isp-vvcam_4.2.2.19.0.bb | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/recipes-kernel/kernel-modules/kernel-module-isp-vvcam_4.2.2.19.0.bb b/recipes-kernel/kernel-modules/kernel-module-isp-vvcam_4.2.2.19.0.bb index 816d4acc..05431165 100644 --- a/recipes-kernel/kernel-modules/kernel-module-isp-vvcam_4.2.2.19.0.bb +++ b/recipes-kernel/kernel-modules/kernel-module-isp-vvcam_4.2.2.19.0.bb @@ -10,6 +10,14 @@ SRCBRANCH = "lf-5.15.y_2.1.0" SRCREV = "b26ee8a5402afd7488716e06d82147669c05eb4a" S = "${WORKDIR}/git/vvcam/v4l2" +DEBUG_PREFIX_MAP = "-fmacro-prefix-map=${WORKDIR}/git/vvcam=/usr/src/debug/${PN}/${EXTENDPE}${PV}-${PR} \ + -fdebug-prefix-map=${WORKDIR}/git/vvcam=/usr/src/debug/${PN}/${EXTENDPE}${PV}-${PR} \ + -fmacro-prefix-map=${B}=/usr/src/debug/${PN}/${EXTENDPE}${PV}-${PR} \ + -fdebug-prefix-map=${B}=/usr/src/debug/${PN}/${EXTENDPE}${PV}-${PR} \ + -fdebug-prefix-map=${STAGING_DIR_HOST}= \ + -fmacro-prefix-map=${STAGING_DIR_HOST}= \ + -fdebug-prefix-map=${STAGING_DIR_NATIVE}= \ +" inherit module -- cgit v1.2.3-54-g00ecf From e1ab592ab03a1c75b85757aaf582e0139810f701 Mon Sep 17 00:00:00 2001 From: Max Krummenacher Date: Mon, 21 Nov 2022 16:20:35 +0100 Subject: isp-imx: upgrade from 4.2.2.18.0 to 4.2.2.19.0 Update to the version used in lf5.15.52_2.1.0. License was updated to NXP EULA v39 August 2022. Signed-off-by: Max Krummenacher --- recipes-bsp/isp-imx/isp-imx_4.2.2.18.0.bb | 88 ------------------------------ recipes-bsp/isp-imx/isp-imx_4.2.2.19.0.bb | 90 +++++++++++++++++++++++++++++++ 2 files changed, 90 insertions(+), 88 deletions(-) delete mode 100644 recipes-bsp/isp-imx/isp-imx_4.2.2.18.0.bb create mode 100644 recipes-bsp/isp-imx/isp-imx_4.2.2.19.0.bb diff --git a/recipes-bsp/isp-imx/isp-imx_4.2.2.18.0.bb b/recipes-bsp/isp-imx/isp-imx_4.2.2.18.0.bb deleted file mode 100644 index 177caa14..00000000 --- a/recipes-bsp/isp-imx/isp-imx_4.2.2.18.0.bb +++ /dev/null @@ -1,88 +0,0 @@ -# Copyright 2020-2022 NXP - -DESCRIPTION = "i.MX Verisilicon Software ISP" -LICENSE = "Proprietary" -LIC_FILES_CHKSUM = "file://COPYING;md5=d3c315c6eaa43e07d8c130dc3a04a011" -DEPENDS = "libdrm virtual/libg2d libtinyxml2" - -SRC_URI = "${FSL_MIRROR}/${BP}.bin;fsl-eula=true" -SRC_URI[md5sum] = "a20171db4bf2be423a587f3b610f0a69" -SRC_URI[sha256sum] = "468ae51223d1873a1a756a1e64a53c0c61ebd640b3810f3a9e912b6a0de6c3c8" - -inherit fsl-eula-unpack cmake systemd use-imx-headers - -# Build the sub-folder appshell -OECMAKE_SOURCEPATH = "${S}/appshell" - -# Use make instead of ninja -OECMAKE_GENERATOR = "Unix Makefiles" - -# Workaround for linking issues seen with gold linker -LDFLAGS:append = "${@bb.utils.contains('DISTRO_FEATURES', 'ld-is-gold', ' -fuse-ld=bfd ', '', d)}" - -SYSTEMD_SERVICE:${PN} = "imx8-isp.service" - -EXTRA_OECMAKE += " \ - -DSDKTARGETSYSROOT=${STAGING_DIR_HOST} \ - -DCMAKE_BUILD_TYPE=release \ - -DISP_VERSION=ISP8000NANO_V1802 \ - -DPLATFORM=ARM64 \ - -DAPPMODE=V4L2 \ - -DQTLESS=1 \ - -DFULL_SRC_COMPILE=1 \ - -DWITH_DRM=1 \ - -DWITH_DWE=1 \ - -DSERVER_LESS=1 \ - -DSUBDEV_V4L2=1 \ - -DENABLE_IRQ=1 \ - -DPARTITION_BUILD=0 \ - -D3A_SRC_BUILD=0 \ - -DIMX_G2D=ON \ - -Wno-dev \ -" - -do_install() { - install -d ${D}/${libdir} - install -d ${D}/${includedir} - install -d ${D}/opt/imx8-isp/bin - - cp -r ${B}/generated/release/bin/*_test ${D}/opt/imx8-isp/bin - cp -r ${B}/generated/release/bin/*2775* ${D}/opt/imx8-isp/bin - cp -r ${B}/generated/release/bin/*.xml ${D}/opt/imx8-isp/bin - cp -r ${B}/generated/release/bin/*.drv ${D}/opt/imx8-isp/bin - cp -r ${B}/generated/release/bin/isp_media_server ${D}/opt/imx8-isp/bin - cp -r ${B}/generated/release/bin/vvext ${D}/opt/imx8-isp/bin - cp -r ${B}/generated/release/lib/*.so* ${D}/${libdir} - cp -r ${B}/generated/release/include/* ${D}/${includedir} - - cp ${S}/imx/run.sh ${D}/opt/imx8-isp/bin - cp ${S}/imx/start_isp.sh ${D}/opt/imx8-isp/bin - - chmod +x ${D}/opt/imx8-isp/bin/run.sh - chmod +x ${D}/opt/imx8-isp/bin/start_isp.sh - - if ${@bb.utils.contains('DISTRO_FEATURES','systemd','true','false',d)}; then - install -d ${D}${systemd_system_unitdir} - install -m 0644 ${S}/imx/imx8-isp.service ${D}${systemd_system_unitdir} - fi -} - -# The build contains a mix of versioned and unversioned libraries, so -# the default packaging configuration needs some modification so that -# unversioned .so libraries go to the main package and versioned .so -# symlinks go to -dev. -FILES_SOLIBSDEV = "" -FILES_SOLIBS_VERSIONED = " \ - ${libdir}/libar1335.so \ - ${libdir}/libjsoncpp.so \ - ${libdir}/libos08a20.so \ - ${libdir}/libov2775.so \ -" -FILES:${PN} += "/opt ${libdir}/lib*${SOLIBSDEV}" -FILES:${PN}-dev += "${FILES_SOLIBS_VERSIONED}" - -INSANE_SKIP:${PN} = "rpaths" - -RDEPENDS:${PN} = "libdrm" - -COMPATIBLE_MACHINE = "(mx8mp-nxp-bsp)" diff --git a/recipes-bsp/isp-imx/isp-imx_4.2.2.19.0.bb b/recipes-bsp/isp-imx/isp-imx_4.2.2.19.0.bb new file mode 100644 index 00000000..ae96299a --- /dev/null +++ b/recipes-bsp/isp-imx/isp-imx_4.2.2.19.0.bb @@ -0,0 +1,90 @@ +# Copyright 2020-2022 NXP + +DESCRIPTION = "i.MX Verisilicon Software ISP" +LICENSE = "Proprietary" +LIC_FILES_CHKSUM = "file://COPYING;md5=5a0bf11f745e68024f37b4724a5364fe" +DEPENDS = "libdrm virtual/libg2d libtinyxml2" + +SRC_URI = "${FSL_MIRROR}/${BP}.bin;fsl-eula=true" +SRC_URI[md5sum] = "d0350ad40df96a84efc4802975f92c91" +SRC_URI[sha256sum] = "5544aef41546906bc4999de1980e4706cf241c93732633efde57b018ac4863c3" + +inherit fsl-eula-unpack cmake systemd use-imx-headers + +# Build the sub-folder appshell +OECMAKE_SOURCEPATH = "${S}/appshell" + +# Use make instead of ninja +OECMAKE_GENERATOR = "Unix Makefiles" + +# Workaround for linking issues seen with gold linker +LDFLAGS:append = "${@bb.utils.contains('DISTRO_FEATURES', 'ld-is-gold', ' -fuse-ld=bfd ', '', d)}" + +SYSTEMD_SERVICE:${PN} = "imx8-isp.service" + +EXTRA_OECMAKE += " \ + -DSDKTARGETSYSROOT=${STAGING_DIR_HOST} \ + -DCMAKE_BUILD_TYPE=release \ + -DISP_VERSION=ISP8000NANO_V1802 \ + -DPLATFORM=ARM64 \ + -DAPPMODE=V4L2 \ + -DQTLESS=1 \ + -DFULL_SRC_COMPILE=1 \ + -DWITH_DRM=1 \ + -DWITH_DWE=1 \ + -DSERVER_LESS=1 \ + -DSUBDEV_V4L2=1 \ + -DENABLE_IRQ=1 \ + -DPARTITION_BUILD=0 \ + -D3A_SRC_BUILD=0 \ + -DIMX_G2D=ON \ + -Wno-dev \ +" + +do_install() { + install -d ${D}/${libdir} + install -d ${D}/${includedir} + install -d ${D}/opt/imx8-isp/bin + install -d ${D}/opt/imx8-isp/bin/dewarp_config + + cp -r ${B}/generated/release/bin/*_test ${D}/opt/imx8-isp/bin + cp -r ${B}/generated/release/bin/*2775* ${D}/opt/imx8-isp/bin + cp -r ${B}/generated/release/bin/*.xml ${D}/opt/imx8-isp/bin + cp -r ${B}/generated/release/bin/*.drv ${D}/opt/imx8-isp/bin + cp -r ${WORKDIR}/${BP}/dewarp/dewarp_config/ ${D}/opt/imx8-isp/bin + cp -r ${B}/generated/release/bin/isp_media_server ${D}/opt/imx8-isp/bin + cp -r ${B}/generated/release/bin/vvext ${D}/opt/imx8-isp/bin + cp -r ${B}/generated/release/lib/*.so* ${D}/${libdir} + cp -r ${B}/generated/release/include/* ${D}/${includedir} + + cp ${S}/imx/run.sh ${D}/opt/imx8-isp/bin + cp ${S}/imx/start_isp.sh ${D}/opt/imx8-isp/bin + + chmod +x ${D}/opt/imx8-isp/bin/run.sh + chmod +x ${D}/opt/imx8-isp/bin/start_isp.sh + + if ${@bb.utils.contains('DISTRO_FEATURES','systemd','true','false',d)}; then + install -d ${D}${systemd_system_unitdir} + install -m 0644 ${S}/imx/imx8-isp.service ${D}${systemd_system_unitdir} + fi +} + +# The build contains a mix of versioned and unversioned libraries, so +# the default packaging configuration needs some modification so that +# unversioned .so libraries go to the main package and versioned .so +# symlinks go to -dev. +FILES_SOLIBSDEV = "" +FILES_SOLIBS_VERSIONED = " \ + ${libdir}/libar1335.so \ + ${libdir}/libjsoncpp.so \ + ${libdir}/libos08a20.so \ + ${libdir}/libov2775.so \ +" +FILES:${PN} += "/opt ${libdir}/lib*${SOLIBSDEV}" +FILES:${PN}-dev += "${FILES_SOLIBS_VERSIONED}" + +INSANE_SKIP:${PN} = "rpaths" + +RDEPENDS:${PN} = "libdrm" + +COMPATIBLE_MACHINE = "(mx8mp-nxp-bsp)" -- cgit v1.2.3-54-g00ecf From 58ccfda536668e7108111493a4f328e0e42b2cae Mon Sep 17 00:00:00 2001 From: Max Krummenacher Date: Thu, 24 Nov 2022 17:59:00 +0100 Subject: isp-imx: prevent oe qa warning As the recipe installs the file 'by hand' rather than using `make install` make sure that the binaries get their final RPATH set during do_compile rather than relying on the CMake produced RPATH magic in `make install`. | WARNING: isp-imx-4.2.2.19.0-r0 do_package_qa: QA Issue: File /usr/lib/libmedia_server.so in package isp-imx contains reference to TMPDIR | File /opt/imx8-isp/bin/isp_media_server in package isp-imx contains reference to TMPDIR [buildpaths] With this the 'INSANE_SKIP:${PN} = "rpaths"' is also no longer needed as the following error is also gone: | ERROR: isp-imx-4.2.2.19.0-r0 do_package_qa: QA Issue: package isp-imx contains bad RPATH $ORIGIN:/.../isp-imx-4.2.2.19.0/dewarp/proprietories/hal/lib: in file .../packages-split/isp-imx/usr/lib/libmedia_server.so | package isp-imx contains bad RPATH $ORIGIN/.../isp-imx-4.2.2.19.0/dewarp/proprietories/hal/lib in file .../packages-split/isp-imx/opt/imx8-isp/bin/isp_media_server [rpaths] Signed-off-by: Max Krummenacher --- recipes-bsp/isp-imx/isp-imx_4.2.2.19.0.bb | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/recipes-bsp/isp-imx/isp-imx_4.2.2.19.0.bb b/recipes-bsp/isp-imx/isp-imx_4.2.2.19.0.bb index ae96299a..19d0cba7 100644 --- a/recipes-bsp/isp-imx/isp-imx_4.2.2.19.0.bb +++ b/recipes-bsp/isp-imx/isp-imx_4.2.2.19.0.bb @@ -25,6 +25,7 @@ SYSTEMD_SERVICE:${PN} = "imx8-isp.service" EXTRA_OECMAKE += " \ -DSDKTARGETSYSROOT=${STAGING_DIR_HOST} \ -DCMAKE_BUILD_TYPE=release \ + -DCMAKE_BUILD_WITH_INSTALL_RPATH=ON \ -DISP_VERSION=ISP8000NANO_V1802 \ -DPLATFORM=ARM64 \ -DAPPMODE=V4L2 \ @@ -83,8 +84,6 @@ FILES_SOLIBS_VERSIONED = " \ FILES:${PN} += "/opt ${libdir}/lib*${SOLIBSDEV}" FILES:${PN}-dev += "${FILES_SOLIBS_VERSIONED}" -INSANE_SKIP:${PN} = "rpaths" - RDEPENDS:${PN} = "libdrm" COMPATIBLE_MACHINE = "(mx8mp-nxp-bsp)" -- cgit v1.2.3-54-g00ecf From 26d6bf62a88b4f0c6d4709a40ed9a8ee9b724b40 Mon Sep 17 00:00:00 2001 From: Max Krummenacher Date: Mon, 21 Nov 2022 16:20:35 +0100 Subject: basler-camera: upgrade from 4.2.2.18.0 to 4.2.2.19.0 Update to the version used in lf5.15.52_2.1.0. License was updated to NXP EULA v39 August 2022. Signed-off-by: Max Krummenacher --- recipes-bsp/isp-imx/basler-camera_4.2.2.18.0.bb | 28 ------------------------- recipes-bsp/isp-imx/basler-camera_4.2.2.19.0.bb | 28 +++++++++++++++++++++++++ 2 files changed, 28 insertions(+), 28 deletions(-) delete mode 100644 recipes-bsp/isp-imx/basler-camera_4.2.2.18.0.bb create mode 100644 recipes-bsp/isp-imx/basler-camera_4.2.2.19.0.bb diff --git a/recipes-bsp/isp-imx/basler-camera_4.2.2.18.0.bb b/recipes-bsp/isp-imx/basler-camera_4.2.2.18.0.bb deleted file mode 100644 index 41e59fc9..00000000 --- a/recipes-bsp/isp-imx/basler-camera_4.2.2.18.0.bb +++ /dev/null @@ -1,28 +0,0 @@ -# Copyright 2020-2022 NXP - -DESCRIPTION = "Basler camera binary drivers" -LICENSE = "Proprietary" -LIC_FILES_CHKSUM = "file://COPYING;md5=d3c315c6eaa43e07d8c130dc3a04a011" - -inherit fsl-eula-unpack - -SRC_URI = "${FSL_MIRROR}/${BPN}-${PV}.bin;fsl-eula=true" - -SRC_URI[md5sum] = "4bc72b07f608cbe13d318a63adb8f9dc" -SRC_URI[sha256sum] = "62393bcc11b6e8bb9918a29240fb57057870ec0cefff00042ee65d8a1fde081a" - -do_install() { - dest_dir=${D}/opt/imx8-isp/bin - install -d ${D}/${libdir} - install -d $dest_dir - cp -r ${S}/opt/imx8-isp/bin/* $dest_dir - cp -r ${S}/usr/lib/* ${D}/${libdir} -} - -SYSTEMD_AUTO_ENABLE = "enable" - -FILES:${PN} = "${libdir} /opt" -INSANE_SKIP:${PN} = "already-stripped" -RDEPENDS:${PN} += "isp-imx" - -COMPATIBLE_MACHINE = "(mx8mp-nxp-bsp)" diff --git a/recipes-bsp/isp-imx/basler-camera_4.2.2.19.0.bb b/recipes-bsp/isp-imx/basler-camera_4.2.2.19.0.bb new file mode 100644 index 00000000..e19ad6af --- /dev/null +++ b/recipes-bsp/isp-imx/basler-camera_4.2.2.19.0.bb @@ -0,0 +1,28 @@ +# Copyright 2020-2022 NXP + +DESCRIPTION = "Basler camera binary drivers" +LICENSE = "Proprietary" +LIC_FILES_CHKSUM = "file://COPYING;md5=5a0bf11f745e68024f37b4724a5364fe" + +inherit fsl-eula-unpack + +SRC_URI = "${FSL_MIRROR}/${BPN}-${PV}.bin;fsl-eula=true" + +SRC_URI[md5sum] = "99962b0cbba53ef773b7ac8cb50ce05a" +SRC_URI[sha256sum] = "fd2f71c854134683ac293393255d61b985e75d8dae2e090c99c21dff756017fb" + +do_install() { + dest_dir=${D}/opt/imx8-isp/bin + install -d ${D}/${libdir} + install -d $dest_dir + cp -r ${S}/opt/imx8-isp/bin/* $dest_dir + cp -r ${S}/usr/lib/* ${D}/${libdir} +} + +SYSTEMD_AUTO_ENABLE = "enable" + +FILES:${PN} = "${libdir} /opt" +INSANE_SKIP:${PN} = "already-stripped" +RDEPENDS:${PN} += "isp-imx" + +COMPATIBLE_MACHINE = "(mx8mp-nxp-bsp)" -- cgit v1.2.3-54-g00ecf From 5554647fa199375fb8e1aef657d5ff74ac115022 Mon Sep 17 00:00:00 2001 From: Max Krummenacher Date: Mon, 21 Nov 2022 19:11:36 +0100 Subject: opencv: imx: update the i.mx fork to 4.6.0 - Pull in the 4.6.0 meta-openembedded copy plus https://lore.kernel.org/all/20221121180529.3358952-1-max.oss.09@gmail.com/ - OpenCV_DNN_examples.patch taken from meta-imx - Adapt the PREFERRED_VERSION Signed-off-by: Max Krummenacher --- conf/machine/include/imx-base.inc | 2 +- .../opencv/opencv/OpenCV_DNN_examples.patch | 26 +- recipes-support/opencv/opencv_4.5.2.imx.bb | 301 -------------------- recipes-support/opencv/opencv_4.6.0.imx.bb | 313 +++++++++++++++++++++ 4 files changed, 328 insertions(+), 314 deletions(-) delete mode 100644 recipes-support/opencv/opencv_4.5.2.imx.bb create mode 100644 recipes-support/opencv/opencv_4.6.0.imx.bb diff --git a/conf/machine/include/imx-base.inc b/conf/machine/include/imx-base.inc index b32267ce..1a3a83d4 100644 --- a/conf/machine/include/imx-base.inc +++ b/conf/machine/include/imx-base.inc @@ -495,7 +495,7 @@ PREFERRED_VERSION_optee-client:mx8-nxp-bsp ??= "3.17.0.imx" PREFERRED_VERSION_optee-test:mx8-nxp-bsp ??= "3.17.0.imx" #Use i.MX opencv Version for mx8 -PREFERRED_VERSION_opencv:mx8-nxp-bsp ??= "4.5.2.imx" +PREFERRED_VERSION_opencv:mx8-nxp-bsp ??= "4.6.0.imx" # Handle default kernel IMX_DEFAULT_KERNEL:imx-mainline-bsp = "linux-fslc" diff --git a/recipes-support/opencv/opencv/OpenCV_DNN_examples.patch b/recipes-support/opencv/opencv/OpenCV_DNN_examples.patch index 0e83e994..ef7831a5 100644 --- a/recipes-support/opencv/opencv/OpenCV_DNN_examples.patch +++ b/recipes-support/opencv/opencv/OpenCV_DNN_examples.patch @@ -31,7 +31,7 @@ Index: git/samples/dnn/classification.cpp =================================================================== --- git.orig/samples/dnn/classification.cpp +++ git/samples/dnn/classification.cpp -@@ -11,6 +11,7 @@ std::string keys = +@@ -12,6 +12,7 @@ std::string keys = "{ help h | | Print help message. }" "{ @alias | | An alias name of model to extract preprocessing parameters from models.yml file. }" "{ zoo | models.yml | An optional path to file with preprocessing parameters }" @@ -39,7 +39,7 @@ Index: git/samples/dnn/classification.cpp "{ input i | | Path to input image or video file. Skip this argument to capture frames from a camera.}" "{ initial_width | 0 | Preprocess input image by initial resizing to a specific width.}" "{ initial_height | 0 | Preprocess input image by initial resizing to a specific height.}" -@@ -102,7 +103,7 @@ int main(int argc, char** argv) +@@ -113,7 +114,7 @@ int main(int argc, char** argv) if (parser.has("input")) cap.open(parser.get("input")); else @@ -48,19 +48,21 @@ Index: git/samples/dnn/classification.cpp //! [Open a video file or an image file or a camera stream] // Process frames. -@@ -151,13 +152,13 @@ int main(int argc, char** argv) - double freq = getTickFrequency() / 1000; - double t = net.getPerfProfile(layersTimes) / freq; - std::string label = format("Inference time: %.2f ms", t); +@@ -195,14 +196,14 @@ int main(int argc, char** argv) + } + std::string label = format("Inference time of 1 round: %.2f ms", t1); + std::string label2 = format("Average time of 200 rounds: %.2f ms", timeRecorder.getTimeMilli()/200); - putText(frame, label, Point(0, 15), FONT_HERSHEY_SIMPLEX, 0.5, Scalar(0, 255, 0)); +- putText(frame, label2, Point(0, 35), FONT_HERSHEY_SIMPLEX, 0.5, Scalar(0, 255, 0)); + putText(frame, label, Point(0, 20), FONT_HERSHEY_SIMPLEX, 0.8, Scalar(0, 0, 255), 2, 8, false); ++ putText(frame, label2, Point(0, 45), FONT_HERSHEY_SIMPLEX, 0.8, Scalar(0, 0, 255), 2, 8, false); // Print predicted class. label = format("%s: %.4f", (classes.empty() ? format("Class #%d", classId).c_str() : classes[classId].c_str()), confidence); -- putText(frame, label, Point(0, 40), FONT_HERSHEY_SIMPLEX, 0.5, Scalar(0, 255, 0)); -+ putText(frame, label, Point(0, 45), FONT_HERSHEY_SIMPLEX, 0.8, Scalar(0, 0, 255), 2, 8, false); +- putText(frame, label, Point(0, 55), FONT_HERSHEY_SIMPLEX, 0.5, Scalar(0, 255, 0)); ++ putText(frame, label, Point(0, 70), FONT_HERSHEY_SIMPLEX, 0.8, Scalar(0, 0, 255), 2, 8, false); imshow(kWinName, frame); } @@ -68,7 +70,7 @@ Index: git/samples/dnn/object_detection.cpp =================================================================== --- git.orig/samples/dnn/object_detection.cpp +++ git/samples/dnn/object_detection.cpp -@@ -251,13 +251,13 @@ int main(int argc, char** argv) +@@ -260,13 +260,13 @@ int main(int argc, char** argv) if (predictionsQueue.counter > 1) { std::string label = format("Camera: %.2f FPS", framesQueue.getFPS()); @@ -85,7 +87,7 @@ Index: git/samples/dnn/object_detection.cpp } imshow(kWinName, frame); } -@@ -293,7 +293,7 @@ int main(int argc, char** argv) +@@ -302,7 +302,7 @@ int main(int argc, char** argv) double freq = getTickFrequency() / 1000; double t = net.getPerfProfile(layersTimes) / freq; std::string label = format("Inference time: %.2f ms", t); @@ -94,7 +96,7 @@ Index: git/samples/dnn/object_detection.cpp imshow(kWinName, frame); } -@@ -462,7 +462,7 @@ void drawPred(int classId, float conf, i +@@ -471,7 +471,7 @@ void drawPred(int classId, float conf, i top = max(top, labelSize.height); rectangle(frame, Point(left, top - labelSize.height), Point(left + labelSize.width, top + baseLine), Scalar::all(255), FILLED); @@ -107,7 +109,7 @@ Index: git/samples/dnn/segmentation.cpp =================================================================== --- git.orig/samples/dnn/segmentation.cpp +++ git/samples/dnn/segmentation.cpp -@@ -157,7 +157,7 @@ int main(int argc, char** argv) +@@ -162,7 +162,7 @@ int main(int argc, char** argv) double freq = getTickFrequency() / 1000; double t = net.getPerfProfile(layersTimes) / freq; std::string label = format("Inference time: %.2f ms", t); diff --git a/recipes-support/opencv/opencv_4.5.2.imx.bb b/recipes-support/opencv/opencv_4.5.2.imx.bb deleted file mode 100644 index 331189ea..00000000 --- a/recipes-support/opencv/opencv_4.5.2.imx.bb +++ /dev/null @@ -1,301 +0,0 @@ -# This recipe is for the i.MX fork of opencv. For ease of -# maintenance, the top section is a verbatim copy of an OE-core -# recipe. The second section customizes the recipe for i.MX. - -########## meta-openembedded copy ########### - -SUMMARY = "Opencv : The Open Computer Vision Library" -HOMEPAGE = "http://opencv.org/" -SECTION = "libs" - -LICENSE = "Apache-2.0" -LIC_FILES_CHKSUM = "file://LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57" - -ARM_INSTRUCTION_SET:armv4 = "arm" -ARM_INSTRUCTION_SET:armv5 = "arm" - -DEPENDS = "libtool swig-native bzip2 zlib glib-2.0 libwebp" - -SRCREV_opencv = "69357b1e88680658a07cffde7678a4d697469f03" -SRCREV_contrib = "f5d7f6712d4ff229ba4f45cf79dfd11c557d56fd" -SRCREV_ipp = "a56b6ac6f030c312b2dce17430eef13aed9af274" -SRCREV_boostdesc = "34e4206aef44d50e6bbcd0ab06354b52e7466d26" -SRCREV_vgg = "fccf7cd6a4b12079f73bbfb21745f9babcd4eb1d" -SRCREV_face = "8afa57abc8229d611c4937165d20e2a2d9fc5a12" -SRCREV_wechat-qrcode = "a8b69ccc738421293254aec5ddb38bd523503252" - -def ipp_filename(d): - import re - arch = d.getVar('TARGET_ARCH') - if re.match("i.86$", arch): - return "ippicv_2020_lnx_ia32_20191018_general.tgz" - else: - return "ippicv_2020_lnx_intel64_20191018_general.tgz" - -def ipp_md5sum(d): - import re - arch = d.getVar('TARGET_ARCH') - if re.match("i.86$", arch): - return "ad189a940fb60eb71f291321322fe3e8" - else: - return "7421de0095c7a39162ae13a6098782f9" - -IPP_FILENAME = "${@ipp_filename(d)}" -IPP_MD5 = "${@ipp_md5sum(d)}" - -SRCREV_FORMAT = "opencv_contrib_ipp_boostdesc_vgg" -SRC_URI = "git://github.com/opencv/opencv.git;name=opencv;branch=master;protocol=https \ - git://github.com/opencv/opencv_contrib.git;destsuffix=contrib;name=contrib;branch=master;protocol=https \ - git://github.com/opencv/opencv_3rdparty.git;branch=ippicv/master_20191018;destsuffix=ipp;name=ipp;protocol=https \ - git://github.com/opencv/opencv_3rdparty.git;branch=contrib_xfeatures2d_boostdesc_20161012;destsuffix=boostdesc;name=boostdesc;protocol=https \ - git://github.com/opencv/opencv_3rdparty.git;branch=contrib_xfeatures2d_vgg_20160317;destsuffix=vgg;name=vgg;protocol=https \ - git://github.com/opencv/opencv_3rdparty.git;branch=contrib_face_alignment_20170818;destsuffix=face;name=face;protocol=https \ - git://github.com/WeChatCV/opencv_3rdparty.git;branch=wechat_qrcode;destsuffix=wechat_qrcode;name=wechat-qrcode;protocol=https \ - file://0001-3rdparty-ippicv-Use-pre-downloaded-ipp.patch \ - file://0003-To-fix-errors-as-following.patch \ - file://0001-Temporarliy-work-around-deprecated-ffmpeg-RAW-functi.patch \ - file://0001-Dont-use-isystem.patch \ - file://download.patch \ - file://0001-Make-ts-module-external.patch \ - file://0001-sfm-link-with-Glog_LIBS.patch;patchdir=../contrib \ - file://0001-Use-the-one-argument-version-of-SetTotalBytesLimit.patch \ - " -SRC_URI:append:riscv64 = " file://0001-Use-Os-to-compile-tinyxml2.cpp.patch;patchdir=../contrib" - -S = "${WORKDIR}/git" - -# OpenCV wants to download more files during configure. We download these in -# do_fetch and construct a source cache in the format it expects -OPENCV_DLDIR = "${WORKDIR}/downloads" - -do_unpack_extra() { - tar xzf ${WORKDIR}/ipp/ippicv/${IPP_FILENAME} -C ${WORKDIR} - - md5() { - # Return the MD5 of $1 - echo $(md5sum $1 | cut -d' ' -f1) - } - cache() { - TAG=$1 - shift - mkdir --parents ${OPENCV_DLDIR}/$TAG - for F in $*; do - DEST=${OPENCV_DLDIR}/$TAG/$(md5 $F)-$(basename $F) - test -e $DEST || ln -s $F $DEST - done - } - cache xfeatures2d/boostdesc ${WORKDIR}/boostdesc/*.i - cache xfeatures2d/vgg ${WORKDIR}/vgg/*.i - cache data ${WORKDIR}/face/*.dat - cache wechat_qrcode ${WORKDIR}/wechat_qrcode/*.caffemodel - cache wechat_qrcode ${WORKDIR}/wechat_qrcode/*.prototxt -} -addtask unpack_extra after do_unpack before do_patch - -CMAKE_VERBOSE = "VERBOSE=1" - -EXTRA_OECMAKE = "-DOPENCV_EXTRA_MODULES_PATH=${WORKDIR}/contrib/modules \ - -DWITH_1394=OFF \ - -DENABLE_PRECOMPILED_HEADERS=OFF \ - -DCMAKE_SKIP_RPATH=ON \ - -DOPENCV_ICV_HASH=${IPP_MD5} \ - -DIPPROOT=${WORKDIR}/ippicv_lnx \ - -DOPENCV_GENERATE_PKGCONFIG=ON \ - -DOPENCV_DOWNLOAD_PATH=${OPENCV_DLDIR} \ - -DOPENCV_ALLOW_DOWNLOADS=OFF \ - ${@bb.utils.contains("TARGET_CC_ARCH", "-msse3", "-DENABLE_SSE=1 -DENABLE_SSE2=1 -DENABLE_SSE3=1 -DENABLE_SSSE3=1", "", d)} \ - ${@bb.utils.contains("TARGET_CC_ARCH", "-msse4.1", "-DENABLE_SSE=1 -DENABLE_SSE2=1 -DENABLE_SSE3=1 -DENABLE_SSSE3=1 -DENABLE_SSE41=1", "", d)} \ - ${@bb.utils.contains("TARGET_CC_ARCH", "-msse4.2", "-DENABLE_SSE=1 -DENABLE_SSE2=1 -DENABLE_SSE3=1 -DENABLE_SSSE3=1 -DENABLE_SSE41=1 -DENABLE_SSE42=1", "", d)} \ -" -EXTRA_OECMAKE:append:x86 = " -DX86=ON" - -PACKAGECONFIG ??= "gapi python3 eigen jpeg png tiff v4l libv4l gstreamer samples tbb gphoto2 \ - ${@bb.utils.contains("DISTRO_FEATURES", "x11", "gtk", "", d)} \ - ${@bb.utils.contains("LICENSE_FLAGS_ACCEPTED", "commercial", "libav", "", d)}" - -# TBB does not build for powerpc so disable that package config -PACKAGECONFIG:remove:powerpc = "tbb" -# tbb now needs getcontect/setcontext which is not there for all arches on musl -PACKAGECONFIG:remove:libc-musl:riscv64 = "tbb" -PACKAGECONFIG:remove:libc-musl:riscv32 = "tbb" - -PACKAGECONFIG[gapi] = "-DWITH_ADE=ON -Dade_DIR=${STAGING_LIBDIR},-DWITH_ADE=OFF,ade" -PACKAGECONFIG[amdblas] = "-DWITH_OPENCLAMDBLAS=ON,-DWITH_OPENCLAMDBLAS=OFF,libclamdblas," -PACKAGECONFIG[amdfft] = "-DWITH_OPENCLAMDFFT=ON,-DWITH_OPENCLAMDFFT=OFF,libclamdfft," -PACKAGECONFIG[dnn] = "-DBUILD_opencv_dnn=ON -DPROTOBUF_UPDATE_FILES=ON -DBUILD_PROTOBUF=OFF,-DBUILD_opencv_dnn=OFF,protobuf protobuf-native," -PACKAGECONFIG[eigen] = "-DWITH_EIGEN=ON,-DWITH_EIGEN=OFF,libeigen gflags glog," -PACKAGECONFIG[freetype] = "-DBUILD_opencv_freetype=ON,-DBUILD_opencv_freetype=OFF,freetype," -PACKAGECONFIG[gphoto2] = "-DWITH_GPHOTO2=ON,-DWITH_GPHOTO2=OFF,libgphoto2," -PACKAGECONFIG[gstreamer] = "-DWITH_GSTREAMER=ON,-DWITH_GSTREAMER=OFF,gstreamer1.0 gstreamer1.0-plugins-base," -PACKAGECONFIG[gtk] = "-DWITH_GTK=ON,-DWITH_GTK=OFF,gtk+3," -PACKAGECONFIG[jasper] = "-DWITH_JASPER=ON,-DWITH_JASPER=OFF,jasper," -PACKAGECONFIG[java] = "-DJAVA_INCLUDE_PATH=${JAVA_HOME}/include -DJAVA_INCLUDE_PATH2=${JAVA_HOME}/include/linux -DJAVA_AWT_INCLUDE_PATH=${JAVA_HOME}/include -DJAVA_AWT_LIBRARY=${JAVA_HOME}/lib/amd64/libjawt.so -DJAVA_JVM_LIBRARY=${JAVA_HOME}/lib/amd64/server/libjvm.so,,ant-native fastjar-native openjdk-8-native," -PACKAGECONFIG[jpeg] = "-DWITH_JPEG=ON,-DWITH_JPEG=OFF,jpeg," -PACKAGECONFIG[libav] = "-DWITH_FFMPEG=ON,-DWITH_FFMPEG=OFF,libav," -PACKAGECONFIG[libv4l] = "-DWITH_LIBV4L=ON,-DWITH_LIBV4L=OFF,v4l-utils," -PACKAGECONFIG[opencl] = "-DWITH_OPENCL=ON,-DWITH_OPENCL=OFF,opencl-headers virtual/opencl-icd," -PACKAGECONFIG[oracle-java] = "-DJAVA_INCLUDE_PATH=${ORACLE_JAVA_HOME}/include -DJAVA_INCLUDE_PATH2=${ORACLE_JAVA_HOME}/include/linux -DJAVA_AWT_INCLUDE_PATH=${ORACLE_JAVA_HOME}/include -DJAVA_AWT_LIBRARY=${ORACLE_JAVA_HOME}/lib/amd64/libjawt.so -DJAVA_JVM_LIBRARY=${ORACLE_JAVA_HOME}/lib/amd64/server/libjvm.so,,ant-native oracle-jse-jdk oracle-jse-jdk-native," -PACKAGECONFIG[png] = "-DWITH_PNG=ON,-DWITH_PNG=OFF,libpng," -PACKAGECONFIG[python2] = "-DPYTHON2_NUMPY_INCLUDE_DIRS:PATH=${STAGING_LIBDIR}/${PYTHON_DIR}/site-packages/numpy/core/include,,python-numpy," -PACKAGECONFIG[python3] = "-DPYTHON3_NUMPY_INCLUDE_DIRS:PATH=${STAGING_LIBDIR}/${PYTHON_DIR}/site-packages/numpy/core/include,,python3-numpy," -PACKAGECONFIG[samples] = "-DBUILD_EXAMPLES=ON -DINSTALL_PYTHON_EXAMPLES=ON,-DBUILD_EXAMPLES=OFF,," -PACKAGECONFIG[tbb] = "-DWITH_TBB=ON,-DWITH_TBB=OFF,tbb," -PACKAGECONFIG[tests] = "-DBUILD_TESTS=ON,-DBUILD_TESTS=OFF,," -PACKAGECONFIG[text] = "-DBUILD_opencv_text=ON,-DBUILD_opencv_text=OFF,tesseract," -PACKAGECONFIG[tiff] = "-DWITH_TIFF=ON,-DWITH_TIFF=OFF,tiff," -PACKAGECONFIG[v4l] = "-DWITH_V4L=ON,-DWITH_V4L=OFF,v4l-utils," - -inherit pkgconfig cmake - -inherit ${@bb.utils.contains('PACKAGECONFIG', 'python3', 'setuptools3-base', '', d)} -inherit ${@bb.utils.contains('PACKAGECONFIG', 'python2', 'distutils-base', '', d)} - -export PYTHON_CSPEC="-I${STAGING_INCDIR}/${PYTHON_DIR}" -export PYTHON="${STAGING_BINDIR_NATIVE}/${@bb.utils.contains('PACKAGECONFIG', 'python3', 'python3', 'python', d)}" -export ORACLE_JAVA_HOME="${STAGING_DIR_NATIVE}/usr/bin/java" -export JAVA_HOME="${STAGING_DIR_NATIVE}/usr/lib/jvm/openjdk-8-native" -export ANT_DIR="${STAGING_DIR_NATIVE}/usr/share/ant/" - -TARGET_CC_ARCH += "-I${S}/include " - -PACKAGES += "${@bb.utils.contains('PACKAGECONFIG', 'samples', '${PN}-samples', '', d)} \ - ${@bb.utils.contains('PACKAGECONFIG', 'oracle-java', '${PN}-java', '', d)} \ - ${@bb.utils.contains('PACKAGECONFIG', 'java', '${PN}-java', '', d)} \ - ${@bb.utils.contains('PACKAGECONFIG', 'python2', 'python-${BPN}', '', d)} \ - ${@bb.utils.contains('PACKAGECONFIG', 'python3', 'python3-${BPN}', '', d)} \ - ${PN}-apps" - -python populate_packages:prepend () { - cv_libdir = d.expand('${libdir}') - do_split_packages(d, cv_libdir, '^lib(.*)\.so$', 'lib%s-dev', 'OpenCV %s development package', extra_depends='${PN}-dev', allow_links=True) - do_split_packages(d, cv_libdir, '^lib(.*)\.la$', 'lib%s-dev', 'OpenCV %s development package', extra_depends='${PN}-dev') - do_split_packages(d, cv_libdir, '^lib(.*)\.a$', 'lib%s-dev', 'OpenCV %s development package', extra_depends='${PN}-dev') - do_split_packages(d, cv_libdir, '^lib(.*)\.so\.*', 'lib%s', 'OpenCV %s library', extra_depends='', allow_links=True) - - pn = d.getVar('PN') - metapkg = pn + '-dev' - d.setVar('ALLOW_EMPTY:' + metapkg, "1") - blacklist = [ metapkg ] - metapkg_rdepends = [ ] - packages = d.getVar('PACKAGES').split() - for pkg in packages[1:]: - if not pkg in blacklist and not pkg in metapkg_rdepends and pkg.endswith('-dev'): - metapkg_rdepends.append(pkg) - d.setVar('RRECOMMENDS:' + metapkg, ' '.join(metapkg_rdepends)) - - metapkg = pn - d.setVar('ALLOW_EMPTY:' + metapkg, "1") - blacklist = [ metapkg, "libopencv-ts" ] - metapkg_rdepends = [ ] - for pkg in packages[1:]: - if not pkg in blacklist and not pkg in metapkg_rdepends and not pkg.endswith('-dev') and not pkg.endswith('-dbg') and not pkg.endswith('-doc') and not pkg.endswith('-locale') and not pkg.endswith('-staticdev'): - metapkg_rdepends.append(pkg) - d.setVar('RDEPENDS:' + metapkg, ' '.join(metapkg_rdepends)) -} - -PACKAGES_DYNAMIC += "^libopencv-.*" - -FILES:${PN} = "" -FILES:${PN}-dbg += "${datadir}/OpenCV/java/.debug/* ${datadir}/OpenCV/samples/bin/.debug/*" -FILES:${PN}-dev = "${includedir} ${libdir}/pkgconfig ${libdir}/cmake/opencv4/*.cmake" -FILES:${PN}-staticdev += "${libdir}/opencv4/3rdparty/*.a" -FILES:${PN}-apps = "${bindir}/* ${datadir}/opencv4 ${datadir}/licenses" -FILES:${PN}-java = "${datadir}/OpenCV/java" -FILES:${PN}-samples = "${datadir}/opencv4/samples/" - -INSANE_SKIP:${PN}-java = "libdir" -INSANE_SKIP:${PN}-dbg = "libdir" - -ALLOW_EMPTY:${PN} = "1" - -SUMMARY:python-opencv = "Python bindings to opencv" -FILES:python-opencv = "${PYTHON_SITEPACKAGES_DIR}/*" -RDEPENDS:python-opencv = "python-core python-numpy" - -SUMMARY:python3-opencv = "Python bindings to opencv" -FILES:python3-opencv = "${PYTHON_SITEPACKAGES_DIR}/*" -RDEPENDS:python3-opencv = "python3-core python3-numpy" - -RDEPENDS:${PN}-apps = "bash" - -do_compile:prepend() { - # remove the build host info to improve reproducibility - if [ -f ${WORKDIR}/build/modules/core/version_string.inc ]; then - sed -i "s#${WORKDIR}#/workdir#g" ${WORKDIR}/build/modules/core/version_string.inc - fi -} - -do_install:append() { - # Move Python files into correct library folder (for multilib build) - if [ "$libdir" != "/usr/lib" -a -d ${D}/usr/lib ]; then - mv ${D}/usr/lib/* ${D}/${libdir}/ - rm -rf ${D}/usr/lib - fi - # remove build host path to improve reproducibility - if [ -f ${D}${libdir}/cmake/opencv4/OpenCVModules.cmake ]; then - sed -e 's@${STAGING_DIR_HOST}@@g' \ - -i ${D}${libdir}/cmake/opencv4/OpenCVModules.cmake - fi - # remove setup_vars_opencv4.sh as its content is confusing and useless - if [ -f ${D}${bindir}/setup_vars_opencv4.sh ]; then - rm -rf ${D}${bindir}/setup_vars_opencv4.sh - fi -} - -########## End of meta-openembedded copy ########## - -########## i.MX overrides ########## - -SUMMARY = "Opencv : The Open Computer Vision Library, i.MX Fork" - -LIC_FILES_CHKSUM = "file://LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57" - -# Replace the opencv URL with the fork -SRCREV_opencv = "5423d53ae0d116ee5bbe52f8b5503f0cd8586998" -OPENCV_SRC ?= "git://source.codeaurora.org/external/imx/opencv-imx.git;protocol=https;branch=master" -SRCBRANCH = "4.5.2_imx" -SRC_URI:remove = "git://github.com/opencv/opencv.git;name=opencv;branch=master;protocol=https" -SRC_URI =+ "${OPENCV_SRC};branch=${SRCBRANCH};name=opencv" - -# Add opencv_extra -SRCREV_extra = "855c4528402e563283f86f28c6393f57eb5dcf62" -SRC_URI += " \ - git://github.com/opencv/opencv_extra.git;destsuffix=extra;name=extra;branch=master;protocol=https \ - file://0001-Add-smaller-version-of-download_models.py.patch;patchdir=../extra \ -" -SRCREV_FORMAT:append = "_extra" - -# Patch DNN example -SRC_URI += " \ - file://OpenCV_DNN_examples.patch \ -" - -PACKAGECONFIG:remove = "eigen" -PACKAGECONFIG:append:mx8-nxp-bsp = " dnn text" -PACKAGECONFIG_OPENCL = "" -PACKAGECONFIG_OPENCL:mx8-nxp-bsp = "opencl" -PACKAGECONFIG_OPENCL:mx8dxl-nxp-bsp = "" -PACKAGECONFIG_OPENCL:mx8mm-nxp-bsp = "" -PACKAGECONFIG_OPENCL:mx8mnlite-nxp-bsp = "" -PACKAGECONFIG:append = " ${PACKAGECONFIG_OPENCL}" - -PACKAGECONFIG[openvx] = "-DWITH_OPENVX=ON -DOPENVX_ROOT=${STAGING_LIBDIR} -DOPENVX_LIB_CANDIDATES='OpenVX;OpenVXU',-DWITH_OPENVX=OFF,virtual/libopenvx," -PACKAGECONFIG[qt5] = "-DWITH_QT=ON -DOE_QMAKE_PATH_EXTERNAL_HOST_BINS=${STAGING_BINDIR_NATIVE} -DCMAKE_PREFIX_PATH=${STAGING_BINDIR_NATIVE}/cmake,-DWITH_QT=OFF,qtbase qtbase-native," -PACKAGECONFIG[tests-imx] = "-DINSTALL_TESTS=ON -DOPENCV_TEST_DATA_PATH=${S}/../extra/testdata, -DINSTALL_TESTS=OFF," - -do_install:append() { - ln -sf opencv4/opencv2 ${D}${includedir}/opencv2 - install -d ${D}${datadir}/OpenCV/samples/data - cp -r ${S}/samples/data/* ${D}${datadir}/OpenCV/samples/data - install -d ${D}${datadir}/OpenCV/samples/bin/ - cp -f bin/example_* ${D}${datadir}/OpenCV/samples/bin/ - if ${@bb.utils.contains('PACKAGECONFIG', 'tests-imx', 'true', 'false', d)}; then - cp -r share/opencv4/testdata/cv/face/* ${D}${datadir}/opencv4/testdata/cv/face/ - fi -} - -FILES:${PN}-samples += "${datadir}/OpenCV/samples" - -COMPATIBLE_MACHINE = "(mx8-nxp-bsp)" - -########## End of i.MX overrides ########## diff --git a/recipes-support/opencv/opencv_4.6.0.imx.bb b/recipes-support/opencv/opencv_4.6.0.imx.bb new file mode 100644 index 00000000..54beed06 --- /dev/null +++ b/recipes-support/opencv/opencv_4.6.0.imx.bb @@ -0,0 +1,313 @@ +# This recipe is for the i.MX fork of opencv. For ease of +# maintenance, the top section is a verbatim copy of an OE-core +# recipe. The second section customizes the recipe for i.MX. + +########## meta-openembedded copy ########### +# Upstream hash: 6b7cf95e75cbfc08cf1f6eddc7ce3f6a0a39edcf +# plus LICENSE_FLAGS_ACCEPTED fix + +SUMMARY = "Opencv : The Open Computer Vision Library" +HOMEPAGE = "http://opencv.org/" +SECTION = "libs" + +LICENSE = "Apache-2.0" +LIC_FILES_CHKSUM = "file://LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57" + +ARM_INSTRUCTION_SET:armv4 = "arm" +ARM_INSTRUCTION_SET:armv5 = "arm" + +DEPENDS = "libtool swig-native bzip2 zlib glib-2.0 libwebp" + +SRCREV_opencv = "b0dc474160e389b9c9045da5db49d03ae17c6a6b" +SRCREV_contrib = "7b77c355a8fdc97667b3fa1e7a0d37e4973fc868" +SRCREV_ipp = "a56b6ac6f030c312b2dce17430eef13aed9af274" +SRCREV_boostdesc = "34e4206aef44d50e6bbcd0ab06354b52e7466d26" +SRCREV_vgg = "fccf7cd6a4b12079f73bbfb21745f9babcd4eb1d" +SRCREV_face = "8afa57abc8229d611c4937165d20e2a2d9fc5a12" +SRCREV_wechat-qrcode = "a8b69ccc738421293254aec5ddb38bd523503252" + +def ipp_filename(d): + import re + arch = d.getVar('TARGET_ARCH') + if re.match("i.86$", arch): + return "ippicv_2020_lnx_ia32_20191018_general.tgz" + else: + return "ippicv_2020_lnx_intel64_20191018_general.tgz" + +def ipp_md5sum(d): + import re + arch = d.getVar('TARGET_ARCH') + if re.match("i.86$", arch): + return "ad189a940fb60eb71f291321322fe3e8" + else: + return "7421de0095c7a39162ae13a6098782f9" + +IPP_FILENAME = "${@ipp_filename(d)}" +IPP_MD5 = "${@ipp_md5sum(d)}" + +SRCREV_FORMAT = "opencv_contrib_ipp_boostdesc_vgg" +SRC_URI = "git://github.com/opencv/opencv.git;name=opencv;branch=master;protocol=https \ + git://github.com/opencv/opencv_contrib.git;destsuffix=git/contrib;name=contrib;branch=master;protocol=https \ + git://github.com/opencv/opencv_3rdparty.git;branch=ippicv/master_20191018;destsuffix=git/ipp;name=ipp;protocol=https \ + git://github.com/opencv/opencv_3rdparty.git;branch=contrib_xfeatures2d_boostdesc_20161012;destsuffix=git/boostdesc;name=boostdesc;protocol=https \ + git://github.com/opencv/opencv_3rdparty.git;branch=contrib_xfeatures2d_vgg_20160317;destsuffix=git/vgg;name=vgg;protocol=https \ + git://github.com/opencv/opencv_3rdparty.git;branch=contrib_face_alignment_20170818;destsuffix=git/face;name=face;protocol=https \ + git://github.com/WeChatCV/opencv_3rdparty.git;branch=wechat_qrcode;destsuffix=git/wechat_qrcode;name=wechat-qrcode;protocol=https \ + file://0001-3rdparty-ippicv-Use-pre-downloaded-ipp.patch \ + file://0003-To-fix-errors-as-following.patch \ + file://0001-Temporarliy-work-around-deprecated-ffmpeg-RAW-functi.patch \ + file://0001-Dont-use-isystem.patch \ + file://download.patch \ + file://0001-Make-ts-module-external.patch \ + " +SRC_URI:append:riscv64 = " file://0001-Use-Os-to-compile-tinyxml2.cpp.patch;patchdir=contrib" + +S = "${WORKDIR}/git" + +# OpenCV wants to download more files during configure. We download these in +# do_fetch and construct a source cache in the format it expects +OPENCV_DLDIR = "${WORKDIR}/downloads" + +do_unpack_extra() { + tar xzf ${S}/ipp/ippicv/${IPP_FILENAME} -C ${S} + + md5() { + # Return the MD5 of $1 + echo $(md5sum $1 | cut -d' ' -f1) + } + cache() { + TAG=$1 + shift + mkdir --parents ${OPENCV_DLDIR}/$TAG + for F in $*; do + DEST=${OPENCV_DLDIR}/$TAG/$(md5 $F)-$(basename $F) + test -e $DEST || ln -s $F $DEST + done + } + cache xfeatures2d/boostdesc ${S}/boostdesc/*.i + cache xfeatures2d/vgg ${S}/vgg/*.i + cache data ${S}/face/*.dat + cache wechat_qrcode ${S}/wechat_qrcode/*.caffemodel + cache wechat_qrcode ${S}/wechat_qrcode/*.prototxt +} +addtask unpack_extra after do_unpack before do_patch + +CMAKE_VERBOSE = "VERBOSE=1" + +EXTRA_OECMAKE = "-DOPENCV_EXTRA_MODULES_PATH=${S}/contrib/modules \ + -DWITH_1394=OFF \ + -DENABLE_PRECOMPILED_HEADERS=OFF \ + -DCMAKE_SKIP_RPATH=ON \ + -DOPENCV_ICV_HASH=${IPP_MD5} \ + -DIPPROOT=${S}/ippicv_lnx \ + -DOPENCV_GENERATE_PKGCONFIG=ON \ + -DOPENCV_DOWNLOAD_PATH=${OPENCV_DLDIR} \ + -DOPENCV_ALLOW_DOWNLOADS=OFF \ + ${@bb.utils.contains("TARGET_CC_ARCH", "-msse3", "-DENABLE_SSE=1 -DENABLE_SSE2=1 -DENABLE_SSE3=1 -DENABLE_SSSE3=1", "", d)} \ + ${@bb.utils.contains("TARGET_CC_ARCH", "-msse4.1", "-DENABLE_SSE=1 -DENABLE_SSE2=1 -DENABLE_SSE3=1 -DENABLE_SSSE3=1 -DENABLE_SSE41=1", "", d)} \ + ${@bb.utils.contains("TARGET_CC_ARCH", "-msse4.2", "-DENABLE_SSE=1 -DENABLE_SSE2=1 -DENABLE_SSE3=1 -DENABLE_SSSE3=1 -DENABLE_SSE41=1 -DENABLE_SSE42=1", "", d)} \ +" +LDFLAGS:append:mips = " -Wl,--no-as-needed -latomic -Wl,--as-needed" +LDFLAGS:append:riscv32 = " -Wl,--no-as-needed -latomic -Wl,--as-needed" + +EXTRA_OECMAKE:append:x86 = " -DX86=ON" +# disable sse4.1 and sse4.2 to fix 32bit build failure +# https://github.com/opencv/opencv/issues/21597 +EXTRA_OECMAKE:remove:x86 = " -DENABLE_SSE41=1 -DENABLE_SSE42=1" + +PACKAGECONFIG ??= "gapi python3 eigen jpeg png tiff v4l libv4l gstreamer samples tbb gphoto2 \ + ${@bb.utils.contains("DISTRO_FEATURES", "x11", "gtk", "", d)} \ + ${@bb.utils.contains("LICENSE_FLAGS_ACCEPTED", "commercial", "libav", "", d)}" + +# TBB does not build for powerpc so disable that package config +PACKAGECONFIG:remove:powerpc = "tbb" +# tbb now needs getcontect/setcontext which is not there for all arches on musl +PACKAGECONFIG:remove:libc-musl:riscv64 = "tbb" +PACKAGECONFIG:remove:libc-musl:riscv32 = "tbb" + +PACKAGECONFIG[gapi] = "-DWITH_ADE=ON -Dade_DIR=${STAGING_LIBDIR},-DWITH_ADE=OFF,ade" +PACKAGECONFIG[amdblas] = "-DWITH_OPENCLAMDBLAS=ON,-DWITH_OPENCLAMDBLAS=OFF,libclamdblas," +PACKAGECONFIG[amdfft] = "-DWITH_OPENCLAMDFFT=ON,-DWITH_OPENCLAMDFFT=OFF,libclamdfft," +PACKAGECONFIG[dnn] = "-DBUILD_opencv_dnn=ON -DPROTOBUF_UPDATE_FILES=ON -DBUILD_PROTOBUF=OFF,-DBUILD_opencv_dnn=OFF,protobuf protobuf-native," +PACKAGECONFIG[eigen] = "-DWITH_EIGEN=ON,-DWITH_EIGEN=OFF,libeigen gflags glog," +PACKAGECONFIG[freetype] = "-DBUILD_opencv_freetype=ON,-DBUILD_opencv_freetype=OFF,freetype," +PACKAGECONFIG[gphoto2] = "-DWITH_GPHOTO2=ON,-DWITH_GPHOTO2=OFF,libgphoto2," +PACKAGECONFIG[gstreamer] = "-DWITH_GSTREAMER=ON,-DWITH_GSTREAMER=OFF,gstreamer1.0 gstreamer1.0-plugins-base," +PACKAGECONFIG[gtk] = "-DWITH_GTK=ON,-DWITH_GTK=OFF,gtk+3," +PACKAGECONFIG[jasper] = "-DWITH_JASPER=ON,-DWITH_JASPER=OFF,jasper," +PACKAGECONFIG[java] = "-DJAVA_INCLUDE_PATH=${JAVA_HOME}/include -DJAVA_INCLUDE_PATH2=${JAVA_HOME}/include/linux -DJAVA_AWT_INCLUDE_PATH=${JAVA_HOME}/include -DJAVA_AWT_LIBRARY=${JAVA_HOME}/lib/amd64/libjawt.so -DJAVA_JVM_LIBRARY=${JAVA_HOME}/lib/amd64/server/libjvm.so,,ant-native fastjar-native openjdk-8-native," +PACKAGECONFIG[jpeg] = "-DWITH_JPEG=ON,-DWITH_JPEG=OFF,jpeg," +PACKAGECONFIG[libav] = "-DWITH_FFMPEG=ON,-DWITH_FFMPEG=OFF,libav," +PACKAGECONFIG[libv4l] = "-DWITH_LIBV4L=ON,-DWITH_LIBV4L=OFF,v4l-utils," +PACKAGECONFIG[opencl] = "-DWITH_OPENCL=ON,-DWITH_OPENCL=OFF,opencl-headers virtual/opencl-icd," +PACKAGECONFIG[oracle-java] = "-DJAVA_INCLUDE_PATH=${ORACLE_JAVA_HOME}/include -DJAVA_INCLUDE_PATH2=${ORACLE_JAVA_HOME}/include/linux -DJAVA_AWT_INCLUDE_PATH=${ORACLE_JAVA_HOME}/include -DJAVA_AWT_LIBRARY=${ORACLE_JAVA_HOME}/lib/amd64/libjawt.so -DJAVA_JVM_LIBRARY=${ORACLE_JAVA_HOME}/lib/amd64/server/libjvm.so,,ant-native oracle-jse-jdk oracle-jse-jdk-native," +PACKAGECONFIG[png] = "-DWITH_PNG=ON,-DWITH_PNG=OFF,libpng," +PACKAGECONFIG[python2] = "-DPYTHON2_NUMPY_INCLUDE_DIRS:PATH=${STAGING_LIBDIR}/${PYTHON_DIR}/site-packages/numpy/core/include,,python-numpy," +PACKAGECONFIG[python3] = "-DPYTHON3_NUMPY_INCLUDE_DIRS:PATH=${STAGING_LIBDIR}/${PYTHON_DIR}/site-packages/numpy/core/include,,python3-numpy," +PACKAGECONFIG[samples] = "-DBUILD_EXAMPLES=ON -DINSTALL_PYTHON_EXAMPLES=ON,-DBUILD_EXAMPLES=OFF,," +PACKAGECONFIG[tbb] = "-DWITH_TBB=ON,-DWITH_TBB=OFF,tbb," +PACKAGECONFIG[tests] = "-DBUILD_TESTS=ON,-DBUILD_TESTS=OFF,," +PACKAGECONFIG[text] = "-DBUILD_opencv_text=ON,-DBUILD_opencv_text=OFF,tesseract," +PACKAGECONFIG[tiff] = "-DWITH_TIFF=ON,-DWITH_TIFF=OFF,tiff," +PACKAGECONFIG[v4l] = "-DWITH_V4L=ON,-DWITH_V4L=OFF,v4l-utils," + +inherit pkgconfig cmake + +inherit ${@bb.utils.contains('PACKAGECONFIG', 'python3', 'setuptools3-base', '', d)} +inherit ${@bb.utils.contains('PACKAGECONFIG', 'python2', 'distutils-base', '', d)} + +export PYTHON_CSPEC="-I${STAGING_INCDIR}/${PYTHON_DIR}" +export PYTHON="${STAGING_BINDIR_NATIVE}/${@bb.utils.contains('PACKAGECONFIG', 'python3', 'python3', 'python', d)}" +export ORACLE_JAVA_HOME="${STAGING_DIR_NATIVE}/usr/bin/java" +export JAVA_HOME="${STAGING_DIR_NATIVE}/usr/lib/jvm/openjdk-8-native" +export ANT_DIR="${STAGING_DIR_NATIVE}/usr/share/ant/" + +TARGET_CC_ARCH += "-I${S}/include " + +PACKAGES += "${@bb.utils.contains('PACKAGECONFIG', 'samples', '${PN}-samples', '', d)} \ + ${@bb.utils.contains('PACKAGECONFIG', 'oracle-java', '${PN}-java', '', d)} \ + ${@bb.utils.contains('PACKAGECONFIG', 'java', '${PN}-java', '', d)} \ + ${@bb.utils.contains('PACKAGECONFIG', 'python2', 'python-${BPN}', '', d)} \ + ${@bb.utils.contains('PACKAGECONFIG', 'python3', 'python3-${BPN}', '', d)} \ + ${PN}-apps" + +python populate_packages:prepend () { + cv_libdir = d.expand('${libdir}') + do_split_packages(d, cv_libdir, r'^lib(.*)\.so$', 'lib%s-dev', 'OpenCV %s development package', extra_depends='${PN}-dev', allow_links=True) + do_split_packages(d, cv_libdir, r'^lib(.*)\.la$', 'lib%s-dev', 'OpenCV %s development package', extra_depends='${PN}-dev') + do_split_packages(d, cv_libdir, r'^lib(.*)\.a$', 'lib%s-dev', 'OpenCV %s development package', extra_depends='${PN}-dev') + do_split_packages(d, cv_libdir, r'^lib(.*)\.so\.*', 'lib%s', 'OpenCV %s library', extra_depends='', allow_links=True) + + pn = d.getVar('PN') + metapkg = pn + '-dev' + d.setVar('ALLOW_EMPTY:' + metapkg, "1") + blacklist = [ metapkg ] + metapkg_rdepends = [ ] + packages = d.getVar('PACKAGES').split() + for pkg in packages[1:]: + if not pkg in blacklist and not pkg in metapkg_rdepends and pkg.endswith('-dev'): + metapkg_rdepends.append(pkg) + d.setVar('RRECOMMENDS:' + metapkg, ' '.join(metapkg_rdepends)) + + metapkg = pn + d.setVar('ALLOW_EMPTY:' + metapkg, "1") + blacklist = [ metapkg, "libopencv-ts" ] + metapkg_rdepends = [ ] + for pkg in packages[1:]: + if not pkg in blacklist and not pkg in metapkg_rdepends and not pkg.endswith('-dev') and not pkg.endswith('-dbg') and not pkg.endswith('-doc') and not pkg.endswith('-locale') and not pkg.endswith('-staticdev'): + metapkg_rdepends.append(pkg) + d.setVar('RDEPENDS:' + metapkg, ' '.join(metapkg_rdepends)) +} + +PACKAGES_DYNAMIC += "^libopencv-.*" + +FILES:${PN} = "" +FILES:${PN}-dbg += "${datadir}/OpenCV/java/.debug/* ${datadir}/OpenCV/samples/bin/.debug/*" +FILES:${PN}-dev = "${includedir} ${libdir}/pkgconfig ${libdir}/cmake/opencv4/*.cmake" +FILES:${PN}-staticdev += "${libdir}/opencv4/3rdparty/*.a" +FILES:${PN}-apps = "${bindir}/* ${datadir}/opencv4 ${datadir}/licenses" +FILES:${PN}-java = "${datadir}/OpenCV/java" +FILES:${PN}-samples = "${datadir}/opencv4/samples/" + +INSANE_SKIP:${PN}-java = "libdir" +INSANE_SKIP:${PN}-dbg = "libdir" + +ALLOW_EMPTY:${PN} = "1" + +SUMMARY:python-opencv = "Python bindings to opencv" +FILES:python-opencv = "${PYTHON_SITEPACKAGES_DIR}/*" +RDEPENDS:python-opencv = "python-core python-numpy" + +SUMMARY:python3-opencv = "Python bindings to opencv" +FILES:python3-opencv = "${PYTHON_SITEPACKAGES_DIR}/*" +RDEPENDS:python3-opencv = "python3-core python3-numpy" + +RDEPENDS:${PN}-apps = "bash" + +do_compile:prepend() { + # remove the build host info to improve reproducibility + if [ -f ${WORKDIR}/build/modules/core/version_string.inc ]; then + sed -i "s#${WORKDIR}#/workdir#g" ${WORKDIR}/build/modules/core/version_string.inc + fi +} + +do_install:append() { + # Move Python files into correct library folder (for multilib build) + if [ "$libdir" != "/usr/lib" -a -d ${D}/usr/lib ]; then + mv ${D}/usr/lib/* ${D}/${libdir}/ + rm -rf ${D}/usr/lib + fi + # remove build host path to improve reproducibility + if [ -f ${D}${libdir}/cmake/opencv4/OpenCVModules.cmake ]; then + sed -e 's@${STAGING_DIR_HOST}@@g' \ + -i ${D}${libdir}/cmake/opencv4/OpenCVModules.cmake + fi + # remove setup_vars_opencv4.sh as its content is confusing and useless + if [ -f ${D}${bindir}/setup_vars_opencv4.sh ]; then + rm -rf ${D}${bindir}/setup_vars_opencv4.sh + fi +} + +########## End of meta-openembedded copy ########## + +########## i.MX overrides ########## + +SUMMARY = "Opencv : The Open Computer Vision Library, i.MX Fork" + +LIC_FILES_CHKSUM = "file://LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57" + +# Replace the opencv URL with the fork +SRCREV_opencv = "d3440df40a6e90cd1d2a1b729bcbc16aa4d42f5d" +OPENCV_SRC ?= "git://github.com/nxp-imx/opencv-imx.git;protocol=https;branch=master" +SRCBRANCH = "4.6.0_imx" +SRC_URI:remove = "git://github.com/opencv/opencv.git;name=opencv;branch=master;protocol=https" +SRC_URI =+ "${OPENCV_SRC};branch=${SRCBRANCH};name=opencv" + +# Add opencv_extra +SRCREV_extra = "936854e2b666853d6d0732a8eabc2d699f4fa3d8" +SRC_URI += " \ + git://github.com/opencv/opencv_extra.git;destsuffix=extra;name=extra;branch=master;protocol=https \ + file://0001-Add-smaller-version-of-download_models.py.patch;patchdir=../extra \ +" +SRCREV_FORMAT:append = "_extra" + +# Patch DNN example +SRC_URI += " \ + file://OpenCV_DNN_examples.patch \ +" + +PACKAGECONFIG:remove = "eigen" +PACKAGECONFIG:append:mx8-nxp-bsp = " dnn text" +PACKAGECONFIG_OPENCL = "" +PACKAGECONFIG_OPENCL:mx8-nxp-bsp = "opencl" +PACKAGECONFIG_OPENCL:mx8dxl-nxp-bsp = "" +PACKAGECONFIG_OPENCL:mx8mm-nxp-bsp = "" +PACKAGECONFIG_OPENCL:mx8mnlite-nxp-bsp = "" +PACKAGECONFIG:append = " ${PACKAGECONFIG_OPENCL}" + +PACKAGECONFIG[openvx] = "-DWITH_OPENVX=ON -DOPENVX_ROOT=${STAGING_LIBDIR} -DOPENVX_LIB_CANDIDATES='OpenVX;OpenVXU',-DWITH_OPENVX=OFF,virtual/libopenvx," +PACKAGECONFIG[qt5] = "-DWITH_QT=ON -DOE_QMAKE_PATH_EXTERNAL_HOST_BINS=${STAGING_BINDIR_NATIVE} -DCMAKE_PREFIX_PATH=${STAGING_BINDIR_NATIVE}/cmake,-DWITH_QT=OFF,qtbase qtbase-native," +PACKAGECONFIG[qt6] = "-DWITH_QT=ON -DQT_HOST_PATH=${RECIPE_SYSROOT_NATIVE}${prefix_native},-DWITH_QT=OFF,qtbase qtbase-native," +PACKAGECONFIG[tests-imx] = "-DINSTALL_TESTS=ON -DOPENCV_TEST_DATA_PATH=${S}/../extra/testdata, -DINSTALL_TESTS=OFF," +PACKAGECONFIG[tim-vx] = "-DWITH_TIMVX=ON -DTIMVX_INSTALL_DIR=${STAGING_DIR_HOST}${libdir},-DWITH_TIMVX=OFF,tim-vx" + +# Disable cvv module in opencv_contrib as it is not yet suppported for Qt6 +# (opencv debug framework) +EXTRA_OECMAKE:append = " -DBUILD_opencv_cvv=OFF" + +do_install:append() { + ln -sf opencv4/opencv2 ${D}${includedir}/opencv2 + install -d ${D}${datadir}/OpenCV/samples/data + cp -r ${S}/samples/data/* ${D}${datadir}/OpenCV/samples/data + install -d ${D}${datadir}/OpenCV/samples/bin/ + cp -f bin/example_* ${D}${datadir}/OpenCV/samples/bin/ + if ${@bb.utils.contains('PACKAGECONFIG', 'tests-imx', 'true', 'false', d)}; then + cp -r share/opencv4/testdata/cv/face/* ${D}${datadir}/opencv4/testdata/cv/face/ + fi +} + +FILES:${PN}-samples += "${datadir}/OpenCV/samples" + +COMPATIBLE_MACHINE = "(mx8-nxp-bsp)" + +########## End of i.MX overrides ########## -- cgit v1.2.3-54-g00ecf