Gentoo Archives: gentoo-commits

From: Aisha Tammy <gentoo@×××××.cc>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] proj/sci:master commit in: sci-libs/arrayfire/
Date: Fri, 25 Sep 2020 02:33:49
Message-Id: 1601000902.8341f9088a14e1d65b20a59c6386ba2e46675f22.epsilon-0@gentoo
1 commit: 8341f9088a14e1d65b20a59c6386ba2e46675f22
2 Author: Aisha Tammy <gentoo <AT> aisha <DOT> cc>
3 AuthorDate: Fri Sep 25 02:28:12 2020 +0000
4 Commit: Aisha Tammy <gentoo <AT> aisha <DOT> cc>
5 CommitDate: Fri Sep 25 02:28:22 2020 +0000
6 URL: https://gitweb.gentoo.org/proj/sci.git/commit/?id=8341f908
7
8 sci-libs/arrayfire: version bump to 3.7.2
9
10 Package-Manager: Portage-3.0.8, Repoman-3.0.1
11 Signed-off-by: Aisha Tammy <gentoo <AT> aisha.cc>
12
13 sci-libs/arrayfire/arrayfire-3.7.2.ebuild | 98 +++++++++++++++++++++++++++++++
14 sci-libs/arrayfire/metadata.xml | 40 +++++--------
15 2 files changed, 112 insertions(+), 26 deletions(-)
16
17 diff --git a/sci-libs/arrayfire/arrayfire-3.7.2.ebuild b/sci-libs/arrayfire/arrayfire-3.7.2.ebuild
18 new file mode 100644
19 index 000000000..2cc60ed29
20 --- /dev/null
21 +++ b/sci-libs/arrayfire/arrayfire-3.7.2.ebuild
22 @@ -0,0 +1,98 @@
23 +# Copyright 1999-2020 Gentoo Authors
24 +# Distributed under the terms of the GNU General Public License v2
25 +
26 +EAPI=7
27 +
28 +inherit cmake multilib
29 +CMAKE_BUILD_TYPE=Release
30 +
31 +DESCRIPTION="general purpose GPU library"
32 +HOMEPAGE="https://www.arrayfire.com/"
33 +SRC_URI="https://github.com/arrayfire/arrayfire/releases/download/v${PV}/${PN}-full-${PV}.tar.bz2 -> ${P}.tar.bz2"
34 +S="${WORKDIR}"/${PN}-full-${PV}
35 +BUILD_DIR="${S}/build"
36 +
37 +KEYWORDS="~amd64"
38 +
39 +LICENSE="BSD nonfree? ( OpenSIFT )"
40 +SLOT="0"
41 +IUSE="examples +cache cuda doc mkl nonfree opencl test +trace"
42 +RESTRICT="bindist mirror !test? ( test )"
43 +
44 +RDEPEND="
45 + media-libs/freeimage
46 + media-libs/glbinding
47 + >=media-libs/glfw-3.1
48 + ~sci-visualization/forge-1.0.5
49 + virtual/blas
50 + virtual/cblas
51 + virtual/lapacke
52 + sci-libs/fftw:3.0
53 + cuda? (
54 + >=dev-util/nvidia-cuda-toolkit-9.0.0
55 + dev-libs/boost
56 + )
57 + opencl? (
58 + >=dev-libs/boost-1.70.0
59 + >=sci-libs/clblas-2.4
60 + >=sci-libs/clfft-2.6.1
61 + virtual/opencl
62 + )
63 +"
64 +DEPEND="${RDEPEND}"
65 +BDEPEND="
66 + doc? ( app-doc/doxygen )
67 + virtual/pkgconfig
68 +"
69 +
70 +# We need write acccess /dev/nvidiactl, /dev/nvidia0 and /dev/nvidia-uvm and the portage
71 +# user is (usually) not in the video group
72 +RESTRICT="userpriv"
73 +
74 +src_unpack() {
75 + default
76 +
77 + if ! use nonfree; then
78 + find "${WORKDIR}" -name "*_nonfree*" -delete || die
79 + fi
80 +}
81 +
82 +src_configure() {
83 + if use cuda; then
84 + addwrite /dev/nvidiactl
85 + addwrite /dev/nvidia0
86 + addwrite /dev/nvidia-uvm
87 + fi
88 +
89 + # forge headers are needed, so submodule
90 + # has to stay, hence a ~ on forge dependency
91 + local mycmakeargs=(
92 + -DAF_BUILD_CPU=ON
93 + -DAF_BUILD_CUDA="$(usex cuda)"
94 + -DAF_BUILD_OPENCL="$(usex opencl)"
95 + -DAF_BUILD_UNIFIED=ON
96 + -DAF_BUILD_DOCS="$(usex doc)"
97 + -DAF_BUILD_EXAMPLES="$(usex examples)"
98 + -DAF_WITH_CUDNN="$(usex cuda)"
99 + -DAF_BUILD_FORGE=OFF
100 + -DAF_WITH_NONFREE="$(usex nonfree)"
101 + -DAF_WITH_LOGGING=ON
102 + -DAF_WITH_STACKTRACE="$(usex trace)"
103 + -DAF_CACHE_KERNELS_TO_DISK="$(usex cache)"
104 + -DAF_WITH_STATIC_MKL="$(usex mkl)"
105 + -DAF_INSTALL_STANDALONE=OFF
106 + -DAF_WITH_STATIC_FREEIMAGE=OFF
107 + -DAF_INSTALL_CMAKE_DIR=/usr/$(get_libdir)/cmake/ArrayFire
108 + )
109 + cmake_src_configure
110 +}
111 +
112 +src_install() {
113 + cmake_src_install
114 +
115 + dodoc -r "${ED}"/usr/LICENSES
116 + rm -r "${ED}"/usr/LICENSES || die
117 +
118 + dodir /usr/bin
119 + dobin "${BUILD_DIR}"/bin2cpp
120 +}
121
122 diff --git a/sci-libs/arrayfire/metadata.xml b/sci-libs/arrayfire/metadata.xml
123 index 9048a1aeb..a45aaf1e4 100644
124 --- a/sci-libs/arrayfire/metadata.xml
125 +++ b/sci-libs/arrayfire/metadata.xml
126 @@ -2,39 +2,27 @@
127 <!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
128 <pkgmetadata>
129 <maintainer type="person">
130 - <email>marbre@××××××××××××××.de</email>
131 - <name>Marius Brehler</name>
132 + <email>gentoo@×××××.cc</email>
133 + <name>Aisha Tammy</name>
134 </maintainer>
135 <maintainer type="project">
136 <email>sci@g.o</email>
137 <name>Gentoo Science Project</name>
138 </maintainer>
139 <longdescription>
140 -ArrayFire is a high performance software library for parallel
141 -computing with an easy-to-use API. Its array based function set
142 -makes parallel programming simple. ArrayFire's multiple backends
143 -(CUDA, OpenCL and native CPU) make it platform independent and
144 -highly portable.
145 -</longdescription>
146 + ArrayFire is a high performance software library for parallel
147 + computing with an easy-to-use API. Its array based function set
148 + makes parallel programming simple. ArrayFire's multiple backends
149 + (CUDA, OpenCL and native CPU) make it platform independent and
150 + highly portable.
151 + </longdescription>
152 <use>
153 - <flag name="cpu">
154 -Build CPU backend.
155 -</flag>
156 - <flag name="cuda">
157 -Build CUDA backend.
158 -</flag>
159 - <flag name="opencl">
160 -Build OpenCL backend.
161 -</flag>
162 - <flag name="nonfree">
163 -Build ArrayFire nonfree algorithms.
164 -</flag>
165 - <flag name="graphics">
166 -Build with Forge graphics.
167 -</flag>
168 - <flag name="unified">
169 -Build Backend-Independent API.
170 -</flag>
171 + <flag name="cache">cache kernals to disk.</flag>
172 + <flag name="cuda">Build CUDA backend.</flag>
173 + <flag name="mkl">Build against static MKL.</flag>
174 + <flag name="nonfree">build.</flag>
175 + <flag name="opencl">build OpenCL backend.</flag>
176 + <flag name="trace">enable additional traces during logging.</flag>
177 </use>
178 <upstream>
179 <remote-id type="github">google/googletest</remote-id>