Hi Julien,
Julien Lepiller <julien@lepiller.eu> writes:
Toggle quote (15 lines)
> Hi, I've been looking at our current code and would like to propose the> attached patch for that issue.>> From cfd2c229087166ab4cc0a9e2bdb72c8b393bcdd5 Mon Sep 17 00:00:00 2001> From: Julien Lepiller <julien@lepiller.eu>> Date: Thu, 1 Aug 2019 22:09:38 +0200> Subject: [PATCH] guix: Recursively honor search paths of dependencies.>> * guix/packages.scm (all-transitive-inputs)> (package-all-transitive-inputs)> (package-all-transitive-native-search-paths): New procedures.> * guix/profiles.scm (package->manifest-entry): Use> package-all-transitive-native-search-paths to generate manifest search> paths.
As I recall this kind of solution has been proposed in the past andrejected. It's a reasonable suggestion, but I personally think that itgoes too far, because it would include a great many packages whose codeis nowhere to be found in the resulting profile. For example, it wouldinclude documentation generators used to build man pages, and thecompilers that were used to build those documentation generators, etc,all the way back to the early bootstrap binaries.
Having said this, I agree that there is a longstanding problem in Guixwith search-paths not including enough packages in its calculation.We've known about this problem for a long time, but as far as I know wehave not yet found a satisfactory solution.
Our current hacky workaround for problems like this has been to setcertain environment variables unconditionally in /etc/profile. Forexample, you'll see that MANPATH, INFOPATH, XDG_DATA_DIRS,XDG_CONFIG_DIRS, XCURSOR_PATH, DICPATH, and GST_PLUGIN_PATH are all setthere. See 'operating-system-etc-service' in (gnu system) for therelevant code.
At the very least, I think we should wait for input from Ludovic beforeapplying anything along these lines.
Anyway, thanks for looking into it and making the proposal.
Best, Mark