tech-pkg archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: build dependencies vs tools



* On 2017-09-11 at 15:47 BST, Jan Danielsson wrote:

> Looking at some dependencies on pkgsrc.se and a thought occurred:
> What's the difference between "build dependencies" and "USE_TOOLS"?

The main difference is that a tool can come from the operating system.

If an operating system comes with bison and you request bison via
USE_TOOLS then, as long as the OS version works fine, it will be used
for the build.  If you add bison as a BUILD_DEPENDS, then regardless
of whether the OS provides it, the pkgsrc bison package will be pulled
in.

> Say a project needs a bison-like tool, but not actually bison, to
> build; it can be added to the list of "tools" or it can be made a
> "plain" (for lack of a better term) build dependency.  Ignoring that one
> can simply make nonexistent "tools" into build dependencies on the fly:
> How is something qualified to be a "tool"?

Usually once it is used in a few places and is common enough that
users might want to use their native version.

> Are "tools" merely "very common build-related programs which are very
> likely to exist (and be usable to pkgsrc) in the system already"?

Basically, yes.  The tools framework also allows us to tweak the tool
slightly, e.g. adding extra arguments or changing its name, whereas a
plain build dependency just installs that package.

Cheers,

-- 
Jonathan Perkin  -  Joyent, Inc.  -  www.joyent.com


Home | Main Index | Thread Index | Old Index