Subject: Re: TOOLS_PREFIX and tools framework and missing tool
To: Johnny C. Lam <jlam@pkgsrc.org>
From: Jeremy C. Reed <reed@reedmedia.net>
List: tech-pkg
Date: 12/28/2005 08:53:00
On Wed, 28 Dec 2005, Johnny C. Lam wrote:

>> May I change the line above to:
>> 
>> TOOLS_FIND_PREFIX+=    TOOLS_PREFIX.${_t_}=XFree86-clients
>> 
>> I am not sure if this is a copy-and-paste error or if it is meant to be 
>> "imake".
>
> Please commit your suggested change.  We will probably need to request a 
> pullup.

Okay.

>> Should the tools framework check if TOOLS_PATH.jcrtest exists?
>
> No, I don't believe testing for existence is necessarily desired.  There are 
> some values that you want to have set to the correct value even before the 
> tools themselves are installed by pkgsrc (if they are installed via pkgsrc). 
> We could restrict the checks to a particular phase of the build to avoid 
> running stat() for each tool for each invocation of make, but I haven't found 
> a pressing need for this extra code yet.

Okay.

>> I am looking at this because I am about to commit the one addition of 
>> "makepsres" to that _TOOLS.x11-clients. It may be useful for the package 
>> build to fail when the TOOLS_PATH.makepsres is missing (when 
>> USE_TOOLS+=makepsres and X11_TYPE is native) instead of failing later 
>> during or after build.
>
> Should the package fail if "makepsres" isn't present?  If so, then that is 
> some secondary condition outside of the tools framework that you will have to 
> impose on your package.  The tools framework gives a way to express which 
> package can provide a tool that may be missing from the base system.  If 
> X11_TYPE is "native", is there a way to get a makepsres tool from pkgsrc?  If 
> not, then the tools framework as it's currently designed it isn't applicable 
> here.  Can you be more specific about how your package uses makepsres?

It appears that lyx works without the /usr/pkg/share/lyx/xfonts/PSres.upr 
file.

I could make that file optional in the PLIST.

Currently, the packaging does fail if makepsres is not available.

If the X11_TYPE is native, there is not a way to get makepsres from 
pkgsrc.

You say then the tools framework is not applicable here. ... but I was 
just following examples already in the replace.mk (see _TOOLS.x11-clients) 
that have a few other tools that appear to be only available if X11_TYPE 
is not native.

I could check for existence of ${TOOLS_PATH.makepsres}.

  Jeremy C. Reed

  	  	 	 technical support & remote administration
 	  	 	 http://www.pugetsoundtechnology.com/