[Buildroot] [PATCH v6 09/25] package/kodi: bump to version 18.4-Leia

Arnout Vandecappelle arnout at mind.be
Sat Sep 21 21:03:39 UTC 2019



On 21/09/2019 21:28, Bernd Kuhls wrote:
> Reworked raspberry pi handling, it is not treated as separate platform
> anymore.
> 
> Removed backported patches
> - 0003-cmake-iconv-is-a-required-dependency.patch
> - kodi-texturepacker/0002-fix-texture-packer-cmake-source-dir.patch
> 
> Rebased patches
> - 0001-kodi-config.cmake-use-CMAKE_FIND_ROOT_PATH-to-fix-cr.patch
> - 0002-CMake-Remove-dependency-on-gmp-and-libintl-from-Find.patch

 Is there no chance of upstreaming these?

> 
> Updated dependencies
> - fmt (upstream PR 11039)
> - yajl was replaced by RapidJSON (upstream PR 8008)
> - internal rar support was removed (upstream PR 11912)
>   CMake option ENABLE_NONFREE was also removed
> - internal sftp support was removed (upstream PR 12005)
> - host-zip was removed (upstream PR 12643)
> - bzip2 is not used anymore
> - CMake option ENABLE_OPENSSL was removed (upstream PR 13650)
> - lirc support is now provided by lirc-tools (upstream PR 13761)
> - IMX support was removed (upstream PR 12990)
> - ENABLE_X11 was renamed to -DCORE_PLATFORM_NAME=x11 (upstream PR 12134)
> 
> Signed-off-by: Bernd Kuhls <bernd.kuhls at t-online.de>
> ---
>  .../kodi-jsonschemabuilder.mk                 |   4 +-
>  ...-fix-texture-packer-cmake-source-dir.patch |  14 ++
>  .../0002-fix_reallocarray.patch               | 170 ------------------
>  .../kodi-texturepacker/kodi-texturepacker.mk  |   7 +-
>  ...e-use-CMAKE_FIND_ROOT_PATH-to-fix-cr.patch |   4 +-
>  ...endency-on-gmp-and-libintl-from-Find.patch |   4 +-
>  ...h => 0003-Fix-crosscompiling-issues.patch} |  29 ++-
>  ...cmake-iconv-is-a-required-dependency.patch |  92 ----------
>  .../kodi/0004-Fix-ffmpeg-build-for-mips.patch |  43 -----
>  package/kodi/Config.in                        |  26 +--
>  package/kodi/kodi.hash                        |  11 +-
>  package/kodi/kodi.mk                          |  79 ++++----
>  12 files changed, 79 insertions(+), 404 deletions(-)
>  create mode 100644 package/kodi-texturepacker/0002-fix-texture-packer-cmake-source-dir.patch
>  delete mode 100644 package/kodi-texturepacker/0002-fix_reallocarray.patch
>  rename package/kodi/{0005-Fix-crosscompiling-issues.patch => 0003-Fix-crosscompiling-issues.patch} (86%)
>  delete mode 100644 package/kodi/0003-cmake-iconv-is-a-required-dependency.patch
>  delete mode 100644 package/kodi/0004-Fix-ffmpeg-build-for-mips.patch

 Kodi and texturepacker are bumped in a single patch, but all the rest is bumped
separately. What is the reasoning behind that? I mean, do the old plugins still
work with the new kodi?

> 
> diff --git a/package/kodi-jsonschemabuilder/kodi-jsonschemabuilder.mk b/package/kodi-jsonschemabuilder/kodi-jsonschemabuilder.mk
> index fcf4888a9c..072875c4cc 100644
> --- a/package/kodi-jsonschemabuilder/kodi-jsonschemabuilder.mk
> +++ b/package/kodi-jsonschemabuilder/kodi-jsonschemabuilder.mk
> @@ -6,11 +6,11 @@
>  
>  # Not possible to directly refer to kodi variables, because of
>  # first/second expansion trickery...
> -KODI_JSONSCHEMABUILDER_VERSION = 17.6-Krypton
> +KODI_JSONSCHEMABUILDER_VERSION = 18.4-Leia
>  KODI_JSONSCHEMABUILDER_SITE = $(call github,xbmc,xbmc,$(KODI_JSONSCHEMABUILDER_VERSION))
>  KODI_JSONSCHEMABUILDER_SOURCE = kodi-$(KODI_JSONSCHEMABUILDER_VERSION).tar.gz
>  KODI_JSONSCHEMABUILDER_LICENSE = GPL-2.0
> -KODI_JSONSCHEMABUILDER_LICENSE_FILES = LICENSE.GPL
> +KODI_JSONSCHEMABUILDER_LICENSE_FILES = LICENSE.md
>  HOST_KODI_JSONSCHEMABUILDER_SUBDIR = tools/depends/native/JsonSchemaBuilder
>  
>  HOST_KODI_JSONSCHEMABUILDER_CONF_OPTS = \
> diff --git a/package/kodi-texturepacker/0002-fix-texture-packer-cmake-source-dir.patch b/package/kodi-texturepacker/0002-fix-texture-packer-cmake-source-dir.patch
> new file mode 100644
> index 0000000000..aed0a9d592
> --- /dev/null
> +++ b/package/kodi-texturepacker/0002-fix-texture-packer-cmake-source-dir.patch
> @@ -0,0 +1,14 @@
> +Downloaded from
> +https://github.com/LibreELEC/LibreELEC.tv/blob/master/packages/mediacenter/kodi/patches/kodi-100.25-hack-fix-texture-packer-cmake-source-dir.patch

 A slightly better commit message would help. Like, why is this needed?

> +
> +Signed-off-by: Bernd Kuhls <bernd.kuhls at t-online.de>
> +
> +diff -Naur a/tools/depends/native/TexturePacker/CMakeLists.txt b/tools/depends/native/TexturePacker/CMakeLists.txt
> +--- a/tools/depends/native/TexturePacker/CMakeLists.txt	2016-12-23 17:10:28.593185862 +0000
> ++++ b/tools/depends/native/TexturePacker/CMakeLists.txt	2016-12-23 17:10:39.469253011 +0000
> +@@ -1,3 +1,5 @@
> ++set(CMAKE_SOURCE_DIR ${CMAKE_SOURCE_DIR}/../../../..)
> ++
> + list(APPEND CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR}/cmake/modules)
> + 
> + if(APPLE)

[snip]

>  # taken from tools/depends/target/ffmpeg/FFMPEG-VERSION
> -KODI_FFMPEG_VERSION = 3.1.11-Krypton-17.5
> +KODI_FFMPEG_VERSION = 4.0.4-Leia-18.4
>  KODI_EXTRA_DOWNLOADS += \
>  	https://github.com/xbmc/FFmpeg/archive/$(KODI_FFMPEG_VERSION).tar.gz

 Not for this patch, but: it would be nice to use github helper here, and add a
filename.

 Actually, we might want to add a second github helper that does the full name, e.g.

github-full = $(call github,$(1),$(2),$(3))/$(4)-$(3).tar.gz

>  
> -KODI_LIBDVDCSS_VERSION = 2f12236
> -KODI_LIBDVDNAV_VERSION = 981488f
> -KODI_LIBDVDREAD_VERSION = 17d99db
> +# 1.4.2-Leia-Beta-5
> +KODI_LIBDVDCSS_VERSION = e646b950095589e74a2c08cf0c34b758c669aa75

 So, why not use the tag? Seems much more descriptive than a random commit...

> +# 6.0.0-Leia-Alpha-3
> +KODI_LIBDVDNAV_VERSION = 9277007ce2263b908e9ce3091cc31b3dd87c351c
> +# 6.0.0-Leia-Alpha-3
> +KODI_LIBDVDREAD_VERSION = bd6b329f0137ab6a9f779a28dd96f04713735e17
>  KODI_EXTRA_DOWNLOADS += \
>  	https://github.com/xbmc/libdvdcss/archive/$(KODI_LIBDVDCSS_VERSION).tar.gz \
>  	https://github.com/xbmc/libdvdnav/archive/$(KODI_LIBDVDNAV_VERSION).tar.gz \
>  	https://github.com/xbmc/libdvdread/archive/$(KODI_LIBDVDREAD_VERSION).tar.gz
>  
> +define KODI_CPLUFF_AUTOCONF
> +	cd $(KODI_SRCDIR)/lib/cpluff && ./autogen.sh

 Assuming this indeed does an autconf/automake, you should add the corresponding
dependencies. They are of course implied by a number of existing dependencies
that do an AUTORECONF, but it's better to be explicit here :-) Maybe even put
those dependencies here, rather than together with the rest of the dependencies,
to make it clear that it goes together with the autogen.

> +endef
> +KODI_PRE_CONFIGURE_HOOKS += KODI_CPLUFF_AUTOCONF
> +
>  KODI_CONF_OPTS += \
>  	-DCMAKE_C_FLAGS="$(TARGET_CFLAGS) $(KODI_C_FLAGS)" \
>  	-DCMAKE_CXX_FLAGS="$(TARGET_CXXFLAGS) $(KODI_CXX_FLAGS)" \
> +	-DENABLE_APP_AUTONAME=OFF \
>  	-DENABLE_CCACHE=OFF \
>  	-DENABLE_DVDCSS=ON \
>  	-DENABLE_INTERNAL_CROSSGUID=OFF \
>  	-DENABLE_INTERNAL_FFMPEG=ON \
> +	-DENABLE_INTERNAL_FLATBUFFERS=OFF \
>  	-DFFMPEG_URL=$(KODI_DL_DIR)/$(KODI_FFMPEG_VERSION).tar.gz \
>  	-DKODI_DEPENDSBUILD=OFF \
> -	-DENABLE_OPENSSL=ON \
> +	-DENABLE_LDGOLD=OFF \
>  	-DNATIVEPREFIX=$(HOST_DIR) \
>  	-DDEPENDS_PATH=$(STAGING_DIR)/usr \
> +	-DWITH_JSONSCHEMABUILDER=$(HOST_DIR)/bin/JsonSchemaBuilder \
>  	-DWITH_TEXTUREPACKER=$(HOST_DIR)/bin/TexturePacker \
>  	-DLIBDVDCSS_URL=$(KODI_DL_DIR)/$(KODI_LIBDVDCSS_VERSION).tar.gz \
>  	-DLIBDVDNAV_URL=$(KODI_DL_DIR)/$(KODI_LIBDVDNAV_VERSION).tar.gz \
> -	-DLIBDVDREAD_URL=$(KODI_DL_DIR)/$(KODI_LIBDVDREAD_VERSION).tar.gz \
> -	-DENABLE_IMX=OFF
> +	-DLIBDVDREAD_URL=$(KODI_DL_DIR)/$(KODI_LIBDVDREAD_VERSION).tar.gz
>  
>  ifeq ($(BR2_ENABLE_LOCALE),)
>  KODI_DEPENDENCIES += libiconv
> @@ -88,8 +100,7 @@ ifeq ($(BR2_PACKAGE_KODI_PLATFORM_RBPI),y)
>  ifeq ($(BR2_arm1176jzf_s)$(BR2_cortex_a7)$(BR2_cortex_a53),y)
>  KODI_CONF_OPTS += -DWITH_CPU="$(GCC_TARGET_CPU)"
>  endif
> -else
> -ifeq ($(BR2_arceb)$(BR2_arcle),y)
> +else ifeq ($(BR2_arceb)$(BR2_arcle),y)

 Unrelated change but OK.

>  KODI_CONF_OPTS += -DWITH_ARCH=arc -DWITH_CPU=arc
>  else ifeq ($(BR2_armeb),y)
>  KODI_CONF_OPTS += -DWITH_ARCH=arm -DWITH_CPU=arm
> @@ -108,7 +119,6 @@ else
>  # see project/cmake/scripts/linux/ArchSetup.cmake
>  KODI_CONF_OPTS += -DWITH_CPU=$(BR2_ARCH)
>  endif
> -endif
[snip]
> @@ -317,9 +300,7 @@ KODI_CONF_OPTS += -DENABLE_LCMS2=OFF
>  endif
>  
>  ifeq ($(BR2_PACKAGE_KODI_LIRC),y)
> -KODI_CONF_OPTS += -DENABLE_LIRC=ON
> -else
> -KODI_CONF_OPTS += -DENABLE_LIRC=OFF
> +KODI_DEPENDENCIES += lirc-tools

 Is there no longer an enable/disable for this? In that case, the condition
should change to BR2_PACKAGE_LIRC_TOOLS instead of BR2_PACKAGE_KODI_LIRC,
otherwise it still depends on random build order whether it's built with lirc
support or not if the option is not given.

 Regards,
 Arnout

>  endif
>  
>  ifeq ($(BR2_PACKAGE_KODI_LIBTHEORA),y)
> 



More information about the buildroot mailing list