tech-pkg archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: lang/ocaml generated PLIST



On Sunday, 13 June 2021 18:58:03 CEST Greg Troxel wrote:
> jperkin has a good point, that they catch failures to build things that
> should be built.  I wonder if there is some way to get the benefit of
> some check like that, without the PLIST pain.   That seems like
> something that has a similar conditional to define if the optional
> features should be built and checks them, but separated from the PLIST
> machinery.  I don't know if that idea actually makes any sense.

These conditionals are fairly delicate - whether particular features work on 
particular architectures is not always easy to keep track of, given the 
tendency of the OCaml upstream to make major changes without much warning and 
their reticence to take on our patches.

The problem for me, which has already led to some trouble in the past, is that 
I'm not able to test things on multiple architectures/OSes, so I'm not always 
sure whether an update may break things somewhere else. 

I do have a feeling the PLIST may be more complicated than is actually 
necessary: it might very well be the case that the 'nat' and 'opt' PLIST 
options are completely equivalent at the moment. 

What we could possibly do for 4.12 is to try and use the options framework to 
make it very explicit what gets built and what doesn't. Some of this is 
already supported by OCaml's configure (there's an option that determines 
whether the native compiler gets built, for example), some not (profiling is 
still set based on the architecture value), but that should be easy to patch 
and I figure that that's a patch that might actually get accepted by upstream.

We could then set conservative defaults, and possibly extend these defaults 
based on what we know about certain architectures. It wouldn't remove the 
PLIST pain altogether, but it would at least make testing easier, as I could 
just try all possible combinations of options without having to have access to 
all the different architectures.

best

  Jaap




Home | Main Index | Thread Index | Old Index