[110215] trunk/dports/math/R/Portfile

jeremyhu at macports.org jeremyhu at macports.org
Wed Aug 28 14:26:41 PDT 2013


Revision: 110215
          https://trac.macports.org/changeset/110215
Author:   jeremyhu at macports.org
Date:     2013-08-28 14:26:41 -0700 (Wed, 28 Aug 2013)
Log Message:
-----------
R: Use fortran recipe (closes #40173)

Modified Paths:
--------------
    trunk/dports/math/R/Portfile

Modified: trunk/dports/math/R/Portfile
===================================================================
--- trunk/dports/math/R/Portfile	2013-08-28 21:24:33 UTC (rev 110214)
+++ trunk/dports/math/R/Portfile	2013-08-28 21:26:41 UTC (rev 110215)
@@ -8,7 +8,7 @@
 
 name                        R
 version                     ${major}.${minor}.${point}
-revision                    1
+revision                    2
 categories                  math science
 maintainers                 me.com:kjell.konis
 license                     {GPL-2 GPL-3}
@@ -50,8 +50,6 @@
 
 configure.pre_args          --prefix=${frameworks_dir}
 
-configure.cflags-append     -DOS_OBJECT_USE_OBJC=0
-
 configure.args              --enable-R-framework \
                             --enable-R-shlib \
                             --enable-BLAS-shlib \
@@ -95,16 +93,48 @@
     configure.optflags-append -g
 }
 
-variant gcc45 conflicts gcc46 gcc47 description {build with gcc45} {
-    configure.compiler      macports-gcc-4.5
+set gcc_versions {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} "."] ""]
+
+    set variant_line {variant gcc${ver_no_dot} description "build with gfortran from gcc${ver_no_dot}"}
+
+    foreach over ${gcc_versions} {
+        if {${ver} == ${over}} {
+            continue
+        }
+
+        set over_no_dot [join [split ${over} "."] ""]
+        append variant_line " conflicts gcc${over_no_dot}"
+    }
+    append variant_line { {}}
+
+    eval $variant_line
+
+    if {[variant_isset gcc${ver_no_dot}]} {
+        if {${default_fortran_variant} != "+gcc${ver_no_dot}"} {
+            set default_fortran_variant ""
+        }
+    }
 }
 
-variant gcc46 conflicts gcc45 gcc47 description {build with gcc46} {
-    configure.compiler      macports-gcc-4.6
+if {${default_fortran_variant} != ""} {
+    default_variants-append "${default_fortran_variant}"
 }
 
-variant gcc47 conflicts gcc45 gcc46 description {build with gcc47} {
-    configure.compiler      macports-gcc-4.7
+foreach ver ${gcc_versions} {
+    set ver_no_dot [join [split ${ver} "."] ""]
+
+    if {[variant_isset gcc${ver_no_dot}]} {
+        depends_lib-append path:lib/libgcc/libgcc_s.1.dylib: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}
+    }
 }
 
 variant recommended description {Install recommended R packages} {
@@ -146,10 +176,6 @@
     default_variants-append +accelerate
 }
 
-if {![variant_isset gcc45] && ![variant_isset gcc46] && ![variant_isset gcc47]} {
-    default_variants-append +gcc47
-}
-
 destroot.destdir prefix=${destroot}${frameworks_dir}
 
 post-destroot {
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.macosforge.org/pipermail/macports-changes/attachments/20130828/5bfc8932/attachment.html>


More information about the macports-changes mailing list