All of lore.kernel.org
 help / color / mirror / Atom feed
* [Buildroot] [PATCH 1/1] package/pipewire: add missing dependencies/plugins
@ 2019-12-18 13:04 James Hilliard
  2019-12-18 22:37 ` Thomas Petazzoni
  0 siblings, 1 reply; 2+ messages in thread
From: James Hilliard @ 2019-12-18 13:04 UTC (permalink / raw)
  To: buildroot

Added missing required and optional dependencies.
Provide option to enable gstreamer plugin.

Fixes:
http://autobuild.buildroot.net/results/9671ad63b1ae147a6f660337cb4b3dc38209067c/build-end.log
http://autobuild.buildroot.net/results/0e80841fe9937d7a5142035c2a41158166bcf8df/build-end.log

Signed-off-by: James Hilliard <james.hilliard1@gmail.com>
---
 package/pipewire/Config.in   | 14 ++++++++++++++
 package/pipewire/pipewire.mk | 22 ++++++++++++++++++++--
 2 files changed, 34 insertions(+), 2 deletions(-)

diff --git a/package/pipewire/Config.in b/package/pipewire/Config.in
index ca23e6cff0..72d534d412 100644
--- a/package/pipewire/Config.in
+++ b/package/pipewire/Config.in
@@ -1,7 +1,9 @@
 menuconfig BR2_PACKAGE_PIPEWIRE
 	bool "pipewire"
+	depends on BR2_PACKAGE_HAS_UDEV # libudev
 	depends on BR2_TOOLCHAIN_HAS_THREADS # dbus
 	depends on BR2_USE_MMU # dbus
+	select BR2_PACKAGE_ALSA_LIB
 	select BR2_PACKAGE_DBUS
 	help
 	  PipeWire is a server and user space API to deal with
@@ -12,3 +14,15 @@ menuconfig BR2_PACKAGE_PIPEWIRE
 comment "pipewire needs a toolchain w/ threads"
 	depends on BR2_USE_MMU
 	depends on !BR2_TOOLCHAIN_HAS_THREADS
+
+menuconfig BR2_PACKAGE_PIPEWIRE_GSTREAMER
+	bool "pipewire gstreamer plugins"
+	depends on BR2_PACKAGE_PIPEWIRE
+	depends on BR2_USE_WCHAR # libglib2
+	depends on BR2_TOOLCHAIN_HAS_THREADS # libglib2
+	depends on BR2_USE_MMU # libglib2
+	select BR2_PACKAGE_LIBGLIB2
+	select BR2_PACKAGE_GSTREAMER1
+	select BR2_PACKAGE_GST1_PLUGINS_BASE
+	help
+	  Build GStreamer plugins
diff --git a/package/pipewire/pipewire.mk b/package/pipewire/pipewire.mk
index 7717095535..32e28d24e4 100644
--- a/package/pipewire/pipewire.mk
+++ b/package/pipewire/pipewire.mk
@@ -9,8 +9,26 @@ PIPEWIRE_SITE = $(call github,PipeWire,pipewire,$(PIPEWIRE_VERSION))
 PIPEWIRE_LICENSE = LGPL-2.1+
 PIPEWIRE_LICENSE_FILES = LICENSE LGPL
 PIPEWIRE_INSTALL_STAGING = YES
-PIPEWIRE_DEPENDENCIES = host-pkgconf dbus
-PIPEWIRE_CONF_OPTS = -Dgstreamer=disabled
+PIPEWIRE_DEPENDENCIES = host-pkgconf alsa-lib dbus udev
+
+ifeq ($(BR2_PACKAGE_FFMPEG),y)
+PIPEWIRE_DEPENDENCIES += ffmpeg
+endif
+
+ifeq ($(BR2_PACKAGE_SBC),y)
+PIPEWIRE_DEPENDENCIES += sbc
+endif
+
+ifeq ($(BR2_PACKAGE_SDL2),y)
+PIPEWIRE_DEPENDENCIES += sdl2
+endif
+
+ifeq ($(BR2_PACKAGE_PIPEWIRE_GSTREAMER),y)
+PIPEWIRE_CONF_OPTS += -Dgstreamer=enabled
+PIPEWIRE_DEPENDENCIES += libglib2 gst1-plugins-base
+else
+PIPEWIRE_CONF_OPTS += -Dgstreamer=disabled
+endif
 
 ifeq ($(BR2_PACKAGE_SYSTEMD),y)
 PIPEWIRE_CONF_OPTS += -Dsystemd=true
-- 
2.20.1

^ permalink raw reply related	[flat|nested] 2+ messages in thread

* [Buildroot] [PATCH 1/1] package/pipewire: add missing dependencies/plugins
  2019-12-18 13:04 [Buildroot] [PATCH 1/1] package/pipewire: add missing dependencies/plugins James Hilliard
@ 2019-12-18 22:37 ` Thomas Petazzoni
  0 siblings, 0 replies; 2+ messages in thread
From: Thomas Petazzoni @ 2019-12-18 22:37 UTC (permalink / raw)
  To: buildroot

Hello James,

For the patch, I've applied, but after doing a few changes. See below.

On Wed, 18 Dec 2019 06:04:59 -0700
James Hilliard <james.hilliard1@gmail.com> wrote:

> diff --git a/package/pipewire/Config.in b/package/pipewire/Config.in
> index ca23e6cff0..72d534d412 100644
> --- a/package/pipewire/Config.in
> +++ b/package/pipewire/Config.in
> @@ -1,7 +1,9 @@
>  menuconfig BR2_PACKAGE_PIPEWIRE

I pushed a separate patch that changes that menuconfig to a normal
config option, since we only use menuconfig for packages that really
have a lot of sub-options.

>  	bool "pipewire"
> +	depends on BR2_PACKAGE_HAS_UDEV # libudev
>  	depends on BR2_TOOLCHAIN_HAS_THREADS # dbus

This is now also needed because the alsa-lib select, so I've updated
the comment.

>  	depends on BR2_USE_MMU # dbus
> +	select BR2_PACKAGE_ALSA_LIB
>  	select BR2_PACKAGE_DBUS
>  	help
>  	  PipeWire is a server and user space API to deal with
> @@ -12,3 +14,15 @@ menuconfig BR2_PACKAGE_PIPEWIRE
>  comment "pipewire needs a toolchain w/ threads"
>  	depends on BR2_USE_MMU
>  	depends on !BR2_TOOLCHAIN_HAS_THREADS

This comment needs to be further down, otherwise kconfig is not smart
enough to "indent"  the sub-option about gstreamer to be "under" the
main pipewire option.

> +menuconfig BR2_PACKAGE_PIPEWIRE_GSTREAMER

Should have been a "config".

> +	bool "pipewire gstreamer plugins"
> +	depends on BR2_PACKAGE_PIPEWIRE

We prefer to enclose in an if ... endif block the sub-options of a
package.

> +	depends on BR2_USE_WCHAR # libglib2
> +	depends on BR2_TOOLCHAIN_HAS_THREADS # libglib2
> +	depends on BR2_USE_MMU # libglib2
> +	select BR2_PACKAGE_LIBGLIB2
> +	select BR2_PACKAGE_GSTREAMER1
> +	select BR2_PACKAGE_GST1_PLUGINS_BASE
> +	help
> +	  Build GStreamer plugins

The corresponding Config.in comment was missing.

> diff --git a/package/pipewire/pipewire.mk b/package/pipewire/pipewire.mk
> index 7717095535..32e28d24e4 100644
> --- a/package/pipewire/pipewire.mk
> +++ b/package/pipewire/pipewire.mk
> @@ -9,8 +9,26 @@ PIPEWIRE_SITE = $(call github,PipeWire,pipewire,$(PIPEWIRE_VERSION))
>  PIPEWIRE_LICENSE = LGPL-2.1+
>  PIPEWIRE_LICENSE_FILES = LICENSE LGPL
>  PIPEWIRE_INSTALL_STAGING = YES
> -PIPEWIRE_DEPENDENCIES = host-pkgconf dbus
> -PIPEWIRE_CONF_OPTS = -Dgstreamer=disabled
> +PIPEWIRE_DEPENDENCIES = host-pkgconf alsa-lib dbus udev
> +
> +ifeq ($(BR2_PACKAGE_FFMPEG),y)
> +PIPEWIRE_DEPENDENCIES += ffmpeg
> +endif
> +
> +ifeq ($(BR2_PACKAGE_SBC),y)
> +PIPEWIRE_DEPENDENCIES += sbc
> +endif
> +
> +ifeq ($(BR2_PACKAGE_SDL2),y)
> +PIPEWIRE_DEPENDENCIES += sdl2
> +endif
> +
> +ifeq ($(BR2_PACKAGE_PIPEWIRE_GSTREAMER),y)
> +PIPEWIRE_CONF_OPTS += -Dgstreamer=enabled
> +PIPEWIRE_DEPENDENCIES += libglib2 gst1-plugins-base

I've added gstreamer1 in this list of dependencies, to match the
selects done in the Config.in file, even though I agree that
technically speaking, gst1-plugins-base anyway depends on gstreamer1.

Applied with those changes. Thanks!

Thomas
-- 
Thomas Petazzoni, CTO, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2019-12-18 22:37 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2019-12-18 13:04 [Buildroot] [PATCH 1/1] package/pipewire: add missing dependencies/plugins James Hilliard
2019-12-18 22:37 ` Thomas Petazzoni

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.