aboutsummaryrefslogtreecommitdiffstats
path: root/multimedia
diff options
context:
space:
mode:
authortobik <tobik@FreeBSD.org>2018-04-20 16:50:41 +0800
committertobik <tobik@FreeBSD.org>2018-04-20 16:50:41 +0800
commit8bf9b220bf0187e9553bc352183806f697f13c56 (patch)
tree834b37fe2d18eee9a04de76f33386e2b8950ad9b /multimedia
parent1ca0eeb520c1d5a09a8bdf5be4e095e5aa895da3 (diff)
downloadfreebsd-ports-gnome-8bf9b220bf0187e9553bc352183806f697f13c56.tar.gz
freebsd-ports-gnome-8bf9b220bf0187e9553bc352183806f697f13c56.tar.zst
freebsd-ports-gnome-8bf9b220bf0187e9553bc352183806f697f13c56.zip
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
Diffstat (limited to 'multimedia')
-rw-r--r--multimedia/kodi-devel/Makefile20
-rw-r--r--multimedia/kodi-devel/distinfo6
-rw-r--r--multimedia/kodi-devel/files/patch-oss176
-rw-r--r--multimedia/kodi-devel/files/patch-rbpi8
-rw-r--r--multimedia/kodi-devel/files/patch-wayland48
-rw-r--r--multimedia/kodi-devel/pkg-plist3
6 files changed, 203 insertions, 58 deletions
diff --git a/multimedia/kodi-devel/Makefile b/multimedia/kodi-devel/Makefile
index bd747026b703..d16efba1e16f 100644
--- a/multimedia/kodi-devel/Makefile
+++ b/multimedia/kodi-devel/Makefile
@@ -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 compiler:c++11-lib \
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=${OPSYS:tl}
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/wayland-protocols
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:
diff --git a/multimedia/kodi-devel/distinfo b/multimedia/kodi-devel/distinfo
index ea15b29c30b5..ccec9bd091bd 100644
--- a/multimedia/kodi-devel/distinfo
+++ b/multimedia/kodi-devel/distinfo
@@ -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
diff --git a/multimedia/kodi-devel/files/patch-oss b/multimedia/kodi-devel/files/patch-oss
new file mode 100644
index 000000000000..f04e04e8d6e1
--- /dev/null
+++ b/multimedia/kodi-devel/files/patch-oss
@@ -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();
++ }
+ }
+ }
+ }
diff --git a/multimedia/kodi-devel/files/patch-rbpi b/multimedia/kodi-devel/files/patch-rbpi
index 4033a5eb2284..790292127c5d 100644
--- a/multimedia/kodi-devel/files/patch-rbpi
+++ b/multimedia/kodi-devel/files/patch-rbpi
@@ -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());
}
-
diff --git a/multimedia/kodi-devel/files/patch-wayland b/multimedia/kodi-devel/files/patch-wayland
index b93cec9056a7..2f96fa45203e 100644
--- a/multimedia/kodi-devel/files/patch-wayland
+++ b/multimedia/kodi-devel/files/patch-wayland
@@ -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"
diff --git a/multimedia/kodi-devel/pkg-plist b/multimedia/kodi-devel/pkg-plist
index 1b863e756a29..4079a623ddba 100644
--- a/multimedia/kodi-devel/pkg-plist
+++ b/multimedia/kodi-devel/pkg-plist
@@ -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