commit:     beda18baef91187b4c764e5c946ca3d965c36c6f
Author:     Ian Whyman <thev00d00 <AT> gentoo <DOT> org>
AuthorDate: Sun Jan 14 13:37:00 2018 +0000
Commit:     Ian Whyman <thev00d00 <AT> gentoo <DOT> org>
CommitDate: Sun Jan 14 13:37:17 2018 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=beda18ba

dev-libs/libcec: Fix build with ncurses[tinfo]

Closes: https://bugs.gentoo.org/615634
Package-Manager: Portage-2.3.19, Repoman-2.3.6

 dev-libs/libcec/files/libcec-4.0.2-no-tinfo.patch | 25 +++++++
 dev-libs/libcec/libcec-4.0.2-r1.ebuild            | 83 +++++++++++++++++++++++
 2 files changed, 108 insertions(+)

diff --git a/dev-libs/libcec/files/libcec-4.0.2-no-tinfo.patch 
b/dev-libs/libcec/files/libcec-4.0.2-no-tinfo.patch
new file mode 100644
index 00000000000..673c6f86c97
--- /dev/null
+++ b/dev-libs/libcec/files/libcec-4.0.2-no-tinfo.patch
@@ -0,0 +1,25 @@
+--- libcec-libcec-4.0.2/src/cec-client/CMakeLists.txt
++++ libcec-libcec-4.0.2/src/cec-client/CMakeLists.txt
+@@ -27,8 +27,12 @@ set(cecclient_SOURCES cec-client.cpp)
+ check_library_exists(curses initscr "" HAVE_CURSES_API)
+ if (HAVE_CURSES_API)
+   list(APPEND cecclient_SOURCES curses/CursesControl.cpp)
++
++  # tinfo
++  find_library(HAVE_CURSES_TINFO tinfo)
+ endif()
+ 
++
+ add_executable(cec-client ${cecclient_SOURCES})
+ set_target_properties(cec-client PROPERTIES VERSION 
${LIBCEC_VERSION_MAJOR}.${LIBCEC_VERSION_MINOR}.${LIBCEC_VERSION_PATCH})
+ target_link_libraries(cec-client ${p8-platform_LIBRARIES})
+@@ -44,6 +48,9 @@ if (NOT WIN32)
+   # curses
+   if (HAVE_CURSES_API)
+     target_link_libraries(cec-client curses)
++    if (HAVE_CURSES_TINFO)
++      target_link_libraries(cec-client tinfo)
++    endif()
+   endif()
+ 
+   # rt

diff --git a/dev-libs/libcec/libcec-4.0.2-r1.ebuild 
b/dev-libs/libcec/libcec-4.0.2-r1.ebuild
new file mode 100644
index 00000000000..f52629d1672
--- /dev/null
+++ b/dev-libs/libcec/libcec-4.0.2-r1.ebuild
@@ -0,0 +1,83 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+PYTHON_COMPAT=( python{2_7,3_4,3_5} )
+MY_PV=${PV/_p/-}
+MY_P=${PN}-${MY_PV}
+
+inherit cmake-utils linux-info python-single-r1 toolchain-funcs
+
+DESCRIPTION="Library for communicating with the Pulse-Eight USB HDMI-CEC 
Adaptor"
+HOMEPAGE="http://libcec.pulse-eight.com";
+SRC_URI="https://github.com/Pulse-Eight/${PN}/archive/${MY_P}.tar.gz";
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~x86"
+IUSE="cubox exynos python raspberry-pi +xrandr"
+REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
+
+RDEPEND="virtual/udev
+       >=dev-libs/libplatform-2.0.0
+       sys-libs/ncurses:=
+       raspberry-pi? ( >=media-libs/raspberrypi-userland-0_pre20160305-r1 )
+       xrandr? ( x11-libs/libXrandr )
+       python? ( ${PYTHON_DEPS} )"
+DEPEND="${RDEPEND}
+       python? ( dev-lang/swig )
+       virtual/pkgconfig"
+
+CONFIG_CHECK="~USB_ACM"
+
+S="${WORKDIR}/${PN}-${MY_P}"
+
+PATCHES=( "${FILESDIR}/${P}-no-tinfo.patch" )
+
+pkg_pretend() {
+       linux-info_pkg_setup
+}
+
+pkg_setup() {
+       linux-info_pkg_setup
+       use python && python-single-r1_pkg_setup
+}
+
+src_prepare() {
+       cmake-utils_src_prepare
+
+       # Do not hardcode the python libpath #577612
+       sed -i \
+               -e 
'/DESTINATION/s:lib/python${PYTHON_VERSION}/dist-packages:${PYTHON_SITEDIR}:' \
+               src/libcec/cmake/CheckPlatformSupport.cmake || die
+
+       use python || cmake_comment_add_subdirectory "src/pyCecClient"
+}
+
+src_configure() {
+       local mycmakeargs=(
+               -DSKIP_PYTHON_WRAPPER=$(usex !python)
+               -DHAVE_EXYNOS_API=$(usex exynos)
+               -DHAVE_TDA995X_API=$(usex cubox)
+               -DHAVE_RPI_API=$(usex raspberry-pi)
+       )
+       use python && mycmakeargs+=(
+               -DPYTHON_SITEDIR="$(python_get_sitedir)"
+       )
+
+       # raspberrypi-userland itself does not provide .pc file so using
+       # bcm_host.pc instead
+       use raspberry-pi && mycmakeargs+=(
+               -DRPI_INCLUDE_DIR=$( $(tc-getPKG_CONFIG) --variable=includedir 
bcm_host) \
+               -DRPI_LIB_DIR=$( $(tc-getPKG_CONFIG) --variable=libdir bcm_host)
+       )
+
+       cmake-utils_src_configure
+}
+
+pkg_postinst() {
+       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 uucp group"
+}

Reply via email to