On Sep 30, 2014, at 11:25 PM, Sean Farley wrote:
> 
> Ryan Schmidt writes:
> 
>> On Sep 30, 2014, at 10:48 PM, Sean Farley wrote:
>>> 
>>> Variants create a new node in the dependency DAG. Subports create a new
>>> node in the dependency DAG. There is no topological difference. The only
>>> difference is in how they were implemented.
>> 
>> As far as I understand, variants are not involved in the dependency DAG in 
>> MacPorts at this time. Only ports/subports are.
> 
> Variants *in MacPorts* are not involved in the DAG *due to
> implementation*. They do indeed change the graph.

I guess I'm not familiar with what graph you're talking about. I'm only 
concerned with how dependencies work in MacPorts, not some other real or 
hypothetical package manager.


>>> It is understandable to not want to implement the greater complexity.
>>> Your proposal is to get rid of gcc for compiling C/C++. If that's the
>>> direction MacPorts wants to go, then I'd request that it be uniform: no
>>> port has any variant to change the C/C++ compilers.
>> 
>> As I understand it, it is indeed our goal for ports not to have variants 
>> that change the C/C++ compilers. However, many ports have gcc variants from 
>> years ago before we fully understood the C++ standard library mismatch 
>> issues and they have not been updated. For each port that has compiler 
>> variants, we would need to examine them to see why they do that, and how to 
>> safely remove them.
> 
> The thorny ports (perhaps more) will be ATLAS and boost. A good place to
> start would be to simplify the ports that use the compilers port group
> and refactor that to make it use the configure.compiler logic. After
> that, there are approximately 118 ports that use gcc as a compiler.

Yes, atlas has a bunch of compiler variants. I would love for most or all of 
them to go away. But part of atlas needs fortran so it needs to deal with that 
at least. And I believe Vince argued that for atlas and other 
performance-critical scientific software it is beneficial to be able to try 
different compilers to get the absolute best performance. I'm not sure who 
actually has time to do that however. Also, atlas already builds itself 
multiple times with different compiler options to get best performance, which 
is why building atlas takes so long.

I already "fixed" boost by removing the use of the mpi portgroup. If mpi 
support needs to be brought back, then a general solution needs to be found for 
the mpi portgroup, which based on what you said earlier might be as simple as 
deferring its work until the pre-configure block.


_______________________________________________
macports-dev mailing list
[email protected]
https://lists.macosforge.org/mailman/listinfo/macports-dev

Reply via email to