So now we have *DEPENDS = pkgspec:pkgpath in an uniform way, with pkgspec: completely omitted when it's the default stem-*
The idea is to remove as much noise as possible and it's already working great Compare: -RUN_DEPENDS= :desktop-file-utils-*:devel/desktop-file-utils \ - :shared-mime-info->=0.21:misc/shared-mime-info +RUN_DEPENDS= devel/desktop-file-utils \ + shared-mime-info->=0.21:misc/shared-mime-info but it might still be a bit too complex, especially since the most frequent spec is "this stem past that version", so STEM- +RUN_DEPENDS= devel/desktop-file-utils \ + STEM->=0.21:misc/shared-mime-info still a bit of line noise. Dropping STEM- altogether looks unnatural +RUN_DEPENDS= devel/desktop-file-utils \ + >=0.21:misc/shared-mime-info let's tack the number at the end instead: +RUN_DEPENDS= devel/desktop-file-utils \ + misc/shared-mime-info>=0.21 looks intuitive, and we're left with only a few (very few ports) with explicit pkgspecs. The problem with this is that those depends are no longer easily parsable and contain something that's not a real path. So let's ask make to rewrite things before the shell sees anything. Yeah, the syntax is totally barbaric, but it says "if you see a depends that's ONLY a path (no : and a / should be present) followed by <=>, then cut it at the first <=>, and rewrite it backwards with STEM at front. Try this with make describe in say, misc/screen, and see groff coming out as: screen-4.0.3p2|misc/screen||multi-screen window manager|misc/screen/pkg/DESCR|The OpenBSD ports mailing-list <po...@openbsd.org>|misc||STEM->=1.15.47p2:textproc/groff||any|y|y|y|y as should be. Unless someone has better ideas/comments, I think we're going to go that route. Index: bsd.port.mk =================================================================== RCS file: /cvs/ports/infrastructure/mk/bsd.port.mk,v retrieving revision 1.1058 diff -u -p -r1.1058 bsd.port.mk --- bsd.port.mk 14 Nov 2010 11:17:36 -0000 1.1058 +++ bsd.port.mk 15 Nov 2010 18:24:22 -0000 @@ -563,7 +563,7 @@ ERRORS += "Fatal: no flavors for this po USE_GROFF ?= No .if ${USE_GROFF:L} == "yes" -BUILD_DEPENDS += groff->=1.15.4.7p2:textproc/groff +BUILD_DEPENDS += textproc/groff>=1.15.47p2 _PKG_ARGS += -DUSE_GROFF=1 .endif @@ -1425,12 +1425,12 @@ _CHECK_DEPENDS = # normalization of depends to remove extra : .for _v in BUILD LIB RUN REGRESS _CHECK_DEPENDS +:= ${${_v}_DEPENDS} -${_v}_DEPENDS := ${${_v}_DEPENDS:S/^://:S/^://} +${_v}_DEPENDS := ${${_v}_DEPENDS:S/^://:S/^://:C,^([^:]+/[^:<=>]+)([<=>][^:]+)$,STEM-\2:\1,} .endfor .for _s in ${MULTI_PACKAGES} . for _v in RUN LIB _CHECK_DEPENDS +:= ${${_v}_DEPENDS${_s}} -${_v}_DEPENDS${_s} := ${${_v}_DEPENDS${_s}:S/^://:S/^://} +${_v}_DEPENDS${_s} := ${${_v}_DEPENDS${_s}:S/^://:S/^://:C,^([^:]+/[^:<=>]+)([<=>][^:]+)$,STEM-\2:\1,} . endfor .endfor