diff options
author | tobik <tobik@FreeBSD.org> | 2018-04-20 16:50:41 +0800 |
---|---|---|
committer | tobik <tobik@FreeBSD.org> | 2018-04-20 16:50:41 +0800 |
commit | 8bf9b220bf0187e9553bc352183806f697f13c56 (patch) | |
tree | 834b37fe2d18eee9a04de76f33386e2b8950ad9b /multimedia | |
parent | 1ca0eeb520c1d5a09a8bdf5be4e095e5aa895da3 (diff) | |
download | freebsd-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/Makefile | 20 | ||||
-rw-r--r-- | multimedia/kodi-devel/distinfo | 6 | ||||
-rw-r--r-- | multimedia/kodi-devel/files/patch-oss | 176 | ||||
-rw-r--r-- | multimedia/kodi-devel/files/patch-rbpi | 8 | ||||
-rw-r--r-- | multimedia/kodi-devel/files/patch-wayland | 48 | ||||
-rw-r--r-- | multimedia/kodi-devel/pkg-plist | 3 |
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 |