diff options
-rw-r--r-- | sci-libs/acml/ChangeLog | 13 | ||||
-rw-r--r-- | sci-libs/acml/Manifest | 48 | ||||
-rw-r--r-- | sci-libs/acml/acml-3.6.0-r1.ebuild | 152 | ||||
-rw-r--r-- | sci-libs/acml/acml-3.6.1-r1.ebuild | 173 | ||||
-rw-r--r-- | sci-libs/acml/acml-4.0.0.ebuild | 168 | ||||
-rw-r--r-- | sci-libs/acml/files/blas.pc.in | 11 | ||||
-rw-r--r-- | sci-libs/acml/files/digest-acml-3.6.0-r1 | 12 | ||||
-rw-r--r-- | sci-libs/acml/files/digest-acml-3.6.1-r1 | 9 | ||||
-rw-r--r-- | sci-libs/acml/files/digest-acml-4.0.0 | 9 | ||||
-rw-r--r-- | sci-libs/acml/files/lapack.pc.in | 11 |
10 files changed, 597 insertions, 9 deletions
diff --git a/sci-libs/acml/ChangeLog b/sci-libs/acml/ChangeLog index a614beec1048..2dfc5e241892 100644 --- a/sci-libs/acml/ChangeLog +++ b/sci-libs/acml/ChangeLog @@ -1,6 +1,17 @@ # ChangeLog for sci-libs/acml # Copyright 1999-2007 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/sci-libs/acml/ChangeLog,v 1.21 2007/07/02 15:25:55 peper Exp $ +# $Header: /var/cvsroot/gentoo-x86/sci-libs/acml/ChangeLog,v 1.22 2007/10/08 20:47:04 bicatali Exp $ + +*acml-4.0.0 (08 Oct 2007) +*acml-3.6.1-r1 (08 Oct 2007) +*acml-3.6.0-r1 (08 Oct 2007) + + 08 Oct 2007; Sébastien Fabbro <bicatali@gentoo.org> +files/blas.pc.in, + +files/lapack.pc.in, +acml-3.6.0-r1.ebuild, +acml-3.6.1-r1.ebuild, + +acml-4.0.0.ebuild: + Version bump. Fixed openmp profiles for acml-3.6.0-r1 and acml-3.6.1-r1. + Added a bunch of tests, now supports new virtual style. Remove any cblas + reference since API is not compatible. 02 Jul 2007; Piotr Jaroszyński <peper@gentoo.org> acml-3.0.0.ebuild, acml-3.1.0-r1.ebuild, acml-3.6.0.ebuild, acml-3.6.1.ebuild: diff --git a/sci-libs/acml/Manifest b/sci-libs/acml/Manifest index 5ca61ec4397f..555ec3ebe57d 100644 --- a/sci-libs/acml/Manifest +++ b/sci-libs/acml/Manifest @@ -1,6 +1,10 @@ -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 +AUX blas.pc.in 277 RMD160 8cb47efd4dde249c1167474349f5dfd627cf0db8 SHA1 528846352226a1f2543a7562370a60110c958252 SHA256 36cef41ee7bede42836c6d9b4d8d95ee95270f238ed52994440565741e0db129 +MD5 f00b2103879c1f4c8f85533e2b20d80f files/blas.pc.in 277 +RMD160 8cb47efd4dde249c1167474349f5dfd627cf0db8 files/blas.pc.in 277 +SHA256 36cef41ee7bede42836c6d9b4d8d95ee95270f238ed52994440565741e0db129 files/blas.pc.in 277 AUX c-ACML.blas 465 RMD160 71b32038e97db51ff63ca9090bc1b3cd759c1768 SHA1 4110d471675aa5821bf862b9658d6c0509e98c54 SHA256 3f784a81417fc88dcbfc4bbf4b2497eeef5b1f88084ea5b948725c1aa54ef3fd MD5 e92e9b2507e25e7826de1be1cce7c7ae files/c-ACML.blas 465 RMD160 71b32038e97db51ff63ca9090bc1b3cd759c1768 files/c-ACML.blas 465 @@ -37,6 +41,10 @@ AUX f77-ACML.lapack 441 RMD160 d51ae2b9561c40a9d5402077e30766bfb00cab80 SHA1 e2d MD5 035015e5be8999d26202cfb042029acc files/f77-ACML.lapack 441 RMD160 d51ae2b9561c40a9d5402077e30766bfb00cab80 files/f77-ACML.lapack 441 SHA256 b3a2a05d934e1826868399b6d6a5717d96136c36dc411ab2d0581d96e12de3c0 files/f77-ACML.lapack 441 +AUX lapack.pc.in 274 RMD160 7d97022fffe23c7b1215de1555851a4057efebe2 SHA1 b6b1c19d6c5fe734bb40877c23f33134838a7f6e SHA256 0a0d676a89f34710c8955178440f5f72114adaa8ec9d73d067f43480360c443a +MD5 bcc3002846ea0acf7d199f861d83b1d1 files/lapack.pc.in 274 +RMD160 7d97022fffe23c7b1215de1555851a4057efebe2 files/lapack.pc.in 274 +SHA256 0a0d676a89f34710c8955178440f5f72114adaa8ec9d73d067f43480360c443a files/lapack.pc.in 274 DIST acml-3-0-0-gnu-32bit.tgz 24117886 RMD160 6c8f4829c9b8ca5ec7250e2aad4d85bdfcdd7862 SHA1 218c6c9ba0116a8bdfb0a194c23529d85478ef1b SHA256 1818e48c23254f586c5c81383eeffe907442800cb16040837b4e2b4ebcbf144e DIST acml-3-0-0-gnu-64bit.tgz 9995385 RMD160 b3f979e6c303207bc22bdcb5057fd7e4aded51e9 SHA1 aaa0efbd314c69ce5b8112bd5997a9950343f98e SHA256 c9c447f871134214ffc363d4b8f2b4df1c4ccbb82e8b4e4c90601d01a7c745e5 DIST acml-3-1-0-gnu-32bit.tgz 24132771 RMD160 45530e58db9cc6ff31721cca1f440a852ca6a2a9 SHA1 902f14ea0accb659deab4c2552f4ecf06bb9ad37 SHA256 32581925aad8df6449453cc62eeaa28a07b6c081b625a8a77e985859466e05de @@ -48,6 +56,9 @@ DIST acml-3-6-0-ifort-64bit.tgz 21966276 RMD160 a6031f5cdacdc70d11c06cf6d8e8ae31 DIST acml-3-6-1-gfortran-32bit.tgz 17682562 RMD160 abdb8ea2f66f08f478a951b37c5ce5945854a357 SHA1 7606b690061319c50f30af11766694205b03922f SHA256 adec95c65d1042c65fa1490978b76042c3bf9670df7c226cd28431473985898c DIST acml-3-6-1-gfortran-64bit-int64.tgz 19802195 RMD160 3cb2317d6a5ec62797c4a11ab1336aabb50e16fa SHA1 a9be2f4ecbfdb6e0f849f545b66e78f752367f00 SHA256 56cbbb6deac2a93d21f3954511ad95ccc2a8ce893fdbf9a8605a2d81deb1fc41 DIST acml-3-6-1-gfortran-64bit.tgz 20452058 RMD160 8df00704e7ac037dcd55a9207f45d6f0b2214ff8 SHA1 f0d2a10e5db83dc264d6f937189ce10a1f461a4d SHA256 efec543a8185ffb6e6e68db94ef0cbd92c1b9ee1580affe6cd0a73c580ad8bdc +DIST acml-4-0-0-gfortran-64bit-int64.tgz 21881646 RMD160 65d3d4ca146ade1781efb43ca35c80cc85387c90 SHA1 e57ac634fe7c9a8ba82db59df572b0fa4e1d3434 SHA256 eda0b3c1350716509b1d244641200edca30faaae42c7b7b3873f573b4036f1f6 +DIST acml-4-0-0-gfortran-64bit.tgz 22559682 RMD160 cd9042e882fb4e8c1f5951e8eb2880d035ab14ea SHA1 27632153f219d9659734d4079c884d5347842b10 SHA256 3a7300dd9f7a494177baddd8bc34375daf80e550f5b6edb9539ed966adb80f11 +DIST acml-4-0-0-ifort-64bit.tgz 26676345 RMD160 2f4a1f14a55ac3334fd3fc045355a4fdebf2e87f SHA1 8a862389cc73d6b2975e8f2c682669f6bc1d9c3b SHA256 090f64a5fe309c6ed2ee9bcf7ae73687e0577a02da9f8ceabd4e5315fecb4769 EBUILD acml-3.0.0.ebuild 1840 RMD160 34a83d5a7044d028f3f7894284c14fcd59413b65 SHA1 5fd0a2dad0bae97741fbed06146117197b740dfe SHA256 4bb05b109421e8e45da065b43355f64cd0f0c1a3a5e3a96e505d7233620ad7a9 MD5 14e23bdec101001236ebece752ab2e3a acml-3.0.0.ebuild 1840 RMD160 34a83d5a7044d028f3f7894284c14fcd59413b65 acml-3.0.0.ebuild 1840 @@ -56,18 +67,30 @@ EBUILD acml-3.1.0-r1.ebuild 2217 RMD160 f41caa6097f70e1112dbbf38a5cf887e6a43f9e7 MD5 0510c2422a50236816dd2a3f681367f9 acml-3.1.0-r1.ebuild 2217 RMD160 f41caa6097f70e1112dbbf38a5cf887e6a43f9e7 acml-3.1.0-r1.ebuild 2217 SHA256 ec062715d179ef9157ff1f5f1a9d2f518e0de11401590152e94c0f101b919836 acml-3.1.0-r1.ebuild 2217 +EBUILD acml-3.6.0-r1.ebuild 4329 RMD160 239e9d3ec86da65fc6e4b83850e140a042ed3420 SHA1 4274d3648ec17fea88ed2c39cb85df9935c05523 SHA256 f8e3c405f05ac60349404f5df0461ed7d31e57e18a1838a69a3aa1f608b926af +MD5 e1c0a59c472bedfb5f60f0df10d7297d acml-3.6.0-r1.ebuild 4329 +RMD160 239e9d3ec86da65fc6e4b83850e140a042ed3420 acml-3.6.0-r1.ebuild 4329 +SHA256 f8e3c405f05ac60349404f5df0461ed7d31e57e18a1838a69a3aa1f608b926af acml-3.6.0-r1.ebuild 4329 EBUILD acml-3.6.0.ebuild 3462 RMD160 34986e1b68917842a0ecd92cee665727452b84d5 SHA1 a1055c84f947151ee204e737255511e32975724a SHA256 00f444068d885d80169d3b73ce82dcefad311ab302bc5fc0295de9ef8d94f145 MD5 995e153cf553a942c872668184e00dbc acml-3.6.0.ebuild 3462 RMD160 34986e1b68917842a0ecd92cee665727452b84d5 acml-3.6.0.ebuild 3462 SHA256 00f444068d885d80169d3b73ce82dcefad311ab302bc5fc0295de9ef8d94f145 acml-3.6.0.ebuild 3462 +EBUILD acml-3.6.1-r1.ebuild 5091 RMD160 9a80e45b53d3c8ce8fdb735464ffb24933fb14a6 SHA1 f5180c981c6fe264bebc95c8f2a171ad852b1207 SHA256 a84d5e9d438425a24ad5474227c0a6baae8eaa99529f8c648d8593561b351ed9 +MD5 0f643ddddae23af7850e32aa36ae626a acml-3.6.1-r1.ebuild 5091 +RMD160 9a80e45b53d3c8ce8fdb735464ffb24933fb14a6 acml-3.6.1-r1.ebuild 5091 +SHA256 a84d5e9d438425a24ad5474227c0a6baae8eaa99529f8c648d8593561b351ed9 acml-3.6.1-r1.ebuild 5091 EBUILD acml-3.6.1.ebuild 2673 RMD160 02905dc7c28a88bf4b657cc5fc78c672d5e4d7dd SHA1 f32b3957d35bbc755b5d9df93818d1c17b7ed8d2 SHA256 c88b2f1e3ef1fb3acebe8f83496c08fc5c25ecf79859c452a24304a8b52e3a9c MD5 3b151f708791a1ad03164dae15298c0e acml-3.6.1.ebuild 2673 RMD160 02905dc7c28a88bf4b657cc5fc78c672d5e4d7dd acml-3.6.1.ebuild 2673 SHA256 c88b2f1e3ef1fb3acebe8f83496c08fc5c25ecf79859c452a24304a8b52e3a9c acml-3.6.1.ebuild 2673 -MISC ChangeLog 3878 RMD160 f1c398d535f5fea350c29d3f5669ec38d9fbb132 SHA1 6f6073a48ffdfdd71ce70b9ad4fbf3715148e3b4 SHA256 c634c54c86c144ee14b7a21904070984c1a59f1d8cac78c0865c537f21ef04aa -MD5 d3633fabff34e5ee9db4ae68d4410b07 ChangeLog 3878 -RMD160 f1c398d535f5fea350c29d3f5669ec38d9fbb132 ChangeLog 3878 -SHA256 c634c54c86c144ee14b7a21904070984c1a59f1d8cac78c0865c537f21ef04aa ChangeLog 3878 +EBUILD acml-4.0.0.ebuild 4774 RMD160 7b3ede022c37e793c163dfdfe1e4ff87a7ae2ce7 SHA1 254af3cd3b27fa633d4b40d30070d61dd045bdd7 SHA256 dbb2234d926f1bad815721d5c1a8ddb73223d2f7c8376d3a14f4084eeed9d940 +MD5 954bc70afed31c457396f7e9aed80290 acml-4.0.0.ebuild 4774 +RMD160 7b3ede022c37e793c163dfdfe1e4ff87a7ae2ce7 acml-4.0.0.ebuild 4774 +SHA256 dbb2234d926f1bad815721d5c1a8ddb73223d2f7c8376d3a14f4084eeed9d940 acml-4.0.0.ebuild 4774 +MISC ChangeLog 4323 RMD160 78fab4a27f4930abe2e8181198116ad56bad23c5 SHA1 f9958aa643e94508a9c716d393b6fbad6f93b7f7 SHA256 191c94d231d41caf3c0ea7ea0eb8309beeda8c24af8fe4f2e7698ad398c8e7ff +MD5 81463dfb231181ee66f9e760c5373d3d ChangeLog 4323 +RMD160 78fab4a27f4930abe2e8181198116ad56bad23c5 ChangeLog 4323 +SHA256 191c94d231d41caf3c0ea7ea0eb8309beeda8c24af8fe4f2e7698ad398c8e7ff ChangeLog 4323 MISC metadata.xml 879 RMD160 2d3f16b5906f71d5d455954d5b20afdc8b8aac1f SHA1 375f02d5d2550aa144c759818140e7f1c55de278 SHA256 a2b244cea577e4260368dad481a0b5886a471185f966288bc58af29fb335fe74 MD5 a42a87565bfb006095c3fa658c84b275 metadata.xml 879 RMD160 2d3f16b5906f71d5d455954d5b20afdc8b8aac1f metadata.xml 879 @@ -81,13 +104,22 @@ SHA256 6b247371ce9a1a190f833759fc570bc065870f0e0a9bdcd406a001541e933887 files/di MD5 0825c9a4d803ec3e005d86b883c72998 files/digest-acml-3.6.0 1045 RMD160 574657f2c6a1f3697428f9522c5d67fa18ce5193 files/digest-acml-3.6.0 1045 SHA256 47bd4eee1e3dfc0f1b508ce5a41054c23089bb9b9d7add427abcdc24942a1887 files/digest-acml-3.6.0 1045 +MD5 0825c9a4d803ec3e005d86b883c72998 files/digest-acml-3.6.0-r1 1045 +RMD160 574657f2c6a1f3697428f9522c5d67fa18ce5193 files/digest-acml-3.6.0-r1 1045 +SHA256 47bd4eee1e3dfc0f1b508ce5a41054c23089bb9b9d7add427abcdc24942a1887 files/digest-acml-3.6.0-r1 1045 MD5 f822ee466ea41e1f6900d64b52a495c6 files/digest-acml-3.6.1 840 RMD160 47a3138d09b475dcfe429b1ac3fc9c8a31bee749 files/digest-acml-3.6.1 840 SHA256 b1ab60561ac029d5f444f7c4b5c7c7dc1793f89ae5ec1b20baa7d4bfdb10a025 files/digest-acml-3.6.1 840 +MD5 f822ee466ea41e1f6900d64b52a495c6 files/digest-acml-3.6.1-r1 840 +RMD160 47a3138d09b475dcfe429b1ac3fc9c8a31bee749 files/digest-acml-3.6.1-r1 840 +SHA256 b1ab60561ac029d5f444f7c4b5c7c7dc1793f89ae5ec1b20baa7d4bfdb10a025 files/digest-acml-3.6.1-r1 840 +MD5 30c75ad6d4c67447b44e64aaf2fbc377 files/digest-acml-4.0.0 831 +RMD160 e3e44e6538bc48e46f21b7f3d0a7157470084635 files/digest-acml-4.0.0 831 +SHA256 cb97c792d69b1d1ce81af1153f870042bbb951dfae73530d5db4c89a445f62c1 files/digest-acml-4.0.0 831 -----BEGIN PGP SIGNATURE----- -Version: GnuPG v2.0.4 (GNU/Linux) +Version: GnuPG v1.4.7 (GNU/Linux) -iD8DBQFGiRkKppoStNGKGywRAv9oAJsGSLGBTjreIBSTm8SjESgiHRrR+wCgvJuI -hcyidTKqPHXbA4xLeLXvOiU= -=fpk0 +iD8DBQFHCpdX1ycZbhPLE2ARAp4iAJ0fJxYjTniE9Xt/GR9WjxnQIM6sVwCgmKp3 +nflFQnr6nQbAPyt+FBO8eRU= +=icy5 -----END PGP SIGNATURE----- diff --git a/sci-libs/acml/acml-3.6.0-r1.ebuild b/sci-libs/acml/acml-3.6.0-r1.ebuild new file mode 100644 index 000000000000..699a21ed10eb --- /dev/null +++ b/sci-libs/acml/acml-3.6.0-r1.ebuild @@ -0,0 +1,152 @@ +# Copyright 1999-2007 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.1 2007/10/08 20:47:04 bicatali Exp $ + +inherit eutils toolchain-funcs fortran + +DESCRIPTION="AMD Core Math Library (ACML) for x86 and amd64 CPUs" +HOMEPAGE="http://developer.amd.com/acml.jsp" + +MY_PV=${PV//\./\-} + +IUSE="openmp ifc doc examples" +KEYWORDS="~amd64 ~x86" + +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 ) )" + +RESTRICT="strip fetch" +LICENSE="ACML" +SLOT="0" + +DEPEND="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" +} + +pkg_setup() { + elog "From version 3.5.0 on, ACML no longer supports" + elog "hardware without SSE/SSE2 instructions. " + elog "For older 32-bit hardware that does not support SSE/SSE2," + elog "you must continue to use an older version (ACML 3.1.0 and ealier)." + epause + FORTRAN=ifc + FORT=ifort + ! use ifc && ! use openmp && FORTRAN=g77 && FORT=gnu + fortran_pkg_setup +} + +src_unpack() { + unpack ${A} + (DISTDIR="${S}" unpack contents-acml-*.tgz) + use openmp || rm -rf ${FORT}*_mp* + FORTDIRS="$(ls -d ${FORT}*)" +} + +src_compile() { + einfo "Nothing to compile" +} + +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=${FORTRANC} \ + 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-${FORTRANC} + local acmldir=${instdir}/${fort} + local libname=${acmldir}/lib/libacml + local extlibs + local extflags + if [[ ${fort} =~ _mp ]]; then + ESELECT_PROF=${ESELECT_PROF}-openmp + extlibs=-lpthread + 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:@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 + echo "INCLUDE=${instdir}/${fort}/include" >> 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_p=$(eselect ${p} show | cut -d' ' -f2) + # uncomment when eselect bug #189942 is fixed, together with DEPEND + #if [[ -z ${current_p} || ${current_p} == ${ESELECT_PROF} ]]; then + if [[ -z ${current_p} ]]; then + eselect ${p} set ${ESELECT_PROF} + elog "${p} has been eselected to ${ESELECT_PROF}" + else + elog "Current eselected ${p} is ${current_p}" + elog "To use ${p} ${ESELECT_PROF} implementation, you have to issue (as root):" + elog "\t eselect ${p} set ${ESELECT_PROF}" + fi + done +} diff --git a/sci-libs/acml/acml-3.6.1-r1.ebuild b/sci-libs/acml/acml-3.6.1-r1.ebuild new file mode 100644 index 000000000000..7ae06fc40a19 --- /dev/null +++ b/sci-libs/acml/acml-3.6.1-r1.ebuild @@ -0,0 +1,173 @@ +# Copyright 1999-2007 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/sci-libs/acml/acml-3.6.1-r1.ebuild,v 1.1 2007/10/08 20:47:04 bicatali Exp $ + +inherit eutils toolchain-funcs fortran + +DESCRIPTION="AMD Core Math Library (ACML) for x86 and amd64 CPUs" +HOMEPAGE="http://developer.amd.com/acml.jsp" + +MY_PV=${PV//\./\-} +S=${WORKDIR} +SRC_URI="x86? ( acml-${MY_PV}-gfortran-32bit.tgz ) + amd64? ( ( acml-${MY_PV}-gfortran-64bit.tgz ) + int64? ( acml-${MY_PV}-gfortran-64bit-int64.tgz ) )" + + +RESTRICT="strip fetch" +IUSE="openmp int64 doc examples" +LICENSE="ACML" +KEYWORDS="~amd64 ~x86" +SLOT="0" + +DEPEND="app-admin/eselect-blas + app-admin/eselect-lapack + dev-util/pkgconfig + openmp? ( >=sys-devel/gcc-4.2 ) + !openmp? ( =sys-devel/gcc-4.1* )" + +RDEPEND="${DEPEND} + doc? ( app-doc/blas-docs app-doc/lapack-docs )" + +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" +} + +pkg_setup() { + elog "From version 3.5.0 on, ACML no longer supports" + elog "hardware without SSE/SSE2 instructions. " + elog "For older 32-bit hardware that does not support SSE/SSE2," + elog "you must continue to use an older version (ACML 3.1.0 and ealier)." + FORTRAN="gfortran" + fortran_pkg_setup + if [[ ${FORTRANC} == gfortran ]]; then + local gcc_version=$(gcc-major-version)$(gcc-minor-version) + if ! use openmp && (( ${gcc_version} != 41 )); then + eerror "You need gcc-4.1.x to test acml." + eerror "Please use gcc-config to swicth gcc version 4.1.x" + die "setup gcc failed" + elif use openmp && (( ${gcc_version} != 42 )); then + eerror "You need gfortran >= 4.2 to use openmp features." + eerror "Please use gcc-config to switch gcc version >= 4.2" + die "setup gcc failed" + fi + fi +} + +src_unpack() { + unpack ${A} + (DISTDIR="${S}" unpack contents-acml-*.tgz) + case ${FORTRANC} in + gfortran) FORT=gfortran ;; + ifc|ifort) FORT=ifort ;; + *) eerror "Unsupported fortran compiler: ${FORTRANC}" + die ;; + esac + use openmp || rm -rf ${FORT}*_mp* + FORTDIRS="$(ls -d ${FORT}*)" +} + +src_compile() { + einfo "Nothing to compile" +} + +src_test() { + local forts=${FORTDIRS} + # only testing with current compiler + use openmp && forts="$(ls -d ${FORT}*_mp*)" + for fort in ${forts}; do + einfo "Testing acml for ${fort}" + cd "${S}"/${fort}/examples + for d in . acml_mv; do + cd "${S}"/${fort}/examples/${d} + emake \ + ACMLDIR="${S}"/${fort} \ + F77=${FORTRANC} \ + 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-${FORTRANC} + local acmldir=${instdir}/${fort} + local libname=${acmldir}/lib/libacml + local extlibs + local extflags + if [[ ${fort} =~ int64 ]]; then + ESELECT_PROF=${ESELECT_PROF}-int64 + extflags="${extflags} -fdefault-integer-8" + fi + if [[ ${fort} =~ _mp ]]; then + ESELECT_PROF=${ESELECT_PROF}-openmp + extlibs=-lpthread + libname=${libname}_mp + extflags="${extflags} -fopenmp" + 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:@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 + + # 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=${acmldir}/lib" > "${S}"/35acml + echo "INCLUDE=${acmldir}/include" >> "${S}"/35acml + done + + doenvd "${S}"/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_p=$(eselect ${p} show | cut -d' ' -f2) + # uncomment when eselect bug #189942 is fixed, together with DEPEND + #if [[ -z ${current_p} || ${current_p} == ${ESELECT_PROF} ]]; then + if [[ -z ${current_p} ]]; then + eselect ${p} set ${ESELECT_PROF} + elog "${p} has been eselected to ${ESELECT_PROF}" + else + elog "Current eselected ${p} is ${current_p}" + elog "To use ${p} ${ESELECT_PROF} implementation, you have to issue (as root):" + elog "\t eselect ${p} set ${ESELECT_PROF}" + fi + done + if use openmp; then + elog "Remember that if you want to use openmp" + elog "You need to switch to gcc >= 4.2 with gcc-config" + elog "When using ACML without openmp, stick with gcc-4.1.x" + fi +} diff --git a/sci-libs/acml/acml-4.0.0.ebuild b/sci-libs/acml/acml-4.0.0.ebuild new file mode 100644 index 000000000000..2824d505580a --- /dev/null +++ b/sci-libs/acml/acml-4.0.0.ebuild @@ -0,0 +1,168 @@ +# Copyright 1999-2007 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/sci-libs/acml/acml-4.0.0.ebuild,v 1.1 2007/10/08 20:47:04 bicatali Exp $ + +inherit eutils toolchain-funcs fortran + +MY_PV=${PV//\./\-} + +DESCRIPTION="AMD Core Math Library (ACML) for x86_64 CPUs" +HOMEPAGE="http://developer.amd.com/acml.jsp" +SRC_URI="ifc? ( acml-${MY_PV}-ifort-64bit.tgz ) + !ifc? ( int64? ( acml-${MY_PV}-gfortran-64bit-int64.tgz ) + !int64? ( acml-${MY_PV}-gfortran-64bit.tgz ) )" + +IUSE="openmp ifc int64 doc examples" +KEYWORDS="~amd64" + +RESTRICT="strip fetch" +LICENSE="ACML" +SLOT="0" + +DEPEND="app-admin/eselect-blas + app-admin/eselect-lapack + ifc? ( dev-lang/ifc ) + openmp? ( !ifc? ( >=sys-devel/gcc-4.2 ) ) + !openmp? ( !ifc? ( =sys-devel/gcc-4.1* ) )" + +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" +} + +pkg_setup() { + FORTRAN="gfortran" + use ifc && FORTRAN="ifc" + fortran_pkg_setup + if [[ ${FORTRANC} == gfortran ]]; then + local gcc_version=$(gcc-major-version)$(gcc-minor-version) + if ! use openmp && (( ${gcc_version} != 41 )); then + eerror "You need gcc-4.1.x to test acml." + eerror "Please use gcc-config to swicth gcc version 4.1.x" + die "setup gcc failed" + elif use openmp && (( ${gcc_version} != 42 )); then + eerror "You need gfortran >= 4.2 to use openmp features." + eerror "Please use gcc-config to switch gcc version >= 4.2" + die "setup gcc failed" + fi + fi +} + +src_unpack() { + unpack ${A} + (DISTDIR="${S}" unpack contents-acml-*.tgz) + case ${FORTRANC} in + gfortran) FORT=gfortran ;; + ifc|ifort) FORT=ifort ;; + *) eerror "Unsupported fortran compiler: ${FORTRANC}" + die "failed configuring fortran";; + esac + use openmp || rm -rf ${FORT}*_mp* + FORTDIRS="$(ls -d ${FORT}*)" +} + +src_compile() { + einfo "Nothing to compile" +} + +src_test() { + local forts=${FORTDIRS} + # only testing with current compiler + use openmp && forts="$(ls -d ${FORT}*_mp*)" + for fort in ${forts}; do + einfo "Testing acml for ${fort}" + cd "${S}"/${fort}/examples + for d in . acml_mv; do + cd "${S}"/${fort}/examples/${d} + emake \ + ACMLDIR="${S}"/${fort} \ + F77=${FORTRANC} \ + 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-${FORTRANC} + local acmldir=${instdir}/${fort} + local libname=${acmldir}/lib/libacml + local extlibs + local extflags + if [[ ${fort} =~ int64 ]]; then + ESELECT_PROF=${ESELECT_PROF}-int64 + extflags="${extflags} -fdefault-integer-8" + fi + if [[ ${fort} =~ _mp ]]; then + ESELECT_PROF=${ESELECT_PROF}-openmp + extlibs=-lpthread + libname=${libname}_mp + extflags="${extflags} -fopenmp" + 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:@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 + echo "INCLUDE=${instdir}/${fort}/include" >> 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_p=$(eselect ${p} show | cut -d' ' -f2) + # uncomment when eselect bug #189942 is fixed, together with DEPEND + #if [[ -z ${current_p} || ${current_p} == ${ESELECT_PROF} ]]; then + if [[ -z ${current_p} ]]; then + eselect ${p} set ${ESELECT_PROF} + elog "${p} has been eselected to ${ESELECT_PROF}" + else + elog "Current eselected ${p} is ${current_p}" + elog "To use ${p} ${ESELECT_PROF} implementation, you have to issue (as root):" + elog "\t eselect ${p} set ${ESELECT_PROF}" + fi + done +} diff --git a/sci-libs/acml/files/blas.pc.in b/sci-libs/acml/files/blas.pc.in new file mode 100644 index 000000000000..fd1d57ffd054 --- /dev/null +++ b/sci-libs/acml/files/blas.pc.in @@ -0,0 +1,11 @@ +prefix=/usr +exec_prefix=${prefix} +libdir=/usr/@LIBDIR@ +includedir=@ACMLDIR@/include + +Name: blas +Description: ACML implementations of the Basic Linear Algebra Subroutines +Version: @PV@ +URL: http://developer.amd.com/acml.jsp +Libs: -L${libdir} -lblas @EXTLIBS@ +Cflags: @EXTFLAGS@ diff --git a/sci-libs/acml/files/digest-acml-3.6.0-r1 b/sci-libs/acml/files/digest-acml-3.6.0-r1 new file mode 100644 index 000000000000..78ad50e56f66 --- /dev/null +++ b/sci-libs/acml/files/digest-acml-3.6.0-r1 @@ -0,0 +1,12 @@ +MD5 544b271fac69f3a5de4859c42962d257 acml-3-6-0-gnu-32bit.tgz 9879145 +RMD160 bafa6acd1d8a319fb385245559779450c7bdcd66 acml-3-6-0-gnu-32bit.tgz 9879145 +SHA256 81ee83babf134bc021e5e64983200abf815531ee20ecc5ecc97a30bbdb5cf6dd acml-3-6-0-gnu-32bit.tgz 9879145 +MD5 cd29b05621cc8af7094bc30e3d8288e3 acml-3-6-0-gnu-64bit.tgz 11101900 +RMD160 f6d674a4fbf99e79109bb379d1ba5dbaf88ce010 acml-3-6-0-gnu-64bit.tgz 11101900 +SHA256 240cd40c9f9c993c15ec113278faf8689713b45b7626da2d0c369024bec97c03 acml-3-6-0-gnu-64bit.tgz 11101900 +MD5 b142edc1cd30cee76262c7df3d6e491c acml-3-6-0-ifort-32bit.tgz 17399749 +RMD160 c41ebe1b62470858d176c5815e05893ba4caf4ad acml-3-6-0-ifort-32bit.tgz 17399749 +SHA256 1585df79ced4ecd6fdcbb59b36e2686b61d6faf7b755d5ac5a267eddeff36340 acml-3-6-0-ifort-32bit.tgz 17399749 +MD5 e887b75ceec837ba9778b3fe18913faa acml-3-6-0-ifort-64bit.tgz 21966276 +RMD160 a6031f5cdacdc70d11c06cf6d8e8ae3149eff55f acml-3-6-0-ifort-64bit.tgz 21966276 +SHA256 bdfb47a5f018d1bcca257b9223f176726663596ae0e8337dc295a312f8382950 acml-3-6-0-ifort-64bit.tgz 21966276 diff --git a/sci-libs/acml/files/digest-acml-3.6.1-r1 b/sci-libs/acml/files/digest-acml-3.6.1-r1 new file mode 100644 index 000000000000..31c6126b2492 --- /dev/null +++ b/sci-libs/acml/files/digest-acml-3.6.1-r1 @@ -0,0 +1,9 @@ +MD5 3aa80dc1a5fed2ccedceacffcbf22501 acml-3-6-1-gfortran-32bit.tgz 17682562 +RMD160 abdb8ea2f66f08f478a951b37c5ce5945854a357 acml-3-6-1-gfortran-32bit.tgz 17682562 +SHA256 adec95c65d1042c65fa1490978b76042c3bf9670df7c226cd28431473985898c acml-3-6-1-gfortran-32bit.tgz 17682562 +MD5 1eb1958766688332a83e4b9807031495 acml-3-6-1-gfortran-64bit-int64.tgz 19802195 +RMD160 3cb2317d6a5ec62797c4a11ab1336aabb50e16fa acml-3-6-1-gfortran-64bit-int64.tgz 19802195 +SHA256 56cbbb6deac2a93d21f3954511ad95ccc2a8ce893fdbf9a8605a2d81deb1fc41 acml-3-6-1-gfortran-64bit-int64.tgz 19802195 +MD5 f1df8d99221337e5644e85ca790e19c2 acml-3-6-1-gfortran-64bit.tgz 20452058 +RMD160 8df00704e7ac037dcd55a9207f45d6f0b2214ff8 acml-3-6-1-gfortran-64bit.tgz 20452058 +SHA256 efec543a8185ffb6e6e68db94ef0cbd92c1b9ee1580affe6cd0a73c580ad8bdc acml-3-6-1-gfortran-64bit.tgz 20452058 diff --git a/sci-libs/acml/files/digest-acml-4.0.0 b/sci-libs/acml/files/digest-acml-4.0.0 new file mode 100644 index 000000000000..3d884d84518b --- /dev/null +++ b/sci-libs/acml/files/digest-acml-4.0.0 @@ -0,0 +1,9 @@ +MD5 50879e5fa9cafc7a9badde44037f55ab acml-4-0-0-gfortran-64bit-int64.tgz 21881646 +RMD160 65d3d4ca146ade1781efb43ca35c80cc85387c90 acml-4-0-0-gfortran-64bit-int64.tgz 21881646 +SHA256 eda0b3c1350716509b1d244641200edca30faaae42c7b7b3873f573b4036f1f6 acml-4-0-0-gfortran-64bit-int64.tgz 21881646 +MD5 47f15966a5ed81243350d31afdd4e7f6 acml-4-0-0-gfortran-64bit.tgz 22559682 +RMD160 cd9042e882fb4e8c1f5951e8eb2880d035ab14ea acml-4-0-0-gfortran-64bit.tgz 22559682 +SHA256 3a7300dd9f7a494177baddd8bc34375daf80e550f5b6edb9539ed966adb80f11 acml-4-0-0-gfortran-64bit.tgz 22559682 +MD5 175b1968c5a3279cb7ebfab7018c0b82 acml-4-0-0-ifort-64bit.tgz 26676345 +RMD160 2f4a1f14a55ac3334fd3fc045355a4fdebf2e87f acml-4-0-0-ifort-64bit.tgz 26676345 +SHA256 090f64a5fe309c6ed2ee9bcf7ae73687e0577a02da9f8ceabd4e5315fecb4769 acml-4-0-0-ifort-64bit.tgz 26676345 diff --git a/sci-libs/acml/files/lapack.pc.in b/sci-libs/acml/files/lapack.pc.in new file mode 100644 index 000000000000..e312798d8485 --- /dev/null +++ b/sci-libs/acml/files/lapack.pc.in @@ -0,0 +1,11 @@ +prefix=/usr +exec_prefix=${prefix} +libdir=/usr/@LIBDIR@ +includedir=@ACMLDIR@/include + +Name: lapack +Description: ACML implementation of the F77 Linear Algebra PACKage +Version: @PV@ +URL: http://developer.amd.com/acml.jsp +Libs: -L${libdir} -llapack @EXTLIBS@ +Cflags: @EXTFLAGS@ |