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
}