Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 28 Feb 2015 14:20:11 +0000 (UTC)
From:      Jan Beich <jbeich@FreeBSD.org>
To:        ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org
Subject:   svn commit: r380144 - in head/multimedia: libcec libcec/files plexhometheater plexhometheater/files xbmc xbmc/files
Message-ID:  <201502281420.t1SEKBHX091703@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: jbeich
Date: Sat Feb 28 14:20:10 2015
New Revision: 380144
URL: https://svnweb.freebsd.org/changeset/ports/380144
QAT: https://qat.redports.org/buildarchive/r380144/

Log:
  - Update libcec to 2.2.0 [1]
  - Unbreak consumers after update [2]
  - No PORTREVISION bumps because binary compatible
  
  PR:		196299
  Differential Revision:	https://reviews.freebsd.org/D1900
  Submitted by:	mickael.maillot@gmail.com (maintainer) [1]
  Submitted by:	Ben Woods <woodsb02@gmail.com> (maintainer) [2]

Added:
  head/multimedia/libcec/files/
  head/multimedia/libcec/files/patch-configure.ac   (contents, props changed)
  head/multimedia/plexhometheater/files/patch-libcec22   (contents, props changed)
  head/multimedia/xbmc/files/patch-libcec22   (contents, props changed)
Modified:
  head/multimedia/libcec/Makefile
  head/multimedia/libcec/distinfo
  head/multimedia/plexhometheater/Makefile
  head/multimedia/xbmc/Makefile

Modified: head/multimedia/libcec/Makefile
==============================================================================
--- head/multimedia/libcec/Makefile	Sat Feb 28 14:14:22 2015	(r380143)
+++ head/multimedia/libcec/Makefile	Sat Feb 28 14:20:10 2015	(r380144)
@@ -2,7 +2,7 @@
 # $FreeBSD$
 
 PORTNAME=	libcec
-PORTVERSION=	2.1.4
+PORTVERSION=	2.2.0
 CATEGORIES=	multimedia
 MASTER_SITES=	GH
 
@@ -14,20 +14,18 @@ LICENSE_FILE=	${WRKSRC}/COPYING
 
 USE_GITHUB=	yes
 GH_ACCOUNT=	Pulse-Eight
-GH_COMMIT=	81e3821
+GH_COMMIT=	2a80b46
 GH_TAGNAME=	${PORTNAME}-${PORTVERSION}-repack
 
 USES=		alias pathfix pkgconfig libtool
 PATHFIX_MAKEFILEIN=Makefile.am
+USE_XORG=	x11 xproto xrandr
 USE_AUTOTOOLS=	aclocal autoheader automake autoconf libtoolize
 ACLOCAL_ARGS=	-I.
 AUTOMAKE_ARGS=	--add-missing
 USE_LDCONFIG=	yes
 INSTALL_TARGET=	install-strip
 
-post-patch:
-	${REINPLACE_CMD} 's;-Wno-psabi;;' ${WRKSRC}/configure.ac
-
 .include <bsd.port.options.mk>
 
 .if ${ARCH} == armv6

Modified: head/multimedia/libcec/distinfo
==============================================================================
--- head/multimedia/libcec/distinfo	Sat Feb 28 14:14:22 2015	(r380143)
+++ head/multimedia/libcec/distinfo	Sat Feb 28 14:20:10 2015	(r380144)
@@ -1,2 +1,2 @@
-SHA256 (libcec-2.1.4.tar.gz) = b8e869cc16a5c73a0da4443911cfd0e931f17324bdaad8210b0de085db0573ea
-SIZE (libcec-2.1.4.tar.gz) = 1093922
+SHA256 (libcec-2.2.0.tar.gz) = 63c3a4936d074bcfea21a0301bb1bedc6b5abba280e296b12fdca15addcedee9
+SIZE (libcec-2.2.0.tar.gz) = 1099260

Added: head/multimedia/libcec/files/patch-configure.ac
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/multimedia/libcec/files/patch-configure.ac	Sat Feb 28 14:20:10 2015	(r380144)
@@ -0,0 +1,27 @@
+--- configure.ac.orig	2014-12-16 12:03:01.000000000 +0100
++++ configure.ac	2014-12-16 12:05:57.000000000 +0100
+@@ -236,6 +236,24 @@
+     AM_CONDITIONAL(USE_X11_RANDR, false)
+     SUPPRESS_MANGLING_WARNINGS=""
+     ;;
++  *-*-freebsd*)
++    SUPPRESS_MANGLING_WARNINGS=""
++    ## search for X11/xrandr
++    libs_tmp="$LIBS"
++    use_x11_xrandr="yes"
++    AC_CHECK_HEADER(X11/Xlib.h,,[use_x11_xrandr="no"])
++    AC_CHECK_HEADER(X11/Xatom.h,,[use_x11_xrandr="no"])
++    AC_CHECK_HEADER(X11/extensions/Xrandr.h,,[use_x11_xrandr="no"])
++    AC_CHECK_LIB(X11,XOpenDisplay,,[use_x11_xrandr="no"])
++    AC_CHECK_LIB(Xrandr,XRRGetScreenResources,,[use_x11_xrandr="no"])
++    if test "x$use_x11_xrandr" = "xyes"; then
++      AC_DEFINE([HAVE_RANDR],[1],[Define to 1 to include support for the X11 randr extension])
++      AM_CONDITIONAL(USE_X11_RANDR, true)
++    else
++      AM_CONDITIONAL(USE_X11_RANDR, false)
++      LIBS="$libs_tmp"
++    fi
++    ;;
+ esac
+ 
+ ## define the build info

Modified: head/multimedia/plexhometheater/Makefile
==============================================================================
--- head/multimedia/plexhometheater/Makefile	Sat Feb 28 14:14:22 2015	(r380143)
+++ head/multimedia/plexhometheater/Makefile	Sat Feb 28 14:20:10 2015	(r380144)
@@ -100,6 +100,7 @@ CEC_DESC=	Control plexhometheater over H
 
 OPTIONS_DEFAULT=	CEC LIRC
 
+CEC_BUILD_DEPENDS=	libcec>=2.2.0:${PORTSDIR}/multimedia/libcec
 CEC_LIB_DEPENDS=	libcec.so:${PORTSDIR}/multimedia/libcec
 CEC_CMAKE_OFF=		-DCMAKE_DISABLE_FIND_PACKAGE_CEC:BOOL=true
 

Added: head/multimedia/plexhometheater/files/patch-libcec22
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/multimedia/plexhometheater/files/patch-libcec22	Sat Feb 28 14:20:10 2015	(r380144)
@@ -0,0 +1,52 @@
+Origin: https://github.com/xbmc/xbmc/pull/5610
+
+--- system/peripherals.xml.orig	2014-08-25 20:29:00.000000000 +0800
++++ system/peripherals.xml	2014-12-31 07:15:34.972922137 +0800
+@@ -28,7 +28,7 @@
+     <setting key="device_type" type="int" value="1" configurable="0" />
+     <setting key="wake_devices_advanced" type="string" value="" configurable="0" />
+     <setting key="standby_devices_advanced" type="string" value="" configurable="0" />
+-    <setting key="double_tap_timeout_ms" type="int" min="0" value="2000" configurable="0" />
++    <setting key="double_tap_timeout_ms" type="int" min="0" value="300" configurable="0" />
+   </peripheral>
+ 
+   <peripheral vendor_product="2548:1001,2548:1002" bus="usb" name="Pulse-Eight CEC Adapter" mapTo="cec">
+--- xbmc/peripherals/bus/virtual/PeripheralBusCEC.cpp.orig	2014-08-25 20:29:00.000000000 +0800
++++ xbmc/peripherals/bus/virtual/PeripheralBusCEC.cpp	2014-12-31 07:15:34.976923956 +0800
+@@ -101,6 +101,8 @@
+       break;
+     case ADAPTERTYPE_RPI:
+       result.m_mappedBusType = PERIPHERAL_BUS_RPI;
++      // the Pi's adapter cannot be removed, no need to rescan
++      m_bNeedsPolling = false;
+       break;
+     default:
+       break;
+--- xbmc/peripherals/devices/PeripheralCecAdapter.cpp.orig	2014-08-25 20:29:00.000000000 +0800
++++ xbmc/peripherals/devices/PeripheralCecAdapter.cpp	2014-12-31 07:15:34.986923118 +0800
+@@ -1302,8 +1302,8 @@
+ 
+ void CPeripheralCecAdapter::SetConfigurationFromSettings(void)
+ {
+-  // use the same client version as libCEC version
+-  m_configuration.clientVersion = CEC_CLIENT_VERSION_CURRENT;
++  // client version matches the version of libCEC that we originally used the API from
++  m_configuration.clientVersion = CEC_CLIENT_VERSION_2_2_0;
+ 
+   // device name 'XBMC'
+   snprintf(m_configuration.strDeviceName, 13, "%s", GetSettingString("device_name").c_str());
+@@ -1378,8 +1378,13 @@
+   m_configuration.bPowerOffOnStandby = iStandbyAction == 13011 ? 1 : 0;
+   m_configuration.bShutdownOnStandby = iStandbyAction == 13005 ? 1 : 0;
+ 
+-  // double tap prevention timeout in ms
++#if defined(CEC_DOUBLE_TAP_TIMEOUT_MS_OLD)
++  // double tap prevention timeout in ms. libCEC uses 50ms units for this in 2.2.0, so divide by 50
++  m_configuration.iDoubleTapTimeout50Ms = GetSettingInt("double_tap_timeout_ms") / 50;
++#else
++  // backwards compatibility. will be removed once the next major release of libCEC is out
+   m_configuration.iDoubleTapTimeoutMs = GetSettingInt("double_tap_timeout_ms");
++#endif
+ }
+ 
+ void CPeripheralCecAdapter::ReadLogicalAddresses(const CStdString &strString, cec_logical_addresses &addresses)

Modified: head/multimedia/xbmc/Makefile
==============================================================================
--- head/multimedia/xbmc/Makefile	Sat Feb 28 14:14:22 2015	(r380143)
+++ head/multimedia/xbmc/Makefile	Sat Feb 28 14:20:10 2015	(r380144)
@@ -96,6 +96,7 @@ AIRTUNES_CONFIGURE_ENABLE=	airtunes
 AVAHI_LIB_DEPENDS=	libavahi-client.so:${PORTSDIR}/net/avahi-app
 AVAHI_CONFIGURE_ENABLE=	avahi
 
+CEC_BUILD_DEPENDS=	libcec>=2.2.0:${PORTSDIR}/multimedia/libcec
 CEC_LIB_DEPENDS=	libcec.so:${PORTSDIR}/multimedia/libcec
 CEC_CONFIGURE_ENABLE=	libcec
 

Added: head/multimedia/xbmc/files/patch-libcec22
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/multimedia/xbmc/files/patch-libcec22	Sat Feb 28 14:20:10 2015	(r380144)
@@ -0,0 +1,52 @@
+Origin: https://github.com/xbmc/xbmc/pull/5610
+
+--- system/peripherals.xml.orig	2014-08-25 20:29:00.000000000 +0800
++++ system/peripherals.xml	2014-12-31 07:15:34.972922137 +0800
+@@ -28,7 +28,7 @@
+     <setting key="device_type" type="int" value="1" configurable="0" />
+     <setting key="wake_devices_advanced" type="string" value="" configurable="0" />
+     <setting key="standby_devices_advanced" type="string" value="" configurable="0" />
+-    <setting key="double_tap_timeout_ms" type="int" min="0" value="2000" configurable="0" />
++    <setting key="double_tap_timeout_ms" type="int" min="0" value="300" configurable="0" />
+   </peripheral>
+ 
+   <peripheral vendor_product="2548:1001,2548:1002" bus="usb" name="Pulse-Eight CEC Adapter" mapTo="cec">
+--- xbmc/peripherals/bus/virtual/PeripheralBusCEC.cpp.orig	2014-08-25 20:29:00.000000000 +0800
++++ xbmc/peripherals/bus/virtual/PeripheralBusCEC.cpp	2014-12-31 07:15:34.976923956 +0800
+@@ -101,6 +101,8 @@
+       break;
+     case ADAPTERTYPE_RPI:
+       result.m_mappedBusType = PERIPHERAL_BUS_RPI;
++      // the Pi's adapter cannot be removed, no need to rescan
++      m_bNeedsPolling = false;
+       break;
+     default:
+       break;
+--- xbmc/peripherals/devices/PeripheralCecAdapter.cpp.orig	2014-08-25 20:29:00.000000000 +0800
++++ xbmc/peripherals/devices/PeripheralCecAdapter.cpp	2014-12-31 07:15:34.986923118 +0800
+@@ -1302,8 +1302,8 @@
+ 
+ void CPeripheralCecAdapter::SetConfigurationFromSettings(void)
+ {
+-  // use the same client version as libCEC version
+-  m_configuration.clientVersion = CEC_CLIENT_VERSION_CURRENT;
++  // client version matches the version of libCEC that we originally used the API from
++  m_configuration.clientVersion = CEC_CLIENT_VERSION_2_2_0;
+ 
+   // device name 'XBMC'
+   snprintf(m_configuration.strDeviceName, 13, "%s", GetSettingString("device_name").c_str());
+@@ -1378,8 +1378,13 @@
+   m_configuration.bPowerOffOnStandby = iStandbyAction == 13011 ? 1 : 0;
+   m_configuration.bShutdownOnStandby = iStandbyAction == 13005 ? 1 : 0;
+ 
+-  // double tap prevention timeout in ms
++#if defined(CEC_DOUBLE_TAP_TIMEOUT_MS_OLD)
++  // double tap prevention timeout in ms. libCEC uses 50ms units for this in 2.2.0, so divide by 50
++  m_configuration.iDoubleTapTimeout50Ms = GetSettingInt("double_tap_timeout_ms") / 50;
++#else
++  // backwards compatibility. will be removed once the next major release of libCEC is out
+   m_configuration.iDoubleTapTimeoutMs = GetSettingInt("double_tap_timeout_ms");
++#endif
+ }
+ 
+ void CPeripheralCecAdapter::ReadLogicalAddresses(const CStdString &strString, cec_logical_addresses &addresses)



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201502281420.t1SEKBHX091703>