[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Chicken-hackers] new CHICKEN 5 egg installation
From: |
Ivan Raikov |
Subject: |
Re: [Chicken-hackers] new CHICKEN 5 egg installation |
Date: |
Wed, 22 Feb 2017 13:39:48 -0800 |
Hi Felix,
Exciting news! What would it take to get deployment working? In the
past, I found it immensely useful to be able to distribute binary,
particularly with Windows and Mac OS X users who are not likely to
have a compiler installed, or a readily installable Chicken binary
distribution. Related to that, would just fetching the sources for an
egg and all its dependencies be possible? It was a lot easier to
create binary deployments that way.
As for getting rid of install prefixes, I also find it useful to be
able to install eggs in a user's home directory, as opposed to in /usr
or /usr/local. But if you find it so annoying, should we try to
brainstorm of a less confusing scheme for installing in non-standard
locations?
I think it is sensible to abort the operation if a test in a dependency fails.
Is there a replacement of matchable in Chicken 5, if syntax-only
extensions are not permitted?
On Wed, Feb 22, 2017 at 6:20 AM, <address@hidden> wrote:
> 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
>
>
> _______________________________________________
> Chicken-hackers mailing list
> address@hidden
> https://lists.nongnu.org/mailman/listinfo/chicken-hackers