Date: Mon, 5 Jun 2017 12:11:51 -0600 From: Adam Weinberger <adamw@adamw.org> To: Eugene Grosbein <eugen@grosbein.net> Cc: Matthew Seaman <matthew@FreeBSD.org>, freebsd-ports@freebsd.org Subject: Re: Pass options to dependency Message-ID: <8AA51B7E-F0BB-46D8-8C29-4E414425DDE6@adamw.org> In-Reply-To: <59355862.6060007@grosbein.net> References: <59352AB6.3040005@grosbein.net> <11954833-f1a3-f8d7-d482-7da1f5427b27@FreeBSD.org> <59355862.6060007@grosbein.net>
next in thread | previous in thread | raw e-mail | index | archive | help
> On 5 Jun, 2017, at 7:10, Eugene Grosbein <eugen@grosbein.net> wrote: >=20 > 05.06.2017 18:51, Matthew Seaman =D0=BF=D0=B8=D1=88=D0=B5=D1=82: >> On 05/06/2017 10:56, Eugene Grosbein wrote: >>> How can a port (its Makefile) pass a build option to BUILD_DEPENDS? >>> For example, devel/ragel has: >>>=20 >>> DOCS_USE=3D TEX=3Dlatex:build >>> DOCS_BUILD_DEPENDS=3D fig2dev:print/transfig >>>=20 >>> And "make -C /usr/ports/devel/ragel all-depends-list" shows HUGE >>> list of its dependencies completely unneded for a port that just >>> needs to use BUILD_DEPENDS=3Dragel:devel/ragel >>>=20 >>> The reason is that bsd.options.mk includes PORT_OPTIONS+=3D DOCS >>> unless user option NOPORTDOCS is set. >>>=20 >>> Is it possible to specify something like OPTIONS_EXCLUDE=3DDOCS >>> for BUILD_DEPENDS entity? >>>=20 >>=20 >> Generally what you would do is create a slave port of the dependency >> with the options settings you require. Doing this to turn off the = DOCS >> option would be unprecedented though. >>=20 >> I believe the consensus nowadays is that DOCS should control = installing >> documentation that takes little or no effort to generate. If you = need >> to install a huge dependency tree in order to generate documentation, >> then that should be controlled using a different option. Whether to >> have that option default to either ON or OFF is at the discretion of = the >> maintainer. >>=20 >> So my advice here is open a PR to get devel/ragel modified, and in = the >> mean time try and ignore all those unwanted dependencies while you = work >> on your own port. >=20 > It would be more useful to have general way to build a dependency > with needed set of options or at least introduce NODEPDOCS > similar to NOPORTDOCS, wouldn't it? Standard policy is that DOCS is always enabled by default, and if heavy = dependencies are required, they have a new option name. TEXDOCS, for = instance, for ragel's example. NODEPDOCS is a little too grey because the interpretation is arbitrary; = what about ports that need pandoc to produce manpages... we'd need a = NODEPMANPAGES variable, and a NODEPHELPFILESBUTNOTDOCS, NODEPEXAMPLES, = etc. # Adam --=20 Adam Weinberger adamw@adamw.org https://www.adamw.org
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?8AA51B7E-F0BB-46D8-8C29-4E414425DDE6>