[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: chicken scheme
Re: chicken scheme
Sat, 02 Jul 2016 12:21:08 +0200
Gnus/5.13 (Gnus v5.13) Emacs/24.5 (gnu/linux)
John J Foerch <address@hidden> skribis:
> address@hidden (Ludovic Courtès) writes:
>> John J Foerch <address@hidden> skribis:
>>> I have just learned about 'guix import', and have the thought that a
>>> package importer would be the better way to go. Eventually I would like
>>> to package software that I've written in CHICKEN for GuixSD, and only a
>>> package importer would make that feasible.
>> "Thompson, David" <address@hidden> skribis:
>>> On Fri, Jul 1, 2016 at 8:11 AM, John J Foerch <address@hidden> wrote:
>>>> First a question about /var/lib, and please excuse the newbie question.
>>>> If chicken extensions were installed to /var/lib, wouldn't that go
>>>> against the spirit of guix of keeping every program isolated? Isn't
>>>> /var/lib global state?
>>> Yes, but this program is not Guix. It's a completely separate package
>>> manager, and it should work as intended.
>> Agreed. So I think there are two issues at hand:
>> 1. How to arrange our ‘chicken’ package so that ‘chicken-install’
>> works as intended.
>> 2. How to import Eggs so that they can be first-class Guix packages.
>> #2, which means writing an importer, is definitely the most profitable
>> approach: It’s best as a user to have all the packages managed by the
>> same tool, especially if that provides isolation, transactional upgrades
>> and rollbacks, etc.
>> #1 is useful for CHICKEN users who are used to ‘chicken-install’
>> (similarly pip, npm, etc. are supposed to work.) It should work in the
>> same way as on other distros. I’ve never used it though, so I can’t
>> give precise advice.
> It installs all extensions to a single system-wide directory, with one
> path component that gives the binary version. On my debian machine,
> that is /var/lib/chicken/7 (for chicken 4.10.0). In that way, it is
> simpler than something like npm.
Right. So to address #1, we should make sure it uses /var/lib, as