summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSebastien Fabbro <bicatali@gentoo.org>2007-10-10 13:22:40 +0000
committerSebastien Fabbro <bicatali@gentoo.org>2007-10-10 13:22:40 +0000
commit7405e15451cfa6a6e1de022a4e81d05cbd44210f (patch)
tree55f0c6cd2708a7abccb0d1c9efeafad58cd4877f /sci-libs/gsl/gsl-1.10.ebuild
parentRemoved old versions, workaround for eselect bug #189942, cleanups. (diff)
downloadgentoo-2-7405e15451cfa6a6e1de022a4e81d05cbd44210f.tar.gz
gentoo-2-7405e15451cfa6a6e1de022a4e81d05cbd44210f.tar.bz2
gentoo-2-7405e15451cfa6a6e1de022a4e81d05cbd44210f.zip
Version bump, removed old versions, added work around eselect bug #189942. Added new cblas use flag to allow use of external cblas library.
(Portage version: 2.1.3.12)
Diffstat (limited to 'sci-libs/gsl/gsl-1.10.ebuild')
-rw-r--r--sci-libs/gsl/gsl-1.10.ebuild77
1 files changed, 77 insertions, 0 deletions
diff --git a/sci-libs/gsl/gsl-1.10.ebuild b/sci-libs/gsl/gsl-1.10.ebuild
new file mode 100644
index 000000000000..a646b0593c73
--- /dev/null
+++ b/sci-libs/gsl/gsl-1.10.ebuild
@@ -0,0 +1,77 @@
+# Copyright 1999-2007 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/sci-libs/gsl/gsl-1.10.ebuild,v 1.1 2007/10/10 13:22:40 bicatali Exp $
+
+inherit eutils flag-o-matic toolchain-funcs autotools
+
+DESCRIPTION="The GNU Scientific Library"
+HOMEPAGE="http://www.gnu.org/software/gsl/"
+SRC_URI="mirror://gnu/${PN}/${P}.tar.gz"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~ppc ~ppc64 ~sparc ~x86 ~x86-fbsd"
+IUSE="cblas"
+
+RDEPEND="app-admin/eselect-cblas
+ cblas? ( virtual/cblas )"
+
+DEPEND="${RDEPEND}
+ dev-util/pkgconfig"
+
+pkg_setup() {
+ # icc-10.0.026 did not pass rng tests (last check: gsl-1.10)
+ if [[ $(tc-getCC) == icc ]]; then
+ eerror "icc known to fail tests. Revert to safer compiler and re-emerge."
+ die "gsl does not work when compiled with icc"
+ fi
+}
+
+src_unpack() {
+ unpack ${A}
+ cd "${S}"
+ epatch "${FILESDIR}"/gsl-cblas.patch
+ eautoreconf
+}
+
+src_compile() {
+ # could someone check if they are still needed?
+ replace-cpu-flags k6 k6-2 k6-3 i586
+ filter-flags -ffast-math
+ local myconf=
+ use cblas && myconf="--with-cblas=$(pkg-config --libs cblas)"
+ econf "${myconf}"|| die "econf failed"
+ emake || die "emake failed"
+}
+
+src_install() {
+ emake install DESTDIR="${D}" || die "emake install failed."
+ dodoc AUTHORS BUGS ChangeLog NEWS README SUPPORT \
+ THANKS TODO || die "dodoc failed"
+
+ # take care of pkgconfig file for cblas implementation.
+ sed -e "s/@LIBDIR@/$(get_libdir)/" \
+ -e "s/@PV@/${PV}/" \
+ "${FILESDIR}"/cblas.pc.in > cblas.pc \
+ || die "sed cblas.pc failed"
+ insinto /usr/$(get_libdir)/blas/gsl
+ doins cblas.pc || die "installing cblas.pc failed"
+ ESELECT_PROF=gsl
+ eselect cblas add $(get_libdir) "${FILESDIR}"/eselect.cblas.gsl ${ESELECT_PROF}
+}
+
+pkg_postinst() {
+ local p=cblas
+ local current_lib=$(eselect ${p} show | cut -d' ' -f2)
+ if [[ ${current_lib} == ${ESELECT_PROF} || -z ${current_lib} ]]; then
+ # work around eselect bug #189942
+ local configfile="${ROOT}"/etc/env.d/${p}/lib/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_lib}"
+ elog "To use ${p} ${ESELECT_PROF} implementation, you have to issue (as root):"
+ elog "\t eselect ${p} set ${ESELECT_PROF}"
+ fi
+}