On 2010/07/02 23:32, Marc Espie wrote:
> Hopefully final patch... moving this up from make to sh means I must escape
> a bit more stuff...

people who are confused might find this easier to understand with
an example: the diff below results in no packing list change, it's
equivalent to what is there now.

Index: Makefile
===================================================================
RCS file: /cvs/ports/graphics/xv/Makefile,v
retrieving revision 1.39
diff -u -p -r1.39 Makefile
--- Makefile    2 Jul 2010 21:59:39 -0000       1.39
+++ Makefile    2 Jul 2010 22:00:40 -0000
@@ -21,12 +21,12 @@ PERMIT_PACKAGE_FTP= Yes
 PERMIT_DISTFILES_CDROM=        Must buy license
 PERMIT_DISTFILES_FTP=  Yes
 
-LIB_DEPENDS=   jpeg.>=62.::graphics/jpeg \
-               jasper.>=2.::graphics/jasper \
-               tiff.>=38.::graphics/tiff \
-               png.>=5.::graphics/png
+LIB_DEPENDS=   ::graphics/jpeg \
+               ::graphics/jasper \
+               ::graphics/tiff \
+               ::graphics/png
 
-WANTLIB=       X11 Xau Xdmcp c m z
+WANTLIB=       X11 Xau Xdmcp c jasper.>=2. jpeg.>=62. m png.>=5. tiff.>=38. z
 
 USE_X11=       Yes
 MAKE_ENV=      SYSCONFDIR="$(SYSCONFDIR)"


doing this will make things way simpler when we have to sync
library dependencies following an update in packages providing
libraries. think of how things look with something like glib2
with a bunch of different libraries all listed on the LIB_DEPENDS
line.  following an update this often needs to be changed in a
whole bunch of other ports, some in LIB_DEPENDS, some in WANTLIB.

if, as we can do following espie's diff, we have every library
just in one place (WANTLIB) we only have to handle updating in one
place + bumping. 'make port-lib-depends-check' can produce a nice
sorted list that can often be used to directly overwrite what's
already there.

those people who have worked on batches of library spec
syncing should recognise this will save a fair bit of work (:

you can consider LIB_DEPENDS as "RUN_DEPENDS_EXCEPT_ON_STATIC_ARCHES"
and, where library names are present directly on this line (i.e. all
the existing ports using LIB_DEPENDS) it's just an alternative place
you can put the library name instead of writing it in WANTLIB.
so of course we do not need to change existing ports, they work
fine as-is, it can be a gradual process.

Reply via email to