Let me first remind people that STEM-* is the default for all dependencies,
and has been for a few years now:

Stuff like
RUN_DEPENDS = :desktop-file-utils-*:devel/desktop-file-utils
is half noise, it should have been
RUN_DEPENDS = ::devel/desktop-file-utils

So the changes I talked about are now in.

If your ports tree no longer works, you should update pkg_add
(most specifically OpenBSD/LibSpec/Build.pm), infrastructure.

dpb (infrastructure/lib/PortInfo.pm) and sqlports also need a bit
of help to work.

The new forms are fully documented in packages-specs(7), library-spec(7)
and bsd.port.mk(5).

I'm currently sweeping the ports tree to convert to the new style (yeah,
again, but this one is almost mechanical).

So depends lose all the extra : ,

stuff like:

RUN_DEPENDS =           :p5-Data-Visitor->=0.24:devel/p5-Data-Visitor \
                        ::devel/p5-Hash-Util-FieldHash-Compat \
                        :p5-Moose->=0.74:devel/p5-Moose \
                        ::devel/p5-namespace-clean
REGRESS_DEPENDS =       ::devel/p5-Test-use-ok

becomes:

RUN_DEPENDS =           p5-Data-Visitor->=0.24:devel/p5-Data-Visitor \
                        devel/p5-Hash-Util-FieldHash-Compat \
                        p5-Moose->=0.74:devel/p5-Moose \
                        devel/p5-namespace-clean
REGRESS_DEPENDS =       devel/p5-Test-use-ok


there's also a shorthand (STEM) for very long package names, so it could be:

RUN_DEPENDS =           STEM->=0.24:devel/p5-Data-Visitor \
                        devel/p5-Hash-Util-FieldHash-Compat \
                        STEM->=0.74:devel/p5-Moose \
                        devel/p5-namespace-clean
REGRESS_DEPENDS =       devel/p5-Test-use-ok



so far, I've only applied it to ports where the depends entry wouldn't fit
on the line, so it's purely aesthetic.

WANTLIB also changed slightly: xml2.>=9 becomes xml2>=9

Internally, the ports tree agressively removes leading : from depends lines,
and then distinguishes between a path and a pkgspec using the presence of /.

so dump-vars shows the new form, even for non converted ports. We are
effectively talking about an aesthetic cleanup that makes things immensely
more readable (IMO).

Please refrain from committing older style.

Once this sweep is finished, old-style DEPENDS and WANTLIB will start
warning (and also pkgnames with the p* embedded, doing this as well).
I think STEM-* will also warn that it's redundant.

I could leave things as is and wait for everything to get cleaned up,
but I've found out that newcomers tend to pick the worst example port
they can find whenever they do anything complicated...

Reply via email to