Some Python and npm libraries require C/C++ library dependencies (libfoo-dev) at install time to compile against. Because these are usually small, we've included in them in the relevant docker image upon request. But for buildpacks, we should be able to allow users to specify what packages they need in a manifest.
For now I think we should recommend (but not necessarily enforced) this be used just for straightforward library dependencies and not large tooling like tesseract, imagemagick, rsvg, etc. Those CLI tools would be better served by providing mixins for the run image.
Example for the ldap tool, which requires the python-ldap library:
backend: kubernetes canonical: True type: python3.7 apt_packages: - libldap2-dev - libsasl2-dev