diff options
author | Markus Dittrich <markusle@gentoo.org> | 2007-07-24 16:20:25 +0000 |
---|---|---|
committer | Markus Dittrich <markusle@gentoo.org> | 2007-07-24 16:20:25 +0000 |
commit | d85cfb383bdfb43bea8a3a9e31008ff5fad0088d (patch) | |
tree | 4e067bb5e1b3f0ea1dfddfbebae7fd8e036a6c61 /sci-libs | |
parent | amd64 stable, bug 185649 (diff) | |
download | historical-d85cfb383bdfb43bea8a3a9e31008ff5fad0088d.tar.gz historical-d85cfb383bdfb43bea8a3a9e31008ff5fad0088d.tar.bz2 historical-d85cfb383bdfb43bea8a3a9e31008ff5fad0088d.zip |
Version bump.
Package-Manager: portage-2.1.3_rc9
Diffstat (limited to 'sci-libs')
-rw-r--r-- | sci-libs/blas-atlas/ChangeLog | 8 | ||||
-rw-r--r-- | sci-libs/blas-atlas/blas-atlas-3.7.34.ebuild | 178 | ||||
-rw-r--r-- | sci-libs/blas-atlas/files/digest-blas-atlas-3.7.34 | 6 | ||||
-rw-r--r-- | sci-libs/lapack-atlas/ChangeLog | 8 | ||||
-rw-r--r-- | sci-libs/lapack-atlas/files/digest-lapack-atlas-3.7.34 | 9 | ||||
-rw-r--r-- | sci-libs/lapack-atlas/files/lapack-reference-3.1.1-autotool.patch | 8 | ||||
-rw-r--r-- | sci-libs/lapack-atlas/files/lapack-reference-3.1.1-test-fix.patch | 36 | ||||
-rw-r--r-- | sci-libs/lapack-atlas/lapack-atlas-3.7.34.ebuild | 177 |
8 files changed, 424 insertions, 6 deletions
diff --git a/sci-libs/blas-atlas/ChangeLog b/sci-libs/blas-atlas/ChangeLog index c09a5ce9baf2..796d4b9abb61 100644 --- a/sci-libs/blas-atlas/ChangeLog +++ b/sci-libs/blas-atlas/ChangeLog @@ -1,6 +1,12 @@ # ChangeLog for sci-libs/blas-atlas # Copyright 2002-2007 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/sci-libs/blas-atlas/ChangeLog,v 1.64 2007/07/22 15:36:23 opfer Exp $ +# $Header: /var/cvsroot/gentoo-x86/sci-libs/blas-atlas/ChangeLog,v 1.65 2007/07/24 16:17:58 markusle Exp $ + +*blas-atlas-3.7.34 (24 Jul 2007) + + 24 Jul 2007; Markus Dittrich <markusle@gentoo.org> + +blas-atlas-3.7.34.ebuild: + Version bump. 22 Jul 2007; Christian Faulhammer <opfer@gentoo.org> blas-atlas-3.6.0-r2.ebuild, blas-atlas-3.7.11-r1.ebuild: diff --git a/sci-libs/blas-atlas/blas-atlas-3.7.34.ebuild b/sci-libs/blas-atlas/blas-atlas-3.7.34.ebuild new file mode 100644 index 000000000000..8520c41c7715 --- /dev/null +++ b/sci-libs/blas-atlas/blas-atlas-3.7.34.ebuild @@ -0,0 +1,178 @@ +# Copyright 1999-2007 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/sci-libs/blas-atlas/blas-atlas-3.7.34.ebuild,v 1.1 2007/07/24 16:17:58 markusle Exp $ + +inherit eutils toolchain-funcs fortran + +DESCRIPTION="Automatically Tuned Linear Algebra Software BLAS implementation" +HOMEPAGE="http://math-atlas.sourceforge.net/" +MY_PN=${PN/blas-/} +SRC_URI="mirror://sourceforge/math-atlas/${MY_PN}${PV}.tar.bz2 + mirror://gentoo/${MY_PN}-${PV}-shared-libs.patch.bz2" + +LICENSE="BSD" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~ppc ~ppc64 ~sparc ~x86" +IUSE="doc" + +RDEPEND="app-admin/eselect-blas + app-admin/eselect-cblas" +DEPEND="${RDEPEND} + >=sys-devel/libtool-1.5" +PROVIDE="virtual/blas" + +S="${WORKDIR}/ATLAS" +BLD_DIR="${S}/gentoo-build" +RPATH="${DESTTREE}/$(get_libdir)/blas" +FORTRAN="g77 gfortran" + +pkg_setup() { + fortran_pkg_setup + echo + ewarn "Please make sure to disable CPU throttling completely" + ewarn "during the compile of blas-atlas. Otherwise, all atlas" + ewarn "generated timings will be completely random and the" + ewarn "performance of the resulting libraries will be degraded" + ewarn "considerably." + echo + ewarn "For users of <=gcc-4.1.1 only:" + ewarn "If you experience failing SANITY tests during" + ewarn "atlas' compile please try passing -mfpmath=387; this" + ewarn "option might also result in much better performance" + ewarn "than using then sse instruction set depending on your" + ewarn "CPU." + echo + epause 10 +} + +src_unpack() { + unpack ${A} + cd ${S} + + epatch "${DISTDIR}"/${MY_PN}-${PV}-shared-libs.patch.bz2 + epatch "${FILESDIR}"/${MY_PN}-asm-gentoo.patch + + # make sure shared libs link against proper libraries + if [[ ${FORTRANC} == "gfortran" ]]; then + libs="${LDFLAGS} -lpthread -lgfortran" + else + libs="${LDFLAGS} -lpthread -lg2c" + fi + + #increase amount of workspace to improve threaded performance + sed -e "s:16777216:167772160:" -i include/atlas_lvl3.h || + die "Failed to fix ATL_MaxMalloc" + + sed -e "s:SHRD_LNK:${libs}:g" -i Make.top || \ + die "Failed to add addtional libs to shared object build" + + sed -e "s:= gcc:= $(tc-getCC) ${CFLAGS}:" \ + -i CONFIG/src/SpewMakeInc.c || die "Failed to fix Spewmake" + + mkdir ${BLD_DIR} || die "failed to generate build directory" + cp "${FILESDIR}"/war ${BLD_DIR} && chmod a+x ${BLD_DIR}/war || \ + die "failed to install war" + + # force proper 32/64bit libs + local archselect + if [[ "${ARCH}" == "amd64" || "${ARCH}" == "ppc64" ]]; then + archselect="-b 64" + elif [ "${ARCH}" == "alpha" ]; then + archselect="" + else + archselect="-b 32" + fi + + # set up compiler/flags using atlas' native configure + local compdefs + compdefs="${compdefs} -C xc '$(tc-getCC)' -F xc '${CFLAGS}'" + compdefs="${compdefs} -C ic '$(tc-getCC)' -F ic '${CFLAGS}'" + compdefs="${compdefs} -C sk '$(tc-getCC)' -F sk '${CFLAGS}'" + compdefs="${compdefs} -C dk '$(tc-getCC)' -F dk '${CFLAGS}'" + compdefs="${compdefs} -C sm '$(tc-getCC)' -F sm '${CFLAGS}'" + compdefs="${compdefs} -C dm '$(tc-getCC)' -F dm '${CFLAGS}'" + compdefs="${compdefs} -C if '${FORTRANC}' -F if '${FFLAGS}'" + compdefs="${compdefs} -Ss pmake '\$(MAKE) ${MAKEOPTS}'" + compdefs="${compdefs} -Si cputhrchk 0 ${archselect}" + + cd ${BLD_DIR} && ../configure ${compdefs} \ + || die "configure failed" +} + +src_compile() { + cd ${BLD_DIR} + emake -j1 || die "make failed" + + make shared-strip RPATH=${RPATH}/atlas || \ + die "failed to build shared libraries" + + # build shared libraries of threaded libraries if applicable + if [ -d gentoo/libptf77blas.a ]; then + make ptshared-strip RPATH=${RPATH}/threaded-atlas || \ + die "failed to build threaded shared libraries" + fi +} + +src_install () { + dodir "${RPATH}"/atlas + cd ${BLD_DIR}/gentoo/libs + cp -P libatlas* "${D}/${DESTTREE}/$(get_libdir)" || \ + die "Failed to install libatlas" + cp -P *blas* "${D}/${RPATH}"/atlas || \ + die "Failed to install blas/cblas" + + eselect blas add $(get_libdir) ${FILESDIR}/eselect.blas atlas + eselect cblas add $(get_libdir) ${FILESDIR}/eselect.cblas atlas + + if [ -d ${BLD_DIR}/gentoo/threaded-libs ] + then + dodir "${RPATH}"/threaded-atlas + cd ${BLD_DIR}/gentoo/threaded-libs + cp -P * "${D}/${RPATH}"/threaded-atlas || \ + die "Failed to install threaded atlas" + + eselect blas add $(get_libdir) ${FILESDIR}/eselect.blas-threaded threaded-atlas + eselect cblas add $(get_libdir) ${FILESDIR}/eselect.cblas-threaded threaded-atlas + fi + + insinto "${DESTTREE}"/include/atlas + doins "${S}"/include/cblas.h "${S}"/include/atlas_misc.h \ + "${S}"/include/atlas_enum.h || \ + die "failed to install headers" + + # These headers contain the architecture-specific + # optimizations determined by ATLAS. The atlas-lapack build + # is much shorter if they are available, so save them: + doins ${BLD_DIR}/include/*.h || \ + die "failed to install timing headers" + + #some docs + cd "${S}" + dodoc README doc/{AtlasCredits.txt,ChangeLog} + use doc && dodoc doc/*.ps +} + +pkg_postinst() { + local THREADED + + if [ -d "${RPATH}"/threaded-atlas ] + then + THREADED="threaded-" + fi + if [[ -z "$(eselect blas show)" ]]; then + eselect blas set ${THREADED}atlas + fi + if [[ -z "$(eselect cblas show)" ]]; then + eselect cblas set ${THREADED}atlas + fi + + elog + elog "Fortran users link using -lblas" + elog + elog "C users compile against the header ${ROOT}usr/include/atlas/cblas.h and" + elog "link using -lcblas" + elog + elog "If using threaded ATLAS, you may also need to link with -lpthread." + elog + elog "Configuration now uses eselect rather than blas-config." +} diff --git a/sci-libs/blas-atlas/files/digest-blas-atlas-3.7.34 b/sci-libs/blas-atlas/files/digest-blas-atlas-3.7.34 new file mode 100644 index 000000000000..ec93a12e4467 --- /dev/null +++ b/sci-libs/blas-atlas/files/digest-blas-atlas-3.7.34 @@ -0,0 +1,6 @@ +MD5 6a37551621d91bd3495bc1718df0b9cd atlas-3.7.34-shared-libs.patch.bz2 6157 +RMD160 c898883344c421fa8290f7bbd759578ee6c60bed atlas-3.7.34-shared-libs.patch.bz2 6157 +SHA256 8d2fe80d4c368412bce30b2d6d9ce4017e9ab2d1e97f2fa2f8bff12c49748983 atlas-3.7.34-shared-libs.patch.bz2 6157 +MD5 2cb87f02e0d131138eef8049d5a854d1 atlas3.7.34.tar.bz2 2252847 +RMD160 b3c0b5ba49bd04da935bf6597ff727dcfc94711f atlas3.7.34.tar.bz2 2252847 +SHA256 6f29cc34266ceb9b5ee27276677281deba8438b00d4ace7c018b2b5aa5a9d333 atlas3.7.34.tar.bz2 2252847 diff --git a/sci-libs/lapack-atlas/ChangeLog b/sci-libs/lapack-atlas/ChangeLog index d0e75499442a..62ba86a77dd8 100644 --- a/sci-libs/lapack-atlas/ChangeLog +++ b/sci-libs/lapack-atlas/ChangeLog @@ -1,6 +1,12 @@ # ChangeLog for sci-libs/lapack-atlas # Copyright 2004-2007 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/sci-libs/lapack-atlas/ChangeLog,v 1.45 2007/05/29 13:15:05 markusle Exp $ +# $Header: /var/cvsroot/gentoo-x86/sci-libs/lapack-atlas/ChangeLog,v 1.46 2007/07/24 16:20:25 markusle Exp $ + +*lapack-atlas-3.7.34 (24 Jul 2007) + + 24 Jul 2007; Markus Dittrich <markusle@gentoo.org> + +files/lapack-reference-3.1.1-test-fix.patch, +lapack-atlas-3.7.34.ebuild: + Version bump. 29 May 2007; Markus Dittrich <markusle@gentoo.org> lapack-atlas-3.7.32.ebuild: diff --git a/sci-libs/lapack-atlas/files/digest-lapack-atlas-3.7.34 b/sci-libs/lapack-atlas/files/digest-lapack-atlas-3.7.34 new file mode 100644 index 000000000000..c40a27a11f69 --- /dev/null +++ b/sci-libs/lapack-atlas/files/digest-lapack-atlas-3.7.34 @@ -0,0 +1,9 @@ +MD5 6a37551621d91bd3495bc1718df0b9cd atlas-3.7.34-shared-libs.patch.bz2 6157 +RMD160 c898883344c421fa8290f7bbd759578ee6c60bed atlas-3.7.34-shared-libs.patch.bz2 6157 +SHA256 8d2fe80d4c368412bce30b2d6d9ce4017e9ab2d1e97f2fa2f8bff12c49748983 atlas-3.7.34-shared-libs.patch.bz2 6157 +MD5 2cb87f02e0d131138eef8049d5a854d1 atlas3.7.34.tar.bz2 2252847 +RMD160 b3c0b5ba49bd04da935bf6597ff727dcfc94711f atlas3.7.34.tar.bz2 2252847 +SHA256 6f29cc34266ceb9b5ee27276677281deba8438b00d4ace7c018b2b5aa5a9d333 atlas3.7.34.tar.bz2 2252847 +MD5 5feace3f4507a92ef822b2e0b50151d7 lapack-lite-3.1.1.tgz 5332509 +RMD160 d81baafd1f0f9859d9f75ac9b658f743544b5f5b lapack-lite-3.1.1.tgz 5332509 +SHA256 505a13272d0d71c45ea52be2de74b0562b234ea3ccf5160665c7a2ee74a58437 lapack-lite-3.1.1.tgz 5332509 diff --git a/sci-libs/lapack-atlas/files/lapack-reference-3.1.1-autotool.patch b/sci-libs/lapack-atlas/files/lapack-reference-3.1.1-autotool.patch index d9a9b479bfdb..295cc2b0f4d3 100644 --- a/sci-libs/lapack-atlas/files/lapack-reference-3.1.1-autotool.patch +++ b/sci-libs/lapack-atlas/files/lapack-reference-3.1.1-autotool.patch @@ -15,8 +15,8 @@ diff -Naur lapack-lite-3.1.1/INSTALL/Makefile.am lapack-lite-3.1.1.new/INSTALL/M +testlsame_SOURCES = lsame.f lsametst.f +testslamch_SOURCES = slamch.f lsame.f slamchtst.f +testdlamch_SOURCES = dlamch.f lsame.f dlamchtst.f -+testsecond_SOURCES = second_EXT_ETIME.f secondtst.f -+testdsecnd_SOURCES = dsecnd_EXT_ETIME.f dsecndtst.f ++testsecond_SOURCES = second_INT_CPU_TIME.f secondtst.f ++testdsecnd_SOURCES = dsecnd_INT_CPU_TIME.f dsecndtst.f +testieee_SOURCES = tstiee.f + +EXTRA_DIST = \ @@ -64,7 +64,7 @@ diff -Naur lapack-lite-3.1.1/SRC/Makefile.am lapack-lite-3.1.1.new/SRC/Makefile. + slaset.f slasq1.f slasq2.f slasq3.f slazq3.f slasq4.f slazq4.f slasq5.f slasq6.f \ + slasr.f slasrt.f slassq.f slasv2.f spttrf.f sstebz.f sstedc.f \ + ssteqr.f ssterf.f slaisnan.f sisnan.f \ -+ ../INSTALL/second_EXT_ETIME.f ++ ../INSTALL/second_INT_CPU_TIME.f +endif + +if DOUBLE @@ -86,7 +86,7 @@ diff -Naur lapack-lite-3.1.1/SRC/Makefile.am lapack-lite-3.1.1.new/SRC/Makefile. + dlaset.f dlasq1.f dlasq2.f dlasq3.f dlazq3.f dlasq4.f dlazq4.f dlasq5.f dlasq6.f \ + dlasr.f dlasrt.f dlassq.f dlasv2.f dpttrf.f dstebz.f dstedc.f \ + dsteqr.f dsterf.f dlaisnan.f disnan.f \ -+ ../INSTALL/dsecnd_EXT_ETIME.f ++ ../INSTALL/dsecnd_INT_CPU_TIME.f +endif + +if S diff --git a/sci-libs/lapack-atlas/files/lapack-reference-3.1.1-test-fix.patch b/sci-libs/lapack-atlas/files/lapack-reference-3.1.1-test-fix.patch new file mode 100644 index 000000000000..e9b754403f3a --- /dev/null +++ b/sci-libs/lapack-atlas/files/lapack-reference-3.1.1-test-fix.patch @@ -0,0 +1,36 @@ +diff -Naur lapack-lite-3.1.1/TESTING/ctest.in lapack-lite-3.1.1-new/TESTING/ctest.in +--- lapack-lite-3.1.1/TESTING/ctest.in 2007-02-26 13:20:47.000000000 -0500 ++++ lapack-lite-3.1.1-new/TESTING/ctest.in 2007-07-24 10:19:31.000000000 -0400 +@@ -32,5 +32,4 @@ + CQL 8 List types on next line if 0 < NTYPES < 8 + CQP 6 List types on next line if 0 < NTYPES < 6 + CTZ 3 List types on next line if 0 < NTYPES < 3 +-CLS 6 List types on next line if 0 < NTYPES < 6 + CEQ +diff -Naur lapack-lite-3.1.1/TESTING/dtest.in lapack-lite-3.1.1-new/TESTING/dtest.in +--- lapack-lite-3.1.1/TESTING/dtest.in 2007-02-26 13:20:49.000000000 -0500 ++++ lapack-lite-3.1.1-new/TESTING/dtest.in 2007-07-24 10:19:36.000000000 -0400 +@@ -30,5 +30,4 @@ + DQL 8 List types on next line if 0 < NTYPES < 8 + DQP 6 List types on next line if 0 < NTYPES < 6 + DTZ 3 List types on next line if 0 < NTYPES < 3 +-DLS 6 List types on next line if 0 < NTYPES < 6 + DEQ +diff -Naur lapack-lite-3.1.1/TESTING/stest.in lapack-lite-3.1.1-new/TESTING/stest.in +--- lapack-lite-3.1.1/TESTING/stest.in 2007-02-26 13:20:49.000000000 -0500 ++++ lapack-lite-3.1.1-new/TESTING/stest.in 2007-07-24 10:19:48.000000000 -0400 +@@ -30,5 +30,4 @@ + SQL 8 List types on next line if 0 < NTYPES < 8 + SQP 6 List types on next line if 0 < NTYPES < 6 + STZ 3 List types on next line if 0 < NTYPES < 3 +-SLS 6 List types on next line if 0 < NTYPES < 6 + SEQ +diff -Naur lapack-lite-3.1.1/TESTING/ztest.in lapack-lite-3.1.1-new/TESTING/ztest.in +--- lapack-lite-3.1.1/TESTING/ztest.in 2007-02-26 13:20:49.000000000 -0500 ++++ lapack-lite-3.1.1-new/TESTING/ztest.in 2007-07-24 10:19:42.000000000 -0400 +@@ -32,5 +32,4 @@ + ZQL 8 List types on next line if 0 < NTYPES < 8 + ZQP 6 List types on next line if 0 < NTYPES < 6 + ZTZ 3 List types on next line if 0 < NTYPES < 3 +-ZLS 6 List types on next line if 0 < NTYPES < 6 + ZEQ diff --git a/sci-libs/lapack-atlas/lapack-atlas-3.7.34.ebuild b/sci-libs/lapack-atlas/lapack-atlas-3.7.34.ebuild new file mode 100644 index 000000000000..1e0d194ba348 --- /dev/null +++ b/sci-libs/lapack-atlas/lapack-atlas-3.7.34.ebuild @@ -0,0 +1,177 @@ +# Copyright 1999-2007 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.34.ebuild,v 1.1 2007/07/24 16:20:25 markusle Exp $ + +inherit eutils flag-o-matic toolchain-funcs fortran versionator + +MY_PN="${PN/lapack-/}" +L_PN="lapack" +L_PV="3.1.1" +BlasRelease=$(get_version_component_range 1-3) + +DESCRIPTION="Full LAPACK implementation using available ATLAS routines" +LICENSE="BSD" +HOMEPAGE="http://math-atlas.sourceforge.net/" +SRC_URI1="mirror://sourceforge/math-atlas/${MY_PN}${PV}.tar.bz2" +SRC_URI2="http://www.netlib.org/${L_PN}/${L_PN}-lite-${L_PV}.tgz" +SRC_URI="${SRC_URI1} ${SRC_URI2} + mirror://gentoo/${MY_PN}-${PV}-shared-libs.patch.bz2" + +SLOT="0" +IUSE="doc" +KEYWORDS="~alpha ~amd64 ~ppc ~ppc64 ~sparc ~x86" + +RDEPEND="virtual/blas + app-admin/eselect-lapack" + +DEPEND="${RDEPEND} + >=sys-devel/libtool-1.5 + ~sci-libs/blas-atlas-${BlasRelease}" + +PROVIDE="virtual/lapack" + +FORTRAN="g77 gfortran" + +S="${WORKDIR}/ATLAS" +S_LAPACK="${WORKDIR}/${L_PN}-lite-${L_PV}" +BLD_DIR="${S}/gentoo-build" +RPATH="${DESTTREE}/$(get_libdir)/${L_PN}/${MY_PN}" + +src_unpack() { + unpack ${A} + cd "${WORKDIR}" + + epatch "${DISTDIR}"/${MY_PN}-${PV}-shared-libs.patch.bz2 + epatch "${FILESDIR}"/${MY_PN}-asm-gentoo.patch + epatch "${FILESDIR}"/${L_PN}-reference-${L_PV}-autotool.patch + epatch "${FILESDIR}"/${L_PN}-reference-${L_PV}-test-fix.patch + + cd "${S}" + mkdir ${BLD_DIR} || die "failed to generate build directory" + cp "${FILESDIR}"/war "${BLD_DIR}" && chmod a+x "${BLD_DIR}"/war \ + || die "failed to install war" + + # make sure the compile picks up the proper includes + sed -e "s|INCLUDES =|INCLUDES = -I/usr/include/atlas/|" \ + -e "s:= gcc:= $(tc-getCC) ${CFLAGS}:" \ + -i CONFIG/src/SpewMakeInc.c || \ + die "failed to append proper includes" + + # force proper 32/64bit libs + local archselect + if [[ "${ARCH}" == "amd64" || "${ARCH}" == "ppc64" ]]; then + archselect="-b 64" + elif [ "${ARCH}" == "alpha" ]; then + archselect="" + else + archselect="-b 32" + fi + + # set up compiler/flags using atlas' native configure + local compdefs + compdefs="${compdefs} -C xc '$(tc-getCC)' -F xc '${CFLAGS}'" + compdefs="${compdefs} -C ic '$(tc-getCC)' -F ic '${CFLAGS}'" + compdefs="${compdefs} -C sk '$(tc-getCC)' -F sk '${CFLAGS}'" + compdefs="${compdefs} -C dk '$(tc-getCC)' -F dk '${CFLAGS}'" + compdefs="${compdefs} -C sm '$(tc-getCC)' -F sm '${CFLAGS}'" + compdefs="${compdefs} -C dm '$(tc-getCC)' -F dm '${CFLAGS}'" + compdefs="${compdefs} -C if '${FORTRANC}' -F if '${FFLAGS}'" + compdefs="${compdefs} -Ss pmake '\$(MAKE) ${MAKEOPTS}'" + compdefs="${compdefs} -Si cputhrchk 0 ${archselect}" + + + cd ${BLD_DIR} && ../configure ${compdefs} \ + || die "configure failed" + + cd "${S_LAPACK}" + eautoreconf + + # set up the testing routines + cp make.inc.example make.inc || die "Failed to copy make.inc" + sed -e "s:g77:${FORTRANC}:" \ + -e "s:-funroll-all-loops -O3:${FFLAGS}:" \ + -e "s:LOADOPTS =:LOADOPTS = ${LDFLAGS}:" \ + -e "s:../../blas\$(PLAT).a:-lblas -lcblas:" \ + -e "s:lapack\$(PLAT).a:SRC/.libs/liblapack.a:" \ + -e "s:EXT_ETIME$:INT_CPU_TIME:" \ + -i make.inc || die "Failed to set up make.inc" +} + +src_compile() { + # build atlas' part of lapack + cd "${BLD_DIR}"/src/lapack + make lib || die "Failed to make lib in ${BLD_DIR}/src/lapack" + + cd "${BLD_DIR}"/interfaces/lapack/C/src + make lib || die "Failed to make lib in ${BLD_DIR}/interfaces/lapack/C/src" + + cd "${BLD_DIR}"/interfaces/lapack/F77/src + make lib || die "Failed to make lib in ${BLD_DIR}/interfaces/lapack/F77/src" + + # build rest of lapack + cd "${S_LAPACK}" + econf || die "Failed to configure reference lapack lib" + emake || die "Failed to make reference lapack lib" + + cd "${S_LAPACK}"/SRC + einfo "Copying liblapack.a/*.o to ${S_LAPACK}/SRC" + cp -sf "${BLD_DIR}"/gentoo/liblapack.a/*.o . + einfo "Copying liblapack.a/*.lo to ${S_LAPACK}/SRC" + cp -sf "${BLD_DIR}"/gentoo/liblapack.a/*.lo . + einfo "Copying liblapack.a/.libs/*.o to ${S_LAPACK}/SRC" + cp -sf "${BLD_DIR}"/gentoo/liblapack.a/.libs/*.o .libs/ + + # make sure shared libs link against proper libraries + if [[ ${FORTRANC} == "gfortran" ]]; then + libs="${LDFLAGS} -lpthread -lgfortran" + else + libs="${LDFLAGS} -lpthread -lg2c" + fi + + ../libtool --mode=link --tag=F77 ${FORTRANC} -lblas -lcblas \ + -latlas ${libs} -o liblapack.la *.lo -rpath "${RPATH}" \ + || die "Failed to create liblapack.la" +} + +src_install () { + dodir "${RPATH}" + + cd "${S_LAPACK}"/SRC + ../libtool --mode=install install -s liblapack.la \ + "${D}/${RPATH}" \ + || die "Failed to install lapack-atlas library" + + eselect lapack add $(get_libdir) ${FILESDIR}/eselect.lapack atlas + + insinto /usr/include/atlas + cd "${S}"/include + doins clapack.h || die "Failed to install clapack.h" + + cd "${S}" + dodoc README doc/AtlasCredits.txt doc/ChangeLog || \ + die "Failed to install docs" + if use doc; then + dodoc doc/lapackqref.pdf || die "Failed to install docs" + fi +} + +src_test() { + cd "${S_LAPACK}"/TESTING/MATGEN && emake || \ + die "Failed to create tmglib.a" + cd ../ && emake || die "lapack-reference tests failed." +} + +pkg_postinst() { + if [[ -z "$(eselect lapack show)" ]]; then + eselect lapack set atlas + fi + + elog + elog "To link with ATLAS LAPACK from C or Fortran, simply use:" + elog + elog "-llapack" + elog + elog "C users: your header is /usr/include/atlas/clapack.h" + elog + elog "Configuration now uses eselect rather than lapack-config." +} |