diff options
Diffstat (limited to 'sci-libs/magma/magma-1.4.0.ebuild')
-rw-r--r-- | sci-libs/magma/magma-1.4.0.ebuild | 126 |
1 files changed, 0 insertions, 126 deletions
diff --git a/sci-libs/magma/magma-1.4.0.ebuild b/sci-libs/magma/magma-1.4.0.ebuild deleted file mode 100644 index 8d1eaf7b9..000000000 --- a/sci-libs/magma/magma-1.4.0.ebuild +++ /dev/null @@ -1,126 +0,0 @@ -# Copyright 1999-2013 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Header: $ - -EAPI=5 - -PYTHON_COMPAT=( python{2_6,2_7} ) - -FORTRAN_STANDARD="77 90" - -inherit cuda eutils flag-o-matic fortran-2 multilib toolchain-funcs versionator python-any-r1 - -DESCRIPTION="Matrix Algebra on GPU and Multicore Architectures" -HOMEPAGE="http://icl.cs.utk.edu/magma/" -SRC_URI="http://icl.cs.utk.edu/projectsfiles/${PN}/downloads/${P}.tar.gz" - -LICENSE="BSD" -SLOT="0" -KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux" -IUSE="fermi kepler static-libs test" - -REQUIRED_USE="?? ( fermi kepler )" - -RDEPEND=" - dev-util/nvidia-cuda-toolkit - virtual/cblas - virtual/fortran - virtual/lapack" -DEPEND="${RDEPEND} - virtual/pkgconfig - test? ( ${PYTHON_DEPS} )" - -# We have to have write acccess /dev/nvidia0 and /dev/nvidiactl and the portage -# user is (usually) not in the video group -RESTRICT="userpriv" - -pkg_setup() { - fortran-2_pkg_setup - use test && python-any-r1_pkg_setup -} - -src_prepare() { - # distributed pc file not so useful so replace it - cat <<-EOF > ${PN}.pc - prefix=${EPREFIX}/usr - libdir=\${prefix}/$(get_libdir) - includedir=\${prefix}/include/${PN} - Name: ${PN} - Description: ${DESCRIPTION} - Version: ${PV} - URL: ${HOMEPAGE} - Libs: -L\${libdir} -lmagma - Libs.private: -lm -lpthread -ldl -lcublas -lcudart - Cflags: -I\${includedir} - Requires: cblas lapack - EOF - - if [[ $(tc-getCC) =~ gcc ]]; then - local eopenmp=-fopenmp - elif [[ $(tc-getCC) =~ icc ]]; then - local eopenmp=-openmp - else - elog "Cannot detect compiler type so not setting openmp support" - fi - append-flags -fPIC ${eopenmp} - append-ldflags -Wl,-soname,lib${PN}.so.1.4 ${eopenmp} - - cuda_src_prepare -} - -src_configure() { - cat <<-EOF > make.inc - ARCH = $(tc-getAR) - ARCHFLAGS = cr - RANLIB = $(tc-getRANLIB) - NVCC = nvcc - CC = $(tc-getCXX) - FORT = $(tc-getFC) - INC = -I"${EPREFIX}/opt/cuda/include" -DADD_ -DCUBLAS_GFORTRAN - OPTS = ${CFLAGS} -fPIC - FOPTS = ${FFLAGS} -fPIC -x f95-cpp-input - F77OPTS = ${FFLAGS} -fPIC - NVOPTS = -DADD_ -DUNIX ${NVCCFLAGS} - LDOPTS = ${LDFLAGS} - LOADER = $(tc-getFC) - LIBBLAS = $($(tc-getPKG_CONFIG) --libs cblas) - LIBLAPACK = $($(tc-getPKG_CONFIG) --libs lapack) - CUDADIR = ${EPREFIX}/opt/cuda - LIBCUDA = -L\$(CUDADIR)/$(get_libdir) -lcublas -lcudart - LIB = -pthread -lm -ldl \$(LIBCUDA) \$(LIBBLAS) \$(LIBLAPACK) -lstdc++ - EOF - if use kepler; then - echo >> make.inc "GPU_TARGET = Kepler" - elif use fermi; then - echo >> make.inc "GPU_TARGET = Fermi" - else # See http://icl.cs.utk.edu/magma/forum/viewtopic.php?f=2&t=227 - echo >> make.inc "GPU_TARGET = Tesla" - fi -} - -src_compile() { - emake lib - emake shared - mv lib/lib${PN}.so{,.1.4} || die - ln -sf lib${PN}.so.1.4 lib/lib${PN}.so.1 || die - ln -sf lib${PN}.so.1.4 lib/lib${PN}.so || die -} - -src_test() { - emake test lapacktest - cd testing/lin || die - # we need to access this while running the tests - addwrite /dev/nvidiactl - addwrite /dev/nvidia0 - LD_LIBRARY_PATH="${S}"/lib ${EPYTHON} lapack_testing.py || die -} - -src_install() { - dolib.so lib/lib*$(get_libname)* - use static-libs && dolib.a lib/lib*.a - insinto /usr/include/${PN} - doins include/*.h - insinto /usr/$(get_libdir)/pkgconfig - doins ${PN}.pc - dodoc README ReleaseNotes -} |