diff options
Diffstat (limited to 'sci-libs/acml/acml-3.6.0-r1.ebuild')
-rw-r--r-- | sci-libs/acml/acml-3.6.0-r1.ebuild | 55 |
1 files changed, 27 insertions, 28 deletions
diff --git a/sci-libs/acml/acml-3.6.0-r1.ebuild b/sci-libs/acml/acml-3.6.0-r1.ebuild index cf96e69d7..2a7aaebb8 100644 --- a/sci-libs/acml/acml-3.6.0-r1.ebuild +++ b/sci-libs/acml/acml-3.6.0-r1.ebuild @@ -63,18 +63,17 @@ src_unpack() { src_compile() { einfo "Nothing to compile" - return } src_test() { for fort in ${FORTDIRS}; do einfo "Testing acml for $(basename ${fort})" - cd "${S}/${fort}/examples" + cd "${S}"/${fort}/examples for d in . acml_mv; do - cd "${S}/${fort}/examples/${d}" + cd "${S}"/${fort}/examples/${d} emake \ - ACMLDIR="${S}/${fort}" \ - F77="${FORTRANC}" \ + ACMLDIR="${S}"/${fort} \ + F77=${FORTRANC} \ CC="$(tc-getCC)" \ CPLUSPLUS="$(tc-getCXX)" \ || die "emake test in ${fort}/examples/${d} failed" @@ -85,24 +84,24 @@ src_test() { src_install() { # respect acml default install dir (and FHS) - local instdir="/opt/${PN}${PV}" + local instdir=/opt/${PN}${PV} dodir ${instdir} for fort in ${FORTDIRS}; do # install acml - use examples || rm -rf "${S}/${fort}"/examples - cp -pPR "${S}/${fort}" "${D}${instdir}" + use examples || rm -rf "${S}"/${fort}/examples + cp -pPR "${S}/${fort}" "${D}"${instdir} || die "copy ${fort} failed" # install profiles + ESELECT_PROF=acml-${FORTRANC} local acmldir=${instdir}/${fort} local libname=${acmldir}/lib/libacml - local prof=acml-${FORTRANC} local extlibs local extflags - if [[ "${fort}" =~ "_mp" ]]; then - prof="${prof}-openmp" - extlibs="-lpthread" - libname="${libname}_mp" + if [[ ${fort} =~ _mp ]]; then + ESELECT_PROF=${ESELECT_PROF}-openmp + extlibs=-lpthread + libname=${libname}_mp extflags="${extflags} -openmp" fi for l in blas lapack; do @@ -115,7 +114,7 @@ src_install() { "${FILESDIR}"/${l}.pc.in > ${l}.pc \ || die "sed ${l}.pc failed" insinto ${acmldir}/lib - doins ${l}.pc + doins ${l}.pc || die "doins ${l}.pc failed" # eselect files cat > eselect.${l} << EOF @@ -124,28 +123,28 @@ ${libname}.so /usr/@LIBDIR@/lib${l}.so ${libname}.a /usr/@LIBDIR@/lib${l}.a ${acmldir}/lib/${l}.pc /usr/@LIBDIR@/pkgconfig/${l}.pc EOF - eselect ${l} add $(get_libdir) eselect.${l} ${prof} + eselect ${l} add $(get_libdir) eselect.${l} ${ESELECT_PROF} done - echo "LDPATH=${instdir}/${fort}/lib" > 35acml - echo "INCLUDE=${instdir}/${fort}/include" >> 35acml + echo "LDPATH=${instdir}/${fort}/lib" > 35acml + echo "INCLUDE=${instdir}/${fort}/include" >> 35acml done - # paths - doenvd 35acml + doenvd 35acml || die "doenvd failed" use doc || rm -rf "${S}"/Doc/acml.pdf "${S}"/Doc/html - cp -pPR "${S}"/Doc "${D}${instdir}" + cp -pPR "${S}"/Doc "${D}"${instdir} || die "copy doc failed" } pkg_postinst() { - # set acml if none are set yet - for l in blas lapack; do - if [[ -z "$(eselect ${l} show)" ]]; then - local prof=acml-${FORTRANC} - use openmp && prof="${prof}-openmp" - eselect ${l} set ${prof} + for p in blas lapack; do + local current_p=$(eselect ${p} show | cut -d' ' -f2) + if [[ -z ${current_p} ]] || [[ ${current_p} == ${ESELECT_PROF} ]]; then + eselect ${p} set ${ESELECT_PROF} + elog "${p} has been eselected to ${ESELECT_PROF}" + else + elog "Current eselected ${p} is ${current_p}" + elog "To use ${p} ${ESELECT_PROF} implementation, you have to issue (as root):" + elog "\t eselect ${p} set ${ESELECT_PROF}" fi done - elog "Use 'eselect blas' and 'eselect lapack' to select" - elog "one of the multiple acml blas and lapack profiles" } |