# -*- 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 emos version 000382 revision 3 platforms darwin maintainers takeshi license LGPL categories science description Interpolation library homepage http://www.ecmwf.int/products/data/software/interpolation.html master_sites http://www.ecmwf.int/products/data/software/download/software_files/ distname ${name}_${version} checksums md5 cfca587da4dda8b615dfdc3d0fdac080 \ sha1 450bd27956a7496740a6ef4349f44e015d6525fa \ rmd160 892cf38b1d207caea53e495c9f84c94bae989613 long_description \ The Interpolation library (EMOSLIB) includes Interpolation software \ and GRIB, BUFR, CREX encoding/decoding routines. depends_build port:grib_api post-patch { reinplace "s:^void \\*memcpy://void *memcpy:" ${worksrcpath}/gribex/gdecode.h reinplace "s: | O_LARGEFILE::" ${worksrcpath}/interpolation/sharedlib.c reinplace "s:`cat .list/bufrtables`:bufrtables/*.TXT:" ${worksrcpath}/install reinplace "s:xf:xpf:" ${worksrcpath}/install } if {${os.endian}=="little"} { set fendian -DLITTLE_ENDIAN } else { set fendian "" } configure { set f [open ${worksrcpath}/config/config.site w] puts $f "# AR = ar ARFLAGS = rv CC = ${configure.cc} CFLAGS = ${configure.cflags} ${fendian} ${configure.cc_archflags} FCASTFLAGS = \$(CFLAGS) FC = ${configure.fc} FFLAGS = ${configure.fflags} ${fendian} VECTFFLAGS =\$(FFLAGS) RANLIB = /usr/bin/ranlib" close $f file copy -force ${worksrcpath}/Makefile.in ${worksrcpath}/Makefile reinplace "s:reals:R64:" ${worksrcpath}/Makefile reinplace "s:glue:grib_api_merging:" ${worksrcpath}/Makefile foreach d {gribex pbio bufrdc bufrtables crexdc interpolation fft grib_api_merging} { file copy -force ${worksrcpath}/${d}/Makefile.in ${worksrcpath}/${d}/Makefile reinplace "s:reals:R64:" ${worksrcpath}/${d}/Makefile reinplace "s:arch:linux:" ${worksrcpath}/${d}/Makefile reinplace "s:depl:${name}:" ${worksrcpath}/${d}/Makefile reinplace "s:\$(ARCH)\$(CNAME)\$(R64)\$(A64):site:" ${worksrcpath}/${d}/Makefile } reinplace "s:I\$(GRIB_API_PATH):I${prefix}:" ${worksrcpath}/grib_api_merging/Makefile reinplace "s:`cat -s .r64`:R64:" ${worksrcpath}/install reinplace "s:`cat -s .emos`:${destroot}${prefix}/lib/${name}:" ${worksrcpath}/install } post-build { reinplace "s:R64 = R64:R64 =:" ${worksrcpath}/Makefile foreach d {gribex pbio bufrdc bufrtables crexdc interpolation fft} { reinplace "s:R64 = R64:R64 =:" ${worksrcpath}/${d}/Makefile } if {[variant_isset gcc43] || [variant_isset gcc44] || [variant_isset gcc45]} { reinplace "s:-fdefault-real-8 -fdefault-double-8 ::" ${worksrcpath}/config/config.site } else { reinplace "s:-r8 ::" ${worksrcpath}/config/config.site } system "cd ${worksrcpath}; make clean; make" } destroot { xinstall -m 755 -d ${destroot}${prefix}/lib/${name} xinstall -m 755 -d ${destroot}${prefix}/lib/${name}/bin system "cd ${worksrcpath}; ./install" xinstall -m 644 ${worksrcpath}/lib${name}.a ${destroot}${prefix}/lib/${name} foreach f {bufr2txt_tables bufr_split_tables txt2bufr_tables} { xinstall -m 755 ${worksrcpath}/bufrtables/${f} ${destroot}${prefix}/lib/${name}/bin } system "ln -s ${name}/lib${name}R64.a ${destroot}${prefix}/lib/lib${name}R64.a" system "ln -s ${name}/lib${name}.a ${destroot}${prefix}/lib/lib${name}.a" system "cd ${destroot}${prefix}/lib/${name}; \ for d in bufrtables crextables gribtables gribtemplates land_sea_mask; do \ chmod 755 \$d; \ find \$d -type f -print | xargs chmod 644; \ done; \ find gribtables -type d -print | xargs chmod 755" } use_parallel_build no if {![variant_isset gcc43] && ![variant_isset gcc44] && ![variant_isset g95]} { default_variants +gcc45 } universal_variant no variant gcc43 conflicts gcc44 gcc45 g95 description {builds fortran interface with gfortran 4.3} { depends_build-append port:gcc43 configure.compiler macports-gcc-4.3 configure.fflags-append -fdefault-real-8 -fdefault-double-8 -fcray-pointer -fno-second-underscore -DPOINTER_64 -DINTEGER_IS_INT -Dlinux -Dgfortran configure.cflags-append -DPOINTER_64 -DINTEGER_IS_INT } variant gcc44 conflicts gcc43 gcc45 g95 description {builds fortran interface with gfortran 4.4} { depends_build-append port:gcc44 configure.compiler macports-gcc-4.4 configure.fflags-append -fdefault-real-8 -fdefault-double-8 -fcray-pointer -fno-second-underscore -DPOINTER_64 -DINTEGER_IS_INT -Dlinux -Dgfortran configure.cflags-append -DPOINTER_64 -DINTEGER_IS_INT } variant gcc45 conflicts gcc43 gcc44 g95 description {builds fortran interface with gfortran 4.5} { depends_build-append port:gcc45 configure.compiler macports-gcc-4.5 configure.fflags-append -fdefault-real-8 -fdefault-double-8 -fcray-pointer -fno-second-underscore -DPOINTER_64 -DINTEGER_IS_INT -Dlinux -Dgfortran configure.cflags-append -DPOINTER_64 -DINTEGER_IS_INT } variant g95 conflicts gcc43 gcc44 gcc45 universal description {builds fortran interface with g95} { depends_build-append port:g95 configure.fc ${prefix}/bin/g95 configure.fflags-append -r8 -fsloppy-char -fno-second-underscore -DUSE_NO_POINTERS -DINTEGER_IS_INT -Dlinux configure.cflags-append -DPOINTER_64 -DINTEGER_IS_INT } livecheck.type regex livecheck.url ${homepage} livecheck.regex {([0-9][0-9][0-9][0-9][0-9][0-9]),}