From: Stuart Henderson Subject: Re: wayland/wlroots : introduce mod_wlroots To: Antoine Jacoutot Cc: Matthieu Herrb , ports@openbsd.org Date: Tue, 5 Aug 2025 11:27:38 +0100 On 2025/08/05 08:46, Antoine Jacoutot wrote: > On Tue, Aug 05, 2025 at 08:04:51AM +0200, Matthieu Herrb wrote: > > On Mon, Aug 04, 2025 at 12:16:28PM +0200, Antoine Jacoutot wrote: > > > On August 4, 2025 11:37:56 AM GMT+02:00, Matthieu Herrb wrote: > > > >On Mon, Aug 04, 2025 at 11:24:28AM +0200, Antoine Jacoutot wrote: > > > >> On Mon, Aug 04, 2025 at 10:55:10AM +0200, Matthieu Herrb wrote: > > > >> > Hi, > > > >> > > > > >> > Since wlroots upstreams has decided to include the library version > > > >> > number in its name, managing dependencies on wlroots over updates > > > >> > (and 0.19.0 is ready) has become a bit annoying. > > > >> > > > > >> > The diff below intruduces a wlroots module and uses it in the current > > > >> > ports depending on wlroots. > > > >> > > > > >> > Comments? Ok? > > > >> > > > >> I think you could simplify this by making it explicit in the module instead of > > > >> its consumers. > > > >> > > > >> + wayland/wlroots>=${MODWLR_VERSION_MAIN} > > > >> > > > >> Also that will not prevent having to bump all consumers when wlroots > > > >> is updated. > > > > > > > >Generally the consumers needs to be updated to catch up with wlroots > > > >API breakage anyways. But I'd like to simplify the work. > > > > > > Sure. But I still think managing LIB_DEPENDS in the module would simplify things. > > > And as a matter of fact we should do the same with WANTLIB. > > > > > > > New version, provinding automatic LIB_DEPENDS and WANTLIB handling: > > OK for me with 2 tweaks: > - it seems you don't need MODWLR_VERSION in SUBST_VARS +1, it's risky to add this to ports just using the MODULE, in case it accidentally matches their own version or a string in some filenamr and gets substituted by 'make plist'. I think it's probably only useful in wlroots/Makefile. > - it needs to be documented in port-modules(5). > > > Index: wlroots/Makefile > > =================================================================== > > RCS file: /local/cvs/ports/wayland/wlroots/Makefile,v > > diff -u -p -u -r1.11 Makefile > > --- wlroots/Makefile 16 Dec 2024 18:25:23 -0000 1.11 > > +++ wlroots/Makefile 5 Aug 2025 06:03:16 -0000 > > @@ -1,6 +1,7 @@ > > COMMENT = modular Wayland compositor library > > > > -V = 0.18.2 > > +V = ${MODWLR_VERSION} > > +REVISION = 0 > > EPOCH = 0 > > DISTNAME = wlroots-${V} > > CATEGORIES = wayland > > @@ -14,7 +15,7 @@ PERMIT_PACKAGE = Yes > > > > SHARED_LIBS += wlroots-0.18 0.0 # 0.0 > > > > -MODULES = devel/meson > > +MODULES = devel/meson wayland/wlroots > > > > WANTLIB += EGL GLESv2 drm gbm m pixman-1 > > WANTLIB += display-info lcms2 liftoff udev > > Index: wlroots/wlroots.port.mk > > =================================================================== > > RCS file: wlroots/wlroots.port.mk > > diff -N wlroots/wlroots.port.mk > > --- /dev/null 1 Jan 1970 00:00:00 -0000 > > +++ wlroots/wlroots.port.mk 5 Aug 2025 06:03:16 -0000 > > @@ -0,0 +1,9 @@ > > +MODWLR_VERSION_MAIN = 0.18 > > +MODWLR_VERSION_MINOR = 2 > > +MODWLR_VERSION = ${MODWLR_VERSION_MAIN}.${MODWLR_VERSION_MINOR} > > + > > +WANTLIB += wlroots-${MODWLR_VERSION_MAIN} I'd prefer a separate var, to make it simpler if somebody needs to use it in WANTLIB-foo in a port with subpackages etc. MODWLR_WANTLIB = wlroots-${MODWLR_VERSION_MAIN} WANTLIB += ${MODWLR_WANTLIB} btw $ grep 53 wlroots/pkg/DESCR that implement components common to many compo53sitors, such as the