conda/conda-build — pull request #195 by ddale (2014-08-28 15:36:39+00:00)
Title: automatically handles text and binary has_prefix_files

I have been working on a somewhat complicated conda package (qt5) which has required several tweaks to how conda/conda-build deal with hard-coded file paths in order to relocate the library. I just realized that the accumulation of these tweaks would allow conda-build to automatically identify binary and text files with such hard-coded paths, such that it would not be necessary to list them in `meta.yaml` under `has_prefix_files` and `binary_has_prefix_files`. This pull request implements this feature, and it actually simplifies conda-build's `build` and `config` modules somewhat.

However, this feature requires using a long build prefix for all packages, since conda-build would not know whether the long build prefix were necessary until after installing. At the moment, conda-build (master) inspects `meta.yaml` to see if there are any `binary_has_prefix_files`, and if so, it uses a long build prefix padded to 80 characters, like `_build_placehold_placehold_[...]`, in order to give enough space to insert the installation path when conda install relocates the library. I submitted a pull request a while back that simply changed the build path to something long, and it was accepted but changed to use a shorter build path when the long one was not needed. This added a fair bit of complexity to conda-build's configure module, and created an issue that is still open (conda/conda-build#191).