On Mon, Aug 26, 2013 at 6:57 AM, Peter Danecek <peter.dane...@bo.ingv.it> wrote:
>
> Hi all,
>
> I probably understand part of the content of this thread. But I am wondering, 
> if it would not make sense to have also a more granular port select mechanism 
> then?
>
> Currently, a somewhat unaware user like me, would just set the compiler suite 
> to some of the MP gcc to get fortran support (or whatever language is missing 
> for Apple's compilers), implying he is usually using MP C++ compilers for 
> manual builds as well.
>
> ~petr
>
>
> On Aug 25, 2013, at 19:17 , Jeremy Huddleston Sequoia <jerem...@macports.org> 
> wrote:
>
>> I noticed a bug in the original recipe for the default variant, and I fixed 
>> it in my push to blitz (r110049) and added the recipe to the wiki:
>>
>> https://trac.macports.org/wiki/PortfileRecipes#fortran
>>
>> --Jeremy
>>
>> On Aug 25, 2013, at 8:16, Jeremy Huddleston Sequoia <jerem...@macports.org> 
>> wrote:
>>
>>> Seeing as how many developers don't understand the problems surrounding 
>>> mixing multiple versions of the C++ runtime in a single process, I doubt 
>>> that users understand those problems.  I think the root port needs to be 
>>> simplified significantly.
>>>
>>> Does root use any C++ APIs exposed by the host or other ports?  Does root 
>>> expose any C++ APIs?  If the answer to either of those is yes, then 
>>> configure.cxx must be either an Apple-provided compiler or from the 
>>> clang-X.Y ports.  Similarly, if root uses any ObjC APIs provided by the 
>>> host or other ports, or if it provides any ObjC APIs to other ports, then 
>>> it must use an ObjC compiler provided by Apple or the clang-X.Y ports.
>>>
>>> For fortran needs, I suggest trying out the recipe I provided.
>>>
>>> --Jeremy
>>>
>>> On Aug 25, 2013, at 3:45, Chris Jones <jon...@hep.phy.cam.ac.uk> wrote:
>>>
>>>> Hi,
>>>>
>>>> For the science/root port, the reason the port provides variants to use 
>>>> various gcc (and clang) compilers is not really because of fortran. ROOT 
>>>> provides an interactive build environment, and that environment is based 
>>>> on the compiler used to build ROOT. As such the user might have a reason 
>>>> to want a particular compiler, so the port provides various options to 
>>>> allow this. So for this port, I don't think changing anything makes sense.
>>>>
>>>> cheers Chris
>>>>
>>>> On 25 Aug 2013, at 3:20am, Jeremy Huddleston Sequoia 
>>>> <jerem...@macports.org> wrote:
>>>>
>>>>> ping.  Can I please get some feedback on this?  Can some maintainers of 
>>>>> fortran ports in math/science categories give this a try?  We really need 
>>>>> to get ports weened off of g++-mp-4.X ...
>>>>>
>>>>> Thanks,
>>>>> Jeremy
>>>>>
>>>>> On Aug 19, 2013, at 15:05, Jeremy Huddleston Sequoia 
>>>>> <jerem...@macports.org> wrote:
>>>>>
>>>>>> Most ports that require fortran set configure.compiler to 
>>>>>> macports-gcc-4.X.  This gets the port a fortran compiler, but it also 
>>>>>> switches the C and C++ compilers as well.  If the port also has C and 
>>>>>> C++ sources, then it would be preferable to leave configure.cc and 
>>>>>> configure.cxx alone and just choose a fortran compiler.
>>>>>>
>>>>>> I'm suggesting that such ports be updated to do this and want some 
>>>>>> feedback on this Portfile recipe:
>>>>>>
>>>>>> set gcc_versions {4.3 4.4 4.5 4.6 4.7 4.8 4.9}
>>>>>> set default_fortran_variant "+gcc48"
>>>>>>
>>>>>> foreach ver ${gcc_versions} {
>>>>>> set ver_no_dot [join [split ${ver} "."] ""]
>>>>>> variant gcc${ver_no_dot} description {build with gfortran from 
>>>>>> gcc${ver_no_dot}} conflicts g95 {
>>>>>>   depends_lib-append port:libgcc
>>>>>>   depends_build-append port:gcc${ver_no_dot}
>>>>>>
>>>>>>   configure.fc  ${prefix}/bin/gfortran-mp-${ver}
>>>>>>   configure.f77 ${prefix}/bin/gfortran-mp-${ver}
>>>>>>   configure.f90 ${prefix}/bin/gfortran-mp-${ver}
>>>>>> }
>>>>>>
>>>>>> foreach over ${gcc_versions} {
>>>>>>   if {${ver} == ${over}} {
>>>>>>       continue
>>>>>>   }
>>>>>>
>>>>>>   set over_no_dot [join [split ${over} "."] ""]
>>>>>>   variant gcc${ver_no_dot} conflicts gcc${over_no_dot} {}
>>>>>> }
>>>>>>
>>>>>> variant g95 conflicts gcc${ver_no_dot} {}
>>>>>>
>>>>>> if {[variant_isset gcc${ver_no_dot}]} {
>>>>>>   set default_fortran_variant ""
>>>>>> }
>>>>>> }
>>>>>>
>>>>>> variant g95 description {build with g95} {
>>>>>> depends_build-append port:g95
>>>>>> configure.fc ${prefix}/bin/g95
>>>>>> configure.f77 ${prefix}/bin/g95
>>>>>> configure.f90 ${prefix}/bin/g95
>>>>>> }
>>>>>>
>>>>>> if {[variant_isset g95]} {
>>>>>> set default_fortran_variant ""
>>>>>> }
>>>>>>
>>>>>> if {${default_fortran_variant} != ""} {
>>>>>> default_variants ${default_fortran_variant}
>>>>>> }
>>>>>
>>>>>
>>>>> _______________________________________________
>>>>> macports-dev mailing list
>>>>> macports-dev@lists.macosforge.org
>>>>> https://lists.macosforge.org/mailman/listinfo/macports-dev
>>>>
>>>
>>> _______________________________________________
>>> macports-dev mailing list
>>> macports-dev@lists.macosforge.org
>>> https://lists.macosforge.org/mailman/listinfo/macports-dev
>>
>> _______________________________________________
>> macports-dev mailing list
>> macports-dev@lists.macosforge.org
>> https://lists.macosforge.org/mailman/listinfo/macports-dev
>
> _______________________________________________
> macports-dev mailing list
> macports-dev@lists.macosforge.org
> https://lists.macosforge.org/mailman/listinfo/macports-dev



-- 
Eric A. Borisch
_______________________________________________
macports-dev mailing list
macports-dev@lists.macosforge.org
https://lists.macosforge.org/mailman/listinfo/macports-dev

Reply via email to