Hi Tobias, Tobias Geerinckx-Rice <m...@tobias.gr> writes:
> Mark H Weaver 写道: > >> I see two possible approaches: ffmpeg could be added to youtube-dl's >> propagated-inputs, or it could be instead be added to 'inputs', and >> we could substitute hardcoded paths to 'ffmpeg' in the built >> 'youtube-dl'. I generally tend to favor the latter approach, but >> there are valid arguments for each approach and I don't feel strongly >> about it. > > Which advantages does the former have? I wasn't aware of any. The former approach is arguably simpler, easier to maintain, and if the user upgrades only 'ffmpeg' while leaving 'youtube-dl' unchanged, with the latter approach 'youtube-dl' will continue using the old 'ffmpeg' with its potential security holes, which users unfamiliar with Guix might not expect. I still generally prefer the latter approach for several reasons, most notably because it means fewer dynamically-determined dependencies, which are contrary to our goals for reproducible behavior, i.e. that if the software in a given store item works today for your use case, it will work the same way tomorrow. However, it's worth noting that this property is less useful for a program like 'youtube-dl', because a copy of 'youtube-dl' that works today might well stop working tomorrow because of changes made on the server side, regardless of our efforts. Mark