diff mbox series

[meta-oe] libcec: update 6.0.2 -> 7.0.0

Message ID 20250325060218.222815-1-f_l_k@t-online.de
State Accepted
Headers show
Series [meta-oe] libcec: update 6.0.2 -> 7.0.0 | expand

Commit Message

Markus Volk March 25, 2025, 6:02 a.m. UTC
Changelog

    modernise CMakeLists.txt
    Use cmake TIMESTAMP function to be more portable and to allow for reproducible builds
    fixed: potential null deref. closes #556
    python 3.13 compatibility
    added: vs2022 support
    fixed: creating (unsigned) windows installer
    fixed: nsis installer not creating start menu icons and uninstaller
    bump to .net framework 4.5 and .net 8.0
    fixed: null terminate .net device language field. added CecLogicalAddresses::Unset()
    fixed: don't call the config updated callback if nothing has changed. auto set wake devices or activate source so these values match what happens on the tv
    fixed: tv would power on even if the options to power on were disabled in cec-tray
    changed/fixed: windows installer, eventghost plugin, .net libraries, python imports, debug builds
    fixed: use input() for python3 and raw_input() for python2
    changed: debian python install to match arch specific too
    fixed: libusb0.dll wasn't included in the installer
    fixed: remove call to PyEcal_InitThreads(). swig already includes SWIG_PYTHON_INITIALIZE_THREADS in SWIG_init()
    CheckPlatformSupport.cmake: various improvements
    Ease copy-paste by invoking apt noninteractively
    Rename COPYING to LICENSE.md so follow standard naming conversion
    cecloader.h: fix null return
    Mark all devices as inactive when new active source is unknown
    Fix use after free in callbacks with results.
    Add a commandHandler callback to allow external libs to handle CEC commands themselves.
    Remove debug printfs.
    Attempt to fix race condition when freeing the callback wrapper.
    Allow command handler callback to intercept broadcast messages and fix inconsistent callback wrapper deletion again.
    Remove useless mutex.
    Remove useless 'keepResult' parameter and make sure the CCallbackWrap is only deleted once even in case of timeout.
    Fix Python module import
    fix assert issue with systemd udev
    tegra-cec support. closes #636
    Add support for Windows ARM64.

Signed-off-by: Markus Volk <f_l_k@t-online.de>
---
 ...pport.cmake-Do-not-hardcode-lib-path.patch | 42 -------------------
 ...buggy-test-confusing-host-and-target.patch | 33 ---------------
 ...return-type-of-function-LibCecBootlo.patch | 41 ------------------
 .../{libcec_6.0.2.bb => libcec_7.0.0.bb}      |  7 +---
 4 files changed, 2 insertions(+), 121 deletions(-)
 delete mode 100644 meta-oe/recipes-extended/libcec/libcec/0001-CheckPlatformSupport.cmake-Do-not-hardcode-lib-path.patch
 delete mode 100644 meta-oe/recipes-extended/libcec/libcec/0001-Remove-buggy-test-confusing-host-and-target.patch
 delete mode 100644 meta-oe/recipes-extended/libcec/libcec/0001-cecloader-Match-return-type-of-function-LibCecBootlo.patch
 rename meta-oe/recipes-extended/libcec/{libcec_6.0.2.bb => libcec_7.0.0.bb} (80%)
diff mbox series

Patch

diff --git a/meta-oe/recipes-extended/libcec/libcec/0001-CheckPlatformSupport.cmake-Do-not-hardcode-lib-path.patch b/meta-oe/recipes-extended/libcec/libcec/0001-CheckPlatformSupport.cmake-Do-not-hardcode-lib-path.patch
deleted file mode 100644
index 3ecbfce250..0000000000
--- a/meta-oe/recipes-extended/libcec/libcec/0001-CheckPlatformSupport.cmake-Do-not-hardcode-lib-path.patch
+++ /dev/null
@@ -1,42 +0,0 @@ 
-From 95d4df3b713925e2c4894a2e4d50b06df861d9ef Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Wed, 18 Dec 2019 23:37:40 -0800
-Subject: [PATCH] CheckPlatformSupport.cmake: Do not hardcode lib path
-
-Using CMAKE_INSTALL_LIBDIR ensures that we can build for multilib env
-
-Upstream-Status: Pending
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- src/libcec/cmake/CheckPlatformSupport.cmake | 10 +++++-----
- 1 file changed, 5 insertions(+), 5 deletions(-)
-
-diff --git a/src/libcec/cmake/CheckPlatformSupport.cmake b/src/libcec/cmake/CheckPlatformSupport.cmake
-index 2d7102f..55e78f8 100644
---- a/src/libcec/cmake/CheckPlatformSupport.cmake
-+++ b/src/libcec/cmake/CheckPlatformSupport.cmake
-@@ -224,16 +224,16 @@ else()
- 
-       if (${PYTHON_MAJOR_VERSION} EQUAL 2)
-         install(TARGETS     ${SWIG_MODULE_cec_REAL_NAME}
--                DESTINATION lib/python${PYTHON_VERSION}/${PYTHON_PKG_DIR}/${PYTHON_LIB_INSTALL_PATH}/cec)
-+                DESTINATION ${CMAKE_INSTALL_LIBDIR}/python${PYTHON_VERSION}/${PYTHON_PKG_DIR}/${PYTHON_LIB_INSTALL_PATH}/cec)
-         install(FILES       ${CMAKE_BINARY_DIR}/src/libcec/cec.py
--                DESTINATION lib/python${PYTHON_VERSION}/${PYTHON_PKG_DIR})
-+                DESTINATION l${CMAKE_INSTALL_LIBDIR}/python${PYTHON_VERSION}/${PYTHON_PKG_DIR})
-         install(FILES ${CMAKE_SOURCE_DIR}/src/libcec/cmake/__init__.py
--                DESTINATION lib/python${PYTHON_VERSION}/${PYTHON_PKG_DIR}/cec)
-+                DESTINATION ${CMAKE_INSTALL_LIBDIR}/python${PYTHON_VERSION}/${PYTHON_PKG_DIR}/cec)
-       else()
-         install(TARGETS     ${SWIG_MODULE_cec_REAL_NAME}
--                DESTINATION lib/python${PYTHON_VERSION}/${PYTHON_PKG_DIR}/${PYTHON_LIB_INSTALL_PATH})
-+                DESTINATION ${CMAKE_INSTALL_LIBDIR}/python${PYTHON_VERSION}/${PYTHON_PKG_DIR}/${PYTHON_LIB_INSTALL_PATH})
-         install(FILES       ${CMAKE_BINARY_DIR}/src/libcec/cec.py
--                DESTINATION lib/python${PYTHON_VERSION}/${PYTHON_PKG_DIR})
-+                DESTINATION ${CMAKE_INSTALL_LIBDIR}/python${PYTHON_VERSION}/${PYTHON_PKG_DIR})
-       endif()
-     endif()
-   endif()
--- 
-2.24.1
-
diff --git a/meta-oe/recipes-extended/libcec/libcec/0001-Remove-buggy-test-confusing-host-and-target.patch b/meta-oe/recipes-extended/libcec/libcec/0001-Remove-buggy-test-confusing-host-and-target.patch
deleted file mode 100644
index 07277f7064..0000000000
--- a/meta-oe/recipes-extended/libcec/libcec/0001-Remove-buggy-test-confusing-host-and-target.patch
+++ /dev/null
@@ -1,33 +0,0 @@ 
-From 8ce50bf569ec2d931735180079bbe507730626c8 Mon Sep 17 00:00:00 2001
-From: Yann Dirson <yann@blade-group.com>
-Date: Mon, 7 Sep 2020 18:17:21 +0200
-Subject: [PATCH] Remove buggy test confusing host and target
-
----
-Upstream-Status: Pending
-
- src/libcec/cmake/CheckPlatformSupport.cmake | 8 --------
- 1 file changed, 8 deletions(-)
-
-diff --git a/src/libcec/cmake/CheckPlatformSupport.cmake b/src/libcec/cmake/CheckPlatformSupport.cmake
-index 1d99bd8..31dac4f 100644
---- a/src/libcec/cmake/CheckPlatformSupport.cmake
-+++ b/src/libcec/cmake/CheckPlatformSupport.cmake
-@@ -266,14 +266,6 @@ else()
-                 DESTINATION python/cec)
-       endif()
-     else()
--      if(EXISTS "/etc/os-release")
--        file(READ "/etc/os-release" OS_RELEASE)
--        string(REGEX MATCH "ID(_LIKE)?=debian" IS_DEBIAN ${OS_RELEASE})
--        if (IS_DEBIAN)
--          SET(PYTHON_PKG_DIR "dist-packages")
--        endif()
--      endif()
--
-       if (NOT PYTHON_PKG_DIR)
-         SET(PYTHON_PKG_DIR "site-packages")
-       endif()
--- 
-2.28.0
-
diff --git a/meta-oe/recipes-extended/libcec/libcec/0001-cecloader-Match-return-type-of-function-LibCecBootlo.patch b/meta-oe/recipes-extended/libcec/libcec/0001-cecloader-Match-return-type-of-function-LibCecBootlo.patch
deleted file mode 100644
index ab1ab5b8eb..0000000000
--- a/meta-oe/recipes-extended/libcec/libcec/0001-cecloader-Match-return-type-of-function-LibCecBootlo.patch
+++ /dev/null
@@ -1,41 +0,0 @@ 
-From 2241edc8b70c2a54d109ac9c0e821889ac138d40 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Thu, 27 Jan 2022 22:49:52 -0800
-Subject: [PATCH] cecloader: Match return type of function LibCecBootloader
-
-Fixes
-include/cecloader.h:175:14: error: cannot initialize return object of type 'bool' with an rvalue of type 'nullptr_t'
-      return NULL;
-             ^~~~
-
-Upstream-Status: Pending
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- include/cecloader.h | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/include/cecloader.h b/include/cecloader.h
-index be76468f..550f598e 100644
---- a/include/cecloader.h
-+++ b/include/cecloader.h
-@@ -172,7 +172,7 @@ bool LibCecBootloader(const char *strLib = NULL)
-     if (!g_libCEC)
-     {
-       std::cout << dlerror() << std::endl;
--      return NULL;
-+      return false;
-     }
-   }
- 
-@@ -181,7 +181,7 @@ bool LibCecBootloader(const char *strLib = NULL)
-   if (!LibCecBootloader)
-   {
-     std::cout << "cannot find CECStartBootloader" << std::endl;
--    return NULL;
-+    return false;
-   }
- 
-   bool bReturn = LibCecBootloader();
--- 
-2.35.0
-
diff --git a/meta-oe/recipes-extended/libcec/libcec_6.0.2.bb b/meta-oe/recipes-extended/libcec/libcec_7.0.0.bb
similarity index 80%
rename from meta-oe/recipes-extended/libcec/libcec_6.0.2.bb
rename to meta-oe/recipes-extended/libcec/libcec_7.0.0.bb
index 22155e534c..532179a9bb 100644
--- a/meta-oe/recipes-extended/libcec/libcec_6.0.2.bb
+++ b/meta-oe/recipes-extended/libcec/libcec_7.0.0.bb
@@ -2,19 +2,16 @@  SUMMARY = "USB CEC Adaptor communication Library"
 HOMEPAGE = "http://libcec.pulse-eight.com/"
 
 LICENSE = "GPL-2.0-or-later"
-LIC_FILES_CHKSUM = "file://COPYING;md5=b3a719e97f49e4841e90573f9b1a98ac"
+LIC_FILES_CHKSUM = "file://LICENSE.md;md5=b3a719e97f49e4841e90573f9b1a98ac"
 
 DEPENDS = "p8platform udev ncurses swig-native python3"
 
 DEPENDS += "${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'libx11 libxrandr', '', d)}"
 DEPENDS:append:rpi = "${@bb.utils.contains('MACHINE_FEATURES', 'vc4graphics', '', ' userland', d)}"
 
-SRCREV = "29d82c80bcc62be2878a9ac080de7eb286c4beb9"
+SRCREV = "ceeec8bfd2242792b6de59ce8fb854437208dc11"
 SRC_URI = "git://github.com/Pulse-Eight/libcec.git;branch=release;protocol=https \
-           file://0001-CheckPlatformSupport.cmake-Do-not-hardcode-lib-path.patch \
            file://0001-Enhance-reproducibility.patch \
-           file://0001-Remove-buggy-test-confusing-host-and-target.patch \
-           file://0001-cecloader-Match-return-type-of-function-LibCecBootlo.patch \
           "
 
 S = "${WORKDIR}/git"