On Sun, 31 Dec 2006 15:30:29 +0100 Pav Lucistnik <[EMAIL PROTECTED]> wrote:
> > - Remove _WX_ILLEGAL_VERS_* added in the last update to 2.8. The reason is
> > that each port should choose the version it can use, that includes
> > taking
> > into account available components (also this brings much more chicken
> > and
> > egg problems so the code could get really messy).
>
> I have reverted this. It's needed as long as you want to let people use
> ranges like 2.4+ together with python component, etc.
>
It is complex to do that (if you want to do it the right way), because
you need to parse components and dependencies before selecting a
version. The current code is wrong since it will only reject components
without dependency type specifications (and if there were dependencies
then it will also ignore them).
I think people should select the versions that actually work with the
port, that's why the version specification string is so flexible.
Also, if versions with invalid components are removed then the reported
error if a user writes USE_WX=2.4 and WX_COMPS=svg would be "selected a
null or invalid WxWidgets version" instead of "selected a WxWidgets
component (${_WX_COMP}) which is not available for the selected version
(${_WX_VER})".
> If you disagree with me, please do it so it errors out with IGNORE
> message, instead of creating a broken dependency line.
>
It defines IGNORE _and_ adds the broken dependency line. I can add a
"&& !defined(IGNORE)" before adding the wrong component to the list,
but I thought IGNORE was checked when building INDEX.
>
> Also, the auto-detection does not seem to work:
>
> [Makefile]
> USE_WX= 2.4+
> WX_COMPS= wx
>
> [pkg_info]
> wxgtk2-common-2.6.3_1/
> wxgtk2-unicode-2.6.3_1/
> wxgtk2-2.6.3_1/
>
> $ make -V LIB_DEPENDS
> wx_base-2.8:/usr/ports/x11-toolkits/wxgtk28
>
> What gives?
>
Sorry, I re-wrote it many times and forgot this:
-_WX_VER_INSTALLED:= ${_HAVE_WX}
+_WX_VER_INSTALLED:= ${_HAVE_WX:Mwx-*:S/wx-//}
Best Regards,
Ale
signature.asc
Description: PGP signature
