zimoun <zimon.touto...@gmail.com> writes: > However, I am still confused that the GNU Emacs package with default > options (--with-modules, --with-cairo, --disable-build-details) > depends on LLVM via GTK+ and Mesa; and not on only GNU tools.
LLVM is an optional input for Mesa which enables the Gallium 'llvmpipe' driver, a fast software rasterizer that uses LLVM to do runtime code generation. https://docs.mesa3d.org/gallium/drivers/llvmpipe.html Among other things, this allows use of the GNOME Shell on systems without hardware support for 3D graphics. GTK depends on Mesa. > Is it possible to build Emacs with Gtk compiled without LLVM? When LLVM was first added to Mesa's inputs in Guix, I reverted that commit on my private branch for a year or two, to avoid building LLVM. This saved me disk space and compile time, since I don't use substitutes and therefore build everything from source anyway. For those who use substitutes, this change would be more costly. I eventually gave up on this since I now need LLVM for IceCat anyway. Alternatively, for those who do not wish to maintain their own private branch, here's a hybrid approach that might be workable: add a local variant of 'mesa' with 'llvm' removed from 'inputs' (and "-Dllvm=true" removed from the configure flags), then add a local variant of 'gtk+' that uses your local 'mesa', and finally add a local variant of 'emacs' that uses your local 'gtk+'. I guess those last two steps could be replaced by deep package rewrites, although I've never used that functionality since I prefer the more flexible "private git branch" approach to customizing Guix to my preferences. Mark