Mk/ missing CSH tag

Anonymous swell.k at
Fri Nov 19 17:48:10 UTC 2010

Eir Nym <eirnym at> writes:

> On 19 November 2010 18:32, Christian Weisgerber <naddy at> wrote:
>> Eir Nym <eirnym at> wrote:
>>> >>> Since when? If you are missing /bin/csh, your system is defective
>>> >>> or at least nonstandard.
>>> >>
>>> >> It is good joke, thanks
>>> >
>>> > I guess he's talking about the ports tree being too fragile for some
>>> > non-default configurations and not many people are willing to fix it.
>>> I understand this. Port can check this (because it is optional system
>>> component) and use another or generate error.
>> This is very confusing.  One of us is out of sync with reality.
>> (If it's me, I'd like to know.)  Your confident claim that csh is
>> optional is like stating that the sky is green and the sun is purple.
>> Did I miss something?
>> Yes, I know there is a WITHOUT_TCSH knob. You can use this when
>> you build a FreeBSD-based embedded system where you know you won't
>> need csh. In no way does the existence of this knob imply that csh
>> is optional on a standard FreeBSD system where you build ports.

What are those requirements that constitute standard FreeBSD system
capable of building ports?

> Ok, another example is NIS. You can turn off NIS support in your
> system, and ports will check NIS biraries if they need them.

There are more examples

  - openssl: WITH_OPENSSL_PORT
  - pkg_install: .if exists(...)
  - fetch: .if exists(...)
  - texinfo: by relying on PATH

And rather than resurrecting shells/tcsh one can also also try

  BUILD_DEPENDS += ${CSH}:${PORTSDIR}/shells/44bsd-csh

  .if exists(/bin/csh)
  CSH ?= /bin/csh
  CSH ?= ${LOCALBASE}/bin/44bsd-csh

But some ports may assume csh is tcsh like sh is bash on linux.

More information about the freebsd-ports mailing list