summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'sci-libs/acml/acml-3.6.0-r1.ebuild')
-rw-r--r--sci-libs/acml/acml-3.6.0-r1.ebuild175
1 files changed, 0 insertions, 175 deletions
diff --git a/sci-libs/acml/acml-3.6.0-r1.ebuild b/sci-libs/acml/acml-3.6.0-r1.ebuild
deleted file mode 100644
index a5069d1a363e..000000000000
--- a/sci-libs/acml/acml-3.6.0-r1.ebuild
+++ /dev/null
@@ -1,175 +0,0 @@
-# Copyright 1999-2011 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/sci-libs/acml/acml-3.6.0-r1.ebuild,v 1.13 2011/06/21 15:55:47 jlec Exp $
-
-inherit eutils fortran-2 toolchain-funcs
-
-MY_PV=${PV//\./\-}
-
-DESCRIPTION="AMD Core Math Library (ACML) for x86 and amd64 CPUs"
-HOMEPAGE="http://developer.amd.com/acml.jsp"
-SRC_URI="
- amd64? (
- ifc? ( acml-${MY_PV}-ifort-64bit.tgz )
- !ifc? (
- openmp? ( acml-${MY_PV}-ifort-64bit.tgz )
- !openmp? ( acml-${MY_PV}-gnu-64bit.tgz ) )
- openmp? ( acml-${MY_PV}-ifort-64bit.tgz )
- )
- x86? (
- ifc? ( acml-${MY_PV}-ifort-32bit.tgz )
- !ifc? (
- openmp? ( acml-${MY_PV}-ifort-32bit.tgz )
- !openmp? ( acml-${MY_PV}-gnu-32bit.tgz ) )
- openmp? ( acml-${MY_PV}-ifort-32bit.tgz )
- )"
-
-SLOT="0"
-LICENSE="ACML"
-KEYWORDS="~amd64 ~x86"
-IUSE="openmp ifc doc examples"
-
-RESTRICT="strip fetch"
-
-DEPEND="
- virtual/fortran
- app-admin/eselect-blas
- app-admin/eselect-lapack"
-RDEPEND="${DEPEND}
- 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() {
- elog "From version 3.5.0 on, ACML no longer supports"
- elog "hardware without SSE/SSE2 instructions. "
- elog "For older 32-bit without SSE/SSE2, use other blas/lapack libraries,"
- elog "or file a bug if you wish to have earlier ACML versions supported."
- epause
- FORTRAN=ifc
- FORT=ifort
- ! use ifc && ! use openmp && FORTRAN=g77 && FORT=gnu
- 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
-}
-
-src_unpack() {
- unpack ${A}
- (DISTDIR="${S}" unpack contents-acml-*.tgz)
- use openmp || rm -rf ${FORT}*_mp*
- FORTDIRS="$(ls -d ${FORT}*)"
-}
-
-src_test() {
- for fort in ${FORTDIRS}; do
- einfo "Testing acml for $(basename ${fort})"
- cd "${S}"/${fort}/examples
- for d in . acml_mv; do
- cd "${S}"/${fort}/examples/${d}
- emake \
- ACMLDIR="${S}"/${fort} \
- F77=$(tc-getFC) \
- CC="$(tc-getCC)" \
- CPLUSPLUS="$(tc-getCXX)" \
- || die "emake test in ${fort}/examples/${d} failed"
- emake clean
- done
- done
-}
-
-src_install() {
- # respect acml default install dir (and FHS)
- 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} || die "copy ${fort} failed"
-
- # install profiles
- ESELECT_PROF=acml-${FCOMP}
- local acmldir=${instdir}/${fort}
- local acmllibs="-lacml -lacml_mv"
- local libname=${acmldir}/lib/libacml
- local extlibs
- local extflags
- [[ ${fort} =~ g77 ]] && extlibs="${extlibs} -lg2c"
- if [[ ${fort} =~ _mp ]]; then
- ESELECT_PROF=${ESELECT_PROF}-openmp
- extlibs="${extlibs} -lpthread"
- acmllibs="-lacml_mp -lacml_mv"
- libname=${libname}_mp
- extflags="${extflags} -openmp"
- fi
- for l 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}"/${l}.pc.in > ${l}.pc \
- || die "sed ${l}.pc failed"
- insinto ${acmldir}/lib
- doins ${l}.pc || die "doins ${l}.pc failed"
-
- # eselect files
- cat > eselect.${l} <<-EOF
- ${libname}.so /usr/@LIBDIR@/lib${l}.so.0
- ${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} ${ESELECT_PROF}
- done
- echo "LDPATH=${instdir}/${fort}/lib" > 35acml
- done
-
- doenvd 35acml || die "doenvd failed"
-
- use doc || rm -rf "${S}"/Doc/acml.pdf "${S}"/Doc/html
- cp -pPR "${S}"/Doc "${D}"${instdir} || die "copy doc failed"
-}
-
-pkg_postinst() {
- for p in blas lapack; do
- local current_lib=$(eselect ${p} show | cut -d' ' -f2)
- if [[ ${current_lib} == ${ESELECT_PROF} || -z ${current_lib} ]]; then
- # work around eselect bug #189942
- local configfile="${ROOT}"/etc/env.d/${p}/$(get_libdir)/config
- [[ -e ${configfile} ]] && rm -f ${configfile}
- eselect ${p} set ${ESELECT_PROF}
- elog "${p} has been eselected to ${ESELECT_PROF}"
- else
- elog "Current eselected ${p} is ${current_lib}"
- elog "To use ${p} ${ESELECT_PROF} implementation, you have to issue (as root):"
- elog "\t eselect ${p} set ${ESELECT_PROF}"
- fi
- done
-}