On Sat, 10 Jul 2021 18:31:24 +0200 =?ISO-8859-1?Q?S=E9bastien?= Villemot <sebast...@debian.org> wrote: > I’ve recently tried to reevaluate the situation regarding CCL in > Debian. > > In short, the answer is unfortunately that it’s not yet possible to > package CCL, but there is however the hope that the situation will > improve at some point. > > What prevents CCL from being packaged Debian is the ffigen tool, which > is required at build time to generate various FFI bindings. The latest > functional version of this tool (ffigen4) is essentially a patch over > GCC 4. The ftpmasters refused to have this in the archive (see above). > > There is however an ongoing effort to rewrite ffigen, see: > https://github.com/Clozure/ccl/issues/13 > > The rewrite is essentially a small executable depending on libclang, > and is now dubbed ffigen5. > > I’ve tried it, and even though it is able to parse many C headers, it > still fails at some. So it’s not yet ready for use. But hopefully it > will be at some point, which should clear the way for CCL in Debian.
Upstream here. I’ve recently released CCL 1.13 (https://github.com/Clozure/ccl/releases/tag/v1.13). In this release, Linux headers are processed with the new ffigen5 tool (https://github.com/Clozure/ccl-ffigen). I’d be happy to show anyone interested how to use the tool and generate the interface databases. In short, look at ccl:x86-headers64;libc;C;translate.sh for how to invoke the ffigen5 tool. That will produce a bunch of .ffi files. To generate the .cdb files used by CCL’s ffi, start CCL, and then do: (require 'parse-ffi) (ccl::parse-standard-ffi-files :libc) Here, :libc indicates that the .ffi files to process are in x86-headers64/libc/C. If you said :elf, that would mean to look for .ffi files in x86-headers64/elf/C. As I say, if there’s anything I can do to help get CCL packaged, please get in touch.