mirror of
https://git.FreeBSD.org/ports.git
synced 2025-01-07 06:40:06 +00:00
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: d571386e6f...f4489bffe2
This commit is contained in:
parent
747630c2f7
commit
9289022178
Notes:
svn2git
2021-03-31 03:12:20 +00:00
svn path=/head/; revision=467813
@ -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:
|
||||
|
@ -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
|
||||
|
176
multimedia/kodi-devel/files/patch-oss
Normal file
176
multimedia/kodi-devel/files/patch-oss
Normal file
@ -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();
|
||||
+ }
|
||||
}
|
||||
}
|
||||
}
|
@ -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());
|
||||
}
|
||||
|
||||
|
@ -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"
|
||||
|
@ -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
|
||||
|
Loading…
Reference in New Issue
Block a user