From owner-svn-ports-all@freebsd.org Mon Apr 3 22:35:14 2017 Return-Path: Delivered-To: svn-ports-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id B8041D2DC0A; Mon, 3 Apr 2017 22:35:14 +0000 (UTC) (envelope-from cpm@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 4B478656; Mon, 3 Apr 2017 22:35:14 +0000 (UTC) (envelope-from cpm@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v33MZD08021225; Mon, 3 Apr 2017 22:35:13 GMT (envelope-from cpm@FreeBSD.org) Received: (from cpm@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v33MZBcr021200; Mon, 3 Apr 2017 22:35:11 GMT (envelope-from cpm@FreeBSD.org) Message-Id: <201704032235.v33MZBcr021200@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: cpm set sender to cpm@FreeBSD.org using -f From: "Carlos J. Puga Medina" Date: Mon, 3 Apr 2017 22:35:11 +0000 (UTC) To: ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org Subject: svn commit: r437676 - in head/multimedia/kodi: . files X-SVN-Group: ports-head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-ports-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: SVN commit messages for the ports tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 03 Apr 2017 22:35:14 -0000 Author: cpm Date: Mon Apr 3 22:35:11 2017 New Revision: 437676 URL: https://svnweb.freebsd.org/changeset/ports/437676 Log: multimedia/kodi: update to 17.1 - Add support for armv6 (RPi 1 and RPi 2) PR: 218121 Submitted by: Mikael Urankar Reviewed by: swills Approved by: Mickael Maillot (maintainer) Added: head/multimedia/kodi/files/patch-m4_xbmc__arch.m4 (contents, props changed) head/multimedia/kodi/files/patch-system_settings_rbp2.xml (contents, props changed) head/multimedia/kodi/files/patch-tools_depends_target_ffmpeg_FFmpeg-3.1.6-Krypton_configure (contents, props changed) head/multimedia/kodi/files/patch-tools_depends_target_ffmpeg_FFmpeg-3.1.6-Krypton_libavutil_x86_asm.h (contents, props changed) head/multimedia/kodi/files/patch-tools_depends_target_libdvdcss_Makefile (contents, props changed) head/multimedia/kodi/files/patch-tools_depends_target_libdvdnav_Makefile (contents, props changed) head/multimedia/kodi/files/patch-tools_depends_target_libdvdread_Makefile (contents, props changed) head/multimedia/kodi/files/patch-xbmc_core_VideoPlayer_Process_overrides_linux_ProcessInfoLinux.cpp (contents, props changed) head/multimedia/kodi/files/patch-xbmc_cores_VideoPlayer_DVDDemuxSPU.cpp (contents, props changed) head/multimedia/kodi/files/patch-xbmc_guilib_TextureBundleXBT.h (contents, props changed) head/multimedia/kodi/files/patch-xbmc_linux_PlatformDefs.h (contents, props changed) head/multimedia/kodi/files/patch-xbmc_platform_posix_main.cpp (contents, props changed) head/multimedia/kodi/files/patch-xbmc_system.h (contents, props changed) head/multimedia/kodi/files/patch-xbmc_utils_CPUInfo.cpp (contents, props changed) head/multimedia/kodi/files/patch-xbmc_windowing_Makefile.in (contents, props changed) head/multimedia/kodi/files/patch-xbmc_windowing_WinEvents.cpp (contents, props changed) head/multimedia/kodi/files/patch-xbmc_windowing_WinEventsFreeBSD.cpp (contents, props changed) head/multimedia/kodi/files/patch-xbmc_windowing_WinEventsFreeBSD.h (contents, props changed) head/multimedia/kodi/files/patch-xbmc_windowing_WindowingFactory.h (contents, props changed) head/multimedia/kodi/files/patch-xbmc_windowing_egl_EGLNativeTypeAmlogic.cpp (contents, props changed) head/multimedia/kodi/files/patch-xbmc_windowing_es__scancodes.h (contents, props changed) head/multimedia/kodi/files/pkg-message.in (contents, props changed) Deleted: head/multimedia/kodi/files/patch-Makefile.in head/multimedia/kodi/files/patch-tools_depends_target_ffmpeg_FFmpeg-2.8.6-Jarvis-16.0_configure head/multimedia/kodi/files/patch-tools_depends_target_ffmpeg_FFmpeg-2.8.6-Jarvis-16.0_libavutil_x86_asm.h head/multimedia/kodi/files/patch-xbmc_cores_AudioEngine_Sinks_AESinkOSS.cpp head/multimedia/kodi/files/patch-xbmc_cores_dvdplayer_DVDDemuxSPU.cpp head/multimedia/kodi/files/patch-xbmc_dialogs_GUIDialogGamepad.cpp head/multimedia/kodi/files/patch-xbmc_dialogs_GUIDialogNumeric.cpp head/multimedia/kodi/files/patch-xbmc_guilib_GUIAction.cpp head/multimedia/kodi/files/patch-xbmc_guilib_GUISpinControl.cpp head/multimedia/kodi/files/patch-xbmc_guilib_TextureBundleXPR.h head/multimedia/kodi/files/patch-xbmc_interfaces_builtins_GUIContainerBuiltins.cpp head/multimedia/kodi/files/patch-xbmc_interfaces_legacy_Dialog.cpp head/multimedia/kodi/files/patch-xbmc_linux_XFileUtils.cpp head/multimedia/kodi/files/patch-xbmc_main_main.cpp head/multimedia/kodi/files/patch-xbmc_music_tags_MusicInfoTagLoaderCDDA.cpp head/multimedia/kodi/files/patch-xbmc_pvr_PVRActionListener.cpp head/multimedia/kodi/files/patch-xbmc_pvr_recordings_PVRRecording.cpp head/multimedia/kodi/files/patch-xbmc_storage_linux_DeviceKitDisksProvider.cpp head/multimedia/kodi/files/patch-xbmc_storage_linux_UDisksProvider.cpp Modified: head/multimedia/kodi/Makefile head/multimedia/kodi/distinfo head/multimedia/kodi/files/patch-configure.ac head/multimedia/kodi/files/patch-tools_depends_target_ffmpeg_autobuild.sh head/multimedia/kodi/pkg-plist Modified: head/multimedia/kodi/Makefile ============================================================================== --- head/multimedia/kodi/Makefile Mon Apr 3 22:24:55 2017 (r437675) +++ head/multimedia/kodi/Makefile Mon Apr 3 22:35:11 2017 (r437676) @@ -1,8 +1,7 @@ # $FreeBSD$ PORTNAME= kodi -DISTVERSION= 16.1 -PORTREVISION= 11 +DISTVERSION= 17.1 CATEGORIES= multimedia java MAINTAINER= mickael.maillot@gmail.com @@ -16,17 +15,14 @@ BUILD_DEPENDS= enca:converters/enca \ cmake:devel/cmake \ zip:archivers/zip \ nasm:devel/nasm \ - gtk-update-icon-cache:x11-toolkits/gtk20 \ swig3.0:devel/swig30 LIB_DEPENDS= libass.so:multimedia/libass \ libFLAC.so:audio/flac \ - libboost_thread.so:devel/boost-libs \ - libcdio.so:sysutils/libcdio \ + libcdio.so:sysutils/libcdio \ libcrossguid.so:devel/libcrossguid \ libcurl.so:ftp/curl \ libdbus-1.so:devel/dbus \ libdcadec.so:multimedia/libdcadec \ - libdrm.so:graphics/libdrm \ libenca.so:converters/enca \ libexpat.so:textproc/expat2\ libfontconfig.so:x11-fonts/fontconfig \ @@ -55,37 +51,38 @@ LIB_DEPENDS= libass.so:multimedia/libass libtiff.so:graphics/tiff \ libtinyxml.so:textproc/tinyxml \ libtspi.so:security/trousers \ + libunistring.so:devel/libunistring \ libuuid.so:misc/e2fsprogs-libuuid \ libvorbis.so:audio/libvorbis \ - libxslt.so:textproc/libxslt \ + libxslt.so:textproc/libxslt \ libyajl.so:devel/yajl RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}sqlite3>0:databases/py-sqlite3 \ - glxinfo:graphics/mesa-demos \ - python:lang/python \ - xdpyinfo:x11/xdpyinfo + python:lang/python CONFLICTS_BUILD=compat9x USE_GITHUB= yes -GH_TUPLE= xbmc:xbmc:c327c53 \ - xbmc:FFmpeg:2.8.6-Jarvis-16.0:ffmpeg/tools/depends/target/ffmpeg +GH_TUPLE= xbmc:xbmc:fc1619b \ + xbmc:FFmpeg:3.1.6-Krypton:ffmpeg/tools/depends/target/ffmpeg \ + xbmc:libdvdcss:2f12236:libdvdcss/tools/depends/target/libdvdcss/native \ + xbmc:libdvdnav:981488f:libdvdnav/tools/depends/target/libdvdnav/native \ + xbmc:libdvdread:17d99db:libdvdread/tools/depends/target/libdvdread/native USES= autoreconf:build compiler:c++11-lib gettext gmake iconv jpeg \ libtool pkgconfig python:2 ssl GNU_CONFIGURE= yes -USE_XORG= x11 xcb xext xmu xrandr xt xtst -USE_GL= gl glu glew -USE_SDL= image sdl2 USE_JAVA= yes USE_GNOME= libxml2 USE_LDCONFIG= yes JAVA_BUILD= jre NOPRECIOUSMAKEVARS= yes -INSTALLS_ICONS= yes +CONFIGURE_ENV= OPENSSL_LIBS="-L${OPENSSLLIB}" \ + OPENSSL_CFLAGS="-I${OPENSSLINC}" -ONLY_FOR_ARCHS= i386 amd64 +ONLY_FOR_ARCHS= amd64 armv6 i386 KODI_ARCH_i386= x86 KODI_ARCH_amd64=x86_64 +KODI_ARCH_armv6=armv6 PLIST_SUB= ARCH=${KODI_ARCH_${ARCH}} @@ -93,14 +90,24 @@ OPTIONS_SUB= yes OPTIONS_DEFINE= AIRPLAY AIRTUNES AVAHI CEC DOCS \ LIBBLURAY LIRC MYSQL NFS NONFREE PULSEAUDIO RTMP \ SFTP SMB VAAPI VDPAU WEBSERVER +OPTIONS_SINGLE= RPI +OPTIONS_SINGLE_RPI= RPI1 RPI2 + +OPTIONS_EXCLUDE_armv6= LIRC VAAPI VDPAU +OPTIONS_EXCLUDE_amd64= RPI1 RPI2 +OPTIONS_EXCLUDE_i386= RPI1 RPI2 + AIRPLAY_DESC= AirPlay support via libplist AIRTUNES_DESC= AirTunes support via libshairplay CEC_DESC= CEC adapter support NONFREE_DESC= Enable non-free components (rar, ccx, ffmpeg) SFTP_DESC= SSH SFTP support via libssh +RPI1_DESC= build for RPI1-B (cpu=arm1176jzf-s) +RPI2_DESC= build for RPI2 (cpu=cortex-a7, neon enabled) OPTIONS_DEFAULT= AIRPLAY AIRTUNES AVAHI CEC LIBBLURAY LIRC \ MYSQL NFS RTMP SFTP SMB VAAPI VDPAU WEBSERVER +OPTIONS_DEFAULT_armv6= RPI1 AIRPLAY_LIB_DEPENDS= libplist.so:devel/libplist AIRPLAY_CONFIGURE_ENABLE= airplay @@ -133,6 +140,9 @@ NONFREE_VARS= NO_CDROM="Restricted bina PULSEAUDIO_LIB_DEPENDS= libpulse.so:audio/pulseaudio PULSEAUDIO_CONFIGURE_ENABLE= pulse +RPI1_CONFIGURE_ON= --with-platform=raspberry-pi +RPI2_CONFIGURE_ON= --with-platform=raspberry-pi2 + RTMP_LIB_DEPENDS= librtmp.so:multimedia/librtmp RTMP_CONFIGURE_ENABLE= rtmp @@ -154,12 +164,38 @@ SFTP_CONFIGURE_ENABLE= ssh CONFIGURE_ARGS+= --disable-debug --disable-alsa --disable-texturepacker +.include + +.if ${ARCH} != "armv6" +BUILD_DEPENDS+= gtk-update-icon-cache:x11-toolkits/gtk20 +LIB_DEPENDS+= libdrm.so:graphics/libdrm +RUN_DEPENDS+= glxinfo:graphics/mesa-demos \ + xdpyinfo:x11/xdpyinfo +USE_XORG= x11 xcb xext xmu xrandr xt xtst +USE_GL= egl gl glu glew +USE_SDL= image sdl2 +INSTALLS_ICONS= yes +PLIST_SUB+= ARM="@comment " +PLIST_SUB+= X86="" +.else +# armv6 (rpi1 and rpi2 only) +EXTRA_PATCHES= ${FILESDIR}/extra-armv6_hal +CONFIGURE_ARGS+= --enable-player=omxplayer +LIB_DEPENDS+= libEGL.so:misc/raspberrypi-userland \ + libhal.so:sysutils/hal \ + libtiff.so:graphics/tiff +PLIST_SUB+= ARM="" +PLIST_SUB+= X86="@comment " +SUB_FILES= pkg-message +.endif + post-patch: ${REINPLACE_CMD} 's;make;gmake;' \ ${WRKSRC}/bootstrap \ ${WRKSRC}/codegenerator.mk \ ${WRKSRC}/xbmc/Makefile.in ${REINPLACE_CMD} 's;which swig;&3.0;' ${WRKSRC}/codegenerator.mk + ${RM} ${WRKSRC}/system/settings/rbp2.xml.orig pre-configure: cd ${WRKSRC} && ${SH} ./bootstrap @@ -170,6 +206,8 @@ post-install: ${STRIP_CMD} ${STAGEDIR}${PREFIX}/lib/kodi/kodi.bin ${FIND} ${STAGEDIR}${PREFIX}/lib/kodi -name '*.so' -or -name '*.xbs' -or -name '*.vis' \ | ${XARGS} ${STRIP_CMD} +.if ${ARCH} != armv6 ${STRIP_CMD} ${STAGEDIR}${PREFIX}/lib/kodi/kodi-xrandr +.endif -.include +.include Modified: head/multimedia/kodi/distinfo ============================================================================== --- head/multimedia/kodi/distinfo Mon Apr 3 22:24:55 2017 (r437675) +++ head/multimedia/kodi/distinfo Mon Apr 3 22:35:11 2017 (r437676) @@ -1,5 +1,11 @@ -TIMESTAMP = 1468326866 -SHA256 (xbmc-xbmc-16.1-c327c53_GH0.tar.gz) = 8ab5ef294d4b940072a05e682acb16fe17cb90e3e5875ecb1bb7835bb4a42cea -SIZE (xbmc-xbmc-16.1-c327c53_GH0.tar.gz) = 52090841 -SHA256 (xbmc-FFmpeg-2.8.6-Jarvis-16.0_GH0.tar.gz) = b08d8dc171f19627025136b498dfcad4f1b84923de7a62696d8a9a7f1d979b01 -SIZE (xbmc-FFmpeg-2.8.6-Jarvis-16.0_GH0.tar.gz) = 10264915 +TIMESTAMP = 1490104616 +SHA256 (xbmc-xbmc-17.1-fc1619b_GH0.tar.gz) = d37923946f556167e2bae57c8ed6fde94e1c9996b2eb907ae2a843da242b2680 +SIZE (xbmc-xbmc-17.1-fc1619b_GH0.tar.gz) = 58455275 +SHA256 (xbmc-FFmpeg-3.1.6-Krypton_GH0.tar.gz) = 01f914742f6af8afd1d2eb076425975e24c4eed75f5d57f1c816086dc4625192 +SIZE (xbmc-FFmpeg-3.1.6-Krypton_GH0.tar.gz) = 11170735 +SHA256 (xbmc-libdvdcss-2f12236_GH0.tar.gz) = 7affd787569960bcca6a7a83dfbe807b461653ee9793c59551dabb88e640b3f4 +SIZE (xbmc-libdvdcss-2f12236_GH0.tar.gz) = 95311 +SHA256 (xbmc-libdvdnav-981488f_GH0.tar.gz) = b59d75536336893ef0e32a6660770b2250e0369d52ff02319d41def621fb42db +SIZE (xbmc-libdvdnav-981488f_GH0.tar.gz) = 130513 +SHA256 (xbmc-libdvdread-17d99db_GH0.tar.gz) = 7b9e1861a9974ffb1542ab541d4e89a3239f6a65214a66d5cd10d216a2e7f575 +SIZE (xbmc-libdvdread-17d99db_GH0.tar.gz) = 124192 Modified: head/multimedia/kodi/files/patch-configure.ac ============================================================================== --- head/multimedia/kodi/files/patch-configure.ac Mon Apr 3 22:24:55 2017 (r437675) +++ head/multimedia/kodi/files/patch-configure.ac Mon Apr 3 22:35:11 2017 (r437676) @@ -1,20 +1,41 @@ ---- configure.ac.orig 2016-02-20 15:21:19 UTC +--- configure.ac.orig 2016-10-08 UTC +++ configure.ac -@@ -599,11 +599,13 @@ case $host in - target_platform=target_linux +@@ -564,12 +564,25 @@ case $host in + CORE_SYSTEM_NAME=linux ARCH="x86-freebsd" MAKE="gmake" + USE_STATIC_FFMPEG=1 ;; amd64-*-freebsd*) target_platform=target_linux + CORE_SYSTEM_NAME=linux ARCH="x86_64-freebsd" MAKE="gmake" + USE_STATIC_FFMPEG=1 ++ ;; ++ armv6-*-freebsd*) ++ target_platform=target_linux ++ ARCH="armv6-freebsd" ++ MAKE="gmake" ++ USE_STATIC_FFMPEG=1 ++ use_arch="arm" ++ use_neon=no ++ use_gles=yes ++ use_gl=no ++ use_x11=no ;; arm-apple-darwin*) - use_joystick=no -@@ -777,10 +779,16 @@ fi + CORE_SYSTEM_NAME=ios +@@ -684,7 +697,7 @@ if test "$target_platform" = "target_ras + use_hardcoded_tables="yes" + use_openmax=no + CORE_SYSTEM_NAME=rbpi +- ARCH="arm" ++ ARCH="armv6-freebsd" + AC_DEFINE(HAS_EGLGLES, [1], [Define if supporting EGL based GLES Framebuffer]) + USE_OMXLIB=1; AC_DEFINE([HAVE_OMXLIB],[1],["Define to 1 if OMX libs is enabled"]) + USE_MMAL=1; AC_DEFINE([HAS_MMAL],[1],["Define to 1 if MMAL libs is enabled"]) +@@ -753,10 +766,16 @@ fi # platform specific flags if echo "$ARCH" | grep -q "freebsd" ; then LOCALBASE="${LOCALBASE:-/usr/local}" @@ -34,15 +55,33 @@ fi if test "$host_vendor" = "apple" ; then # standard application paths -@@ -913,6 +921,7 @@ AC_LANG_POP([C++]) +@@ -796,8 +815,16 @@ if test "$host_vendor" = "apple" ; then + LIBS="$LIBS -framework CoreFoundation" + fi + elif test "$target_platform" = "target_raspberry_pi"; then +- ARCH="arm" ++ CXXFLAGS="$CXXFLAGS -I$LOCALBASE/include/interface/vcos/pthreads/ -I$LOCALBASE/include/interface/vcos -I$LOCALBASE/include/interface/ -I$LOCALBASE/include/interface/vmcs_host/linux" ++ ARCH="armv6-freebsd" + use_arch="arm" ++ FFMPEG_OPTS="--cc=$CC --cxx=$CXX --disable-fast-unaligned --disable-vfp --disable-xlib --disable-libxcb --disable-libxcb-shm --disable-libxcb-xfixes --disable-libxcb-shape" ++ if test "$use_platform" = "raspberry-pi2"; then ++ CFLAGS="$CFLAGS -march=armv7a -mtune=cortex-a7 -mfpu=neon" ++ CXXFLAGS="$CXXFLAGS -march=armv7a -mtune=cortex-a7 -mfpu=neon" ++ FFMPEG_OPTS="${FFMPEG_OPTS} --enable-neon" ++ fi ++ + elif test "$use_arch" = "arm"; then + CFLAGS="$CFLAGS -mno-apcs-stack-check" + CXXFLAGS="$CXXFLAGS -mno-apcs-stack-check" +@@ -915,6 +942,7 @@ AC_LANG_POP([C++]) # Check inotify availability AC_CHECK_HEADER([sys/inotify.h], AC_DEFINE([HAVE_INOTIFY],[1],[Define if we have inotify]),) +AC_CHECK_LIB([inotify], [main],,) - # Checks for boost headers using CXX instead of CC - AC_LANG_PUSH([C++]) -@@ -1228,12 +1237,13 @@ AS_CASE([x$use_libbluray], + # Python + if test -z "$PYTHON_NOVERSIONCHECK"; then +@@ -1163,12 +1191,13 @@ AS_CASE([x$use_libbluray], ) #Check to see if libs are needed for functions that are often built-in to libc @@ -57,7 +96,7 @@ # platform dependent libraries if test "$host_vendor" = "apple" ; then -@@ -1654,7 +1664,7 @@ if test "${USE_STATIC_FFMPEG}" = "1"; th +@@ -1552,7 +1581,7 @@ if test "${USE_STATIC_FFMPEG}" = "1"; th if test "$cross_compiling" != "yes"; then if test "$use_debug" != "yes"; then @@ -66,7 +105,7 @@ fi if test "$use_optimizations" != "yes"; then FFMPEG_OPTS="${FFMPEG_OPTS} --disable-optimizations" -@@ -1665,7 +1675,7 @@ if test "${USE_STATIC_FFMPEG}" = "1"; th +@@ -1563,7 +1592,7 @@ if test "${USE_STATIC_FFMPEG}" = "1"; th SAVE_LIBS="$LIBS" # check for system installed ffmpeg. We require minimum versions. PKG_CHECK_MODULES([FFMPEG], [$FFMPEG_LIBNAMES], @@ -75,25 +114,29 @@ [FFMPEG_FOUND="false"]) if test "${USE_STATIC_FFMPEG}" = "1" && test "$FFMPEG_FOUND" = "true"; then -@@ -1692,7 +1702,7 @@ if test "${USE_STATIC_FFMPEG}" = "1"; th +@@ -1590,7 +1619,11 @@ if test "${USE_STATIC_FFMPEG}" = "1"; th elif test "$with_ffmpeg" = "force"; then # always build our ffmpeg AC_MSG_NOTICE("FFmpeg installation forced by user - installing our version") - CFLAGS="$CFLAGS" CXXFLAGS="$CXXFLAGS" ${ffmpeg_build}/autobuild.sh ${FFMPEG_OPTS} -+ CC="$CC" CPP="$CPP" CXX="$CXX" CFLAGS="$CFLAGS" CXXFLAGS="$CXXFLAGS" ${ffmpeg_build}/autobuild.sh ${FFMPEG_OPTS} || exit 1 ++ if test "$use_arch" = "arm"; then ++ ASFLAGS="-no-integrated-as" CC="$CC" CPP="$CPP" CXX="$CXX" CFLAGS="$CFLAGS" CXXFLAGS="$CXXFLAGS" ${ffmpeg_build}/autobuild.sh ${FFMPEG_OPTS} || exit 1 ++ else ++ CC="$CC" CPP="$CPP" CXX="$CXX" CFLAGS="$CFLAGS" CXXFLAGS="$CXXFLAGS" ${ffmpeg_build}/autobuild.sh ${FFMPEG_OPTS} || exit 1 ++ fi export PKG_CONFIG_PATH="${ffmpeg_build}/ffmpeg-install/lib/pkgconfig:$PKG_CONFIG_PATH" elif test "$with_ffmpeg" != "no"; then -@@ -1705,7 +1715,7 @@ fi +@@ -1603,7 +1636,7 @@ fi if test "$FFMPEG_FOUND" != "true"; then PKG_CHECK_MODULES([FFMPEG], [$FFMPEG_LIBNAMES], -- [INCLUDES="$INCLUDES $FFMPEG_CFLAGS"; LIBS="$LIBS $FFMPEG_LIBS"; FFMPEG_FOUND="true"], -+ [INCLUDES="$FFMPEG_CFLAGS $INCLUDES"; LIBS="$FFMPEG_LIBS $LIBS"; FFMPEG_FOUND="true"], +- [INCLUDES="$INCLUDES $FFMPEG_CFLAGS"; LIBS="$LIBS $FFMPEG_LIBS"; FFMPEG_FOUND="true"], ++ [INCLUDES="$FFMPEG_CFLAGS $INCLUDES"; LIBS="$FFMPEG_LIBS $LIBS"; FFMPEG_FOUND="true"], [AC_MSG_ERROR("ffmpeg not found")]) fi -@@ -1731,9 +1741,9 @@ fi +@@ -1627,9 +1660,9 @@ fi echo "Checking for SWIG installation" AC_PATH_PROG(SWIG_EXE, swig, "none") if test "$SWIG_EXE" = "none"; then @@ -106,16 +149,7 @@ fi fi if test "$SWIG_EXE" = "none"; then -@@ -2065,7 +2075,7 @@ fi - # we don't compile with default upstream squish, so we use our own one - # even on non unified deps platforms - if test "$cross_compiling" != "yes"; then -- make -C ${abs_top_srcdir}/tools/depends/native/libsquish-native CXX=${CXX} -+ $MAKE -C ${abs_top_srcdir}/tools/depends/native/libsquish-native CXX=${CXX} - export PKG_CONFIG_PATH="${abs_top_srcdir}/tools/depends/native/libsquish-native/squish-install/lib/pkgconfig:$PKG_CONFIG_PATH" - fi - PKG_CHECK_MODULES([SQUISH], [squish], -@@ -2076,7 +2086,7 @@ if test "x$use_texturepacker" != "xno"; +@@ -1922,7 +1955,7 @@ if test "x$use_texturepacker" != "xno"; AC_PATH_PROG([TEXTUREPACKER], [TexturePacker], ["none"], [$PATH$PATH_SEPARATOR${abs_top_srcdir}/tools/depends/native/TexturePacker/bin]) if test "$TEXTUREPACKER" = "none"; then @@ -124,7 +158,7 @@ TEXTUREPACKER="${abs_top_srcdir}/tools/depends/native/TexturePacker/bin/TexturePacker" fi if test -x "$TEXTUREPACKER"; then -@@ -2346,6 +2356,8 @@ if test "$host_vendor" = "apple" ; then +@@ -2142,6 +2175,8 @@ if test "$host_vendor" = "apple" ; then LIBS="$LIBS -L\$(abs_top_srcdir)/lib/ffmpeg/libswscale -lswscale" fi @@ -132,4 +166,4 @@ + OUTPUT_FILES="Makefile \ Makefile.include \ - addons/skin.confluence/media/Makefile \ + addons/skin.estuary/media/Makefile \ Added: head/multimedia/kodi/files/patch-m4_xbmc__arch.m4 ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/multimedia/kodi/files/patch-m4_xbmc__arch.m4 Mon Apr 3 22:35:11 2017 (r437676) @@ -0,0 +1,30 @@ +--- m4/xbmc_arch.m4.orig 2016-10-08 UTC ++++ m4/xbmc_arch.m4 +@@ -14,6 +14,9 @@ case $build in + amd64-*-freebsd*) + AC_SUBST(NATIVE_ARCH_DEFINES, "-DTARGET_POSIX -DTARGET_FREEBSD -D_LINUX") + ;; ++ armv6-*-freebsd*) ++ AC_SUBST(NATIVE_ARCH_DEFINES, "-DTARGET_POSIX -DTARGET_FREEBSD -D_LINUX") ++ ;; + *86*-apple-darwin*) + AC_SUBST(NATIVE_ARCH_DEFINES, "-DTARGET_POSIX -DTARGET_DARWIN -DTARGET_DARWIN_OSX -D_LINUX") + ;; +@@ -45,6 +48,9 @@ case $host in + amd64-*-freebsd*) + AC_SUBST(ARCH_DEFINES, "-DTARGET_POSIX -DTARGET_FREEBSD -D_LINUX") + ;; ++ armv6-*-freebsd*) ++ AC_SUBST(ARCH_DEFINES, "-DTARGET_POSIX -DTARGET_FREEBSD -D_LINUX") ++ ;; + arm-apple-darwin*) + AC_SUBST(ARCH_DEFINES, "-DTARGET_POSIX -DTARGET_DARWIN -DTARGET_DARWIN_IOS -D_LINUX") + ;; +@@ -78,6 +84,6 @@ if test "$target_platform" = "target_and + fi + + if test "$target_platform" = "target_raspberry_pi" ; then +- AC_SUBST(ARCH_DEFINES, "-DTARGET_POSIX -DTARGET_LINUX -D_LINUX -D_ARMEL -DTARGET_RASPBERRY_PI") ++ AC_SUBST(ARCH_DEFINES, "-DTARGET_POSIX -DTARGET_FREEBSD -D_LINUX -D_ARMEL -DTARGET_RASPBERRY_PI") + fi + ]) Added: head/multimedia/kodi/files/patch-system_settings_rbp2.xml ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/multimedia/kodi/files/patch-system_settings_rbp2.xml Mon Apr 3 22:35:11 2017 (r437676) @@ -0,0 +1,11 @@ +--- ./system/settings/rbp2.xml.orig 2016-11-24 09:26:41 UTC ++++ ./system/settings/rbp2.xml +@@ -4,7 +4,7 @@ + + + +- false ++ true + + + Added: head/multimedia/kodi/files/patch-tools_depends_target_ffmpeg_FFmpeg-3.1.6-Krypton_configure ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/multimedia/kodi/files/patch-tools_depends_target_ffmpeg_FFmpeg-3.1.6-Krypton_configure Mon Apr 3 22:35:11 2017 (r437676) @@ -0,0 +1,10 @@ +--- tools/depends/target/ffmpeg/FFmpeg-3.1.6-Krypton/configure.orig 2016-02-03 20:33:07 UTC ++++ tools/depends/target/ffmpeg/FFmpeg-3.1.6-Krypton/configure +@@ -5683,6 +5683,7 @@ elif enabled llvm_gcc; then + check_cflags -mllvm -stack-alignment=16 + elif enabled clang; then + check_cflags -mllvm -stack-alignment=16 ++ check_cflags -mstack-alignment=16 + check_cflags -Qunused-arguments + check_cflags -Werror=implicit-function-declaration + check_cflags -Werror=missing-prototypes Added: head/multimedia/kodi/files/patch-tools_depends_target_ffmpeg_FFmpeg-3.1.6-Krypton_libavutil_x86_asm.h ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/multimedia/kodi/files/patch-tools_depends_target_ffmpeg_FFmpeg-3.1.6-Krypton_libavutil_x86_asm.h Mon Apr 3 22:35:11 2017 (r437676) @@ -0,0 +1,11 @@ +--- tools/depends/target/ffmpeg/FFmpeg-3.1.6-Krypton/libavutil/x86/asm.h 2016-10-08 UTC ++++ tools/depends/target/ffmpeg/FFmpeg-3.1.6-Krypton/libavutil/x86/asm.h.orig +@@ -72,7 +72,7 @@ typedef int32_t x86_reg; + typedef int x86_reg; + #endif + +-#define HAVE_7REGS (ARCH_X86_64 || (HAVE_EBX_AVAILABLE && HAVE_EBP_AVAILABLE)) ++#define HAVE_7REGS (ARCH_X86_64 || (HAVE_EBX_AVAILABLE && HAVE_EBP_AVAILABLE && !defined(__clang__))) + #define HAVE_6REGS (ARCH_X86_64 || (HAVE_EBX_AVAILABLE || HAVE_EBP_AVAILABLE)) + + #if ARCH_X86_64 && defined(PIC) Modified: head/multimedia/kodi/files/patch-tools_depends_target_ffmpeg_autobuild.sh ============================================================================== --- head/multimedia/kodi/files/patch-tools_depends_target_ffmpeg_autobuild.sh Mon Apr 3 22:24:55 2017 (r437675) +++ head/multimedia/kodi/files/patch-tools_depends_target_ffmpeg_autobuild.sh Mon Apr 3 22:35:11 2017 (r437676) @@ -1,4 +1,4 @@ ---- tools/depends/target/ffmpeg/autobuild.sh.orig 2016-02-20 15:21:19 UTC +--- tools/depends/target/ffmpeg/autobuild.sh.orig 2016-10-08 UTC +++ tools/depends/target/ffmpeg/autobuild.sh @@ -1,4 +1,4 @@ -#!/bin/bash @@ -8,7 +8,7 @@ # http://xbmc.org @@ -27,7 +27,8 @@ BASE_URL=$(grep "BASE_URL=" FFMPEG-VERSI VERSION=$(grep "VERSION=" FFMPEG-VERSION | sed 's/VERSION=//g') - ARCHIVE=ffmpeg-${VERSION}.tar.gz + ARCHIVE=ffmpeg-$(echo "${VERSION}" | sed 's/\//-/g').tar.gz -function usage { +usage() @@ -16,7 +16,7 @@ echo "usage $(basename $0) [-p | --prefix] ... ffmepg install prefix [-d | --download] ... no build, download tarfile only -@@ -82,6 +83,14 @@ do +@@ -82,6 +83,46 @@ do FLAGS="$FLAGS --extra-cxxflags=\"${1#*=}\"" shift ;; @@ -28,10 +28,42 @@ + FLAGS="$FLAGS --cxx=${1#*=}" + shift + ;; ++ --disable-xlib) ++ FLAGS="$FLAGS --disable-xlib" ++ shift ++ ;; ++ --disable-libxcb) ++ FLAGS="$FLAGS --disable-libxcb" ++ shift ++ ;; ++ --disable-libxcb-shm) ++ FLAGS="$FLAGS --disable-libxcb-shm" ++ shift ++ ;; ++ --disable-libxcb-xfixes) ++ FLAGS="$FLAGS --disable-libxcb-xfixes" ++ shift ++ ;; ++ --disable-libxcb-shape) ++ FLAGS="$FLAGS --disable-libxcb-shape" ++ shift ++ ;; ++ --disable-fast-unaligned) ++ FLAGS="$FLAGS --disable-fast-unaligned" ++ shift ++ ;; ++ --disable-vfp) ++ FLAGS="$FLAGS --disable-vfp" ++ shift ++ ;; ++ --enable-neon) ++ FLAGS="$FLAGS --enable-neon --cpu=armv7-a" ++ shift ++ ;; -j) BUILDTHREADS=$2 shift 2 -@@ -100,7 +109,7 @@ do +@@ -100,7 +141,7 @@ do esac done @@ -40,12 +72,16 @@ [ ${BUILDTHREADS} -eq 0 ] && BUILDTHREADS=1 [ -z ${VERSION} ] && exit 3 -@@ -110,10 +119,10 @@ then +@@ -110,12 +151,12 @@ then [ "$VERSION" == "$CURVER" ] && exit 0 fi --[ -f ${ARCHIVE} ] || curl -Ls --create-dirs -f -o ${ARCHIVE} ${BASE_URL}/${VERSION}.tar.gz -+#[ -f ${ARCHIVE} ] || curl -Ls --create-dirs -f -o ${ARCHIVE} ${BASE_URL}/${VERSION}.tar.gz +-[ -f ${ARCHIVE} ] || +- curl -Ls --create-dirs -f -o ${ARCHIVE} ${BASE_URL}/${VERSION}.tar.gz || +- { echo "error fetching ${BASE_URL}/${VERSION}.tar.gz" ; exit 3; } ++#[ -f ${ARCHIVE} ] || ++# curl -Ls --create-dirs -f -o ${ARCHIVE} ${BASE_URL}/${VERSION}.tar.gz || ++# { echo "error fetching ${BASE_URL}/${VERSION}.tar.gz" ; exit 3; } [ $downloadonly ] && exit 0 -[ -d ffmpeg-${VERSION} ] && rm -rf ffmpeg-${VERSION} && rm .ffmpeg-installed >/dev/null 2>&1 @@ -53,21 +89,21 @@ if [ -d ${FFMPEG_PREFIX} ] then [ -w ${FFMPEG_PREFIX} ] || SUDO="sudo" -@@ -121,9 +130,9 @@ else +@@ -123,9 +164,9 @@ else [ -w $(dirname ${FFMPEG_PREFIX}) ] || SUDO="sudo" fi --mkdir ffmpeg-${VERSION} --cd ffmpeg-${VERSION} || exit 2 --tar --strip-components=1 -xf ../${ARCHIVE} -+#mkdir ffmpeg-${VERSION} -+cd FFmpeg-${VERSION} || exit 2 -+#tar --strip-components=1 -xf ../${ARCHIVE} +-mkdir -p "ffmpeg-${VERSION}" +-cd "ffmpeg-${VERSION}" || exit 2 +-tar --strip-components=1 -xf $MYDIR/${ARCHIVE} ++#mkdir -p "ffmpeg-${VERSION}" ++cd "FFmpeg-${VERSION}" || exit 2 ++#tar --strip-components=1 -xf $MYDIR/${ARCHIVE} CFLAGS="$CFLAGS" CXXFLAGS="$CXXFLAGS" LDFLAGS="$LDFLAGS" \ ./configure --prefix=$FFMPEG_PREFIX \ -@@ -162,11 +171,11 @@ CFLAGS="$CFLAGS" CXXFLAGS="$CXXFLAGS" LD - --enable-libdcadec \ +@@ -162,11 +203,11 @@ CFLAGS="$CFLAGS" CXXFLAGS="$CXXFLAGS" LD + --disable-mipsdspr2 \ ${FLAGS} -make -j ${BUILDTHREADS} @@ -75,8 +111,8 @@ if [ $? -eq 0 ] then [ ${SUDO} ] && echo "Root privileges are required to install to ${FFMPEG_PREFIX}" -- ${SUDO} make install && echo "$VERSION" > ../.ffmpeg-installed -+ ${SUDO} gmake install && echo "$VERSION" > ../.ffmpeg-installed +- ${SUDO} make install && echo "$VERSION" > $MYDIR/.ffmpeg-installed ++ ${SUDO} gmake install && echo "$VERSION" > $MYDIR/.ffmpeg-installed else echo "ERROR: Building ffmpeg failed" exit 1 Added: head/multimedia/kodi/files/patch-tools_depends_target_libdvdcss_Makefile ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/multimedia/kodi/files/patch-tools_depends_target_libdvdcss_Makefile Mon Apr 3 22:35:11 2017 (r437676) @@ -0,0 +1,23 @@ +--- tools/depends/target/libdvdcss/Makefile.orig 2016-11-12 UTC ++++ tools/depends/target/libdvdcss/Makefile +@@ -33,14 +33,14 @@ endif + + all: .installed-$(PLATFORM) + +-download: $(TARBALLS_LOCATION)/$(ARCHIVE) ++#download: $(TARBALLS_LOCATION)/$(ARCHIVE) + +-$(TARBALLS_LOCATION)/$(ARCHIVE): +- cd $(TARBALLS_LOCATION); $(RETRIEVE_TOOL) -o $(TARBALLS_LOCATION)/$(ARCHIVE) $(BASE_URL)/archive/$(VERSION).tar.gz ++#$(TARBALLS_LOCATION)/$(ARCHIVE): ++# cd $(TARBALLS_LOCATION); $(RETRIEVE_TOOL) -o $(TARBALLS_LOCATION)/$(ARCHIVE) $(BASE_URL)/archive/$(VERSION).tar.gz + +-$(PLATFORM): $(TARBALLS_LOCATION)/$(ARCHIVE) $(DEPS) +- rm -rf $(PLATFORM); mkdir -p $(PLATFORM) +- cd $(PLATFORM); $(ARCHIVE_TOOL) $(TARBALLS_LOCATION)/$(ARCHIVE) ++$(PLATFORM): $(DEPS) ++# rm -rf $(PLATFORM); mkdir -p $(PLATFORM) ++# cd $(PLATFORM); $(ARCHIVE_TOOL) $(TARBALLS_LOCATION)/$(ARCHIVE) + cd $(PLATFORM); $(AUTORECONF) -vif && ac_cv_path_GIT= ./configure $(config) + + $(PLATFORM)/.libs/$(LIBNAME).a: $(PLATFORM) Added: head/multimedia/kodi/files/patch-tools_depends_target_libdvdnav_Makefile ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/multimedia/kodi/files/patch-tools_depends_target_libdvdnav_Makefile Mon Apr 3 22:35:11 2017 (r437676) @@ -0,0 +1,21 @@ +--- tools/depends/target/libdvdnav/Makefile.orig 2016-11-12 UTC ++++ tools/depends/target/libdvdnav/Makefile +@@ -44,14 +44,14 @@ CLEAN_FILES=$(ARCHIVE) $(PLATFORM) + + all: .installed-$(PLATFORM) + +-download: $(TARBALLS_LOCATION)/$(ARCHIVE) ++#download: $(TARBALLS_LOCATION)/$(ARCHIVE) + + $(TARBALLS_LOCATION)/$(ARCHIVE): + cd $(TARBALLS_LOCATION); $(RETRIEVE_TOOL) -o $(TARBALLS_LOCATION)/$(ARCHIVE) $(BASE_URL)/archive/$(VERSION).tar.gz + +-$(PLATFORM): $(TARBALLS_LOCATION)/$(ARCHIVE) $(DEPS) +- rm -rf $(PLATFORM); mkdir -p $(PLATFORM) +- cd $(PLATFORM); $(ARCHIVE_TOOL) $(TARBALLS_LOCATION)/$(ARCHIVE) ++$(PLATFORM): $(DEPS) ++# rm -rf $(PLATFORM); mkdir -p $(PLATFORM) ++# cd $(PLATFORM); $(ARCHIVE_TOOL) $(TARBALLS_LOCATION)/$(ARCHIVE) + cd $(PLATFORM); $(AUTORECONF) -vif && $(PKGCONFIGPATH) CFLAGS="$(CFLAGS) $(EXTRA_CFLAGS)" ac_cv_path_GIT= ./configure $(config) + + $(PLATFORM)/.libs/$(LIBNAME).a: $(PLATFORM) Added: head/multimedia/kodi/files/patch-tools_depends_target_libdvdread_Makefile ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/multimedia/kodi/files/patch-tools_depends_target_libdvdread_Makefile Mon Apr 3 22:35:11 2017 (r437676) @@ -0,0 +1,23 @@ +--- tools/depends/target/libdvdread/Makefile.orig 2016-11-12 UTC ++++ tools/depends/target/libdvdread/Makefile +@@ -47,14 +47,14 @@ CLEAN_FILES=$(ARCHIVE) $(PLATFORM) + + all: .installed-$(PLATFORM) + +-download: $(TARBALLS_LOCATION)/$(ARCHIVE) ++#download: $(TARBALLS_LOCATION)/$(ARCHIVE) + +-$(TARBALLS_LOCATION)/$(ARCHIVE): +- cd $(TARBALLS_LOCATION); $(RETRIEVE_TOOL) -o $(TARBALLS_LOCATION)/$(ARCHIVE) $(BASE_URL)/archive/$(VERSION).tar.gz ++#$(TARBALLS_LOCATION)/$(ARCHIVE): ++# cd $(TARBALLS_LOCATION); $(RETRIEVE_TOOL) -o $(TARBALLS_LOCATION)/$(ARCHIVE) $(BASE_URL)/archive/$(VERSION).tar.gz + +-$(PLATFORM): $(TARBALLS_LOCATION)/$(ARCHIVE) $(DEPS) +- rm -rf $(PLATFORM); mkdir -p $(PLATFORM) +- cd $(PLATFORM); $(ARCHIVE_TOOL) $(TARBALLS_LOCATION)/$(ARCHIVE) ++$(PLATFORM): $(DEPS) ++# rm -rf $(PLATFORM); mkdir -p $(PLATFORM) ++# cd $(PLATFORM); $(ARCHIVE_TOOL) $(TARBALLS_LOCATION)/$(ARCHIVE) + cd $(PLATFORM); $(AUTORECONF) -vif && $(PKGCONFIGPATH) CFLAGS="$(CFLAGS) $(EXTRA_CFLAGS)" ac_cv_path_GIT= ./configure $(config) + + $(PLATFORM)/.libs/$(LIBNAME).a: $(PLATFORM) Added: head/multimedia/kodi/files/patch-xbmc_core_VideoPlayer_Process_overrides_linux_ProcessInfoLinux.cpp ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/multimedia/kodi/files/patch-xbmc_core_VideoPlayer_Process_overrides_linux_ProcessInfoLinux.cpp Mon Apr 3 22:35:11 2017 (r437676) @@ -0,0 +1,11 @@ +--- xbmc/cores/VideoPlayer/Process/overrides/linux/ProcessInfoLinux.cpp.orig 2017-03-04 19:48:40 UTC ++++ xbmc/cores/VideoPlayer/Process/overrides/linux/ProcessInfoLinux.cpp +@@ -22,7 +22,7 @@ + #include "threads/SingleLock.h" + + // Override for platform ports +-#if defined(TARGET_LINUX) ++#if defined(TARGET_LINUX) || defined(TARGET_FREEBSD) + + CProcessInfo* CProcessInfo::CreateInstance() + { Added: head/multimedia/kodi/files/patch-xbmc_cores_VideoPlayer_DVDDemuxSPU.cpp ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/multimedia/kodi/files/patch-xbmc_cores_VideoPlayer_DVDDemuxSPU.cpp Mon Apr 3 22:35:11 2017 (r437676) @@ -0,0 +1,10 @@ +--- xbmc/cores/VideoPlayer/DVDDemuxSPU.cpp.orig 2016-02-20 15:21:19 UTC ++++ xbmc/cores/VideoPlayer/DVDDemuxSPU.cpp +@@ -18,6 +18,7 @@ + * + */ + ++#include + #include "DVDDemuxSPU.h" + #include "DVDClock.h" + #include "utils/log.h" Added: head/multimedia/kodi/files/patch-xbmc_guilib_TextureBundleXBT.h ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/multimedia/kodi/files/patch-xbmc_guilib_TextureBundleXBT.h Mon Apr 3 22:35:11 2017 (r437676) @@ -0,0 +1,10 @@ +--- xbmc/guilib/TextureBundleXBT.h.orig 2016-02-20 15:21:19 UTC ++++ xbmc/guilib/TextureBundleXBT.h +@@ -24,6 +24,7 @@ + #include + #include + #include ++#include + + class CAutoTexBuffer; + class CBaseTexture; Added: head/multimedia/kodi/files/patch-xbmc_linux_PlatformDefs.h ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/multimedia/kodi/files/patch-xbmc_linux_PlatformDefs.h Mon Apr 3 22:35:11 2017 (r437676) @@ -0,0 +1,10 @@ +--- xbmc/linux/PlatformDefs.h.orig 2017-03-04 19:20:36 UTC ++++ xbmc/linux/PlatformDefs.h +@@ -52,6 +52,7 @@ + #endif + #elif defined(TARGET_FREEBSD) + #include ++#include + #include + #include + #else Added: head/multimedia/kodi/files/patch-xbmc_platform_posix_main.cpp ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/multimedia/kodi/files/patch-xbmc_platform_posix_main.cpp Mon Apr 3 22:35:11 2017 (r437676) @@ -0,0 +1,18 @@ +--- xbmc/platform/posix/main.cpp.orig 2016-02-20 15:21:19 UTC ++++ xbmc/platform/posix/main.cpp +@@ -28,6 +28,7 @@ + #ifdef TARGET_POSIX + #include + #include ++#include + #endif + #if defined(TARGET_DARWIN_OSX) + #include "Util.h" +@@ -35,7 +36,6 @@ + #ifdef HAS_SDL + #include + #endif +-#include + #endif + #ifdef HAS_LIRC + #include "input/linux/LIRC.h" Added: head/multimedia/kodi/files/patch-xbmc_system.h ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/multimedia/kodi/files/patch-xbmc_system.h Mon Apr 3 22:35:11 2017 (r437676) @@ -0,0 +1,14 @@ +--- xbmc/system.h.orig 2015-08-16 16:37:32 UTC ++++ xbmc/system.h +@@ -166,7 +166,11 @@ + #endif + #else + #ifndef HAVE_X11 ++#if defined(TARGET_LINUX) + #define HAS_LINUX_EVENTS ++#elif defined(TARGET_FREEBSD) ++#define HAS_FREEBSD_EVENTS ++#endif + #endif + #endif + #define HAS_LINUX_NETWORK Added: head/multimedia/kodi/files/patch-xbmc_utils_CPUInfo.cpp ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/multimedia/kodi/files/patch-xbmc_utils_CPUInfo.cpp Mon Apr 3 22:35:11 2017 (r437676) @@ -0,0 +1,27 @@ +--- xbmc/utils/CPUInfo.cpp.orig 2016-04-24 UTC ++++ xbmc/utils/CPUInfo.cpp +@@ -584,6 +584,14 @@ bool CCPUInfo::getTemperature(CTemperatu + #if defined(TARGET_DARWIN_OSX) + value = SMCGetTemperature(SMC_KEY_CPU_TEMP); + scale = 'c'; ++#elif defined(TARGET_RASPBERRY_PI) ++ size_t len; ++ len = sizeof(value); ++ if (sysctlbyname("dev.cpu.0.temperature", &value, &len, NULL, 0) != 0) ++ return false; ++ /* temperature is in kelvin * 10 */ ++ value = (value - 2732) / 10; ++ scale = 'c'; + #else + int ret = 0; + FILE *p = NULL; +@@ -937,6 +945,9 @@ bool CCPUInfo::HasNeon() + #elif defined(TARGET_DARWIN_IOS) + has_neon = 1; + ++#elif defined(__FreeBSD__) && defined(__ARM_NEON__) ++ has_neon = 1; ++ + #elif defined(TARGET_LINUX) && defined(__ARM_NEON__) + if (has_neon == -1) + { Added: head/multimedia/kodi/files/patch-xbmc_windowing_Makefile.in ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/multimedia/kodi/files/patch-xbmc_windowing_Makefile.in Mon Apr 3 22:35:11 2017 (r437676) @@ -0,0 +1,8 @@ +--- xbmc/windowing/Makefile.in.orig 2016-10-08 UTC ++++ xbmc/windowing/Makefile.in +@@ -1,4 +1,5 @@ + SRCS=WinEventsSDL.cpp \ ++ WinEventsFreeBSD.cpp \ + WinEventsLinux.cpp \ + WinEventsX11.cpp \ + WinSystem.cpp \ Added: head/multimedia/kodi/files/patch-xbmc_windowing_WinEvents.cpp ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/multimedia/kodi/files/patch-xbmc_windowing_WinEvents.cpp Mon Apr 3 22:35:11 2017 (r437676) @@ -0,0 +1,13 @@ +--- xbmc/windowing/WinEvents.cpp.orig 2015-08-16 16:37:32 UTC ++++ xbmc/windowing/WinEvents.cpp +@@ -38,6 +38,10 @@ + #include "android/WinEventsAndroid.h" + #define WinEventsType CWinEventsAndroid + ++#elif defined(TARGET_FREEBSD) && defined(TARGET_RASPBERRY_PI) ++#include "WinEventsFreeBSD.h" ++#define WinEventsType CWinEventsFreeBSD ++ + #elif (defined(TARGET_FREEBSD) || defined(TARGET_LINUX)) && defined(HAS_SDL_WIN_EVENTS) + #include "WinEventsSDL.h" + #define WinEventsType CWinEventsSDL Added: head/multimedia/kodi/files/patch-xbmc_windowing_WinEventsFreeBSD.cpp ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/multimedia/kodi/files/patch-xbmc_windowing_WinEventsFreeBSD.cpp Mon Apr 3 22:35:11 2017 (r437676) @@ -0,0 +1,531 @@ +--- xbmc/windowing/WinEventsFreeBSD.cpp.orig 2016-03-02 09:32:08 UTC ++++ xbmc/windowing/WinEventsFreeBSD.cpp +@@ -0,0 +1,528 @@ ++/* ++ * Portions copied from: ++ * xbmc/input/linux/LinuxInputDevices.cpp ++ * https://github.com/gonzoua/quake3/blob/master/code/es/es_input.c ++ * ++ * This Program is free software; you can redistribute it and/or modify ++ * it under the terms of the GNU General Public License as published by ++ * the Free Software Foundation; either version 2, or (at your option) ++ * any later version. ++ * ++ * This Program is distributed in the hope that it will be useful, ++ * but WITHOUT ANY WARRANTY; without even the implied warranty of ++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++ * GNU General Public License for more details. ++ * ++ * You should have received a copy of the GNU General Public License ++ * along with XBMC; see the file COPYING. If not, see ++ * . ++ */ ++ ++#include "system.h" ++ ++#ifdef HAS_FREEBSD_EVENTS ++ ++#include "WinEventsFreeBSD.h" ++#include "WinEvents.h" ++#include "XBMC_events.h" ++#include "guilib/GraphicContext.h" ++#include "input/XBMC_keysym.h" ++#include "Application.h" ++#include "input/MouseStat.h" ++#include "utils/log.h" ++ ++#include "es_scancodes.h" ++ ++struct termios kbd_orig_tty; ++int orig_kbd_mode; ++int kbd_fd = -1; ++ ++typedef struct { ++ unsigned short Key; ++ XBMCKey xbmcKey; ++} KeyMap; ++ ++static const ++KeyMap keyMap[] = { ++ { SCANCODE_ESCAPE , XBMCK_ESCAPE }, ++ { SCANCODE_1 , XBMCK_1 }, ++ { SCANCODE_2 , XBMCK_2 }, ++ { SCANCODE_3 , XBMCK_3 }, ++ { SCANCODE_4 , XBMCK_4 }, ++ { SCANCODE_5 , XBMCK_5 }, ++ { SCANCODE_6 , XBMCK_6 }, ++ { SCANCODE_7 , XBMCK_7 }, ++ { SCANCODE_8 , XBMCK_8 }, ++ { SCANCODE_9 , XBMCK_9 }, ++ { SCANCODE_0 , XBMCK_0 }, ++ { SCANCODE_MINUS , XBMCK_MINUS }, ++ { SCANCODE_EQUAL , XBMCK_EQUALS }, ++ { SCANCODE_BACKSPACE , XBMCK_BACKSPACE }, ++ { SCANCODE_TAB , XBMCK_TAB }, ++ { SCANCODE_Q , XBMCK_q }, ++ { SCANCODE_W , XBMCK_w }, ++ { SCANCODE_E , XBMCK_e }, ++ { SCANCODE_R , XBMCK_r }, ++ { SCANCODE_T , XBMCK_t }, ++ { SCANCODE_Y , XBMCK_y }, ++ { SCANCODE_U , XBMCK_u }, ++ { SCANCODE_I , XBMCK_i }, ++ { SCANCODE_O , XBMCK_o }, ++ { SCANCODE_P , XBMCK_p }, ++ { SCANCODE_BRACKET_LEFT , XBMCK_LEFTBRACKET }, ++ { SCANCODE_BRACKET_RIGHT , XBMCK_RIGHTBRACKET}, ++ { SCANCODE_ENTER , XBMCK_RETURN }, ++ { SCANCODE_LEFTCONTROL , XBMCK_LCTRL }, ++ { SCANCODE_A , XBMCK_a }, ++ { SCANCODE_S , XBMCK_s }, ++ { SCANCODE_D , XBMCK_d }, ++ { SCANCODE_F , XBMCK_f }, ++ { SCANCODE_G , XBMCK_g }, ++ { SCANCODE_H , XBMCK_h }, ++ { SCANCODE_J , XBMCK_j }, ++ { SCANCODE_K , XBMCK_k }, ++ { SCANCODE_L , XBMCK_l }, ++ { SCANCODE_SEMICOLON , XBMCK_SEMICOLON }, ++ { SCANCODE_APOSTROPHE , XBMCK_QUOTE }, ++ { SCANCODE_GRAVE , XBMCK_BACKQUOTE }, ++ { SCANCODE_LEFTSHIFT , XBMCK_LSHIFT }, ++ { SCANCODE_BACKSLASH , XBMCK_BACKSLASH }, ++ { SCANCODE_Z , XBMCK_z }, ++ { SCANCODE_X , XBMCK_x }, ++ { SCANCODE_C , XBMCK_c }, ++ { SCANCODE_V , XBMCK_v }, ++ { SCANCODE_B , XBMCK_b }, ++ { SCANCODE_N , XBMCK_n }, ++ { SCANCODE_M , XBMCK_m }, ++ { SCANCODE_COMMA , XBMCK_COMMA }, ++ { SCANCODE_PERIOD , XBMCK_PERIOD }, ++ { SCANCODE_SLASH , XBMCK_SLASH }, ++ { SCANCODE_RIGHTSHIFT , XBMCK_RSHIFT }, ++ { SCANCODE_KEYPADMULTIPLY , XBMCK_KP_MULTIPLY }, ++ { SCANCODE_LEFTALT , XBMCK_LALT }, ++ { SCANCODE_SPACE , XBMCK_SPACE }, ++ { SCANCODE_CAPSLOCK , XBMCK_CAPSLOCK }, ++ { SCANCODE_F1 , XBMCK_F1 }, ++ { SCANCODE_F2 , XBMCK_F2 }, ++ { SCANCODE_F3 , XBMCK_F3 }, ++ { SCANCODE_F4 , XBMCK_F4 }, ++ { SCANCODE_F5 , XBMCK_F5 }, ++ { SCANCODE_F6 , XBMCK_F6 }, ++ { SCANCODE_F7 , XBMCK_F7 }, ++ { SCANCODE_F8 , XBMCK_F8 }, ++ { SCANCODE_F9 , XBMCK_F9 }, ++ { SCANCODE_F10 , XBMCK_F10 }, ++ { SCANCODE_NUMLOCK , XBMCK_NUMLOCK }, ++ { SCANCODE_SCROLLLOCK , XBMCK_SCROLLOCK }, ++ { SCANCODE_KEYPAD7 , XBMCK_KP7 }, ++ { SCANCODE_KEYPAD8 , XBMCK_KP8 }, ++ { SCANCODE_KEYPAD9 , XBMCK_KP9 }, ++ { SCANCODE_KEYPADMINUS , XBMCK_KP_MINUS }, ++ { SCANCODE_KEYPAD4 , XBMCK_KP4 }, ++ { SCANCODE_KEYPAD5 , XBMCK_KP5 }, ++ { SCANCODE_KEYPAD6 , XBMCK_KP6 }, ++ { SCANCODE_KEYPADPLUS , XBMCK_KP_PLUS }, ++ { SCANCODE_KEYPAD1 , XBMCK_KP1 }, ++ { SCANCODE_KEYPAD2 , XBMCK_KP2 }, ++ { SCANCODE_KEYPAD3 , XBMCK_KP3 }, ++ { SCANCODE_KEYPAD0 , XBMCK_KP0 }, ++ { SCANCODE_KEYPADPERIOD , XBMCK_KP_PERIOD }, ++ { SCANCODE_BACKSLASH , XBMCK_BACKSLASH }, ++ { SCANCODE_F11 , XBMCK_F11 }, ++ { SCANCODE_F12 , XBMCK_F12 }, ++ { SCANCODE_KEYPADENTER , XBMCK_KP_ENTER }, ++ { SCANCODE_RIGHTCONTROL , XBMCK_RCTRL }, ++ { SCANCODE_KEYPADDIVIDE , XBMCK_KP_DIVIDE }, ++ { SCANCODE_PRINTSCREEN , XBMCK_PRINT }, ++ { SCANCODE_RIGHTALT , XBMCK_MODE }, ++ { SCANCODE_HOME , XBMCK_HOME }, ++ { SCANCODE_CURSORBLOCKUP , XBMCK_UP }, ++ { SCANCODE_PAGEUP , XBMCK_PAGEUP }, ++ { SCANCODE_CURSORBLOCKLEFT , XBMCK_LEFT }, ++ { SCANCODE_CURSORBLOCKRIGHT , XBMCK_RIGHT }, ++ { SCANCODE_END , XBMCK_END }, ++ { SCANCODE_CURSORBLOCKDOWN , XBMCK_DOWN }, ++ { SCANCODE_PAGEDOWN , XBMCK_PAGEDOWN }, ++ { SCANCODE_INSERT , XBMCK_INSERT }, ++ { SCANCODE_PRINTSCREEN , XBMCK_PRINT }, ++ { SCANCODE_BACKSPACE , XBMCK_BACKSPACE }, ++}; ++ ++/* ++ * Translates a FreeBSD input keycode into an XBMC keycode. ++ */ ++XBMCKey CWinEventsFreeBSD::TranslateKey(unsigned short code) ++{ ++ for (size_t index = 0; index < sizeof(keyMap) / sizeof(KeyMap); index++) { ++ if (code == keyMap[index].Key) ++ return keyMap[index].xbmcKey; ++ } ++ ++ return XBMCK_UNKNOWN; ++} ++ ++XBMCMod CWinEventsFreeBSD::UpdateModifiers(XBMCKey key, XBMC_EventType xbmcKey) ++{ ++ XBMCMod modifier = XBMCKMOD_NONE; ++ ++ switch (key) { ++ case XBMCK_LSHIFT: modifier = XBMCKMOD_LSHIFT; break; ++ case XBMCK_RSHIFT: modifier = XBMCKMOD_RSHIFT; break; ++ case XBMCK_LCTRL: modifier = XBMCKMOD_LCTRL; break; ++ case XBMCK_RCTRL: modifier = XBMCKMOD_RCTRL; break; ++ case XBMCK_LALT: modifier = XBMCKMOD_LALT; break; ++ case XBMCK_RALT: modifier = XBMCKMOD_RALT; break; ++ case XBMCK_LMETA: modifier = XBMCKMOD_LMETA; break; ++ case XBMCK_RMETA: modifier = XBMCKMOD_RMETA; break; ++ default: break; ++ } ++ ++ if (xbmcKey == XBMC_KEYDOWN) { ++ m_keyMods |= modifier; ++ } else { ++ m_keyMods &= ~modifier; ++ } ++ ++ if (xbmcKey == XBMC_KEYDOWN) { ++ modifier = XBMCKMOD_NONE; ++ switch (key) { ++ case XBMCK_NUMLOCK: modifier = XBMCKMOD_NUM; break; ++ case XBMCK_CAPSLOCK: modifier = XBMCKMOD_CAPS; break; ++ default: break; ++ } ++ ++ if (m_keyMods & modifier) { ++ m_keyMods &= ~modifier; ++ } else { ++ m_keyMods |= modifier; ++ } ++ } ++ ++ return (XBMCMod) m_keyMods; ++} ++ ++bool CWinEventsFreeBSD::MessagePump() ++{ ++ bool ret = false; *** DIFF OUTPUT TRUNCATED AT 1000 LINES ***