Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 20 Nov 1996 18:05:01 -0500 (EST)
From:      Chuck Robey <chuckr@glue.umd.edu>
To:        Martin Cracauer <cracauer@cons.org>
Cc:        freebsd-ports@freebsd.org
Subject:   Re: Questions about proper port making
Message-ID:  <Pine.OSF.3.95.961120175902.7266A-100000@thurston.eng.umd.edu>
In-Reply-To: <199611201444.PAA02492@knight.cons.org>

next in thread | previous in thread | raw e-mail | index | archive | help
On Wed, 20 Nov 1996, Martin Cracauer wrote:

> Chuck Robey writes:
> > On Wed, 20 Nov 1996, Martin Cracauer wrote:
> > 
> > > 
> > > Suppose I have a library for Common Lisp. Installation require that
> > > one of many Common Lisp implemenations is installed.
> > > 
> > > What is the right thing to do this? The cleanest solution would be to
> > > have one port for each target implementation, but could be many when
> > > it comes to scheme (10 libararies for 20 implementations would make
> > > 200 ports :-)
> > > 
> > > Should I search the path for installed implemenations and choose the
> > > best? Or ask the user (but I'd rather would keep thinsg
> > > non-interactive)?
> > > 
> > > I think the right way would be to search for implemenations and if
> > > there is more than one, then ask the user. But how do I implement this
> > > in a FreeBSD port? As far as I know, a port's installation can be
> > > either interactive or not, not "depends".

Martin, you've asked 20-someodd-thousand questions at once in this and the
following 3 mails.  It's not possible to reply in any organized way.  Lets
try this again, and do it serially, ok?  I'll answer the one top question,
and delete the rest, you bring them back up again as you need them.

> > 
> > First, verify that at least ONE common lisp port does in fact work as a
> > dependency.  After that, you can use the method that the encryption based
> > ports used, by requiring that the user set some variable (choose one
> > that's likely to be unique, like CHOSEN_LISP) to one of a chosen set of
> > acceptable alternatives.  If it is not so set, you can print an
> > informative error message.  If it is set, you can assume the port is
> > installed.  If needed, you can assume the port has been installed using
> > the same PREFIX variable that is active in your library port, so you can
> > have access to the port's installed location.
> 
> I fear the added complexity that an environment variable has to be set
> may cause users to give up.. Am I allowed to look whether there's
> exactly one usable Lisp installed and obey the environment variable
> only when there's more than one?

OK, then for the more innocent users, set a dependency upon one port you
think best for that kind of user, and offer the more adept user an
environment-based variable alternative.  Don't dumb it down for everyone,
but print an informational message so that more adept users see the
possibilities.  A user who needs to have more than one lisp/scheme
implementation is not going to be scared off by a stenv command.

> 

----------------------------+-----------------------------------------------
Chuck Robey                 | Interests include any kind of voice or data 
chuckr@eng.umd.edu          | communications topic, C programming, and Unix.
9120 Edmonston Ct #302      |
Greenbelt, MD 20770         | I run Journey2 and picnic, both FreeBSD
(301) 220-2114              | version 3.0 current -- and great FUN!
----------------------------+-----------------------------------------------




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?Pine.OSF.3.95.961120175902.7266A-100000>