On 17/05/17 15:53, Marius Bakke wrote: > Christopher Baines writes: > >> On Mon, 15 May 2017 17:59:42 +0200 >> Marius Bakke wrote: >> >>> Christopher Baines writes: >>>> + (add-after 'install 'wrap-tailon-path >>>> + (lambda* (#:key inputs outputs >>>> #:allow-other-keys) >>>> + (let ((out (assoc-ref outputs "out"))) >>>> + (substitute* (find-files out "commands.py") >>>> + (("self\\.first_in_path\\('grep'\\)") >>>> + (string-append"'" (which "grep") "'")) >>>> + (("self\\.first_in_path\\('gawk', >>>> 'awk'\\)") >>>> + (string-append"'" (which "gawk") "'")) >>>> + (("self\\.first_in_path\\('gsed', >>>> 'sed'\\)") >>>> + (string-append"'" (which "sed") "'")) >>>> + (("self\\.first_in_path\\('gtail', >>>> 'tail'\\)") >>>> + (string-append"'" (which "tail") "'"))) >>>> + #t)))))) >>> >>> Is there any particular reason this phase runs after 'install'? I >>> think we should try to avoid modifying files after they have been >>> copied to the store, but if doing this substitution earlier is >>> difficult I guess it's okay with a comment. >> >> No, I just put it there by default, but I can see why doing the >> substitution earlier would be better. I've sent another patch that >> moves it to after the unpack phase. > > Applied, thank you! My rationale was that the store may be on slow > storage (say NFS), whereas the build directory is probably a tmpfs > or local storage. > > Note: I replaced the "find-files" invocation with just the one file > path. Hope that was okay! Yep, looks good. Thanks for your review :)