Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 20 Apr 2018 08:50:41 +0000 (UTC)
From:      Tobias Kortkamp <tobik@FreeBSD.org>
To:        ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org
Subject:   svn commit: r467813 - in head/multimedia/kodi-devel: . files
Message-ID:  <201804200850.w3K8ofxb086857@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: tobik
Date: Fri Apr 20 08:50:41 2018
New Revision: 467813
URL: https://svnweb.freebsd.org/changeset/ports/467813

Log:
  multimedia/kodi-devel: Update to latest commit
  
  - Reenable OSS backend
  - Fix Wayland build the right way and drop a bunch of patches by
    syncing Linux' ExtraTargets.cmake with FreeBSD's.
  
  Changes:	https://github.com/xbmc/xbmc/compare/d571386e6f848db993ac7f855fc911abc23e308a...f4489bffe22487bc906e79130832c14360a42a8a

Added:
  head/multimedia/kodi-devel/files/patch-oss   (contents, props changed)
Modified:
  head/multimedia/kodi-devel/Makefile
  head/multimedia/kodi-devel/distinfo
  head/multimedia/kodi-devel/files/patch-rbpi
  head/multimedia/kodi-devel/files/patch-wayland
  head/multimedia/kodi-devel/pkg-plist

Modified: head/multimedia/kodi-devel/Makefile
==============================================================================
--- head/multimedia/kodi-devel/Makefile	Fri Apr 20 08:33:46 2018	(r467812)
+++ head/multimedia/kodi-devel/Makefile	Fri Apr 20 08:50:41 2018	(r467813)
@@ -1,8 +1,7 @@
 # $FreeBSD$
 
 PORTNAME=	kodi
-DISTVERSION=	18.0.g201803211302
-PORTREVISION=	3
+DISTVERSION=	18.0.g201804180937
 CATEGORIES=	multimedia
 PKGNAMESUFFIX?=	-devel
 
@@ -54,7 +53,7 @@ USES=		autoreconf:build cmake:outsource,noninja compil
 USE_GITHUB=	yes
 GH_ACCOUNT=	xbmc
 GH_PROJECT=	xbmc
-GH_TAGNAME=	d571386e6f848db993ac7f855fc911abc23e308a
+GH_TAGNAME=	f4489bffe22487bc906e79130832c14360a42a8a
 USE_GNOME=	libxslt libxml2
 USE_JAVA=	yes
 JAVA_BUILD=	yes
@@ -78,18 +77,15 @@ PLIST_SUB=	ARCH=${KODIARCH_${ARCH}:U${ARCH}} OPSYS=${O
 
 OPTIONS_DEFINE=	AVAHI CEC DBUS LIBBLURAY MYSQL NFS SMB SSH UPNP VAAPI	\
 		VDPAU WEBSERVER
-OPTIONS_DEFAULT=	LIBBLURAY SNDIO SSH UPNP VAAPI VDPAU WEBSERVER X11
+OPTIONS_DEFAULT=	LIBBLURAY SSH UPNP VAAPI VDPAU WEBSERVER X11
 OPTIONS_SINGLE=	PLATFORM
 OPTIONS_SINGLE_PLATFORM=	GBM RPI WAYLAND X11
 OPTIONS_EXCLUDE_amd64=	RPI
 OPTIONS_EXCLUDE_i386=	RPI
 OPTIONS_SUB=	yes
 
-# Choosing one of SNDIO or PULSEAUDIO is mandatory right now if you
-# want audio output.  The OSS backend is currently not hooked into
-# Kodi's audio sink factory due to recent refactorings.
-OPTIONS_MULTI=		SOUND
-OPTIONS_MULTI_SOUND=	PULSEAUDIO SNDIO
+OPTIONS_GROUP=		SOUND
+OPTIONS_GROUP_SOUND=	PULSEAUDIO SNDIO
 
 CEC_DESC=	CEC adapter support
 GBM_DESC=	GBM support (requires a kernel with evdev support)
@@ -141,6 +137,7 @@ 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 \
@@ -157,6 +154,7 @@ WAYLAND_BUILD_DEPENDS=	wayland-protocols>=0:graphics/w
 WAYLAND_CMAKE_ON=	-DCORE_PLATFORM_NAME:STRING="wayland" \
 			-DWAYLAND_RENDER_SYSTEM:STRING="gl"
 WAYLAND_LIB_DEPENDS=	libwayland-client++.so:graphics/waylandpp \
+			libwayland-client.so:graphics/wayland \
 			libxkbcommon.so:x11/libxkbcommon
 
 WEBSERVER_LIB_DEPENDS=	libmicrohttpd.so:www/libmicrohttpd
@@ -180,6 +178,10 @@ post-patch:
 	@${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:

Modified: head/multimedia/kodi-devel/distinfo
==============================================================================
--- head/multimedia/kodi-devel/distinfo	Fri Apr 20 08:33:46 2018	(r467812)
+++ head/multimedia/kodi-devel/distinfo	Fri Apr 20 08:50:41 2018	(r467813)
@@ -1,3 +1,3 @@
-TIMESTAMP = 1515769119
-SHA256 (xbmc-xbmc-18.0.g201803211302-d571386e6f848db993ac7f855fc911abc23e308a_GH0.tar.gz) = 310597a7ef631ff7220c3d1cfcbff1be4de3464e0b15f6b1ec16ce7fb2adee4d
-SIZE (xbmc-xbmc-18.0.g201803211302-d571386e6f848db993ac7f855fc911abc23e308a_GH0.tar.gz) = 41177182
+TIMESTAMP = 1524056987
+SHA256 (xbmc-xbmc-18.0.g201804180937-f4489bffe22487bc906e79130832c14360a42a8a_GH0.tar.gz) = 8f77f6cff2bcab9b31c1df120b3e044acbd55c93cb96ecb63830e37aeaf30bc5
+SIZE (xbmc-xbmc-18.0.g201804180937-f4489bffe22487bc906e79130832c14360a42a8a_GH0.tar.gz) = 41117210

Added: head/multimedia/kodi-devel/files/patch-oss
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/multimedia/kodi-devel/files/patch-oss	Fri Apr 20 08:50:41 2018	(r467813)
@@ -0,0 +1,176 @@
+--- 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 <limits.h>
+ #include <unistd.h>
+ 
++#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();
++        }
+       }
+     }
+   }

Modified: head/multimedia/kodi-devel/files/patch-rbpi
==============================================================================
--- head/multimedia/kodi-devel/files/patch-rbpi	Fri Apr 20 08:33:46 2018	(r467812)
+++ head/multimedia/kodi-devel/files/patch-rbpi	Fri Apr 20 08:50:41 2018	(r467813)
@@ -1,4 +1,4 @@
---- cmake/scripts/freebsd/ArchSetup.cmake.orig	2017-12-17 12:10:14 UTC
+--- 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)
@@ -24,7 +24,7 @@
    else()
      message(WARNING "unknown CPU: ${CPU}")
    endif()
---- xbmc/windowing/rpi/WinSystemRpi.cpp.orig	2018-02-09 09:50:14 UTC
+--- xbmc/windowing/rpi/WinSystemRpi.cpp.orig	2018-04-18 09:37:24 UTC
 +++ xbmc/windowing/rpi/WinSystemRpi.cpp
 @@ -32,9 +32,16 @@
  #include "settings/DisplaySettings.h"
@@ -40,7 +40,7 @@
 +#ifdef HAS_SNDIO
 +#include "cores/AudioEngine/Sinks/AESinkSNDIO.h"
 +#endif
- #include "powermanagement/linux/LinuxPowerSyscall.h"
+ #include "platform/linux/powermanagement/LinuxPowerSyscall.h"
  
  #include <EGL/egl.h>
 @@ -55,7 +62,36 @@ CWinSystemRpi::CWinSystemRpi()
@@ -79,5 +79,5 @@
 +#endif
 +  }
    CLinuxPowerSyscall::Register();
+   m_lirc.reset(OPTIONALS::LircRegister());
  }
- 

Modified: head/multimedia/kodi-devel/files/patch-wayland
==============================================================================
--- head/multimedia/kodi-devel/files/patch-wayland	Fri Apr 20 08:33:46 2018	(r467812)
+++ head/multimedia/kodi-devel/files/patch-wayland	Fri Apr 20 08:50:41 2018	(r467813)
@@ -1,37 +1,15 @@
---- cmake/modules/FindWaylandpp.cmake.orig	2018-03-21 13:02:45 UTC
-+++ cmake/modules/FindWaylandpp.cmake
-@@ -10,7 +10,7 @@
- # WAYLANDPP_DEFINITIONS  - the waylandpp definitions
- # WAYLANDPP_SCANNER      - path to wayland-scanner++
- 
--pkg_check_modules(WAYLANDPP wayland-client++ wayland-egl++ wayland-cursor++)
-+pkg_check_modules(WAYLANDPP wayland-client++ wayland-client-extra++ wayland-egl++ wayland-cursor++)
- pkg_check_modules(PC_WAYLANDPP_SCANNER wayland-scanner++)
- if(WAYLANDPP_FOUND)
-   pkg_get_variable(PC_WAYLANDPP_PKGDATADIR wayland-client++ pkgdatadir)
---- cmake/treedata/freebsd/subdirs.txt.orig	2018-03-21 13:02:45 UTC
+--- cmake/treedata/freebsd/subdirs.txt.orig	2018-04-18 09:37:24 UTC
 +++ cmake/treedata/freebsd/subdirs.txt
-@@ -9,4 +9,7 @@ xbmc/storage/linux         storage/linux
- xbmc/filesystem/posix      filesystem/posix
- xbmc/utils/posix           utils_posix
- xbmc/platform/posix        posix
+@@ -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/freebsd               freebsdsupport
-+xbmc/windowing/linux       windowing/linux
---- xbmc/windowing/wayland/ShellSurfaceXdgShell.h.orig	2018-03-21 13:02:45 UTC
-+++ xbmc/windowing/wayland/ShellSurfaceXdgShell.h
-@@ -23,6 +23,7 @@
- #include "ShellSurface.h"
- 
- #include <wayland-extra-protocols.hpp>
-+#include <wayland-client-protocol-extra.hpp>
- 
- namespace KODI
- {
---- xbmc/windowing/wayland/WinSystemWayland.cpp.orig	2018-03-21 13:02:45 UTC
++xbmc/windowing/linux                windowing/linux
+--- xbmc/windowing/wayland/WinSystemWayland.cpp.orig	2018-04-18 09:37:24 UTC
 +++ xbmc/windowing/wayland/WinSystemWayland.cpp
-@@ -1331,7 +1331,7 @@ void CWinSystemWayland::PrepareFramePresentation()
+@@ -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)
      {
@@ -40,13 +18,3 @@
        std::int64_t latency{KODI::LINUX::TimespecDifference(iter->submissionTime, tv)};
        std::uint64_t msc{(static_cast<std::uint64_t>(seqHi) << 32) + seqLo};
        m_presentationFeedbackHandlers.Invoke(tv, refresh, m_syncOutputID, m_syncOutputRefreshRate, msc);
---- xbmc/windowing/wayland/WinSystemWayland.h.orig	2018-03-21 13:02:45 UTC
-+++ xbmc/windowing/wayland/WinSystemWayland.h
-@@ -30,6 +30,7 @@
- #include <wayland-client.hpp>
- #include <wayland-cursor.hpp>
- #include <wayland-extra-protocols.hpp>
-+#include <wayland-client-protocol-extra.hpp>
- 
- #include "Connection.h"
- #include "Output.h"

Modified: head/multimedia/kodi-devel/pkg-plist
==============================================================================
--- head/multimedia/kodi-devel/pkg-plist	Fri Apr 20 08:33:46 2018	(r467812)
+++ head/multimedia/kodi-devel/pkg-plist	Fri Apr 20 08:50:41 2018	(r467813)
@@ -4,7 +4,6 @@ bin/kodi-standalone
 include/kodi/AEChannelData.h
 include/kodi/ActionIDs.h
 include/kodi/AddonBase.h
-include/kodi/AudioEngine.h
 include/kodi/DemuxCrypto.h
 include/kodi/DemuxPacket.h
 include/kodi/Filesystem.h
@@ -15,7 +14,6 @@ include/kodi/StreamCodec.h
 include/kodi/StreamCrypto.h
 include/kodi/TimingConstants.h
 include/kodi/XBMC_vkeys.h
-include/kodi/addon-instance/AudioDSP.h
 include/kodi/addon-instance/AudioDecoder.h
 include/kodi/addon-instance/AudioEncoder.h
 include/kodi/addon-instance/ImageDecoder.h
@@ -59,6 +57,7 @@ include/kodi/libKODI_game.h
 include/kodi/libKODI_guilib.h
 include/kodi/libXBMC_addon.h
 include/kodi/libXBMC_pvr.h
+include/kodi/platform/android/System.h
 include/kodi/tools/DllHelper.h
 include/kodi/versions.h
 include/kodi/xbmc_addon_dll.h



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