aboutsummaryrefslogtreecommitdiffstats
path: root/community/suitesparse
diff options
context:
space:
mode:
authorJakub Jirutka <jakub@jirutka.cz>2016-08-17 22:07:15 +0200
committerJakub Jirutka <jakub@jirutka.cz>2016-08-17 22:07:15 +0200
commit28eea326ce6605ee708cb1df0c67a3f90cdb5a79 (patch)
treec58ea1417ad51c6740fc7a2f80021687d5be741a /community/suitesparse
parent9158f8fc25b28fede73541540800d7549f53e83e (diff)
downloadaports-28eea326ce6605ee708cb1df0c67a3f90cdb5a79.tar.bz2
aports-28eea326ce6605ee708cb1df0c67a3f90cdb5a79.tar.xz
community/suitesparse: move from testing
Diffstat (limited to 'community/suitesparse')
-rw-r--r--community/suitesparse/0001-exclude-metis.patch28
-rw-r--r--community/suitesparse/0002-remove-rpath.patch17
-rw-r--r--community/suitesparse/APKBUILD60
3 files changed, 105 insertions, 0 deletions
diff --git a/community/suitesparse/0001-exclude-metis.patch b/community/suitesparse/0001-exclude-metis.patch
new file mode 100644
index 0000000000..25e9b9f2e5
--- /dev/null
+++ b/community/suitesparse/0001-exclude-metis.patch
@@ -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:
diff --git a/community/suitesparse/0002-remove-rpath.patch b/community/suitesparse/0002-remove-rpath.patch
new file mode 100644
index 0000000000..b20166e86c
--- /dev/null
+++ b/community/suitesparse/0002-remove-rpath.patch
@@ -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
+
+ #---------------------------------------------------------------------------
diff --git a/community/suitesparse/APKBUILD b/community/suitesparse/APKBUILD
new file mode 100644
index 0000000000..34433c5189
--- /dev/null
+++ b/community/suitesparse/APKBUILD
@@ -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="all"
+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"