Hi, On Sun, 30 Sep 2018 23:46:08 +0200 Pierre Neidhardt <[email protected]> wrote:
> Also see > > https://github.com/quicklisp/quicklisp-projects/issues/1561 > > There are some interesting links, mostly about the Nix system. See > the > > > https://github.com/NixOS/nixpkgs/blob/5048b0d1f9e908665a01c35f49b2d9816128e089/pkgs/development/lisp-modules/quicklisp-to-nix-output/swank.nix > Having taken just a quick look at what's there, it seems that the approach is fairly different from what we're doing. They're using the default asdf build target, and I think they must be relying on output translations having been set up right to avoid re-compilation. I'm trying to get a Nix OS VM set up to play around with what's there. > file: I think it would have given us a clear hint with > ~asdFilesToKeep = ["swank.asd"];~, had we looked at Nix before. > It looks like they're doing that in all of the packages. In general, we shouldn't expect to have to bring definitions from upstream's asd file into our own. Asdf's best practices documentation warns against it. Also, they're using upstream slime, unlike your package, so I don't think anything is being compiled at all. The difference here between Nix's system and ours is that they're using the upstream asd file to load the system, whereas we generate our own just for the build's output. This allows us to load the compiled file (or files) directly, without having to rely on mapping source files to compiled files. > I haven't looked to closely into what else Nix is doing to package > Common Lisp, but it seems rather complete. Any good idea we could > borrow, Andy? It'd be nice to have an importer. Maybe we can use Nix's work to reduce the amount of investigation needed to get there. -- Andy
