diff options
author | Patrick Lauer <patrick@gentoo.org> | 2009-03-07 23:07:50 +0000 |
---|---|---|
committer | Patrick Lauer <patrick@gentoo.org> | 2009-03-07 23:07:50 +0000 |
commit | a6d74af34e53a5c855684c006d364fa3c730a9e0 (patch) | |
tree | 69872873cd2acc5101704a14e6c711cfb15a9dd0 /sci-libs | |
parent | fix dev-python/wxpython dependency by Thomas Pani in bug #260050 (diff) | |
download | gentoo-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/ChangeLog | 10 | ||||
-rw-r--r-- | sci-libs/blas-goto/blas-goto-1.26.ebuild | 149 | ||||
-rw-r--r-- | sci-libs/blas-goto/files/blas-goto-1.26-sharedlibs.patch | 18 |
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) \ |