chicken-users
[Top][All Lists]
Advanced

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

Re: [Chicken-users] Nix shell with a non chicken project


From: Evan Hanson
Subject: Re: [Chicken-users] Nix shell with a non chicken project
Date: Mon, 14 Jan 2019 11:05:40 +1300

Hi David,

On 2018-12-08 14:45, David Smith wrote:
> I'm trying to get a nix shell environment working which has chicken with
> stone packages available. However the project is not a chicken project, it
> just needs the compiler to be available with the packages. I tried to use
> an eggDerivation as described in
> https://nixos.org/nix-dev/2015-April/016869.html however it requires a src
> attribute. Since this is not a chicken project the are no chicken source
> files (they are generated by something else). How can I build a chicken
> environment with the packages I need available with nix shell?

I'm not totally sure what you mean so apologies in advance if I
misunderstand, but the "src" attribute doesn't need to specify local
files but typically uses a helper like `fetchurl` instead. For egg
dependencies, you can use `fetchegg`.

So, for example, to set up a shell that has CHICKEN and the matchable
extension available, you could put the following in ./shell.nix:

    with import <nixpkgs> {};
    let
      matchable = eggDerivation {
        name = "matchable-1.0";
        src = fetchegg {
          name = "matchable";
          version = "1.0";
          sha256 = "01vy2ppq3sq0wirvsvl3dh0bwa5jqs1i6rdjdd7pnwj4nncxd1ga";
        };
      };
    in
      stdenv.mkDerivation {
        name = "chicken-shell";
        buildInputs = [ chicken matchable ];
      }

With that in place, running `nix-shell` will give you a shell with csc,
csi, etc. available and the matchable extension installed.

Is that what you're after?

Evan



reply via email to

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