Revision: 94816 https://trac.macports.org/changeset/94816 Author: ryandesign@macports.org Date: 2012-06-30 05:43:43 -0700 (Sat, 30 Jun 2012) Log Message: ----------- metis: update to 5.0.2, building static library not dynamic library, and add openmpi variant (#35018) Modified Paths: -------------- trunk/dports/math/metis/Portfile Removed Paths: ------------- trunk/dports/math/metis/files/ Modified: trunk/dports/math/metis/Portfile =================================================================== --- trunk/dports/math/metis/Portfile 2012-06-30 12:12:42 UTC (rev 94815) +++ trunk/dports/math/metis/Portfile 2012-06-30 12:43:43 UTC (rev 94816) @@ -3,8 +3,7 @@ PortSystem 1.0 name metis -version 4.0.3 -revision 1 +version 5.0.2 categories math # Included license is for "evaluation purposes" only (whatever that means) if # you're not a non-profit or US government agency. @@ -22,66 +21,40 @@ homepage http://glaros.dtc.umn.edu/gkhome/metis/metis/overview master_sites http://glaros.dtc.umn.edu/gkhome/fetch/sw/metis/ freebsd -# 4.0.3 was stealth-updated (#28930) -dist_subdir ${name}/${version}_${revision} +checksums rmd160 737bac9b1c50ea0cf950d16c44ef8f7f9fa0b8f8 \ + sha256 f79790676ca2ce3dfa9d5e2d74801e91d92415664ede2c2fc18fc49d4a161981 -checksums sha1 63303786414a857eaeea2b2a006521401bccda5e \ - rmd160 9d67c92a2a90ece012443fa623442027c0c21297 +# Metis uses a GNU make file to fire off a cmake command. +# Used for configure, build, and install. +depends_build port:cmake -patchfiles patch-Makefile.diff +configure.cmd /usr/bin/make +configure.universal_args +configure.pre_args +configure.args config \ + prefix=${prefix} -build.target +# "-w" which MacPorts base now adds to these by default causes problems here +build.pre_args ${build.target} +destroot.pre_args ${destroot.target} -# Prevent -lmetis from finding library ${prefix}/lib -configure.ldflags-delete -L${prefix}/lib - -set ver0 [join [lrange [split ${version} .] 0 0] .] -set ver1 [join [lrange [split ${version} .] 0 1] .] - -configure { - # ensure that the correct compiler and compiler options are used. - set optflags ${configure.cflags} - set ldflags ${configure.ldflags} - - if {[variant_isset universal]} { - append optflags " " ${configure.universal_cflags} - append ldflags " " ${configure.universal_ldflags} - } else { - append optflags " " ${configure.cc_archflags} - append ldflags " " ${configure.cc_archflags} - } - - reinplace "s|CC = .*|CC = ${configure.cc}|" ${worksrcpath}/Makefile.in - reinplace "s|OPTFLAGS = .*|OPTFLAGS = ${optflags}|" ${worksrcpath}/Makefile.in - if { [info exists ldflags] } { - reinplace "s|LDOPTIONS = .*|LDOPTIONS = ${ldflags}|" ${worksrcpath}/Makefile.in - } - - reinplace "s|__PREFIX__|${prefix}|g" ${worksrcpath}/Lib/Makefile - reinplace "s|__VERSION__|${version}|g" ${worksrcpath}/Lib/Makefile - reinplace "s|__COMPAT_VER__|${ver0}|g" ${worksrcpath}/Lib/Makefile +post-destroot { + # Move metis.h to include/metis/metis.h + xinstall -d -m 755 ${destroot}${prefix}/include/metis + file rename ${destroot}${prefix}/include/metis.h \ + ${destroot}${prefix}/include/metis/metis.h + + # Install documentation + xinstall -d -m 755 ${destroot}${prefix}/share/doc/${name} + xinstall -m 644 ${worksrcpath}/manual/manual.pdf \ + ${destroot}${prefix}/share/doc/${name} } -destroot { - xinstall -m 755 -d ${destroot}${prefix}/include/metis \ - ${destroot}${prefix}/share/doc/${name} - xinstall -m 755 -W ${worksrcpath} graphchk kmetis mesh2dual mesh2nodal \ - oemetis onmetis partdmesh partnmesh pmetis ${destroot}${prefix}/bin - xinstall -W ${worksrcpath}/Lib -m 644 defs.h macros.h metis.h proto.h rename.h \ - struct.h ${destroot}${prefix}/include/metis - reinplace "s,#include <defs.h>,#include <metis/defs.h>," ${destroot}${prefix}/include/metis/metis.h - reinplace "s,#include <struct.h>,#include <metis/struct.h>," ${destroot}${prefix}/include/metis/metis.h - reinplace "s,#include <macros.h>,#include <metis/macros.h>," ${destroot}${prefix}/include/metis/metis.h - reinplace "s,#include <rename.h>,#include <metis/rename.h>," ${destroot}${prefix}/include/metis/metis.h - reinplace "s,#include <proto.h>,#include <metis/proto.h>," ${destroot}${prefix}/include/metis/metis.h - xinstall -m 644 ${worksrcpath}/libmetis.a ${destroot}${prefix}/lib - xinstall -m 644 ${worksrcpath}/Doc/manual.ps \ - ${destroot}${prefix}/share/doc/${name} - - xinstall -m 0755 ${worksrcpath}/libmetis.dylib ${destroot}${prefix}/lib/libmetis.${version}.dylib - ln -s libmetis.${version}.dylib ${destroot}${prefix}/lib/libmetis.dylib - ln -s libmetis.${version}.dylib ${destroot}${prefix}/lib/libmetis.${ver0}.dylib - ln -s libmetis.${version}.dylib ${destroot}${prefix}/lib/libmetis.${ver1}.dylib +# openmpi is not universal +variant openmpi conflicts universal description {Build Metis with MPI support} { + depends_build-append port:openmpi + + configure.args-append openmp=1 } livecheck.type regex