about summary refs log tree commit diff
path: root/nix/buildLisp (follow)
AgeCommit message (Collapse)AuthorFilesLines
2020-01-17 r/385 feat(nix/buildLisp): Support passing programs to sbclWithVincent Ambo1-1/+1
Adds the necessary attributes on derivations created by buildLisp.program for them to be passed to buildLisp.sbclWith. This makes it possible to easily spin up Lisp environments that contain everything needed for a given program.
2020-01-09 r/365 fix(buildLisp): Wrap executables to set load paths correctlyVincent Ambo2-16/+10
I can not currently find a way to set the CFFI variables correctly to get it to load libraries from Nix. In the absence of that feature, a wrapper also does the trick.
2020-01-09 r/364 feat(buildLisp): Initial implementation of foreign library loadingVincent Ambo1-9/+46
Adds a new 'native' parameter to the buildLisp functions in which libraries can be passed in. This does not yet work with CFFI packages.
2020-01-09 r/355 fix(buildLisp): Perform a topological sort of dependenciesVincent Ambo1-8/+7
This ensures that dependencies are loaded in the correct order in larger dependency graphs.
2020-01-08 r/351 fix(buildLisp): Cursed code to fix load orderingVincent Ambo1-10/+23
It's not enough to compile in the right order - turns out you also have to load the compiled objects in the right order. To achieve this some cursed code has been added that changes the Lisp generated by Nix to compile the other Lisp so that it also generates some bash, which Nix can then use to concatenate the FASLs in the right order to feed them to Lisp again. It works but I'll replace it with a more elegant solution once one is needed.
2020-01-08 r/350 feat(buildLisp): Add initial, tiny example programVincent Ambo3-0/+45
2020-01-08 r/349 feat(buildLisp): Implement buildLisp.program to dump executablesVincent Ambo1-4/+30
Dumps the executable image from SBCL to $out/bin/$name. Image compression is disabled.
2020-01-08 r/348 refactor(buildLisp): Inline dependency loading in genCompileLispVincent Ambo1-35/+44
2020-01-08 r/347 feat(buildLisp): Add function to wrap SBCL with dependenciesVincent Ambo1-2/+4
Adds `buildLisp.sbclWith` which creates an SBCL wrapper the contains all the requested dependencies.
2020-01-08 r/346 feat(buildLisp): Implement dependency loading & propagationVincent Ambo1-4/+16
Similar to buildGo.nix, the library derivations carry information about their dependencies which is merged when a load file is instantiated. The load files are created when compiling libraries, but will in the future also be created when wrapping SBCL and dumping images.
2020-01-08 r/345 fix(buildLisp): Fail the build on compilation errorsVincent Ambo1-1/+4
This needs to be handled explicitly in the COMPILE-FILE form.
2020-01-08 r/343 feat(nix/buildLisp): Add initial sketch including buildLisp.libraryVincent Ambo2-0/+97
Adds a Nix function to build a Lisp library out of a specified set of Nix files. All files are combined into a single FASL. This is by design only compatible with SBCL (for now).