aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSébastien Fabbro <sebfabbro@gmail.com>2012-03-16 21:40:59 +0000
committerSébastien Fabbro <sebfabbro@gmail.com>2012-03-16 21:40:59 +0000
commitcf67f948ad50d5a91aaff51daf5a1b0c4b28f54a (patch)
tree57e1149bbee444e8b82b222eaf944c8b7be52f7a
parentMerge branch 'master' of git+ssh://git.overlays.gentoo.org/proj/sci (diff)
downloadsci-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/ChangeLog6
-rw-r--r--sci-libs/openblas/openblas-0.1_alpha25.ebuild126
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
+}