diff options
author | Sébastien Fabbro <sebfabbro@gmail.com> | 2012-03-16 21:40:59 +0000 |
---|---|---|
committer | Sébastien Fabbro <sebfabbro@gmail.com> | 2012-03-16 21:40:59 +0000 |
commit | cf67f948ad50d5a91aaff51daf5a1b0c4b28f54a (patch) | |
tree | 57e1149bbee444e8b82b222eaf944c8b7be52f7a | |
parent | Merge branch 'master' of git+ssh://git.overlays.gentoo.org/proj/sci (diff) | |
download | sci-cf67f948ad50d5a91aaff51daf5a1b0c4b28f54a.tar.gz sci-cf67f948ad50d5a91aaff51daf5a1b0c4b28f54a.tar.bz2 sci-cf67f948ad50d5a91aaff51daf5a1b0c4b28f54a.zip |
sci-libs/openblas: Version bump
(Portage version: 2.1.10.44/git/Linux x86_64, unsigned Manifest commit)
-rw-r--r-- | sci-libs/openblas/ChangeLog | 6 | ||||
-rw-r--r-- | sci-libs/openblas/openblas-0.1_alpha25.ebuild | 126 |
2 files changed, 132 insertions, 0 deletions
diff --git a/sci-libs/openblas/ChangeLog b/sci-libs/openblas/ChangeLog index 34d9ae2b4..bf190d3ef 100644 --- a/sci-libs/openblas/ChangeLog +++ b/sci-libs/openblas/ChangeLog @@ -2,6 +2,12 @@ # Copyright 1999-2012 Gentoo Foundation; Distributed under the GPL v2 # $Header: $ +*openblas-0.1_alpha25 (16 Mar 2012) + + 16 Mar 2012; Sébastien Fabbro <bicatali@gentoo.org> + +openblas-0.1_alpha25.ebuild: + Version bump + 15 Mar 2012; François Bissey <francois.bissey@canterbury.ac.nz> openblas-0.1_alpha2.ebuild, openblas-9999.ebuild: correct typo diff --git a/sci-libs/openblas/openblas-0.1_alpha25.ebuild b/sci-libs/openblas/openblas-0.1_alpha25.ebuild new file mode 100644 index 000000000..c5a8dba83 --- /dev/null +++ b/sci-libs/openblas/openblas-0.1_alpha25.ebuild @@ -0,0 +1,126 @@ +# Copyright 1999-2012 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: $ + +EAPI=4 + +inherit eutils toolchain-funcs alternatives-2 git-2 multilib + +DESCRIPTION="Optimized BLAS library based on GotoBLAS2" +HOMEPAGE="http://xianyi.github.com/OpenBLAS/" +EGIT_REPO_URI="git://github.com/xianyi/OpenBLAS.git" +EGIT_COMMIT="v0.1alpha2.5" + +LICENSE="BSD" +SLOT="0" +KEYWORDS="~amd64 ~x86 ~x86-macos ~ppc-macos ~x64-macos" + +IUSE="+incblas int64 dynamic openmp static-libs threads" + +RDEPEND="virtual/fortran" +DEPEND="${RDEPEND}" + +S="${WORKDIR}/${MYPN}" + +pkg_setup() { + ewarn "If the compilation fails, try setting the TARGET environment variable" + ewarn "to your CPU's codename and run emerge again." +} + +src_prepare() { + epatch "${FILESDIR}"/${PN}-{sharedlibs,aliasing}.patch + # respect LDFLAGS + sed -i -e '/^LDFLAGS\s*=/d' Makefile.* || die + # respect CFLAGS only if dynamic flag not enabled + if ! use dynamic; then + sed -i \ + -e "/^COMMON_OPT/s/-O2/${CFLAGS}/" \ + Makefile.rule || die + fi + # fix executable stacks + local i + for i in $(find . -name \*.S); do + cat >> ${i} <<-EOF + #if defined(__ELF__) + .section .note.GNU-stack,"",%progbits + #endif + EOF + done +} + +src_configure() { + local use_openmp=$(use openmp && echo 1) + use threads && use openmp && use_openmp="" && \ + einfo "openmp and threads enabled: using threads" + sed -i \ + -e "s:^#\s*\(NO_LAPACK\)\s*=.*:\1=1:" \ + -e "s:^#\s*\(CC\)\s*=.*:\1=$(tc-getCC):" \ + -e "s:^#\s*\(FC\)\s*=.*:\1=$(tc-getFC):" \ + -e "s:^#\s*\(USE_THREAD\)\s*=.*:\1=$(use threads && echo 1 || echo 0):" \ + -e "s:^#\s*\(USE_OPENMP\)\s*=.*:\1=${use_openmp}:" \ + -e "s:^#\s*\(DYNAMIC_ARCH\)\s*=.*:\1=$(use dynamic && echo 1):" \ + -e "s:^#\s*\(INTERFACE64\)\s*=.*:\1=$(use int64 && echo 1):" \ + -e "s:^#\s*\(NO_CBLAS\)\s*=.*:\1=$(use incblas || echo 1):" \ + Makefile.rule || die +} + +src_compile() { + mkdir solibs + emake libs shared && mv *$(get_libname) solibs/ + use static-libs && emake clean && emake libs NEED_PIC= +} + +src_test() { + emake tests +} + +src_install() { + local profname=${PN} threads + use int64 && profname=${profname}-int64 + if use threads; then + threads="-pthread" + profname=${profname}-threads + elif use openmp; then + profname=${profname}-openmp + fi + + dolib.so solibs/lib*$(get_libname) + use static-libs && dolib.a lib*.a + + # create pkg-config file and associated eselect file + cat <<-EOF > ${profname}.pc + prefix=${EPREFIX}/usr + libdir=\${prefix}/$(get_libdir) + includedir=\${prefix}/include + Name: ${PN} + Description: ${DESCRIPTION} + Version: ${PV} + URL: ${HOMEPAGE} + Libs: -L\${libdir} -lopenblas -lm ${threads} + EOF + + alternatives_for blas ${profname} 0 \ + "/usr/$(get_libdir)/pkgconfig/blas.pc" "${profname}.pc" + + if use incblas; then + echo >> ${profname}.pc "Cflags: -I\${includedir}/${PN}" + insinto /usr/include/${PN} + doins cblas.h common*.h config.h param.h + alternatives_for cblas ${profname} 0 \ + "/usr/$(get_libdir)/pkgconfig/cblas.pc" "${profname}.pc" \ + "/usr/include/cblas.h" "${PN}/cblas.h" + fi + + insinto /usr/$(get_libdir)/pkgconfig + doins ${profname}.pc + dodoc GotoBLAS_{01Readme,03FAQ,04FAQ,05LargePage,06WeirdPerformance}.txt + + if [[ ${CHOST} == *-darwin* ]] ; then + cd "${ED}"/usr/$(get_libdir) + for d in *.dylib ; do + ebegin "correcting install_name of ${d}" + install_name_tool -id "${EPREFIX}/usr/$(get_libdir)/${d}" "${d}" + eend $? + done + fi +} |