testing/suitesparse: new abuild

http://faculty.cse.tamu.edu/davis/suitesparse.html
A collection of sparse matrix libraries
This commit is contained in:
Jakub Jirutka 2016-06-04 22:21:32 +02:00
parent ab7d0fd6da
commit 88eba54888
3 changed files with 105 additions and 0 deletions

View File

@ -0,0 +1,28 @@
From: Jakub Jirutka <jakub@jirutka.cz>
Date: Wed, 08 Jun 2016 21:04:00 +0200
Subject: [PATCH] Do not install METIS
METIS is optional (and not needed for Julia), but `make install` fails when
it's not built, so we must remove it from Makefile.
--- a/Makefile
+++ b/Makefile
@@ -56,19 +56,6 @@
# ( cd SKYLINE_SVD && $(MAKE) install )
$(CP) README.txt $(INSTALL_DOC)/SuiteSparse_README.txt
chmod 644 $(INSTALL_DOC)/SuiteSparse_README.txt
-ifeq (,$(MY_METIS_LIB))
- # install METIS from SuiteSparse/metis-5.1.0
- - $(CP) lib/libmetis.* $(INSTALL_LIB)
- - $(CP) metis-5.1.0/manual/manual.pdf $(INSTALL_DOC)/METIS_manual.pdf
- - $(CP) metis-5.1.0/README.txt $(INSTALL_DOC)/METIS_README.txt
- # the following is needed only on the Mac, so *.dylib is hardcoded:
- $(SO_INSTALL_NAME) $(INSTALL_LIB)/libmetis.dylib $(INSTALL_LIB)/libmetis.dylib
- - $(CP) include/metis.h $(INSTALL_INCLUDE)
- chmod 755 $(INSTALL_LIB)/libmetis.*
- chmod 644 $(INSTALL_INCLUDE)/metis.h
- chmod 644 $(INSTALL_DOC)/METIS_manual.pdf
- chmod 644 $(INSTALL_DOC)/METIS_README.txt
-endif
# uninstall all packages
uninstall:

View File

@ -0,0 +1,17 @@
From: Jakub Jirutka <jakub@jirutka.cz>
Date: Wed, 08 Jun 2016 21:04:00 +0200
Subject: [PATCH] Do not use -rpath
Hard-coded rpath is bad, moreover when it contains absolute path to the
build directory.
--- a/SuiteSparse_config/SuiteSparse_config.mk
+++ b/SuiteSparse_config/SuiteSparse_config.mk
@@ -338,7 +338,7 @@
ifeq ($(UNAME),Linux)
# add the realtime library, librt, and SuiteSparse/lib
- LDLIBS += -lrt -Wl,-rpath=$(INSTALL_LIB)
+ LDLIBS += -lrt
endif
#---------------------------------------------------------------------------

View File

@ -0,0 +1,60 @@
# Contributor: Jakub Jirutka <jakub@jirutka.cz>
# Maintainer: Jakub Jirutka <jakub@jirutka.cz>
pkgname=suitesparse
_pkgname=SuiteSparse
pkgver=4.5.3
pkgrel=0
pkgdesc="A collection of sparse matrix libraries"
url="http://faculty.cse.tamu.edu/davis/suitesparse.html"
arch="x86 x86_64"
license="GPL"
depends_dev="openblas-dev"
makedepends="$depends_dev"
subpackages="$pkgname-dev $pkgname-doc"
source="http://faculty.cse.tamu.edu/davis/$_pkgname/$_pkgname-$pkgver.tar.gz
0001-exclude-metis.patch
0002-remove-rpath.patch
"
builddir="$srcdir/$_pkgname"
prepare() {
cd "$builddir"
# OpenBLAS provides also LAPACK.
export LAPACK="-lopenblas"
# gcc fails on internal error when using default -O3.
export OPTIMIZATION="-O2"
# Do not include the Partition module and METIS (it's optional and
# Julia doesn't need it).
export CFLAGS="$CFLAGS -DNPARTITION"
rm -r metis-*
default_prepare
}
build() {
cd "$builddir"
make library
}
package() {
cd "$builddir"
make install \
INSTALL="$pkgdir/usr" \
INSTALL_INCLUDE="$pkgdir/usr/include/$pkgname" \
INSTALL_DOC="$pkgdir/usr/share/doc/$pkgname"
}
md5sums="8ec57324585df3c6483ad7f556afccbd SuiteSparse-4.5.3.tar.gz
308b4f96e82d7f5c92335ca6c7c74251 0001-exclude-metis.patch
ce5696f96435db0125ac1815888fb7f6 0002-remove-rpath.patch"
sha256sums="6199a3a35fbce82b155fd2349cf81d2b7cddaf0dac218c08cb172f9bc143f37a SuiteSparse-4.5.3.tar.gz
06f825ed80f73c30d71439650b951ea835a6139fe2e30078ed155fdecc7606ab 0001-exclude-metis.patch
4db04c59039e9fe50f75d00fb662eaffbd76ede498ff8ec8858b697df2679e32 0002-remove-rpath.patch"
sha512sums="88a5ba6c70e4d66751d1ac32fd8998cde11509e7b034814c34757180db70ce2838ebb77fd7c617bf96e473214c70ccbdd0064b4f5e4dd69ae4c51dfeb9696496 SuiteSparse-4.5.3.tar.gz
aa2d62a371eefb33f0c81d3f7b50cf36e76c4f010fb5bb424e5e7344a1921cb6a430742ebb92df42cef587ec46ad8d2b777d3d9a62eb4a128e02bee8ad5de272 0001-exclude-metis.patch
cd40b696515b26c95298b435a5111e582dc42c2fa2e8ef9889558467d375b1d19452838b9463df66958e73ddb0c8c0191936e3e952586a3c7d345edb08fa7e62 0002-remove-rpath.patch"