On Mon, 01 Aug 2022, Tobias Geerinckx-Rice <m...@tobias.gr> wrote: > As ( implies, it's a strange thing to do. There might be a better > solution to whatever your unspecified problem is.
Here's my full use case. I do dynamic binary instrumentation. I basicaly insert call/jump at runtime in programs for executing callback. I use Guix for its workflow extension (GWL) to produce scientific metrics for my research. I also use Guix to run binaries in a profile with debug symbols available. The latter case is a stress test to see if the instrumenter keep the integrity of the instrumented software. For example I want to instrument `ls' from coreutils. So I would need `coreutils' and `coreutils:debug'. These _could_ be added to the native-inputs of my package. However, I also want to test instrumentation on many packages (~50). These other packages lack the `:debug' output that is required by my tools. Furthermore, I don't want to add a very long list of packages to my native-inputs and maintain it. So what I do is that I have a Guix channel inside my project. Inside that channel I define all the packages that I need with the debug output added. I can then use them for testing like so `guix shell -L .guix my-git my-git:debug'. If you think there's a better solution then I'm open to heard it. -- Olivier Dion oldiob.dev