diff -urNbd libcec.orig/Makefile libcec/Makefile --- libcec.orig/Makefile 2016-03-20 18:26:00.192373588 +0100 +++ libcec/Makefile 2016-03-20 18:18:17.481404764 +0100 @@ -2,9 +2,8 @@ # $FreeBSD: head/multimedia/libcec/Makefile 385637 2015-05-07 16:32:43Z mat $ PORTNAME= libcec -PORTVERSION= 2.2.0 +PORTVERSION= 3.1.0 DISTVERSIONPREFIX= ${PORTNAME}- -DISTVERSIONSUFFIX= -repack CATEGORIES= multimedia MAINTAINER= manuel.creach@icloud.com @@ -13,20 +12,49 @@ LICENSE= GPLv2 LICENSE_FILE= ${WRKSRC}/COPYING +LIB_DEPENDS= libp8-platform.so:${PORTSDIR}/devel/p8-platform + USE_GITHUB= yes GH_ACCOUNT= Pulse-Eight -GNU_CONFIGURE= yes -USES= alias autoreconf pathfix pkgconfig libtool -PATHFIX_MAKEFILEIN=Makefile.am -USE_XORG= x11 xproto xrandr +USES= alias cmake compiler:c++11-lib pkgconfig USE_LDCONFIG= yes -INSTALL_TARGET= install-strip +CMAKE_ARGS= -DCMAKE_REQUIRED_INCLUDES:PATH="${LOCALBASE}/include" \ + -DCMAKE_REQUIRED_FLAGS:STRING="-L${LOCALBASE}/lib" + +OPTIONS_DEFINE= PYTHON X11 +OPTIONS_DEFAULT= PYTHON X11 +OPTIONS_DEFINE_armv6= RPI +OPTIONS_DEFAULT_armv6= +OPTIONS_SUB= yes + +PYTHON_DESC= build python wrapper +PYTHON_BUILD_DEPENDS+= swig3.0:${PORTSDIR}/devel/swig30 +RPI_DESC= build libcec support for raspberrypi +RPI_CMAKE_ON= -DRPI_INCLUDE_DIR=${LOCALBASE}/include -DRPI_LIB_DIR=${LOCALBASE}/lib +RPI_LIB_DEPENDS= libbcm_host.so:${PORTSDIR}/misc/raspberrypi-userland .include -.if ${ARCH} == armv6 -CONFIGURE_ARGS= --disable-rpi +.if ${PORT_OPTIONS:MPYTHON} +USES+= python:build +.else +CMAKE_ARGS+= -DSKIP_PYTHON_WRAPPER:BOOL=true +.endif + +.if ${PORT_OPTIONS:MX11} +USE_XORG= x11 xproto xrandr +.endif + +post-patch: + @${REINPLACE_CMD} 's|$${GIT_REVISION}|${PORTVERSION}|g' \ + ${WRKSRC}/src/libcec/cmake/SetBuildInfo.cmake + @${REINPLACE_CMD} -e '/SOVERSION/ s|\.0||' \ + -e 's|$${CMAKE_INSTALL_LIBDIR_NOARCH}/pkgconfig|libdata/pkgconfig|' \ + ${WRKSRC}/src/libcec/CMakeLists.txt +.if ! ${PORT_OPTIONS:MPYTHON} + @${REINPLACE_CMD} '/pyCecClient/d' \ + ${WRKSRC}/CMakeLists.txt .endif .include diff -urNbd libcec.orig/distinfo libcec/distinfo --- libcec.orig/distinfo 2016-03-20 18:26:00.192373588 +0100 +++ libcec/distinfo 2016-02-16 12:00:05.487613914 +0100 @@ -1,2 +1,2 @@ -SHA256 (Pulse-Eight-libcec-libcec-2.2.0-repack_GH0.tar.gz) = 5d8c8de65354de82299c163078538d7b3ba0a59c5789bb4b23619be4d154aecd -SIZE (Pulse-Eight-libcec-libcec-2.2.0-repack_GH0.tar.gz) = 1099286 +SHA256 (Pulse-Eight-libcec-libcec-3.1.0_GH0.tar.gz) = 09109d21a1b03f42c9e341d12600f2e4c41038d640269fa75408e2d36126f921 +SIZE (Pulse-Eight-libcec-libcec-3.1.0_GH0.tar.gz) = 1097121 diff -urNbd libcec.orig/files/patch-configure.ac libcec/files/patch-configure.ac --- libcec.orig/files/patch-configure.ac 2016-03-20 18:26:00.192373588 +0100 +++ libcec/files/patch-configure.ac 1970-01-01 01:00:00.000000000 +0100 @@ -1,27 +0,0 @@ ---- 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 diff -urNbd libcec.orig/files/patch-src_libcec_cmake_SetBuildInfo.cmake libcec/files/patch-src_libcec_cmake_SetBuildInfo.cmake --- libcec.orig/files/patch-src_libcec_cmake_SetBuildInfo.cmake 1970-01-01 01:00:00.000000000 +0100 +++ libcec/files/patch-src_libcec_cmake_SetBuildInfo.cmake 2016-03-20 14:46:18.781281900 +0100 @@ -0,0 +1,17 @@ +--- src/libcec/cmake/SetBuildInfo.cmake.orig 2016-01-20 00:52:02 UTC ++++ src/libcec/cmake/SetBuildInfo.cmake +@@ -14,14 +14,7 @@ else() + set(LIB_INFO "") + + # add git revision to compile info +- find_program(HAVE_GIT_BIN git /bin /usr/bin /usr/local/bin) +- if(HAVE_GIT_BIN) +- exec_program(${CMAKE_CURRENT_SOURCE_DIR}/../../support/git-rev.sh HEAD OUTPUT_VARIABLE GIT_REVISION) +- message(STATUS "git found: ${GIT_REVISION}") +- endif() +- if (GIT_REVISION) + set(LIB_INFO "git revision: ${GIT_REVISION},") +- endif() + + # add compilation date to compile info + find_program(HAVE_DATE_BIN date /bin /usr/bin /usr/local/bin) diff -urNbd libcec.orig/pkg-plist libcec/pkg-plist --- libcec.orig/pkg-plist 2016-03-20 18:26:00.192373588 +0100 +++ libcec/pkg-plist 2016-03-20 16:09:22.329938488 +0100 @@ -1,10 +1,16 @@ bin/cec-client +bin/cec-client-3.1.0 +bin/cecc-client +bin/cecc-client-3.1.0 +%%PYTHON%%bin/pyCecClient.py include/libcec/cec.h include/libcec/cecc.h include/libcec/cecloader.h include/libcec/cectypes.h -lib/libcec.a +include/libcec/version.h lib/libcec.so -lib/libcec.so.2 -lib/libcec.so.2.0.1 +lib/libcec.so.3 +lib/libcec.so.3.1.0 +%%PYTHON%%%%PYTHON_LIBDIR%%/dist-packages/cec/__init__.py +%%PYTHON%%%%PYTHON_LIBDIR%%/dist-packages/cec/_cec.so libdata/pkgconfig/libcec.pc