diff mbox series

[1/1] package/rygel: gobject-introspection is mandatory

Message ID 20211221105848.8586-1-fontaine.fabrice@gmail.com
State Superseded
Headers show
Series [1/1] package/rygel: gobject-introspection is mandatory | expand

Commit Message

Fabrice Fontaine Dec. 21, 2021, 10:58 a.m. UTC
vapi (and gobject-introspection) is mandatory since bump to version
0.40.2 in commit 6acdbb81c8d6cdd3ecb476ae24e72fd4547011c3:

valac -C --pkg posix --pkg libxml-2.0 --pkg gmodule-2.0 --pkg gio-2.0 --pkg gssdp-1.2 --pkg gee-0.8 --pkg gupnp-1.2 --target-glib ' 2.56' --pkg glib-2.0 --color=always --directory src/librygel-core/librygel-core-2.6.so.2.0.4.p --basedir ../src/librygel-core --library rygel-core-2.6 --header src/librygel-core/rygel-core.h --vapi ../rygel-core-2.6.vapi --gir ../Rygel-2.6.gir ../src/librygel-core/rygel-build-config.vapi ../src/librygel-core/rygel-connection-manager.vala ../src/librygel-core/rygel-basic-management.vala ../src/librygel-core/rygel-basic-management-test.vala ../src/librygel-core/rygel-basic-management-test-ping.vala ../src/librygel-core/rygel-basic-management-test-nslookup.vala ../src/librygel-core/rygel-basic-management-test-traceroute.vala ../src/librygel-core/rygel-description-file.vala ../src/librygel-core/rygel-dlna-profile.vala ../src/librygel-core/rygel-energy-management.vala ../src/librygel-core/rygel-root-device.vala ../src/librygel-core/rygel-root-device-factory.v
 ala ../src/librygel-core/rygel-dbus-interface.vala ../src/librygel-core/rygel-log-handler.vala ../src/librygel-core/rygel-meta-config.vala ../src/librygel-core/rygel-plugin-loader.vala ../src/librygel-core/rygel-recursive-module-loader.vala ../src/librygel-core/rygel-plugin.vala ../src/librygel-core/rygel-resource-info.vala ../src/librygel-core/rygel-media-device.vala ../src/librygel-core/rygel-configuration.vala ../src/librygel-core/rygel-base-configuration.vala ../src/librygel-core/rygel-cmdline-config.vala ../src/librygel-core/rygel-environment-config.vala ../src/librygel-core/rygel-user-config.vala ../src/librygel-core/rygel-state-machine.vala ../src/librygel-core/rygel-v1-hacks.vala ../src/librygel-core/rygel-icon-info.vala ../src/librygel-core/rygel-xml-utils.vala ../src/librygel-core/rygel-plugin-information.vala
error: Package `gssdp-1.2' not found in specified Vala API directories or GObject-Introspection GIR directories
error: Package `gupnp-1.2' not found in specified Vala API directories or GObject-Introspection GIR directories

Add a dependency on !BR2_PACKAGE_PYTHON instead of BR2_PACKAGE_PYTHON3
to avoid the following recursive dependency:

package/gstreamer1/gstreamer1/Config.in:5:error: recursive dependency detected!
package/gstreamer1/gstreamer1/Config.in:5:	symbol BR2_PACKAGE_GSTREAMER1 is selected by BR2_PACKAGE_RYGEL_MEDIA_ENGINE_GSTREAMER1
package/rygel/Config.in:46:	symbol BR2_PACKAGE_RYGEL_MEDIA_ENGINE_GSTREAMER1 is part of choice <choice>
package/rygel/Config.in:39:	choice <choice> contains symbol <choice>
package/rygel/Config.in:39:	choice <choice> contains symbol BR2_PACKAGE_RYGEL
package/rygel/Config.in:1:	symbol BR2_PACKAGE_RYGEL depends on BR2_PACKAGE_PYTHON3
package/python3/Config.in:5:	symbol BR2_PACKAGE_PYTHON3 is selected by BR2_PACKAGE_JACK2_DBUS
package/jack2/Config.in:35:	symbol BR2_PACKAGE_JACK2_DBUS depends on BR2_PACKAGE_JACK2
package/jack2/Config.in:1:	symbol BR2_PACKAGE_JACK2 is selected by BR2_PACKAGE_FLUIDSYNTH_JACK2
package/fluidsynth/Config.in:37:	symbol BR2_PACKAGE_FLUIDSYNTH_JACK2 depends on BR2_PACKAGE_FLUIDSYNTH
package/fluidsynth/Config.in:1:	symbol BR2_PACKAGE_FLUIDSYNTH is selected by BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_FLUIDSYNTH
package/gstreamer1/gst1-plugins-bad/Config.in:425:	symbol BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_FLUIDSYNTH depends on BR2_PACKAGE_GSTREAMER1

Fixes:
 - http://autobuild.buildroot.org/results/027ce84895fab6fb251dd37cd5cfb7169287a2de

Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
---
 package/rygel/Config.in | 16 +++++++++++++---
 package/rygel/rygel.mk  |  9 ++-------
 2 files changed, 15 insertions(+), 10 deletions(-)
diff mbox series

Patch

diff --git a/package/rygel/Config.in b/package/rygel/Config.in
index df48918833..04871e00b1 100644
--- a/package/rygel/Config.in
+++ b/package/rygel/Config.in
@@ -2,8 +2,14 @@  config BR2_PACKAGE_RYGEL
 	bool "rygel"
 	depends on BR2_USE_WCHAR # gupnp-av
 	depends on BR2_TOOLCHAIN_HAS_THREADS # gupnp-av
-	depends on BR2_USE_MMU # gupnp-av
+	depends on BR2_USE_MMU # gupnp-av, gobject-introspection
+	depends on BR2_PACKAGE_GOBJECT_INTROSPECTION_ARCH_SUPPORTS # gobject-introspection
+	depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 # gobject-introspection
+	depends on BR2_HOST_GCC_AT_LEAST_8 # gobject-introspection -> host-qemu
+	depends on BR2_TOOLCHAIN_USES_GLIBC # gobject-introspection
+	depends on !BR2_PACKAGE_PYTHON # gobject-introspection
 	select BR2_PACKAGE_GDK_PIXBUF
+	select BR2_PACKAGE_GOBJECT_INTROSPECTION
 	select BR2_PACKAGE_GUPNP_AV
 	select BR2_PACKAGE_GUPNP_DLNA
 	select BR2_PACKAGE_LIBGEE
@@ -45,8 +51,12 @@  config BR2_PACKAGE_RYGEL_MEDIA_ENGINE_GSTREAMER1
 
 endchoice
 
-comment "rygel needs a toolchain w/ wchar, threads"
+comment "rygel needs a glibc toolchain w/ wchar, threads, gcc >= 4.9, host gcc >= 8"
 	depends on BR2_USE_MMU
-	depends on !BR2_USE_WCHAR || !BR2_TOOLCHAIN_HAS_THREADS
+	depends on BR2_PACKAGE_GOBJECT_INTROSPECTION_ARCH_SUPPORTS
+	depends on !BR2_USE_WCHAR || !BR2_TOOLCHAIN_HAS_THREADS || \
+		!BR2_TOOLCHAIN_USES_GLIBC || \
+		!BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 || \
+		!BR2_HOST_GCC_AT_LEAST_8
 
 endif # BR2_PACKAGE_RYGEL
diff --git a/package/rygel/rygel.mk b/package/rygel/rygel.mk
index c541cdc0ed..bfcd5df3c6 100644
--- a/package/rygel/rygel.mk
+++ b/package/rygel/rygel.mk
@@ -12,6 +12,7 @@  RYGEL_LICENSE = LGPL-2.1+, CC-BY-SA-3.0 (logo)
 RYGEL_LICENSE_FILES = COPYING COPYING.logo
 RYGEL_DEPENDENCIES = \
 	gdk-pixbuf \
+	gobject-introspection \
 	gupnp-av \
 	gupnp-dlna \
 	libgee \
@@ -24,16 +25,10 @@  RYGEL_CONF_ENV = LIBS=$(TARGET_NLS_LIBS)
 RYGEL_CONF_OPTS += \
 	-Dapi-docs=false \
 	-Dexamples=false \
+	-Dintrospection=enabled \
 	-Dtests=false
 RYGEL_PLUGINS = external,lms,mpris,ruih
 
-ifeq ($(BR2_PACKAGE_GOBJECT_INTROSPECTION),y)
-RYGEL_CONF_OPTS += -Dintrospection=enabled
-RYGEL_DEPENDENCIES += gobject-introspection
-else
-RYGEL_CONF_OPTS += -Dintrospection=disabled
-endif
-
 ifeq ($(BR2_PACKAGE_RYGEL_MEDIA_ENGINE_GSTREAMER1),y)
 RYGEL_CONF_OPTS += \
 	-Dengines=gstreamer \