chicken-hackers
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Chicken-hackers] new CHICKEN 5 egg installation


From: felix . winkelmann
Subject: [Chicken-hackers] new CHICKEN 5 egg installation
Date: Wed, 22 Feb 2017 15:20:11 +0100

Hello!

I have now a first prelininary version of the new egg installation tools
for CHICKEN 5 working, and before we go on, I'd like people to review
and reflect on the changes that have been made so far. I also need
some advice regarding a number of issues...

The branch is "chicken-5-new-egg-install"[1], a preliminary selection
of eggs that have been ported to new the description file format are
available at [2] (thanks to Mario + Kooda, who have provided a bunch
of eggs). Note that this repository is not final, yet. Eggs may be
removed or deprecated or will need considerable changes, should
more disruptive changes be made in CHICKEN 5 (let's hope not...)

Basic uses of chicken-install/chicken-status/chicken-uninstall should
work. I have tried to document everything [3], please tell me if
important information is missing or something does not match the
current implementation.

Issues:

* Source-level depedencies inside eggs can currently not be specified,
  but component-level dependencies can, this might be enough.

* When a test in a depency fails, the installation process still continues,
  should the whole operation abort?

* What should be the default optimizations, or should there be a
  default optimization level at all? (this can be given in the .egg file);
  the same applies to compiled import libs, where the user can not
  override the options.

* Is an option for not fetching/installing depedencies desirable?
  This has been added recently to C4, what is the inention of this,
  and how does it work if the dependency is required for building?

* "chicken-install -init" is currently not implemented. Do we need this?

* The following options are not implemented:
    -keep-installed
    -reinstall
    -proxy  -username   -password   (use env vars instead)
    -init
    -deploy
    -keep-going
    -scan
    -csi
    -show-depends
    -show-foreign-depends
    -prefix

* "-test" implies that all tests are executed, including dependencies;
   or should only those tests run that belong to the eggs explicitly given
   on the command line?

* "extension-information" actually retrieves information for a whole egg.
  Should this be renamed, or should it extract information for a particular
  component?

* I would REALLY REALLY like to get rid of "-prefix", "chicken-prefix",
  CHICKEN_PREFIX, etc. as they cause pain and confusion, but
  Mario says that it is important for Salmonella.

* It has been suggested to sign eggs (or egg hashes). I don't know enough
  about this to decide how to proceeed. If such a feature is desired, it should
  be added early (standalone crypto code seems to be available, e.g.
  "tweetnacl")

* Testing on Windows + OS X still has to be done, especially the build/install
  script generation for Windows/cmd.exe has never been tested. "chicken-do"
  needs to be ported to Windows, as well.

* The old system allowed for so called "syntax-only" eggs, extensions that
  only provide syntax (and thus don't require runtime code to be loaded),
  like miscmacros and matchable. This is currently not implemented, and
  I'm not sure whether the extra costs are worth the trouble.

felix



[1] 
https://code.call-cc.org/cgi-bin/gitweb.cgi?p=chicken-core.git;a=shortlog;h=refs/heads/chicken-5-new-egg-install
[2] https://code.call-cc.org/cgi-bin/gitweb.cgi?p=chicken-5-eggs.git;a=summary
[3] 
https://code.call-cc.org/cgi-bin/gitweb.cgi?p=chicken-core.git;a=blob;f=manual/Extensions;h=38256f9b7a9370d38e63ee5062aaa7b27fa307ba;hb=refs/heads/chicken-5-new-egg-install




reply via email to

[Prev in Thread] Current Thread [Next in Thread]