package/kodi: fix selection of dependencies
authorYann E. MORIN <yann.morin.1998@free.fr>
Sat, 11 Sep 2021 08:20:47 +0000 (10:20 +0200)
committerYann E. MORIN <yann.morin.1998@free.fr>
Fri, 17 Sep 2021 21:27:47 +0000 (23:27 +0200)
Commit 148e695e3756 (package/kodi: bump version to 19.0-Matrix) extended
the set of required libraries for various "platform" backends, by
selecting those libraries from the blind options. For example, we have:

    config BR2_PACKAGE_KODI_PLATFORM_SUPPORTS_GBM
        bool
        default y
        depends on [...]
        select BR2_PACKAGE_LIBINPUT
        [...]

However, that option is true as soon as the requirements are met (the
depends on), even when Kodi itself is not enabled.

This means that extra libraries are pulled in to the build, even when
not required.

We fix that by moving the actual selects to the main symbol, along with
the proper conditions. This means that we have two lines that select
libxbcommon, under two different conditions; we could make that a single
select, but the codition would need to be on two lines anyway, so meh...

This is not an ideal solution, because it is a bit ugly, but:
 1) adding three new blind options just for the select is kinda extreme
    and superfluous;
 2) our Kodi packaging is already a bit ugly anyway.

Fixes: #14206
Reported-by: Thomas Ruschival <t.ruschival@gmail.com>
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
Cc: Bernd Kuhls <bernd.kuhls@t-online.de>
package/kodi/Config.in

index 074a457d1b3e70f8bddc199ecf6c5291ba6b207a..af7604428e53bd61cf16ab908586b3a45e87a046 100644 (file)
@@ -25,8 +25,6 @@ config BR2_PACKAGE_KODI_PLATFORM_SUPPORTS_GBM
        depends on BR2_PACKAGE_MESA3D_GBM
        depends on BR2_PACKAGE_HAS_UDEV # libinput
        select BR2_PACKAGE_KODI_PLATFORM_SUPPORTS
-       select BR2_PACKAGE_LIBINPUT
-       select BR2_PACKAGE_LIBXKBCOMMON
 
 config BR2_PACKAGE_KODI_PLATFORM_SUPPORTS_WAYLAND
        bool
@@ -38,8 +36,6 @@ config BR2_PACKAGE_KODI_PLATFORM_SUPPORTS_WAYLAND
        depends on BR2_INSTALL_LIBSTDCPP # waylandpp
        depends on BR2_PACKAGE_WAYLAND # waylandpp
        select BR2_PACKAGE_KODI_PLATFORM_SUPPORTS
-       select BR2_PACKAGE_LIBXKBCOMMON
-       select BR2_PACKAGE_WAYLANDPP
 
 config BR2_PACKAGE_KODI_PLATFORM_SUPPORTS_X11
        bool
@@ -47,7 +43,6 @@ config BR2_PACKAGE_KODI_PLATFORM_SUPPORTS_X11
        depends on BR2_PACKAGE_HAS_LIBGL || BR2_PACKAGE_HAS_LIBGLES
        depends on BR2_PACKAGE_XORG7
        select BR2_PACKAGE_KODI_PLATFORM_SUPPORTS
-       select BR2_PACKAGE_XLIB_LIBXRANDR
 
 comment "kodi needs an OpenGL EGL backend with OpenGL or GLES support"
        depends on !BR2_PACKAGE_KODI_PLATFORM_SUPPORTS
@@ -102,6 +97,11 @@ menuconfig BR2_PACKAGE_KODI
        select BR2_PACKAGE_TINYXML
        select BR2_PACKAGE_ZLIB
        select BR2_TOOLCHAIN_GLIBC_GCONV_LIBS_COPY if BR2_TOOLCHAIN_USES_GLIBC # runtime UTF conversion support
+       select BR2_PACKAGE_LIBINPUT if BR2_PACKAGE_KODI_PLATFORM_SUPPORTS_GBM
+       select BR2_PACKAGE_LIBXKBCOMMON if BR2_PACKAGE_KODI_PLATFORM_SUPPORTS_GBM
+       select BR2_PACKAGE_LIBXKBCOMMON if BR2_PACKAGE_KODI_PLATFORM_SUPPORTS_WAYLAND
+       select BR2_PACKAGE_WAYLANDPP if BR2_PACKAGE_KODI_PLATFORM_SUPPORTS_WAYLAND
+       select BR2_PACKAGE_XLIB_LIBXRANDR if BR2_PACKAGE_KODI_PLATFORM_SUPPORTS_X11
        help
          Kodi is an award-winning free and open source (GPL) software
          media player and entertainment hub for digital media.