summarylogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--.SRCINFO23
-rwxr-xr-xMakefile.inc91
-rwxr-xr-xPKGBUILD67
3 files changed, 181 insertions, 0 deletions
diff --git a/.SRCINFO b/.SRCINFO
new file mode 100644
index 000000000000..39db15e9bc92
--- /dev/null
+++ b/.SRCINFO
@@ -0,0 +1,23 @@
+# Generated by makepkg 4.2.0
+# Fri Feb 27 18:15:22 UTC 2015
+pkgbase = mumps
+ pkgdesc = Sparse solver library using Gaussian elimination
+ pkgver = 5.0.0
+ pkgrel = 1
+ url = http://mumps.enseeiht.fr
+ arch = i686
+ arch = x86_64
+ license = custom
+ depends = lapack
+ depends = openmpi
+ depends = scotch>=6.0.3-3
+ depends = scalapack
+ depends = metis
+ depends = bzip2
+ source = http://mumps.enseeiht.fr/MUMPS_5.0.0.tar.gz
+ source = Makefile.inc
+ md5sums = 3c6aeab847e9d775ca160194a9db2b75
+ md5sums = e1d80cc7b2f942f1451e764a6c0e8567
+
+pkgname = mumps
+
diff --git a/Makefile.inc b/Makefile.inc
new file mode 100755
index 000000000000..cb51e35ff890
--- /dev/null
+++ b/Makefile.inc
@@ -0,0 +1,91 @@
+############################## Begin orderings ###############################
+
+# NOTE that PORD is distributed within MUMPS by default. If you would like to
+# use other orderings, you need to obtain the corresponding package and modify
+# the variables below accordingly.
+# For example, to have Metis available within MUMPS:
+# 1/ download Metis and compile it
+# 2/ uncomment (suppress # in first column) lines
+# starting with LMETISDIR, LMETIS
+# 3/ add -Dmetis in line ORDERINGSF
+# ORDERINGSF = -Dpord -Dmetis
+# 4/ Compile and install MUMPS
+# make clean; make (to clean up previous installation)
+#
+# Metis/ParMetis and SCOTCH/PT-SCOTCH (ver 6.0 and later) orderings are now available for MUMPS.
+#
+
+SCOTCHDIR = /usr
+ISCOTCH = -I$(SCOTCHDIR)/include/scotch
+# You have to choose one among the following two lines depending on
+# the type of analysis you want to perform. If you want to perform only
+# sequential analysis choose the first (remember to add -Dscotch in the ORDERINGSF
+# variable below); for both parallel and sequential analysis choose the second
+# line (remember to add -Dptscotch in the ORDERINGSF variable below)
+
+LSCOTCH = -L$(SCOTCHDIR)/lib -lesmumps -lbz2 -lscotch -lscotcherr
+#LSCOTCH = -L$(SCOTCHDIR)/lib -lptesmumps -lptscotch -lptscotcherr -lscotchmetis
+#LSCOTCH = -L$(SCOTCHDIR)/lib -lptesmumps -lptscotch -lptscotcherr -lscotchmetis -lscotch
+
+
+LPORDDIR = $(topdir)/PORD/lib/
+IPORD = -I$(topdir)/PORD/include/
+LPORD = -L$(LPORDDIR) -lpord
+
+LMETISDIR = /usr/lib
+IMETIS = -I/usr/include/metis
+# IPARMETIS = -I/usr/include/parmetis
+
+# You have to choose one among the following two lines depending on
+# the type of analysis you want to perform. If you want to perform only
+# sequential analysis choose the first (remember to add -Dmetis in the ORDERINGSF
+# variable below); for both parallel and sequential analysis choose the second
+# line (remember to add -Dparmetis in the ORDERINGSF variable below)
+
+LMETIS = -L$(LMETISDIR) -lmetis
+# LMETIS = -L$(LMETISDIR) -lparmetis -lmetis
+
+# The following variables will be used in the compilation process.
+# Please note that -Dptscotch and -Dparmetis imply -Dscotch and -Dmetis respectively.
+ORDERINGSF = -Dscotch -Dmetis -Dpord
+# ORDERINGSF = -Dscotch -Dmetis -Dpord -Dptscotch -Dparmetis
+# ORDERINGSF = -Dpord
+ORDERINGSC = $(ORDERINGSF)
+
+LORDERINGS = $(LMETIS) $(LPORD) $(LSCOTCH)
+IORDERINGSF = $(ISCOTCH)
+IORDERINGSC = $(IPARMETIS) $(IMETIS) $(IPORD) $(ISCOTCH)
+
+########################### End orderings ###################################
+
+PLAT =
+LIBEXT = .a
+OUTC = -o
+OUTF = -o
+RM = /bin/rm -f
+CC = mpicc
+FC = mpif77
+FL = mpif77
+AR = ar vr
+RANLIB = ranlib
+# RANLIB = echo
+SCALAP = -lscalapack -llapack # -lblacs -lblacsf77 -lblacs #
+INCPAR = -I/usr/include/openmpi
+LIBPAR = $(SCALAP) -L/usr/lib/openmpi -lmpi_usempif08 -lmpi_usempi_ignore_tkr -lmpi_mpifh -lmpi
+# See point 17 in the FAQ to have more details on the compilation of mpich with gfortran
+INCSEQ = -I$(topdir)/libseq
+LIBSEQ = -L$(topdir)/libseq -lmpiseq
+LIBBLAS = -lblas
+LIBOTHERS = -lpthread
+# Preprocessor defs for calling Fortran from C (-DAdd_ or -DAdd__ or -DUPPER)
+CDEFS = -DAdd_
+
+# Begin Optimized options
+OPTF = -DALLOW_NON_INIT ${CFLAGS} -fPIC
+OPTL = ${CFLAGS} -fPIC
+OPTC = ${CFLAGS} -fPIC
+# End Optimized options
+
+INCS = $(INCPAR)
+LIBS = $(LIBPAR)
+LIBSEQNEEDED = libseqneeded
diff --git a/PKGBUILD b/PKGBUILD
new file mode 100755
index 000000000000..a835ddf6ac6f
--- /dev/null
+++ b/PKGBUILD
@@ -0,0 +1,67 @@
+# Maintainer: Michele Mocciola <mickele>
+# Contributor: Guillaume Dollé < dolle dot guillaume at gmail dot com >
+pkgname=mumps
+pkgver=5.0.0
+pkgrel=1
+pkgdesc="Sparse solver library using Gaussian elimination"
+url="http://mumps.enseeiht.fr"
+license="custom"
+depends=('lapack' 'openmpi' 'scotch>=6.0.3-3' 'scalapack' 'metis' 'bzip2')
+makedepends=()
+provides=()
+conflicts=()
+replaces=()
+backup=()
+arch=('i686' 'x86_64')
+source=(http://mumps.enseeiht.fr/MUMPS_${pkgver}.tar.gz Makefile.inc)
+
+build() {
+ cd "${srcdir}/MUMPS_${pkgver}"
+ cp "${srcdir}/Makefile.inc" .
+
+ make -j1 all || return 1
+}
+
+package(){
+ # Install all headers
+ cd "${srcdir}/MUMPS_${pkgver}/include"
+ install -m 755 -d "${pkgdir}/usr/include"
+ install -D -m644 *.h "${pkgdir}/usr/include"
+
+ # Install all libraries
+ cd "${srcdir}/MUMPS_${pkgver}/lib" || return 1
+ install -m 755 -d "${pkgdir}/usr/lib" || return 1
+ install -D -m644 lib*.a ${pkgdir}/usr/lib || return 1
+ for _FILE in `ls *.a | sed "s|\.a||"`; do
+ ld -Bshareable -o ${_FILE}.so.${pkgver} -x -soname ${_FILE}.so --whole-archive ${_FILE}.a
+ install -m 644 -D ${_FILE}.a ${pkgdir}/usr/lib/${_FILE}.a
+ install -m 755 ${_FILE}.so.${pkgver} ${pkgdir}/usr/lib
+ ln -sf ${_FILE}.so.${pkgver} ${pkgdir}/usr/lib/${_FILE}.so.${pkgver:0:1}
+ done
+
+ # Install libraries mpiseq
+ cd "${srcdir}/MUMPS_${pkgver}/libseq"
+ install -m 755 -d "${pkgdir}/usr/include/mpiseq"
+ install -D -m644 *.h "${pkgdir}/usr/include/mpiseq"
+ cd "${srcdir}/MUMPS_${pkgver}/libseq"
+ install -D -m644 lib*.a ${pkgdir}/usr/lib
+ for _FILE in `ls *.a | sed "s|\.a||"`; do
+ ld -Bshareable -o ${_FILE}.so.${pkgver} -x -soname ${_FILE}.so --whole-archive ${_FILE}.a
+ install -m 644 -D ${_FILE}.a ${pkgdir}/usr/lib/${_FILE}.a
+ install -m 755 ${_FILE}.so.${pkgver} ${pkgdir}/usr/lib
+ ln -sf ${_FILE}.so.${pkgver} ${pkgdir}/usr/lib/${_FILE}.so.${pkgver:0:1}
+ done
+
+ # Install examples
+ install -m 755 -d "${pkgdir}/usr/share/doc/${pkgname}/examples"
+ cd "${srcdir}/MUMPS_${pkgver}/examples"
+ install -m 644 * "${pkgdir}/usr/share/doc/${pkgname}/examples"
+ for _FILE in ssimpletest dsimpletest csimpletest zsimpletest c_example; do
+ chmod 0755 "${pkgdir}/usr/share/doc/${pkgname}/examples/${_FILE}"
+ done
+
+ # Install license
+ install -D -m644 "${srcdir}/MUMPS_${pkgver}/LICENSE" "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE"
+}
+md5sums=('3c6aeab847e9d775ca160194a9db2b75'
+ 'e1d80cc7b2f942f1451e764a6c0e8567')