git: 13aba86dfc67 - main - multimedia/kodi: Update to 20.0

From: Bernhard Froehlich <decke_at_FreeBSD.org>
Date: Mon, 06 Feb 2023 14:12:36 UTC
The branch main has been updated by decke:

URL: https://cgit.FreeBSD.org/ports/commit/?id=13aba86dfc67763fbf278c51c52575225d544211

commit 13aba86dfc67763fbf278c51c52575225d544211
Author:     yzrh <yzrh@noema.org>
AuthorDate: 2023-02-06 13:54:50 +0000
Commit:     Bernhard Froehlich <decke@FreeBSD.org>
CommitDate: 2023-02-06 14:11:51 +0000

    multimedia/kodi: Update to 20.0
    
    PR:             268987
---
 multimedia/kodi/Makefile                           |  61 +--
 multimedia/kodi/distinfo                           |  18 +-
 .../files/patch-cmake_modules_FindCrossGUID.cmake  |  29 ++
 .../kodi/files/patch-cmake_modules_FindEGL.cmake   |  15 +
 .../files/patch-cmake_modules_FindLibDvdCSS.cmake  |  11 +
 .../files/patch-cmake_modules_FindLibDvdNav.cmake  |  11 +
 .../files/patch-cmake_modules_FindLibDvdRead.cmake |  11 +
 .../patch-cmake_scripts_freebsd_ArchSetup.cmake    |   4 +-
 multimedia/kodi/files/patch-libfmt                 |  13 -
 ...tch-xbmc_cores_AudioEngine_Sinks_AESinkALSA.cpp |  16 +
 ...ch-xbmc_cores_AudioEngine_Utils_AEELDParser.cpp |  11 +
 .../files/patch-xbmc_dbwrappers_mysqldataset.cpp   |  14 -
 .../files/patch-xbmc_dbwrappers_mysqldataset.h     |  14 -
 ...rm_linux_peripherals_PeripheralBusUSBLibUSB.cpp |  11 +
 ...h-xbmc_platform_linux_storage_UDisks2Provider.h |   4 +-
 ...orm_posix_filesystem_SMBWSDiscoveryListener.cpp |  10 +
 .../kodi/files/patch-xbmc_utils_StringUtils.cpp    |  11 +
 .../files/patch-xbmc_windowing_X11_GLContextEGL.h  |  11 -
 multimedia/kodi/pkg-message                        |   2 +-
 multimedia/kodi/pkg-plist                          | 466 +++++++++++++++------
 20 files changed, 517 insertions(+), 226 deletions(-)

diff --git a/multimedia/kodi/Makefile b/multimedia/kodi/Makefile
index fa4bf0275182..6bf4f7e657b5 100644
--- a/multimedia/kodi/Makefile
+++ b/multimedia/kodi/Makefile
@@ -1,6 +1,5 @@
 PORTNAME=	kodi
-DISTVERSION=	19.5
-PORTREVISION=	2
+DISTVERSION=	20.0
 CATEGORIES=	multimedia java
 
 MAINTAINER=	yzrh@noema.org
@@ -22,13 +21,13 @@ LIB_DEPENDS=	libass.so:multimedia/libass \
 		libcdio.so:sysutils/libcdio \
 		libcrossguid.so:devel/libcrossguid \
 		libcurl.so:ftp/curl \
-		libdav1d.so:multimedia/dav1d \
 		libexpat.so:textproc/expat2 \
 		libfmt.so:devel/libfmt \
 		libfreetype.so:print/freetype2 \
 		libfribidi.so:converters/fribidi \
 		libfstrcmp.so:devel/fstrcmp \
 		libgif.so:graphics/giflib \
+		libharfbuzz.so:print/harfbuzz \
 		liblzo2.so:archivers/lzo2 \
 		libpcre.so:devel/pcre \
 		libpng.so:graphics/png \
@@ -44,10 +43,10 @@ USES=		autoreconf:build cmake:noninja compiler:c++17-lang cpe \
 		desktop-file-utils gettext gmake gnome iconv jpeg libtool \
 		pkgconfig python:3.7+ sqlite ssl
 
-KODI_CODENAME=	Matrix
-LIBDVDCSS_VERSION=	1.4.2-Leia-Beta-5
-LIBDVDNAV_VERSION=	6.0.0-Leia-Alpha-3
-LIBDVDREAD_VERSION=	6.0.0-Leia-Alpha-3
+KODI_CODENAME=		Nexus
+LIBDVDCSS_VERSION=	1.4.3-Next-Nexus-Alpha2-2
+LIBDVDNAV_VERSION=	6.1.1-Next-Nexus-Alpha2-2
+LIBDVDREAD_VERSION=	6.1.3-Next-Nexus-Alpha2-2
 
 USE_GITHUB=	yes
 GH_TUPLE=	xbmc:xbmc:${DISTVERSION}-${KODI_CODENAME} \
@@ -72,39 +71,37 @@ USE_GNOME=	libxml2
 CMAKE_ARGS=	-DGIT_VERSION="${DISTVERSION}-${KODI_CODENAME}" \
 		-DLIBDVDCSS_URL="${DISTDIR}/xbmc-libdvdcss-${LIBDVDCSS_VERSION}_GH0.tar.gz" \
 		-DLIBDVDNAV_URL="${DISTDIR}/xbmc-libdvdnav-${LIBDVDNAV_VERSION}_GH0.tar.gz" \
-		-DLIBDVDREAD_URL="${DISTDIR}/xbmc-libdvdread-${LIBDVDREAD_VERSION}_GH0.tar.gz"
-CMAKE_OFF=	ENABLE_INTERNAL_CROSSGUID
+		-DLIBDVDREAD_URL="${DISTDIR}/xbmc-libdvdread-${LIBDVDREAD_VERSION}_GH0.tar.gz" \
+		-DCROSSGUID_INCLUDE_DIR="${LOCALBASE}/include"
+CMAKE_OFF=	ENABLE_INTERNAL_CROSSGUID ENABLE_INTERNAL_RapidJSON
 CONFIGURE_ENV=	_CPU_FEATURE="${CPU_FEATURE}"
 
 OPTIONS_SUB=		yes
 # Broken: BLUETOOTH
-OPTIONS_DEFINE=		AIRPLAY AVAHI LIBBLURAY CEC DBUS DVDCSS LCMS2 \
-			LIRC WEBSERVER NFS DVD SMB TEST UDEV UPNP \
-			VAAPI VDPAU XSLT DOCS
-OPTIONS_DEFAULT=	LIBBLURAY CEC LCMS2 WEBSERVER \
+OPTIONS_DEFINE=		AIRPLAY AVAHI LIBBLURAY CEC DAV1D DBUS \
+			DVDCSS LCMS2 LIRC WEBSERVER MYSQL NFS DVD SMB TEST \
+			UDEV UPNP VAAPI VDPAU XSLT DOCS
+OPTIONS_DEFAULT=	LIBBLURAY CEC LCMS2 WEBSERVER DAV1D \
 			DVD UPNP VAAPI VDPAU XSLT WAYLAND X11 GL
 OPTIONS_DEFAULT_amd64=	SSE SSE2 SSE3 SSSE3 SSE4_1 SSE4_2
 OPTIONS_DEFAULT_i386=	SSE SSE2 SSE3
 OPTIONS_SINGLE=		RENDER
 OPTIONS_SINGLE_RENDER=	GL GLES
-OPTIONS_RADIO=		DATABASE
-OPTIONS_RADIO_DATABASE=	MARIADB MYSQL
 OPTIONS_GROUP=		SOUND FEATURE PLATFORM
-# Broken: ALSA
-OPTIONS_GROUP_SOUND=	PULSEAUDIO SNDIO
+OPTIONS_GROUP_SOUND=	ALSA PIPEWIRE PULSEAUDIO SNDIO
 OPTIONS_GROUP_FEATURE=	SSE SSE2 SSE3 SSSE3 SSE4_1 SSE4_2 AVX AVX2
-OPTIONS_GROUP_PLATFORM=GBM WAYLAND X11
+OPTIONS_GROUP_PLATFORM=	GBM WAYLAND X11
 OPTIONS_EXCLUDE_aarch64=FEATURE
 OPTIONS_EXCLUDE_armv7=	FEATURE
 OPTIONS_EXCLUDE_armv6=	FEATURE
 
 PLATFORM_DESC=	Kodi platform
-DATABASE_DESC=	Database
 FEATURE_DESC=	X86 CPU feature
 
 AIRPLAY_DESC=	AirPlay support
 BLUETOOTH_DESC=	Bluetooth support
 CEC_DESC=	CEC adapter support
+DAV1D_DESC=	Use dav1d as AV1 decoder
 DVD_DESC=	DVD support
 UDEV_DESC=	Use libudev-devd
 XSLT_DESC=	Use libxslt
@@ -114,7 +111,7 @@ GL_DESC=	OpenGL
 GLES_DESC=	OpenGL ES
 
 GBM_DESC=	GBM support
-MARIADB_DESC=	MariaDB database support
+PIPEWIRE_DESC=	PipeWire support
 
 SSE2_DESC=	Use SSE2 optimized routines
 SSE3_DESC=	Use SSE3 optimized routines
@@ -141,6 +138,9 @@ LIBBLURAY_CMAKE_BOOL=	ENABLE_BLURAY
 CEC_LIB_DEPENDS=	libcec.so:multimedia/libcec
 CEC_CMAKE_BOOL=		ENABLE_CEC
 
+DAV1D_LIB_DEPENDS=	libdav1d.so:multimedia/dav1d
+DAV1D_CMAKE_BOOL=	ENABLE_DAV1D
+
 DBUS_LIB_DEPENDS=	libdbus-1.so:devel/dbus
 DBUS_CMAKE_BOOL=	ENABLE_DBUS
 
@@ -181,12 +181,12 @@ XSLT_LIB_DEPENDS=	libxslt.so:textproc/libxslt
 XSLT_CMAKE_BOOL=	ENABLE_XSLT
 
 GL_CMAKE_ON=		-DAPP_RENDER_SYSTEM:STRING="gl"
+GL_USES=		gl
+GL_USE=			GL=gl
 
 GLES_CMAKE_ON=		-DAPP_RENDER_SYSTEM:STRING="gles"
-
-MARIADB_USES=		mysql:105m
-MARIADB_CMAKE_BOOL=	ENABLE_MARIADBCLIENT
-MARIADB_CMAKE_ON=	-DMARIADBCLIENT_INCLUDE_DIR="${LOCALBASE}/include"
+GLES_USES=		gl
+GLES_USE=		GL=glesv2
 
 MYSQL_USES=		mysql
 MYSQL_CMAKE_BOOL=	ENABLE_MYSQLCLIENT
@@ -194,6 +194,9 @@ MYSQL_CMAKE_BOOL=	ENABLE_MYSQLCLIENT
 ALSA_LIB_DEPENDS=	libasound.so:audio/alsa-lib
 ALSA_CMAKE_BOOL=	ENABLE_ALSA
 
+PIPEWIRE_LIB_DEPENDS=	libpipewire-0.3.so:multimedia/pipewire
+PIPEWIRE_CMAKE_BOOL=	ENABLE_PIPEWIRE
+
 PULSEAUDIO_LIB_DEPENDS=	libpulse.so:audio/pulseaudio
 PULSEAUDIO_CMAKE_BOOL=	ENABLE_PULSEAUDIO
 
@@ -231,11 +234,15 @@ WAYLAND_LIB_DEPENDS=	libdrm.so:graphics/libdrm \
 			libwayland-client++.so:graphics/waylandpp
 
 X11_USES=		xorg gl
-X11_USE=		XORG=x11,xext,xrandr GL=egl,gbm,gl,glu
+X11_USE=		XORG=x11,xext,xrandr GL=egl,gbm,glu
 X11_LIB_DEPENDS=	libdrm.so:graphics/libdrm
 
 .include <bsd.port.options.mk>
 
+.if (!empty(PORT_OPTIONS:MGBM) && !empty(PORT_OPTIONS:MWAYLAND) || !empty(PORT_OPTIONS:MGBM) && !empty(PORT_OPTIONS:MX11) || !empty(PORT_OPTIONS:MWAYLAND) && !empty(PORT_OPTIONS:MX11)) && !empty(PORT_OPTIONS:MGLES)
+BROKEN=	option GLES does not build with multiple PLATFORM
+.endif
+
 .if !empty(PORT_OPTIONS:MGBM) && !empty(PORT_OPTIONS:MWAYLAND) && !empty(PORT_OPTIONS:MX11)
 CMAKE_ARGS+=	-DCORE_PLATFORM_NAME:STRING="gbm wayland x11"
 .elif empty(PORT_OPTIONS:MGBM) && !empty(PORT_OPTIONS:MWAYLAND) && !empty(PORT_OPTIONS:MX11)
@@ -286,8 +293,8 @@ post-patch:
 post-install:
 	${INSTALL_MAN} ${WRKSRC}/docs/manpages/kodi.bin.1 ${STAGEDIR}${MAN1PREFIX}/share/man/man1
 	cd ${STAGEDIR}${MAN1PREFIX}/share/man/man1 && ${LN} -s kodi.bin.1.gz kodi.1.gz
-	cd ${STAGEDIR}${PREFIX}/bin && ${STRIP_CMD} TexturePacker JsonSchemaBuilder
+	cd ${STAGEDIR}${PREFIX}/bin && ${STRIP_CMD} JsonSchemaBuilder kodi-TexturePacker
 	${FIND} ${STAGEDIR}${PREFIX}/lib/kodi -type f -name '*.so' -print0 | ${XARGS} -0 ${STRIP_CMD}
-	${RM} -rf ${STAGEDIR}${PREFIX}/lib/firewalld
+	${RM} -r ${STAGEDIR}${PREFIX}/lib/firewalld
 
 .include <bsd.port.mk>
diff --git a/multimedia/kodi/distinfo b/multimedia/kodi/distinfo
index e34c61dd9ded..5bcbfcd79ab6 100644
--- a/multimedia/kodi/distinfo
+++ b/multimedia/kodi/distinfo
@@ -1,9 +1,9 @@
-TIMESTAMP = 1672024779
-SHA256 (xbmc-xbmc-19.5-19.5-Matrix_GH0.tar.gz) = 56e0074f27f08496b2a21af5704a15378a2f0979ae3e9fa9a50a2630d0313d19
-SIZE (xbmc-xbmc-19.5-19.5-Matrix_GH0.tar.gz) = 53496968
-SHA256 (xbmc-libdvdcss-1.4.2-Leia-Beta-5_GH0.tar.gz) = 38816f8373e243bc5950449b4f3b18938c4e1c59348e3411e23f31db4072e40d
-SIZE (xbmc-libdvdcss-1.4.2-Leia-Beta-5_GH0.tar.gz) = 101068
-SHA256 (xbmc-libdvdnav-6.0.0-Leia-Alpha-3_GH0.tar.gz) = 071e414e61b795f2ff9015b21a85fc009dde967f27780d23092643916538a57a
-SIZE (xbmc-libdvdnav-6.0.0-Leia-Alpha-3_GH0.tar.gz) = 137942
-SHA256 (xbmc-libdvdread-6.0.0-Leia-Alpha-3_GH0.tar.gz) = a30b6aa0aad0f2c505bc77948af2d5531a80b6e68112addb4c123fca24d5d3bf
-SIZE (xbmc-libdvdread-6.0.0-Leia-Alpha-3_GH0.tar.gz) = 130649
+TIMESTAMP = 1673876226
+SHA256 (xbmc-xbmc-20.0-20.0-Nexus_GH0.tar.gz) = 4c75add8b9ea44924b6ee45f94439545676033f35f5993908871e3dded527b79
+SIZE (xbmc-xbmc-20.0-20.0-Nexus_GH0.tar.gz) = 54562027
+SHA256 (xbmc-libdvdcss-1.4.3-Next-Nexus-Alpha2-2_GH0.tar.gz) = f38c4a4e7a4f4da6d8e83b8852489aa3bb6588a915dc41f5ee89d9aad305a06e
+SIZE (xbmc-libdvdcss-1.4.3-Next-Nexus-Alpha2-2_GH0.tar.gz) = 102124
+SHA256 (xbmc-libdvdnav-6.1.1-Next-Nexus-Alpha2-2_GH0.tar.gz) = 584f62a3896794408d46368e2ecf2c6217ab9c676ce85921b2d68b8961f49dfc
+SIZE (xbmc-libdvdnav-6.1.1-Next-Nexus-Alpha2-2_GH0.tar.gz) = 128547
+SHA256 (xbmc-libdvdread-6.1.3-Next-Nexus-Alpha2-2_GH0.tar.gz) = 719130091e3adc9725ba72df808f24a14737a009dca5a4c38c601c0c76449b62
+SIZE (xbmc-libdvdread-6.1.3-Next-Nexus-Alpha2-2_GH0.tar.gz) = 110513
diff --git a/multimedia/kodi/files/patch-cmake_modules_FindCrossGUID.cmake b/multimedia/kodi/files/patch-cmake_modules_FindCrossGUID.cmake
new file mode 100644
index 000000000000..4fd05dca7c94
--- /dev/null
+++ b/multimedia/kodi/files/patch-cmake_modules_FindCrossGUID.cmake
@@ -0,0 +1,29 @@
+--- cmake/modules/FindCrossGUID.cmake.orig	2022-07-08 10:04:52 UTC
++++ cmake/modules/FindCrossGUID.cmake
+@@ -45,7 +45,7 @@ else()
+   endif()
+ 
+   if(CROSSGUID_FOUND)
+-    find_path(CROSSGUID_INCLUDE_DIR NAMES crossguid/guid.hpp guid.h
++    find_path(CROSSGUID_INCLUDE_DIR NAMES guid.hpp guid.h
+     PATHS ${PC_CROSSGUID_INCLUDEDIR})
+ 
+     find_library(CROSSGUID_LIBRARY_RELEASE NAMES crossguid
+@@ -53,7 +53,7 @@ else()
+     find_library(CROSSGUID_LIBRARY_DEBUG NAMES crossguidd crossguid-dgb
+           PATHS ${PC_CROSSGUID_LIBDIR})
+   else()
+-    find_path(CROSSGUID_INCLUDE_DIR NAMES crossguid/guid.hpp guid.h)
++    find_path(CROSSGUID_INCLUDE_DIR NAMES guid.hpp guid.h)
+     find_library(CROSSGUID_LIBRARY_RELEASE NAMES crossguid)
+     find_library(CROSSGUID_LIBRARY_DEBUG NAMES crossguidd)
+   endif()
+@@ -73,7 +73,7 @@ if(CROSSGUID_FOUND)
+   set(CROSSGUID_INCLUDE_DIRS ${CROSSGUID_INCLUDE_DIR})
+ 
+   # NEW_CROSSGUID >= 0.2.0 release
+-  if(EXISTS "${CROSSGUID_INCLUDE_DIR}/crossguid/guid.hpp")
++  if(EXISTS "${CROSSGUID_INCLUDE_DIR}/guid.hpp")
+     list(APPEND CROSSGUID_DEFINITIONS -DHAVE_NEW_CROSSGUID)
+   endif()
+ 
diff --git a/multimedia/kodi/files/patch-cmake_modules_FindEGL.cmake b/multimedia/kodi/files/patch-cmake_modules_FindEGL.cmake
new file mode 100644
index 000000000000..6047f2f4c7e6
--- /dev/null
+++ b/multimedia/kodi/files/patch-cmake_modules_FindEGL.cmake
@@ -0,0 +1,15 @@
+--- cmake/modules/FindEGL.cmake.orig	2023-01-16 15:23:00 UTC
++++ cmake/modules/FindEGL.cmake
+@@ -36,11 +36,7 @@ if(EGL_FOUND)
+   set(EGL_LIBRARIES ${EGL_LIBRARY})
+   set(EGL_INCLUDE_DIRS ${EGL_INCLUDE_DIR})
+   set(EGL_DEFINITIONS -DHAS_EGL=1)
+-  include(CheckIncludeFiles)
+-  check_include_files("EGL/egl.h;EGL/eglext.h;EGL/eglext_angle.h" HAVE_EGLEXTANGLE)
+-  if(HAVE_EGLEXTANGLE)
+-    list(APPEND EGL_DEFINITIONS "-DHAVE_EGLEXTANGLE=1")
+-  endif()
++  list(APPEND EGL_DEFINITIONS "-DHAVE_EGLEXTANGLE=1")
+ 
+   if(NOT TARGET EGL::EGL)
+     add_library(EGL::EGL UNKNOWN IMPORTED)
diff --git a/multimedia/kodi/files/patch-cmake_modules_FindLibDvdCSS.cmake b/multimedia/kodi/files/patch-cmake_modules_FindLibDvdCSS.cmake
new file mode 100644
index 000000000000..450c48a9ed4d
--- /dev/null
+++ b/multimedia/kodi/files/patch-cmake_modules_FindLibDvdCSS.cmake
@@ -0,0 +1,11 @@
+--- cmake/modules/FindLibDvdCSS.cmake.orig	2022-08-18 23:36:30 UTC
++++ cmake/modules/FindLibDvdCSS.cmake
+@@ -63,7 +63,7 @@ if(ENABLE_DVDCSS)
+                    ${LIBDVD_ADDITIONAL_ARGS})
+   else()
+     find_program(AUTORECONF autoreconf REQUIRED)
+-    find_program(MAKE_EXECUTABLE make REQUIRED)
++    find_program(MAKE_EXECUTABLE gmake REQUIRED)
+ 
+     set(CONFIGURE_COMMAND ${AUTORECONF} -vif
+                   COMMAND ac_cv_path_GIT= ./configure
diff --git a/multimedia/kodi/files/patch-cmake_modules_FindLibDvdNav.cmake b/multimedia/kodi/files/patch-cmake_modules_FindLibDvdNav.cmake
new file mode 100644
index 000000000000..c8efbe69cbc6
--- /dev/null
+++ b/multimedia/kodi/files/patch-cmake_modules_FindLibDvdNav.cmake
@@ -0,0 +1,11 @@
+--- cmake/modules/FindLibDvdNav.cmake.orig	2022-08-18 23:36:26 UTC
++++ cmake/modules/FindLibDvdNav.cmake
+@@ -76,7 +76,7 @@ if(NOT TARGET LibDvdNav::LibDvdNav)
+     string(APPEND LIBDVDNAV_CFLAGS " -I$<TARGET_PROPERTY:LibDvdRead::LibDvdRead,INTERFACE_INCLUDE_DIRECTORIES> $<TARGET_PROPERTY:LibDvdRead::LibDvdRead,INTERFACE_COMPILE_DEFINITIONS>")
+ 
+     find_program(AUTORECONF autoreconf REQUIRED)
+-    find_program(MAKE_EXECUTABLE make REQUIRED)
++    find_program(MAKE_EXECUTABLE gmake REQUIRED)
+ 
+     set(CONFIGURE_COMMAND ${AUTORECONF} -vif
+                   COMMAND ac_cv_path_GIT= ./configure
diff --git a/multimedia/kodi/files/patch-cmake_modules_FindLibDvdRead.cmake b/multimedia/kodi/files/patch-cmake_modules_FindLibDvdRead.cmake
new file mode 100644
index 000000000000..44208f126053
--- /dev/null
+++ b/multimedia/kodi/files/patch-cmake_modules_FindLibDvdRead.cmake
@@ -0,0 +1,11 @@
+--- cmake/modules/FindLibDvdRead.cmake.orig	2022-08-18 23:36:34 UTC
++++ cmake/modules/FindLibDvdRead.cmake
+@@ -81,7 +81,7 @@ if(NOT TARGET LibDvdRead::LibDvdRead)
+     endif()
+ 
+     find_program(AUTORECONF autoreconf REQUIRED)
+-    find_program(MAKE_EXECUTABLE make REQUIRED)
++    find_program(MAKE_EXECUTABLE gmake REQUIRED)
+ 
+     set(CONFIGURE_COMMAND ${AUTORECONF} -vif
+                   COMMAND ac_cv_path_GIT= ./configure
diff --git a/multimedia/kodi/files/patch-cmake_scripts_freebsd_ArchSetup.cmake b/multimedia/kodi/files/patch-cmake_scripts_freebsd_ArchSetup.cmake
index 6d67864bef88..ea9243d5897c 100644
--- a/multimedia/kodi/files/patch-cmake_scripts_freebsd_ArchSetup.cmake
+++ b/multimedia/kodi/files/patch-cmake_scripts_freebsd_ArchSetup.cmake
@@ -1,6 +1,6 @@
---- cmake/scripts/freebsd/ArchSetup.cmake.orig	2021-01-15 12:42:30 UTC
+--- cmake/scripts/freebsd/ArchSetup.cmake.orig	2022-07-08 10:04:52 UTC
 +++ cmake/scripts/freebsd/ArchSetup.cmake
-@@ -20,6 +20,10 @@ else()
+@@ -23,6 +23,10 @@ else()
    elseif(CMAKE_SYSTEM_PROCESSOR STREQUAL aarch64)
      set(ARCH aarch64-freebsd)
      set(NEON True)
diff --git a/multimedia/kodi/files/patch-libfmt b/multimedia/kodi/files/patch-libfmt
deleted file mode 100644
index 5a9f248df936..000000000000
--- a/multimedia/kodi/files/patch-libfmt
+++ /dev/null
@@ -1,13 +0,0 @@
---- xbmc/utils/StringUtils.h.orig	2021-05-08 16:20:52 UTC
-+++ xbmc/utils/StringUtils.h
-@@ -37,6 +37,10 @@
- #include <fmt/printf.h>
- #endif
- 
-+#if FMT_VERSION >= 80000
-+#include <fmt/xchar.h>
-+#endif
-+
- #include "XBDateTime.h"
- #include "utils/params_check_macros.h"
- 
diff --git a/multimedia/kodi/files/patch-xbmc_cores_AudioEngine_Sinks_AESinkALSA.cpp b/multimedia/kodi/files/patch-xbmc_cores_AudioEngine_Sinks_AESinkALSA.cpp
new file mode 100644
index 000000000000..4dc4300bfee4
--- /dev/null
+++ b/multimedia/kodi/files/patch-xbmc_cores_AudioEngine_Sinks_AESinkALSA.cpp
@@ -0,0 +1,16 @@
+--- xbmc/cores/AudioEngine/Sinks/AESinkALSA.cpp.orig	2022-05-22 10:57:33 UTC
++++ xbmc/cores/AudioEngine/Sinks/AESinkALSA.cpp
+@@ -949,13 +949,6 @@ void CAESinkALSA::HandleError(const char* name, int er
+   {
+     case -EPIPE:
+       CLog::Log(LOGERROR, "CAESinkALSA::HandleError({}) - underrun", name);
+-      if ((err = snd_pcm_prepare(m_pcm)) < 0)
+-        CLog::Log(LOGERROR, "CAESinkALSA::HandleError({}) - snd_pcm_prepare returned {} ({})", name,
+-                  err, snd_strerror(err));
+-      break;
+-
+-    case -ESTRPIPE:
+-      CLog::Log(LOGINFO, "CAESinkALSA::HandleError({}) - Resuming after suspend", name);
+ 
+       /* try to resume the stream */
+       while((err = snd_pcm_resume(m_pcm)) == -EAGAIN)
diff --git a/multimedia/kodi/files/patch-xbmc_cores_AudioEngine_Utils_AEELDParser.cpp b/multimedia/kodi/files/patch-xbmc_cores_AudioEngine_Utils_AEELDParser.cpp
new file mode 100644
index 000000000000..05038e7087d1
--- /dev/null
+++ b/multimedia/kodi/files/patch-xbmc_cores_AudioEngine_Utils_AEELDParser.cpp
@@ -0,0 +1,11 @@
+--- xbmc/cores/AudioEngine/Utils/AEELDParser.cpp.orig	2022-05-22 11:38:07 UTC
++++ xbmc/cores/AudioEngine/Utils/AEELDParser.cpp
+@@ -72,7 +72,7 @@ typedef struct
+ #define CEA_861_FORMAT_WMAPRO    14
+ #define CEA_861_FORMAT_RESERVED2 15
+ 
+-#define rtrim(s) s.erase(std::find_if(s.rbegin(), s.rend(), std::not1(std::ptr_fun<int, int>(std::isspace))).base(), s.end())
++#define rtrim(s) s.erase(std::find_if(s.rbegin(), s.rend(), [](unsigned char c) { return !std::isspace(c); }).base(), s.end())
+ 
+ void CAEELDParser::Parse(const uint8_t *data, size_t length, CAEDeviceInfo& info)
+ {
diff --git a/multimedia/kodi/files/patch-xbmc_dbwrappers_mysqldataset.cpp b/multimedia/kodi/files/patch-xbmc_dbwrappers_mysqldataset.cpp
deleted file mode 100644
index 462b382cced0..000000000000
--- a/multimedia/kodi/files/patch-xbmc_dbwrappers_mysqldataset.cpp
+++ /dev/null
@@ -1,14 +0,0 @@
---- xbmc/dbwrappers/mysqldataset.cpp.orig	2021-01-18 00:42:21 UTC
-+++ xbmc/dbwrappers/mysqldataset.cpp
-@@ -18,10 +18,8 @@
- #include <iostream>
- #include <set>
- #include <string>
--#ifdef HAS_MYSQL
-+#if defined(HAS_MYSQL) || defined(HAS_MARIADB)
- #include <mysql/errmsg.h>
--#elif defined(HAS_MARIADB)
--#include <mariadb/errmsg.h>
- #endif
- 
- #ifdef TARGET_POSIX
diff --git a/multimedia/kodi/files/patch-xbmc_dbwrappers_mysqldataset.h b/multimedia/kodi/files/patch-xbmc_dbwrappers_mysqldataset.h
deleted file mode 100644
index a8e8cbef8062..000000000000
--- a/multimedia/kodi/files/patch-xbmc_dbwrappers_mysqldataset.h
+++ /dev/null
@@ -1,14 +0,0 @@
---- xbmc/dbwrappers/mysqldataset.h.orig	2020-10-04 17:37:02 UTC
-+++ xbmc/dbwrappers/mysqldataset.h
-@@ -10,10 +10,8 @@
- 
- #include <stdio.h>
- #include "dataset.h"
--#ifdef HAS_MYSQL
-+#if defined(HAS_MYSQL) || defined(HAS_MARIADB)
- #include <mysql/mysql.h>
--#elif defined(HAS_MARIADB)
--#include <mariadb/mysql.h>
- #endif
- 
- namespace dbiplus {
diff --git a/multimedia/kodi/files/patch-xbmc_platform_linux_peripherals_PeripheralBusUSBLibUSB.cpp b/multimedia/kodi/files/patch-xbmc_platform_linux_peripherals_PeripheralBusUSBLibUSB.cpp
new file mode 100644
index 000000000000..e28fc5a7e1d2
--- /dev/null
+++ b/multimedia/kodi/files/patch-xbmc_platform_linux_peripherals_PeripheralBusUSBLibUSB.cpp
@@ -0,0 +1,11 @@
+--- xbmc/platform/linux/peripherals/PeripheralBusUSBLibUSB.cpp.orig	2022-05-22 14:00:05 UTC
++++ xbmc/platform/linux/peripherals/PeripheralBusUSBLibUSB.cpp
+@@ -42,7 +42,7 @@ bool CPeripheralBusUSB::PerformDeviceScan(PeripheralSc
+                                  GetType(dev->config[0].interface[0].altsetting[0].bInterfaceClass) :
+                                  GetType(dev->descriptor.bDeviceClass);
+ #ifdef TARGET_FREEBSD
+-      result.m_strLocation = std::to_string(dev->filename);
++      result.m_strLocation = dev->filename;
+ #else
+       result.m_strLocation = StringUtils::Format("/bus{}/dev{}", bus->dirname, dev->filename);
+ #endif
diff --git a/multimedia/kodi/files/patch-xbmc_platform_linux_storage_UDisks2Provider.h b/multimedia/kodi/files/patch-xbmc_platform_linux_storage_UDisks2Provider.h
index b7cddf6e9e73..5c99282ac118 100644
--- a/multimedia/kodi/files/patch-xbmc_platform_linux_storage_UDisks2Provider.h
+++ b/multimedia/kodi/files/patch-xbmc_platform_linux_storage_UDisks2Provider.h
@@ -1,6 +1,6 @@
---- xbmc/platform/linux/storage/UDisks2Provider.h.orig	2020-07-16 09:15:42 UTC
+--- xbmc/platform/linux/storage/UDisks2Provider.h.orig	2022-07-08 10:04:52 UTC
 +++ xbmc/platform/linux/storage/UDisks2Provider.h
-@@ -40,7 +40,7 @@ class CUDisks2Provider : public IStorageProvider
+@@ -46,7 +46,7 @@ class CUDisks2Provider : public IStorageProvider
      std::string m_label;
      std::string m_device;
      bool m_isSystem = false;
diff --git a/multimedia/kodi/files/patch-xbmc_platform_posix_filesystem_SMBWSDiscoveryListener.cpp b/multimedia/kodi/files/patch-xbmc_platform_posix_filesystem_SMBWSDiscoveryListener.cpp
new file mode 100644
index 000000000000..81127dba644b
--- /dev/null
+++ b/multimedia/kodi/files/patch-xbmc_platform_posix_filesystem_SMBWSDiscoveryListener.cpp
@@ -0,0 +1,10 @@
+--- xbmc/platform/posix/filesystem/SMBWSDiscoveryListener.cpp.orig	2022-05-22 10:20:23 UTC
++++ xbmc/platform/posix/filesystem/SMBWSDiscoveryListener.cpp
+@@ -27,6 +27,7 @@
+ #include <arpa/inet.h>
+ #include <fmt/format.h>
+ #include <sys/select.h>
++#include <sys/socket.h>
+ #include <unistd.h>
+ 
+ using namespace WSDiscovery;
diff --git a/multimedia/kodi/files/patch-xbmc_utils_StringUtils.cpp b/multimedia/kodi/files/patch-xbmc_utils_StringUtils.cpp
new file mode 100644
index 000000000000..48614eccf725
--- /dev/null
+++ b/multimedia/kodi/files/patch-xbmc_utils_StringUtils.cpp
@@ -0,0 +1,11 @@
+--- xbmc/utils/StringUtils.cpp.orig	2022-05-22 09:59:08 UTC
++++ xbmc/utils/StringUtils.cpp
+@@ -17,7 +17,7 @@
+ //------------------------------------------------------------------------
+ 
+ #ifdef HAVE_NEW_CROSSGUID
+-#include <crossguid/guid.hpp>
++#include <guid.hpp>
+ #else
+ #include <guid.h>
+ #endif
diff --git a/multimedia/kodi/files/patch-xbmc_windowing_X11_GLContextEGL.h b/multimedia/kodi/files/patch-xbmc_windowing_X11_GLContextEGL.h
deleted file mode 100644
index ee0df4979024..000000000000
--- a/multimedia/kodi/files/patch-xbmc_windowing_X11_GLContextEGL.h
+++ /dev/null
@@ -1,11 +0,0 @@
---- xbmc/windowing/X11/GLContextEGL.h.orig	2022-03-02 18:38:51 UTC
-+++ xbmc/windowing/X11/GLContextEGL.h
-@@ -13,7 +13,7 @@
- #include "threads/CriticalSection.h"
- 
- #include <EGL/eglext.h>
--#include <EGL/eglextchromium.h>
-+#include <EGL/eglext_angle.h>
- #include <X11/Xutil.h>
- 
- class CGLContextEGL : public CGLContext
diff --git a/multimedia/kodi/pkg-message b/multimedia/kodi/pkg-message
index 47e2beb4c994..3cf73d07d67d 100644
--- a/multimedia/kodi/pkg-message
+++ b/multimedia/kodi/pkg-message
@@ -12,7 +12,7 @@ make config
 
 [ In the configuration menu, enable the libdvdcss option ]
 
-make deinstall reinstall
+make deinstall install
 
 EOM
 }
diff --git a/multimedia/kodi/pkg-plist b/multimedia/kodi/pkg-plist
index 7c21f4709036..df3e5660dd4b 100644
--- a/multimedia/kodi/pkg-plist
+++ b/multimedia/kodi/pkg-plist
@@ -1,6 +1,6 @@
 bin/JsonSchemaBuilder
-bin/TexturePacker
 bin/kodi
+bin/kodi-TexturePacker
 bin/kodi-standalone
 include/kodi/AddonBase.h
 include/kodi/AudioEngine.h
@@ -30,13 +30,14 @@ include/kodi/addon-instance/pvr/EDL.h
 include/kodi/addon-instance/pvr/EPG.h
 include/kodi/addon-instance/pvr/General.h
 include/kodi/addon-instance/pvr/MenuHook.h
+include/kodi/addon-instance/pvr/Providers.h
 include/kodi/addon-instance/pvr/Recordings.h
 include/kodi/addon-instance/pvr/Stream.h
 include/kodi/addon-instance/pvr/Timers.h
-include/kodi/c-api/addon-instance/audio_decoder.h
-include/kodi/c-api/addon-instance/audio_encoder.h
+include/kodi/c-api/addon-instance/audiodecoder.h
+include/kodi/c-api/addon-instance/audioencoder.h
 include/kodi/c-api/addon-instance/game.h
-include/kodi/c-api/addon-instance/image_decoder.h
+include/kodi/c-api/addon-instance/imagedecoder.h
 include/kodi/c-api/addon-instance/inputstream.h
 include/kodi/c-api/addon-instance/inputstream/demux_packet.h
 include/kodi/c-api/addon-instance/inputstream/stream_codec.h
@@ -52,6 +53,7 @@ include/kodi/c-api/addon-instance/pvr/pvr_edl.h
 include/kodi/c-api/addon-instance/pvr/pvr_epg.h
 include/kodi/c-api/addon-instance/pvr/pvr_general.h
 include/kodi/c-api/addon-instance/pvr/pvr_menu_hook.h
+include/kodi/c-api/addon-instance/pvr/pvr_providers.h
 include/kodi/c-api/addon-instance/pvr/pvr_recordings.h
 include/kodi/c-api/addon-instance/pvr/pvr_stream.h
 include/kodi/c-api/addon-instance/pvr/pvr_timers.h
@@ -151,11 +153,165 @@ share/icons/hicolor/48x48/apps/kodi.png
 share/icons/hicolor/64x64/apps/kodi.png
 %%DATADIR%%/addons/audioencoder.kodi.builtin.aac/addon.xml
 %%DATADIR%%/addons/audioencoder.kodi.builtin.aac/icon.png
+%%DATADIR%%/addons/audioencoder.kodi.builtin.aac/resources/language/resource.language.af_za/strings.po
+%%DATADIR%%/addons/audioencoder.kodi.builtin.aac/resources/language/resource.language.am_et/strings.po
+%%DATADIR%%/addons/audioencoder.kodi.builtin.aac/resources/language/resource.language.ar_sa/strings.po
+%%DATADIR%%/addons/audioencoder.kodi.builtin.aac/resources/language/resource.language.ast_es/strings.po
+%%DATADIR%%/addons/audioencoder.kodi.builtin.aac/resources/language/resource.language.az_az/strings.po
+%%DATADIR%%/addons/audioencoder.kodi.builtin.aac/resources/language/resource.language.be_by/strings.po
+%%DATADIR%%/addons/audioencoder.kodi.builtin.aac/resources/language/resource.language.bg_bg/strings.po
+%%DATADIR%%/addons/audioencoder.kodi.builtin.aac/resources/language/resource.language.bs_ba/strings.po
+%%DATADIR%%/addons/audioencoder.kodi.builtin.aac/resources/language/resource.language.ca_es/strings.po
+%%DATADIR%%/addons/audioencoder.kodi.builtin.aac/resources/language/resource.language.cs_cz/strings.po
+%%DATADIR%%/addons/audioencoder.kodi.builtin.aac/resources/language/resource.language.cy_gb/strings.po
+%%DATADIR%%/addons/audioencoder.kodi.builtin.aac/resources/language/resource.language.da_dk/strings.po
+%%DATADIR%%/addons/audioencoder.kodi.builtin.aac/resources/language/resource.language.de_de/strings.po
+%%DATADIR%%/addons/audioencoder.kodi.builtin.aac/resources/language/resource.language.el_gr/strings.po
+%%DATADIR%%/addons/audioencoder.kodi.builtin.aac/resources/language/resource.language.en_au/strings.po
 %%DATADIR%%/addons/audioencoder.kodi.builtin.aac/resources/language/resource.language.en_gb/strings.po
+%%DATADIR%%/addons/audioencoder.kodi.builtin.aac/resources/language/resource.language.en_nz/strings.po
+%%DATADIR%%/addons/audioencoder.kodi.builtin.aac/resources/language/resource.language.en_us/strings.po
+%%DATADIR%%/addons/audioencoder.kodi.builtin.aac/resources/language/resource.language.eo/strings.po
+%%DATADIR%%/addons/audioencoder.kodi.builtin.aac/resources/language/resource.language.es_ar/strings.po
+%%DATADIR%%/addons/audioencoder.kodi.builtin.aac/resources/language/resource.language.es_es/strings.po
+%%DATADIR%%/addons/audioencoder.kodi.builtin.aac/resources/language/resource.language.es_mx/strings.po
+%%DATADIR%%/addons/audioencoder.kodi.builtin.aac/resources/language/resource.language.et_ee/strings.po
+%%DATADIR%%/addons/audioencoder.kodi.builtin.aac/resources/language/resource.language.eu_es/strings.po
+%%DATADIR%%/addons/audioencoder.kodi.builtin.aac/resources/language/resource.language.fa_af/strings.po
+%%DATADIR%%/addons/audioencoder.kodi.builtin.aac/resources/language/resource.language.fa_ir/strings.po
+%%DATADIR%%/addons/audioencoder.kodi.builtin.aac/resources/language/resource.language.fi_fi/strings.po
+%%DATADIR%%/addons/audioencoder.kodi.builtin.aac/resources/language/resource.language.fo_fo/strings.po
+%%DATADIR%%/addons/audioencoder.kodi.builtin.aac/resources/language/resource.language.fr_ca/strings.po
+%%DATADIR%%/addons/audioencoder.kodi.builtin.aac/resources/language/resource.language.fr_fr/strings.po
+%%DATADIR%%/addons/audioencoder.kodi.builtin.aac/resources/language/resource.language.gl_es/strings.po
+%%DATADIR%%/addons/audioencoder.kodi.builtin.aac/resources/language/resource.language.he_il/strings.po
+%%DATADIR%%/addons/audioencoder.kodi.builtin.aac/resources/language/resource.language.hi_in/strings.po
+%%DATADIR%%/addons/audioencoder.kodi.builtin.aac/resources/language/resource.language.hr_hr/strings.po
+%%DATADIR%%/addons/audioencoder.kodi.builtin.aac/resources/language/resource.language.hu_hu/strings.po
+%%DATADIR%%/addons/audioencoder.kodi.builtin.aac/resources/language/resource.language.hy_am/strings.po
+%%DATADIR%%/addons/audioencoder.kodi.builtin.aac/resources/language/resource.language.id_id/strings.po
+%%DATADIR%%/addons/audioencoder.kodi.builtin.aac/resources/language/resource.language.is_is/strings.po
+%%DATADIR%%/addons/audioencoder.kodi.builtin.aac/resources/language/resource.language.it_it/strings.po
+%%DATADIR%%/addons/audioencoder.kodi.builtin.aac/resources/language/resource.language.ja_jp/strings.po
+%%DATADIR%%/addons/audioencoder.kodi.builtin.aac/resources/language/resource.language.kn_in/strings.po
+%%DATADIR%%/addons/audioencoder.kodi.builtin.aac/resources/language/resource.language.ko_kr/strings.po
+%%DATADIR%%/addons/audioencoder.kodi.builtin.aac/resources/language/resource.language.lt_lt/strings.po
+%%DATADIR%%/addons/audioencoder.kodi.builtin.aac/resources/language/resource.language.lv_lv/strings.po
+%%DATADIR%%/addons/audioencoder.kodi.builtin.aac/resources/language/resource.language.mi/strings.po
+%%DATADIR%%/addons/audioencoder.kodi.builtin.aac/resources/language/resource.language.mk_mk/strings.po
+%%DATADIR%%/addons/audioencoder.kodi.builtin.aac/resources/language/resource.language.ml_in/strings.po
+%%DATADIR%%/addons/audioencoder.kodi.builtin.aac/resources/language/resource.language.mn_mn/strings.po
+%%DATADIR%%/addons/audioencoder.kodi.builtin.aac/resources/language/resource.language.ms_my/strings.po
+%%DATADIR%%/addons/audioencoder.kodi.builtin.aac/resources/language/resource.language.mt_mt/strings.po
+%%DATADIR%%/addons/audioencoder.kodi.builtin.aac/resources/language/resource.language.my_mm/strings.po
+%%DATADIR%%/addons/audioencoder.kodi.builtin.aac/resources/language/resource.language.nb_no/strings.po
+%%DATADIR%%/addons/audioencoder.kodi.builtin.aac/resources/language/resource.language.nl_nl/strings.po
+%%DATADIR%%/addons/audioencoder.kodi.builtin.aac/resources/language/resource.language.oc_fr/strings.po
+%%DATADIR%%/addons/audioencoder.kodi.builtin.aac/resources/language/resource.language.os_os/strings.po
+%%DATADIR%%/addons/audioencoder.kodi.builtin.aac/resources/language/resource.language.pl_pl/strings.po
+%%DATADIR%%/addons/audioencoder.kodi.builtin.aac/resources/language/resource.language.pt_br/strings.po
+%%DATADIR%%/addons/audioencoder.kodi.builtin.aac/resources/language/resource.language.pt_pt/strings.po
+%%DATADIR%%/addons/audioencoder.kodi.builtin.aac/resources/language/resource.language.ro_ro/strings.po
+%%DATADIR%%/addons/audioencoder.kodi.builtin.aac/resources/language/resource.language.ru_ru/strings.po
+%%DATADIR%%/addons/audioencoder.kodi.builtin.aac/resources/language/resource.language.si_lk/strings.po
+%%DATADIR%%/addons/audioencoder.kodi.builtin.aac/resources/language/resource.language.sk_sk/strings.po
+%%DATADIR%%/addons/audioencoder.kodi.builtin.aac/resources/language/resource.language.sl_si/strings.po
+%%DATADIR%%/addons/audioencoder.kodi.builtin.aac/resources/language/resource.language.sq_al/strings.po
+%%DATADIR%%/addons/audioencoder.kodi.builtin.aac/resources/language/resource.language.sr_rs/strings.po
+%%DATADIR%%/addons/audioencoder.kodi.builtin.aac/resources/language/resource.language.sr_rs@latin/strings.po
+%%DATADIR%%/addons/audioencoder.kodi.builtin.aac/resources/language/resource.language.sv_se/strings.po
+%%DATADIR%%/addons/audioencoder.kodi.builtin.aac/resources/language/resource.language.szl/strings.po
+%%DATADIR%%/addons/audioencoder.kodi.builtin.aac/resources/language/resource.language.ta_in/strings.po
+%%DATADIR%%/addons/audioencoder.kodi.builtin.aac/resources/language/resource.language.te_in/strings.po
+%%DATADIR%%/addons/audioencoder.kodi.builtin.aac/resources/language/resource.language.tg_tj/strings.po
+%%DATADIR%%/addons/audioencoder.kodi.builtin.aac/resources/language/resource.language.th_th/strings.po
+%%DATADIR%%/addons/audioencoder.kodi.builtin.aac/resources/language/resource.language.tr_tr/strings.po
+%%DATADIR%%/addons/audioencoder.kodi.builtin.aac/resources/language/resource.language.uk_ua/strings.po
+%%DATADIR%%/addons/audioencoder.kodi.builtin.aac/resources/language/resource.language.uz_uz/strings.po
+%%DATADIR%%/addons/audioencoder.kodi.builtin.aac/resources/language/resource.language.vi_vn/strings.po
+%%DATADIR%%/addons/audioencoder.kodi.builtin.aac/resources/language/resource.language.zh_cn/strings.po
+%%DATADIR%%/addons/audioencoder.kodi.builtin.aac/resources/language/resource.language.zh_tw/strings.po
 %%DATADIR%%/addons/audioencoder.kodi.builtin.aac/resources/settings.xml
 %%DATADIR%%/addons/audioencoder.kodi.builtin.wma/addon.xml
 %%DATADIR%%/addons/audioencoder.kodi.builtin.wma/icon.png
+%%DATADIR%%/addons/audioencoder.kodi.builtin.wma/resources/language/resource.language.af_za/strings.po
+%%DATADIR%%/addons/audioencoder.kodi.builtin.wma/resources/language/resource.language.am_et/strings.po
+%%DATADIR%%/addons/audioencoder.kodi.builtin.wma/resources/language/resource.language.ar_sa/strings.po
+%%DATADIR%%/addons/audioencoder.kodi.builtin.wma/resources/language/resource.language.ast_es/strings.po
+%%DATADIR%%/addons/audioencoder.kodi.builtin.wma/resources/language/resource.language.az_az/strings.po
+%%DATADIR%%/addons/audioencoder.kodi.builtin.wma/resources/language/resource.language.be_by/strings.po
+%%DATADIR%%/addons/audioencoder.kodi.builtin.wma/resources/language/resource.language.bg_bg/strings.po
+%%DATADIR%%/addons/audioencoder.kodi.builtin.wma/resources/language/resource.language.bs_ba/strings.po
+%%DATADIR%%/addons/audioencoder.kodi.builtin.wma/resources/language/resource.language.ca_es/strings.po
+%%DATADIR%%/addons/audioencoder.kodi.builtin.wma/resources/language/resource.language.cs_cz/strings.po
+%%DATADIR%%/addons/audioencoder.kodi.builtin.wma/resources/language/resource.language.cy_gb/strings.po
+%%DATADIR%%/addons/audioencoder.kodi.builtin.wma/resources/language/resource.language.da_dk/strings.po
+%%DATADIR%%/addons/audioencoder.kodi.builtin.wma/resources/language/resource.language.de_de/strings.po
+%%DATADIR%%/addons/audioencoder.kodi.builtin.wma/resources/language/resource.language.el_gr/strings.po
+%%DATADIR%%/addons/audioencoder.kodi.builtin.wma/resources/language/resource.language.en_au/strings.po
 %%DATADIR%%/addons/audioencoder.kodi.builtin.wma/resources/language/resource.language.en_gb/strings.po
+%%DATADIR%%/addons/audioencoder.kodi.builtin.wma/resources/language/resource.language.en_nz/strings.po
+%%DATADIR%%/addons/audioencoder.kodi.builtin.wma/resources/language/resource.language.en_us/strings.po
+%%DATADIR%%/addons/audioencoder.kodi.builtin.wma/resources/language/resource.language.eo/strings.po
+%%DATADIR%%/addons/audioencoder.kodi.builtin.wma/resources/language/resource.language.es_ar/strings.po
+%%DATADIR%%/addons/audioencoder.kodi.builtin.wma/resources/language/resource.language.es_es/strings.po
+%%DATADIR%%/addons/audioencoder.kodi.builtin.wma/resources/language/resource.language.es_mx/strings.po
+%%DATADIR%%/addons/audioencoder.kodi.builtin.wma/resources/language/resource.language.et_ee/strings.po
+%%DATADIR%%/addons/audioencoder.kodi.builtin.wma/resources/language/resource.language.eu_es/strings.po
+%%DATADIR%%/addons/audioencoder.kodi.builtin.wma/resources/language/resource.language.fa_af/strings.po
+%%DATADIR%%/addons/audioencoder.kodi.builtin.wma/resources/language/resource.language.fa_ir/strings.po
+%%DATADIR%%/addons/audioencoder.kodi.builtin.wma/resources/language/resource.language.fi_fi/strings.po
+%%DATADIR%%/addons/audioencoder.kodi.builtin.wma/resources/language/resource.language.fo_fo/strings.po
+%%DATADIR%%/addons/audioencoder.kodi.builtin.wma/resources/language/resource.language.fr_ca/strings.po
+%%DATADIR%%/addons/audioencoder.kodi.builtin.wma/resources/language/resource.language.fr_fr/strings.po
+%%DATADIR%%/addons/audioencoder.kodi.builtin.wma/resources/language/resource.language.gl_es/strings.po
+%%DATADIR%%/addons/audioencoder.kodi.builtin.wma/resources/language/resource.language.he_il/strings.po
+%%DATADIR%%/addons/audioencoder.kodi.builtin.wma/resources/language/resource.language.hi_in/strings.po
+%%DATADIR%%/addons/audioencoder.kodi.builtin.wma/resources/language/resource.language.hr_hr/strings.po
+%%DATADIR%%/addons/audioencoder.kodi.builtin.wma/resources/language/resource.language.hu_hu/strings.po
+%%DATADIR%%/addons/audioencoder.kodi.builtin.wma/resources/language/resource.language.hy_am/strings.po
+%%DATADIR%%/addons/audioencoder.kodi.builtin.wma/resources/language/resource.language.id_id/strings.po
+%%DATADIR%%/addons/audioencoder.kodi.builtin.wma/resources/language/resource.language.is_is/strings.po
+%%DATADIR%%/addons/audioencoder.kodi.builtin.wma/resources/language/resource.language.it_it/strings.po
+%%DATADIR%%/addons/audioencoder.kodi.builtin.wma/resources/language/resource.language.ja_jp/strings.po
+%%DATADIR%%/addons/audioencoder.kodi.builtin.wma/resources/language/resource.language.kn_in/strings.po
+%%DATADIR%%/addons/audioencoder.kodi.builtin.wma/resources/language/resource.language.ko_kr/strings.po
+%%DATADIR%%/addons/audioencoder.kodi.builtin.wma/resources/language/resource.language.lt_lt/strings.po
+%%DATADIR%%/addons/audioencoder.kodi.builtin.wma/resources/language/resource.language.lv_lv/strings.po
+%%DATADIR%%/addons/audioencoder.kodi.builtin.wma/resources/language/resource.language.mi/strings.po
+%%DATADIR%%/addons/audioencoder.kodi.builtin.wma/resources/language/resource.language.mk_mk/strings.po
+%%DATADIR%%/addons/audioencoder.kodi.builtin.wma/resources/language/resource.language.ml_in/strings.po
+%%DATADIR%%/addons/audioencoder.kodi.builtin.wma/resources/language/resource.language.mn_mn/strings.po
+%%DATADIR%%/addons/audioencoder.kodi.builtin.wma/resources/language/resource.language.ms_my/strings.po
+%%DATADIR%%/addons/audioencoder.kodi.builtin.wma/resources/language/resource.language.mt_mt/strings.po
+%%DATADIR%%/addons/audioencoder.kodi.builtin.wma/resources/language/resource.language.my_mm/strings.po
+%%DATADIR%%/addons/audioencoder.kodi.builtin.wma/resources/language/resource.language.nb_no/strings.po
+%%DATADIR%%/addons/audioencoder.kodi.builtin.wma/resources/language/resource.language.nl_nl/strings.po
+%%DATADIR%%/addons/audioencoder.kodi.builtin.wma/resources/language/resource.language.oc_fr/strings.po
+%%DATADIR%%/addons/audioencoder.kodi.builtin.wma/resources/language/resource.language.os_os/strings.po
+%%DATADIR%%/addons/audioencoder.kodi.builtin.wma/resources/language/resource.language.pl_pl/strings.po
+%%DATADIR%%/addons/audioencoder.kodi.builtin.wma/resources/language/resource.language.pt_br/strings.po
+%%DATADIR%%/addons/audioencoder.kodi.builtin.wma/resources/language/resource.language.pt_pt/strings.po
+%%DATADIR%%/addons/audioencoder.kodi.builtin.wma/resources/language/resource.language.ro_ro/strings.po
+%%DATADIR%%/addons/audioencoder.kodi.builtin.wma/resources/language/resource.language.ru_ru/strings.po
+%%DATADIR%%/addons/audioencoder.kodi.builtin.wma/resources/language/resource.language.si_lk/strings.po
+%%DATADIR%%/addons/audioencoder.kodi.builtin.wma/resources/language/resource.language.sk_sk/strings.po
+%%DATADIR%%/addons/audioencoder.kodi.builtin.wma/resources/language/resource.language.sl_si/strings.po
+%%DATADIR%%/addons/audioencoder.kodi.builtin.wma/resources/language/resource.language.sq_al/strings.po
+%%DATADIR%%/addons/audioencoder.kodi.builtin.wma/resources/language/resource.language.sr_rs/strings.po
+%%DATADIR%%/addons/audioencoder.kodi.builtin.wma/resources/language/resource.language.sr_rs@latin/strings.po
+%%DATADIR%%/addons/audioencoder.kodi.builtin.wma/resources/language/resource.language.sv_se/strings.po
+%%DATADIR%%/addons/audioencoder.kodi.builtin.wma/resources/language/resource.language.szl/strings.po
+%%DATADIR%%/addons/audioencoder.kodi.builtin.wma/resources/language/resource.language.ta_in/strings.po
+%%DATADIR%%/addons/audioencoder.kodi.builtin.wma/resources/language/resource.language.te_in/strings.po
+%%DATADIR%%/addons/audioencoder.kodi.builtin.wma/resources/language/resource.language.tg_tj/strings.po
+%%DATADIR%%/addons/audioencoder.kodi.builtin.wma/resources/language/resource.language.th_th/strings.po
+%%DATADIR%%/addons/audioencoder.kodi.builtin.wma/resources/language/resource.language.tr_tr/strings.po
+%%DATADIR%%/addons/audioencoder.kodi.builtin.wma/resources/language/resource.language.uk_ua/strings.po
+%%DATADIR%%/addons/audioencoder.kodi.builtin.wma/resources/language/resource.language.uz_uz/strings.po
+%%DATADIR%%/addons/audioencoder.kodi.builtin.wma/resources/language/resource.language.vi_vn/strings.po
+%%DATADIR%%/addons/audioencoder.kodi.builtin.wma/resources/language/resource.language.zh_cn/strings.po
+%%DATADIR%%/addons/audioencoder.kodi.builtin.wma/resources/language/resource.language.zh_tw/strings.po
 %%DATADIR%%/addons/audioencoder.kodi.builtin.wma/resources/settings.xml
 %%DATADIR%%/addons/game.controller.default/addon.xml
 %%DATADIR%%/addons/game.controller.default/resources/icon.png
@@ -240,6 +396,170 @@ share/icons/hicolor/64x64/apps/kodi.png
 %%DATADIR%%/addons/game.controller.default/resources/language/resource.language.zh_tw/strings.po
 %%DATADIR%%/addons/game.controller.default/resources/layout.png
 %%DATADIR%%/addons/game.controller.default/resources/layout.xml
+%%DATADIR%%/addons/game.controller.keyboard/addon.xml
+%%DATADIR%%/addons/game.controller.keyboard/resources/icon.png
+%%DATADIR%%/addons/game.controller.keyboard/resources/language/resource.language.af_za/strings.po
+%%DATADIR%%/addons/game.controller.keyboard/resources/language/resource.language.am_et/strings.po
+%%DATADIR%%/addons/game.controller.keyboard/resources/language/resource.language.ar_sa/strings.po
+%%DATADIR%%/addons/game.controller.keyboard/resources/language/resource.language.ast_es/strings.po
+%%DATADIR%%/addons/game.controller.keyboard/resources/language/resource.language.az_az/strings.po
+%%DATADIR%%/addons/game.controller.keyboard/resources/language/resource.language.be_by/strings.po
+%%DATADIR%%/addons/game.controller.keyboard/resources/language/resource.language.bg_bg/strings.po
+%%DATADIR%%/addons/game.controller.keyboard/resources/language/resource.language.bs_ba/strings.po
+%%DATADIR%%/addons/game.controller.keyboard/resources/language/resource.language.ca_es/strings.po
+%%DATADIR%%/addons/game.controller.keyboard/resources/language/resource.language.cs_cz/strings.po
+%%DATADIR%%/addons/game.controller.keyboard/resources/language/resource.language.cy_gb/strings.po
+%%DATADIR%%/addons/game.controller.keyboard/resources/language/resource.language.da_dk/strings.po
+%%DATADIR%%/addons/game.controller.keyboard/resources/language/resource.language.de_de/strings.po
+%%DATADIR%%/addons/game.controller.keyboard/resources/language/resource.language.el_gr/strings.po
+%%DATADIR%%/addons/game.controller.keyboard/resources/language/resource.language.en_au/strings.po
+%%DATADIR%%/addons/game.controller.keyboard/resources/language/resource.language.en_gb/strings.po
+%%DATADIR%%/addons/game.controller.keyboard/resources/language/resource.language.en_nz/strings.po
+%%DATADIR%%/addons/game.controller.keyboard/resources/language/resource.language.en_us/strings.po
+%%DATADIR%%/addons/game.controller.keyboard/resources/language/resource.language.eo/strings.po
+%%DATADIR%%/addons/game.controller.keyboard/resources/language/resource.language.es_ar/strings.po
+%%DATADIR%%/addons/game.controller.keyboard/resources/language/resource.language.es_es/strings.po
+%%DATADIR%%/addons/game.controller.keyboard/resources/language/resource.language.es_mx/strings.po
+%%DATADIR%%/addons/game.controller.keyboard/resources/language/resource.language.et_ee/strings.po
+%%DATADIR%%/addons/game.controller.keyboard/resources/language/resource.language.eu_es/strings.po
+%%DATADIR%%/addons/game.controller.keyboard/resources/language/resource.language.fa_af/strings.po
+%%DATADIR%%/addons/game.controller.keyboard/resources/language/resource.language.fa_ir/strings.po
+%%DATADIR%%/addons/game.controller.keyboard/resources/language/resource.language.fi_fi/strings.po
+%%DATADIR%%/addons/game.controller.keyboard/resources/language/resource.language.fo_fo/strings.po
+%%DATADIR%%/addons/game.controller.keyboard/resources/language/resource.language.fr_ca/strings.po
+%%DATADIR%%/addons/game.controller.keyboard/resources/language/resource.language.fr_fr/strings.po
+%%DATADIR%%/addons/game.controller.keyboard/resources/language/resource.language.gl_es/strings.po
+%%DATADIR%%/addons/game.controller.keyboard/resources/language/resource.language.he_il/strings.po
+%%DATADIR%%/addons/game.controller.keyboard/resources/language/resource.language.hi_in/strings.po
+%%DATADIR%%/addons/game.controller.keyboard/resources/language/resource.language.hr_hr/strings.po
+%%DATADIR%%/addons/game.controller.keyboard/resources/language/resource.language.hu_hu/strings.po
+%%DATADIR%%/addons/game.controller.keyboard/resources/language/resource.language.hy_am/strings.po
+%%DATADIR%%/addons/game.controller.keyboard/resources/language/resource.language.id_id/strings.po
+%%DATADIR%%/addons/game.controller.keyboard/resources/language/resource.language.is_is/strings.po
+%%DATADIR%%/addons/game.controller.keyboard/resources/language/resource.language.it_it/strings.po
+%%DATADIR%%/addons/game.controller.keyboard/resources/language/resource.language.ja_jp/strings.po
+%%DATADIR%%/addons/game.controller.keyboard/resources/language/resource.language.kn_in/strings.po
+%%DATADIR%%/addons/game.controller.keyboard/resources/language/resource.language.ko_kr/strings.po
+%%DATADIR%%/addons/game.controller.keyboard/resources/language/resource.language.lt_lt/strings.po
+%%DATADIR%%/addons/game.controller.keyboard/resources/language/resource.language.lv_lv/strings.po
+%%DATADIR%%/addons/game.controller.keyboard/resources/language/resource.language.mi/strings.po
+%%DATADIR%%/addons/game.controller.keyboard/resources/language/resource.language.mk_mk/strings.po
+%%DATADIR%%/addons/game.controller.keyboard/resources/language/resource.language.ml_in/strings.po
+%%DATADIR%%/addons/game.controller.keyboard/resources/language/resource.language.mn_mn/strings.po
+%%DATADIR%%/addons/game.controller.keyboard/resources/language/resource.language.ms_my/strings.po
+%%DATADIR%%/addons/game.controller.keyboard/resources/language/resource.language.mt_mt/strings.po
+%%DATADIR%%/addons/game.controller.keyboard/resources/language/resource.language.my_mm/strings.po
+%%DATADIR%%/addons/game.controller.keyboard/resources/language/resource.language.nb_no/strings.po
+%%DATADIR%%/addons/game.controller.keyboard/resources/language/resource.language.nl_nl/strings.po
+%%DATADIR%%/addons/game.controller.keyboard/resources/language/resource.language.oc_fr/strings.po
+%%DATADIR%%/addons/game.controller.keyboard/resources/language/resource.language.os_os/strings.po
+%%DATADIR%%/addons/game.controller.keyboard/resources/language/resource.language.pl_pl/strings.po
+%%DATADIR%%/addons/game.controller.keyboard/resources/language/resource.language.pt_br/strings.po
+%%DATADIR%%/addons/game.controller.keyboard/resources/language/resource.language.pt_pt/strings.po
+%%DATADIR%%/addons/game.controller.keyboard/resources/language/resource.language.ro_ro/strings.po
+%%DATADIR%%/addons/game.controller.keyboard/resources/language/resource.language.ru_ru/strings.po
+%%DATADIR%%/addons/game.controller.keyboard/resources/language/resource.language.si_lk/strings.po
+%%DATADIR%%/addons/game.controller.keyboard/resources/language/resource.language.sk_sk/strings.po
+%%DATADIR%%/addons/game.controller.keyboard/resources/language/resource.language.sl_si/strings.po
+%%DATADIR%%/addons/game.controller.keyboard/resources/language/resource.language.sq_al/strings.po
+%%DATADIR%%/addons/game.controller.keyboard/resources/language/resource.language.sr_rs/strings.po
+%%DATADIR%%/addons/game.controller.keyboard/resources/language/resource.language.sr_rs@latin/strings.po
+%%DATADIR%%/addons/game.controller.keyboard/resources/language/resource.language.sv_se/strings.po
+%%DATADIR%%/addons/game.controller.keyboard/resources/language/resource.language.szl/strings.po
+%%DATADIR%%/addons/game.controller.keyboard/resources/language/resource.language.ta_in/strings.po
+%%DATADIR%%/addons/game.controller.keyboard/resources/language/resource.language.te_in/strings.po
+%%DATADIR%%/addons/game.controller.keyboard/resources/language/resource.language.tg_tj/strings.po
+%%DATADIR%%/addons/game.controller.keyboard/resources/language/resource.language.th_th/strings.po
+%%DATADIR%%/addons/game.controller.keyboard/resources/language/resource.language.tr_tr/strings.po
+%%DATADIR%%/addons/game.controller.keyboard/resources/language/resource.language.uk_ua/strings.po
+%%DATADIR%%/addons/game.controller.keyboard/resources/language/resource.language.uz_uz/strings.po
+%%DATADIR%%/addons/game.controller.keyboard/resources/language/resource.language.vi_vn/strings.po
+%%DATADIR%%/addons/game.controller.keyboard/resources/language/resource.language.zh_cn/strings.po
+%%DATADIR%%/addons/game.controller.keyboard/resources/language/resource.language.zh_tw/strings.po
+%%DATADIR%%/addons/game.controller.keyboard/resources/layout.png
+%%DATADIR%%/addons/game.controller.keyboard/resources/layout.xml
+%%DATADIR%%/addons/game.controller.mouse/addon.xml
+%%DATADIR%%/addons/game.controller.mouse/resources/icon.png
+%%DATADIR%%/addons/game.controller.mouse/resources/language/resource.language.af_za/strings.po
+%%DATADIR%%/addons/game.controller.mouse/resources/language/resource.language.am_et/strings.po
+%%DATADIR%%/addons/game.controller.mouse/resources/language/resource.language.ar_sa/strings.po
+%%DATADIR%%/addons/game.controller.mouse/resources/language/resource.language.ast_es/strings.po
+%%DATADIR%%/addons/game.controller.mouse/resources/language/resource.language.az_az/strings.po
+%%DATADIR%%/addons/game.controller.mouse/resources/language/resource.language.be_by/strings.po
+%%DATADIR%%/addons/game.controller.mouse/resources/language/resource.language.bg_bg/strings.po
+%%DATADIR%%/addons/game.controller.mouse/resources/language/resource.language.bs_ba/strings.po
+%%DATADIR%%/addons/game.controller.mouse/resources/language/resource.language.ca_es/strings.po
+%%DATADIR%%/addons/game.controller.mouse/resources/language/resource.language.cs_cz/strings.po
+%%DATADIR%%/addons/game.controller.mouse/resources/language/resource.language.cy_gb/strings.po
+%%DATADIR%%/addons/game.controller.mouse/resources/language/resource.language.da_dk/strings.po
+%%DATADIR%%/addons/game.controller.mouse/resources/language/resource.language.de_de/strings.po
+%%DATADIR%%/addons/game.controller.mouse/resources/language/resource.language.el_gr/strings.po
+%%DATADIR%%/addons/game.controller.mouse/resources/language/resource.language.en_au/strings.po
+%%DATADIR%%/addons/game.controller.mouse/resources/language/resource.language.en_gb/strings.po
+%%DATADIR%%/addons/game.controller.mouse/resources/language/resource.language.en_nz/strings.po
+%%DATADIR%%/addons/game.controller.mouse/resources/language/resource.language.en_us/strings.po
+%%DATADIR%%/addons/game.controller.mouse/resources/language/resource.language.eo/strings.po
+%%DATADIR%%/addons/game.controller.mouse/resources/language/resource.language.es_ar/strings.po
+%%DATADIR%%/addons/game.controller.mouse/resources/language/resource.language.es_es/strings.po
+%%DATADIR%%/addons/game.controller.mouse/resources/language/resource.language.es_mx/strings.po
+%%DATADIR%%/addons/game.controller.mouse/resources/language/resource.language.et_ee/strings.po
+%%DATADIR%%/addons/game.controller.mouse/resources/language/resource.language.eu_es/strings.po
+%%DATADIR%%/addons/game.controller.mouse/resources/language/resource.language.fa_af/strings.po
+%%DATADIR%%/addons/game.controller.mouse/resources/language/resource.language.fa_ir/strings.po
+%%DATADIR%%/addons/game.controller.mouse/resources/language/resource.language.fi_fi/strings.po
+%%DATADIR%%/addons/game.controller.mouse/resources/language/resource.language.fo_fo/strings.po
+%%DATADIR%%/addons/game.controller.mouse/resources/language/resource.language.fr_ca/strings.po
+%%DATADIR%%/addons/game.controller.mouse/resources/language/resource.language.fr_fr/strings.po
+%%DATADIR%%/addons/game.controller.mouse/resources/language/resource.language.gl_es/strings.po
+%%DATADIR%%/addons/game.controller.mouse/resources/language/resource.language.he_il/strings.po
+%%DATADIR%%/addons/game.controller.mouse/resources/language/resource.language.hi_in/strings.po
+%%DATADIR%%/addons/game.controller.mouse/resources/language/resource.language.hr_hr/strings.po
+%%DATADIR%%/addons/game.controller.mouse/resources/language/resource.language.hu_hu/strings.po
+%%DATADIR%%/addons/game.controller.mouse/resources/language/resource.language.hy_am/strings.po
+%%DATADIR%%/addons/game.controller.mouse/resources/language/resource.language.id_id/strings.po
+%%DATADIR%%/addons/game.controller.mouse/resources/language/resource.language.is_is/strings.po
+%%DATADIR%%/addons/game.controller.mouse/resources/language/resource.language.it_it/strings.po
+%%DATADIR%%/addons/game.controller.mouse/resources/language/resource.language.ja_jp/strings.po
+%%DATADIR%%/addons/game.controller.mouse/resources/language/resource.language.kn_in/strings.po
+%%DATADIR%%/addons/game.controller.mouse/resources/language/resource.language.ko_kr/strings.po
+%%DATADIR%%/addons/game.controller.mouse/resources/language/resource.language.lt_lt/strings.po
+%%DATADIR%%/addons/game.controller.mouse/resources/language/resource.language.lv_lv/strings.po
+%%DATADIR%%/addons/game.controller.mouse/resources/language/resource.language.mi/strings.po
+%%DATADIR%%/addons/game.controller.mouse/resources/language/resource.language.mk_mk/strings.po
+%%DATADIR%%/addons/game.controller.mouse/resources/language/resource.language.ml_in/strings.po
+%%DATADIR%%/addons/game.controller.mouse/resources/language/resource.language.mn_mn/strings.po
+%%DATADIR%%/addons/game.controller.mouse/resources/language/resource.language.ms_my/strings.po
+%%DATADIR%%/addons/game.controller.mouse/resources/language/resource.language.mt_mt/strings.po
+%%DATADIR%%/addons/game.controller.mouse/resources/language/resource.language.my_mm/strings.po
+%%DATADIR%%/addons/game.controller.mouse/resources/language/resource.language.nb_no/strings.po
+%%DATADIR%%/addons/game.controller.mouse/resources/language/resource.language.nl_nl/strings.po
+%%DATADIR%%/addons/game.controller.mouse/resources/language/resource.language.oc_fr/strings.po
+%%DATADIR%%/addons/game.controller.mouse/resources/language/resource.language.os_os/strings.po
+%%DATADIR%%/addons/game.controller.mouse/resources/language/resource.language.pl_pl/strings.po
+%%DATADIR%%/addons/game.controller.mouse/resources/language/resource.language.pt_br/strings.po
+%%DATADIR%%/addons/game.controller.mouse/resources/language/resource.language.pt_pt/strings.po
+%%DATADIR%%/addons/game.controller.mouse/resources/language/resource.language.ro_ro/strings.po
+%%DATADIR%%/addons/game.controller.mouse/resources/language/resource.language.ru_ru/strings.po
+%%DATADIR%%/addons/game.controller.mouse/resources/language/resource.language.si_lk/strings.po
+%%DATADIR%%/addons/game.controller.mouse/resources/language/resource.language.sk_sk/strings.po
+%%DATADIR%%/addons/game.controller.mouse/resources/language/resource.language.sl_si/strings.po
+%%DATADIR%%/addons/game.controller.mouse/resources/language/resource.language.sq_al/strings.po
+%%DATADIR%%/addons/game.controller.mouse/resources/language/resource.language.sr_rs/strings.po
+%%DATADIR%%/addons/game.controller.mouse/resources/language/resource.language.sr_rs@latin/strings.po
+%%DATADIR%%/addons/game.controller.mouse/resources/language/resource.language.sv_se/strings.po
+%%DATADIR%%/addons/game.controller.mouse/resources/language/resource.language.szl/strings.po
+%%DATADIR%%/addons/game.controller.mouse/resources/language/resource.language.ta_in/strings.po
+%%DATADIR%%/addons/game.controller.mouse/resources/language/resource.language.te_in/strings.po
+%%DATADIR%%/addons/game.controller.mouse/resources/language/resource.language.tg_tj/strings.po
+%%DATADIR%%/addons/game.controller.mouse/resources/language/resource.language.th_th/strings.po
+%%DATADIR%%/addons/game.controller.mouse/resources/language/resource.language.tr_tr/strings.po
+%%DATADIR%%/addons/game.controller.mouse/resources/language/resource.language.uk_ua/strings.po
+%%DATADIR%%/addons/game.controller.mouse/resources/language/resource.language.uz_uz/strings.po
+%%DATADIR%%/addons/game.controller.mouse/resources/language/resource.language.vi_vn/strings.po
+%%DATADIR%%/addons/game.controller.mouse/resources/language/resource.language.zh_cn/strings.po
+%%DATADIR%%/addons/game.controller.mouse/resources/language/resource.language.zh_tw/strings.po
+%%DATADIR%%/addons/game.controller.mouse/resources/layout.png
+%%DATADIR%%/addons/game.controller.mouse/resources/layout.xml
 %%DATADIR%%/addons/game.controller.snes/addon.xml
 %%DATADIR%%/addons/game.controller.snes/resources/icon.png
 %%DATADIR%%/addons/game.controller.snes/resources/language/resource.language.af_za/strings.po
@@ -472,19 +792,12 @@ share/icons/hicolor/64x64/apps/kodi.png
 %%DATADIR%%/addons/metadata.common.fanart.tv/addon.xml
 %%DATADIR%%/addons/metadata.common.fanart.tv/fanarttv.xml
 %%DATADIR%%/addons/metadata.common.fanart.tv/icon.png
-%%DATADIR%%/addons/metadata.common.imdb.com/addon.xml
-%%DATADIR%%/addons/metadata.common.imdb.com/changelog.txt
-%%DATADIR%%/addons/metadata.common.imdb.com/icon.png
-%%DATADIR%%/addons/metadata.common.imdb.com/imdb.xml
 %%DATADIR%%/addons/metadata.common.musicbrainz.org/addon.xml
 %%DATADIR%%/addons/metadata.common.musicbrainz.org/icon.png
 %%DATADIR%%/addons/metadata.common.musicbrainz.org/musicbrainz.xml
 %%DATADIR%%/addons/metadata.common.theaudiodb.com/addon.xml
 %%DATADIR%%/addons/metadata.common.theaudiodb.com/icon.png
 %%DATADIR%%/addons/metadata.common.theaudiodb.com/tadb.xml
-%%DATADIR%%/addons/metadata.common.themoviedb.org/addon.xml
-%%DATADIR%%/addons/metadata.common.themoviedb.org/icon.png
-%%DATADIR%%/addons/metadata.common.themoviedb.org/tmdb.xml
 %%DATADIR%%/addons/metadata.generic.albums/LICENSE.txt
 %%DATADIR%%/addons/metadata.generic.albums/addon.xml
 %%DATADIR%%/addons/metadata.generic.albums/changelog.txt
@@ -741,70 +1054,9 @@ share/icons/hicolor/64x64/apps/kodi.png
 %%DATADIR%%/addons/metadata.themoviedb.org.python/resources/language/resource.language.zh_cn/strings.po
 %%DATADIR%%/addons/metadata.themoviedb.org.python/resources/language/resource.language.zh_tw/strings.po
 %%DATADIR%%/addons/metadata.themoviedb.org.python/resources/settings.xml
-%%DATADIR%%/addons/metadata.themoviedb.org/addon.xml
-%%DATADIR%%/addons/metadata.themoviedb.org/changelog.txt
-%%DATADIR%%/addons/metadata.themoviedb.org/icon.png
-%%DATADIR%%/addons/metadata.themoviedb.org/resources/language/resource.language.af_za/strings.po
-%%DATADIR%%/addons/metadata.themoviedb.org/resources/language/resource.language.am_et/strings.po
-%%DATADIR%%/addons/metadata.themoviedb.org/resources/language/resource.language.be_by/strings.po
-%%DATADIR%%/addons/metadata.themoviedb.org/resources/language/resource.language.bg_bg/strings.po
-%%DATADIR%%/addons/metadata.themoviedb.org/resources/language/resource.language.ca_es/strings.po
-%%DATADIR%%/addons/metadata.themoviedb.org/resources/language/resource.language.cs_cz/strings.po
-%%DATADIR%%/addons/metadata.themoviedb.org/resources/language/resource.language.cy_gb/strings.po
-%%DATADIR%%/addons/metadata.themoviedb.org/resources/language/resource.language.da_dk/strings.po
-%%DATADIR%%/addons/metadata.themoviedb.org/resources/language/resource.language.de_de/strings.po
-%%DATADIR%%/addons/metadata.themoviedb.org/resources/language/resource.language.el_gr/strings.po
-%%DATADIR%%/addons/metadata.themoviedb.org/resources/language/resource.language.en_gb/strings.po
-%%DATADIR%%/addons/metadata.themoviedb.org/resources/language/resource.language.en_nz/strings.po
-%%DATADIR%%/addons/metadata.themoviedb.org/resources/language/resource.language.en_us/strings.po
-%%DATADIR%%/addons/metadata.themoviedb.org/resources/language/resource.language.es_ar/strings.po
-%%DATADIR%%/addons/metadata.themoviedb.org/resources/language/resource.language.es_es/strings.po
-%%DATADIR%%/addons/metadata.themoviedb.org/resources/language/resource.language.es_mx/strings.po
-%%DATADIR%%/addons/metadata.themoviedb.org/resources/language/resource.language.et_ee/strings.po
-%%DATADIR%%/addons/metadata.themoviedb.org/resources/language/resource.language.eu_es/strings.po
-%%DATADIR%%/addons/metadata.themoviedb.org/resources/language/resource.language.fi_fi/strings.po
-%%DATADIR%%/addons/metadata.themoviedb.org/resources/language/resource.language.fr_ca/strings.po
-%%DATADIR%%/addons/metadata.themoviedb.org/resources/language/resource.language.fr_fr/strings.po
-%%DATADIR%%/addons/metadata.themoviedb.org/resources/language/resource.language.gl_es/strings.po
-%%DATADIR%%/addons/metadata.themoviedb.org/resources/language/resource.language.he_il/strings.po
-%%DATADIR%%/addons/metadata.themoviedb.org/resources/language/resource.language.hi_in/strings.po
-%%DATADIR%%/addons/metadata.themoviedb.org/resources/language/resource.language.hr_hr/strings.po
-%%DATADIR%%/addons/metadata.themoviedb.org/resources/language/resource.language.hu_hu/strings.po
-%%DATADIR%%/addons/metadata.themoviedb.org/resources/language/resource.language.id_id/strings.po
-%%DATADIR%%/addons/metadata.themoviedb.org/resources/language/resource.language.is_is/strings.po
-%%DATADIR%%/addons/metadata.themoviedb.org/resources/language/resource.language.it_it/strings.po
-%%DATADIR%%/addons/metadata.themoviedb.org/resources/language/resource.language.ja_jp/strings.po
-%%DATADIR%%/addons/metadata.themoviedb.org/resources/language/resource.language.ko_kr/strings.po
-%%DATADIR%%/addons/metadata.themoviedb.org/resources/language/resource.language.lt_lt/strings.po
-%%DATADIR%%/addons/metadata.themoviedb.org/resources/language/resource.language.mk_mk/strings.po
-%%DATADIR%%/addons/metadata.themoviedb.org/resources/language/resource.language.ml_in/strings.po
-%%DATADIR%%/addons/metadata.themoviedb.org/resources/language/resource.language.ms_my/strings.po
-%%DATADIR%%/addons/metadata.themoviedb.org/resources/language/resource.language.my_mm/strings.po
-%%DATADIR%%/addons/metadata.themoviedb.org/resources/language/resource.language.nb_no/strings.po
-%%DATADIR%%/addons/metadata.themoviedb.org/resources/language/resource.language.nl_nl/strings.po
-%%DATADIR%%/addons/metadata.themoviedb.org/resources/language/resource.language.pl_pl/strings.po
-%%DATADIR%%/addons/metadata.themoviedb.org/resources/language/resource.language.pt_br/strings.po
-%%DATADIR%%/addons/metadata.themoviedb.org/resources/language/resource.language.pt_pt/strings.po
-%%DATADIR%%/addons/metadata.themoviedb.org/resources/language/resource.language.ro_ro/strings.po
-%%DATADIR%%/addons/metadata.themoviedb.org/resources/language/resource.language.ru_ru/strings.po
-%%DATADIR%%/addons/metadata.themoviedb.org/resources/language/resource.language.sk_sk/strings.po
-%%DATADIR%%/addons/metadata.themoviedb.org/resources/language/resource.language.sl_si/strings.po
-%%DATADIR%%/addons/metadata.themoviedb.org/resources/language/resource.language.sq_al/strings.po
-%%DATADIR%%/addons/metadata.themoviedb.org/resources/language/resource.language.sv_se/strings.po
-%%DATADIR%%/addons/metadata.themoviedb.org/resources/language/resource.language.ta_in/strings.po
-%%DATADIR%%/addons/metadata.themoviedb.org/resources/language/resource.language.th_th/strings.po
*** 155 LINES SKIPPED ***