Revision: 87255 http://trac.macports.org/changeset/87255 Author: takeshi@macports.org Date: 2011-11-14 20:16:21 -0800 (Mon, 14 Nov 2011) Log Message: ----------- ncarg: use llvm-gcc-4.2 on Snow Leopard and Lion to avoidseg fault on ncl function setfileoption(). Modified Paths: -------------- trunk/dports/science/ncarg/Portfile Modified: trunk/dports/science/ncarg/Portfile =================================================================== --- trunk/dports/science/ncarg/Portfile 2011-11-15 02:13:43 UTC (rev 87254) +++ trunk/dports/science/ncarg/Portfile 2011-11-15 04:16:21 UTC (rev 87255) @@ -5,7 +5,7 @@ name ncarg version 6.0.0 -revision 1 +revision 3 categories science maintainers takeshi description language for scientific data processing and visualization @@ -70,29 +70,25 @@ if {$build_arch eq "x86_64"} { patchfiles-append patch-config-ymake.diff } + post-patch { reinplace "s|INC=-I/usr/include|INC=${configure.cppflags} ${configure.cflags}|" ${workpath}/${g2clib_worksrcdir}/makefile reinplace "s|CC=gcc -fPIC|CC=${configure.cc}|" ${workpath}/${g2clib_worksrcdir}/makefile if {$build_arch eq "x86_64" || $build_arch eq "ppc64"} { reinplace "s|-DUSE_PNG$|-DUSE_PNG -D__64BIT__|" ${workpath}/${g2clib_worksrcdir}/makefile } + if {[variant_isset g95]} { + set fortranlib -lf95 + } elseif {[variant_isset gcc43]} { + set fortranlib "-L${prefix}/lib/gcc43 -lgfortran" + } elseif {[variant_isset gcc45]} { + set fortranlib "-L${prefix}/lib/gcc45 -lgfortran" + } else { + set fortranlib "-L${prefix}/lib/gcc44 -lgfortran" + } foreach f {Darwin Darwin_Intel} { - if {[variant_isset g95]} { - reinplace "s|-lgfortran|-lf95|" ${worksrcpath}/config/${f} - reinplace "s| gfortran$| g95|" ${worksrcpath}/config/${f} - } elseif {[variant_isset gcc43]} { - reinplace "s|-lgfortran|-L${prefix}/lib/gcc43 -lgfortran|" \ - ${worksrcpath}/config/${f} - reinplace "s| gfortran$| gfortran-mp-4.3|" ${worksrcpath}/config/${f} - } elseif {[variant_isset gcc45]} { - reinplace "s|-lgfortran|-L${prefix}/lib/gcc45 -lgfortran|" \ - ${worksrcpath}/config/${f} - reinplace "s| gfortran$| gfortran-mp-4.5|" ${worksrcpath}/config/${f} - } else { - reinplace "s|-lgfortran|-L${prefix}/lib/gcc44 -lgfortran|" \ - ${worksrcpath}/config/${f} - reinplace "s| gfortran$| gfortran-mp-4.4|" ${worksrcpath}/config/${f} - } + reinplace "s|-lgfortran|${fortranlib}|" ${worksrcpath}/config/${f} + reinplace "s| gfortran$| ${configure.fc}|" ${worksrcpath}/config/${f} reinplace "s|gcc$|${configure.cc}|" ${worksrcpath}/config/${f} reinplace "/CcOptions/d" ${worksrcpath}/config/${f} reinplace "s|-lXext$|-lXext\\ @@ -128,6 +124,12 @@ } } +# avoid segmentation fault on ncl function setfileoption() +# clang fails to build ncl +if {${os.major}>=10} { + configure.compiler llvm-gcc-4.2 +} + pre-configure { system "cd ${workpath}/${g2clib_worksrcdir}; make all" file copy ${workpath}/${g2clib_worksrcdir}/libgrib2c.a ${worksrcpath} @@ -170,21 +172,38 @@ } build.target Build -build.args-append EXTRA_CCOPTIONS=\"${configure.cc_archflags}\" +if {${os.major}<10} { + if {[varinant_isset g95]} { + build.args-append EXTRA_CCOPTIONS=\"${configure.cc_archflags}\" + } else { + if {[string match *64* $build_arch]} { + build.args-append EXTRA_CCOPTIONS=-m64 + } else { + build.args-append EXTRA_CCOPTIONS=-m32 + } + } +} +# Only configure.fc is set (against UsingTheRightCompiler) since +# ncl function setfileoption() causes Segmentation Fault +# when built with macports-gcc-4.x. variant g95 conflicts gcc43 gcc44 gcc45 description {compile with g95} { + configure.fc ${prefix}/bin/g95 depends_build-append port:g95 } variant gcc43 conflicts gcc44 gcc45 g95 description {compile with gcc 4.3} { + configure.fc ${prefix}/bin/gfortran-mp-4.3 depends_build-append port:gcc43 } variant gcc44 conflicts gcc43 gcc45 g95 description {compile with gcc 4.4} { + configure.fc ${prefix}/bin/gfortran-mp-4.4 depends_build-append port:gcc44 } variant gcc45 conflicts gcc43 gcc44 g95 description {compile with gcc 4.5} { + configure.fc ${prefix}/bin/gfortran-mp-4.5 depends_build-append port:gcc45 }