Index: head/multimedia/kodi-devel/Makefile =================================================================== --- head/multimedia/kodi-devel/Makefile (revision 470691) +++ head/multimedia/kodi-devel/Makefile (revision 470692) @@ -1,197 +1,199 @@ # $FreeBSD$ PORTNAME= kodi -DISTVERSION= 18.0.g201804180937 -PORTREVISION= 1 +DISTVERSION= 18.0.g201805221344 CATEGORIES= multimedia PKGNAMESUFFIX?= -devel MAINTAINER= tobik@FreeBSD.org COMMENT= Award winning media center application LICENSE= GPLv2 LICENSE_FILE= ${WRKSRC}/LICENSE.GPL BROKEN_FreeBSD_10= does not build ONLY_FOR_ARCHS= amd64 armv6 armv7 i386 BUILD_DEPENDS= rapidjson>=0:devel/rapidjson \ swig3.0:devel/swig30 LIB_DEPENDS= libass.so:multimedia/libass \ libavcodec.so:multimedia/ffmpeg \ libavfilter.so:multimedia/ffmpeg \ libavformat.so:multimedia/ffmpeg \ libavutil.so:multimedia/ffmpeg \ libcdio.so:sysutils/libcdio \ libcrossguid.so:devel/libcrossguid \ libcurl.so:ftp/curl \ libdvdnav.so:multimedia/libdvdnav \ libdvdread.so:multimedia/libdvdread \ libexpat.so:textproc/expat2 \ libfmt.so:devel/libfmt \ libfreetype.so:print/freetype2 \ libfribidi.so:converters/fribidi \ libgif.so:graphics/giflib \ libgnutls.so:security/gnutls \ liblcms2.so:graphics/lcms2 \ liblzo2.so:archivers/lzo2 \ libpcre.so:devel/pcre \ libpcrecpp.so:devel/pcre \ libpng.so:graphics/png \ libpostproc.so:multimedia/ffmpeg \ libswresample.so:multimedia/ffmpeg \ libswscale.so:multimedia/ffmpeg \ libtag.so:audio/taglib \ libtinyxml.so:textproc/tinyxml \ + libudev.so:devel/libudev-devd \ libuuid.so:misc/e2fsprogs-libuuid # Building libcpluff.a requires autoreconf and gmake. Using ninja # leads to dependency problems where libcpluff.a is not yet finished # building when it's required. USES= autoreconf:build cmake:outsource,noninja compiler:c++11-lib \ gettext gmake iconv:wchar_t jpeg libtool pkgconfig python:-2.7 \ ssl sqlite USE_GITHUB= yes GH_ACCOUNT= xbmc GH_PROJECT= xbmc -GH_TAGNAME= f4489bffe22487bc906e79130832c14360a42a8a +GH_TAGNAME= d2b10e2bb0650d8d47caf8a5d15fa4b6f2cb7254 USE_GNOME= libxslt libxml2 USE_JAVA= yes JAVA_BUILD= yes USE_LDCONFIG= yes CONFLICTS_INSTALL= kodi-[0-9]* CMAKE_ARGS= -DLIBDVD_INCLUDE_DIRS="${LOCALBASE}/include" \ -DDVDREAD_LIBRARY="${LOCALBASE}/lib/libdvdread.so" \ -DDVDNAV_LIBRARY="${LOCALBASE}/lib/libdvdnav.so" CMAKE_OFF= ENABLE_ALSA \ ENABLE_DVDCSS \ ENABLE_INTERNAL_FFMPEG \ ENABLE_INTERNAL_CROSSGUID CONFIGURE_ENV= OPENSSL_LIBS="-L${OPENSSLLIB}" OPENSSL_CFLAGS="-I${OPENSSLINC}" KODIARCH_i386= x86 KODIARCH_amd64= x86_64 PLIST_SUB= ARCH=${KODIARCH_${ARCH}:U${ARCH}} OPSYS=${OPSYS:tl} OPTIONS_DEFINE= AVAHI CEC DBUS LIBBLURAY MYSQL NFS SMB SSH UPNP VAAPI \ VDPAU WEBSERVER -OPTIONS_DEFAULT= LIBBLURAY SSH UPNP VAAPI VDPAU WEBSERVER X11 +OPTIONS_DEFAULT= LIBBLURAY SSH UPNP WEBSERVER X11 OPTIONS_SINGLE= PLATFORM OPTIONS_SINGLE_PLATFORM= GBM RPI WAYLAND X11 OPTIONS_EXCLUDE_amd64= RPI OPTIONS_EXCLUDE_i386= RPI OPTIONS_SUB= yes OPTIONS_GROUP= SOUND OPTIONS_GROUP_SOUND= PULSEAUDIO SNDIO CEC_DESC= CEC adapter support GBM_DESC= GBM support (requires a kernel with evdev support) PLATFORM_DESC= Platform RPI_DESC= Raspberry Pi support AVAHI_LIB_DEPENDS= libavahi-client.so:net/avahi-app AVAHI_CMAKE_BOOL= ENABLE_AVAHI CEC_LIB_DEPENDS= libcec.so:multimedia/libcec CEC_CMAKE_BOOL= ENABLE_CEC DBUS_LIB_DEPENDS= libdbus-1.so:devel/dbus DBUS_CMAKE_BOOL= ENABLE_DBUS +GBM_BUILD_DEPENDS= v4l_compat>=0:multimedia/v4l_compat GBM_CMAKE_ON= -DCORE_PLATFORM_NAME:STRING="gbm" +GBM_LIB_DEPENDS= libinput.so:x11/libinput \ + libxkbcommon.so:x11/libxkbcommon LIBBLURAY_LIB_DEPENDS= libbluray.so:multimedia/libbluray LIBBLURAY_CMAKE_BOOL= ENABLE_BLURAY MYSQL_USES= mysql MYSQL_CMAKE_BOOL= ENABLE_MYSQLCLIENT NFS_LIB_DEPENDS= libnfs.so:net/libnfs NFS_CMAKE_BOOL= ENABLE_NFS PULSEAUDIO_LIB_DEPENDS= libpulse.so:audio/pulseaudio PULSEAUDIO_CMAKE_BOOL= ENABLE_PULSEAUDIO # For RPI, disable VAAPI in multimedia/ffmpeg too, so that mesa-libs # is *not* installed via libva in the build environment. Both # mesa-libs and raspberrypi-userland conflict with each other. RPI_CMAKE_ON= -DCORE_PLATFORM_NAME:STRING="rbpi" RPI_LIB_DEPENDS= libbrcmEGL.so:misc/raspberrypi-userland RPI_LIB_DEPENDS_OFF= libdrm.so:graphics/libdrm RPI_PREVENTS= VAAPI VDPAU RPI_USE_OFF= GL=egl,gl,glu SMB_USES= samba:lib SMB_CMAKE_BOOL= ENABLE_SMBCLIENT SNDIO_LIB_DEPENDS= libsndio.so:audio/sndio SNDIO_CMAKE_BOOL= ENABLE_SNDIO SSH_LIB_DEPENDS= libssh.so:security/libssh SSH_CMAKE_BOOL= ENABLE_SSH UPNP_CMAKE_BOOL= ENABLE_UPNP # XXX: Upstream is https://github.com/plutinosoft/Neptune UPNP_CXXFLAGS= -DNPT_CONFIG_HAVE_ARPA_INET_H \ -DNPT_CONFIG_HAVE_GETADDRINFO \ -DNPT_CONFIG_HAVE_GETIFADDRS \ -DNPT_CONFIG_HAVE_INET_NTOP \ -DNPT_CONFIG_HAVE_INET_PTON \ -DNPT_CONFIG_HAVE_NET_IF_DL_H \ -DNPT_CONFIG_HAVE_SOCKADDR_DL \ -DNPT_CONFIG_HAVE_SOCKADDR_IN_SIN_LEN -VAAPI_LIB_DEPENDS= libva.so:multimedia/libva +VAAPI_BROKEN= Crashes at startup with VAAPI enabled VAAPI_CMAKE_BOOL= ENABLE_VAAPI +VAAPI_LIB_DEPENDS= libva.so:multimedia/libva -VDPAU_LIB_DEPENDS= libvdpau.so:multimedia/libvdpau +VDPAU_BROKEN= Crashes at startup with VDPAU enabled VDPAU_CMAKE_BOOL= ENABLE_VDPAU +VDPAU_LIB_DEPENDS= libvdpau.so:multimedia/libvdpau -WAYLAND_BUILD_DEPENDS= wayland-protocols>=0:graphics/wayland-protocols +WAYLAND_BUILD_DEPENDS= v4l_compat>=0:multimedia/v4l_compat \ + wayland-protocols>=0:graphics/wayland-protocols WAYLAND_CMAKE_ON= -DCORE_PLATFORM_NAME:STRING="wayland" \ -DWAYLAND_RENDER_SYSTEM:STRING="gl" -WAYLAND_LIB_DEPENDS= libwayland-client++.so:graphics/waylandpp \ +WAYLAND_LIB_DEPENDS= libinput.so:x11/libinput \ + libwayland-client++.so:graphics/waylandpp \ libwayland-client.so:graphics/wayland \ libxkbcommon.so:x11/libxkbcommon WEBSERVER_LIB_DEPENDS= libmicrohttpd.so:www/libmicrohttpd WEBSERVER_CMAKE_BOOL= ENABLE_MICROHTTPD X11_CMAKE_ON= -DCORE_PLATFORM_NAME:STRING="x11" X11_USE= XORG=x11,xext,xrandr .include .if ${SLAVE_PORT} == no PORTDATA= * .endif post-patch: # Do not try to download dvdnav/dvdread during the build, instead # we'll manually point the build to the system's libdvd{nav,read}.so # (see CMAKE_ARGS). @${REINPLACE_CMD} 's@KODI_DEPENDSBUILD@true@' \ ${WRKSRC}/cmake/modules/FindLibDvd.cmake - @${CP} ${WRKSRC}/cmake/platform/linux/gbm.cmake \ - ${WRKSRC}/cmake/platform/linux/rbpi.cmake \ - ${WRKSRC}/cmake/platform/freebsd - @${CP} ${WRKSRC}/cmake/scripts/linux/ExtraTargets.cmake \ - ${WRKSRC}/cmake/scripts/freebsd/ExtraTargets.cmake - @${CP} ${WRKSRC}/system/settings/linux.xml \ - ${WRKSRC}/system/settings/freebsd.xml .if ${SLAVE_PORT} == no post-install: ${INSTALL_MAN} ${WRKSRC}/docs/manpages/kodi.bin.1 ${STAGEDIR}${MAN1PREFIX}/man/man1 @cd ${STAGEDIR}${MAN1PREFIX}/man/man1 && ${LN} -sf kodi.bin.1.gz kodi.1.gz @${STRIP_CMD} ${STAGEDIR}${PREFIX}/bin/TexturePacker @${FIND} ${STAGEDIR}${PREFIX}/lib/kodi -name '*.so' | ${XARGS} ${STRIP_CMD} # Nothing useful here... - @${RM} -rf ${STAGEDIR}${DOCSDIR} + @${RM} -r ${STAGEDIR}${DOCSDIR} +# No firewalld on FreeBSD... + @${RM} -r ${STAGEDIR}${PREFIX}/lib/firewalld .endif .include Index: head/multimedia/kodi-devel/distinfo =================================================================== --- head/multimedia/kodi-devel/distinfo (revision 470691) +++ head/multimedia/kodi-devel/distinfo (revision 470692) @@ -1,3 +1,3 @@ -TIMESTAMP = 1524056987 -SHA256 (xbmc-xbmc-18.0.g201804180937-f4489bffe22487bc906e79130832c14360a42a8a_GH0.tar.gz) = 8f77f6cff2bcab9b31c1df120b3e044acbd55c93cb96ecb63830e37aeaf30bc5 -SIZE (xbmc-xbmc-18.0.g201804180937-f4489bffe22487bc906e79130832c14360a42a8a_GH0.tar.gz) = 41117210 +TIMESTAMP = 1526990379 +SHA256 (xbmc-xbmc-18.0.g201805221344-d2b10e2bb0650d8d47caf8a5d15fa4b6f2cb7254_GH0.tar.gz) = eca079ce1fbdabb6534b9692c9fd6cd7aa5d57981c4a1a2af61f56cfecb05773 +SIZE (xbmc-xbmc-18.0.g201805221344-d2b10e2bb0650d8d47caf8a5d15fa4b6f2cb7254_GH0.tar.gz) = 41106732 Index: head/multimedia/kodi-devel/files/patch-evdev =================================================================== --- head/multimedia/kodi-devel/files/patch-evdev (revision 470691) +++ head/multimedia/kodi-devel/files/patch-evdev (nonexistent) @@ -1,105 +0,0 @@ ---- xbmc/platform/linux/input/LinuxInputDevices.cpp.orig 2018-03-21 13:02:45 UTC -+++ xbmc/platform/linux/input/LinuxInputDevices.cpp -@@ -31,7 +31,11 @@ - typedef unsigned long kernel_ulong_t; - #define BITS_PER_LONG (sizeof(long)*8) - -+#if defined(TARGET_FREEBSD) -+#include -+#elif defined(TARGET_LINUX) - #include -+#endif - - #if defined(HAVE_LIBUDEV) - #include -@@ -71,8 +75,10 @@ typedef unsigned long kernel_ulong_t; - #define XBMC_BUTTON_WHEELDOWN 5 - #endif - -+#ifdef TARGET_LINUX - #include - #include -+#endif - - #include - #include -@@ -346,6 +352,7 @@ XBMCKey CLinuxInputDevice::TranslateKey(unsigned short - - int CLinuxInputDevice::KeyboardGetSymbol(unsigned short value) - { -+#ifdef TARGET_LINUX - unsigned char type = KTYP(value); - unsigned char index = KVAL(value); - -@@ -403,12 +410,16 @@ int CLinuxInputDevice::KeyboardGetSymbol(unsigned shor - break; - */ - } -- -+#else - return XBMCK_UNKNOWN; -+#endif - } - - unsigned short CLinuxInputDevice::KeyboardReadValue(unsigned char table, unsigned char index) - { -+#ifdef TARGET_FREEBSD -+ return 0; -+#else - struct kbentry entry; - - entry.kb_table = table; -@@ -423,6 +434,7 @@ unsigned short CLinuxInputDevice::KeyboardReadValue(un - } - - return entry.kb_value; -+#endif - } - - XBMCMod CLinuxInputDevice::UpdateModifiers(XBMC_Event& devt) -@@ -1365,6 +1377,9 @@ driver_open_device_error: - */ - bool CLinuxInputDevice::GetKeymapEntry(KeymapEntry& entry) - { -+#ifdef TARGET_FREEBSD -+ return false; -+#else - int code = entry.code; - unsigned short value; - //DFBInputDeviceKeyIdentifier identifier; -@@ -1415,6 +1430,7 @@ bool CLinuxInputDevice::GetKeymapEntry(KeymapEntry& en - entry.altShift = value; //KeyboardGetSymbol(code, value, LI_KEYLEVEL_ALT_SHIFT); - - return true; -+#endif - } - - /* ---- xbmc/windowing/wayland/InputProcessorPointer.cpp.orig 2018-03-21 13:02:45 UTC -+++ xbmc/windowing/wayland/InputProcessorPointer.cpp -@@ -22,7 +22,11 @@ - - #include - -+#ifdef TARGET_FREEBSD -+#include -+#else - #include -+#endif - - #include "input/mouse/MouseStat.h" - ---- xbmc/windowing/wayland/WindowDecorator.cpp.orig 2018-03-21 13:02:45 UTC -+++ xbmc/windowing/wayland/WindowDecorator.cpp -@@ -25,7 +25,11 @@ - #include - #include - -+#ifdef TARGET_FREEBSD -+#include -+#else - #include -+#endif - - #include "threads/SingleLock.h" - #include "Util.h" Property changes on: head/multimedia/kodi-devel/files/patch-evdev ___________________________________________________________________ Deleted: fbsd:nokeywords ## -1 +0,0 ## -yes \ No newline at end of property Deleted: svn:eol-style ## -1 +0,0 ## -native \ No newline at end of property Deleted: svn:mime-type ## -1 +0,0 ## -text/plain \ No newline at end of property Index: head/multimedia/kodi-devel/files/patch-wayland =================================================================== --- head/multimedia/kodi-devel/files/patch-wayland (revision 470691) +++ head/multimedia/kodi-devel/files/patch-wayland (nonexistent) @@ -1,20 +0,0 @@ ---- cmake/treedata/freebsd/subdirs.txt.orig 2018-04-18 09:37:24 UTC -+++ cmake/treedata/freebsd/subdirs.txt -@@ -9,3 +9,6 @@ xbmc/platform/linux/powermanagement platform/linux/pow - xbmc/platform/linux/storage platform/linux/storage - xbmc/input/touch input/touch - xbmc/input/touch/generic input/touch/generic -+xbmc/cores/RetroPlayer/process/rbpi cores/RetroPlayer/process/rbpi -+xbmc/cores/VideoPlayer/Process/rbpi cores/VideoPlayer/Process/rbpi -+xbmc/windowing/linux windowing/linux ---- xbmc/windowing/wayland/WinSystemWayland.cpp.orig 2018-04-18 09:37:24 UTC -+++ xbmc/windowing/wayland/WinSystemWayland.cpp -@@ -1333,7 +1333,7 @@ void CWinSystemWayland::PrepareFramePresentation() - }; - feedback.on_presented() = [this,iter](std::uint32_t tvSecHi, std::uint32_t tvSecLo, std::uint32_t tvNsec, std::uint32_t refresh, std::uint32_t seqHi, std::uint32_t seqLo, wayland::presentation_feedback_kind flags) - { -- timespec tv = { .tv_sec = static_cast ((static_cast(tvSecHi) << 32) + tvSecLo), .tv_nsec = tvNsec }; -+ timespec tv = { .tv_sec = static_cast ((static_cast(tvSecHi) << 32) + tvSecLo), .tv_nsec = static_cast(tvNsec) }; - std::int64_t latency{KODI::LINUX::TimespecDifference(iter->submissionTime, tv)}; - std::uint64_t msc{(static_cast(seqHi) << 32) + seqLo}; - m_presentationFeedbackHandlers.Invoke(tv, refresh, m_syncOutputID, m_syncOutputRefreshRate, msc); Property changes on: head/multimedia/kodi-devel/files/patch-wayland ___________________________________________________________________ Deleted: fbsd:nokeywords ## -1 +0,0 ## -yes \ No newline at end of property Deleted: svn:eol-style ## -1 +0,0 ## -native \ No newline at end of property Deleted: svn:mime-type ## -1 +0,0 ## -text/plain \ No newline at end of property Index: head/multimedia/kodi-devel/files/patch-lld =================================================================== --- head/multimedia/kodi-devel/files/patch-lld (revision 470691) +++ head/multimedia/kodi-devel/files/patch-lld (nonexistent) @@ -1,15 +0,0 @@ -Fix find_soname when lld is the system linker - ---- cmake/scripts/freebsd/Macros.cmake.orig 2017-12-21 00:17:03 UTC -+++ cmake/scripts/freebsd/Macros.cmake -@@ -73,8 +73,8 @@ function(find_soname lib) - string(STRIP "${${lib}_FILENAME}" ${lib}_FILENAME) - if(NOT ${lib}_FILENAME) - execute_process(COMMAND ${CMAKE_C_COMPILER} -nostdlib -o /dev/null -Wl,-t ${link_lib} -- OUTPUT_QUIET -- ERROR_VARIABLE _TMP_FILENAME) -+ ERROR_QUIET -+ OUTPUT_VARIABLE _TMP_FILENAME) - string(REGEX MATCH ".*lib${liblow}.so" ${lib}_FILENAME ${_TMP_FILENAME}) - endif() - if(${lib}_FILENAME) Property changes on: head/multimedia/kodi-devel/files/patch-lld ___________________________________________________________________ Deleted: fbsd:nokeywords ## -1 +0,0 ## -yes \ No newline at end of property Deleted: svn:eol-style ## -1 +0,0 ## -native \ No newline at end of property Deleted: svn:mime-type ## -1 +0,0 ## -text/plain \ No newline at end of property Index: head/multimedia/kodi-devel/files/patch-oss =================================================================== --- head/multimedia/kodi-devel/files/patch-oss (revision 470691) +++ head/multimedia/kodi-devel/files/patch-oss (nonexistent) @@ -1,176 +0,0 @@ ---- xbmc/cores/AudioEngine/Sinks/AESinkOSS.cpp.orig 2018-04-18 09:37:24 UTC -+++ xbmc/cores/AudioEngine/Sinks/AESinkOSS.cpp -@@ -23,6 +23,7 @@ - #include - #include - -+#include "cores/AudioEngine/AESinkFactory.h" - #include "cores/AudioEngine/Utils/AEUtil.h" - #include "utils/log.h" - #include "threads/SingleLock.h" -@@ -71,6 +72,25 @@ CAESinkOSS::CAESinkOSS() - CAESinkOSS::~CAESinkOSS() - { - Deinitialize(); -+} -+ -+void CAESinkOSS::Register() -+{ -+ AE::AESinkRegEntry entry; -+ entry.sinkName = "OSS"; -+ entry.createFunc = CAESinkOSS::Create; -+ entry.enumerateFunc = CAESinkOSS::EnumerateDevicesEx; -+ AE::CAESinkFactory::RegisterSink(entry); -+} -+ -+IAESink* CAESinkOSS::Create(std::string &device, AEAudioFormat& desiredFormat) -+{ -+ IAESink* sink = new CAESinkOSS(); -+ if (sink->Initialize(desiredFormat, device)) -+ return sink; -+ -+ delete sink; -+ return nullptr; - } - - std::string CAESinkOSS::GetDeviceUse(const AEAudioFormat& format, const std::string &device) ---- xbmc/cores/AudioEngine/Sinks/AESinkOSS.h.orig 2018-04-18 09:37:24 UTC -+++ xbmc/cores/AudioEngine/Sinks/AESinkOSS.h -@@ -33,6 +33,10 @@ class CAESinkOSS : public IAESink (public) - CAESinkOSS(); - ~CAESinkOSS() override; - -+ static void Register(); -+ static IAESink* Create(std::string &device, AEAudioFormat &desiredFormat); -+ static void EnumerateDevicesEx(AEDeviceInfoList &list, bool force = false); -+ - bool Initialize(AEAudioFormat &format, std::string &device) override; - void Deinitialize() override; - -@@ -41,7 +45,6 @@ class CAESinkOSS : public IAESink (public) - double GetCacheTotal() override { return 0.0; } /* FIXME */ - unsigned int AddPackets(uint8_t **data, unsigned int frames, unsigned int offset) override; - void Drain() override; -- static void EnumerateDevicesEx(AEDeviceInfoList &list, bool force = false); - private: - int m_fd; - std::string m_device; ---- xbmc/platform/linux/OptionalsReg.cpp.orig 2018-04-18 09:37:24 UTC -+++ xbmc/platform/linux/OptionalsReg.cpp -@@ -58,6 +58,23 @@ bool OPTIONALS::PulseAudioRegister() - #endif - - //----------------------------------------------------------------------------- -+// OSS -+//----------------------------------------------------------------------------- -+#ifdef TARGET_FREEBSD -+#include "cores/AudioEngine/Sinks/AESinkOSS.h" -+bool OPTIONALS::OSSRegister() -+{ -+ CAESinkOSS::Register(); -+ return false; -+} -+#else -+bool OPTIONALS::OSSRegister() -+{ -+ return false; -+} -+#endif -+ -+//----------------------------------------------------------------------------- - // sndio - //----------------------------------------------------------------------------- - ---- xbmc/platform/linux/OptionalsReg.h.orig 2018-04-18 09:37:24 UTC -+++ xbmc/platform/linux/OptionalsReg.h -@@ -39,6 +39,15 @@ bool PulseAudioRegister(); - } - - //----------------------------------------------------------------------------- -+// OSS -+//----------------------------------------------------------------------------- -+ -+namespace OPTIONALS -+{ -+bool OSSRegister(); -+} -+ -+//----------------------------------------------------------------------------- - // sndio - //----------------------------------------------------------------------------- - ---- xbmc/windowing/X11/WinSystemX11GLContext.cpp.orig 2018-04-18 09:37:24 UTC -+++ xbmc/windowing/X11/WinSystemX11GLContext.cpp -@@ -63,6 +63,10 @@ CWinSystemX11GLContext::CWinSystemX11GLContext() - { - OPTIONALS::PulseAudioRegister(); - } -+ else if (StringUtils::EqualsNoCase(envSink, "OSS")) -+ { -+ OPTIONALS::OSSRegister(); -+ } - else if (StringUtils::EqualsNoCase(envSink, "SNDIO")) - { - OPTIONALS::SndioRegister(); -@@ -73,7 +77,10 @@ CWinSystemX11GLContext::CWinSystemX11GLContext() - { - if (!OPTIONALS::ALSARegister()) - { -- OPTIONALS::SndioRegister(); -+ if (!OPTIONALS::SndioRegister()) -+ { -+ OPTIONALS::OSSRegister(); -+ } - } - } - } ---- xbmc/windowing/gbm/WinSystemGbm.cpp.orig 2018-04-18 09:37:24 UTC -+++ xbmc/windowing/gbm/WinSystemGbm.cpp -@@ -54,6 +54,10 @@ CWinSystemGbm::CWinSystemGbm() : - { - OPTIONALS::PulseAudioRegister(); - } -+ else if (StringUtils::EqualsNoCase(envSink, "OSS")) -+ { -+ OPTIONALS::OSSRegister(); -+ } - else if (StringUtils::EqualsNoCase(envSink, "SNDIO")) - { - OPTIONALS::SndioRegister(); -@@ -64,7 +68,10 @@ CWinSystemGbm::CWinSystemGbm() : - { - if (!OPTIONALS::ALSARegister()) - { -- OPTIONALS::SndioRegister(); -+ if (!OPTIONALS::SndioRegister()) -+ { -+ OPTIONALS::OSSRegister(); -+ } - } - } - } ---- xbmc/windowing/wayland/WinSystemWayland.cpp.orig 2018-04-18 09:37:24 UTC -+++ xbmc/windowing/wayland/WinSystemWayland.cpp -@@ -159,6 +159,10 @@ CWinSystemWayland::CWinSystemWayland() - { - OPTIONALS::PulseAudioRegister(); - } -+ else if (StringUtils::EqualsNoCase(envSink, "OSS")) -+ { -+ OPTIONALS::OSSRegister(); -+ } - else if (StringUtils::EqualsNoCase(envSink, "SNDIO")) - { - OPTIONALS::SndioRegister(); -@@ -169,7 +173,10 @@ CWinSystemWayland::CWinSystemWayland() - { - if (!OPTIONALS::ALSARegister()) - { -- OPTIONALS::SndioRegister(); -+ if (!OPTIONALS::SndioRegister()) -+ { -+ OPTIONALS::OSSRegister(); -+ } - } - } - } Property changes on: head/multimedia/kodi-devel/files/patch-oss ___________________________________________________________________ Deleted: fbsd:nokeywords ## -1 +0,0 ## -yes \ No newline at end of property Deleted: svn:eol-style ## -1 +0,0 ## -native \ No newline at end of property Deleted: svn:mime-type ## -1 +0,0 ## -text/plain \ No newline at end of property Index: head/multimedia/kodi-devel/files/patch-rbpi =================================================================== --- head/multimedia/kodi-devel/files/patch-rbpi (revision 470691) +++ head/multimedia/kodi-devel/files/patch-rbpi (revision 470692) @@ -1,83 +1,56 @@ ---- cmake/scripts/freebsd/ArchSetup.cmake.orig 2018-04-18 09:37:24 UTC -+++ cmake/scripts/freebsd/ArchSetup.cmake -@@ -1,4 +1,7 @@ - set(ARCH_DEFINES -D_LINUX -DTARGET_POSIX -DTARGET_FREEBSD) -+if(CORE_PLATFORM_NAME_LC STREQUAL rbpi) -+ list(APPEND ARCH_DEFINES -D_ARMEL -DTARGET_RASPBERRY_PI) -+endif() - set(SYSTEM_DEFINES -D__STDC_CONSTANT_MACROS -D_LARGEFILE64_SOURCE - -D_FILE_OFFSET_BITS=64) - set(PLATFORM_DIR platform/linux) -@@ -10,6 +13,15 @@ else() - set(ARCH x86_64-freebsd) - elseif(CMAKE_SYSTEM_PROCESSOR MATCHES "i.86") - set(ARCH x86-freebsd) -+ elseif(CMAKE_SYSTEM_PROCESSOR STREQUAL armv6) -+ set(ARCH armv6-freebsd) -+ set(NEON True) -+ elseif(CMAKE_SYSTEM_PROCESSOR STREQUAL armv7) -+ set(ARCH armv7-freebsd) -+ set(NEON True) -+ elseif(CMAKE_SYSTEM_PROCESSOR STREQUAL aarch64) -+ set(ARCH aarch64-freebsd) -+ set(NEON True) - else() - message(WARNING "unknown CPU: ${CPU}") - endif() ---- xbmc/windowing/rpi/WinSystemRpi.cpp.orig 2018-04-18 09:37:24 UTC +--- xbmc/windowing/rpi/WinSystemRpi.cpp.orig 2018-05-22 11:44:17 UTC +++ xbmc/windowing/rpi/WinSystemRpi.cpp -@@ -32,9 +32,16 @@ +@@ -32,8 +32,15 @@ #include "settings/DisplaySettings.h" #include "guilib/DispResource.h" #include "utils/log.h" +#include "utils/StringUtils.h" - #include "../WinEventsLinux.h" #include "cores/AudioEngine/AESinkFactory.h" #include "cores/AudioEngine/Sinks/AESinkPi.h" +#ifdef HAS_PULSEAUDIO +#include "cores/AudioEngine/Sinks/AESinkPULSE.h" +#endif +#ifdef HAS_SNDIO +#include "cores/AudioEngine/Sinks/AESinkSNDIO.h" +#endif #include "platform/linux/powermanagement/LinuxPowerSyscall.h" #include -@@ -55,7 +62,36 @@ CWinSystemRpi::CWinSystemRpi() +@@ -54,7 +61,36 @@ CWinSystemRpi::CWinSystemRpi() : + m_rpi = new CRPIUtils(); - m_winEvents.reset(new CWinEventsLinux()); AE::CAESinkFactory::ClearSinks(); - CAESinkPi::Register(); + + std::string envSink; + if (getenv("AE_SINK")) + envSink = getenv("AE_SINK"); + if (StringUtils::EqualsNoCase(envSink, "PULSE")) + { +#ifdef HAS_PULSEAUDIO + CAESinkPulseaudio::Register(); +#endif + } + else if (StringUtils::EqualsNoCase(envSink, "SNDIO")) + { +#ifdef HAS_SNDIO + CAESinkSNDIO::Register(); +#endif + } + else if (StringUtils::EqualsNoCase(envSink, "PI")) + { + CAESinkPi::Register(); + } + else + { +#if defined(HAS_PULSEAUDIO) + CAESinkPulseaudio::Register(); +#elif defined(HAS_SNDIO) + CAESinkSNDIO::Register(); +#else + CAESinkPi::Register(); +#endif + } CLinuxPowerSyscall::Register(); m_lirc.reset(OPTIONALS::LircRegister()); - } + m_libinput->Start();