Hi, I was wondering why I sended patches that do not improve anything. After some more investigation I found out again what the patches improve: The source is repacked by guix and the patches applied before the source is stored in the store. With the current guix: ┌──── │ ~/src/guix/build$ tar -tf `guix build -S emacs-clang-format` │ cfe-6.0.1.src/ │ cfe-6.0.1.src/.arcconfig │ cfe-6.0.1.src/.clang-format │ cfe-6.0.1.src/.clang-tidy │ cfe-6.0.1.src/.gitignore │ cfe-6.0.1.src/CMakeLists.txt │ cfe-6.0.1.src/CODE_OWNERS.TXT │ cfe-6.0.1.src/INPUTS/ │ cfe-6.0.1.src/INPUTS/Cocoa_h.m │ cfe-6.0.1.src/INPUTS/all-std-headers.cpp │ cfe-6.0.1.src/INPUTS/c99-intconst-1.c │ cfe-6.0.1.src/INPUTS/carbon_h.c │ cfe-6.0.1.src/INPUTS/cfg-big-switch.c │ cfe-6.0.1.src/INPUTS/cfg-long-chain1.c │ cfe-6.0.1.src/INPUTS/cfg-long-chain2.c │ cfe-6.0.1.src/INPUTS/cfg-long-chain3.c │ cfe-6.0.1.src/INPUTS/cfg-nested-switches.c │ cfe-6.0.1.src/INPUTS/cfg-nested-var-scopes.cpp │ cfe-6.0.1.src/INPUTS/iostream.cc │ cfe-6.0.1.src/INPUTS/macro_pounder_fn.c │ cfe-6.0.1.src/INPUTS/macro_pounder_obj.c │ cfe-6.0.1.src/INPUTS/stpcpy-test.c │ cfe-6.0.1.src/INSTALL.txt │ cfe-6.0.1.src/LICENSE.TXT │ cfe-6.0.1.src/ModuleInfo.txt │ cfe-6.0.1.src/NOTES.txt │ ... < the rest of clangs sources > └──── With the patches applied: ┌──── │ ~/src/guix/build$ tar -tf `guix build -S emacs-clang-format` │ ... < repacking and building the source> │ successfully built /gnu/store/yds0n90idgaa65ladnpbcdjkqgs8l61d-emacs-clang-format-6.0.1.tar.xz.drv │ cfe-6.0.1.src/ │ cfe-6.0.1.src/clang-format.el └──── So it does save disk space. I also think that these sources can be substituted (This may still not be the case though). The term source derivation is mentioned in the description of guix builds `-S` option. I would argue that I implement the file deletion in the source snippet in package-elisp-from-package. I hope this makes clear what the purpose of the first two patches is. Tim.