summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSébastien Fabbro <bicatali@gentoo.org>2011-06-18 07:04:04 +0100
committerSébastien Fabbro <bicatali@gentoo.org>2011-06-18 07:04:04 +0100
commit951c145835efee4af090dde24a0c4e36282ab332 (patch)
treec6044784968c86e19aca560344148eb3509e98d9
parentbump (diff)
downloadbicatali-951c145835efee4af090dde24a0c4e36282ab332.tar.gz
bicatali-951c145835efee4af090dde24a0c4e36282ab332.tar.bz2
bicatali-951c145835efee4af090dde24a0c4e36282ab332.zip
More complete treatment of multilib. Rename profiles to be more consistent with other libraries. Some simplifications.
-rw-r--r--sci-libs/acml/ChangeLog7
-rw-r--r--sci-libs/acml/Manifest4
-rw-r--r--sci-libs/acml/acml-4.4.0-r1.ebuild (renamed from sci-libs/acml/acml-4.4.0.ebuild)64
3 files changed, 43 insertions, 32 deletions
diff --git a/sci-libs/acml/ChangeLog b/sci-libs/acml/ChangeLog
index 35945e7..18ea73a 100644
--- a/sci-libs/acml/ChangeLog
+++ b/sci-libs/acml/ChangeLog
@@ -2,6 +2,13 @@
# Copyright 1999-2011 Gentoo Foundation; Distributed under the GPL v2
# $Header: /var/cvsroot/gentoo-x86/sci-libs/acml/ChangeLog,v 1.40 2009/07/07 23:27:59 flameeyes Exp $
+*acml-4.4.0-r1 (18 Jun 2011)
+
+ 18 Jun 2011; Sébastien Fabbro <bicatali@gentoo.org> -acml-4.4.0.ebuild,
+ +acml-4.4.0-r1.ebuild:
+ More complete treatment of multilib. Rename profiles to be more consistent
+ with other libraries. Some simplifications.
+
23 Feb 2011; Sébastien Fabbro <bicatali@gentoo.org> acml-4.4.0.ebuild:
Switched to alternatives-2 framework
diff --git a/sci-libs/acml/Manifest b/sci-libs/acml/Manifest
index a09e233..c317b88 100644
--- a/sci-libs/acml/Manifest
+++ b/sci-libs/acml/Manifest
@@ -12,6 +12,6 @@ DIST acml-4-4-0-open64-64bit.tgz 42812747 RMD160 aa29a615cf2b3294294162ccb89e9ad
DIST acml-4-4-0-pgi-32bit.tgz 24562671 RMD160 78677d7f178e725ebe086d9690c8ee72026929ba SHA1 cc0ceff8e8f5cb4a15175e2256c8708a8a7d2fb6 SHA256 f956b3fdd3e825c4b993a16179a8df2f772eda851aa4dd7f4a16fffb20c10580
DIST acml-4-4-0-pgi-64bit-int64.tgz 78664596 RMD160 2a0e9af1eef74009dce2a256d4da8382baf39133 SHA1 6648385c614d367bd18e29eb60be3f99df07ae1e SHA256 f1290edb9c5a91b667139ae4e8eec2486e7ccd3f2aa19f7f65667eef0d85eca0
DIST acml-4-4-0-pgi-64bit.tgz 77842523 RMD160 e4c6770837f9eb511999872d280715e6827b5f65 SHA1 2087b20359d72b2e7886b12356d4da0d2d563503 SHA256 9c07dc0b90e9e491a0ddcf7849690338f21011aa4aa197ff3408f32a0b3fd6cf
-EBUILD acml-4.4.0.ebuild 3384 RMD160 04293bd6cafda5b0d45bcfcd18c7c572c03f9008 SHA1 cc72743e39266d806adabe0a45868551b997b634 SHA256 aedfaf68159f0a9f4f0a52d0be3649d36ffbcd88f7027c2252712d3369b117b1
-MISC ChangeLog 8360 RMD160 9ba66449beb8a1e69a85350af6aa19f0b6a75282 SHA1 3f9a99bd9338d885b78be8d6fa7dc571c45705f0 SHA256 0c5e6390e9db8d9564078133f3b4d49300782dff4f1c474f420a61213dc78b9d
+EBUILD acml-4.4.0-r1.ebuild 3631 RMD160 6869ffc9e4c06d3a04a21a71c2edf97d65249c76 SHA1 faf7da945643f1f672c88c2f8d4fcd90161eb49e SHA256 c40d93e96ff6ff8aa74fc21b4b718fcb5b39c449e62123f113780d22ae87372c
+MISC ChangeLog 8614 RMD160 709ed6a62bb652c14fd8fc96de3649bc24d9d973 SHA1 403bc7772bd5b7a469de7fff883f2b06271e2397 SHA256 a3e7541d8b8bc2fb743769272649792f32f7df016ca04c425f6ef21799c38184
MISC metadata.xml 1346 RMD160 df635430c989552278e7e2d262fbb32ffd11f99e SHA1 e1432a7d071c4f1ae567c7d0fe6708e46ceac4df SHA256 5e41050f4380164e761f836c29c818176cf23d239dc1e5aa29e4702cbbe85042
diff --git a/sci-libs/acml/acml-4.4.0.ebuild b/sci-libs/acml/acml-4.4.0-r1.ebuild
index 3e9be5b..982e6c8 100644
--- a/sci-libs/acml/acml-4.4.0.ebuild
+++ b/sci-libs/acml/acml-4.4.0-r1.ebuild
@@ -25,26 +25,29 @@ for fcomp in gfortran ifort nag open64 pgi; do
int64? ( ${URI}/${MYP}-${fcomp}-64bit-int64.tgz ) )"
done
SRC_URI="
- x86? ( ${FCOMP32} !gfortran? ( !ifort? ( !nag? ( !pgi? ( ${URI}/${MYP}-gfortran-32bit.tgz ) ) ) ) )
+ x86? ( ${FCOMP32} !gfortran? ( !ifort? ( !nag? ( !pgi? (
+ ${URI}/${MYP}-gfortran-32bit.tgz ) ) ) ) )
amd64? ( ${FCOMP64} multilib? ( ${FCOMP32} )
- !gfortran? ( !ifort? ( !nag? ( !open64? ( !pgi? ( ${URI}/${MYP}-gfortran-64bit.tgz
- multilib? ( ${URI}/${MYP}-gfortran-32bit.tgz )
- int64? ( ${URI}/${MYP}-gfortran-64bit-int64.tgz ) ) ) ) ) ) )"
+ !gfortran? ( !ifort? ( !nag? ( !open64? ( !pgi? (
+ ${URI}/${MYP}-gfortran-64bit.tgz
+ multilib? ( ${URI}/${MYP}-gfortran-32bit.tgz )
+ int64? ( ${URI}/${MYP}-gfortran-64bit-int64.tgz ) ) ) ) ) ) )"
LICENSE="ACML"
SLOT="0"
KEYWORDS="-* ~amd64 ~x86"
-IUSE="doc examples int64 multilib static-libs test gfortran ifort nag open64 pgi"
+IUSE="doc examples int64 multilib openmp static-libs test gfortran ifort nag open64 pgi"
RESTRICT="strip mirror"
-DEPEND=""
-RDEPEND=""
+DEPEND="test? ( virtual/fortran )"
+RDEPEND="virtual/fortran"
S="${WORKDIR}"
src_unpack() {
unpack ${A}
unpack ./contents-acml-*.tgz
+ use openmp || rm -rf *_mp
}
src_test() {
@@ -63,44 +66,46 @@ src_test() {
src_install() {
# install libraries, pkgconfig file and eselect files for each profile
# fdef will be the default (gfortran if available) to be in path
- local fdef lib
- for lib in */lib; do
- local fdir=${lib%/*}
+ local prof libs fdir libdir=$(get_libdir) x fdef
+ for fdir in */lib; do
+ fdir=$(dirname ${fdir})
+ prof=acml$(echo ${fdir} | sed \
+ -e 's:mp:openmp:' \
+ -e 's:_:-:g' \
+ -e 's:\([a-z]*\)\(32\|64\)\(-openmp\|\)\(-int64\|\):\2\4-\1\3:')
use examples || rm -rf ${fdir}/examples
use static-libs || rm -f ${fdir}/lib/*.a
- insinto /${ACML_INST_DIR}
- doins -r ${fdir}
- local alib acml_libs
- for alib in ${fdir}/lib/*.so; do
- alib=$(basename ${alib} .so)
- acml_libs="${acml_libs} -l${alib#lib}"
- done
- cat <<-EOF > ${PN}-${fdir}.pc
+ dodir /${ACML_INST_DIR}
+ cp -pPR ${fdir} "${ED}"/${ACML_INST_DIR}
+ libs="$(find ${fdir} -name \*.so | \
+ sed -e "s:${fdir}/lib\(.*\).so:-l\1:")"
+ cat <<-EOF > ${prof}.pc
prefix=${EPREFIX}/${ACML_INST_DIR}/${fdir}
libdir=\${prefix}/lib
includedir=\${prefix}/include
-
- Name: ${PN}-${fdir}
+ Name: ${prof}
Description: ${DESCRIPTION}
Version: ${PV}
URL: ${HOMEPAGE}
- Libs: -L\${libdir} ${acml_libs}
+ Libs: -L\${libdir} ${libs}
Cflags: -I\${includedir}
EOF
- local libdir=$(get_libdir) x
- [[ ${fdef} == gfortran${libdir#lib} ]] || fdef=${fdir}
- use multilib && [[ ${fdir} == *32* ]] && libdir=lib32
+ has_multilib_profile && [[ ${fdir} == *32* ]] && libdir=lib32
insinto /usr/${libdir}/pkgconfig
- doins ${PN}-${fdir}.pc
+ doins ${prof}.pc
for x in blas lapack; do
- alternatives_for ${x} ${PN}-${fdir} 0 \
- /usr/${libdir}/pkgconfig/${x}.pc ${PN}-${fdir}.pc \
+ alternatives_for ${x} ${prof} 0 \
+ /usr/${libdir}/pkgconfig/${x}.pc ${prof}.pc \
/${ACML_INST_DIR}/${libdir} ${fdir}/lib
done
+ [[ ${fdef} = gfortran${libdir#lib} ]] || fdef=${fdir}
done
+
+ # install env file
+ use openmp && [[ ${fdef} != *_mp ]] && fdef=${fdef}_mp
echo -n > 35acml "LDPATH=${EPREFIX}/${ACML_INST_DIR}/$(get_libdir)"
dosym ${fdef}/lib /${ACML_INST_DIR}/$(get_libdir)
- if use multilib; then
+ if has_multilib_profile; then
dosym ${fdef/64/32}/lib /${ACML_INST_DIR}/lib32
echo -n >> 35acml ":${EPREFIX}/${ACML_INST_DIR}/lib32"
fi
@@ -108,10 +113,9 @@ src_install() {
doenvd 35acml
insinto /${ACML_INST_DIR}
- doins ReleaseNotes*
# info files go to standard /usr/share/info to avoid more env variables
doinfo Doc/*info*
rm Doc/*EULA* Doc/*info*
use doc || rm -rf Doc/*.pdf Doc/acml.html Doc/html
- doins -r Doc
+ doins -r Doc ReleaseNotes*
}