Version bump.
authorMarkus Dittrich <markusle@gentoo.org>
Sat, 23 Feb 2008 11:13:41 +0000 (11:13 +0000)
committerMarkus Dittrich <markusle@gentoo.org>
Sat, 23 Feb 2008 11:13:41 +0000 (11:13 +0000)
Package-Manager: portage-2.1.4.4

sci-libs/blas-atlas/ChangeLog
sci-libs/blas-atlas/blas-atlas-3.8.0.ebuild
sci-libs/blas-atlas/blas-atlas-3.8.1.ebuild [new file with mode: 0644]
sci-libs/lapack-atlas/ChangeLog
sci-libs/lapack-atlas/lapack-atlas-3.6.0.ebuild
sci-libs/lapack-atlas/lapack-atlas-3.7.11-r1.ebuild
sci-libs/lapack-atlas/lapack-atlas-3.7.11.ebuild
sci-libs/lapack-atlas/lapack-atlas-3.8.0.ebuild
sci-libs/lapack-atlas/lapack-atlas-3.8.1.ebuild [new file with mode: 0644]

index 0f7bc0accaec9e50e963edf8718be8b58f90ea0e..f585275ef8787d5a2acc731c54259ecc4bd08046 100644 (file)
@@ -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.75 2007/12/20 11:13:12 markusle Exp $
+# Copyright 2002-2008 Gentoo Foundation; Distributed under the GPL v2
+# $Header: /var/cvsroot/gentoo-x86/sci-libs/blas-atlas/ChangeLog,v 1.76 2008/02/23 11:10:57 markusle Exp $
+
+*blas-atlas-3.8.1 (22 Feb 2008)
+
+  22 Feb 2008; Markus Dittrich <markusle@gentoo.org>
+  +blas-atlas-3.8.1.ebuild:
+  Version bump.
 
   20 Dec 2007; Markus Dittrich <markusle@gentoo.org>
   blas-atlas-3.8.0.ebuild:
index 03fa903c8580f24f4372a14bc1d70f7c58d897a0..efea3f89e4db8c8d251eba71d50a5c2d9f2a7927 100644 (file)
@@ -1,6 +1,6 @@
-# Copyright 1999-2007 Gentoo Foundation
+# Copyright 1999-2008 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.8.0.ebuild,v 1.7 2007/12/20 11:13:12 markusle Exp $
+# $Header: /var/cvsroot/gentoo-x86/sci-libs/blas-atlas/blas-atlas-3.8.0.ebuild,v 1.8 2008/02/23 11:10:57 markusle Exp $
 
 inherit eutils toolchain-funcs fortran multilib
 
diff --git a/sci-libs/blas-atlas/blas-atlas-3.8.1.ebuild b/sci-libs/blas-atlas/blas-atlas-3.8.1.ebuild
new file mode 100644 (file)
index 0000000..aefaf7d
--- /dev/null
@@ -0,0 +1,227 @@
+# Copyright 1999-2008 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.8.1.ebuild,v 1.1 2008/02/23 11:10:57 markusle Exp $
+
+inherit eutils toolchain-funcs fortran multilib
+
+PATCH_V="3.7.39"
+
+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}-${PATCH_V}-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
+       dev-util/pkgconfig
+       doc? ( app-doc/blas-docs )"
+
+DEPEND="app-admin/eselect-blas
+       app-admin/eselect-cblas
+       >=sys-devel/libtool-1.5"
+
+S="${WORKDIR}/ATLAS"
+
+pkg_setup() {
+       # icc won't compile (as of icc-10.0.026)
+       # and will blow out $PORTAGE_TMPDIR
+       if [[ $(tc-getCC) = icc* ]]; then
+               eerror "icc compiler is not supported with sci-libs/blas-atlas"
+               die "blas-atlas won't compile with icc"
+       fi
+
+       FORTRAN="g77 gfortran ifc"
+       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}-${PATCH_V}-shared-libs.patch.bz2
+       epatch "${FILESDIR}"/${MY_PN}-asm-gentoo.patch
+       epatch "${FILESDIR}"/${MY_PN}-${PATCH_V}-decl-fix.patch
+
+       # fix for pentium M
+       sed -e "s|iret = IntPM;|iret = IntPM;  break;|g" \
+               -i CONFIG/src/backend/archinfo_x86.c \
+               || die "failed to fix pentium M arch detection"
+
+       BLD_DIR="${S}"/gentoo-build
+       mkdir "${BLD_DIR}" || die "failed to generate build directory"
+       cd "${BLD_DIR}"
+       cp "${FILESDIR}"/war . && chmod a+x war || die "failed to install war"
+
+       local archselect=
+       if use amd64 || use ppc64; then
+               archselect="-b 64"
+       elif use alpha; then
+               archselect=""
+       else
+               archselect="-b 32"
+       fi
+
+       ../configure \
+               --cc="$(tc-getCC)" \
+               --cflags="${CFLAGS}" \
+               --prefix="${D}/${DESTTREE}" \
+               --libdir="${D}/${DESTTREE}"/$(get_libdir)/atlas \
+               --incdir="${D}/${DESTTREE}"/include \
+               -C ac "$(tc-getCC)" -F ac "${CFLAGS}" \
+               -C if ${FORTRANC} -F if "${FFLAGS:--O2}" \
+               -Ss pmake "\$(MAKE) ${MAKEOPTS}" \
+               -Si cputhrchk 0 ${archselect} \
+               || die "configure failed"
+}
+
+src_compile() {
+       cd "${BLD_DIR}"
+
+       # atlas does its own parallel builds
+       emake -j1 || die "emake failed"
+
+       RPATH="${DESTTREE}"/$(get_libdir)/blas
+       make \
+               LIBDIR=$(get_libdir) \
+               RPATH="${RPATH}"/atlas \
+               shared || die "failed to build shared libraries"
+
+       # build shared libraries of threaded libraries if applicable
+       if [[ -d gentoo/libptcblas.a ]]; then
+               make \
+                       LIBDIR=$(get_libdir) \
+                       RPATH="${RPATH}"/threaded-atlas \
+                       ptshared || die "failed to build threaded shared libraries"
+       fi
+}
+
+src_test() {
+       # make check does not work because
+       # we don't build lapack libs
+       for i in F77 C; do
+               einfo "Testing ${i} interface"
+               cd "${BLD_DIR}"/interfaces/blas/${i}/testing
+               make sanity_test || die "emake tests for ${i} failed"
+               if [[ -d "${BLD_DIR}"/gentoo/libptf77blas.a ]]; then
+                       make ptsanity_test || die "emake tests threaded for ${i}failed"
+               fi
+       done
+       echo "Timing ATLAS"
+       cd "${BLD_DIR}"
+       emake time || die "emake time failed"
+}
+
+src_install () {
+       dodir "${RPATH}"/atlas
+       cd "${BLD_DIR}"/gentoo/libs
+       cp -P libatlas* "${D}/${DESTTREE}"/$(get_libdir) \
+               || die "Failed to install libatlas"
+
+       # pkgconfig files
+       local extlibs="-lm"
+       local threadlibs
+       [[ ${FORTRANC} == gfortran ]] && extlibs="${extlibs} -lgfortran"
+       [[ ${FORTRANC} == g77 ]] && extlibs="${extlibs} -lg2c"
+       cp "${FILESDIR}"/blas.pc.in blas.pc
+       cp "${FILESDIR}"/cblas.pc.in cblas.pc
+       sed -i \
+               -e "s:@LIBDIR@:$(get_libdir):" \
+               -e "s:@PV@:${PV}:" \
+               -e "s:@EXTLIBS@:${extlibs}:g" \
+               -e "s:@THREADLIBS@:${threadlibs}:g" \
+               *blas.pc || die "sed *blas.pc failed"
+
+       cp -P *blas* "${D}/${RPATH}"/atlas \
+               || die "Failed to install blas/cblas"
+
+       ESELECT_PROF=atlas
+       eselect blas add $(get_libdir) "${FILESDIR}"/eselect.blas.atlas ${ESELECT_PROF}
+       eselect cblas add $(get_libdir) "${FILESDIR}"/eselect.cblas.atlas ${ESELECT_PROF}
+
+       if [[ -d "${BLD_DIR}"/gentoo/threaded-libs ]];  then
+               dodir "${RPATH}"/threaded-atlas
+               cd "${BLD_DIR}"/gentoo/threaded-libs
+
+               # pkgconfig files
+               cp "${FILESDIR}"/blas.pc.in blas.pc
+               cp "${FILESDIR}"/cblas.pc.in cblas.pc
+               threadlibs="-lpthread"
+               sed -i \
+                       -e "s:@LIBDIR@:$(get_libdir):" \
+                       -e "s:@PV@:${PV}:" \
+                       -e "s:@EXTLIBS@:${extlibs}:g" \
+                       -e "s:@THREADLIBS@:${threadlibs}:g" \
+                       *blas.pc || die "sed *blas.pc failed"
+
+               cp -P * "${D}/${RPATH}"/threaded-atlas \
+                       || die "Failed to install threaded atlas"
+               ESELECT_PROF=atlas-threads
+
+               eselect blas add $(get_libdir) "${FILESDIR}"/eselect.blas.threaded-atlas ${ESELECT_PROF}
+               eselect cblas add $(get_libdir) "${FILESDIR}"/eselect.cblas.threaded-atlas ${ESELECT_PROF}
+       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}"/doc
+       dodoc INDEX.txt AtlasCredits.txt ChangeLog || die "dodoc failed"
+       # atlas specific doc (blas generic docs installed by blas-docs)
+       if use doc; then
+               insinto /usr/share/doc/${PF}
+               doins atlas*pdf cblasqref.pdf || die "doins docs failed"
+       fi
+}
+
+pkg_postinst() {
+       for p in blas cblas; do
+               local current_p=$(eselect ${p} show | cut -d' ' -f2)
+               # this snippet works around the eselect bug #189942 and makes
+               # sure that users upgrading from a previous blas-atlas
+               # version pick up the new pkg-config files
+               if [[ ${current_p} == ${ESELECT_PROF} \
+                         || ${current_p} == "threaded-atlas" \
+                         || -z ${current_p} ]]; then
+                       local configfile="${ROOT}"/etc/env.d/${p}/$(get_libdir)/config
+                       [[ -e ${configfile} ]] && rm -f ${configfile}
+                       eselect ${p} set ${ESELECT_PROF}
+                       elog "${p} has been eselected to ${ESELECT_PROF}"
+               else
+                       elog "Current eselected ${p} is ${current_p}"
+                       elog "To use the ${p} ${ESELECT_PROF} implementation, you have to issue (as root):"
+                       elog "\t eselect ${p} set ${ESELECT_PROF}"
+               fi
+       done
+}
index 6702f16a23781da40b1524baddedd6781195a4bd..9698a2f2bdf8705f2554f8f9cf613f6c420ecd3d 100644 (file)
@@ -1,6 +1,13 @@
 # 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.59 2007/12/12 19:06:15 armin76 Exp $
+# Copyright 2004-2008 Gentoo Foundation; Distributed under the GPL v2
+# $Header: /var/cvsroot/gentoo-x86/sci-libs/lapack-atlas/ChangeLog,v 1.60 2008/02/23 11:13:41 markusle Exp $
+
+*lapack-atlas-3.8.1 (23 Feb 2008)
+
+  23 Feb 2008; Markus Dittrich <markusle@gentoo.org>
+  lapack-atlas-3.6.0.ebuild, lapack-atlas-3.7.11.ebuild,
+  lapack-atlas-3.7.11-r1.ebuild, +lapack-atlas-3.8.1.ebuild:
+  Version bump.
 
   12 Dec 2007; Raúl Porcel <armin76@gentoo.org> lapack-atlas-3.8.0.ebuild:
   sparc stable wrt #200337, thanks to Aaron Mavrinac
index 422a4d4131662cb5e6951f3a89980db5ef7a679c..2e509428d9c0d57abcffa2eedd9f5f0b7a795b4e 100644 (file)
@@ -1,6 +1,6 @@
-# Copyright 1999-2007 Gentoo Foundation
+# Copyright 1999-2008 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.ebuild,v 1.14 2007/11/21 00:43:41 bicatali Exp $
+# $Header: /var/cvsroot/gentoo-x86/sci-libs/lapack-atlas/lapack-atlas-3.6.0.ebuild,v 1.15 2008/02/23 11:13:41 markusle Exp $
 
 inherit eutils flag-o-matic toolchain-funcs
 
@@ -89,7 +89,6 @@ atlas_fail() {
 }
 
 src_compile() {
-       cd "${S}"
        if [ -n "${interactive}" ]
        then
                echo "${interactive}"
index 063693d3f1fb3cebb7bfe945be5b2006b0370850..b71a4e6ad6ff605a54632a9574150d7cc18f2bd1 100644 (file)
@@ -1,6 +1,6 @@
-# Copyright 1999-2007 Gentoo Foundation
+# Copyright 1999-2008 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.9 2007/11/21 00:43:41 bicatali Exp $
+# $Header: /var/cvsroot/gentoo-x86/sci-libs/lapack-atlas/lapack-atlas-3.7.11-r1.ebuild,v 1.10 2008/02/23 11:13:41 markusle Exp $
 
 inherit eutils flag-o-matic toolchain-funcs fortran
 
@@ -104,7 +104,6 @@ atlas_fail() {
 }
 
 src_compile() {
-       cd "${S}"
        if [ -n "${interactive}" ]; then
                echo "${interactive}"
                make config CC="$(tc-getCC) -DUSE_LIBTOOL -DINTERACTIVE" || die
index 643d7eef312413816bba6e6779d9e4095b83a162..481cec920af37b5179812c5d83d86f27c6ede92a 100644 (file)
@@ -1,6 +1,6 @@
-# Copyright 1999-2007 Gentoo Foundation
+# Copyright 1999-2008 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.ebuild,v 1.15 2007/11/21 00:43:41 bicatali Exp $
+# $Header: /var/cvsroot/gentoo-x86/sci-libs/lapack-atlas/lapack-atlas-3.7.11.ebuild,v 1.16 2008/02/23 11:13:41 markusle Exp $
 
 inherit eutils flag-o-matic toolchain-funcs fortran
 
@@ -105,7 +105,6 @@ atlas_fail() {
 }
 
 src_compile() {
-       cd "${S}"
        if [ -n "${interactive}" ]; then
                echo "${interactive}"
                make config CC="$(tc-getCC) -DUSE_LIBTOOL -DINTERACTIVE" || die
index 490d48cc62783cc2b4cfb6afcfd8445f57987deb..7c3ab306b3dc2bd62f2fccf8deb7369d99618718 100644 (file)
@@ -1,6 +1,6 @@
-# Copyright 1999-2007 Gentoo Foundation
+# Copyright 1999-2008 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.8.0.ebuild,v 1.10 2007/12/12 19:06:15 armin76 Exp $
+# $Header: /var/cvsroot/gentoo-x86/sci-libs/lapack-atlas/lapack-atlas-3.8.0.ebuild,v 1.11 2008/02/23 11:13:41 markusle Exp $
 
 inherit eutils flag-o-matic toolchain-funcs fortran autotools versionator
 
diff --git a/sci-libs/lapack-atlas/lapack-atlas-3.8.1.ebuild b/sci-libs/lapack-atlas/lapack-atlas-3.8.1.ebuild
new file mode 100644 (file)
index 0000000..a92c817
--- /dev/null
@@ -0,0 +1,181 @@
+# Copyright 1999-2008 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.8.1.ebuild,v 1.1 2008/02/23 11:13:41 markusle Exp $
+
+inherit eutils flag-o-matic toolchain-funcs fortran autotools versionator
+
+MY_PN="${PN/lapack-/}"
+PATCH_V="3.7.39"
+L_PN="lapack"
+L_PV="3.1.1"
+BlasRelease=$(get_version_component_range 1-3)
+
+DESCRIPTION="F77 and C LAPACK implementations 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}-${PATCH_V}-shared-libs.patch.bz2"
+
+SLOT="0"
+IUSE="doc"
+KEYWORDS="~alpha ~amd64 ~ppc ~ppc64 ~sparc ~x86"
+
+DEPEND="virtual/blas
+       virtual/cblas
+       app-admin/eselect-lapack
+       ~sci-libs/blas-atlas-${BlasRelease}
+       >=sys-devel/libtool-1.5"
+
+RDEPEND="${DEPEND}
+       dev-util/pkgconfig
+       doc? ( app-doc/lapack-docs )"
+
+FORTRAN="g77 gfortran ifc"
+
+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 "${S}"
+       epatch "${DISTDIR}"/${MY_PN}-${PATCH_V}-shared-libs.patch.bz2
+       epatch "${FILESDIR}"/${MY_PN}-asm-gentoo.patch
+
+       # make sure the compile picks up the proper includes
+       sed -i \
+               -e "s|INCLUDES.*=|INCLUDES = -I/usr/include/atlas/|"  \
+               "${S}"/CONFIG/src/SpewMakeInc.c \
+               || die "failed to append proper includes"
+
+       BLD_DIR="${S}"/gentoo-build
+       mkdir "${BLD_DIR}"  || die "failed to generate build directory"
+       cd "${BLD_DIR}"
+       cp "${FILESDIR}"/war . && chmod a+x war || die "failed to install war"
+
+       # force proper 32/64bit libs
+       local archselect
+       if use amd64 || use ppc64; then
+               archselect="-b 64"
+       elif use alpha; then
+               archselect=""
+       else
+               archselect="-b 32"
+       fi
+
+       ../configure \
+               --cc="$(tc-getCC)" \
+               --cflags="${CFLAGS}" \
+               --prefix="${D}/${DESTTREE}" \
+               --libdir="${D}/${DESTTREE}"/$(get_libdir)/atlas \
+               --incdir="${D}/${DESTTREE}"/include \
+               -C ac "$(tc-getCC)" -F ac "${CFLAGS}" \
+               -C if ${FORTRANC} -F if "${FFLAGS:--O2}" \
+               -Ss pmake "\$(MAKE) ${MAKEOPTS}" \
+               -Si cputhrchk 0 ${archselect} \
+               || die "configure failed"
+
+       cd "${S_LAPACK}"
+       epatch "${FILESDIR}"/${L_PN}-reference-${L_PV}-autotools.patch
+       epatch "${FILESDIR}"/${L_PN}-reference-${L_PV}-test-fix.patch
+       eautoreconf
+
+       # set up the testing routines
+       sed -e "s:g77:${FORTRANC}:" \
+               -e "s:-funroll-all-loops -O3:${FFLAGS} $(pkg-config --cflags blas cblas):" \
+               -e "s:LOADOPTS =:LOADOPTS = ${LDFLAGS} $(pkg-config --cflags blas cblas):" \
+               -e "s:../../blas\$(PLAT).a:$(pkg-config --libs blas cblas):" \
+               -e "s:lapack\$(PLAT).a:SRC/.libs/liblapack.so -Wl,-rpath,${S_LAPACK}/SRC/.libs:" \
+               -e "s:EXT_ETIME$:INT_CPU_TIME:" \
+               make.inc.example > make.inc \
+               || die "Failed to set up make.inc"
+}
+
+src_compile() {
+       # build atlas' part of lapack
+       cd "${BLD_DIR}"
+       for d in src/lapack interfaces/lapack/C/src interfaces/lapack/F77/src; do
+               cd "${BLD_DIR}"/${d}
+               make lib || die "Failed to make lib in ${d}"
+       done
+
+       # build rest of lapack
+       S_LAPACK="${WORKDIR}"/${L_PN}-lite-${L_PV}
+       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/
+
+       RPATH="${DESTTREE}"/$(get_libdir)/${L_PN}/${MY_PN}
+       local flibs
+       [[ ${FORTRANC} == gfortran ]] && flibs=-lgfortran
+       [[ ${FORTRANC} == g77 ]] && flibs=-lg2c
+       ../libtool --mode=link --tag=F77 ${FORTRANC} \
+               $(pkg-config --libs blas cblas) -latlas ${flibs} \
+               -o liblapack.la *.lo -rpath "${RPATH}" \
+               || die "Failed to create liblapack.la"
+
+       # making pkg-config file
+       sed -e "s:@LIBDIR@:$(get_libdir):" \
+               -e "s:@PV@:${PV}:" \
+               -e "s:@EXTLIBS@:-lm ${flibs}:g" \
+               "${FILESDIR}"/lapack.pc.in > "${S}"/lapack.pc \
+               || die "sed lapack.pc failed"
+}
+
+src_install () {
+       dodir "${RPATH}"
+
+       cd "${S_LAPACK}"/SRC
+       ../libtool --mode=install cp liblapack.la "${D}/${RPATH}" \
+               || die "Failed to install lapack-atlas library"
+
+       ESELECT_PROF=atlas
+       eselect lapack add $(get_libdir) "${FILESDIR}"/eselect.lapack.atlas ${ESELECT_PROF}
+
+       insinto /usr/include/atlas
+       doins "${S}"/include/clapack.h || die "Failed to install clapack.h"
+       dosym atlas/clapack.h /usr/include/clapack.h
+
+       cd "${S}"
+       dodoc README doc/AtlasCredits.txt doc/ChangeLog \
+               || die "Failed to install docs"
+
+       insinto /usr/$(get_libdir)/lapack/atlas
+       doins "${S}"/lapack.pc || die "Failed to install lapack.pc"
+}
+
+src_test() {
+       cd "${S_LAPACK}"/TESTING/MATGEN
+       emake || die "Failed to create tmglib.a"
+       cd ..
+       emake || die "lapack-reference tests failed"
+}
+
+pkg_postinst() {
+       local current_lib=$(eselect lapack show | cut -d' ' -f2)
+       # this snippet works around the eselect bug #189942 and makes
+       # sure that users upgrading from a previous lapack-atlas
+       # version pick up the new pkg-config files
+       if [[ ${current_lib} == ${ESELECT_PROF} || -z ${current_lib} ]]; then
+               local configfile="${ROOT}"/etc/env.d/lapack/$(get_libdir)/config
+               [[ -e ${configfile} ]] && rm -f ${configfile}
+               eselect lapack set ${ESELECT_PROF}
+               elog "lapack has been eselected to ${ESELECT_PROF}"
+       else
+               elog "Current eselected lapack is ${current_lib}"
+               elog "To use blas ${ESELECT_PROF} implementation, you have to issue (as root):"
+               elog "\t eselect lapack set ${ESELECT_PROF}"
+       fi
+}