Portfile

# $Id: Portfile,v 1.20 2006/06/21 21:27:45 mww Exp $

PortSystem 1.0
name SuiteSparse
version 2.4.0
categories math science
maintainers andre@splunk.com
platforms darwin
description Sparse matrix routines
long_description \
SuiteSparse is a single archive that contains all packages \
authored by Tim Davis.

homepage http://www.cise.ufl.edu/research/sparse/SuiteSparse/
master_sites http://www.cise.ufl.edu/research/sparse/SuiteSparse/
distname SuiteSparse-$version
worksrcdir ${name}

depends_build port:metis

checksums md5 30233f0b42e9ea12e47a287f0f50fe47

patchfiles patch-config \
patch-macports-metis \
patch-cholmod-headers

use_configure no

pre-configure {
reinplace "s,METIS_PATH = ../../metis-4.0,METIS_PATH = ${prefix}/include," ${worksrcpath}/UFconfig/UFconfig.mk
reinplace "s,METIS = ../../metis-4.0/libmetis.a,METIS = ${prefix}/lib/libmetis.a," ${worksrcpath}/UFconfig/UFconfig.mk
}

build.target default

destroot {
xinstall -m 644 ${worksrcpath}/AMD/Lib/libamd.a ${destroot}${prefix}/lib
xinstall -m 644 ${worksrcpath}/BTF/Lib/libbtf.a ${destroot}${prefix}/lib
xinstall -m 644 ${worksrcpath}/CAMD/Lib/libcamd.a ${destroot}${prefix}/lib
xinstall -m 644 ${worksrcpath}/CCOLAMD/libccolamd.a ${destroot}${prefix}/lib
xinstall -m 644 ${worksrcpath}/CHOLMOD/Lib/libcholmod.a ${destroot}${prefix}/lib
xinstall -m 644 ${worksrcpath}/COLAMD/libcolamd.a ${destroot}${prefix}/lib
xinstall -m 644 ${worksrcpath}/CXSparse/Source/libcxsparse.a ${destroot}${prefix}/lib
xinstall -m 644 ${worksrcpath}/KLU/Lib/libklu.a ${destroot}${prefix}/lib
xinstall -m 644 ${worksrcpath}/KLU/User/libklu_cholmod.a ${destroot}${prefix}/lib
xinstall -m 644 ${worksrcpath}/LDL/libldl.a ${destroot}${prefix}/lib
xinstall -m 644 ${worksrcpath}/UFconfig/xerbla/libcerbla.a ${destroot}${prefix}/lib
xinstall -m 644 ${worksrcpath}/UMFPACK/Lib/libumfpack.a ${destroot}${prefix}/lib

xinstall -m 755 -d ${destroot}${prefix}/include/ufsparse

xinstall -m 644 ${worksrcpath}/AMD/Include/amd.h ${destroot}${prefix}/include/ufsparse
xinstall -m 644 ${worksrcpath}/BTF/Include/btf.h ${destroot}${prefix}/include/ufsparse
xinstall -m 644 ${worksrcpath}/CAMD/Include/camd.h ${destroot}${prefix}/include/ufsparse
xinstall -m 644 ${worksrcpath}/CCOLAMD/ccolamd.h ${destroot}${prefix}/include/ufsparse

xinstall -m 644 -W ${worksrcpath}/CHOLMOD/Include \
cholmod.h \
cholmod_blas.h \
cholmod_check.h \
cholmod_cholesky.h \
cholmod_complexity.h \
cholmod_config.h \
cholmod_core.h \
cholmod_internal.h \
cholmod_io64.h \
cholmod_matrixops.h \
cholmod_modify.h \
cholmod_partition.h \
cholmod_supernodal.h \
cholmod_template.h \
${destroot}${prefix}/include/ufsparse

xinstall -m 644 ${worksrcpath}/COLAMD/colamd.h ${destroot}${prefix}/include/ufsparse
xinstall -m 644 ${worksrcpath}/CXSparse/Source/cs.h ${destroot}${prefix}/include/ufsparse
xinstall -m 644 ${worksrcpath}/KLU/Include/klu.h ${destroot}${prefix}/include/ufsparse
xinstall -m 644 ${worksrcpath}/LDL/ldl.h ${destroot}${prefix}/include/ufsparse
xinstall -m 644 ${worksrcpath}/UFconfig/UFconfig.h ${destroot}${prefix}/include/ufsparse

xinstall -m 644 -W ${worksrcpath}/UMFPACK/Include \
umfpack.h \
umfpack_col_to_triplet.h \
umfpack_defaults.h \
umfpack_free_numeric.h \
umfpack_free_symbolic.h \
umfpack_get_determinant.h \
umfpack_get_lunz.h \
umfpack_get_numeric.h \
umfpack_get_symbolic.h \
umfpack_global.h \
umfpack_load_numeric.h \
umfpack_load_symbolic.h \
umfpack_numeric.h \
umfpack_qsymbolic.h \
umfpack_report_control.h \
umfpack_report_info.h \
umfpack_report_matrix.h \
umfpack_report_numeric.h \
umfpack_report_perm.h \
umfpack_report_status.h \
umfpack_report_symbolic.h \
umfpack_report_triplet.h \
umfpack_report_vector.h \
umfpack_save_numeric.h \
umfpack_save_symbolic.h \
umfpack_scale.h \
umfpack_solve.h \
umfpack_symbolic.h \
umfpack_tictoc.h \
umfpack_timer.h \
umfpack_transpose.h \
umfpack_triplet_to_col.h \
umfpack_wsolve.h \
${destroot}${prefix}/include/ufsparse
}

post-destroot {
system "ranlib ${destroot}${prefix}/lib/libamd.a"
system "ranlib ${destroot}${prefix}/lib/libbtf.a"
system "ranlib ${destroot}${prefix}/lib/libcamd.a"
system "ranlib ${destroot}${prefix}/lib/libccolamd.a"
system "ranlib ${destroot}${prefix}/lib/libcholmod.a"
system "ranlib ${destroot}${prefix}/lib/libcolamd.a"
system "ranlib ${destroot}${prefix}/lib/libcxsparse.a"
system "ranlib ${destroot}${prefix}/lib/libklu.a"
system "ranlib ${destroot}${prefix}/lib/libklu_cholmod.a"
system "ranlib ${destroot}${prefix}/lib/libldl.a"
system "ranlib ${destroot}${prefix}/lib/libcerbla.a"
system "ranlib ${destroot}${prefix}/lib/libumfpack.a"
}

files