diff mbox series

wlroots needs 'gbm' ['>=17.1.0']?

Message ID CAMNEDzV0_UCQ+vVMqHzo3WmNsLLL8GPufSsPVUnKRvt4V71NtQ@mail.gmail.com
State New
Headers show
Series wlroots needs 'gbm' ['>=17.1.0']? | expand

Commit Message

Ron Eggler Nov. 20, 2023, 1:35 a.m. UTC
Hi,

I would like to include wlroots in my build but it requires gbm >=17.1.0
which appears to be a problem, as seen on https://github.com/cran/gbm/tags
the release numbers are far below 17. The output I'm getting more
particularly looks like:
| Run-time dependency libdrm found: YES 2.4.101
| Dependency gbm found: NO found 1.0.0 but need: '>=17.1.0'
| Found CMake: NO
| Run-time dependency gbm found: NO
|
| meson.build:106:0: ERROR: Invalid version of dependency, need 'gbm'
['>=17.1.0'] found '1.0.0'.
|
| A full log can be found at
/home/yocto/rzv_vlp_v3.0.0/build/tmp/work/aarch64-poky-linux/wlroots/0.12.0-r0/build/meson-logs/meson-log.txt

| ERROR: meson failed
| WARNING: exit code 1 from a shell command.
| ERROR: Execution of
'/home/yocto/rzv_vlp_v3.0.0/build/tmp/work/aarch64-poky-linux/wlroots/0.12.0-r0/temp/run.do_configure.340360'
failed with exit code 1
ERROR: Task
(/home/yocto/rzv_vlp_v3.0.0/build/../meta-mistysom/recipes-display/wlroots/wlroots.bb:do_configure)
failed with exit code '1'

Where the wlroots.bb recipe looks like:

$ cat ../meta-mistysom/recipes-display/wlroots/wlroots.bb
SUMMARY = "Modules for building a Wayland compositor"
HOMEPAGE = "https://github.com/swaywm/wlroots"
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://LICENSE;md5=7578fad101710ea2d289ff5411f1b818"

DEPENDS = " \
   wayland-native \
   wayland \
   wayland-protocols \
   virtual/egl \
   virtual/libgles2 \
   libdrm \
   virtual/libgbm \
   libinput \
   libxkbcommon \
   udev \
   pixman \
"

inherit meson features_check

REQUIRED_DISTRO_FEATURES = "wayland opengl"

PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES','x11','xwayland
x11-backend','',d)}"
PACKAGECONFIG[xwayland] =
"-Dxwayland=enabled,-Dxwayland=disabled,xserver-xorg,xserver-xorg-xwayland"
PACKAGECONFIG[x11-backend] =
"-Dx11-backend=enabled,-Dx11-backend=disabled,xserver-xorg"

SRC_URI = " \
   git://github.com/swaywm/${BPN}.git \
   file://0001-Adjust-meson.build-to-meson-0.54.patch \
"
SRCREV = "238d1c078fb03338e9f271d98f7bf6b1fc399285"
PV = "0.12.0"
S = "${WORKDIR}/git"

and the meson patch:

$ cat
../meta-mistysom/recipes-display/wlroots/wlroots/0001-Adjust-meson.build-to-meson-0.54.patch

From df8a70b2db61a395bb424d4f4942434544e3ef43 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@gmail.com>
Date: Tue, 8 Dec 2020 01:57:15 +0100
Subject: [PATCH] Adjust meson.build to meson < 0.54
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

* meson.override_dependency is not required here. It requires meson >= 0.54
* we set min version to what dunfell ships

Upstream-Status: Inappropriate[Configuration]

Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
---
meson.build | 4 +---
1 file changed, 1 insertion(+), 3 deletions(-)

--
2.26.2

Can anyone help me out on how to resolve this conflict?

Comments

Gyorgy Sarvari Nov. 20, 2023, 11:27 a.m. UTC | #1
> 
> Can anyone help me out on how to resolve this conflict?
> 

meta-wayland[1] layer has a more up-to-date wlroots (the one in your 
recipe has been archived 2 years ago). The newer version doesn't seem to 
have this dependency (FWIW I build it out of the box without any 
problems in my pet-projects).

1: https://github.com/MarkusVolk/meta-wayland/
diff mbox series

Patch

diff --git a/meson.build b/meson.build
index 835e0195..b07760ab 100644
--- a/meson.build
+++ b/meson.build
@@ -3,7 +3,7 @@  project(
       'c',
       version: '0.12.0',
       license: 'MIT',
-       meson_version: '>=0.54.0',
+       meson_version: '>=0.53.2',
       default_options: [
               'c_std=c11',
               'warning_level=2',
@@ -172,8 +172,6 @@  wlroots = declare_dependency(
       include_directories: wlr_inc,
)

-meson.override_dependency('wlroots', wlroots)
-
summary({
       'systemd': conf_data.get('WLR_HAS_SYSTEMD', 0),
       'elogind': conf_data.get('WLR_HAS_ELOGIND', 0),