On Sun, Mar 05, 2017 at 10:23:48PM -0500, Kei Kebreau wrote: > Danny Milosavljevic writes: > > It's not finished. http://git.suckless.org/surf/tree/config.def.h#n38 > > invokes xprop and dmenu - and these places would have to be > > substituted by store references, like: > > > > (substitute* "tree/config.def.h" > > (("xprop") (string-append (assoc-ref inputs "xprop") "/bin/xprop")) > > (("dmenu") (string-append (assoc-ref inputs "dmenu") "/bin/dmenu"))) > > > > I'm not sure whether Guix will retain the store references on the next > > GC, though. > > I'm sure Guix does, considering we use this trick for all sorts of > packages, including important ones like shadow. Basically, after building the package, Guix scans the built output for store references. That is, strings like '/gnu/store/cabba9e...-foo-1.0/'. If it finds them, they are recorded in a database in $localstatedir. If the store references are obscured somehow [0], this method fails and things break. So, as long as 'tree/config.def.h' is included in the built output of surf as plaintext, everything should work. [0] For example, in cases like these: https://bugs.gnu.org/24703 https://bugs.gnu.org/20765