Consider this example: --8<---------------cut here---------------start------------->8--- $ guix describe Generacio 162 Oct 01 2020 00:23:38 (nuna) guix 7607ace repository URL: https://git.savannah.gnu.org/git/guix.git branch: master commit: 7607ace5091aea0157ba5c8a508129cc5fc4f931 $ guix build inkscape --no-grafts -d /gnu/store/arjs5hb4wmy6dh5d3y8bbs808ki9abf8-inkscape-1.0.1.drv $ guix build inkscape --no-grafts -d --with-graft=glib=glib-networking /gnu/store/zd8mm3w6x9c97anfaly77fz28s5y3i5h-inkscape-1.0.1.drv $ guix build inkscape --no-grafts -d --with-graft=libreoffice=abiword /gnu/store/arjs5hb4wmy6dh5d3y8bbs808ki9abf8-inkscape-1.0.1.drv --8<---------------cut here---------------end--------------->8--- The last one is fine: it has no effect. The second one is problematic: since we’re using ‘--no-grafts’, the ‘--with-graft’ option should have absolutely no effect; yet, it yields a different derivation. On closer inspection, we see that the core issue is that ‘gobject-introspection’ in the second case ends up with ‘libffi’ twice in its ‘*-guile-builder’ script, a problem similar to . (‘libffi’ is propagated by both ‘glib’ and ‘gobject-introspection’.) Ludo’.