jlec        15/02/20 14:46:15

  Modified:             ChangeLog
  Added:                acml-4.1.0-r2.ebuild
  Removed:              acml-4.1.0-r1.ebuild acml-4.0.1.ebuild
                        acml-3.6.1-r1.ebuild
  Log:
  Drop old; move to EAPI=5, fixes #478598
  
  (Portage version: 2.2.17/cvs/Linux x86_64, signed Manifest commit with key 
B9D4F231BD1558AB!)

Revision  Changes    Path
1.49                 sci-libs/acml/ChangeLog

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

Index: ChangeLog
===================================================================
RCS file: /var/cvsroot/gentoo-x86/sci-libs/acml/ChangeLog,v
retrieving revision 1.48
retrieving revision 1.49
diff -u -r1.48 -r1.49
--- ChangeLog   15 Feb 2015 06:46:42 -0000      1.48
+++ ChangeLog   20 Feb 2015 14:46:15 -0000      1.49
@@ -1,6 +1,12 @@
 # ChangeLog for sci-libs/acml
 # Copyright 1999-2015 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/sci-libs/acml/ChangeLog,v 1.48 2015/02/15 
06:46:42 vapier Exp $
+# $Header: /var/cvsroot/gentoo-x86/sci-libs/acml/ChangeLog,v 1.49 2015/02/20 
14:46:15 jlec Exp $
+
+*acml-4.1.0-r2 (20 Feb 2015)
+
+  20 Feb 2015; Justin Lecher <[email protected]> +acml-4.1.0-r2.ebuild,
+  -acml-3.6.1-r1.ebuild, -acml-4.0.1.ebuild, -acml-4.1.0-r1.ebuild:
+  Drop old; move to EAPI=5, fixes #478598
 
   15 Feb 2015; Mike Frysinger <[email protected]> acml-4.1.0-r1.ebuild:
   Switch to matching versions as the SLOT in older versions is changing 
#528196.



1.1                  sci-libs/acml/acml-4.1.0-r2.ebuild

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

Index: acml-4.1.0-r2.ebuild
===================================================================
# Copyright 1999-2015 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/sci-libs/acml/acml-4.1.0-r2.ebuild,v 1.1 
2015/02/20 14:46:15 jlec Exp $

EAPI=5

inherit eutils fortran-2 multilib toolchain-funcs versionator

MY_P=${PN}-$(replace_all_version_separators -)

DESCRIPTION="AMD Core Math Library for x86 and amd64 CPUs"
HOMEPAGE="http://developer.amd.com/acml.jsp";
SRC_URI="
        amd64? (
                ifc? ( ${MY_P}-ifort-64bit.tgz
                        int64? ( ${MY_P}-ifort-64bit-int64.tgz ) )
                gfortran? (      ${MY_P}-gfortran-64bit.tgz
                        int64? ( ${MY_P}-gfortran-64bit-int64.tgz ) )
                !ifc? (
                        !gfortran? ( ${MY_P}-gfortran-64bit.tgz
                                int64? ( ${MY_P}-gfortran-64bit-int64.tgz ) ) ) 
)
        x86? (
                ifc? ( ${MY_P}-ifort-32bit.tgz )
                gfortran? ( ${MY_P}-gfortran-32bit.tgz )
                !ifc? ( !gfortran? ( ${MY_P}-gfortran-32bit.tgz ) ) )"

SLOT="0"
LICENSE="ACML"
KEYWORDS="-* ~amd64 ~x86"
IUSE="doc examples gfortran ifc int64 openmp test"

RESTRICT="strip fetch"

CDEPEND="
        ifc? ( dev-lang/ifc )
        gfortran? ( =sys-devel/gcc-4.2* )
        !gfortran? ( !ifc? ( =sys-devel/gcc-4.2* ) )"

DEPEND="
        app-admin/eselect-blas
        app-admin/eselect-lapack
        test? ( ${CDEPEND} )"

RDEPEND="${CDEPEND}
        app-admin/eselect-blas
        app-admin/eselect-lapack
        doc? ( app-doc/blas-docs app-doc/lapack-docs )"

S="${WORKDIR}"

pkg_nofetch() {
        einfo "Please download the ACML from:"
        einfo "${HOMEPAGE}"
        einfo "and place it in ${DISTDIR}."
        einfo "The previous versions could be found at"
        einfo "http://developer.amd.com/acmlarchive.jsp";
        einfo "SRC=${A} $SRC_URI"
}

get_fcomp() {
        case $(tc-getFC) in
                *gfortran* )
                        FCOMP="gfortran" ;;
                ifort )
                        FCOMP="ifc" ;;
                * )
                        FCOMP=$(tc-getFC) ;;
        esac
}

pkg_setup() {
        if use test; then
                # work around incomplete fortran eclass
                if use gfortran &&
                        [[ $(tc-getFC) =~ gfortran ]] &&
                        [[ $(gcc-version) != 4.2 ]]
                then
                        eerror "You need gfortran-4.2 to test acml"
                        eerror "Please use gcc-config to switch gcc version 4.2"
                        die "gfortran check failed"
                fi
        fi
        if use openmp; then
                tc-has-openmp || die "Please ensure your compiler has openmp 
support"
                FORTRAN_NEED_OPENMP=1
        fi
        fortran-2_pkg_setup
        get_fcomp
        # construct default profile dprof from default ddir
        local ddir=gfortran
        use ifc && ddir=ifort
        use x86 && ddir=${ddir}32 || ddir=${ddir}64
        use openmp && ddir=${ddir}_mp
        use int64 && ddir=${ddir}_int64
        ACML_DEFAULT_DIR=${ddir}
}

src_unpack() {
        unpack ${A}
        unpack ./contents-acml-*.tgz
        use openmp || rm -rf *_mp*
}

src_test() {
        # only testing with current chosen compiler
        for fdir in ${ACML_DEFAULT_DIR/_mp}*; do
                einfo "Testing acml in ${fdir}"
                for d in . acml_mv; do
                        cd "${S}"/${fdir}/examples/${d}
                        emake \
                                ACMLDIR="${S}"/${fdir} \
                                F77=$(tc-getFC) \
                                CC="$(tc-getCC)" \
                                CPLUSPLUS="$(tc-getCXX)"
                        emake clean
                done
        done
}

make_acml_profile_name() {
        local fort=${1%%[[:digit:]]*}
        local opt=${1#*[0-9][0-9]}
        echo ${PN}-${fort}${opt/mp/openmp} | tr '_' '-'
}

src_install() {
        # respect acml default install dir (and FHS)
        local instdir=/opt/${PN}${PV}
        dodir ${instdir}

        for lib in */lib; do
                local fdir=${lib%/*}
                # install acml
                use examples || rm -rf "${S}"/${fdir}/examples
                cp -pPR "${S}"/${fdir} "${D}"${instdir} || die "copy ${fdir} 
failed"

                # install profiles
                local prof=$(make_acml_profile_name ${fdir})
                local acmldir=${instdir}/${fdir}
                local acmllibs="-lacml"
                local libname=${acmldir}/lib/libacml
                local extlibs
                local extflags
                [[ ${fdir} =~ int64 ]] && extflags="${extflags} 
-fdefault-integer-8"
                [[ ${fdir} =~ gfortran ]] && extlibs="${extlibs} -lgfortran"
                if [[ ${fdir} =~ _mp ]]; then
                        [[ ${fdir} =~ ifort ]] && extlibs="${extlibs} -lguide"
                        extlibs="${extlibs} -lpthread"
                        extflags="${extflags} -fopenmp"
                        acmllibs="-lacml_mp"
                        libname=${libname}_mp
                fi
                use amd64 && acmllibs="${acmllibs} -lacml_mv"
                for x in blas lapack; do
                        # pkgconfig files
                        sed -e "s:@LIBDIR@:$(get_libdir):" \
                                -e "s:@PV@:${PV}:" \
                                -e "s:@ACMLDIR@:${acmldir}:g" \
                                -e "s:@ACMLLIBS@:${acmllibs}:g" \
                                -e "s:@EXTLIBS@:${extlibs}:g" \
                                -e "s:@EXTFLAGS@:${extflags}:g" \
                                "${FILESDIR}"/${x}.pc.in > ${x}.pc \
                                || die "sed ${x}.pc failed"
                        insinto ${acmldir}/lib
                        doins ${x}.pc

                        # eselect files
                        cat > eselect.${prof}.${x} <<-EOF
                                ${libname}.so /usr/@LIBDIR@/lib${x}.so.0
                                ${libname}.so /usr/@LIBDIR@/lib${x}.so
                                ${libname}.a /usr/@LIBDIR@/lib${x}.a
                                ${acmldir}/lib/${x}.pc 
/usr/@LIBDIR@/pkgconfig/${x}.pc
                        EOF
                        eselect ${x} add $(get_libdir) eselect.${prof}.${x} 
${prof}
                done
        done

        echo "LDPATH=${instdir}/${ACML_DEFAULT_DIR}/lib" > 35acml
        doenvd "${S}"/35acml
        use doc || rm -rf "${S}"/Doc/acml.pdf "${S}"/Doc/html
        cp -pPR "${S}"/Doc "${D}"${instdir} || die "copy doc failed"
}

pkg_postinst() {
        local dprof="$(make_acml_profile_name ${ACML_DEFAULT_DIR})"
        for x in blas lapack; do
                local cprof=$(eselect ${x} show | cut -d' ' -f2)
                if [[ ${cprof} == ${dprof} || -z ${cprof} ]]; then
                # work around eselect bug #189942
                        local 
configfile="${ROOT}"/etc/env.d/${x}/$(get_libdir)/config
                        [[ -e ${configfile} ]] && rm -f ${configfile}
                        eselect ${x} set ${dprof}
                        elog "${x} has been eselected to ${dprof}"
                else
                        elog "Current eselected ${x} implementation is ${cprof}"
                        elog "To use you have one of ${PN}, issue (as root):"
                        elog "\t eselect ${x} set <profile>"
                fi
        done
}




Reply via email to