# -*- 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 name cdf epoch 1 version 3.6.0.3 set my_branch [join [lrange [split ${version} .] 0 1] ""] set my_version ${my_branch}_[join [lrange [split ${version} .] 2 end] "_"] set my_short_version ${my_branch}_[lindex [split ${version} .] 2] maintainers ryandesign openmaintainer platforms darwin categories science license Noncommercial description CDF: Common Data Format long_description The Common Data Format (CDF) is a self-describing \ data format for the storage and manipulation of \ scalar and multidimensional data in a platform and \ discipline independent fashion. homepage http://cdf.gsfc.nasa.gov/ master_sites http://cdaweb.gsfc.nasa.gov/pub/software/cdf/dist/${name}${my_short_version}/unix/ distname ${name}${my_version}-dist extract.suffix -all${extract.suffix} checksums rmd160 358c983892d49a549a9b9a8851f75dd359956c4a \ sha256 5488b970479931f12d6bd49d2f2ceaca647d122abc3b7d4b544c931bed8e8bdb depends_lib port:ncurses worksrcdir ${name}${my_short_version}-dist post-patch { reinplace "s|\\\$(INSTALLDIR)/bin/definitions\\.\\(\[BCK\]\\)|${prefix}/bin/definitions.\\1|" ${worksrcpath}/Makefile } use_configure no pre-build { set cdf_os macosx #set cdf_env ${configure.build_arch} set cdf_env gnu if {[string match *gcc* ${configure.compiler}]} { set libgcc [exec ${configure.cc} -print-libgcc-file-name] } else { set libgcc "" } build.args-append ENV=${cdf_env} \ OS=${cdf_os} \ COPTIONSld_${cdf_os}_${cdf_env}= \ CURSESLIB_${cdf_os}_${cdf_env}=${prefix}/lib/libncurses.dylib \ LDOPTIONS_${cdf_os}_${cdf_env}="-dynamiclib -install_name ${prefix}/lib/libcdf.dylib" \ MACOSxFopt= \ MACOSxlink="-lc -lm ${libgcc}" \ MACOSxmin= if {${os.endian} eq "little"} { set endian_flag i386 } else { set endian_flag __ppc__ } # When upgrading, verify COPTIONS still approximately reflects what’s in the Makefile. # Using ${configure.cc_archflags} in LD because ${configure.ld_archflags} doesn’t use -m32 / -m64 flags when they’re needed. build.args-append COPTIONS_${cdf_os}_${cdf_env}="-D${endian_flag} -D__APPLE__ -D__MACH__ -D_FILE_OFFSET_BITS=64 -D_LARGEFILE64_SOURCE -D_LARGEFILE_SOURCE ${configure.optflags}" \ CC="${configure.cc} ${configure.cc_archflags}" \ LD="${configure.cc} ${configure.cc_archflags}" if {${configure.fc} eq ""} { build.args-append \ FORTRAN=no } else { build.args-append \ FC="${configure.fc} ${configure.fc_archflags}" \ FORTRAN=yes } } use_parallel_build no destroot.destdir INSTALLDIR=${destroot}${prefix} post-destroot { reinplace "s|${destroot}||g" {*}[glob ${destroot}${prefix}/bin/definitions.*] set docdir ${destroot}${prefix}/share/doc/${name} xinstall -d ${docdir} xinstall -W ${worksrcpath} CDF_copyright.txt CHANGES.txt \ README_cdf_tools.txt Release.notes Welcome.txt ${docdir} move ${destroot}${prefix}/CDFLeapSeconds.txt ${docdir} } set gcc_versions {4.4 4.5 4.6 4.7 4.8 4.9} set default_fortran_variant +gcc49 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 "" } } } if {${default_fortran_variant} != ""} { default_variants-append "${default_fortran_variant}" } 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} } } livecheck.type regex livecheck.regex {latest released version \(V([0-9.]+)\)}