[arch-commits] Commit in suitesparse/trunk (PKGBUILD suitesparse-link-tbb.patch)

Antonio Rojas arojas at archlinux.org
Sat Sep 24 11:38:13 UTC 2016


    Date: Saturday, September 24, 2016 @ 11:38:12
  Author: arojas
Revision: 276912

Update to 4.5.3

Added:
  suitesparse/trunk/suitesparse-link-tbb.patch
Modified:
  suitesparse/trunk/PKGBUILD

----------------------------+
 PKGBUILD                   |   81 ++++++++++---------------------------------
 suitesparse-link-tbb.patch |   11 +++++
 2 files changed, 30 insertions(+), 62 deletions(-)

Modified: PKGBUILD
===================================================================
--- PKGBUILD	2016-09-24 08:14:04 UTC (rev 276911)
+++ PKGBUILD	2016-09-24 11:38:12 UTC (rev 276912)
@@ -2,7 +2,7 @@
 # Maintainer: Ronald van Haren <ronald.archlinux.org>
 
 pkgname=suitesparse
-pkgver=4.4.5
+pkgver=4.5.3
 pkgrel=1
 pkgdesc="A collection of sparse matrix libraries"
 url="http://faculty.cse.tamu.edu/davis/suitesparse.html"
@@ -11,79 +11,36 @@
 provides=('umfpack')
 replaces=('umfpack')
 depends=('blas' 'lapack' 'intel-tbb')
-makedepends=('gcc-fortran')
+makedepends=('gcc-fortran' 'cmake' 'chrpath')
 license=('GPL')
 options=('staticlibs')
-source=("http://faculty.cse.tamu.edu/davis/SuiteSparse/SuiteSparse-$pkgver.tar.gz")
-sha1sums=('7666883423f56de760546a8be8795d5ac9d66c19')
+source=("http://faculty.cse.tamu.edu/davis/SuiteSparse/SuiteSparse-$pkgver.tar.gz" suitesparse-link-tbb.patch)
+sha1sums=('2403007be38266e3607edfbf3833bee7f6bcb0f1'
+          '4f0b3836e8c3c1ec5be01f988f136cee4a2cb936')
 
 prepare() {
-   export CFLAGS=" ${CFLAGS} -DNPARTITION -fPIC -DHAVE_TBB"
+# Fix linking with intel-tbb
+  cd SuiteSparse
+  patch -p1 -i ../suitesparse-link-tbb.patch
 }
 
 build() {
    cd "$srcdir"/SuiteSparse
-   
-   make -C SuiteSparse_config/xerbla
-   make -C SuiteSparse_config 
-   for _lib in AMD CAMD COLAMD BTF KLU LDL CCOLAMD UMFPACK CHOLMOD CXSparse SPQR; do
-      make -C ${_lib} library
-   done
-   mkdir shared
-   # version numbers can be found in individual changelog files
-   ld -shared -soname libsuitesparseconfig.so.4 -o \
-      shared/libsuitesparseconfig.so.4.4.4 --whole-archive \
-      SuiteSparse_config/libsuitesparseconfig.a -lm && \
-      ln -sf libsuitesparseconfig.so.4.4.4 shared/libsuitesparseconfig.so
-   ld -shared -soname libamd.so.2 -o shared/libamd.so.2.4.1 \
-      --whole-archive AMD/Lib/libamd.a -L./shared -lsuitesparseconfig -lm && \
-      ln -sf libamd.so.2.4.1 shared/libamd.so
-   ld -shared -soname libcamd.so.2 -o shared/libcamd.so.2.4.1 \
-      --whole-archive CAMD/Lib/libcamd.a -L./shared -lsuitesparseconfig -lm && \
-      ln -sf libcamd.so.2.4.1 shared/libcamd.so
-   ld -shared -soname libcolamd.so.2 -o shared/libcolamd.so.2.9.1 \
-      --whole-archive COLAMD/Lib/libcolamd.a -L./shared -lsuitesparseconfig -lm \
-      && ln -sf libcolamd.so.2.9.1 shared/libcolamd.so
-   ld -shared -soname libccolamd.so.2 -o shared/libccolamd.so.2.9.1 \
-      --whole-archive CCOLAMD/Lib/libccolamd.a -L./shared -lsuitesparseconfig -lm \
-      && ln -sf libccolamd.so.2.9.1 shared/libccolamd.so
-   ld -shared -soname libbtf.so.1 -o shared/libbtf.so.1.2.1 \
-      --whole-archive BTF/Lib/libbtf.a && \
-      ln -sf libbtf.so.1.2.1 shared/libbtf.so
-   ld -shared -soname libldl.so.2 -o shared/libldl.so.2.2.1 \
-      --whole-archive LDL/Lib/libldl.a && \
-      ln -sf libldl.so.2.2.1 shared/libldl.so
-   ld -shared -soname libcholmod.so.3 -o shared/libcholmod.so.3.0.5 \
-      --whole-archive CHOLMOD/Lib/libcholmod.a -lblas -llapack \
-      -L./shared -lamd -lcamd -lcolamd -lccolamd -lsuitesparseconfig -lm && \
-      ln -sf libcholmod.so.3.0.5 shared/libcholmod.so
-   ld -shared -soname libspqr.so.2 -o shared/libspqr.so.2.0.1 \
-      --whole-archive SPQR/Lib/libspqr.a -lblas -llapack \
-      -L./shared -lcholmod -lsuitesparseconfig -lm && \
-      ln -sf libspqr.so.2.0.1 shared/libspqr.so
-   ld -shared -soname libcxsparse.so.3 -o shared/libcxsparse.so.3.1.4 \
-      --whole-archive CXSparse/Lib/libcxsparse.a && \
-      ln -sf libcxsparse.so.3.1.4 shared/libcxsparse.so
-   ld -shared -soname libklu.so.1 -o shared/libklu.so.1.3.2 \
-      --whole-archive KLU/Lib/libklu.a -L./shared -lamd -lbtf \
-      -lsuitesparseconfig -lm && ln -sf libklu.so.1.3.2 shared/libklu.so
-   ld -shared -soname libumfpack.so.5 -o shared/libumfpack.so.5.7.1 \
-      --whole-archive UMFPACK/Lib/libumfpack.a -lblas -llapack -L./shared \
-      -lamd -lcholmod -lsuitesparseconfig -lm && \
-      ln -sf libumfpack.so.5.7.1 shared/libumfpack.so
+
+   BLAS=-lblas TBB=-ltbb SPQR_CONFIG=-DHAVE_TBB make
 }
 
 
 package() {
    cd "${srcdir}"/SuiteSparse
-   install -dm755 "${pkgdir}"/usr/{lib,include}
-   
-   for _lib in SuiteSparse_config AMD CAMD COLAMD BTF KLU LDL CCOLAMD UMFPACK CHOLMOD CXSparse SPQR; do
-      make -C ${_lib} INSTALL_LIB="${pkgdir}"/usr/lib INSTALL_INCLUDE="${pkgdir}"/usr/include install
-   done
+   install -dm755 "${pkgdir}"/usr
 
-   rm -f "${pkgdir}"/usr/lib/*.a
-   cp -d shared/*.so* "${pkgdir}"/usr/lib/
-   ldconfig -n "${pkgdir}"/usr/lib/
-   chmod 644 "${pkgdir}"/usr/include/*.{h,hpp}
+   pushd metis-5.1.0
+     make install DESTDIR="$pkgdir"
+     mv "$pkgdir"/build/suitesparse/src/SuiteSparse/* "$pkgdir"/usr && rm -r "$pkgdir"/build
+   popd
+   BLAS=-lblas TBB=-ltbb SPQR_CONFIG=-DHAVE_TBB make INSTALL_LIB="${pkgdir}"/usr/lib INSTALL_INCLUDE="${pkgdir}"/usr/include install
+
+   # fix RPATH
+   chrpath -d "$pkgdir"/usr/lib/*
 }

Added: suitesparse-link-tbb.patch
===================================================================
--- suitesparse-link-tbb.patch	                        (rev 0)
+++ suitesparse-link-tbb.patch	2016-09-24 11:38:12 UTC (rev 276912)
@@ -0,0 +1,11 @@
+--- SuiteSparse/SPQR/Lib/Makefile.orig	2016-09-24 09:36:59.588640845 +0000
++++ SuiteSparse/SPQR/Lib/Makefile	2016-09-24 09:37:14.248588339 +0000
+@@ -13,7 +13,7 @@
+ include ../../SuiteSparse_config/SuiteSparse_config.mk
+ 
+ # SPQR depends on CHOLMOD, AMD, COLAMD, LAPACK, the BLAS and SuiteSparse_config
+-LDLIBS += -lamd -lcolamd -lcholmod -lsuitesparseconfig $(LAPACK) $(BLAS)
++LDLIBS += -lamd -lcolamd -lcholmod -lsuitesparseconfig $(LAPACK) $(BLAS) $(TBB)
+ 
+ # compile and install in SuiteSparse/lib
+ library:



More information about the arch-commits mailing list