about summary refs log tree commit diff
path: root/third_party/lisp/nibbles.nix (follow)
AgeCommit message (Collapse)AuthorFilesLines
2020-07-26 r/1483 feat(3p/lisp): Add ironcladGriffin Smith1-0/+27
Add ironclad, a common lisp library for cryptography. This is a huge library with a lot of moving parts - probably most notable here is that I've had to turn off compiling with `:ironclad-assembly`, as it was causing an infinite loop in the compiler due to https://github.com/sharplispers/ironclad/blob/master/src/opt/sbcl/cpu-features.lisp#L9-L10, a mutually self-recursive function that looks like: (defun aes-ni-support-p () (aes-ni-support-p)) Without knowing much about how sbcl handles native-compiled assembly, it seems like this definition should actually be skipped entirely, due to it being defined as a `defknown` in `fndb.lisp`: (defknown ironclad::aes-ni-support-p () (boolean) (any) :overwrite-fndb-silently t) But something about how we're compiling things was causing that not to happen, and the infinite recursion caused the compiler to hang. This should be fixed at some point, but given I only need this library as a transitive dependency down a level I'm not going to attempt to do so now. Change-Id: Id768717991404f959b003c7e2f28f1f4d532b94b Reviewed-on: https://cl.tvl.fyi/c/depot/+/1333 Tested-by: BuildkiteCI Reviewed-by: kanepyork <rikingcoding@gmail.com>