It's a problem of altering the embedded paths to point at the nix store. There are some tools for doing that -- patchelf, etc. -- but it's far more difficult to get all that right than to compile from source.
A source package using autoconf will, in general, just work. A binary package always needs extra work.