# $Id$ PortSystem 1.0 set major 2 set minor 15 set point 0 name R-framework conflicts R version ${major}.${minor}.${point} categories math science maintainers epfl.ch:kjell.konis license {GPL-2 GPL-3} platforms macosx description \ R is GNU S - an interpreted language for statistical computing long_description \ R is a language and environment for statistical computing and graphics. \ R provides a wide variety of statistical (linear and nonlinear modeling, \ classical statistical tests, time-series analysis, classification, \ clustering, ...) and graphical techniques, and is highly extensible. homepage http://www.r-project.org/ master_sites http://cran.us.r-project.org/src/base/R-2/ \ http://cran.ms.unimelb.edu.au/src/base/R-2/ \ http://cran.at.r-project.org/src/base/R-2/ \ http://cran.hu.r-project.org/src/base/R-2/ \ http://cran.r-project.org/src/base/R-2/ distname R-${version} dist_subdir R checksums rmd160 eef2b98441469b21aff9b013986c89c3c57908b0 \ sha256 6f26304773e92d8b61f150e1ccd21c153a32b89e8032b1ece45e5f4c34d9e397 depends_build port:pkgconfig depends_lib port:readline \ port:icu \ port:libiconv universal_variant no set resources ${frameworks_dir}/R.framework/Versions/${major}.${minor}/Resources post-patch { reinplace "s|R_HOME|\"${resources}\"|" "${worksrcpath}/src/unix/Rscript.c" } configure.env-append r_arch=${build_arch} configure.pre_args --prefix=${frameworks_dir} configure.args --enable-R-framework \ --enable-R-shlib \ --enable-BLAS-shlib \ --enable-openmp \ --with-blas="-framework vecLib" \ --with-lapack="-framework vecLib" \ --with-readline \ --with-aqua \ --without-tcltk \ --without-cairo \ --with-libpng \ --without-jpeglib \ --without-recommended-packages \ --with-ICU \ --without-x \ --with-included-gettext variant cairo requires x11 description {Use cairo and pango} { depends_lib-append path:lib/pkgconfig/cairo.pc:cairo \ path:lib/pkgconfig/pango.pc:pango \ path:lib/pkgconfig/glib-2.0.pc:glib2 \ port:freetype \ port:fontconfig \ port:gettext configure.args-delete --without-cairo configure.args-append --with-cairo } variant debug description {Build with debug symbols} { configure.optflags-append -g } variant gcc45 conflicts gcc46 llvm_gcc42 description {build with gcc45} { depends_lib-append port:gcc45 configure.compiler macports-gcc-4.5 configure.objc /usr/bin/gcc configure.env-append "OBJCXX=${configure.objc}" } variant gcc46 conflicts gcc45 llvm_gcc42 description {build with gcc46} { depends_lib-append port:gcc46 configure.compiler macports-gcc-4.6 configure.objc /usr/bin/gcc configure.env-append "OBJCXX=${configure.objc}" } variant llvm_gcc42 conflicts gcc45 gcc46 description {build with llvm-gcc42} { depends_lib-append port:llvm-gcc42 configure.compiler macports-llvm-gcc-4.2 configure.ldflags-append -L${prefix}/lib/llvm-gcc42 -lgfortran } variant recommended description {Install recommended R packages} { configure.args-delete --without-recommended-packages configure.args-append --with-recommended-packages } variant tcltk requires x11 description {Use tcltk} { depends_lib-append port:tcl \ port:tk \ port:xorg-libXScrnSaver \ port:xorg-libXext configure.args-delete --without-tcltk configure.args-append --with-tcltk \ --with-tcl-config=${prefix}/lib/tclConfig.sh \ --with-tk-config=${prefix}/lib/tkConfig.sh } variant x11 description { depends_lib-append port:xorg-libsm \ port:xorg-libice \ port:xorg-libX11 \ port:xorg-libXt \ port:tiff \ port:jpeg \ port:libpng \ port:zlib configure.args-delete --without-x \ --without-jpeglib configure.args-append --with-x \ --with-jpeglib \ --x-include=${prefix}/include/X11 \ --x-lib=${prefix}/lib } default_variants +cairo +recommended +tcltk +x11 if {![variant_isset gcc45] && ![variant_isset gcc46] && ![variant_isset llvm_gcc42]} { default_variants-append +llvm_gcc42 } destroot.destdir prefix=${destroot}${frameworks_dir} post-destroot { move ${destroot}${frameworks_dir}/lib/pkgconfig/libR.pc ${destroot}${prefix}/lib/pkgconfig/libR.pc foreach v { "rhome" "rincludedir" } { reinplace "s|${v}=${destroot}|${v}=|" "${destroot}${prefix}/lib/pkgconfig/libR.pc" } foreach dir { "R_HOME_DIR" "R_SHARE_DIR" "R_INCLUDE_DIR" "R_DOC_DIR" } { reinplace "s|${dir}=${destroot}|${dir}=|" "${destroot}${resources}/bin/R" } reinplace "s|R_ARCH=/`arch`|R_ARCH=/${build_arch}|" "${destroot}${resources}/bin/R" reinplace "s|-F${destroot}|-F|" "${destroot}${resources}/etc/${build_arch}/Makeconf" file delete ${destroot}${resources}/lib/libR.dylib file delete ${destroot}${resources}/lib/libRblas.dylib file delete ${destroot}${resources}/lib/libRlapack.dylib foreach dylib [ exec find ${destroot}${frameworks_dir}/R.framework -name "\*.dylib" ] { regsub ":$" ${dylib} "" destroot_dylib_path regsub ${destroot} ${destroot_dylib_path} "" dylib_path system "install_name_tool -id ${dylib_path} ${destroot_dylib_path}" system "install_name_tool -change ${destroot}${resources}/lib/libR.dylib ${resources}/lib/${build_arch}/libR.dylib \ ${destroot_dylib_path}" system "install_name_tool -change ${destroot}${resources}/lib/libRblas.dylib ${resources}/lib/${build_arch}/libRblas.dylib \ ${destroot_dylib_path}" system "install_name_tool -change ${destroot}${resources}/lib/libRlapack.dylib ${resources}/lib/${build_arch}/libRlapack.dylib \ ${destroot_dylib_path}" } foreach so [ exec find ${destroot}${frameworks_dir}/R.framework -name "\*.so" ] { regsub ":$" ${so} "" destroot_so_path regsub ${destroot} ${destroot_so_path} "" so_path system "install_name_tool -id ${so_path} ${destroot_so_path}" system "install_name_tool -change ${destroot}${resources}/lib/libR.dylib ${resources}/lib/${build_arch}/libR.dylib \ ${destroot_so_path}" system "install_name_tool -change ${destroot}${resources}/lib/libRblas.dylib ${resources}/lib/${build_arch}/libRblas.dylib \ ${destroot_so_path}" system "install_name_tool -change ${destroot}${resources}/lib/libRlapack.dylib ${resources}/lib/${build_arch}/libRlapack.dylib \ ${destroot_so_path}" } system "install_name_tool -change ${destroot}${resources}/lib/libR.dylib ${resources}/lib/${build_arch}/libR.dylib \ ${destroot}${resources}/bin/exec/${build_arch}/R" system "install_name_tool -change ${destroot}${resources}/lib/libRblas.dylib ${resources}/lib/${build_arch}/libRblas.dylib \ ${destroot}${resources}/bin/exec/${build_arch}/R" ln -s ${build_arch}/libR.dylib ${destroot}${resources}/lib/libR.dylib ln -s ${build_arch}/libRblas.dylib ${destroot}${resources}/lib/libRblas.dylib ln -s ${build_arch}/libRlapack.dylib ${destroot}${resources}/lib/libRlapack.dylib ln -s ${resources}/bin/R ${destroot}${prefix}/bin/R ln -s ${resources}/bin/Rscript ${destroot}${prefix}/bin/Rscript } livecheck.type regex livecheck.url [lindex ${master_sites} 0] livecheck.regex >R-(\[0-9.\]+)${extract.suffix}<