Re: chicken (un)install, deployment

2024-02-03 Thread Mario Domenech Goulart
Hi Al,

On Sat, 3 Feb 2024 12:22:46 +0200 Al  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... 
>
> 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



chicken (un)install, deployment

2024-02-03 Thread Al

 Hi,


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).


* 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



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... 


What to do? Maybe I should convert my project to egg format?


-- Al