sci-libs/clblast: initial import
authorSébastien Fabbro <bicatali@gentoo.org>
Wed, 4 Jan 2017 04:45:16 +0000 (04:45 +0000)
committerSébastien Fabbro <bicatali@gentoo.org>
Wed, 4 Jan 2017 06:02:04 +0000 (06:02 +0000)
Package-Manager: Portage-2.3.3, Repoman-2.3.1

sci-libs/clblast/Manifest [new file with mode: 0644]
sci-libs/clblast/clblast-0.10.0.ebuild [new file with mode: 0644]
sci-libs/clblast/metadata.xml [new file with mode: 0644]

diff --git a/sci-libs/clblast/Manifest b/sci-libs/clblast/Manifest
new file mode 100644 (file)
index 0000000..b4fd58c
--- /dev/null
@@ -0,0 +1 @@
+DIST clblast-0.10.0.tar.gz 508763 SHA256 29914462155dba3f5e4f858f6b36601eb77880e4c04bb7ade48e30afb9bf729b SHA512 da1fc659dd470c02c25be0a009b7f5e2333bc590715ac6b90e09e57a25d764479d7e4ecf398f17d0ac0e6bb2eaf24c09082c7f047fb7b3044f4a987e294494ee WHIRLPOOL 115687fae11cb7586993d0f336bf60644ec3ed8eb3566c8e28921779ee7cf66617259f85cb612638ed888391c7d49209f409dbb0dc4b51aa210388a7c42f3dce
diff --git a/sci-libs/clblast/clblast-0.10.0.ebuild b/sci-libs/clblast/clblast-0.10.0.ebuild
new file mode 100644 (file)
index 0000000..fdd45d8
--- /dev/null
@@ -0,0 +1,68 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=6
+
+inherit cmake-utils toolchain-funcs
+
+MYPN="CLBlast"
+
+DESCRIPTION="Tuned OpenCL BLAS"
+HOMEPAGE="https://github.com/CNugteren/CLBlast"
+SRC_URI="https://github.com/CNugteren/${MYPN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="client doc examples test"
+
+RDEPEND="virtual/opencl"
+DEPEND="${RDEPEND}
+       test? (
+         virtual/cblas
+         virtual/pkgconfig
+       )
+"
+S="${WORKDIR}/${MYPN}-${PV}"
+
+src_prepare() {
+       # no forced optimisation, libdir
+       sed -e 's/-O3//g' \
+               -e 's/DESTINATION lib/DESTINATION ${CMAKE_INSTALL_LIBDIR}/g' \
+               -i CMakeLists.txt || die
+       cmake-utils_src_prepare
+}
+
+src_configure() {
+       mycmakeargs+=(
+               -DBUILD_SHARED_LIBS=ON
+               -DSAMPLES=OFF
+               -DCLIENTS="$(usex client)"
+               -DTESTS="$(usex test)"
+       )
+       if use test || use client; then
+               mycmakeargs+=(
+                       -DNETLIB=ON
+                       -DCBLAS_INCLUDE_DIRS="$($(tc-getPKG_CONFIG) --cflags-only-I cblas| awk '{print $1}' | sed 's/-I//')"
+                       -DCBLAS_LIBRARIES="$($(tc-getPKG_CONFIG) --libs cblas)"
+                       -DREF_LIBRARIES="$($(tc-getPKG_CONFIG) --libs cblas)"
+               )
+       fi
+       cmake-utils_src_configure
+}
+
+src_test() {
+       cmake-utils_src_test alltests
+}
+
+src_install(){
+       cmake-utils_src_install
+       dodoc README.md CONTRIBUTING.md CHANGELOG
+       use doc && dodoc -r doc
+       if use examples; then
+               insinto /usr/share/doc/${PF}/examples
+               doins -r samples/*
+               docompress -x /usr/share/doc/${PF}/examples
+       fi
+}
diff --git a/sci-libs/clblast/metadata.xml b/sci-libs/clblast/metadata.xml
new file mode 100644 (file)
index 0000000..d5ff3a6
--- /dev/null
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+  <maintainer type="project">
+    <email>sci@gentoo.org</email>
+    <name>Gentoo Science Project</name>
+  </maintainer>
+  <longdescription>
+    CLBlast is a modern, lightweight, performant and tunable OpenCL
+    BLAS library written in C++11. It is designed to leverage the full
+    performance potential of a wide variety of OpenCL devices from
+    different vendors, including desktop and laptop GPUs, embedded
+    GPUs, and other accelerators. CLBlast implements BLAS routines:
+    basic linear algebra subprograms operating on vectors and
+    matrices.
+  </longdescription>
+  <use>
+    <flag name="client">
+      Enable compilation of the clients to test and compare performance with reference libraries
+    </flag>
+  </use>
+  <upstream>
+    <remote-id type="github">CNugteren/CLBlast</remote-id>
+  </upstream>
+</pkgmetadata>