diff options
author | Sébastien Fabbro <bicatali@gentoo.org> | 2011-06-18 07:04:04 +0100 |
---|---|---|
committer | Sébastien Fabbro <bicatali@gentoo.org> | 2011-06-18 07:04:04 +0100 |
commit | 951c145835efee4af090dde24a0c4e36282ab332 (patch) | |
tree | c6044784968c86e19aca560344148eb3509e98d9 | |
parent | bump (diff) | |
download | bicatali-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/ChangeLog | 7 | ||||
-rw-r--r-- | sci-libs/acml/Manifest | 4 | ||||
-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* } |