bircoph     15/03/06 09:56:13

  Modified:             ChangeLog
  Added:                mumps-4.10.0-r1.ebuild
  Removed:              mumps-4.10.0.ebuild
  Log:
  revbump after bugfix 541830
  
  Signed-off-by: Andrew Savchenko <[email protected]>
  (Portage version: 2.2.17/cvs/Linux i686, signed Manifest commit with key 
565953B95372756C)

Revision  Changes    Path
1.3                  sci-libs/mumps/ChangeLog

file : 
http://sources.gentoo.org/viewvc.cgi/gentoo-x86/sci-libs/mumps/ChangeLog?rev=1.3&view=markup
plain: 
http://sources.gentoo.org/viewvc.cgi/gentoo-x86/sci-libs/mumps/ChangeLog?rev=1.3&content-type=text/plain
diff : 
http://sources.gentoo.org/viewvc.cgi/gentoo-x86/sci-libs/mumps/ChangeLog?r1=1.2&r2=1.3

Index: ChangeLog
===================================================================
RCS file: /var/cvsroot/gentoo-x86/sci-libs/mumps/ChangeLog,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- ChangeLog   6 Mar 2015 09:51:21 -0000       1.2
+++ ChangeLog   6 Mar 2015 09:56:13 -0000       1.3
@@ -1,6 +1,12 @@
 # ChangeLog for sci-libs/mumps
 # Copyright 1999-2015 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/sci-libs/mumps/ChangeLog,v 1.2 2015/03/06 
09:51:21 bircoph Exp $
+# $Header: /var/cvsroot/gentoo-x86/sci-libs/mumps/ChangeLog,v 1.3 2015/03/06 
09:56:13 bircoph Exp $
+
+*mumps-4.10.0-r1 (06 Mar 2015)
+
+  06 Mar 2015; Andrew Savchenko <[email protected]> -mumps-4.10.0.ebuild,
+  +mumps-4.10.0-r1.ebuild:
+  Revbump on second thought, since run-time problem is fixed.
 
   06 Mar 2015; Andrew Savchenko <[email protected]> mumps-4.10.0.ebuild:
   mumps is not compatible with >=scotch-6, see bug 541830.



1.1                  sci-libs/mumps/mumps-4.10.0-r1.ebuild

file : 
http://sources.gentoo.org/viewvc.cgi/gentoo-x86/sci-libs/mumps/mumps-4.10.0-r1.ebuild?rev=1.1&view=markup
plain: 
http://sources.gentoo.org/viewvc.cgi/gentoo-x86/sci-libs/mumps/mumps-4.10.0-r1.ebuild?rev=1.1&content-type=text/plain

Index: mumps-4.10.0-r1.ebuild
===================================================================
# Copyright 1999-2015 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/sci-libs/mumps/mumps-4.10.0-r1.ebuild,v 1.1 
2015/03/06 09:56:13 bircoph Exp $

EAPI=5

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
}

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 via email to