commit:     052f2c8bff49e935e7850ba112742cc9cdf4a9b4
Author:     Alessandro Barbieri <lssndrbarbieri <AT> gmail <DOT> com>
AuthorDate: Wed May 12 14:58:24 2021 +0000
Commit:     Haelwenn Monnier <contact <AT> hacktivis <DOT> me>
CommitDate: Wed May 12 14:58:24 2021 +0000
URL:        https://gitweb.gentoo.org/repo/proj/guru.git/commit/?id=052f2c8b

dev-cpp/vexcl: improvements

someone practical with docs eclass should review
Signed-off-by: Alessandro Barbieri <lssndrbarbieri <AT> gmail.com>

 dev-cpp/vexcl/metadata.xml          |  9 +++++
 dev-cpp/vexcl/vexcl-1.4.2-r1.ebuild | 74 +++++++++++++++++++++++++++++++++++++
 dev-cpp/vexcl/vexcl-1.4.2.ebuild    | 30 ---------------
 3 files changed, 83 insertions(+), 30 deletions(-)

diff --git a/dev-cpp/vexcl/metadata.xml b/dev-cpp/vexcl/metadata.xml
index 7f91bd111..f9645efc3 100644
--- a/dev-cpp/vexcl/metadata.xml
+++ b/dev-cpp/vexcl/metadata.xml
@@ -14,4 +14,13 @@
                </maintainer>
                <remote-id type="github">ddemidov/vexcl</remote-id>
        </upstream>
+       <use>
+               <flag name="amdsi">Implement workaround for AMD SI GPUs</flag>
+               <flag name="clhpp">Install the OpenCL C++ header provided by 
VexCL</flag>
+               <!--<flag name="clogs">Use clogs algorithms</flag>-->
+               <flag name="compute">Use Boost.Compute algorithms</flag>
+               <!--<flag name="cuda">Use CUDA as backend</flag>-->
+               <flag name="jit">Use the JIT backend</flag>
+               <flag name="opencl">Use OpenCL as backend</flag>
+       </use>
 </pkgmetadata>

diff --git a/dev-cpp/vexcl/vexcl-1.4.2-r1.ebuild 
b/dev-cpp/vexcl/vexcl-1.4.2-r1.ebuild
new file mode 100644
index 000000000..4385b24d4
--- /dev/null
+++ b/dev-cpp/vexcl/vexcl-1.4.2-r1.ebuild
@@ -0,0 +1,74 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+#DOCS_AUTODOC=0
+DOCS_BUILDER="sphinx"
+DOCS_DEPEND="dev-python/sphinx-bootstrap-theme"
+DOCS_DIR="docs"
+PYTHON_COMPAT=( python3_{7..9} )
+
+inherit cmake python-any-r1 docs
+
+DESCRIPTION="VexCL - Vector expression template library for OpenCL"
+HOMEPAGE="https://github.com/ddemidov/vexcl";
+SRC_URI="https://github.com/ddemidov/vexcl/archive/refs/tags/${PV}.tar.gz -> 
${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE="amdsi clhpp compute examples jit +opencl test" #cuda clogs
+REQUIRED_USE="^^ ( compute jit opencl )" #cuda
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+       compute? ( dev-libs/boost:= )
+       jit? ( virtual/opencl )
+       opencl? ( virtual/opencl )
+"
+DEPEND="${RDEPEND}"
+
+src_prepare() {
+       default
+       sed -e "s|git_version()|${PV}|g" -i docs/conf.py || die
+       cmake_src_prepare
+}
+
+src_configure() {
+       local backend
+#      use  && backend="All"
+       use compute && backend="Compute"
+#      use cuda && backend="CUDA"
+       use jit && backend="JIT"
+       use opencl && backend="OpenCL"
+
+       local mycmakeargs=(
+               -DVEXCL_BUILD_EXAMPLES=OFF
+
+               -DVEXCL_AMD_SI_WORKAROUND=$(usex amdsi)
+               -DVEXCL_BACKEND="${backend}"
+               -DVEXCL_BUILD_TESTS=$(usex test)
+               -DVEXCL_INSTALL_CL_HPP=$(usex clhpp)
+       )
+#              -DVEXCL_CLOGS=$(usex clogs)
+
+       cmake_src_configure
+}
+
+src_compile() {
+       cmake_src_compile
+        docs_compile
+}
+
+src_install() {
+       cmake_src_install
+       if use doc; then
+               dodoc -r docs/html
+               docompress -x "/usr/share/doc/${P}/html"
+       fi
+       if use examples; then
+               dodoc -r examples
+               docompress -x "/usr/share/doc/${P}/examples"
+       fi
+}

diff --git a/dev-cpp/vexcl/vexcl-1.4.2.ebuild b/dev-cpp/vexcl/vexcl-1.4.2.ebuild
deleted file mode 100644
index 8190e38bb..000000000
--- a/dev-cpp/vexcl/vexcl-1.4.2.ebuild
+++ /dev/null
@@ -1,30 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit cmake
-
-DESCRIPTION="VexCL - Vector expression template library for OpenCL"
-HOMEPAGE="https://github.com/ddemidov/vexcl";
-SRC_URI="https://github.com/ddemidov/vexcl/archive/refs/tags/${PV}.tar.gz -> 
${P}.tar.gz"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64"
-#TODO: cuda doc test
-IUSE="examples"
-
-RDEPEND="
-       dev-libs/boost:=
-       virtual/opencl
-"
-DEPEND="${RDEPEND}"
-
-src_install() {
-       cmake_src_install
-       if use examples; then
-               dodoc -r examples
-               docompress -x "/usr/share/doc/${P}/examples"
-       fi
-}

Reply via email to