#Maintainer: R S Ananda Murthy pkgname=suitesparse pkgver=3.6.1 pkgrel=2 zenver=72 arch=i486 source=("http://www.cise.ufl.edu/research/sparse/SuiteSparse/SuiteSparse-3.6.1.tar.gz" "UFconfig.mk.custom" "include_path_metis.patch" "metis.patch") sourcetemplate=http://zenwalk.pinguix.com/user-accounts/rsamurti/$pkgname/ docs=("readme" "install" "copying" "changelog" "authors" "news" "todo") url=http://www.cise.ufl.edu/research/sparse/SuiteSparse/ slackdesc=\ ( #|-----handy-ruler------------------------------------------------------| "SuiteSparse (A suite of sparse matrix packages)" "Provides the following libraries for computations involving sparse" "matrices -- AMD, CAMD, COLAMD, BTF, KLU, CHOLMOD, CXSparse, UMFPACK," "CCOLAMD, CHOLMOD has been compiled to use Metis." "Requires: LAPACK package which also contains BLAS, and Metis" ) build() { cd $startdir/src/SuiteSparse patch -Np1 -i $startdir/src/include_path_metis.patch || return 1 patch -p1 < ../metis.patch || return 1 cp ../UFconfig.mk.custom UFconfig/UFconfig.mk make || return 1 mkdir shared ld -shared -soname libufconfig.so.3 -o shared/libufconfig.so.3.6.1 --whole-archive UFconfig/libufconfig.a && ln -sf libufconfig.so.3.6.1 shared/libufconfig.so ld -shared -soname libamd.so.2 -o shared/libamd.so.2.2.2 --whole-archive AMD/Lib/libamd.a -L./shared -lufconfig && ln -sf libamd.so.2.2.2 shared/libamd.so ld -shared -soname libcamd.so.2 -o shared/libcamd.so.2.2.2 --whole-archive CAMD/Lib/libcamd.a -L./shared -lufconfig && ln -sf libcamd.so.2.2.2 shared/libcamd.so ld -shared -soname libcolamd.so.2 -o shared/libcolamd.so.2.7.3 --whole-archive COLAMD/Lib/libcolamd.a -L./shared -lufconfig && ln -sf libcolamd.so.2.7.3 shared/libcolamd.so ld -shared -soname libccolamd.so.2 -o shared/libccolamd.so.2.7.3 --whole-archive CCOLAMD/Lib/libccolamd.a -L./shared -lufconfig && ln -sf libccolamd.so.2.7.3 shared/libccolamd.so ld -shared -soname libbtf.so.1 -o shared/libbtf.so.1.1.2 --whole-archive BTF/Lib/libbtf.a -L./shared -lufconfig && ln -sf libbtf.so.1.1.2 shared/libbtf.so ld -shared -soname libldl.so.2 -o shared/libldl.so.2.0.3 --whole-archive LDL/Lib/libldl.a -L./shared -lufconfig && ln -sf libldl.so.2.0.3 shared/libldl.so ld -shared -soname libcholmod.so.1 -o shared/libcholmod.so.1.7.3 --whole-archive CHOLMOD/Lib/libcholmod.a -lblas -llapack -lmetis -L./shared -lamd -lcamd -lcolamd -lccolamd && ln -sf libcholmod.so.1.7.3 shared/libcholmod.so ld -shared -soname libspqr.so.1 -o shared/libspqr.so.1.2.2 --whole-archive SPQR/Lib/libspqr.a -lblas -llapack -ltbb -L./shared -lcholmod && ln -sf libspqr.so.1.2.2 shared/libspqr.so ld -shared -soname libcxsparse.so.2 -o shared/libcxsparse.so.2.2.5 --whole-archive CXSparse/Lib/libcxsparse.a -L./shared -lufconfig && ln -sf libcxsparse.so.2.2.5 shared/libcxsparse.so ld -shared -soname libklu.so.1 -o shared/libklu.so.1.1.2 --whole-archive KLU/Lib/libklu.a -L./shared -lamd -lcolamd -lbtf && ln -sf libklu.so.1.1.2 shared/libklu.so ld -shared -soname libumfpack.so.5 -o shared/libumfpack.so.5.5.1 --whole-archive UMFPACK/Lib/libumfpack.a -lblas -llapack -L./shared -lcholmod && ln -sf libumfpack.so.5.5.1 shared/libumfpack.so mkdir -p $startdir/pkg/usr/lib cp -d shared/*.so* $startdir/pkg/usr/lib/ || return 1 ldconfig -n $startdir/pkg/usr/lib cp CAMD/Lib/libcamd.a $startdir/pkg/usr/lib/ || return 1 cp COLAMD/Lib/libcolamd.a $startdir/pkg/usr/lib/ || return 1 cp CCOLAMD/Lib/libccolamd.a $startdir/pkg/usr/lib/ || return 1 cp AMD/Lib/libamd.a $startdir/pkg/usr/lib/ || return 1 cp LDL/Lib/libldl.a $startdir/pkg/usr/lib/ || return 1 cp CHOLMOD/Lib/libcholmod.a $startdir/pkg/usr/lib/ || return 1 cp SPQR/Lib/libspqr.a $startdir/pkg/usr/lib/ || return 1 cp CXSparse/Lib/libcxsparse.a $startdir/pkg/usr/lib/ || return 1 cp KLU/Lib/libklu.a $startdir/pkg/usr/lib/ || return 1 cp BTF/Lib/libbtf.a $startdir/pkg/usr/lib/ || return 1 cp UMFPACK/Lib/libumfpack.a $startdir/pkg/usr/lib/ || return 1 mkdir -p $startdir/pkg/usr/include/suitesparse cp CAMD/Include/*.h $startdir/pkg/usr/include/suitesparse/ || return 1 cp COLAMD/Include/*.h $startdir/pkg/usr/include/suitesparse/ || return 1 cp LDL/Include/*.h $startdir/pkg/usr/include/suitesparse/ || return 1 cp CHOLMOD/Include/*.h $startdir/pkg/usr/include/suitesparse/ || return 1 cp SPQR/Include/*.h $startdir/pkg/usr/include/suitesparse/ || return 1 cp CXSparse/Include/*.h $startdir/pkg/usr/include/suitesparse/ || return 1 cp KLU/Include/*.h $startdir/pkg/usr/include/suitesparse/ || return 1 cp BTF/Include/*.h $startdir/pkg/usr/include/suitesparse/ || return 1 cp UMFPACK/Include/*.h $startdir/pkg/usr/include/suitesparse/ || return 1 cp UFconfig/*.h $startdir/pkg/usr/include/suitesparse/ || return 1 cp CCOLAMD/Include/*.h $startdir/pkg/usr/include/suitesparse/ || return 1 cp AMD/Include/*.h $startdir/pkg/usr/include/suitesparse/ || return 1 mkdir -p $startdir/pkg/usr/doc/$pkgname-$pkgver cp AMD/Doc/AMD_UserGuide.pdf $startdir/pkg/usr/doc/$pkgname-$pkgver/AMD_UserGuide.pdf cp CAMD/Doc/CAMD_UserGuide.pdf $startdir/pkg/usr/doc/$pkgname-$pkgver/CAMD_UserGuide.pdf cp KLU/Doc/KLU_UserGuide.pdf $startdir/pkg/usr/doc/$pkgname-$pkgver/KLU_UserGuide.pdf cp KLU/Doc/palamadai_e.pdf $startdir/pkg/usr/doc/$pkgname-$pkgver/palamadai_e.pdf cp LDL/Doc/ldl_userguide.pdf $startdir/pkg/usr/doc/$pkgname-$pkgver/ldl_userguide.pdf cp SPQR/Doc/spqr_user_guide.pdf $startdir/pkg/usr/share/doc/$pkgname-$pkgver/spqr_user_guide.pdf cp CHOLMOD/Doc/UserGuide.pdf $startdir/pkg/usr/doc/$pkgname-$pkgver/CHOLMOD_UserGuide.pdf cp UMFPACK/Doc/UserGuide.pdf $startdir/pkg/usr/doc/$pkgname-$pkgver/UMFPACK_UserGuide.pdf cp UMFPACK/Doc/QuickStart.pdf $startdir/pkg/usr/doc/$pkgname-$pkgver/UMFPACK_QuickStart.pdf }