Opened 9 years ago

Closed 9 years ago

#49316 closed enhancement (fixed)

R: compilers portgroup, two fixes

Reported by: dstrubbe (David Strubbe) Owned by: kjellpk (Kjell Konis)
Priority: Normal Milestone:
Component: ports Version: 2.3.4
Keywords: haspatch Cc:
Port: R

Description (last modified by dstrubbe (David Strubbe))

Patch to use compilers PortGroup to manage Fortran variants (which adds support for gcc5, gcc6, g95, and dragonegg, and sets gcc5 as default -- passes test phase on my machine). Comments on necessity of clang for the C compiler (at least on Yosemite). Two small fixes: comment in configure.args was ending up in the middle of the configure line since more args are appended to this line, and therefore were probably ignored since they fall after the '#'. The require_active_variants line for tk should not use the path: dependency since tk is set as a port: dependency.

Attachments (1)

Portfile-R.diff (4.1 KB) - added by dstrubbe (David Strubbe) 9 years ago.

Download all attachments as: .zip

Change History (6)

Changed 9 years ago by dstrubbe (David Strubbe)

Attachment: Portfile-R.diff added

comment:1 Changed 9 years ago by dstrubbe (David Strubbe)

Description: modified (diff)

comment:2 Changed 9 years ago by kjellpk (Kjell Konis)

Maintainer here. Duplicate of #49266. The default fortran compiler should be that provided by gcc48 to match the official CRAN binary of R, unless there's a good MacPorts reason not to. Otherwise good to go (built and tested with gcc48 and gcc5).

Just out of curiosity, is this a situation where the port revision should be bumped?

comment:3 Changed 9 years ago by dstrubbe (David Strubbe)

Ha, funny that Sean was looking at this at the same time. Unfortunately given how our "Tickets filed against a specific port" search works with a regex, trying to search for "R" is pretty hopeless.

I don't think a revbump is needed, since what was already installed shouldn't change (except conceivably regarding the configure.args comment, if the trailing args are important).

Why is there a need for matching the GCC version used in some other binary? I don't see any mention of GCC versions at https://cran.r-project.org/bin/macosx. Anyway, gcc5 is the default Fortran compiler across MacPorts; it is helpful for ports to use the default unless there is a good reason otherwise, to minimize the need for users to install multiple versions of GCC.

comment:4 Changed 9 years ago by kjellpk (Kjell Konis)

The discussion is in the appendix (C.3.1) of the R Installation and Administration manual (https://cran.r-project.org/doc/manuals/r-release/R-admin.html#Mavericks-and-later). Following the manual is my only real motivation for gcc48 as default. If MacPorts has a default fortran compiler then, for me, that's a good enough reason to use it for the R port as well.

comment:5 Changed 9 years ago by dstrubbe (David Strubbe)

Resolution: fixed
Status: newclosed

My guess is that they used gcc 4.8 for Mavericks because that is what the latest stable gcc version was at the time, same as why they would use 4.2.3 for Snow Leopard, rather than because they thought 4.9 or 5 were not good.

Anyway, committed in r141379.

Note: See TracTickets for help on using tickets.