ison <i...@airmail.cc> writes:
> Maybe the current discussion is trying too hard to emulate Gentoo's USE > flags and dependency graph concept (perhaps its my fault for bringing up > global flags). But that feels like introducing "side effects", and maybe the > whole idea should be treated more "functionally" in Guix. > > That is, simplify the problem to the mere concept of passing arguments to > functions and nothing more. Take the headless server example: some parameter > is passed to a package such as > '("-X") > That package would then be entirely responsible for what to do with them. If > the package decides not to pass the same parameters to its inputs then the > inputs are simply built without any parameters. I think this is a sensible approach, though it would require agreement or at least coordination among package contributors about what parameters to use. For example, one such parameter could be “#:headless” to disable any graphical user interface or desktop feature, but a case could just as well be made for “#:gui” or “#:graphical”… Coordination hasn’t been a problem so far because we managed to agree on build systems and utilities, but it seems to me that parameters to match on span a much larger range — I feel reminded of the problem of package tags or categories, which are a similarly large field that defies agreement. -- Ricardo