Buildroot Archive on lore.kernel.org
 help / color / mirror / Atom feed
* [Buildroot] [PATCH 1/2] package/libdecor: new package
@ 2023-07-16 14:50 Bernd Kuhls
  2023-07-16 14:50 ` [Buildroot] [PATCH 2/2] package/mesa3d-demos: add optional dependencies for wayland support Bernd Kuhls
                   ` (2 more replies)
  0 siblings, 3 replies; 6+ messages in thread
From: Bernd Kuhls @ 2023-07-16 14:50 UTC (permalink / raw)
  To: buildroot; +Cc: Eric Le Bihan, Spenser Gilliland

Needed for wayland support in mesa3d-demos.

Signed-off-by: Bernd Kuhls <bernd@kuhls.net>
---
 package/Config.in              |  1 +
 package/libdecor/Config.in     | 25 +++++++++++++++++++++++++
 package/libdecor/libdecor.hash |  3 +++
 package/libdecor/libdecor.mk   | 22 ++++++++++++++++++++++
 4 files changed, 51 insertions(+)
 create mode 100644 package/libdecor/Config.in
 create mode 100644 package/libdecor/libdecor.hash
 create mode 100644 package/libdecor/libdecor.mk

diff --git a/package/Config.in b/package/Config.in
index 57d3646566..1097d2deae 100644
--- a/package/Config.in
+++ b/package/Config.in
@@ -1600,6 +1600,7 @@ menu "Graphics"
 	source "package/leptonica/Config.in"
 	source "package/lesstif/Config.in"
 	source "package/libart/Config.in"
+	source "package/libdecor/Config.in"
 	source "package/libdmtx/Config.in"
 	source "package/libdri2/Config.in"
 	source "package/libdrm/Config.in"
diff --git a/package/libdecor/Config.in b/package/libdecor/Config.in
new file mode 100644
index 0000000000..782fe855b4
--- /dev/null
+++ b/package/libdecor/Config.in
@@ -0,0 +1,25 @@
+config BR2_PACKAGE_LIBDECOR
+	bool "libdecor"
+	depends on !BR2_STATIC_LIBS # wayland
+	depends on BR2_USE_MMU # pango
+	depends on BR2_USE_WCHAR # pango
+	depends on BR2_TOOLCHAIN_HAS_SYNC_4 # pango
+	depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 # pango
+	depends on BR2_INSTALL_LIBSTDCPP # pango
+	depends on BR2_TOOLCHAIN_HAS_THREADS # pango, wayland
+	select BR2_PACKAGE_CAIRO
+	select BR2_PACKAGE_PANGO
+	select BR2_PACKAGE_WAYLAND
+	select BR2_PACKAGE_WAYLAND_PROTOCOLS
+	help
+	  libdecor is a library that can help Wayland clients draw
+	  window decorations for them. It aims to provide multiple
+	  backends that implements the decoration drawing.
+
+	  https://gitlab.freedesktop.org/libdecor/libdecor
+
+comment "libdecor needs a toolchain w/ wchar, threads, C++, gcc >= 4.9"
+	depends on BR2_USE_MMU
+	depends on BR2_TOOLCHAIN_HAS_SYNC_4
+	depends on !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_HAS_THREADS || \
+		!BR2_USE_WCHAR || !BR2_TOOLCHAIN_GCC_AT_LEAST_4_9
diff --git a/package/libdecor/libdecor.hash b/package/libdecor/libdecor.hash
new file mode 100644
index 0000000000..9e51e90593
--- /dev/null
+++ b/package/libdecor/libdecor.hash
@@ -0,0 +1,3 @@
+# Locally calculated
+sha256  82adece5baeb6194292b0d1a91b4b3d10da41115f352a5e6c5844b20b88a0512  libdecor-0.1.1.tar.gz
+sha256  508a77d2e7b51d98adeed32648ad124b7b30241a8e70b2e72c99f92d8e5874d1  LICENSE
diff --git a/package/libdecor/libdecor.mk b/package/libdecor/libdecor.mk
new file mode 100644
index 0000000000..21505de785
--- /dev/null
+++ b/package/libdecor/libdecor.mk
@@ -0,0 +1,22 @@
+################################################################################
+#
+# libdecor
+#
+################################################################################
+
+LIBDECOR_VERSION = 0.1.1
+LIBDECOR_SITE = https://gitlab.freedesktop.org/libdecor/libdecor/-/archive/$(LIBDECOR_VERSION)
+LIBDECOR_LICENSE = MIT
+LIBDECOR_LICENSE_FILES = LICENSE
+LIBDECOR_INSTALL_STAGING = YES
+LIBDECOR_DEPENDENCIES = cairo dbus pango wayland wayland-protocols
+LIBDECOR_CONF_OPTS = -Ddemo=false
+
+ifeq ($(BR2_PACKAGE_DBUS),yx)
+LIBDECOR_CONF_OPTS += -Ddbus=enabled
+LIBDECOR_DEPENDENCIES += dbus
+else
+LIBDECOR_CONF_OPTS += -Ddbus=disabled
+endif
+
+$(eval $(meson-package))
-- 
2.39.2

_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

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

* [Buildroot] [PATCH 2/2] package/mesa3d-demos: add optional dependencies for wayland support
  2023-07-16 14:50 [Buildroot] [PATCH 1/2] package/libdecor: new package Bernd Kuhls
@ 2023-07-16 14:50 ` Bernd Kuhls
  2023-09-02 17:19   ` Thomas Petazzoni via buildroot
  2023-07-25  8:54 ` [Buildroot] [PATCH 1/2] package/libdecor: new package Sebastian WEYER
  2023-09-02 17:17 ` Thomas Petazzoni via buildroot
  2 siblings, 1 reply; 6+ messages in thread
From: Bernd Kuhls @ 2023-07-16 14:50 UTC (permalink / raw)
  To: buildroot; +Cc: Eric Le Bihan, Spenser Gilliland

libdecor cannot be selected due to a circular dependency:

package/wayland/Config.in:1:error: recursive dependency detected!
package/wayland/Config.in:1: symbol BR2_PACKAGE_WAYLAND is selected by BR2_PACKAGE_LIBDECOR
package/libdecor/Config.in:1: symbol BR2_PACKAGE_LIBDECOR is selected by BR2_PACKAGE_MESA3D_DEMOS
package/mesa3d-demos/Config.in:1: symbol BR2_PACKAGE_MESA3D_DEMOS is selected by BR2_PACKAGE_PIGLIT
package/piglit/Config.in:1: symbol BR2_PACKAGE_PIGLIT depends on BR2_PACKAGE_WAFFLE_SUPPORTS_WAYLAND
package/waffle/Config.in:7: symbol BR2_PACKAGE_WAFFLE_SUPPORTS_WAYLAND depends on BR2_PACKAGE_WAYLAND

Signed-off-by: Bernd Kuhls <bernd@kuhls.net>
---
 package/mesa3d-demos/Config.in       | 1 +
 package/mesa3d-demos/mesa3d-demos.mk | 4 ++--
 2 files changed, 3 insertions(+), 2 deletions(-)

diff --git a/package/mesa3d-demos/Config.in b/package/mesa3d-demos/Config.in
index 7848bb6faf..1761494c3a 100644
--- a/package/mesa3d-demos/Config.in
+++ b/package/mesa3d-demos/Config.in
@@ -7,6 +7,7 @@ config BR2_PACKAGE_MESA3D_DEMOS
 	select BR2_PACKAGE_LIBGLU if BR2_PACKAGE_XORG7 && BR2_PACKAGE_HAS_LIBGL
 	select BR2_PACKAGE_XLIB_LIBX11 if BR2_PACKAGE_XORG7 && BR2_PACKAGE_HAS_LIBGL
 	select BR2_PACKAGE_XLIB_LIBXEXT if BR2_PACKAGE_XORG7 && BR2_PACKAGE_HAS_LIBGL
+	select BR2_PACKAGE_LIBXKBCOMMON if BR2_PACKAGE_WAYLAND
 	help
 	  OpenGL demos from the Mesa 3D project.
 
diff --git a/package/mesa3d-demos/mesa3d-demos.mk b/package/mesa3d-demos/mesa3d-demos.mk
index 29cb00bb8a..8acba9270a 100644
--- a/package/mesa3d-demos/mesa3d-demos.mk
+++ b/package/mesa3d-demos/mesa3d-demos.mk
@@ -62,8 +62,8 @@ else
 MESA3D_DEMOS_CONF_OPTS += -Dosmesa=disabled
 endif
 
-ifeq ($(BR2_PACKAGE_WAYLAND),y)
-MESA3D_DEMOS_DEPENDENCIES += wayland
+ifeq ($(BR2_PACKAGE_LIBDECOR)$(BR2_PACKAGE_WAYLAND),yy)
+MESA3D_DEMOS_DEPENDENCIES += libdecor libxkbcommon wayland
 MESA3D_DEMOS_CONF_OPTS += -Dwayland=enabled
 else
 MESA3D_DEMOS_CONF_OPTS += -Dwayland=disabled
-- 
2.39.2

_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

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

* Re: [Buildroot] [PATCH 1/2] package/libdecor: new package
  2023-07-16 14:50 [Buildroot] [PATCH 1/2] package/libdecor: new package Bernd Kuhls
  2023-07-16 14:50 ` [Buildroot] [PATCH 2/2] package/mesa3d-demos: add optional dependencies for wayland support Bernd Kuhls
@ 2023-07-25  8:54 ` Sebastian WEYER
  2023-09-02 17:18   ` Thomas Petazzoni via buildroot
  2023-09-02 17:17 ` Thomas Petazzoni via buildroot
  2 siblings, 1 reply; 6+ messages in thread
From: Sebastian WEYER @ 2023-07-25  8:54 UTC (permalink / raw)
  To: Bernd Kuhls; +Cc: Eric Le Bihan, Spenser Gilliland, buildroot

Hello Bernd, hello all,


On Sun, Jul 16, 2023 at 4:50 PM Bernd Kuhls <bernd@kuhls.net> wrote:
>
> Needed for wayland support in mesa3d-demos.
>
> Signed-off-by: Bernd Kuhls <bernd@kuhls.net>

It seems like this dependency is only required for wayland support
with the mesa3d-demos upgrade to version 9.0.0 in commit
80304d9911f34f8a0173a4f37d52f93177478cc7.

Version 9.0.0 of mesa3d-demos also includes commit
ef24aae22978d4d357340074ca9a1c04d9cf81e6 which seems to have added a
dependency on glu for the demos which is not yet reflected in
Buildroot. Does this mean we have to have libglu and therefore xorg7
and glx as a fixed dependency for mesa3d-demos?

test/test/build/mesa3d-demos-9.0.0/src/demos/meson.build:82:14: ERROR:
Unknown variable "dep_glu".

This patch looks fine to me however, all dependencies specified in the
documentation are there and I successfully built the demos with
wayland support activated once I built libglu.

Reviewed-by: Sebastian Weyer <sebastian.weyer@smile.fr>
Tested-by: Sebastian Weyer <sebastian.weyer@smile.fr>

> ---
>  package/Config.in              |  1 +
>  package/libdecor/Config.in     | 25 +++++++++++++++++++++++++
>  package/libdecor/libdecor.hash |  3 +++
>  package/libdecor/libdecor.mk   | 22 ++++++++++++++++++++++
>  4 files changed, 51 insertions(+)
>  create mode 100644 package/libdecor/Config.in
>  create mode 100644 package/libdecor/libdecor.hash
>  create mode 100644 package/libdecor/libdecor.mk
>
> diff --git a/package/Config.in b/package/Config.in
> index 57d3646566..1097d2deae 100644
> --- a/package/Config.in
> +++ b/package/Config.in
> @@ -1600,6 +1600,7 @@ menu "Graphics"
>         source "package/leptonica/Config.in"
>         source "package/lesstif/Config.in"
>         source "package/libart/Config.in"
> +       source "package/libdecor/Config.in"
>         source "package/libdmtx/Config.in"
>         source "package/libdri2/Config.in"
>         source "package/libdrm/Config.in"
> diff --git a/package/libdecor/Config.in b/package/libdecor/Config.in
> new file mode 100644
> index 0000000000..782fe855b4
> --- /dev/null
> +++ b/package/libdecor/Config.in
> @@ -0,0 +1,25 @@
> +config BR2_PACKAGE_LIBDECOR
> +       bool "libdecor"
> +       depends on !BR2_STATIC_LIBS # wayland
> +       depends on BR2_USE_MMU # pango
> +       depends on BR2_USE_WCHAR # pango
> +       depends on BR2_TOOLCHAIN_HAS_SYNC_4 # pango
> +       depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 # pango
> +       depends on BR2_INSTALL_LIBSTDCPP # pango
> +       depends on BR2_TOOLCHAIN_HAS_THREADS # pango, wayland
> +       select BR2_PACKAGE_CAIRO
> +       select BR2_PACKAGE_PANGO
> +       select BR2_PACKAGE_WAYLAND
> +       select BR2_PACKAGE_WAYLAND_PROTOCOLS
> +       help
> +         libdecor is a library that can help Wayland clients draw
> +         window decorations for them. It aims to provide multiple
> +         backends that implements the decoration drawing.
> +
> +         https://gitlab.freedesktop.org/libdecor/libdecor
> +
> +comment "libdecor needs a toolchain w/ wchar, threads, C++, gcc >= 4.9"
> +       depends on BR2_USE_MMU
> +       depends on BR2_TOOLCHAIN_HAS_SYNC_4
> +       depends on !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_HAS_THREADS || \
> +               !BR2_USE_WCHAR || !BR2_TOOLCHAIN_GCC_AT_LEAST_4_9
> diff --git a/package/libdecor/libdecor.hash b/package/libdecor/libdecor.hash
> new file mode 100644
> index 0000000000..9e51e90593
> --- /dev/null
> +++ b/package/libdecor/libdecor.hash
> @@ -0,0 +1,3 @@
> +# Locally calculated
> +sha256  82adece5baeb6194292b0d1a91b4b3d10da41115f352a5e6c5844b20b88a0512  libdecor-0.1.1.tar.gz
> +sha256  508a77d2e7b51d98adeed32648ad124b7b30241a8e70b2e72c99f92d8e5874d1  LICENSE
> diff --git a/package/libdecor/libdecor.mk b/package/libdecor/libdecor.mk
> new file mode 100644
> index 0000000000..21505de785
> --- /dev/null
> +++ b/package/libdecor/libdecor.mk
> @@ -0,0 +1,22 @@
> +################################################################################
> +#
> +# libdecor
> +#
> +################################################################################
> +
> +LIBDECOR_VERSION = 0.1.1
> +LIBDECOR_SITE = https://gitlab.freedesktop.org/libdecor/libdecor/-/archive/$(LIBDECOR_VERSION)
> +LIBDECOR_LICENSE = MIT
> +LIBDECOR_LICENSE_FILES = LICENSE
> +LIBDECOR_INSTALL_STAGING = YES
> +LIBDECOR_DEPENDENCIES = cairo dbus pango wayland wayland-protocols
> +LIBDECOR_CONF_OPTS = -Ddemo=false
> +
> +ifeq ($(BR2_PACKAGE_DBUS),yx)
> +LIBDECOR_CONF_OPTS += -Ddbus=enabled
> +LIBDECOR_DEPENDENCIES += dbus
> +else
> +LIBDECOR_CONF_OPTS += -Ddbus=disabled
> +endif
> +
> +$(eval $(meson-package))
> --
> 2.39.2
>
> _______________________________________________
> buildroot mailing list
> buildroot@buildroot.org
> https://lists.buildroot.org/mailman/listinfo/buildroot

Best regards,
Sebastian

-- 
Pour la planète, n'imprimez ce mail que si c'est nécessaire


10-12 Rue Nicolas Appert
44100 NANTES

Sebastian WEYER
Stagiaire production

sebastian.weyer@smile.fr
http://www.smile.eu
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

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

* Re: [Buildroot] [PATCH 1/2] package/libdecor: new package
  2023-07-16 14:50 [Buildroot] [PATCH 1/2] package/libdecor: new package Bernd Kuhls
  2023-07-16 14:50 ` [Buildroot] [PATCH 2/2] package/mesa3d-demos: add optional dependencies for wayland support Bernd Kuhls
  2023-07-25  8:54 ` [Buildroot] [PATCH 1/2] package/libdecor: new package Sebastian WEYER
@ 2023-09-02 17:17 ` Thomas Petazzoni via buildroot
  2 siblings, 0 replies; 6+ messages in thread
From: Thomas Petazzoni via buildroot @ 2023-09-02 17:17 UTC (permalink / raw)
  To: Bernd Kuhls; +Cc: Eric Le Bihan, Spenser Gilliland, Sebastian WEYER, buildroot

Hello,

On Sun, 16 Jul 2023 16:50:02 +0200
Bernd Kuhls <bernd@kuhls.net> wrote:

> Needed for wayland support in mesa3d-demos.
> 
> Signed-off-by: Bernd Kuhls <bernd@kuhls.net>

I've applied after doing some changes/fixes, see below.

> ---
>  package/Config.in              |  1 +
>  package/libdecor/Config.in     | 25 +++++++++++++++++++++++++
>  package/libdecor/libdecor.hash |  3 +++
>  package/libdecor/libdecor.mk   | 22 ++++++++++++++++++++++
>  4 files changed, 51 insertions(+)
>  create mode 100644 package/libdecor/Config.in
>  create mode 100644 package/libdecor/libdecor.hash
>  create mode 100644 package/libdecor/libdecor.mk

Entry in DEVELOPERS file was missing.

> +LIBDECOR_VERSION = 0.1.1
> +LIBDECOR_SITE = https://gitlab.freedesktop.org/libdecor/libdecor/-/archive/$(LIBDECOR_VERSION)
> +LIBDECOR_LICENSE = MIT
> +LIBDECOR_LICENSE_FILES = LICENSE
> +LIBDECOR_INSTALL_STAGING = YES
> +LIBDECOR_DEPENDENCIES = cairo dbus pango wayland wayland-protocols

You're adding dbus as a mandatory dependency here, but it's not
selected in Config.in and it's actually an optional dependency.

> +LIBDECOR_CONF_OPTS = -Ddemo=false
> +
> +ifeq ($(BR2_PACKAGE_DBUS),yx)

This condition would never be true due to the typo "yx" instead of just "y".

I fixed both issues and applied to master, as this package is needed to
fix issues in master.

Best regards,

Thomas
-- 
Thomas Petazzoni, co-owner and CEO, Bootlin
Embedded Linux and Kernel engineering and training
https://bootlin.com
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

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

* Re: [Buildroot] [PATCH 1/2] package/libdecor: new package
  2023-07-25  8:54 ` [Buildroot] [PATCH 1/2] package/libdecor: new package Sebastian WEYER
@ 2023-09-02 17:18   ` Thomas Petazzoni via buildroot
  0 siblings, 0 replies; 6+ messages in thread
From: Thomas Petazzoni via buildroot @ 2023-09-02 17:18 UTC (permalink / raw)
  To: Sebastian WEYER; +Cc: Eric Le Bihan, Spenser Gilliland, Bernd Kuhls, buildroot

Hello Sebastian,

On Tue, 25 Jul 2023 10:54:34 +0200
Sebastian WEYER <sebastian.weyer@smile.fr> wrote:

> It seems like this dependency is only required for wayland support
> with the mesa3d-demos upgrade to version 9.0.0 in commit
> 80304d9911f34f8a0173a4f37d52f93177478cc7.
> 
> Version 9.0.0 of mesa3d-demos also includes commit
> ef24aae22978d4d357340074ca9a1c04d9cf81e6 which seems to have added a
> dependency on glu for the demos which is not yet reflected in
> Buildroot. Does this mean we have to have libglu and therefore xorg7
> and glx as a fixed dependency for mesa3d-demos?

I think this issue has been resolved by
https://gitlab.com/buildroot.org/buildroot/-/commit/39ae14faabb82703c2cee2ddf23e5925a0f0f251

Thanks!

Thomas
-- 
Thomas Petazzoni, co-owner and CEO, Bootlin
Embedded Linux and Kernel engineering and training
https://bootlin.com
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

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

* Re: [Buildroot] [PATCH 2/2] package/mesa3d-demos: add optional dependencies for wayland support
  2023-07-16 14:50 ` [Buildroot] [PATCH 2/2] package/mesa3d-demos: add optional dependencies for wayland support Bernd Kuhls
@ 2023-09-02 17:19   ` Thomas Petazzoni via buildroot
  0 siblings, 0 replies; 6+ messages in thread
From: Thomas Petazzoni via buildroot @ 2023-09-02 17:19 UTC (permalink / raw)
  To: Bernd Kuhls; +Cc: Eric Le Bihan, Spenser Gilliland, Yann E. MORIN, buildroot

Hello,

+Yann for kconfig sorcery.

On Sun, 16 Jul 2023 16:50:03 +0200
Bernd Kuhls <bernd@kuhls.net> wrote:

> libdecor cannot be selected due to a circular dependency:
> 
> package/wayland/Config.in:1:error: recursive dependency detected!
> package/wayland/Config.in:1: symbol BR2_PACKAGE_WAYLAND is selected by BR2_PACKAGE_LIBDECOR
> package/libdecor/Config.in:1: symbol BR2_PACKAGE_LIBDECOR is selected by BR2_PACKAGE_MESA3D_DEMOS
> package/mesa3d-demos/Config.in:1: symbol BR2_PACKAGE_MESA3D_DEMOS is selected by BR2_PACKAGE_PIGLIT
> package/piglit/Config.in:1: symbol BR2_PACKAGE_PIGLIT depends on BR2_PACKAGE_WAFFLE_SUPPORTS_WAYLAND
> package/waffle/Config.in:7: symbol BR2_PACKAGE_WAFFLE_SUPPORTS_WAYLAND depends on BR2_PACKAGE_WAYLAND
> 
> Signed-off-by: Bernd Kuhls <bernd@kuhls.net>
> ---
>  package/mesa3d-demos/Config.in       | 1 +
>  package/mesa3d-demos/mesa3d-demos.mk | 4 ++--
>  2 files changed, 3 insertions(+), 2 deletions(-)

I've split this into two commits: one for libxkbcommon, one for
libdecor, and added references to the autobuilder failures being fixed,
and applied to master.

It's a bit a pity that we can't select BR2_PACKAGE_LIBDECOR due to the
recursive dependency we have there reported by kconfig. To me, this
recursive dependency is bogus, but I'll let Yann comment :-)

Thanks!

Thomas
-- 
Thomas Petazzoni, CTO, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

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

end of thread, other threads:[~2023-09-02 17:19 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-07-16 14:50 [Buildroot] [PATCH 1/2] package/libdecor: new package Bernd Kuhls
2023-07-16 14:50 ` [Buildroot] [PATCH 2/2] package/mesa3d-demos: add optional dependencies for wayland support Bernd Kuhls
2023-09-02 17:19   ` Thomas Petazzoni via buildroot
2023-07-25  8:54 ` [Buildroot] [PATCH 1/2] package/libdecor: new package Sebastian WEYER
2023-09-02 17:18   ` Thomas Petazzoni via buildroot
2023-09-02 17:17 ` Thomas Petazzoni via buildroot

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox