Gentoo Archives: gentoo-commits

From: Guilherme Amadio <amadio@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/gentoo:master commit in: sci-physics/root/
Date: Thu, 27 Jun 2019 11:58:13
Message-Id: 1561636531.ef2cdd6a42af0cb72ad692a07baed6b9567dca0a.amadio@gentoo
1 commit: ef2cdd6a42af0cb72ad692a07baed6b9567dca0a
2 Author: Guilherme Amadio <amadio <AT> gentoo <DOT> org>
3 AuthorDate: Thu Jun 27 10:14:20 2019 +0000
4 Commit: Guilherme Amadio <amadio <AT> gentoo <DOT> org>
5 CommitDate: Thu Jun 27 11:55:31 2019 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=ef2cdd6a
7
8 sci-physics/root: version bump to 6.18.00
9
10 Package-Manager: Portage-2.3.67, Repoman-2.3.16
11 Signed-off-by: Guilherme Amadio <amadio <AT> gentoo.org>
12
13 sci-physics/root/Manifest | 1 +
14 sci-physics/root/metadata.xml | 1 +
15 sci-physics/root/root-6.18.00.ebuild | 299 +++++++++++++++++++++++++++++++++++
16 3 files changed, 301 insertions(+)
17
18 diff --git a/sci-physics/root/Manifest b/sci-physics/root/Manifest
19 index ba7896daa5b..15cf346718f 100644
20 --- a/sci-physics/root/Manifest
21 +++ b/sci-physics/root/Manifest
22 @@ -1,3 +1,4 @@
23 DIST root_v6.12.06.source.tar.gz 162284452 BLAKE2B 944b5e899677bab40842d7ec969ff08cfa470e63be9a02b948a49ae088e8da72ce433a5071d9196bfd98f71e6861b1bda285354012620eee6c61cffcee71a0c8 SHA512 3d44749ccfc3d40a2f516ae53ef40fb244ed785eee0dbc18ff822bbb811a15b943039d30282ef5358a283d485e62531880c877ec77a86089503b06d6f37e42e1
24 DIST root_v6.14.08.source.tar.gz 162474562 BLAKE2B f8bfdabb4d91bbdfbab0b17626fff1f8aa265292996d857025cbd1543306f3ec540a1afb080788bfc7149ea835932b59d7c54dcd802354e31294ba2e5e9d2366 SHA512 827e39efbf3c69429a0a256127ca9f87550d9084c34c715bddccbf87a8c111c367b9a0ac6882aac747c9b48f4a3effb3747b4df567429910c93ee64dfe35df5b
25 DIST root_v6.16.00.source.tar.gz 164836293 BLAKE2B 9d8f02631bdc1fa1775cbdaf50dd1feacd9b3c86b81d679ba6f0ca3c5787cd1d22ef7c33358b608361a01ad4f0aff3e8c749649d24773a35c52ce87f808d08f5 SHA512 17e5b9815973773e30ff83c2f4028e9e93691c1ecb824c162c8b3e02d1f6666fb8e0b72a5d0652a90032af146d92d271cbffcd634fb6fe6a63bdf46d672789bf
26 +DIST root_v6.18.00.source.tar.gz 165917160 BLAKE2B 8c83f4dc7a7af8f8627e7711792d09800d3b426ce9ca338aad3bc65c9c307723bd97ca84f0e1790fb844f80be80c8cea9e58c1a6b469880752439db21f7d34cd SHA512 abc4630b773f979e01e0ede7bee095fa3f0f8172218538b37e68230dfce6f0623f24a9567bd40cf1e72ccb4e3398cec858fdfd53ba246ca3615fefd9e5a0d0cd
27
28 diff --git a/sci-physics/root/metadata.xml b/sci-physics/root/metadata.xml
29 index 3c004c04055..f2ba440c8ce 100644
30 --- a/sci-physics/root/metadata.xml
31 +++ b/sci-physics/root/metadata.xml
32 @@ -44,6 +44,7 @@
33 <flag name="tmva">Built TMVA (ROOT's multi-variate analysis toolkit for machine learning)</flag>
34 <flag name="unuran">Enable support for <pkg>sci-mathematics/unuran</pkg></flag>
35 <flag name="vc">Enable support for <pkg>dev-libs/vc</pkg> with VecCore</flag>
36 + <flag name="vmc">Built the Virtual Monte Carlo library</flag>
37 <flag name="xrootd">Build the interface for <pkg>net-libs/xrootd</pkg> </flag>
38 </use>
39 </pkgmetadata>
40
41 diff --git a/sci-physics/root/root-6.18.00.ebuild b/sci-physics/root/root-6.18.00.ebuild
42 new file mode 100644
43 index 00000000000..24f874e28af
44 --- /dev/null
45 +++ b/sci-physics/root/root-6.18.00.ebuild
46 @@ -0,0 +1,299 @@
47 +# Copyright 1999-2019 Gentoo Authors
48 +# Distributed under the terms of the GNU General Public License v2
49 +
50 +EAPI=6
51 +
52 +CMAKE_BUILD_TYPE=Release
53 +# ninja does not work due to fortran
54 +CMAKE_MAKEFILE_GENERATOR=emake
55 +FORTRAN_NEEDED="fortran"
56 +PYTHON_COMPAT=( python2_7 python3_{5,6,7} )
57 +
58 +inherit cmake-utils cuda eapi7-ver elisp-common eutils fortran-2 \
59 + llvm prefix python-single-r1 toolchain-funcs
60 +
61 +DESCRIPTION="C++ data analysis framework and interpreter from CERN"
62 +HOMEPAGE="https://root.cern"
63 +SRC_URI="https://root.cern/download/${PN}_v${PV}.source.tar.gz"
64 +
65 +IUSE="+X aqua +asimage +c++11 c++14 c++17 cuda +davix emacs +examples
66 + fits fftw fortran +gdml graphviz +gsl http jemalloc libcxx memstat
67 + +minuit mysql odbc +opengl oracle postgres prefix pythia6 pythia8
68 + +python qt5 R +roofit root7 shadow sqlite +ssl +tbb test +threads
69 + +tiff +tmva +unuran vc +vmc +xml xrootd"
70 +
71 +SLOT="$(ver_cut 1-2)/$(ver_cut 3)"
72 +LICENSE="LGPL-2.1 freedist MSttfEULA LGPL-3 libpng UoI-NCSA"
73 +KEYWORDS="~amd64 ~x86"
74 +
75 +REQUIRED_USE="
76 + ^^ ( c++11 c++14 c++17 )
77 + cuda? ( tmva !c++17 )
78 + !X? ( !asimage !opengl !qt5 !tiff )
79 + davix? ( ssl xml )
80 + python? ( ${PYTHON_REQUIRED_USE} )
81 + qt5? ( root7 )
82 + root7? ( || ( c++14 c++17 ) )
83 + tmva? ( gsl )
84 +"
85 +
86 +CDEPEND="
87 + app-arch/lz4
88 + app-arch/xz-utils
89 + fortran? ( dev-lang/cfortran )
90 + dev-libs/libpcre:3
91 + dev-libs/xxhash
92 + media-fonts/dejavu
93 + media-libs/freetype:2
94 + media-libs/libpng:0=
95 + sys-devel/llvm:5=
96 + sys-libs/ncurses:=
97 + sys-libs/zlib
98 + X? (
99 + x11-libs/libX11:0
100 + x11-libs/libXext:0
101 + x11-libs/libXft:0
102 + x11-libs/libXpm:0
103 + opengl? (
104 + media-libs/ftgl:0=
105 + media-libs/glew:0=
106 + virtual/opengl
107 + virtual/glu
108 + x11-libs/gl2ps:0=
109 + )
110 + qt5? (
111 + dev-qt/qtcore:5
112 + dev-qt/qtgui:5
113 + dev-qt/qtwebengine:5[widgets]
114 + )
115 + )
116 + asimage? ( media-libs/libafterimage[gif,jpeg,png,tiff?] )
117 + cuda? ( >=dev-util/nvidia-cuda-toolkit-9.0 )
118 + davix? ( net-libs/davix )
119 + emacs? ( virtual/emacs )
120 + fftw? ( sci-libs/fftw:3.0= )
121 + fits? ( sci-libs/cfitsio:0= )
122 + graphviz? ( media-gfx/graphviz )
123 + gsl? ( sci-libs/gsl:= )
124 + http? ( dev-libs/fcgi:0= )
125 + jemalloc? ( dev-libs/jemalloc )
126 + libcxx? ( sys-libs/libcxx )
127 + unuran? ( sci-mathematics/unuran:0= )
128 + minuit? ( !sci-libs/minuit )
129 + mysql? ( dev-db/mysql-connector-c )
130 + odbc? ( || ( dev-db/libiodbc dev-db/unixODBC ) )
131 + oracle? ( dev-db/oracle-instantclient-basic )
132 + postgres? ( dev-db/postgresql:= )
133 + pythia6? ( sci-physics/pythia:6 )
134 + pythia8? ( sci-physics/pythia:8 )
135 + python? ( ${PYTHON_DEPS} )
136 + R? ( dev-lang/R )
137 + shadow? ( virtual/shadow )
138 + sqlite? ( dev-db/sqlite:3 )
139 + ssl? ( dev-libs/openssl:0= )
140 + tbb? ( >=dev-cpp/tbb-2018 )
141 + tmva? ( dev-python/numpy[${PYTHON_USEDEP}] )
142 + vc? ( dev-libs/vc:= )
143 + xml? ( dev-libs/libxml2:2= )
144 + xrootd? ( net-libs/xrootd:0= )
145 +"
146 +
147 +DEPEND="${CDEPEND}
148 + virtual/pkgconfig"
149 +
150 +RDEPEND="${CDEPEND}"
151 +
152 +PATCHES=(
153 + "${FILESDIR}"/${PN}-6.12.06_cling-runtime-sysroot.patch
154 +)
155 +
156 +pkg_setup() {
157 + LLVM_MAX_SLOT=5 llvm_pkg_setup
158 +
159 + use fortran && fortran-2_pkg_setup
160 + use python && python-single-r1_pkg_setup
161 +
162 + elog "There are extra options on packages not available in Gentoo."
163 + elog "You can use the environment variable EXTRA_ECONF to enable"
164 + elog "these packages. For example, for Vdt you would set:"
165 + elog "EXTRA_ECONF=\"-Dbuiltin_vdt=ON -Dvdt=ON\""
166 +}
167 +
168 +src_prepare() {
169 + cmake-utils_src_prepare
170 +
171 + sed -i "/CLING_BUILD_PLUGINS/d" interpreter/CMakeLists.txt || die
172 +
173 + # CSS should use local images
174 + sed -i -e 's,http://.*/,,' etc/html/ROOT.css || die "html sed failed"
175 +
176 + hprefixify core/clingutils/CMakeLists.txt
177 +}
178 +
179 +# Note: ROOT uses bundled clang because it is patched and API-incompatible
180 +# with vanilla clang. The patches enable the C++ interpreter to work.
181 +# Since ROOT installs many files into /etc (>100MB in total) that don't
182 +# really belong there, we install it into another directory to avoid
183 +# making /etc too big.
184 +
185 +src_configure() {
186 + local mycmakeargs=(
187 + -DCMAKE_C_FLAGS="${CFLAGS}"
188 + -DCMAKE_CXX_FLAGS="${CXXFLAGS}"
189 + -DCMAKE_CXX_STANDARD=$(usev c++11 || usev c++14 || usev c++17 | cut -c4-)
190 + -DPYTHON_EXECUTABLE="${PYTHON}"
191 + -DLLVM_CONFIG="$(type -P "${CHOST}-llvm-config")"
192 + -DCMAKE_INSTALL_PREFIX="${EPREFIX%/}/usr/lib/${PN}/$(ver_cut 1-2)"
193 + -DCMAKE_INSTALL_MANDIR="${EPREFIX%/}/usr/lib/${PN}/$(ver_cut 1-2)/share/man"
194 + -DCMAKE_INSTALL_LIBDIR="lib"
195 + -DDEFAULT_SYSROOT="${EPREFIX}"
196 + -DCLING_BUILD_PLUGINS=OFF
197 + -Dexplicitlink=ON
198 + -Dexceptions=ON
199 + -Dfail-on-missing=ON
200 + -Dgnuinstall=OFF
201 + -Dshared=ON
202 + -Dsoversion=ON
203 + -Dbuiltin_llvm=OFF
204 + -Dbuiltin_clang=ON
205 + -Dbuiltin_afterimage=OFF
206 + -Dbuiltin_cfitsio=OFF
207 + -Dbuiltin_davix=OFF
208 + -Dbuiltin_fftw3=OFF
209 + -Dbuiltin_freetype=OFF
210 + -Dbuiltin_ftgl=OFF
211 + -Dbuiltin_gl2ps=OFF
212 + -Dbuiltin_glew=OFF
213 + -Dbuiltin_gsl=OFF
214 + -Dbuiltin_lz4=OFF
215 + -Dbuiltin_lzma=OFF
216 + -Dbuiltin_openssl=OFF
217 + -Dbuiltin_pcre=OFF
218 + -Dbuiltin_tbb=OFF
219 + -Dbuiltin_unuran=OFF
220 + -Dbuiltin_vc=OFF
221 + -Dbuiltin_vdt=OFF
222 + -Dbuiltin_veccore=OFF
223 + -Dbuiltin_xrootd=OFF
224 + -Dbuiltin_xxhash=OFF
225 + -Dbuiltin_zlib=OFF
226 + -Dx11=$(usex X)
227 + -Dxft=$(usex X)
228 + -Dalien=OFF
229 + -Darrow=OFF
230 + -Dasimage=$(usex asimage)
231 + -Dastiff=$(usex tiff)
232 + -Dlibcxx=$(usex libcxx)
233 + -Dccache=OFF # use ccache via portage
234 + -Dcefweb=OFF
235 + -Dchirp=OFF
236 + -Dclad=OFF
237 + -Dcling=ON # cling=OFF is broken
238 + -Dcocoa=$(usex aqua)
239 + -Dcuda=$(usex cuda)
240 + -Dcxxmodules=OFF # requires clang, unstable
241 + -Ddavix=$(usex davix)
242 + -Ddcache=OFF
243 + -Dfftw3=$(usex fftw)
244 + -Dfitsio=$(usex fits)
245 + -Dfortran=$(usex fortran)
246 + -Dftgl=$(usex opengl)
247 + -Dgdml=$(usex gdml)
248 + -Dgenvector=ON # genvector=OFF ignored
249 + -Dgeocad=OFF
250 + -Dgfal=OFF
251 + -Dgl2ps=$(usex opengl)
252 + -Dgminimal=OFF
253 + -Dgsl_shared=$(usex gsl)
254 + -Dgviz=$(usex graphviz)
255 + -Dhttp=$(usex http)
256 + -Dimt=$(usex tbb)
257 + -Djemalloc=$(usex jemalloc)
258 + -Dmathmore=$(usex gsl)
259 + -Dmemstat=$(usex memstat)
260 + -Dminimal=OFF
261 + -Dminuit2=$(usex minuit)
262 + -Dminuit=$(usex minuit)
263 + -Dmonalisa=OFF
264 + -Dmysql=$(usex mysql)
265 + -Dodbc=$(usex odbc)
266 + -Dopengl=$(usex opengl)
267 + -Doracle=$(usex oracle)
268 + -Dpch=ON # pch=OFF is broken
269 + -Dpgsql=$(usex postgres)
270 + -Dpythia6=$(usex pythia6)
271 + -Dpythia8=$(usex pythia8)
272 + -Dpython=$(usex python)
273 + -Dqt5web=$(usex qt5)
274 + -Droofit=$(usex roofit)
275 + -Droot7=$(usex root7)
276 + -Drootbench=OFF
277 + -Droottest=OFF
278 + -Drpath=OFF
279 + -Druntime_cxxmodules=OFF # does not work yet
280 + -Dr=$(usex R)
281 + -Dshadowpw=$(usex shadow)
282 + -Dsqlite=$(usex sqlite)
283 + -Dssl=$(usex ssl)
284 + -Dtcmalloc=OFF
285 + -Dtesting=$(usex test)
286 + -Dthread=$(usex threads)
287 + -Dtmva=$(usex tmva)
288 + -Dtmva-cpu=$(usex tmva)
289 + -Dtmva-gpu=$(usex cuda)
290 + -Dunuran=$(usex unuran)
291 + -Dvc=$(usex vc)
292 + -Dvmc=$(usex vmc)
293 + -Dvdt=OFF
294 + -Dveccore=OFF
295 + -Dxml=$(usex xml)
296 + -Dxrootd=$(usex xrootd)
297 + ${EXTRA_ECONF}
298 + )
299 +
300 + cmake-utils_src_configure
301 +}
302 +
303 +src_compile() {
304 + # needed for hsimple.root
305 + addwrite /dev/random
306 + cmake-utils_src_compile
307 +}
308 +
309 +src_install() {
310 + cmake-utils_src_install
311 +
312 + ROOTSYS=${EPREFIX%/}/usr/lib/${PN}/$(ver_cut 1-2)
313 + ROOTENV=$((9999 - $(ver_cut 2)))${PN}-$(ver_cut 1-2)
314 +
315 + cat > ${ROOTENV} <<- EOF || die
316 + MANPATH="${ROOTSYS}/share/man"
317 + PATH="${ROOTSYS}/bin"
318 + ROOTPATH="${ROOTSYS}/bin"
319 + LDPATH="${ROOTSYS}/lib"
320 + EOF
321 +
322 + if use python; then
323 + echo "PYTHONPATH=\"${ROOTSYS}/lib\"" >> ${ROOTENV} || die
324 + fi
325 +
326 + doenvd ${ROOTENV}
327 +
328 + if use emacs; then
329 + elisp-install ${PN}-$(ver_cut 1-2) "${BUILD_DIR}"/root-help.el
330 + fi
331 +
332 + pushd "${D}/${ROOTSYS}" > /dev/null
333 +
334 + rm -r emacs bin/*.{csh,sh,fish} || die
335 +
336 + if ! use examples; then
337 + rm -r tutorials || die
338 + fi
339 +
340 + # create versioned symlinks for binaries
341 + cd bin;
342 + for exe in *; do
343 + dosym "${exe}" "/usr/lib/${PN}/$(ver_cut 1-2)/bin/${exe}-$(ver_cut 1-2)"
344 + done
345 +}