diff options
author | Michele Mocciola | 2015-06-28 15:45:58 +0200 |
---|---|---|
committer | Michele Mocciola | 2015-06-28 15:45:58 +0200 |
commit | 887ef2dfaac9c0b425ba164c4af458b6093510cc (patch) | |
tree | 055929ffff8c9ba9efcc28599327927df62b762f | |
download | aur-887ef2dfaac9c0b425ba164c4af458b6093510cc.tar.gz |
Initial commit
-rw-r--r-- | .SRCINFO | 23 | ||||
-rwxr-xr-x | Makefile.inc | 91 | ||||
-rwxr-xr-x | PKGBUILD | 67 |
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') |