# -*- coding: utf-8; mode: tcl; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- vim:fenc=utf-8:ft=tcl:et:sw=4:ts=4:sts=4 # $Id$ PortSystem 1.0 PortGroup active_variants 1.1 PortGroup cmake 1.0 PortGroup compiler_blacklist_versions 1.0 PortGroup github 1.0 PortGroup select 1.0 PortGroup xcodeversion 1.0 # don't forget to update both the git tag and the version github.setup root-mirror root 6-06-08 v version [string map {- .} ${github.version}] livecheck.version ${github.version} # github.setup root-mirror root # version 6.06.05 # livecheck.version 6-06-04 set version_major [lindex [split ${version} .] 0] checksums rmd160 547484b51868ee1368779a9e0aea310eda17a6f1 \ sha256 ce5f6c56f353e449792ed3c8c5367e5407093261355b905e388cd8e708b41d39 name root${version_major} categories science maintainers hep.phy.cam.ac.uk:jonesc mojca license LGPL-2.1+ description ROOT is a data analysis framework from CERN long_description The ROOT system provides a set of frameworks with all \ the functionality needed to handle and analyze large amounts \ of data in a very efficient way. homepage http://root.cern.ch/ platforms darwin dist_subdir root depends_lib port:expat \ port:gmp \ port:giflib \ port:jpeg \ port:libpng \ port:lzma \ port:ocaml \ port:ocaml-ctypes \ port:ocaml-findlib \ port:pcre \ port:tiff \ port:zlib \ port:xz # port:freetype depends_run port:root_select cmake.out_of_source yes # TODO: the file ${filespath}/${name} would have to be generated on the fly instead select.group root select.file ${filespath}/${name} # Force a compatible compiler compiler.blacklist-append *gcc* {clang < 500} macports-clang-3.3 compiler.fallback-append macports-clang-3.7 macports-clang-3.6 macports-clang-3.5 # port specific location set install_prefix ${prefix}/libexec/root${version_major} configure.args-append \ -Dgnuinstall=ON \ -Drpath=ON \ -DCMAKE_INSTALL_PREFIX="${install_prefix}" \ -DCMAKE_INSTALL_SYSCONFDIR="${install_prefix}/etc/root" \ -DCMAKE_INSTALL_NAME_DIR="${install_prefix}/lib/root" \ -Dfortran=OFF \ -Dbuiltin_davix=ON \ -Dbuiltin_freetype=ON \ -Dbuiltin_glew=OFF \ -Dbuiltin_pcre=OFF \ -Dbuiltin_zlib=OFF \ -Dbuiltin_lzma=OFF \ -Dbuiltin_afterimage=ON \ -Dfftw3=OFF \ -Dkrb5=OFF \ -Dldap=OFF \ -Dmysql=OFF \ -Dsqlite=OFF \ -Dodbc=OFF \ -Dopengl=OFF \ -Dpythia6=OFF \ -Dpythia8=OFF \ -Droofit=OFF \ -Dssl=OFF \ -Dxml=OFF \ -Dpython=OFF \ -Dfitsio=OFF \ -Dgsl_shared=OFF \ -Dbuiltin_gsl=OFF \ -Dpgsql=OFF \ -Ddcache=OFF \ -Dchirp=OFF \ -Dhdfs=OFF \ -Druby=OFF \ -Dminuit2=OFF \ -Dtmva=OFF \ -Dqt=OFF \ -Dqtgsi=OFF \ -Dbonjour=OFF \ -Dgviz=OFF \ -Dsoversion=OFF \ -Dcxx11=ON \ -Dcxx14=OFF \ -Dlibcxx=ON \ -Dxrootd=OFF \ -Dbuiltin_ftgl=ON \ -Dmathmore=OFF \ -Dgenvector=ON \ -Dmemstat=ON \ -Dunuran=ON \ -Dtable=ON \ -Dgdml=ON \ -Dhttp=OFF \ -Dvc=OFF \ -Dastiff=ON \ -Dgeocad=OFF \ -Dr=OFF \ -DPNG_LIBRARY=${prefix}/lib/libpng.dylib \ -DPNG_PNG_INCLUDE_DIR=${prefix}/include platform darwin { # No longer compiles on OSX10.6, due to update to internal LLVM version. # Disable build on this platform. if { ${os.major} < 11 } { pre-fetch { ui_error "${name} is not supported on this OSX release." return -code error "Unsupported OSX version" } } # Note that we are forcing this choice. This means that anything linking # against root6 needs to also be using libc++. This is possibly # problematic, but luckily there is just a limited set of such dependents. # Another problem is that all dependencies might need to be built-in # to make sure that they all use libc++. if { ${configure.cxx_stdlib} ne "libc++" } { configure.cxx_stdlib libc++ depends_lib-append port:libcxx } pre-configure { # replace # -DCMAKE_OSX_SYSROOT="/Developer/SDKs/MacOSX10.6.sdk" # -DCMAKE_OSX_DEPLOYMENT_TARGET="10.6" # with # -DCMAKE_OSX_SYSROOT="/" # -DCMAKE_OSX_DEPLOYMENT_TARGET="" configure.args-strsed "s|CMAKE_OSX_SYSROOT=\[^\[:blank:\]\]*|CMAKE_OSX_SYSROOT=\"/\"|" configure.args-strsed "s|CMAKE_OSX_DEPLOYMENT_TARGET=\[^\[:blank:\]\]*|CMAKE_OSX_DEPLOYMENT_TARGET=\"\"|" # Force use of system python in build scripts # Find command finds text files containing the string to be replaced. # shtest-encoding.py intentionally includes an unreadable character, so have to skip it ... set pystringtoreplace "/usr/bin/env python" foreach f [ exec find ${worksrcpath} -type f -and -not -name "shtest-encoding.py" -and -name "*.py" ] { reinplace "s|${pystringtoreplace}|/usr/bin/python|g" $f } } } post-destroot { # Temporary - Set execute flag on binaries (broken in 6.06.00) foreach f [glob -directory ${destroot}${install_prefix}/bin *] { system "chmod +x $f" } # create versioned symlinks for the content of libexec bin dir foreach f [glob -directory ${destroot}${install_prefix}/bin *] { set filename [file tail $f] set extension [file extension $filename] set base [file rootname $filename] set versioned_filename ${base}${version_major}${extension} ln -s ${install_prefix}/bin/${filename} ${destroot}${prefix}/bin/${versioned_filename} } # lib dir ln -s ${install_prefix}/lib/root ${destroot}${prefix}/lib/root${version_major} # include dir ln -s ${install_prefix}/include/root ${destroot}${prefix}/include/root${version_major} # etc dir ln -s ${install_prefix}/etc/root ${destroot}${prefix}/etc/root${version_major} # share dir ln -s ${install_prefix}/share ${destroot}${prefix}/share/root${version_major} # Compress manpages in custom location (borrowed from mariadb) set manpath ${install_prefix}/share/man set gzip [findBinary gzip ${portutil::autoconf::gzip_path}] foreach manpage [glob -type f ${destroot}${manpath}/man1/*] { # Zip the man file system "$gzip -9vf ${manpage}" # Create man pages for versioned files set filename [file tail $manpage] set extension [file extension $filename] set base [file rootname $filename] set versioned_filename ${base}${version_major}${extension}.gz set d [file tail $manpage] ln -s ${manpath}/man1/${d}.gz ${destroot}${prefix}/share/man/man1/${versioned_filename} } } set run_port_select "No" pre-activate { if { ![file exists ${prefix}/bin/root] && ![file exists ${prefix}/bin/root5] && ![file exists ${prefix}/bin/root6] } { set run_port_select "Yes" } } post-activate { ui_msg "======================================================================================" if { ${run_port_select} == "Yes" } { ui_msg " Making root${version_major} your default root version. To change this run 'sudo port select root'" catch { system "port select root root${version_major}" } } else { ui_msg " To make root${version_major} your default root version, run 'sudo port select root root${version_major}'" } ui_msg "======================================================================================" } universal_variant no default_variants +cocoa +ssl +xml +gsl +minuit2 +tmva +roofit +graphviz +opengl +soversion +http # Enable C++14 by default when Xcode allows (Xcode 6.3 onwards) if { [vercmp $xcodeversion "6.3"] >= 0 } { default_variants-append +cxx14 } variant qt4 description {Enable QT4 support} { configure.args-replace -Dqt=OFF -Dqt=ON PortGroup qt4 1.0 } variant cxx14 description {Enable c++14 compiler support} { configure.args-replace -Dcxx14=OFF -Dcxx14=ON # Update compiler blacklist to force use of MP's Clang 3.7 when required compiler.blacklist-append {clang < 602} macports-clang-3.4 } variant valgrind description {Build internal LLVM library with valgrind support} { depends_lib-append port:valgrind } variant http description {Build with HTTP Server library support} { configure.args-replace -Dhttp=OFF -Dhttp=ON } variant vc description {Build with Vc library support} { ui_msg "Vc support is currently disabled by upstream" # configure.args-replace -Dvc=OFF -Dvc=ON } variant debug description {Enable a debug build} { configure.args-append -DCMAKE_BUILD_TYPE=Debug } variant xrootd description {Build with XRootD support} { configure.args-replace -Dxrootd=OFF -Dxrootd=ON # configure.args-append -Dbuiltin_xrootd=ON configure.args-append -DXROOTD_INCLUDE_DIR="${prefix}/include/xrootd" depends_lib-append port:xrootd } variant soversion description {Build with soversion support} { configure.args-replace -Dsoversion=OFF -Dsoversion=ON } variant graphviz description {Build with graphviz support} { configure.args-replace -Dgviz=OFF -Dgviz=ON configure.args-append -DGRAPHVIZ_INCLUDE_DIR="${prefix}/include" # -DGRAPHVIZ_CDT_LIBRARY="${prefix}/lib/libcdt.dylib" \ # -DGRAPHVIZ_GRAPH_LIBRARY="${prefix}/lib/libcgraph.dylib" \ # -DGRAPHVIZ_GVC_LIBRARY="${prefix}/lib/libgvc.dylib" \ # -DGRAPHVIZ_PATHPLAN_LIBRARY="${prefix}/lib/libpathplan.dylib" depends_lib-append path:bin/dot:graphviz } variant avahi description {Build with avahi support} { configure.args-replace -Dbonjour=OFF -Dbonjour=ON # configure.args-append -DAVAHI_INCLUDE_DIR="${prefix}/include" \ # -DAVAHI_client_LIBRARY="${prefix}/lib" depends_lib-append port:avahi } variant fftw3 description {Build with fftw3 support} { configure.args-replace -Dfftw3=OFF -Dfftw3=ON configure.args-append -DFFTW_INCLUDE_DIR="${prefix}/include" \ -DFFTW_LIBRARY="${prefix}/lib/libfftw3.dylib" depends_lib-append port:fftw-3 } variant gsl description {Build with gsl support} { # Builtin GSL library #configure.args-replace -Dbuiltin_gsl=OFF -Dbuiltin_gsl=ON # External GSL library configure.args-replace -Dgsl_shared=OFF -Dgsl_shared=ON configure.args-append -DGSL_CONFIG_EXECUTABLE="${prefix}/bin/gsl-config" depends_lib-append port:gsl # Enable the MathMore library configure.args-replace -Dmathmore=OFF -Dmathmore=ON } variant fitsio description {Build with fitsio support} { configure.args-replace -Dfitsio=OFF -Dfitsio=ON configure.args-append -DCFITSIO_INCLUDE_DIR="${prefix}/include" \ -DCFITSIO_LIBRARIES="${prefix}/lib" depends_lib-append port:cfitsio } variant odbc description {Build with odbc support} { configure.args-replace -Dodbc=OFF -Dodbc=ON configure.args-append -DODBC_INCLUDE_DIR="${prefix}/include" \ -DODBC_LIBRARY="${prefix}/lib/libiodbc.dylib" depends_lib-append port:libiodbc } variant ldap description {Build with ldap support} { configure.args-replace -Dldap=OFF -Dldap=ON # configure.args-append -DLDAP_INCLUDE_DIR="${prefix}/include" \ # -DLDAP_LIBRARY="${prefix}/lib" depends_lib-append port:openldap } variant roofit description {Build the RooFit advanced fitting package} { configure.args-replace -Droofit=OFF -Droofit=ON } variant tmva description {Build the TMVA package} { configure.args-replace -Dtmva=OFF -Dtmva=ON } variant minuit2 description {Build with minuit2 support} { configure.args-replace -Dminuit2=OFF -Dminuit2=ON } variant opengl description {Build with opengl support} { configure.args-delete -Dopengl=OFF configure.args-delete -Dbuiltin_glew=OFF configure.args-append -Dopengl=ON -Dbuiltin_glew=ON } # ======================================================================================== # Setup various python variants # ======================================================================================== # List of possible python versions set python_versions { 2.6 2.7 3.3 3.4 } set default_python_variant +python27 # Define the available variants foreach py_ver ${python_versions} { set py_ver_no_dot [join [split ${py_ver} "."] ""] set variant_line {variant python${py_ver_no_dot} description "Build with python ${py_ver} support"} foreach py_over ${python_versions} { if { ${py_ver} == ${py_over} } { continue } set py_over_no_dot [join [split ${py_over} "."] ""] append variant_line " conflicts python${py_over_no_dot}" } append variant_line { { } } eval $variant_line if {[variant_isset python${py_ver_no_dot}]} { if {${default_python_variant} != "+python${py_ver_no_dot}"} { set default_python_variant "" } } } if {${default_python_variant} != ""} { default_variants-append "${default_python_variant}" } # If a python variant is enabled, activate it set active_python_version "" foreach py_ver ${python_versions} { set py_ver_no_dot [join [split ${py_ver} "."] ""] if {[variant_isset python${py_ver_no_dot}]} { set active_python_version ${py_ver} set active_python_version_no_dot ${py_ver_no_dot} # Check root5 variants pre-activate { set portname root5 if {![catch {set result [active_variants ${portname} python${active_python_version_no_dot}]}]} { if {$result} { ui_error "Cannot install ${name} with +python${active_python_version_no_dot} variant" return -code error "${portname} port is already installed with +python${active_python_version_no_dot} and both cannot be active at once. Pick a different python variant." } } } # Setup python set mypydir ${frameworks_dir}/Python.framework/Versions/${py_ver} configure.args-replace -Dpython=OFF -Dpython=ON configure.args-append -DPYTHON_INCLUDE_DIR="${mypydir}/Headers" \ -DPYTHON_EXECUTABLE="${mypydir}/bin/python${py_ver}" # Explicitly set python library if { [ file exists "${mypydir}/lib/libpython${py_ver}.dylib" ] } { configure.args-append -DPYTHON_LIBRARY="${mypydir}/lib/libpython${py_ver}.dylib" } elseif { [ file exists "${prefix}/lib/libpython${py_ver}.dylib" ] } { configure.args-append -DPYTHON_LIBRARY="${prefix}/lib/libpython${py_ver}.dylib" } depends_lib-append port:python${py_ver_no_dot} post-destroot { # Install PyROOT lib in the correct place set mypylibdir ${frameworks_dir}/Python.framework/Versions/${active_python_version}/lib/python${active_python_version} set mypysitedir ${mypylibdir}/site-packages/ file mkdir ${destroot}${mypysitedir} foreach pyfile [glob ${destroot}${install_prefix}/lib/root/*.py*] { move $pyfile ${destroot}${mypysitedir}/ } ln -sf ${install_prefix}/lib/root/libPyROOT.so ${destroot}${mypylibdir}/ # Fix python version in scripts set pystringtoreplace "/usr/bin/python" foreach f [ exec find ${destroot}${install_prefix} -type f -and -name "*.py" ] { reinplace "s|${pystringtoreplace}|${prefix}/bin/python${active_python_version}|g" $f } foreach f [ exec find ${destroot}${install_prefix}/bin -type f | xargs grep -Il ${pystringtoreplace} ] { reinplace "s|${pystringtoreplace}|${prefix}/bin/python${active_python_version}|g" $f } } } } # ======================================================================================== variant ssl description {Build with ssl support} { configure.args-replace -Dssl=OFF -Dssl=ON depends_lib-append path:lib/libssl.dylib:openssl } variant xml description {Build with xml support} { configure.args-replace -Dxml=OFF -Dxml=ON configure.args-append -DLIBXML2_INCLUDE_DIR="${prefix}/include/libxml2" \ -DLIBXML2_LIBRARIES="${prefix}/lib/libxml2.dylib" \ -DLIBXML2_XMLLINT_EXECUTABLE="${prefix}/bin/xmllint" depends_lib-append port:libxml2 } variant sqlite3 description {Build with sqlite3 support} { configure.args-replace -Dsqlite=OFF -Dsqlite=ON depends_lib-append port:sqlite3 } variant mysql conflicts mysql51 mysql55 mysql56 mariadb percona description {Build with mysql5 support} { configure.args-replace -Dmysql=OFF -Dmysql=ON configure.args-append -DMYSQL_CONFIG_EXECUTABLE=${prefix}"/lib/mysql5/bin/mysql_config" depends_lib-append port:mysql5 } variant mysql51 conflicts mysql mysql55 mysql56 mariadb percona description {Build with mysql51 support} { configure.args-replace -Dmysql=OFF -Dmysql=ON configure.args-append -DMYSQL_CONFIG_EXECUTABLE=${prefix}"/lib/mysql51/bin/mysql_config" depends_lib-append port:mysql51 } variant mysql55 conflicts mysql mysql51 mysql56 mariadb percona description {Build with mysql55 support} { configure.args-replace -Dmysql=OFF -Dmysql=ON configure.args-append -DMYSQL_CONFIG_EXECUTABLE=${prefix}"/lib/mysql55/bin/mysql_config" depends_lib-append port:mysql55 } variant mysql56 conflicts mysql mysql51 mysql55 mariadb percona description {Build with mysql56 support} { configure.args-replace -Dmysql=OFF -Dmysql=ON configure.args-append -DMYSQL_CONFIG_EXECUTABLE=${prefix}"/lib/mysql56/bin/mysql_config" depends_lib-append port:mysql56 } variant mariadb conflicts mysql mysql51 mysql55 mysql56 percona description {Build with mariadb support} { configure.args-replace -Dmysql=OFF -Dmysql=ON configure.args-append -DMYSQL_CONFIG_EXECUTABLE=${prefix}"/lib/mariadb/bin/mysql_config" depends_lib-append port:mariadb } variant percona conflicts mysql mysql51 mysql55 mysql56 mariadb description {Build with percona support} { configure.args-replace -Dmysql=OFF -Dmysql=ON configure.args-append -DMYSQL_CONFIG_EXECUTABLE=${prefix}"/lib/percona/bin/mysql_config" depends_lib-append port:percona } variant postgresql90 conflicts postgresql92 description {Build with PostgreSQL 9.0 support} { configure.args-replace -Dpgsql=OFF -Dpgsql=ON configure.args-append -DPOSTGRESQL_INCLUDE_DIR="${prefix}/include/postgresql90"\ -DPOSTGRESQL_LIBRARY="${prefix}/lib/postgresql90/libpq.dylib" depends_lib-append port:libpqxx port:postgresql90 } variant postgresql92 conflicts postgresql90 description {Build with PostgreSQL 9.2 support} { configure.args-replace -Dpgsql=OFF -Dpgsql=ON configure.args-append -DPOSTGRESQL_INCLUDE_DIR="${prefix}/include/postgresql92" \ -DPOSTGRESQL_LIBRARY="${prefix}/lib/postgresql92/libpq.dylib" depends_lib-append port:libpqxx port:postgresql92 } # variant oracle description {Build with Oracle support} { # configure.args-replace --disable-oracle --enable-oracle # configure.args-append -DORACLE_PATH_INCLUDES="${prefix}/lib/oracle/sdk/include" \ # -DORACLE_PATH_LIB="${prefix}/lib/oracle" \ # -DORACLE_OCI_VERSION=8 # depends_lib-append port:oracle-instantclient # } variant pythia description {Enables Pythia 8 support} { configure.args-replace -Dpythia8=OFF -Dpythia8=ON configure.args-append -DPYTHIA8_INCLUDE_DIR=${prefix}/include/pythia \ -DPYTHIA8_LIBRARY=${prefix}/lib/libpythia8.dylib depends_lib-append port:pythia } variant cocoa conflicts x11 description {Enables native OSX graphical backend} { # Enable cocoa support in configure configure.args-append -Dcocoa=ON -Dx11=OFF } variant x11 conflicts cocoa description {Enables X11 graphical backend} { # Dependencies on X11 ports depends_lib-append port:xorg-libX11 port:mesa port:libGLU port:Xft2 port:xpm # Disable cocoa configure.args-append -Dcocoa=OFF -Dx11=ON \ -DOPENGL_INCLUDE_DIR=${prefix}/include \ -DOPENGL_gl_LIBRARY=${prefix}/lib/libGL.dylib \ -DX11_ICE_INCLUDE_PATH=${prefix}/include \ -DX11_SM_INCLUDE_PATH=${prefix}/include \ -DX11_X11_INCLUDE_PATH=${prefix}/include \ -DX11_Xext_INCLUDE_PATH=${prefix}/include \ -DX11_Xft_INCLUDE_PATH=${prefix}/include \ -DX11_Xpm_INCLUDE_PATH=${prefix}/include \ -DX11_ICE_LIB=${prefix}/lib/libICE.dylib \ -DX11_SM_LIB=${prefix}/lib/libSM.dylib \ -DX11_X11_LIB=${prefix}/lib/libX11.dylib \ -DX11_Xext_LIB=${prefix}/lib/libXext.dylib \ -DX11_Xft_LIB=${prefix}/lib/libXft.dylib \ -DX11_Xpm_LIB=${prefix}/lib/libXpm.dylib \ -DOPENGL_glu_LIBRARY=${prefix}/lib/libGLU.dylib } # ======================================================================================== # Setup various clang variants, to provide alternative C++ compilers that support cocoa # ======================================================================================== # List of possible clang versions that work set clang_versions { 3.4 3.5 3.6 3.7 3.8 } # Define the available variants foreach clang_ver ${clang_versions} { set clang_ver_no_dot [join [split ${clang_ver} "."] ""] set variant_line {variant clang${clang_ver_no_dot} description "Compile using MacPorts clang ${clang_ver}"} foreach clang_over ${clang_versions} { if { ${clang_ver} == ${clang_over} } { continue } set clang_over_no_dot [join [split ${clang_over} "."] ""] append variant_line " conflicts clang${clang_over_no_dot}" } append variant_line { { } } eval $variant_line } # make sure that the proper variant is automatically selected # (ROOT crashes if the compiler it was built with doesn't exist) if { ![variant_isset clang34] && ![variant_isset clang35] && ![variant_isset clang36] && ![variant_isset clang37] && ![variant_isset clang38] } { if { ${configure.compiler} eq "macports-clang-3.4" } { default_variants-append +clang34 } elseif { ${configure.compiler} eq "macports-clang-3.5" } { default_variants-append +clang35 } elseif { ${configure.compiler} eq "macports-clang-3.6" } { default_variants-append +clang36 } elseif { ${configure.compiler} eq "macports-clang-3.7" } { default_variants-append +clang37 } elseif { ${configure.compiler} eq "macports-clang-3.8" } { default_variants-append +clang38 } } # Is a variant active ? set active_clang_variant "" foreach clang_ver ${clang_versions} { set clang_ver_no_dot [join [split ${clang_ver} "."] ""] if {[variant_isset clang${clang_ver_no_dot}]} { set active_clang_variant ${clang_ver} } } # If so, set it up. if { ${active_clang_variant} != "" } { configure.compiler macports-clang-${active_clang_variant} # TODO # configure.args-append --with-llvm-config="${prefix}/bin/llvm-config-mp-"${active_clang_variant} depends_run-append port:clang-${active_clang_variant} } # ======================================================================================== # Following is for fortran support # Might eventually move to a portgroup, or similar, so could be simplified. # Based on recipe from https://trac.macports.org/wiki/PortfileRecipes#fortran # Note that g95 does not work here, so that variant is removed # ======================================================================================== set gcc_versions { 4.7 4.8 4.9 5 6 } set default_fortran_variant +gcc6 foreach gcc_ver ${gcc_versions} { set gcc_ver_no_dot [join [split ${gcc_ver} "."] ""] set variant_line {variant gcc${gcc_ver_no_dot} description "Build with gfortran from gcc${gcc_ver_no_dot}"} foreach gcc_over ${gcc_versions} { if {${gcc_ver} == ${gcc_over}} { continue } set gcc_over_no_dot [join [split ${gcc_over} "."] ""] append variant_line " conflicts gcc${gcc_over_no_dot}" } append variant_line { {} } eval $variant_line if {[variant_isset gcc${gcc_ver_no_dot}]} { if {${default_fortran_variant} != "+gcc${gcc_ver_no_dot}"} { set default_fortran_variant "" } } } if {${default_fortran_variant} != ""} { default_variants-append "${default_fortran_variant}" } foreach gcc_ver ${gcc_versions} { set gcc_ver_no_dot [join [split ${gcc_ver} "."] ""] if {[variant_isset gcc${gcc_ver_no_dot}]} { depends_lib-append path:lib/libgcc/libgcc_s.1.dylib:libgcc depends_build-append port:gcc${gcc_ver_no_dot} configure.fc ${prefix}/bin/gfortran-mp-${gcc_ver} configure.f77 ${prefix}/bin/gfortran-mp-${gcc_ver} configure.f90 ${prefix}/bin/gfortran-mp-${gcc_ver} configure.args-replace -Dfortran=OFF -Dfortran=ON } } # ======================================================================================== # Various variants etc. with problems. Work in progress... # variant ruby description {Build with ruby support} { # configure.args-replace -Druby=OFF -Druby=ON # depends_lib-append port:ruby # } # variant geocad description {Enable CAD Interface} { # configure.args-replace -Dgeocad=OFF -Dgeocad=ON # depends_lib-append port:oce # configure.args-append -DOCC_INCLUDE_DIR="${prefix}/include/oce" # } # variant r description {Enable R support} { # configure.args-replace -Dr=OFF -Dr=ON # depends_lib-append port:R # } livecheck.type regex livecheck.url ${github.homepage}/tags livecheck.regex {archive/v(6[-.]\d[02468][-.]\d{2}).tar.gz}