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