Re: WANTLIB/LIB_DEPENDS semantics change

2010-07-03 Thread Marc Espie
Current tests goes fine, and actually show some existing problems because the old infrastructure is: - too complicated - bsd.port.mk lies about what's going on. Namely, libspecs were apparently tied to the pkgspec in a LIB_DEPENDS. But that's not true ! bsd.port.mk was only using those specs as

WANTLIB/LIB_DEPENDS semantics change

2010-07-02 Thread Marc Espie
The following patch changes the semantics of LIB_DEPENDS/WANTLIB, hopefully to make things simpler for ports maintenance. Historically, all libs were registered in LIB_DEPENDS. In order to handle updates, packages had to register all needed libraries. The current mechanism is that a package

Re: WANTLIB/LIB_DEPENDS semantics change

2010-07-02 Thread Marc Espie
Faster patch... this removes a lot of old cruft, and yields a _print-package-args that's about twice as fast, instead of potentially slower. Specifically, always grab lib lists off the ports tree proper, evaluate them once, and use the fact that resolve-lib has known how to handle multiple

Re: WANTLIB/LIB_DEPENDS semantics change

2010-07-02 Thread Marc Espie
On Fri, Jul 02, 2010 at 04:33:43PM +0200, Marc Espie wrote: Faster patch... this removes a lot of old cruft, and yields a _print-package-args that's about twice as fast, instead of potentially slower. Turns out it must be slightly more complicated. Namely, we have to bring LIB_DEPENDS

Re: WANTLIB/LIB_DEPENDS semantics change

2010-07-02 Thread Marc Espie
Hopefully final patch... moving this up from make to sh means I must escape a bit more stuff... Index: bsd.port.mk === RCS file: /home/openbsd/cvs/ports/infrastructure/mk/bsd.port.mk,v retrieving revision 1.1007 diff -u -p -r1.1007

Re: WANTLIB/LIB_DEPENDS semantics change

2010-07-02 Thread Stuart Henderson
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