cvs commit: ports/Mk bsd.wx.mk

Pav Lucistnik pav at FreeBSD.org
Sun Dec 31 09:04:26 PST 2006


Alejandro Pulver píše v ne 31. 12. 2006 v 13:37 -0300:
> On Sun, 31 Dec 2006 15:30:29 +0100
> Pav Lucistnik <pav at FreeBSD.org> 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})".

That can be done, I'm confident.

> > 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.

Well, it passed make describe and thus broke INDEX. IGNORE is not
checked when running make describe, I believe.

But the problem is really this:
With a port allowing USE_WX=2.4+ and WX_COMPS=python, it should go for
2.4 or 2.6, instead of selecting 2.8 and then failing.

I'm not happy with it setting such port on IGNORE. Why it should fail,
when perfectly legit option is available? It should bail out with IGNORE
when you select USE_WX=2.8 and WX_COMPS=python, never else.

> > 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-//}

Please commit this fix.

-- 
Pav Lucistnik <pav at oook.cz>
              <pav at FreeBSD.org>

Pain clots and unformed lice pat this train.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 187 bytes
Desc: Toto je =?UTF-8?Q?digit=C3=A1ln=C4=9B?=
	=?ISO-8859-1?Q?_podepsan=E1?= =?UTF-8?Q?_=C4=8D=C3=A1st?=
	=?ISO-8859-1?Q?_zpr=E1vy?=
Url : http://lists.freebsd.org/pipermail/cvs-all/attachments/20061231/8c4e03d2/attachment.pgp


More information about the cvs-all mailing list