summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPatrick Lauer <patrick@gentoo.org>2009-03-07 23:07:50 +0000
committerPatrick Lauer <patrick@gentoo.org>2009-03-07 23:07:50 +0000
commita6d74af34e53a5c855684c006d364fa3c730a9e0 (patch)
tree69872873cd2acc5101704a14e6c711cfb15a9dd0 /sci-libs
parentfix dev-python/wxpython dependency by Thomas Pani in bug #260050 (diff)
downloadgentoo-2-a6d74af34e53a5c855684c006d364fa3c730a9e0.tar.gz
gentoo-2-a6d74af34e53a5c855684c006d364fa3c730a9e0.tar.bz2
gentoo-2-a6d74af34e53a5c855684c006d364fa3c730a9e0.zip
Bump to 1.26, small sharedlibs patch by Juan Aguado
(Portage version: 2.2_rc23/cvs/Linux x86_64)
Diffstat (limited to 'sci-libs')
-rw-r--r--sci-libs/blas-goto/ChangeLog10
-rw-r--r--sci-libs/blas-goto/blas-goto-1.26.ebuild149
-rw-r--r--sci-libs/blas-goto/files/blas-goto-1.26-sharedlibs.patch18
3 files changed, 175 insertions, 2 deletions
diff --git a/sci-libs/blas-goto/ChangeLog b/sci-libs/blas-goto/ChangeLog
index f7e43a30729f..6de3a49047ff 100644
--- a/sci-libs/blas-goto/ChangeLog
+++ b/sci-libs/blas-goto/ChangeLog
@@ -1,6 +1,12 @@
# ChangeLog for sci-libs/blas-goto
-# Copyright 1999-2008 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/sci-libs/blas-goto/ChangeLog,v 1.20 2008/08/07 06:16:47 ulm Exp $
+# Copyright 1999-2009 Gentoo Foundation; Distributed under the GPL v2
+# $Header: /var/cvsroot/gentoo-x86/sci-libs/blas-goto/ChangeLog,v 1.21 2009/03/07 23:07:50 patrick Exp $
+
+*blas-goto-1.26 (07 Mar 2009)
+
+ 07 Mar 2009; Patrick Lauer <patrick@gentoo.org>
+ +files/blas-goto-1.26-sharedlibs.patch, +blas-goto-1.26.ebuild:
+ Bump to 1.26, small sharedlibs patch by Juan Aguado
07 Aug 2008; Ulrich Mueller <ulm@gentoo.org> metadata.xml:
Add USE flag description to metadata wrt GLEP 56.
diff --git a/sci-libs/blas-goto/blas-goto-1.26.ebuild b/sci-libs/blas-goto/blas-goto-1.26.ebuild
new file mode 100644
index 000000000000..3a7d0a742076
--- /dev/null
+++ b/sci-libs/blas-goto/blas-goto-1.26.ebuild
@@ -0,0 +1,149 @@
+# Copyright 1999-2009 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/sci-libs/blas-goto/blas-goto-1.26.ebuild,v 1.1 2009/03/07 23:07:50 patrick Exp $
+
+inherit eutils fortran flag-o-matic toolchain-funcs
+
+MY_PN="GotoBLAS"
+MY_P="${MY_PN}-${PV}"
+DESCRIPTION="Fast implementations of the Basic Linear Algebra Subroutines"
+HOMEPAGE="http://www.tacc.utexas.edu/resources/software/software.php"
+SRC_URI="http://www.tacc.utexas.edu/resources/software/login/gotoblas/${MY_P}.tar.gz"
+LICENSE="tacc"
+SLOT="0"
+# See http://www.tacc.utexas.edu/resources/software/gotoblasfaq.php
+# for supported architectures
+KEYWORDS="~x86 ~amd64"
+IUSE="int64 threads doc"
+RESTRICT="mirror"
+
+RDEPEND="app-admin/eselect-blas
+ doc? ( app-doc/blas-docs )"
+DEPEND="app-admin/eselect-blas
+ >=sys-devel/binutils-2.17"
+
+S="${WORKDIR}/${MY_PN}"
+FORTRAN="gfortran g77 ifc"
+
+ESELECT_PROF=goto
+
+src_unpack() {
+ unpack ${A}
+ cd "${S}"
+
+ # patch to link with m and fortran libs, works with asneeded
+ epatch "${FILESDIR}"/${P}-sharedlibs.patch
+
+ # Set up C compiler: forcing gcc for now
+ if [[ $(tc-getCC) != *gcc ]]; then
+ ewarn "Your C compiler is set to $(tc-getCC)"
+ ewarn "${PN} needs gcc to inline assembler, others compilers have reported failures"
+ ewarn "Forcing gcc"
+ fi
+ C_COMPILER=GNU
+
+ # Set up FORTRAN 77 compiler
+ case ${FORTRANC} in
+ g77) F_COMPILER=G77;;
+ gfortran) F_COMPILER=GFORTRAN;;
+ ifc|ifort) F_COMPILER=INTEL;;
+ *)
+ die "Invalid Fortran compiler: ${FORTRANC}; valid are ${FORTRAN}."
+ esac
+
+ # Set up compilers
+ sed -i \
+ -e "s:^# \(C_COMPILER =\) GNU:\1 ${C_COMPILER}:g" \
+ -e "s:^# \(F_COMPILER =\) G77:\1 ${F_COMPILER}:g" \
+ -e "s:\$(CROSS_BINUTILS)ar:$(tc-getAR):" \
+ -e "s:\$(CROSS_BINUTILS)as:$(tc-getAS):" \
+ -e "s:\$(CROSS_BINUTILS)ld:$(tc-getLD):" \
+ -e "s:\$(CROSS_BINUTILS)ranlib:$(tc-getRANLIB):" \
+ Makefile.rule \
+ || die "sed for toolchain failed"
+
+ if use threads; then
+ sed -i \
+ -e "s:^# \(SMP = 1\):\1:g" \
+ Makefile.rule \
+ || die "sed for threads failed"
+ fi
+
+ if use amd64; then
+ sed -i \
+ -e "s:^# \(BINARY64 = 1\):\1:g" \
+ Makefile.rule \
+ || die "sed for 64 binary failed"
+ fi
+
+ if use int64; then
+ sed -i \
+ -e "s:^# \(INTERFACE64 = 1\):\1:g" \
+ Makefile.rule \
+ || die "sed for 64 integers failed"
+ ESELECT_PROF="${ESELECT_PROF}-int64"
+ fi
+}
+
+src_compile() {
+
+ # Make static library
+ emake LDFLAGS="$(raw-ldflags)" || die "emake failed"
+
+ # Make shared library
+ cd exports
+ emake so -j1 || die "emake failed"
+}
+
+src_test() {
+ cd test
+ emake || die "emake test failed"
+ make clean
+}
+
+src_install() {
+ local install_dir=/usr/$(get_libdir)/blas/goto
+ dodir ${install_dir}
+
+ # dolib.so doesn't support our alternate locations
+ exeinto ${install_dir}
+ doexe libgoto_*.so || die "installing shared lib failed"
+ dosym libgoto_*.so ${install_dir}/libgoto.so
+ dosym libgoto_*.so ${install_dir}/libgoto.so.0
+ dosym libgoto_*.so ${install_dir}/libgoto.so.0.0.0
+
+ # dolib.a doesn't support our alternate locations
+ insinto ${install_dir}
+ doins libgoto_*.a || die "installing static lib failed"
+ dosym libgoto_*.a ${install_dir}/libgoto.a
+
+ dodoc 01Readme.txt 03History.txt 04FAQ.txt || die
+
+ cp "${FILESDIR}"/blas.pc.in blas.pc
+ local extlibs=""
+ use threads && extlibs="${extlibs} -lpthread"
+ sed -i \
+ -e "s/@LIBDIR@/$(get_libdir)/" \
+ -e "s/@PV@/${PV}/" \
+ -e "s/@EXTLIBS@/${extlibs}/" \
+ blas.pc || die "sed blas.pc failed"
+ insinto /usr/$(get_libdir)/blas/goto
+ doins blas.pc
+ eselect blas add $(get_libdir) "${FILESDIR}"/eselect.blas.goto ${ESELECT_PROF}
+}
+
+pkg_postinst() {
+ local p=blas
+ 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}/$(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_lib}"
+ elog "To use ${p} ${ESELECT_PROF} implementation, you have to issue (as root):"
+ elog "\t eselect ${p} set ${ESELECT_PROF}"
+ fi
+}
diff --git a/sci-libs/blas-goto/files/blas-goto-1.26-sharedlibs.patch b/sci-libs/blas-goto/files/blas-goto-1.26-sharedlibs.patch
new file mode 100644
index 000000000000..48182261e703
--- /dev/null
+++ b/sci-libs/blas-goto/files/blas-goto-1.26-sharedlibs.patch
@@ -0,0 +1,18 @@
+--- exports/Makefile.orig 2008-03-12 12:16:22.966541966 +0000
++++ exports/Makefile 2008-03-12 12:24:08.850292012 +0000
+@@ -134,13 +134,13 @@
+ ../$(LIBSONAME) : ../$(LIBNAME) linux.def
+ $(CC) $(CFLAGS) -shared -o ../$(LIBSONAME) \
+ -Wl,--whole-archive ../$(LIBNAME) -Wl,--no-whole-archive \
+- -Wl,--retain-symbols-file=linux.def $(EXTRALIB)
++ -Wl,--retain-symbols-file=linux.def $(EXTRALIB) -lm
+
+ endif
+
+ ifeq ($(OSNAME), FreeBSD)
+
+-so : ../$(LIBSONAME) test
++so : ../$(LIBSONAME)
+
+ ../$(LIBSONAME) : ../$(LIBNAME) linux.def
+ $(CC) $(CFLAGS) -shared -o ../$(LIBSONAME) \