public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
From: "Matthias Maier" <tamiko@gentoo.org>
To: gentoo-commits@lists.gentoo.org
Subject: [gentoo-commits] repo/gentoo:master commit in: sci-libs/mumps/
Date: Mon,  8 Oct 2018 17:56:08 +0000 (UTC)	[thread overview]
Message-ID: <1539021350.d0feaf39eeeb49c7e0954504e6c847d5a27be50e.tamiko@gentoo> (raw)

commit:     d0feaf39eeeb49c7e0954504e6c847d5a27be50e
Author:     Matthias Maier <tamiko <AT> gentoo <DOT> org>
AuthorDate: Mon Oct  8 17:49:42 2018 +0000
Commit:     Matthias Maier <tamiko <AT> gentoo <DOT> org>
CommitDate: Mon Oct  8 17:55:50 2018 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=d0feaf39

sci-libs/mumps: version bump to 5.1.2

Signed-off-by: Matthias Maier <tamiko <AT> gentoo.org>
Package-Manager: Portage-2.3.50, Repoman-2.3.11

 sci-libs/mumps/Manifest           |   1 +
 sci-libs/mumps/mumps-5.1.2.ebuild | 186 ++++++++++++++++++++++++++++++++++++++
 2 files changed, 187 insertions(+)

diff --git a/sci-libs/mumps/Manifest b/sci-libs/mumps/Manifest
index fa2f846fabd..973e51a036a 100644
--- a/sci-libs/mumps/Manifest
+++ b/sci-libs/mumps/Manifest
@@ -1 +1,2 @@
 DIST MUMPS_4.10.0.tar.gz 2481516 BLAKE2B ddd3f28bf9627806e9bb5597adc94e2b8f504adf220a8a64ea50630edbde75358bd97e91a53ebd341132a34db5d7248d32a892a060bdf8f205c8aac3b9c88722 SHA512 348df048618ea2086fbe805a90f2e31f57e0db4aa6f4843a0e3c7142bac80fe45e54768e65921657c970bc286b59c2bca91e5006ed8000678f26ba2efe2bfda8
+DIST MUMPS_5.1.2.tar.gz 3351215 BLAKE2B 1c77c2a217c101245a9a96a59be6b9bfd67ceffa603d807b5a7173026c5c33e2c4de78c14833d7b7f0a90130b9ebc0ac9c7d4ebfbf881d0bd2210a542887c239 SHA512 38a63b14a8df835be68b5fa310b39aa1815799220d56c176e4005797800959e9e08c9a6bf11d308ab82ea40b6f34d36072cebe7c1de39e0c314eb138b93f1b74

diff --git a/sci-libs/mumps/mumps-5.1.2.ebuild b/sci-libs/mumps/mumps-5.1.2.ebuild
new file mode 100644
index 00000000000..725e1ab60e6
--- /dev/null
+++ b/sci-libs/mumps/mumps-5.1.2.ebuild
@@ -0,0 +1,186 @@
+# Copyright 1999-2018 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit eutils toolchain-funcs flag-o-matic versionator fortran-2 multilib
+
+MYP=MUMPS_${PV}
+
+DESCRIPTION="MUltifrontal Massively Parallel sparse direct matrix Solver"
+HOMEPAGE="http://mumps.enseeiht.fr/"
+SRC_URI="${HOMEPAGE}${MYP}.tar.gz"
+
+LICENSE="public-domain"
+SLOT="0"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="doc examples metis mpi +scotch static-libs"
+
+RDEPEND="
+	virtual/blas
+	metis? ( || ( sci-libs/metis <sci-libs/parmetis-4 )
+		mpi? ( <sci-libs/parmetis-4 ) )
+	scotch? ( <sci-libs/scotch-6[mpi=] )
+	mpi? ( sci-libs/scalapack )"
+
+DEPEND="${RDEPEND}
+	virtual/pkgconfig"
+
+S="${WORKDIR}/${MYP}"
+
+static_to_shared() {
+	local libstatic=${1}; shift
+	local libname=$(basename ${libstatic%.a})
+	local soname=${libname}$(get_libname $(get_version_component_range 1-2))
+	local libdir=$(dirname ${libstatic})
+
+	einfo "Making ${soname} from ${libstatic}"
+	if [[ ${CHOST} == *-darwin* ]] ; then
+		${LINK:-$(tc-getCC)} ${LDFLAGS}  \
+			-dynamiclib -install_name "${EPREFIX}"/usr/lib/"${soname}" \
+			-Wl,-all_load -Wl,${libstatic} \
+			"$@" -o ${libdir}/${soname} || die "${soname} failed"
+	else
+		${LINK:-$(tc-getCC)} ${LDFLAGS}  \
+			-shared -Wl,-soname=${soname} \
+			-Wl,--whole-archive ${libstatic} -Wl,--no-whole-archive \
+			"$@" -o ${libdir}/${soname} || die "${soname} failed"
+		[[ $(get_version_component_count) -gt 1 ]] && \
+			ln -s ${soname} ${libdir}/${libname}$(get_libname $(get_major_version))
+		ln -s ${soname} ${libdir}/${libname}$(get_libname)
+	fi
+}
+
+src_prepare() {
+	sed -e "s:^\(CC\s*=\).*:\1$(tc-getCC):" \
+		-e "s:^\(FC\s*=\).*:\1$(tc-getFC):" \
+		-e "s:^\(FL\s*=\).*:\1$(tc-getFC):" \
+		-e "s:^\(AR\s*=\).*:\1$(tc-getAR) cr :" \
+		-e "s:^\(RANLIB\s*=\).*:\1$(tc-getRANLIB):" \
+		-e "s:^\(LIBBLAS\s*=\).*:\1$($(tc-getPKG_CONFIG) --libs blas):" \
+		-e "s:^\(INCPAR\s*=\).*:\1:" \
+		-e 's:^\(LIBPAR\s*=\).*:\1$(SCALAP):' \
+		-e "s:^\(OPTF\s*=\).*:\1${FFLAGS} -DALLOW_NON_INIT \$(PIC):" \
+		-e "s:^\(OPTC\s*=\).*:\1${CFLAGS} \$(PIC):" \
+		-e "s:^\(OPTL\s*=\).*:\1${LDFLAGS}:" \
+		Make.inc/Makefile.inc.generic > Makefile.inc || die
+	# fixed a missing copy of libseq to libdir
+
+	default
+}
+
+src_configure() {
+	LIBADD="$($(tc-getPKG_CONFIG) --libs blas) -Llib -lpord"
+	local ord="-Dpord"
+	if use metis && use mpi; then
+		sed -i \
+			-e "s:#\s*\(LMETIS\s*=\).*:\1$($(tc-getPKG_CONFIG) --libs parmetis):" \
+			-e "s:#\s*\(IMETIS\s*=\).*:\1$($(tc-getPKG_CONFIG) --cflags parmetis):" \
+			Makefile.inc || die
+		LIBADD="${LIBADD} $($(tc-getPKG_CONFIG) --libs parmetis)"
+		ord="${ord} -Dparmetis"
+	elif use metis; then
+		sed -i \
+			-e "s:#\s*\(LMETIS\s*=\).*:\1$($(tc-getPKG_CONFIG) --libs metis):" \
+			-e "s:#\s*\(IMETIS\s*=\).*:\1$($(tc-getPKG_CONFIG) --cflags metis):" \
+			Makefile.inc || die
+		LIBADD="${LIBADD} $($(tc-getPKG_CONFIG) --libs metis)"
+		ord="${ord} -Dmetis"
+	fi
+	if use scotch && use mpi; then
+		sed -i \
+			-e "s:#\s*\(LSCOTCH\s*=\).*:\1-lptesmumps -lptscotch -lptscotcherr:" \
+			-e "s:#\s*\(ISCOTCH\s*=\).*:\1-I${EROOT}usr/include/scotch:" \
+			Makefile.inc || die
+		LIBADD="${LIBADD} -lptesmumps -lptscotch -lptscotcherr"
+		ord="${ord} -Dptscotch"
+	elif use scotch; then
+		sed -i \
+			-e "s:#\s*\(LSCOTCH\s*=\).*:\1-lesmumps -lscotch -lscotcherr:" \
+			-e "s:#\s*\(ISCOTCH\s*=\).*:\1-I${EROOT}usr/include/scotch:" \
+			Makefile.inc || die
+		LIBADD="${LIBADD} -lesmumps -lscotch -lscotcherr"
+		ord="${ord} -Dscotch"
+	fi
+	if use mpi; then
+		sed -i \
+			-e "s:^\(CC\s*=\).*:\1mpicc:" \
+			-e "s:^\(FC\s*=\).*:\1mpif90:" \
+			-e "s:^\(FL\s*=\).*:\1mpif90:" \
+			-e "s:^\(SCALAP\s*=\).*:\1$($(tc-getPKG_CONFIG) --libs scalapack):" \
+			Makefile.inc || die
+		export LINK=mpif90
+		LIBADD="${LIBADD} $($(tc-getPKG_CONFIG) --libs scalapack)"
+	else
+		sed -i \
+			-e 's:-Llibseq:-L$(topdir)/libseq:' \
+			-e 's:PAR):SEQ):g' \
+			-e "s:^\(SCALAP\s*=\).*:\1:" \
+			-e 's:^LIBSEQNEEDED =:LIBSEQNEEDED = libseqneeded:g' \
+			Makefile.inc || die
+		export LINK="$(tc-getFC)"
+	fi
+	sed -i -e "s:^\s*\(ORDERINGSF\s*=\).*:\1 ${ord}:" Makefile.inc || die
+}
+
+src_compile() {
+	# Workaround #462602
+	export FAKEROOTKEY=1
+
+	# -j1 because of static archive race
+	emake -j1 alllib PIC="-fPIC"
+	if ! use mpi; then
+		#$(tc-getAR) crs lib/libmumps_common.a libseq/*.o || die
+		LIBADD+=" -Llibseq -lmpiseq"
+		static_to_shared libseq/libmpiseq.a
+	fi
+	static_to_shared lib/libpord.a ${LIBADD}
+	static_to_shared lib/libmumps_common.a ${LIBADD}
+
+	local i
+	for i in c d s z; do
+		static_to_shared lib/lib${i}mumps.a -Llib -lmumps_common ${LIBADD}
+	done
+	if use static-libs; then
+		emake clean
+		emake -j1 alllib
+	fi
+}
+
+src_test() {
+	emake all
+	local dotest
+	if use mpi; then
+		dotest="mpirun -np 2"
+	else
+		export LD_LIBRARY_PATH="${S}/libseq:${LD_LIBRARY_PATH}"
+	fi
+	cd examples
+	${dotest} ./ssimpletest < input_simpletest_real || die
+	${dotest} ./dsimpletest < input_simpletest_real || die
+	${dotest} ./csimpletest < input_simpletest_cmplx || die
+	${dotest} ./zsimpletest < input_simpletest_cmplx || die
+	einfo "The solutions should be close to (1,2,3,4,5)"
+	${dotest} ./c_example || die
+	einfo "The solution should be close to (1,2)"
+	make clean
+}
+
+src_install() {
+	dolib.so lib/lib*$(get_libname)*
+	use static-libs && dolib.a lib/lib*.a
+	insinto /usr
+	doins -r include
+	if ! use mpi; then
+		dolib.so libseq/lib*$(get_libname)*
+		insinto /usr/include/mpiseq
+		doins libseq/*.h
+		use static-libs && dolib.a libseq/libmpiseq.a
+	fi
+	dodoc README ChangeLog VERSION
+	use doc && dodoc doc/*.pdf
+	if use examples; then
+		insinto /usr/share/doc/${PF}
+		doins -r examples
+	fi
+}


             reply	other threads:[~2018-10-08 17:56 UTC|newest]

Thread overview: 19+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-10-08 17:56 Matthias Maier [this message]
  -- strict thread matches above, loose matches on Subject: below --
2018-11-26  0:31 [gentoo-commits] repo/gentoo:master commit in: sci-libs/mumps/ Matthias Maier
2018-11-26  0:36 Matthias Maier
2018-11-26  0:36 Matthias Maier
2020-09-18 16:47 Sam James
2020-09-18 16:47 Sam James
2020-09-18 16:58 Sam James
2020-09-18 22:27 Sam James
2021-01-02  7:02 Sam James
2021-01-02  7:02 Sam James
2021-01-02  7:02 Sam James
2021-04-07  5:24 Sam James
2021-04-07  5:24 Sam James
2021-09-07 17:56 Michael Orlitzky
2022-12-04  9:23 WANG Xuerui
2023-01-02 18:42 Matthias Maier
2023-03-07  0:18 Yixun Lan
2024-03-21  3:16 Sam James
2024-03-21  5:58 Sam James

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1539021350.d0feaf39eeeb49c7e0954504e6c847d5a27be50e.tamiko@gentoo \
    --to=tamiko@gentoo.org \
    --cc=gentoo-commits@lists.gentoo.org \
    --cc=gentoo-dev@lists.gentoo.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox