Re: chicken (un)install, deployment

Mario Domenech Goulart <[email protected]>
Newsgroups gmane.lisp.scheme.chicken
Message-ID <[email protected]>
Hi Al,

On Sat, 3 Feb 2024 12:22:46 +0200 Al <[email protected]> wrote:

> I'd like to distribute a project that uses chicken and a number of
> eggs. In the Makefile, I'm trying to add a target that ensures the
> user has those eggs installed. However,
>
> * chicken-install seems to proceed unconditionally (even if egg is
>   already installed).

Right.  If you ask chicken-install to install an egg, it'll do so.  It
might skip its dependencies in case they are already installed.
chicken-install might skip fetching/compiling eggs in case they can be
found in the chicken-install cache (typically ~/.cache/chicken-install).

> * I see no chicken-uninstall, or at least chicken-remove-all-eggs, so
>   that at least I can test things in a clean-room installation,
>   without rebuilding

chicken-uninstall is part of the installation of chicken.  It should be
available in the same directory where chicken-install is located.

> I came up with a way sed hack to extract all imports, transform those
> to arguments for "chicken-status -list", and generate a
> chicken-status.scm file (which can then be processed by
> "chicken-install -from-list"). But still it installs
> unconditionally. I could add an extra step to check if "csi import
> egg... </dev/null" returns an error code, but it's getting ugly.
>
>
> What to do? Maybe I should convert my project to egg format?

That probably would be the easiest way.

All the best.
Mario
-- 
http://parenteses.org/mario
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.