Download raw body.
wayland/wlroots : introduce mod_wlroots
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 <matthieu@openbsd.org> 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
<symphytum:/usr/ports/wayland>$ grep 53 wlroots/pkg/DESCR that implement components common to many compo53sitors, such as the
wayland/wlroots : introduce mod_wlroots