diff options
8 files changed, 460 insertions, 1 deletions
diff --git a/sci-libs/lapack-atlas/ChangeLog b/sci-libs/lapack-atlas/ChangeLog index 8b2794f672d2..083524a2b224 100644 --- a/sci-libs/lapack-atlas/ChangeLog +++ b/sci-libs/lapack-atlas/ChangeLog @@ -1,6 +1,13 @@ # ChangeLog for sci-libs/lapack-atlas # Copyright 2004-2006 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/sci-libs/lapack-atlas/ChangeLog,v 1.12 2006/04/01 19:59:44 agriffis Exp $ +# $Header: /var/cvsroot/gentoo-x86/sci-libs/lapack-atlas/ChangeLog,v 1.13 2006/07/03 08:07:37 spyderous Exp $ + +*lapack-atlas-3.7.11-r1 (03 Jul 2006) +*lapack-atlas-3.6.0-r2 (03 Jul 2006) + + 03 Jul 2006; Donnie Berkholz <spyderous@gentoo.org>; + +lapack-atlas-3.6.0-r2.ebuild, +lapack-atlas-3.7.11-r1.ebuild: + Bumps to switch to new eselect modules. 01 Apr 2006; Aron Griffis <agriffis@gentoo.org> lapack-atlas-3.7.11.ebuild: diff --git a/sci-libs/lapack-atlas/files/digest-lapack-atlas-3.6.0 b/sci-libs/lapack-atlas/files/digest-lapack-atlas-3.6.0 index 06cd426ffd7f..d7090129d7e4 100644 --- a/sci-libs/lapack-atlas/files/digest-lapack-atlas-3.6.0 +++ b/sci-libs/lapack-atlas/files/digest-lapack-atlas-3.6.0 @@ -1,5 +1,11 @@ MD5 743b75ec473ab0f0edda6b649aa89060 atlas3.6.0-shared-libs.patch.bz2 5140 MD5 df2ee2eb65d1c08ee93d04370172c262 atlas3.6.0.tar.bz2 1687723 MD5 c35802e688f28f8f65632fb93aad69d8 lapack-20020531-20021004.patch.bz2 59736 +RMD160 126a579d242664dce53d23cdd7bef935e81b5031 lapack-20020531-20021004.patch.bz2 59736 +SHA256 19bcae60fcec3742563d8b27e21da52677b18520c54cf0cb7a51537ec3dbd29c lapack-20020531-20021004.patch.bz2 59736 MD5 4192870be88e09ba8c6a805eb31fcfb4 lapack-gentoo.patch 1272 +RMD160 2bc28b1c8bbc7b77d977562e3550097bdb2a379b lapack-gentoo.patch 1272 +SHA256 376b738c66dbbd8b116c3a48b99c1202dbd5c1c6c94865cf9df10ed48b78fb43 lapack-gentoo.patch 1272 MD5 a24f59304f87b78cdc7da2ae59c98664 lapack.tgz 4991992 +RMD160 630f9d7b4b37b0d39bccd4816198271b7e9e0cce lapack.tgz 4991992 +SHA256 393613641f80745e7e8445fd0f3e4f5f66a5e340c8115cd4d780b0f53e2b31a6 lapack.tgz 4991992 diff --git a/sci-libs/lapack-atlas/files/digest-lapack-atlas-3.6.0-r1 b/sci-libs/lapack-atlas/files/digest-lapack-atlas-3.6.0-r1 index 06cd426ffd7f..d7090129d7e4 100644 --- a/sci-libs/lapack-atlas/files/digest-lapack-atlas-3.6.0-r1 +++ b/sci-libs/lapack-atlas/files/digest-lapack-atlas-3.6.0-r1 @@ -1,5 +1,11 @@ MD5 743b75ec473ab0f0edda6b649aa89060 atlas3.6.0-shared-libs.patch.bz2 5140 MD5 df2ee2eb65d1c08ee93d04370172c262 atlas3.6.0.tar.bz2 1687723 MD5 c35802e688f28f8f65632fb93aad69d8 lapack-20020531-20021004.patch.bz2 59736 +RMD160 126a579d242664dce53d23cdd7bef935e81b5031 lapack-20020531-20021004.patch.bz2 59736 +SHA256 19bcae60fcec3742563d8b27e21da52677b18520c54cf0cb7a51537ec3dbd29c lapack-20020531-20021004.patch.bz2 59736 MD5 4192870be88e09ba8c6a805eb31fcfb4 lapack-gentoo.patch 1272 +RMD160 2bc28b1c8bbc7b77d977562e3550097bdb2a379b lapack-gentoo.patch 1272 +SHA256 376b738c66dbbd8b116c3a48b99c1202dbd5c1c6c94865cf9df10ed48b78fb43 lapack-gentoo.patch 1272 MD5 a24f59304f87b78cdc7da2ae59c98664 lapack.tgz 4991992 +RMD160 630f9d7b4b37b0d39bccd4816198271b7e9e0cce lapack.tgz 4991992 +SHA256 393613641f80745e7e8445fd0f3e4f5f66a5e340c8115cd4d780b0f53e2b31a6 lapack.tgz 4991992 diff --git a/sci-libs/lapack-atlas/files/digest-lapack-atlas-3.6.0-r2 b/sci-libs/lapack-atlas/files/digest-lapack-atlas-3.6.0-r2 new file mode 100644 index 000000000000..d7090129d7e4 --- /dev/null +++ b/sci-libs/lapack-atlas/files/digest-lapack-atlas-3.6.0-r2 @@ -0,0 +1,11 @@ +MD5 743b75ec473ab0f0edda6b649aa89060 atlas3.6.0-shared-libs.patch.bz2 5140 +MD5 df2ee2eb65d1c08ee93d04370172c262 atlas3.6.0.tar.bz2 1687723 +MD5 c35802e688f28f8f65632fb93aad69d8 lapack-20020531-20021004.patch.bz2 59736 +RMD160 126a579d242664dce53d23cdd7bef935e81b5031 lapack-20020531-20021004.patch.bz2 59736 +SHA256 19bcae60fcec3742563d8b27e21da52677b18520c54cf0cb7a51537ec3dbd29c lapack-20020531-20021004.patch.bz2 59736 +MD5 4192870be88e09ba8c6a805eb31fcfb4 lapack-gentoo.patch 1272 +RMD160 2bc28b1c8bbc7b77d977562e3550097bdb2a379b lapack-gentoo.patch 1272 +SHA256 376b738c66dbbd8b116c3a48b99c1202dbd5c1c6c94865cf9df10ed48b78fb43 lapack-gentoo.patch 1272 +MD5 a24f59304f87b78cdc7da2ae59c98664 lapack.tgz 4991992 +RMD160 630f9d7b4b37b0d39bccd4816198271b7e9e0cce lapack.tgz 4991992 +SHA256 393613641f80745e7e8445fd0f3e4f5f66a5e340c8115cd4d780b0f53e2b31a6 lapack.tgz 4991992 diff --git a/sci-libs/lapack-atlas/files/digest-lapack-atlas-3.7.11 b/sci-libs/lapack-atlas/files/digest-lapack-atlas-3.7.11 index 0e7e991a1ae4..2e69d8d6ba74 100644 --- a/sci-libs/lapack-atlas/files/digest-lapack-atlas-3.7.11 +++ b/sci-libs/lapack-atlas/files/digest-lapack-atlas-3.7.11 @@ -5,5 +5,11 @@ MD5 ccde41dd4f41c47e16ebfa8e6dfd1117 atlas3.7.11.tar.bz2 2032724 RMD160 f58b8a85c097bd1bff6a53ee42bcff97240fb8ec atlas3.7.11.tar.bz2 2032724 SHA256 558b9f3f0dc8f63306f99f75d6e6fa762ea3d9d0dea88053e3e8b6f0e6364109 atlas3.7.11.tar.bz2 2032724 MD5 c35802e688f28f8f65632fb93aad69d8 lapack-20020531-20021004.patch.bz2 59736 +RMD160 126a579d242664dce53d23cdd7bef935e81b5031 lapack-20020531-20021004.patch.bz2 59736 +SHA256 19bcae60fcec3742563d8b27e21da52677b18520c54cf0cb7a51537ec3dbd29c lapack-20020531-20021004.patch.bz2 59736 MD5 4192870be88e09ba8c6a805eb31fcfb4 lapack-gentoo.patch 1272 +RMD160 2bc28b1c8bbc7b77d977562e3550097bdb2a379b lapack-gentoo.patch 1272 +SHA256 376b738c66dbbd8b116c3a48b99c1202dbd5c1c6c94865cf9df10ed48b78fb43 lapack-gentoo.patch 1272 MD5 a24f59304f87b78cdc7da2ae59c98664 lapack.tgz 4991992 +RMD160 630f9d7b4b37b0d39bccd4816198271b7e9e0cce lapack.tgz 4991992 +SHA256 393613641f80745e7e8445fd0f3e4f5f66a5e340c8115cd4d780b0f53e2b31a6 lapack.tgz 4991992 diff --git a/sci-libs/lapack-atlas/files/digest-lapack-atlas-3.7.11-r1 b/sci-libs/lapack-atlas/files/digest-lapack-atlas-3.7.11-r1 new file mode 100644 index 000000000000..2e69d8d6ba74 --- /dev/null +++ b/sci-libs/lapack-atlas/files/digest-lapack-atlas-3.7.11-r1 @@ -0,0 +1,15 @@ +MD5 d2940721d6592f43a5d2e7740d13076d atlas3.6.0-shared-libs.1.patch.bz2 5148 +RMD160 96f9357049fb22e0955ff1375630e542b0bdee7c atlas3.6.0-shared-libs.1.patch.bz2 5148 +SHA256 f669030bf042808a4f4a92c746f3fd3067597d0ec94756ecac63bc331109c565 atlas3.6.0-shared-libs.1.patch.bz2 5148 +MD5 ccde41dd4f41c47e16ebfa8e6dfd1117 atlas3.7.11.tar.bz2 2032724 +RMD160 f58b8a85c097bd1bff6a53ee42bcff97240fb8ec atlas3.7.11.tar.bz2 2032724 +SHA256 558b9f3f0dc8f63306f99f75d6e6fa762ea3d9d0dea88053e3e8b6f0e6364109 atlas3.7.11.tar.bz2 2032724 +MD5 c35802e688f28f8f65632fb93aad69d8 lapack-20020531-20021004.patch.bz2 59736 +RMD160 126a579d242664dce53d23cdd7bef935e81b5031 lapack-20020531-20021004.patch.bz2 59736 +SHA256 19bcae60fcec3742563d8b27e21da52677b18520c54cf0cb7a51537ec3dbd29c lapack-20020531-20021004.patch.bz2 59736 +MD5 4192870be88e09ba8c6a805eb31fcfb4 lapack-gentoo.patch 1272 +RMD160 2bc28b1c8bbc7b77d977562e3550097bdb2a379b lapack-gentoo.patch 1272 +SHA256 376b738c66dbbd8b116c3a48b99c1202dbd5c1c6c94865cf9df10ed48b78fb43 lapack-gentoo.patch 1272 +MD5 a24f59304f87b78cdc7da2ae59c98664 lapack.tgz 4991992 +RMD160 630f9d7b4b37b0d39bccd4816198271b7e9e0cce lapack.tgz 4991992 +SHA256 393613641f80745e7e8445fd0f3e4f5f66a5e340c8115cd4d780b0f53e2b31a6 lapack.tgz 4991992 diff --git a/sci-libs/lapack-atlas/lapack-atlas-3.6.0-r2.ebuild b/sci-libs/lapack-atlas/lapack-atlas-3.6.0-r2.ebuild new file mode 100644 index 000000000000..14a017bff42a --- /dev/null +++ b/sci-libs/lapack-atlas/lapack-atlas-3.6.0-r2.ebuild @@ -0,0 +1,189 @@ +# Copyright 1999-2006 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/sci-libs/lapack-atlas/lapack-atlas-3.6.0-r2.ebuild,v 1.1 2006/07/03 08:07:37 spyderous Exp $ + +inherit eutils flag-o-matic toolchain-funcs fortran + +DESCRIPTION="Full LAPACK implementation using available ATLAS routines" +LICENSE="BSD" +HOMEPAGE="http://math-atlas.sourceforge.net/" +MY_PN="${PN/lapack-/}" +SRC_URI1="mirror://sourceforge/math-atlas/${MY_PN}${PV}.tar.bz2" +SRC_URI2="http://www.netlib.org/lapack/lapack.tgz" +SRC_URI="${SRC_URI1} ${SRC_URI2} + mirror://gentoo/lapack-20020531-20021004.patch.bz2 + mirror://gentoo/lapack-gentoo.patch + mirror://gentoo/${MY_PN}3.6.0-shared-libs.patch.bz2" + +SLOT="0" +IUSE="ifc doc" +KEYWORDS="~alpha ~amd64 ~ppc ~ppc64 ~sparc ~x86" + +RDEPEND="virtual/libc + app-admin/eselect-lapack + virtual/blas + ifc? ( dev-lang/ifc )" # Need Intel runtime libraries + +DEPEND="${RDEPEND} + >=sys-devel/libtool-1.5 + ~sci-libs/blas-atlas-3.6.0" + +PROVIDE="virtual/lapack" + +FORTRAN="g77 ifc" + +S="${WORKDIR}/ATLAS" +S_LAPACK="${WORKDIR}/LAPACK" + +TOP_PATH="${DESTTREE}/lib/lapack" +# Path where libraries will be installed: +RPATH="${TOP_PATH}/atlas" + +ifc_info() { + if [ -z "${IFCFLAGS}" ] + then + einfo + einfo "You may want to set some ifc optimization flags by running this" + einfo "ebuild as, for example:" + einfo + einfo "IFCFLAGS=\"-O3 -tpp7 -xW\" emerge lapack-atlas" + einfo "(Pentium 4 exclusive optimizations)." + einfo + einfo "ifc defaults to -O2, with code tuned for Pentium 4, but that" + einfo "will run on any processor." + einfo + einfo "Beware that ifc's -O3 is very aggressive, sometimes resulting in" + einfo "significantly worse performance." + einfo + fi +} + +src_unpack() { + use ifc && ifc_info + unpack ${A} + + cd "${WORKDIR}" + epatch "${FILESDIR}"/unbuffered.patch + epatch "${DISTDIR}"/atlas3.6.0-shared-libs.patch.bz2 + epatch "${DISTDIR}"/lapack-20020531-20021004.patch.bz2 + epatch "${DISTDIR}"/lapack-gentoo.patch + cp "${FILESDIR}"/war "${S}" + chmod a+x "${S}"/war +} + +atlas_fail() { + eerror + eerror "ATLAS auto-config failed." + eerror "Please run 'interactive=1 emerge lapack-atlas' to configure" + eerror "manually." + eerror + die "ATLAS auto-config failed." +} + +src_compile() { + cd "${S}" + if [ -n "${interactive}" ]; then + echo "${interactive}" + make config CC="$(tc-getCC) -DUSE_LIBTOOL -DINTERACTIVE" || die + else + # Use ATLAS defaults for all questions: + (echo | make config CC="$(tc-getCC) -DUSE_LIBTOOL") || atlas_fail + fi + + TMPSTR=$(ls Make.Linux*) + ATLAS_ARCH=${TMPSTR#'Make.'} + + CC="libtool --mode=compile --tag=CC $(tc-getCC) -I/usr/include/atlas" + + cd "${S}"/src/lapack/${ATLAS_ARCH} + make lib CC="${CC}" || die + + cd "${S}"/interfaces/lapack/C/src/${ATLAS_ARCH} + make lib CC="${CC}" || die + + cd "${S}"/interfaces/lapack/F77/src/${ATLAS_ARCH} + + make lib CC="${CC}" F77="libtool --mode=compile --tag=F77 g77" || die + + cd "${S_LAPACK}" + if use ifc; then + FC="ifc" + FFLAGS="${IFCFLAGS}" + NOOPT="-O0" # Do NOT change this. It is applied to two files with + # routines to determine machine constants. + else + FC="g77" + # g77 hates opts, esp. machine-specific + ALLOWED_FLAGS="-O -O1 -O2 -fstack-protector -fno-unit-at-a-time \ + -pipe -g -Wall" + strip-flags + FFLAGS="${CFLAGS}" + NOOPT="" + fi + make lapacklib FORTRAN="libtool --mode=compile --tag=F77 ${FC}" OPTS="${FFLAGS}" \ + NOOPT="${NOOPT}" || die + + cd "${S_LAPACK}"/SRC + cp -sf "${S}"/gentoo/liblapack.a/*.o . + cp -sf "${S}"/gentoo/liblapack.a/*.lo . + cp -sf "${S}"/gentoo/liblapack.a/.libs/*.o .libs/ + + if use ifc; then + ifc ${FFLAGS} -shared .libs/*.o -Wl,-soname -Wl,liblapack.so.0 \ + -o liblapack.so.0.0.0 -lblas -lcblas -latlas \ + -L$(gcc-config -L) -lg2c || die + ar cru liblapack.a *.o || die + ranlib liblapack.a || die + else + libtool --mode=link --tag=CC $(tc-getCC) -o liblapack.la *.lo \ + -rpath "${RPATH}" -lblas -lcblas -latlas -lg2c || die + fi +} + +src_install () { + dodir "${RPATH}" + + cd "${S_LAPACK}"/SRC + if use ifc; then + strip --strip-unneeded liblapack.so.0.0.0 || die + strip --strip-debug liblapack.a || die + + exeinto "${RPATH}" + doexe liblapack.so.0.0.0 || die + dosym liblapack.so.0.0.0 ${RPATH}/liblapack.so.0 || die + dosym liblapack.so.0.0.0 ${RPATH}/liblapack.so || die + + insinto "${RPATH}" + doins liblapack.a || die + else + libtool --mode=install install -s liblapack.la "${D}/${RPATH}" || die + fi + + eselect lapack add $(get_libdir) ${FILESDIR}/eselect.lapack atlas + + insinto /usr/include/atlas + cd "${S}"/include + doins clapack.h atlas_misc.h atlas_enum.h || die + + cd "${S}" + dodoc README || die + cd "${S}"/doc + dodoc AtlasCredits.txt ChangeLog || die + if use doc; then + dodoc lapackqref.ps || die + fi +} + +pkg_postinst() { + if [[ -z "$(eselect lapack show)" ]]; then + eselect lapack set atlas + fi + + einfo + einfo "To link with ATLAS LAPACK from C or Fortran, simply use:" + einfo + einfo "-llapack" + einfo + einfo "C users: your header is /usr/include/atlas/clapack.h" + einfo +} diff --git a/sci-libs/lapack-atlas/lapack-atlas-3.7.11-r1.ebuild b/sci-libs/lapack-atlas/lapack-atlas-3.7.11-r1.ebuild new file mode 100644 index 000000000000..a7e1d55a51a8 --- /dev/null +++ b/sci-libs/lapack-atlas/lapack-atlas-3.7.11-r1.ebuild @@ -0,0 +1,219 @@ +# Copyright 1999-2006 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/sci-libs/lapack-atlas/lapack-atlas-3.7.11-r1.ebuild,v 1.1 2006/07/03 08:07:37 spyderous Exp $ + +inherit eutils flag-o-matic toolchain-funcs fortran + +DESCRIPTION="Full LAPACK implementation using available ATLAS routines" +LICENSE="BSD" +HOMEPAGE="http://math-atlas.sourceforge.net/" +MY_PN="${PN/lapack-/}" +SRC_URI1="mirror://sourceforge/math-atlas/${MY_PN}${PV}.tar.bz2" +SRC_URI2="http://www.netlib.org/lapack/lapack.tgz" +SRC_URI="${SRC_URI1} ${SRC_URI2} + mirror://gentoo/lapack-20020531-20021004.patch.bz2 + mirror://gentoo/lapack-gentoo.patch + mirror://gentoo/${MY_PN}3.6.0-shared-libs.1.patch.bz2" + +SLOT="0" +IUSE="ifc doc" +KEYWORDS="~alpha ~amd64 ~ia64 ~ppc ~ppc64 ~sparc ~x86" + +RDEPEND="virtual/libc + app-admin/eselect-lapack + virtual/blas + ifc? ( dev-lang/ifc )" # Need Intel runtime libraries + +DEPEND="${RDEPEND} + >=sys-devel/libtool-1.5 + ~sci-libs/blas-atlas-3.7.11" + +PROVIDE="virtual/lapack" + +FORTRAN="g77 gfortran ifc" + +S="${WORKDIR}/ATLAS" +S_LAPACK="${WORKDIR}/LAPACK" + +TOP_PATH="${DESTTREE}/$(get_libdir)/lapack" +# Path where libraries will be installed: +RPATH="${TOP_PATH}/atlas" + +ifc_info() { + if [ -z "${IFCFLAGS}" ] + then + einfo + einfo "You may want to set some ifc optimization flags by running this" + einfo "ebuild as, for example:" + einfo + einfo "IFCFLAGS=\"-O3 -tpp7 -xW\" emerge lapack-atlas" + einfo "(Pentium 4 exclusive optimizations)." + einfo + einfo "ifc defaults to -O2, with code tuned for Pentium 4, but that" + einfo "will run on any processor." + einfo + einfo "Beware that ifc's -O3 is very aggressive, sometimes resulting in" + einfo "significantly worse performance." + einfo + fi +} + +src_unpack() { + use ifc && ifc_info + unpack ${A} + + cd "${WORKDIR}" + epatch "${FILESDIR}"/unbuffered.patch + epatch "${FILESDIR}"/${PV}-allow-any-gcc-version.patch + epatch "${DISTDIR}"/atlas3.6.0-shared-libs.1.patch.bz2 + epatch "${DISTDIR}"/lapack-20020531-20021004.patch.bz2 + epatch "${DISTDIR}"/lapack-gentoo.patch + cp "${FILESDIR}"/war "${S}" + chmod a+x "${S}"/war + + einfo "Making ${PN} respect compiler settings" + sed -i \ + -e "s:\(\t./xconfig\):\1 -m $(tc-getCC) -c $(tc-getCC) -f ${FORTRANC}:g" \ + ${S}/Makefile \ + || die "Failed to fix compilers" + + if [[ $(gcc-major-version) -ge 4 ]]; then + einfo "Updating Makefiles for gcc-4" + sed -i \ + -e "s:g2c:gfortran:g" \ + ${S}/Make.top \ + ${S}/makes/Make.lib \ + || die "Failed to update for gcc-4" + fi +} + +atlas_fail() { + eerror + eerror "ATLAS auto-config failed." + eerror "Please run 'interactive=1 emerge lapack-atlas' to configure" + eerror "manually." + eerror + die "ATLAS auto-config failed." +} + +src_compile() { + cd "${S}" + if [ -n "${interactive}" ]; then + echo "${interactive}" + make config CC="$(tc-getCC) -DUSE_LIBTOOL -DINTERACTIVE" || die + else + # Use ATLAS defaults for all questions: + (echo | make config CC="$(tc-getCC) -DUSE_LIBTOOL") || atlas_fail + fi + + TMPSTR=$(ls Make.Linux*) + ATLAS_ARCH=${TMPSTR#'Make.'} + + GENTOO_CC="libtool --mode=compile --tag=CC $(tc-getCC) -I/usr/include/atlas" + + cd "${S}"/src/lapack/${ATLAS_ARCH} + make lib CC="${GENTOO_CC}" \ + || die "Failed to make lib in ${S}/src/lapack/${ATLAS_ARCH}" + + cd "${S}"/interfaces/lapack/C/src/${ATLAS_ARCH} + make lib CC="${GENTOO_CC}" \ + || die "Failed to make lib in ${S}/interfaces/lapack/C/src/${ATLAS_ARCH}" + + cd "${S}"/interfaces/lapack/F77/src/${ATLAS_ARCH} + + make lib CC="${GENTOO_CC}" F77="libtool --mode=compile --tag=F77 ${FORTRANC}" \ + || die "Failed to make lib in ${S}/interfaces/lapack/F77/src/${ATLAS_ARCH}" + + cd "${S_LAPACK}" + if use ifc; then + FFLAGS="${IFCFLAGS}" + NOOPT="-O0" # Do NOT change this. It is applied to two files with + # routines to determine machine constants. + else + # g77 hates opts, esp. machine-specific + ALLOWED_FLAGS="-O -O1 -O2 -fstack-protector -fno-unit-at-a-time \ + -pipe -g -Wall" + strip-flags + FFLAGS="${CFLAGS}" + NOOPT="" + fi + make lapacklib FORTRAN="libtool --mode=compile --tag=F77 ${FORTRANC}" OPTS="${FFLAGS}" \ + NOOPT="${NOOPT}" || die "Failed to make lapacklib" + + cd "${S_LAPACK}"/SRC + einfo "Copying liblapack.a/*.o to ${S_LAPACK}/SRC" + cp -sf "${S}"/gentoo/liblapack.a/*.o . + einfo "Copying liblapack.a/*.lo to ${S_LAPACK}/SRC" + cp -sf "${S}"/gentoo/liblapack.a/*.lo . + einfo "Copying liblapack.a/.libs/*.o to ${S_LAPACK}/SRC" + cp -sf "${S}"/gentoo/liblapack.a/.libs/*.o .libs/ + + local FORTRANLIB + if [[ $(gcc-major-version) -ge 4 ]]; then + FORTRANLIB="-lgfortran" + else + FORTRANLIB="-lg2c" + fi + einfo "Fortran library is ${FORTRANLIB}" + + if use ifc; then + ${FORTRANC} ${FFLAGS} -shared .libs/*.o -Wl,-soname -Wl,liblapack.so.0 \ + -o liblapack.so.0.0.0 -lblas -lcblas -latlas \ + -L$(gcc-config -L) ${FORTRANLIB} \ + || die "Failed to create liblapack.so.0.0.0" + ar cru liblapack.a *.o || die "Failed to create liblapack.a" + ranlib liblapack.a || die "Failed to prepare liblapack.a" + else + libtool --mode=link --tag=CC $(tc-getCC) -o liblapack.la *.lo \ + -rpath "${RPATH}" -lblas -lcblas -latlas ${FORTRANLIB} \ + || die "Failed to create liblapack.la" + fi +} + +src_install () { + dodir "${RPATH}" + + cd "${S_LAPACK}"/SRC + if use ifc; then + strip --strip-unneeded liblapack.so.0.0.0 || die + strip --strip-debug liblapack.a || die + + exeinto "${RPATH}" + doexe liblapack.so.0.0.0 || die + dosym liblapack.so.0.0.0 ${RPATH}/liblapack.so.0 || die + dosym liblapack.so.0.0.0 ${RPATH}/liblapack.so || die + + insinto "${RPATH}" + doins liblapack.a || die + else + libtool --mode=install install -s liblapack.la "${D}/${RPATH}" || die + fi + + eselect lapack add $(get_libdir) ${FILESDIR}/eselect.lapack atlas + + insinto /usr/include/atlas + cd "${S}"/include + doins clapack.h || die + + cd "${S}" + dodoc README || die + cd "${S}"/doc + dodoc AtlasCredits.txt ChangeLog || die + if use doc; then + dodoc lapackqref.ps || die + fi +} + +pkg_postinst() { + if [[ -z "$(eselect lapack show)" ]]; then + eselect lapack set atlas + fi + + einfo + einfo "To link with ATLAS LAPACK from C or Fortran, simply use:" + einfo + einfo "-llapack" + einfo + einfo "C users: your header is /usr/include/atlas/clapack.h" + einfo +} |