On 12/07/2020 18:53, John Ericson wrote: > Hi, I am another NixOS maintainer. > > Yes, it is true that ?= in makefiles is somewhat rare, and that we can work > around this other ways. But it was I who proposed the ?= change on our > side[1], so let say why I think it's the right choice: > > Most C packages don't use "?=" and do > FOO ?= foo > but instead do have a configure script, so they do > FOO = @FOO@ > with regular "=". However that configure script *does* silently consume > environment variables, so the effect is the same. > > I wouldn't request upstream add a configure script is nothing is needed, and > I don't even like the implicitness of environment variables myself. But the > fact is it is the standard for distros to communicate information to all the > myriad build systems[2], so I advocate this change so distros can remove > extra packaging hacks. > > The variable we need to override is PKG_CONFIG. One may right point out that > other distros don't rename pkg-config, but that's because most derivations > don't support cross compilation. NixOS does, but NixOS is not the only one: > See also Exerho and their dnsmasq packaging[3] which has the same > workarounds. We hope that cross compilation becomes less niche, but that > means more people and projects will be affected by these sorts of things.
I don't like taking random stuff from an uncontrolled namespace which is what the Unix environment is. I'd argue that Exerho's approach is the right one: there's a list of exactly what is being used from the environment, right there, and an adaptation layer if the same thing has different names in the build system and the makefile. I would note, however, that the dnsmasq makefile doesn't set the value of CC at all, and uses it direct from the environment, if set. I guess that one, at least is universal. Looking at some random source trees floating in my home directory, neither libnettle nor BIND seem to import stuff will-nilly from the environment. Cheers, Simon. _______________________________________________ Dnsmasq-discuss mailing list Dnsmasq-discuss@lists.thekelleys.org.uk http://lists.thekelleys.org.uk/mailman/listinfo/dnsmasq-discuss