New review comment by ahesford on void-packages repository https://github.com/void-linux/void-packages/pull/23515#discussion_r453153283 Comment: > Most of the other helpers seem to add stuff unconditionally. Why not here? This isn't true. The `gir.sh` and `qemu.sh` helpers both do conditional appends to `hostmakedepends` and `makedepends` as is done here. The other helpers, `qmake.sh` and `rust.sh`, don't modify `*depends` at all. > I would have something like [...] Switching `makedepends` and `hostmakedepends` would have the same outcome, but I think it breaks with "correct" templating for Python. In many cases, Python packages have to be in `hostmakedepends` so that the host interpreter can run them or at least confirm that they are available at build time. (I actually think there are many templates that get this wrong; the fact that `setuptools` will use `pip` or `easy_install` to download dependencies on the host often hides this mistake by populating `wrksrc` with Python eggs to satisfy missing dependencies.) Often, Python packages (especially pure Python) never need to be in `makedepends` at all. Packages like `python3-scipy` are special cases because they link C and FORTRAN against a library provided with `python3-numpy`. That needs to be in `makedepends` but, on native builds, we happen to already have provided the needed dependency. To improve consistency with best practice for other Python dependencies, I think `hostmakedepends` should be the "standard" variable here, with `makedepends` added to fill the hole for cross builds.