Hi,
I am packaging software (unflac
) that has a runtime dependency (ffmpeg
; ffprobe
to be specific). I always thought that it is enough to use buildInputs
(or the derivations thereof) for runtime dependencies. However, unflac
does not find ffprobe
when putting ffmpeg
into buildInputs
.
The package works fine when using
postInstall = ''
wrapProgram $out/bin/unflac \
--prefix PATH : ${lib.getBin ffmpeg}/bin
'';
Is this the correct way to package such requirements? Are the buildInputs
(and derivations thereof) only available during build time (I think they are not, but why is ffmpeg
then not available?). I guess buildInputs
does not work with binaries, is that so? What does buildInputs
do exactly then? I think this could be discussed in the Nixpkgs manual.