commit: 8341f9088a14e1d65b20a59c6386ba2e46675f22 Author: Aisha Tammy <gentoo <AT> aisha <DOT> cc> AuthorDate: Fri Sep 25 02:28:12 2020 +0000 Commit: Aisha Tammy <gentoo <AT> aisha <DOT> cc> CommitDate: Fri Sep 25 02:28:22 2020 +0000 URL: https://gitweb.gentoo.org/proj/sci.git/commit/?id=8341f908
sci-libs/arrayfire: version bump to 3.7.2 Package-Manager: Portage-3.0.8, Repoman-3.0.1 Signed-off-by: Aisha Tammy <gentoo <AT> aisha.cc> sci-libs/arrayfire/arrayfire-3.7.2.ebuild | 98 +++++++++++++++++++++++++++++++ sci-libs/arrayfire/metadata.xml | 40 +++++-------- 2 files changed, 112 insertions(+), 26 deletions(-) diff --git a/sci-libs/arrayfire/arrayfire-3.7.2.ebuild b/sci-libs/arrayfire/arrayfire-3.7.2.ebuild new file mode 100644 index 000000000..2cc60ed29 --- /dev/null +++ b/sci-libs/arrayfire/arrayfire-3.7.2.ebuild @@ -0,0 +1,98 @@ +# Copyright 1999-2020 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +inherit cmake multilib +CMAKE_BUILD_TYPE=Release + +DESCRIPTION="general purpose GPU library" +HOMEPAGE="https://www.arrayfire.com/" +SRC_URI="https://github.com/arrayfire/arrayfire/releases/download/v${PV}/${PN}-full-${PV}.tar.bz2 -> ${P}.tar.bz2" +S="${WORKDIR}"/${PN}-full-${PV} +BUILD_DIR="${S}/build" + +KEYWORDS="~amd64" + +LICENSE="BSD nonfree? ( OpenSIFT )" +SLOT="0" +IUSE="examples +cache cuda doc mkl nonfree opencl test +trace" +RESTRICT="bindist mirror !test? ( test )" + +RDEPEND=" + media-libs/freeimage + media-libs/glbinding + >=media-libs/glfw-3.1 + ~sci-visualization/forge-1.0.5 + virtual/blas + virtual/cblas + virtual/lapacke + sci-libs/fftw:3.0 + cuda? ( + >=dev-util/nvidia-cuda-toolkit-9.0.0 + dev-libs/boost + ) + opencl? ( + >=dev-libs/boost-1.70.0 + >=sci-libs/clblas-2.4 + >=sci-libs/clfft-2.6.1 + virtual/opencl + ) +" +DEPEND="${RDEPEND}" +BDEPEND=" + doc? ( app-doc/doxygen ) + virtual/pkgconfig +" + +# We need write acccess /dev/nvidiactl, /dev/nvidia0 and /dev/nvidia-uvm and the portage +# user is (usually) not in the video group +RESTRICT="userpriv" + +src_unpack() { + default + + if ! use nonfree; then + find "${WORKDIR}" -name "*_nonfree*" -delete || die + fi +} + +src_configure() { + if use cuda; then + addwrite /dev/nvidiactl + addwrite /dev/nvidia0 + addwrite /dev/nvidia-uvm + fi + + # forge headers are needed, so submodule + # has to stay, hence a ~ on forge dependency + local mycmakeargs=( + -DAF_BUILD_CPU=ON + -DAF_BUILD_CUDA="$(usex cuda)" + -DAF_BUILD_OPENCL="$(usex opencl)" + -DAF_BUILD_UNIFIED=ON + -DAF_BUILD_DOCS="$(usex doc)" + -DAF_BUILD_EXAMPLES="$(usex examples)" + -DAF_WITH_CUDNN="$(usex cuda)" + -DAF_BUILD_FORGE=OFF + -DAF_WITH_NONFREE="$(usex nonfree)" + -DAF_WITH_LOGGING=ON + -DAF_WITH_STACKTRACE="$(usex trace)" + -DAF_CACHE_KERNELS_TO_DISK="$(usex cache)" + -DAF_WITH_STATIC_MKL="$(usex mkl)" + -DAF_INSTALL_STANDALONE=OFF + -DAF_WITH_STATIC_FREEIMAGE=OFF + -DAF_INSTALL_CMAKE_DIR=/usr/$(get_libdir)/cmake/ArrayFire + ) + cmake_src_configure +} + +src_install() { + cmake_src_install + + dodoc -r "${ED}"/usr/LICENSES + rm -r "${ED}"/usr/LICENSES || die + + dodir /usr/bin + dobin "${BUILD_DIR}"/bin2cpp +} diff --git a/sci-libs/arrayfire/metadata.xml b/sci-libs/arrayfire/metadata.xml index 9048a1aeb..a45aaf1e4 100644 --- a/sci-libs/arrayfire/metadata.xml +++ b/sci-libs/arrayfire/metadata.xml @@ -2,39 +2,27 @@ <!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> <pkgmetadata> <maintainer type="person"> - <email>[email protected]</email> - <name>Marius Brehler</name> + <email>[email protected]</email> + <name>Aisha Tammy</name> </maintainer> <maintainer type="project"> <email>[email protected]</email> <name>Gentoo Science Project</name> </maintainer> <longdescription> -ArrayFire is a high performance software library for parallel -computing with an easy-to-use API. Its array based function set -makes parallel programming simple. ArrayFire's multiple backends -(CUDA, OpenCL and native CPU) make it platform independent and -highly portable. -</longdescription> + ArrayFire is a high performance software library for parallel + computing with an easy-to-use API. Its array based function set + makes parallel programming simple. ArrayFire's multiple backends + (CUDA, OpenCL and native CPU) make it platform independent and + highly portable. + </longdescription> <use> - <flag name="cpu"> -Build CPU backend. -</flag> - <flag name="cuda"> -Build CUDA backend. -</flag> - <flag name="opencl"> -Build OpenCL backend. -</flag> - <flag name="nonfree"> -Build ArrayFire nonfree algorithms. -</flag> - <flag name="graphics"> -Build with Forge graphics. -</flag> - <flag name="unified"> -Build Backend-Independent API. -</flag> + <flag name="cache">cache kernals to disk.</flag> + <flag name="cuda">Build CUDA backend.</flag> + <flag name="mkl">Build against static MKL.</flag> + <flag name="nonfree">build.</flag> + <flag name="opencl">build OpenCL backend.</flag> + <flag name="trace">enable additional traces during logging.</flag> </use> <upstream> <remote-id type="github">google/googletest</remote-id>
