TODO Expand on how to use this, and include examples
...and shortly after there's a broken link to a mailing list post.
What's the difference between these and regular tool, toolchain or build system packages? If I'm packaging, say, Premake (a tool that generates Makefiles, like CMake), should I create these stanzas for it?
The Host sections in some packages define what files are copied/build for the host only.
Those are only needed during build/compile time for cross-compilation, so stuff like helper bins or libs. So mainly libs often have this section, so the static .a lib file and pkgconfig will be copied.
That clarifies it a lot, thanks! I'll see if I can write something for the wiki on this.
Does that mean that things build as part of a Host/Compile section will be built for the host's architecture (eg. amd64) and not the target (eg. mipsel)?
All those host depends are needed to build samba4, so instead of relying on the host package manager or whatever is installed. We assume nothing is installed and build all depends our-self, we than make sure the package picks-up our versions via path search manipulations.
So all those packages also need its own host sections, so they are available to run on the host system. In samba's complicated case it depends itself on its own host pass, where it builds some host utils as well, before it can run the final cross-compile pass.
So here the host pass just builds/installs asn1_compile,compile_et for the later pass.
I've used the details in this and the other topic to update the wiki, see Creating packages > Host tools required. If you have the time @Andy2244, I'd appreciate a second pair of eyes to check that I haven't gotten the details wrong. Thanks again!