SHA256
1
0
forked from pool/libcec

2 Commits

Author SHA256 Message Date
a260cc5df8 Accepting request 1252658 from hardware
OBS-URL: https://build.opensuse.org/request/show/1252658
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/libcec?expand=0&rev=14
2025-03-13 21:04:37 +00:00
895ff3485e - Update to 7.0.0:
* modernise CMakeLists.txt
  * Use cmake TIMESTAMP function to be more portable and to allow for
    reproducible builds
  * fixed: potential null deref.
  * python 3.13 compatibility
  * added: vs2022 support
  * 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

OBS-URL: https://build.opensuse.org/package/show/hardware/libcec?expand=0&rev=38
2025-03-13 07:57:52 +00:00
6 changed files with 73 additions and 53 deletions

View File

@@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:090696d7a4fb772d7acebbb06f91ab92e025531c7c91824046b9e4e71ecb3377
size 355807

3
libcec-7.0.0.tar.gz Normal file
View File

@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:7f9e57ae9fad37649adb6749b8f1310a71ccf3e92ae8b2d1cc9e8ae2d1da83f8
size 362134

View File

@@ -1,11 +1,21 @@
Index: libcec-libcec-6.0.2/src/libcec/cmake/CheckPlatformSupport.cmake
Index: libcec-libcec-7.0.0/src/libcec/cmake/CheckPlatformSupport.cmake
===================================================================
--- libcec-libcec-6.0.2.orig/src/libcec/cmake/CheckPlatformSupport.cmake
+++ libcec-libcec-6.0.2/src/libcec/cmake/CheckPlatformSupport.cmake
@@ -287,9 +287,9 @@ else()
DESTINATION lib/python${PYTHON_VERSION}/${PYTHON_PKG_DIR}/cec)
--- libcec-libcec-7.0.0.orig/src/libcec/cmake/CheckPlatformSupport.cmake
+++ libcec-libcec-7.0.0/src/libcec/cmake/CheckPlatformSupport.cmake
@@ -363,16 +363,16 @@ else()
if (${PYTHON_MAJOR_VERSION} EQUAL 2)
install(TARGETS ${SWIG_MODULE_pycec_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 ${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}
install(TARGETS ${SWIG_MODULE_pycec_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

View File

@@ -1,3 +1,51 @@
-------------------------------------------------------------------
Thu Mar 13 03:13:23 UTC 2025 - Steve Kowalik <steven.kowalik@suse.com>
- Update to 7.0.0:
* modernise CMakeLists.txt
* Use cmake TIMESTAMP function to be more portable and to allow for
reproducible builds
* fixed: potential null deref.
* python 3.13 compatibility
* added: vs2022 support
* 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.
* Add support for Windows ARM64.
- Remove reproducible.patch, now included upstream.
- Rebase libcec-cmake_install_lib_dir.patch
-------------------------------------------------------------------
Wed Jun 28 07:29:33 UTC 2023 - Martin Pluskal <mpluskal@suse.com>

View File

@@ -1,7 +1,7 @@
#
# spec file for package libcec
#
# Copyright (c) 2023 SUSE LLC
# Copyright (c) 2025 SUSE LLC
# Copyright (c) 2012 Guillaume GARDET <guillaume@opensuse.org>
#
# All modifications and additions to the file contributed by third parties
@@ -17,19 +17,17 @@
#
%define sover 6
%define sover 7
%define libname %{name}%{sover}
%bcond_with enable_rpi_build
Name: libcec
Version: 6.0.2
Version: 7.0.0
Release: 0
Summary: Library to control devices with TV remote control via HDMI
License: GPL-2.0-or-later
URL: https://github.com/Pulse-Eight/libcec
Source: https://github.com/Pulse-Eight/libcec/archive/libcec-%{version}.tar.gz
Patch1: libcec-cmake_install_lib_dir.patch
# PATCH-FIX-UPSTREAM https://github.com/Pulse-Eight/libcec/pull/553
Patch2: reproducible.patch
BuildRequires: cmake
BuildRequires: gcc-c++
BuildRequires: ncurses-devel
@@ -133,10 +131,11 @@ This subpackage contains the headers for libcec.
%files -n python3-%{name}
%{_bindir}/pyCecClient
%{python3_sitearch}/*
%{python3_sitearch}/cec.py
%{python3_sitearch}/_pycec.so
%files -n %{libname}
%license COPYING
%license LICENSE.md
%doc debian/changelog.in
%{_libdir}/libcec.so.%{sover}*

View File

@@ -1,37 +0,0 @@
https://github.com/Pulse-Eight/libcec/pull/553
commit 8e97b159b28ce4b21d183ff68983b5b727fa2c1b
Author: Bernhard M. Wiedemann <bwiedemann@suse.de>
Date: Sat Jan 16 22:50:02 2021 +0100
Allow to skip recording build user+host
if the SOURCE_DATE_EPOCH variable is set,
this indicates that a reproducible build is wanted.
This PR was done while working on reproducible builds for openSUSE.
diff --git a/src/libcec/cmake/SetBuildInfo.cmake b/src/libcec/cmake/SetBuildInfo.cmake
index 3402f9f..29e4e70 100644
--- a/src/libcec/cmake/SetBuildInfo.cmake
+++ b/src/libcec/cmake/SetBuildInfo.cmake
@@ -31,6 +31,9 @@ else()
find_program(HAVE_WHOAMI_BIN whoami /bin /usr/bin /usr/local/bin)
if(HAVE_WHOAMI_BIN)
exec_program(whoami OUTPUT_VARIABLE BUILD_USER)
+ if (DEFINED ENV{SOURCE_DATE_EPOCH})
+ set(BUILD_USER "(reproducible)")
+ endif()
set(LIB_INFO "${LIB_INFO} by ${BUILD_USER}")
else()
set(LIB_INFO "${LIB_INFO} by (unknown user)")
@@ -44,6 +47,9 @@ else()
if (RETURN_HOST)
exec_program(hostname OUTPUT_VARIABLE BUILD_HOST)
endif()
+ if (DEFINED ENV{SOURCE_DATE_EPOCH})
+ set(BUILD_HOST "(reproducible)")
+ endif()
set(LIB_INFO "${LIB_INFO}@${BUILD_HOST}")
endif()