Subject: [alpine-aports] [PATCH] testing/mumps: new aport

From: Jose Maria Garcia <[email-masked]>
Date: Tue, 21 Nov 2017 07:15:54 +0100

http://mumps.enseeiht.fr/index.php?page=home
MUMPS: MUltifrontal Massively Parallel sparse direct Solver
---
 testing/mumps/APKBUILD     |  69 ++++++++++++++++++++
 testing/mumps/Makefile.inc | 158 +++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 227 insertions(+)
 create mode 100644 testing/mumps/APKBUILD
 create mode 100644 testing/mumps/Makefile.inc

diff --git a/testing/mumps/APKBUILD b/testing/mumps/APKBUILD
new file mode 100644
index 0000000000..a1ea166c31
--- /dev/null
+++ b/testing/mumps/APKBUILD
@@ -0,0 +1,69 @@
+# Contributor: Jose Maria Garcia <[email-masked]>
+# Maintainer: Jose Maria Garcia <[email-masked]>
+pkgname=mumps
+pkgver=5.1.1
+pkgrel=0
+pkgdesc="MUMPS: MUltifrontal Massively Parallel sparse direct Solver"
+url="http://mumps.enseeiht.fr/index.php?page=home"
+arch="all"
+license="CeCILL-C"
+depends="metis lapack scotch scotch lapack"
+makedepends="python2 py2-numpy lapack-dev gfortran metis-dev scotch-dev"
+install=""
+subpackages="$pkgname-dev $pkgname-examples"
+
+source="http://mumps.enseeiht.fr/MUMPS_${pkgver}.tar.gz"
+builddir="$srcdir/MUMPS_${pkgver}"
+
+build() {
+   	cd "${builddir}"
+        cp ../../Makefile.inc "${builddir}/Makefile.inc"
+	#sed s/OPTF    = -O/OPTF    = -DALLOW_NON_INIT ${CFLAGS} -O -fPIC/g   	
+        make clean
+   	make -j1 all FC=gfortran FL=gfortran 
+}
+
+package() {
+        # https://aur.archlinux.org/cgit/aur.git/tree/PKGBUILD?h=mumps
+	cd "${builddir}/lib/"
+	echo "Creating package....$pkgname"
+        install -m 755 -d "${pkgdir}/usr/lib/"
+	# Convert static libraries into shareables
+        for _FILE in `ls *.a | sed "s|\.a||"`; do
+            echo "    $_FILE"
+            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
+	echo "$builddir....... DONE"
+}
+
+dev() {
+        pkgdesc="$pkgname - Headers"
+	subpkgdir=${pkgdir}-dev
+	# Installing headers
+	echo "Creating package....$pkgname-dev"
+	cd "${builddir}/include/"
+	echo "${subpkgdir}"
+        install -m 755 -d "${subpkgdir}/usr/include"     
+        install -D -m644 *.h "${subpkgdir}/usr/include"
+	echo "Package......DONE"
+}
+
+
+examples() {
+        pkgdesc="$pkgname - Examples"
+	subpkgdir=${pkgdir}-examples
+	echo "Creating package....$pkgname-examples"
+        install -m 755 -d "${subpkgdir}/usr/share/${pkgname}/examples"
+
+        cd "${builddir}/examples"
+        # Install examples
+        install -m 644 * "${subpkgdir}/usr/share/${pkgname}/examples"
+        for _FILE in ssimpletest dsimpletest csimpletest zsimpletest c_example; do
+            chmod 0755 "${subpkgdir}/usr/share/${pkgname}/examples/${_FILE}"
+        done
+	echo "Package......DONE"	
+}
+sha512sums="145dd61c9164bc50d07c2baf48345a2aca200332c4e359ea8b5b64fbb2027a6556f622a5620585b4852f785ba8e210267585c53634564f712828add2939901a9  MUMPS_5.1.1.tar.gz"
diff --git a/testing/mumps/Makefile.inc b/testing/mumps/Makefile.inc
new file mode 100644
index 0000000000..4afea6720a
--- /dev/null
+++ b/testing/mumps/Makefile.inc
@@ -0,0 +1,158 @@
+#
+#  This file is part of MUMPS 5.1.1, released
+#  on Mon Mar 20 14:34:33 UTC 2017
+#
+################################################################################
+#
+#   Makefile.inc.generic.SEQ
+#
+#    Generic Makefile.inc for sequential (MPI free, Scalapack free) version
+#
+#
+#   This defines some parameters dependent on your platform; you should
+#   look for the approriate file in the directory ./Make.inc/ and copy it
+#   into a file called Makefile.inc. For example, from the MUMPS root
+#   directory, use 
+#   "cp Make.inc/Makefile.inc.generic.SEQ ./Makefile.inc"
+#   (see the main README file for details)
+#
+#   If you do not find any suitable Makefile in Makefile.inc, use this file:
+#   "cp Make.inc/Makefile.inc.generic ./Makefile.inc" and modify it according
+#   to the comments given below. If you manage to build MUMPS on a new platform,
+#   and think that this could be useful to others, you may want to send us
+#   the corresponding Makefile.inc file.
+#
+################################################################################
+
+
+########################################################################
+#Begin orderings
+#
+# NOTE that PORD is distributed within MUMPS by default. It is recommended to
+# install other orderings. For that, 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 recommended.
+#
+
+#SCOTCHDIR  = ${HOME}/scotch_6.0
+#ISCOTCH    = -I$(SCOTCHDIR)/include
+#
+# 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 -lscotch -lscotcherr
+#LSCOTCH    = -L$(SCOTCHDIR)/lib -lptesmumps -lptscotch -lptscotcherr
+
+
+LPORDDIR = $(topdir)/PORD/lib/
+IPORD    = -I$(topdir)/PORD/include/
+LPORD    = -L$(LPORDDIR) -lpord
+
+#LMETISDIR = /opt/metis-5.1.0/build/Linux-x86_64/libmetis
+#IMETIS    = /opt/metis-5.1.0/include
+
+# 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.
+# If you want to use Metis 4.X or an older version, you should use -Dmetis4 instead of -Dmetis
+# or in addition with -Dparmetis (if you are using parmetis 3.X or older).
+#ORDERINGSF = -Dscotch -Dmetis -Dpord -Dptscotch -Dparmetis
+ORDERINGSF  = -Dpord
+ORDERINGSC  = $(ORDERINGSF)
+
+LORDERINGS = $(LMETIS) $(LPORD) $(LSCOTCH)
+IORDERINGSF = $(ISCOTCH)
+IORDERINGSC = $(IMETIS) $(IPORD) $(ISCOTCH)
+
+#End orderings
+########################################################################
+
+########################################################################
+# DEFINE HERE SOME COMMON COMMANDS, THE COMPILER NAMES, ETC...
+
+# PLAT : use it to add a default suffix to the generated libraries
+PLAT    = 
+# Library extension, + C and Fortran "-o" option
+# may be different under Windows
+LIBEXT  = .a
+OUTC    = -o 
+OUTF    = -o 
+# RM : remove files
+RM      = /bin/rm -f
+# CC : C compiler
+CC      = cc
+# FC : Fortran 90 compiler
+FC      = f90
+# FL : Fortran linker
+FL      = f90
+# AR : Archive object in a library
+#      keep a space at the end if options have to be separated from lib name
+AR      = ar vr 
+# RANLIB : generate index of an archive file
+#   (optionnal use "RANLIB = echo" in case of problem)
+RANLIB  = ranlib
+#RANLIB  = echo
+
+# DEFINE HERE YOUR LAPACK LIBRARY
+
+LAPACK = -llapack
+# The next two lines should not be modified. They concern
+# the sequential library provided by MUMPS, to use instead
+# of ScaLAPACK and MPI.
+INCSEQ  = -I$(topdir)/libseq
+LIBSEQ  = $(LAPACK) -L$(topdir)/libseq -lmpiseq
+
+# DEFINE HERE YOUR BLAS LIBRARY
+
+LIBBLAS = -lblas
+
+# DEFINE HERE YOUR PTHREAD LIBRARY
+LIBOTHERS = -lpthread
+
+# FORTRAN/C COMPATIBILITY:
+#  Use:
+#    -DAdd_ if your Fortran compiler adds an underscore at the end
+#              of symbols,
+#     -DAdd__ if your Fortran compiler adds 2 underscores,
+#
+#     -DUPPER if your Fortran compiler uses uppercase symbols
+#
+#     leave empty if your Fortran compiler does not change the symbols.
+#
+
+CDEFS = -DAdd_
+
+#COMPILER OPTIONS
+#OPTF    = -O
+#OPTC    = -O -I.
+#OPTL    = -O
+OPTF    = -DALLOW_NON_INIT ${CFLAGS} -O -fPIC
+OPTL    = ${CFLAGS} -fPIC
+OPTC    = ${CFLAGS} -fPIC
+
+
+#Sequential:
+
+INCS = $(INCSEQ)
+LIBS = $(LIBSEQ)
+LIBSEQNEEDED = libseqneeded
-- 
2.15.0

---
Unsubscribe:  [email-masked]
Help:         [email-masked]
---

---

From: Carlo Landmeter <[email-masked]>
Date: Mon, 10 Dec 2018 13:59:26 +0100

Hi,

I was going over some old patches on our list (sorry for a huge delay) and
came across some of yours.
It looks like many of your patches have incorrect white-space handling (we
used tabs) and lots of commented lines.

Also there are multiple incorrect license usages. Please use an identifiers
from https://spdx.org/licenses/

Thanks!

-carlo

On Tue, 21 Nov 2017 at 07:16, Jose Maria Garcia <[email-masked]>
wrote:

>  testing/mumps/Makefile.inc | 158
> +++++++++++++++++++++++++++++++++++++++++++++
> +            ln -sf ${_FILE}.so.${pkgver}
> ${pkgdir}/usr/lib/${_FILE}.so.${pkgver:0:1}
> +        done
> +            chmod 0755
> "${subpkgdir}/usr/share/${pkgname}/examples/${_FILE}"
> +        done