repo/gentoo:master commit in: dev-libs/libcec/

"Sam James" <[email protected]>
Newsgroups gmane.linux.gentoo.cvs
Message-ID <1786298569.68727b9785adf7da6b409038434939ec8c43a651.sam@gentoo>
commit:     68727b9785adf7da6b409038434939ec8c43a651
Author:     Alfred Wingate <parona <AT> protonmail <DOT> com>
AuthorDate: Fri Aug  7 17:49:18 2026 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Sun Aug  9 18:02:49 2026 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=68727b97

dev-libs/libcec: add 8.1.6

Bug: https://bugs.gentoo.org/977619
Signed-off-by: Alfred Wingate <parona <AT> protonmail.com>
Part-of: https://codeberg.org/gentoo/gentoo/pulls/1504
Signed-off-by: Sam James <sam <AT> gentoo.org>

 dev-libs/libcec/Manifest            |   1 +
 dev-libs/libcec/libcec-8.1.6.ebuild | 130 ++++++++++++++++++++++++++++++++++++
 2 files changed, 131 insertions(+)

diff --git a/dev-libs/libcec/Manifest b/dev-libs/libcec/Manifest
index b1446547ece1..d2501e50e112 100644
--- a/dev-libs/libcec/Manifest
+++ b/dev-libs/libcec/Manifest
@@ -1 +1,2 @@
 DIST libcec-7.1.1.tar.gz 365046 BLAKE2B f9f0317030e1bc1d36c6b5268350b3c5d8023691b8e4c2ba2b76d249dad31269445e5a74f95606e08fcdea7783f6a67c55f3168c61e4a11002010f8f9aaed385 SHA512 f4c12b68f275bde32a1f91e48e392c0d7fc0cf9f86fb4635a79869dc2398cbd63a1f8fdedc21d61f15afbe53ac8ece20cddeec4bac91de97de32fdcca61848e6
+DIST libcec-8.1.6.tar.gz 1965766 BLAKE2B 05e9ed6a3558985d37210e8fed68585bfd7f3230215337b0789a261cfced00b19c6de1d3aa8bafe7bc24737ac76614a7bc17f18e712dfcc1f0a06632f37c6f2f SHA512 1bbefa39cd04e58b611fd1b49ef9c79aa3f64755c75d95d6d6a57a04fee90a2f412a19bca5fe8d258de1634b5ec6dfd3982312d9f20361120a2662abbad5ed31

diff --git a/dev-libs/libcec/libcec-8.1.6.ebuild b/dev-libs/libcec/libcec-8.1.6.ebuild
new file mode 100644
index 000000000000..41892dfb152f
--- /dev/null
+++ b/dev-libs/libcec/libcec-8.1.6.ebuild
@@ -0,0 +1,130 @@
+# Copyright 1999-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{12..15} )
+MY_PV=${PV/_p/-}
+MY_P=${PN}-${MY_PV}
+
+inherit cmake dot-a linux-info python-single-r1 udev
+
+DESCRIPTION="Library for communicating with the Pulse-Eight USB HDMI-CEC Adaptor"
+HOMEPAGE="https://libcec.pulse-eight.com"
+SRC_URI="https://github.com/Pulse-Eight/${PN}/archive/${MY_P}.tar.gz"
+S="${WORKDIR}/${PN}-${MY_P}"
+
+LICENSE="GPL-2+"
+SLOT="0/$(ver_cut 1)"
+KEYWORDS="~amd64 ~arm ~arm64 ~riscv ~x86"
+IUSE="exynos kernel-cec python static-libs tools udev +xrandr"
+REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
+
+RDEPEND="
+	python? ( ${PYTHON_DEPS} )
+	udev? ( virtual/udev )
+	xrandr? (
+		x11-libs/libX11
+		x11-libs/libXrandr
+	)
+
+"
+DEPEND="${RDEPEND}"
+BDEPEND="
+	virtual/pkgconfig
+	python? (
+		${PYTHON_DEPS}
+		dev-lang/swig
+	)
+"
+
+CONFIG_CHECK="~USB_ACM"
+
+pkg_pretend() {
+	use udev || CONFIG_CHECK+=" ~SYSFS"
+	ERROR_SYSFS="When using libcec build without udev, kernel config option CONFIG_SYSFS is required to automatically detect P8 USB-CEC adapter port number"
+
+	linux-info_pkg_setup
+}
+
+pkg_setup() {
+	linux-info_pkg_setup
+	use python && python-single-r1_pkg_setup
+}
+
+src_prepare() {
+	cmake_src_prepare
+
+	sed -Ee 's|[ ~]?#DIST#;?||g' debian/changelog.in > ChangeLog || die
+
+	(use tools && use python) || cmake_comment_add_subdirectory "src/pyCecClient"
+
+	if use python; then
+		sed -e "s|\${CMAKE_INSTALL_LIBDIR}/python\${PYTHON_VERSION}/\${PYTHON_PKG_DIR}|$(python_get_sitedir)|" \
+			-i src/libcec/cmake/CheckPlatformSupport.cmake || die
+	fi
+}
+
+src_configure() {
+	use static-libs && lto-guarantee-fat
+
+	local mycmakeargs=(
+		-DDISABLE_CLIENT=$(usex !tools)
+		-DDISABLE_STATIC=$(usex !static-libs)
+		-DSKIP_PYTHON_WRAPPER=$(usex !python)
+
+		# Same order as in src/libcec/cmake/CheckPlatformSupport.cmake
+		-DHAVE_DRM_EDID_PARSER=ON
+		-DHAVE_LIBUDEV=$(usex udev)
+		-DHAVE_RANDR=$(usex xrandr)
+		-DHAVE_RPI_API=OFF
+		# bug 922690 and bug 955124
+		-DHAVE_TDA995X_API=OFF
+		-DHAVE_EXYNOS_API=$(usex exynos)
+		-DHAVE_LINUX_API=$(usex kernel-cec)
+	)
+
+	if linux_config_exists && linux_chkconfig_present SYSFS; then
+		mycmakeargs+=( -DHAVE_P8_USB_DETECT=ON )
+	fi
+
+	cmake_src_configure
+}
+
+src_compile() {
+	cmake_src_compile
+
+	if use udev ; then
+		sed '/2548/ s/SUBSYSTEM/SUBSYSTEMS/; s/$/, GROUP="video"/;' "${S}/debian/pulse-eight-usb-cec.udev" > \
+			"${BUILD_DIR}/65-pulse-eight-usb-cec.rules" || die
+	fi
+}
+
+src_install() {
+	cmake_src_install
+
+	use static-libs && strip-lto-bytecode
+
+	if use python; then
+		use tools && python_fix_shebang "${D}"
+		python_optimize "${D}$(python_get_sitedir)"
+	fi
+
+	use tools && doman debian/cec-client.1
+
+	if use udev; then
+		udev_dorules "${BUILD_DIR}/65-pulse-eight-usb-cec.rules"
+	fi
+}
+
+pkg_postrm() {
+	use udev && udev_reload
+}
+
+pkg_postinst() {
+	use udev && udev_reload
+
+	elog "You will need to ensure the user running your CEC client has"
+	elog "read/write access to the device. You can ensure this by adding"
+	elog "them to the video group"
+}
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.