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: Wed, 12 Dec 2018 07:12:27
Message-Id: 1544598661.86d74763869855375cf01782bc78d5f4dc3fef72.amadio@gentoo
1 commit: 86d74763869855375cf01782bc78d5f4dc3fef72
2 Author: Guilherme Amadio <amadio <AT> gentoo <DOT> org>
3 AuthorDate: Tue Dec 11 12:28:30 2018 +0000
4 Commit: Guilherme Amadio <amadio <AT> gentoo <DOT> org>
5 CommitDate: Wed Dec 12 07:11:01 2018 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=86d74763
7
8 sci-physics/root: keep a few more old versions
9
10 Bug: https://bugs.gentoo.org/671810
11 Package-Manager: Portage-2.3.52, Repoman-2.3.12
12 Signed-off-by: Guilherme Amadio <amadio <AT> gentoo.org>
13
14 sci-physics/root/Manifest | 2 +
15 sci-physics/root/root-6.12.06-r8.ebuild | 313 +++++++++++++++++++++++++++++++
16 sci-physics/root/root-6.14.06-r2.ebuild | 323 ++++++++++++++++++++++++++++++++
17 3 files changed, 638 insertions(+)
18
19 diff --git a/sci-physics/root/Manifest b/sci-physics/root/Manifest
20 index f50abbe78bc..0c29d7f76c8 100644
21 --- a/sci-physics/root/Manifest
22 +++ b/sci-physics/root/Manifest
23 @@ -1 +1,3 @@
24 +DIST root_v6.12.06.source.tar.gz 162284452 BLAKE2B 944b5e899677bab40842d7ec969ff08cfa470e63be9a02b948a49ae088e8da72ce433a5071d9196bfd98f71e6861b1bda285354012620eee6c61cffcee71a0c8 SHA512 3d44749ccfc3d40a2f516ae53ef40fb244ed785eee0dbc18ff822bbb811a15b943039d30282ef5358a283d485e62531880c877ec77a86089503b06d6f37e42e1
25 +DIST root_v6.14.06.source.tar.gz 162462837 BLAKE2B a6904b67d1f5964768fa884bd2b5c648390d0b3626b5be8f39ff0e311bf14690d2aff7eb9d6047fa8d5a9de894935067ea8c033592b9795fc34b61aa5f65fcdb SHA512 83698e1213ae9bd4a87ef3160b459c962199585bed7378efc0cfefdc352e6651a17286a11cd925dbcb5d04e1b832d47a3a69849d048731ea9d0d84f9b0f996a4
26 DIST root_v6.14.08.source.tar.gz 162474562 BLAKE2B f8bfdabb4d91bbdfbab0b17626fff1f8aa265292996d857025cbd1543306f3ec540a1afb080788bfc7149ea835932b59d7c54dcd802354e31294ba2e5e9d2366 SHA512 827e39efbf3c69429a0a256127ca9f87550d9084c34c715bddccbf87a8c111c367b9a0ac6882aac747c9b48f4a3effb3747b4df567429910c93ee64dfe35df5b
27
28 diff --git a/sci-physics/root/root-6.12.06-r8.ebuild b/sci-physics/root/root-6.12.06-r8.ebuild
29 new file mode 100644
30 index 00000000000..8431934ba7a
31 --- /dev/null
32 +++ b/sci-physics/root/root-6.12.06-r8.ebuild
33 @@ -0,0 +1,313 @@
34 +# Copyright 1999-2018 Gentoo Authors
35 +# Distributed under the terms of the GNU General Public License v2
36 +
37 +EAPI=6
38 +
39 +CMAKE_BUILD_TYPE=Release
40 +# ninja does not work due to fortran
41 +CMAKE_MAKEFILE_GENERATOR=emake
42 +FORTRAN_NEEDED="fortran"
43 +PYTHON_COMPAT=( python2_7 python3_{4,5,6} )
44 +
45 +inherit cmake-utils eapi7-ver elisp-common eutils fortran-2 \
46 + prefix python-single-r1 toolchain-funcs
47 +
48 +DESCRIPTION="C++ data analysis framework and interpreter from CERN"
49 +HOMEPAGE="https://root.cern"
50 +SRC_URI="https://root.cern/download/${PN}_v${PV}.source.tar.gz"
51 +
52 +IUSE="+X aqua +asimage +davix emacs +examples fits fftw fortran
53 + +gdml graphviz +gsl http jemalloc kerberos ldap libcxx memstat
54 + +minuit mysql odbc +opengl oracle postgres prefix pythia6 pythia8
55 + +python qt5 R +roofit root7 shadow sqlite +ssl table +tbb test
56 + +threads +tiff +tmva +unuran vc xinetd +xml xrootd zeroconf"
57 +
58 +SLOT="$(ver_cut 1-2)/$(ver_cut 3)"
59 +LICENSE="LGPL-2.1 freedist MSttfEULA LGPL-3 libpng UoI-NCSA"
60 +KEYWORDS="~amd64 ~x86"
61 +
62 +REQUIRED_USE="
63 + !X? ( !asimage !opengl !qt5 !tiff )
64 + davix? ( ssl xml )
65 + python? ( ${PYTHON_REQUIRED_USE} )
66 + qt5? ( root7 )
67 + tmva? ( gsl )
68 +"
69 +
70 +CDEPEND="
71 + app-arch/lz4
72 + app-arch/xz-utils
73 + fortran? ( dev-lang/cfortran )
74 + dev-libs/libpcre:3=
75 + dev-libs/xxhash
76 + media-fonts/dejavu
77 + media-libs/freetype:2=
78 + media-libs/libpng:0=
79 + sys-libs/ncurses:=
80 + sys-libs/zlib
81 + X? (
82 + x11-libs/libX11:0=
83 + x11-libs/libXext:0=
84 + x11-libs/libXft:0=
85 + x11-libs/libXpm:0=
86 + opengl? (
87 + media-libs/ftgl:0=
88 + media-libs/glew:0=
89 + virtual/opengl
90 + virtual/glu
91 + x11-libs/gl2ps:0=
92 + )
93 + qt5? (
94 + dev-qt/qtcore:5=
95 + dev-qt/qtgui:5=
96 + dev-qt/qtwebengine:5=
97 + )
98 + )
99 + asimage? ( || (
100 + media-libs/libafterimage[gif,jpeg,png,tiff?]
101 + >=x11-wm/afterstep-2.2.11[gif,jpeg,png,tiff?]
102 + ) )
103 + zeroconf? ( net-dns/avahi[mdnsresponder-compat] )
104 + davix? ( net-libs/davix )
105 + emacs? ( virtual/emacs )
106 + fftw? ( sci-libs/fftw:3.0= )
107 + fits? ( sci-libs/cfitsio:0= )
108 + graphviz? ( media-gfx/graphviz:0= )
109 + gsl? ( sci-libs/gsl )
110 + http? ( dev-libs/fcgi:0= )
111 + jemalloc? ( dev-libs/jemalloc )
112 + kerberos? ( virtual/krb5 )
113 + ldap? ( net-nds/openldap:0= )
114 + libcxx? ( sys-libs/libcxx )
115 + unuran? ( sci-mathematics/unuran:0= )
116 + minuit? ( !sci-libs/minuit )
117 + mysql? ( dev-db/mysql-connector-c )
118 + odbc? ( || ( dev-db/libiodbc dev-db/unixODBC ) )
119 + oracle? ( dev-db/oracle-instantclient-basic )
120 + postgres? ( dev-db/postgresql:= )
121 + pythia6? ( sci-physics/pythia:6= )
122 + pythia8? ( sci-physics/pythia:8= )
123 + python? ( ${PYTHON_DEPS} )
124 + R? ( dev-lang/R )
125 + shadow? ( virtual/shadow )
126 + sqlite? ( dev-db/sqlite:3 )
127 + ssl? ( dev-libs/openssl:0= )
128 + tbb? ( dev-cpp/tbb )
129 + tmva? ( dev-python/numpy[${PYTHON_USEDEP}] )
130 + vc? ( dev-libs/vc )
131 + xml? ( dev-libs/libxml2:2= )
132 + xrootd? ( net-libs/xrootd:0= )
133 +"
134 +
135 +DEPEND="${CDEPEND}
136 + virtual/pkgconfig"
137 +
138 +RDEPEND="${CDEPEND}
139 + xinetd? ( sys-apps/xinetd )"
140 +
141 +PATCHES=(
142 + "${FILESDIR}"/${PN}-6.11.02-hsimple.patch
143 + "${FILESDIR}"/${PN}-6.12.04-no-ocaml.patch
144 + "${FILESDIR}"/${PN}-6.12.04-no-opengl.patch
145 + "${FILESDIR}"/${PN}-6.12.04-z3.patch
146 + "${FILESDIR}"/${PN}-6.12.06_cling-runtime-sysroot.patch
147 + "${FILESDIR}"/${PN}-6.14.06-oracle.patch
148 +)
149 +
150 +pkg_setup() {
151 + use fortran && fortran-2_pkg_setup
152 + use python && python-single-r1_pkg_setup
153 +
154 + echo
155 + elog "There are extra options on packages not yet in Gentoo:"
156 + elog "Afdsmgrd, AliEn, castor, Chirp, dCache, gfal, Globus, gLite,"
157 + elog "HDFS, Monalisa, MaxDB/SapDB, SRP, VecCore."
158 + elog "You can use the env variable EXTRA_ECONF variable for this."
159 + elog "For example, for Chirp, you would set: "
160 + elog "EXTRA_ECONF=\"-Dchirp=ON\""
161 + echo
162 +}
163 +
164 +src_prepare() {
165 + cmake-utils_src_prepare
166 +
167 + sed -i "/CLING_BUILD_PLUGINS/d" interpreter/CMakeLists.txt || die
168 +
169 + # CSS should use local images
170 + sed -i -e 's,http://.*/,,' etc/html/ROOT.css || die "html sed failed"
171 +}
172 +
173 +# Note: ROOT uses bundled clang because it is patched and API-incompatible
174 +# with vanilla clang. The patches enable the C++ interpreter to work.
175 +# Since ROOT installs many small files into /etc (~100MB in total),
176 +# we install it into another directory to avoid making /etc too big.
177 +
178 +src_configure() {
179 + local mycmakeargs=(
180 + -DCMAKE_C_FLAGS="${CFLAGS}"
181 + -DCMAKE_CXX_FLAGS="${CXXFLAGS}"
182 + -DCMAKE_INSTALL_PREFIX="${EPREFIX%/}/usr/$(get_libdir)/${PN}/$(ver_cut 1-2)"
183 + -DCMAKE_INSTALL_MANDIR="${EPREFIX%/}/usr/$(get_libdir)/${PN}/$(ver_cut 1-2)/share/man"
184 + -DMCAKE_INSTALL_LIBDIR=$(get_libdir)
185 + -DDEFAULT_SYSROOT="${EPREFIX}"
186 + -Dexplicitlink=ON
187 + -Dexceptions=ON
188 + -Dfail-on-missing=ON
189 + -Dshared=ON
190 + -Dsoversion=ON
191 + -Dbuiltin_llvm=ON
192 + -Dbuiltin_afterimage=OFF
193 + -Dbuiltin_cfitsio=OFF
194 + -Dbuiltin_davix=OFF
195 + -Dbuiltin_fftw3=OFF
196 + -Dbuiltin_freetype=OFF
197 + -Dbuiltin_ftgl=OFF
198 + -Dbuiltin_gl2ps=OFF
199 + -Dbuiltin_glew=OFF
200 + -Dbuiltin_gsl=OFF
201 + -Dbuiltin_lz4=OFF
202 + -Dbuiltin_lzma=OFF
203 + -Dbuiltin_openssl=OFF
204 + -Dbuiltin_pcre=OFF
205 + -Dbuiltin_tbb=OFF
206 + -Dbuiltin_unuran=OFF
207 + -Dbuiltin_vc=OFF
208 + -Dbuiltin_vdt=OFF
209 + -Dbuiltin_veccore=OFF
210 + -Dbuiltin_xrootd=OFF
211 + -Dbuiltin_xxhash=OFF
212 + -Dbuiltin_zlib=OFF
213 + -Dx11=$(usex X)
214 + -Dxft=$(usex X)
215 + -Dafdsmgrd=OFF
216 + -Dafs=OFF # not implemented
217 + -Dalien=OFF
218 + -Dasimage=$(usex asimage)
219 + -Dastiff=$(usex tiff)
220 + -Dbonjour=$(usex zeroconf)
221 + -Dlibcxx=$(usex libcxx)
222 + -Dccache=OFF # use ccache via portage
223 + -Dcastor=OFF
224 + -Dchirp=OFF
225 + -Dcling=ON # cling=OFF is broken
226 + -Dcocoa=$(usex aqua)
227 + -Dcxx14=$(usex root7)
228 + -Dcxxmodules=OFF # requires clang, unstable
229 + -Ddavix=$(usex davix)
230 + -Ddcache=OFF
231 + -Dfftw3=$(usex fftw)
232 + -Dfitsio=$(usex fits)
233 + -Dfortran=$(usex fortran)
234 + -Dftgl=$(usex opengl)
235 + -Dgdml=$(usex gdml)
236 + -Dgenvector=ON # genvector=OFF ignored
237 + -Dgeocad=OFF
238 + -Dgfal=OFF
239 + -Dgl2ps=$(usex opengl)
240 + -Dglite=OFF # not implemented
241 + -Dglobus=OFF
242 + -Dgminimal=OFF
243 + -Dgnuinstall=OFF
244 + -Dgsl_shared=$(usex gsl)
245 + -Dgviz=$(usex graphviz)
246 + -Dhdfs=OFF
247 + -Dhttp=$(usex http)
248 + -Dimt=$(usex tbb)
249 + -Djemalloc=$(usex jemalloc)
250 + -Dkrb5=$(usex kerberos)
251 + -Dldap=$(usex ldap)
252 + -Dmathmore=$(usex gsl)
253 + -Dmemstat=$(usex memstat)
254 + -Dminimal=OFF
255 + -Dminuit2=$(usex minuit)
256 + -Dminuit=$(usex minuit)
257 + -Dmonalisa=OFF
258 + -Dmysql=$(usex mysql)
259 + -Dodbc=$(usex odbc)
260 + -Dopengl=$(usex opengl)
261 + -Doracle=$(usex oracle)
262 + -Dpch=ON # pch=OFF is broken
263 + -Dpgsql=$(usex postgres)
264 + -Dpythia6=$(usex pythia6)
265 + -Dpythia8=$(usex pythia8)
266 + -Dpython=$(usex python)
267 + -Dqt5web=$(usex qt5)
268 + -Dqtgsi=OFF
269 + -Dqt=OFF
270 + -Drfio=OFF
271 + -Droofit=$(usex roofit)
272 + -Droot7=$(usex root7)
273 + -Drootbench=OFF
274 + -Droottest=$(usex test)
275 + -Drpath=ON # needed for multi-slot to work
276 + -Druby=OFF # deprecated and broken
277 + -Druntime_cxxmodules=OFF # does not work yet
278 + -Dr=$(usex R)
279 + -Dsapdb=OFF # not implemented
280 + -Dshadowpw=$(usex shadow)
281 + -Dsqlite=$(usex sqlite)
282 + -Dsrp=OFF # not implemented
283 + -Dssl=$(usex ssl)
284 + -Dtable=$(usex table)
285 + -Dtbb=$(usex tbb)
286 + -Dtcmalloc=OFF
287 + -Dtesting=$(usex test)
288 + -Dthread=$(usex threads)
289 + -Dtmva=$(usex tmva)
290 + -Dunuran=$(usex unuran)
291 + -Dvc=$(usex vc)
292 + -Dvdt=OFF
293 + -Dveccore=OFF
294 + -Dxml=$(usex xml)
295 + -Dxrootd=$(usex xrootd)
296 + ${EXTRA_ECONF}
297 + )
298 +
299 + cmake-utils_src_configure
300 +}
301 +
302 +src_install() {
303 + cmake-utils_src_install
304 +
305 + ROOTSYS=${EPREFIX%/}/usr/$(get_libdir)/${PN}/$(ver_cut 1-2)
306 + ROOTENV=$((9999 - $(ver_cut 2)))${PN}-$(ver_cut 1-2)
307 +
308 + # ROOT fails without this symlink because it only looks in lib
309 + if [[ ! -d ${D}/${ROOTSYS}/lib ]]; then
310 + dosym $(get_libdir) /usr/$(get_libdir)/${PN}/$(ver_cut 1-2)/lib
311 + fi
312 +
313 + cat > ${ROOTENV} <<- EOF || die
314 + MANPATH="${ROOTSYS}/share/man"
315 + PATH="${ROOTSYS}/bin"
316 + ROOTPATH="${ROOTSYS}/bin"
317 + LDPATH="${ROOTSYS}/$(get_libdir)"
318 + EOF
319 +
320 + if use python; then
321 + echo "PYTHONPATH=${ROOTSYS}/$(get_libdir)" >> ${ROOTENV} || die
322 + fi
323 +
324 + doenvd ${ROOTENV}
325 +
326 + pushd "${D}/${ROOTSYS}" > /dev/null
327 +
328 + if use emacs; then
329 + elisp-install ${PN}-$(ver_cut 1-2) "${BUILD_DIR}"/root-help.el
330 + fi
331 +
332 + if ! use gdml; then
333 + rm -r geom || die
334 + fi
335 +
336 + if ! use examples; then
337 + rm -r test tutorials || die
338 + fi
339 +
340 + if use tmva; then
341 + rm -r tmva || die
342 + fi
343 +
344 + # clean up unnecessary files from installation
345 + rm -r emacs || die
346 +}
347
348 diff --git a/sci-physics/root/root-6.14.06-r2.ebuild b/sci-physics/root/root-6.14.06-r2.ebuild
349 new file mode 100644
350 index 00000000000..e8e14bd43c0
351 --- /dev/null
352 +++ b/sci-physics/root/root-6.14.06-r2.ebuild
353 @@ -0,0 +1,323 @@
354 +# Copyright 1999-2018 Gentoo Authors
355 +# Distributed under the terms of the GNU General Public License v2
356 +
357 +EAPI=6
358 +
359 +CMAKE_BUILD_TYPE=Release
360 +# ninja does not work due to fortran
361 +CMAKE_MAKEFILE_GENERATOR=emake
362 +FORTRAN_NEEDED="fortran"
363 +PYTHON_COMPAT=( python2_7 python3_{4,5,6,7} )
364 +
365 +inherit cmake-utils cuda eapi7-ver elisp-common eutils fortran-2 \
366 + prefix python-single-r1 toolchain-funcs
367 +
368 +DESCRIPTION="C++ data analysis framework and interpreter from CERN"
369 +HOMEPAGE="https://root.cern"
370 +SRC_URI="https://root.cern/download/${PN}_v${PV}.source.tar.gz"
371 +
372 +IUSE="+X aqua +asimage +c++11 c++14 c++17 cuda +davix emacs +examples
373 + fits fftw fortran +gdml graphviz +gsl http jemalloc kerberos ldap
374 + libcxx memstat +minuit mysql odbc +opengl oracle postgres prefix
375 + pythia6 pythia8 +python qt5 R +roofit root7 shadow sqlite +ssl
376 + table +tbb test +threads +tiff +tmva +unuran vc xinetd +xml xrootd
377 + zeroconf"
378 +
379 +SLOT="$(ver_cut 1-2)/$(ver_cut 3)"
380 +LICENSE="LGPL-2.1 freedist MSttfEULA LGPL-3 libpng UoI-NCSA"
381 +KEYWORDS="~amd64 ~x86"
382 +
383 +REQUIRED_USE="
384 + ^^ ( c++11 c++14 c++17 )
385 + !X? ( !asimage !opengl !qt5 !tiff )
386 + davix? ( ssl xml )
387 + python? ( ${PYTHON_REQUIRED_USE} )
388 + qt5? ( root7 )
389 + root7? ( || ( c++14 c++17 ) )
390 + tmva? ( gsl )
391 +"
392 +
393 +CDEPEND="
394 + app-arch/lz4
395 + app-arch/xz-utils
396 + fortran? ( dev-lang/cfortran )
397 + dev-libs/libpcre:3=
398 + dev-libs/xxhash
399 + media-fonts/dejavu
400 + media-libs/freetype:2=
401 + media-libs/libpng:0=
402 + sys-libs/ncurses:=
403 + sys-libs/zlib
404 + X? (
405 + x11-libs/libX11:0=
406 + x11-libs/libXext:0=
407 + x11-libs/libXft:0=
408 + x11-libs/libXpm:0=
409 + opengl? (
410 + media-libs/ftgl:0=
411 + media-libs/glew:0=
412 + virtual/opengl
413 + virtual/glu
414 + x11-libs/gl2ps:0=
415 + )
416 + qt5? (
417 + dev-qt/qtcore:5=
418 + dev-qt/qtgui:5=
419 + dev-qt/qtwebengine:5=
420 + )
421 + )
422 + asimage? ( || (
423 + media-libs/libafterimage[gif,jpeg,png,tiff?]
424 + >=x11-wm/afterstep-2.2.11[gif,jpeg,png,tiff?]
425 + ) )
426 + zeroconf? ( net-dns/avahi[mdnsresponder-compat] )
427 + cuda? ( >=dev-util/nvidia-cuda-toolkit-9.0 )
428 + davix? ( net-libs/davix )
429 + emacs? ( virtual/emacs )
430 + fftw? ( sci-libs/fftw:3.0= )
431 + fits? ( sci-libs/cfitsio:0= )
432 + graphviz? ( media-gfx/graphviz:0= )
433 + gsl? ( sci-libs/gsl )
434 + http? ( dev-libs/fcgi:0= )
435 + jemalloc? ( dev-libs/jemalloc )
436 + kerberos? ( virtual/krb5 )
437 + ldap? ( net-nds/openldap:0= )
438 + libcxx? ( sys-libs/libcxx )
439 + unuran? ( sci-mathematics/unuran:0= )
440 + minuit? ( !sci-libs/minuit )
441 + mysql? ( dev-db/mysql-connector-c )
442 + odbc? ( || ( dev-db/libiodbc dev-db/unixODBC ) )
443 + oracle? ( dev-db/oracle-instantclient-basic )
444 + postgres? ( dev-db/postgresql:= )
445 + pythia6? ( sci-physics/pythia:6= )
446 + pythia8? ( sci-physics/pythia:8= )
447 + python? ( ${PYTHON_DEPS} )
448 + R? ( dev-lang/R )
449 + shadow? ( virtual/shadow )
450 + sqlite? ( dev-db/sqlite:3 )
451 + ssl? ( dev-libs/openssl:0= )
452 + tbb? ( dev-cpp/tbb )
453 + tmva? ( dev-python/numpy[${PYTHON_USEDEP}] )
454 + vc? ( dev-libs/vc )
455 + xml? ( dev-libs/libxml2:2= )
456 + xrootd? ( net-libs/xrootd:0= )
457 +"
458 +
459 +DEPEND="${CDEPEND}
460 + virtual/pkgconfig"
461 +
462 +RDEPEND="${CDEPEND}
463 + xinetd? ( sys-apps/xinetd )"
464 +
465 +PATCHES=(
466 + "${FILESDIR}"/${PN}-6.12.04-no-ocaml.patch
467 + "${FILESDIR}"/${PN}-6.12.06_cling-runtime-sysroot.patch
468 + "${FILESDIR}"/${PN}-6.14.06-oracle.patch
469 +)
470 +
471 +pkg_setup() {
472 + use fortran && fortran-2_pkg_setup
473 + use python && python-single-r1_pkg_setup
474 +
475 + elog "There are extra options on packages not yet in Gentoo:"
476 + elog "Afdsmgrd, AliEn, castor, Chirp, dCache, gfal, Globus, gLite,"
477 + elog "HDFS, Monalisa, MaxDB/SapDB, SRP, VecCore."
478 + elog "You can use the environment variable EXTRA_ECONF for this."
479 + elog "For example, for Chirp, you would set: "
480 + elog "EXTRA_ECONF=\"-Dchirp=ON\""
481 +}
482 +
483 +src_prepare() {
484 + cmake-utils_src_prepare
485 +
486 + sed -i "/CLING_BUILD_PLUGINS/d" interpreter/CMakeLists.txt || die
487 +
488 + # CSS should use local images
489 + sed -i -e 's,http://.*/,,' etc/html/ROOT.css || die "html sed failed"
490 +}
491 +
492 +# Note: ROOT uses bundled clang because it is patched and API-incompatible
493 +# with vanilla clang. The patches enable the C++ interpreter to work.
494 +# Since ROOT installs many files into /etc (~100MB in total) that don't
495 +# really belong there, we install it into another directory to avoid
496 +# making /etc too big.
497 +
498 +src_configure() {
499 + local mycmakeargs=(
500 + -DCMAKE_C_FLAGS="${CFLAGS}"
501 + -DCMAKE_CXX_FLAGS="${CXXFLAGS}"
502 + -DPYTHON_EXECUTABLE="${PYTHON}"
503 + -DCMAKE_INSTALL_PREFIX="${EPREFIX%/}/usr/$(get_libdir)/${PN}/$(ver_cut 1-2)"
504 + -DCMAKE_INSTALL_MANDIR="${EPREFIX%/}/usr/$(get_libdir)/${PN}/$(ver_cut 1-2)/share/man"
505 + -DCMAKE_INSTALL_LIBDIR=$(get_libdir)
506 + -DDEFAULT_SYSROOT="${EPREFIX}"
507 + -DCLING_BUILD_PLUGINS=OFF
508 + -Dexplicitlink=ON
509 + -Dexceptions=ON
510 + -Dfail-on-missing=ON
511 + -Dgnuinstall=OFF
512 + -Dshared=ON
513 + -Dsoversion=ON
514 + -Dbuiltin_llvm=ON
515 + -Dbuiltin_clang=ON
516 + -Dbuiltin_afterimage=OFF
517 + -Dbuiltin_cfitsio=OFF
518 + -Dbuiltin_davix=OFF
519 + -Dbuiltin_fftw3=OFF
520 + -Dbuiltin_freetype=OFF
521 + -Dbuiltin_ftgl=OFF
522 + -Dbuiltin_gl2ps=OFF
523 + -Dbuiltin_glew=OFF
524 + -Dbuiltin_gsl=OFF
525 + -Dbuiltin_lz4=OFF
526 + -Dbuiltin_lzma=OFF
527 + -Dbuiltin_openssl=OFF
528 + -Dbuiltin_pcre=OFF
529 + -Dbuiltin_tbb=OFF
530 + -Dbuiltin_unuran=OFF
531 + -Dbuiltin_vc=OFF
532 + -Dbuiltin_vdt=OFF
533 + -Dbuiltin_veccore=OFF
534 + -Dbuiltin_xrootd=OFF
535 + -Dbuiltin_xxhash=OFF
536 + -Dbuiltin_zlib=OFF
537 + -Dx11=$(usex X)
538 + -Dxft=$(usex X)
539 + -Dafdsmgrd=OFF
540 + -Dafs=OFF # not implemented
541 + -Dalien=OFF
542 + -Dasimage=$(usex asimage)
543 + -Dastiff=$(usex tiff)
544 + -Dbonjour=$(usex zeroconf)
545 + -Dlibcxx=$(usex libcxx)
546 + -Dccache=OFF # use ccache via portage
547 + -Dcastor=OFF
548 + -Dchirp=OFF
549 + -Dclad=OFF
550 + -Dcling=ON # cling=OFF is broken
551 + -Dcocoa=$(usex aqua)
552 + -Dcuda=$(usex cuda)
553 + -Dcxx11=$(usex c++11)
554 + -Dcxx14=$(usex c++14)
555 + -Dcxx17=$(usex c++17)
556 + -Dcxxmodules=OFF # requires clang, unstable
557 + -Ddavix=$(usex davix)
558 + -Ddcache=OFF
559 + -Dfftw3=$(usex fftw)
560 + -Dfitsio=$(usex fits)
561 + -Dfortran=$(usex fortran)
562 + -Dftgl=$(usex opengl)
563 + -Dgdml=$(usex gdml)
564 + -Dgenvector=ON # genvector=OFF ignored
565 + -Dgeocad=OFF
566 + -Dgfal=OFF
567 + -Dgl2ps=$(usex opengl)
568 + -Dglite=OFF # not implemented
569 + -Dglobus=OFF
570 + -Dgminimal=OFF
571 + -Dgsl_shared=$(usex gsl)
572 + -Dgviz=$(usex graphviz)
573 + -Dhdfs=OFF
574 + -Dhttp=$(usex http)
575 + -Dimt=$(usex tbb)
576 + -Djemalloc=$(usex jemalloc)
577 + -Dkrb5=$(usex kerberos)
578 + -Dldap=$(usex ldap)
579 + -Dmathmore=$(usex gsl)
580 + -Dmemstat=$(usex memstat)
581 + -Dminimal=OFF
582 + -Dminuit2=$(usex minuit)
583 + -Dminuit=$(usex minuit)
584 + -Dmonalisa=OFF
585 + -Dmysql=$(usex mysql)
586 + -Dodbc=$(usex odbc)
587 + -Dopengl=$(usex opengl)
588 + -Doracle=$(usex oracle)
589 + -Dpch=ON # pch=OFF is broken
590 + -Dpgsql=$(usex postgres)
591 + -Dpythia6=$(usex pythia6)
592 + -Dpythia8=$(usex pythia8)
593 + -Dpython=$(usex python)
594 + -Dqt5web=$(usex qt5)
595 + -Dqtgsi=OFF
596 + -Dqt=OFF
597 + -Drfio=OFF
598 + -Droofit=$(usex roofit)
599 + -Droot7=$(usex root7)
600 + -Drootbench=OFF
601 + -Droottest=OFF
602 + -Drpath=OFF
603 + -Druby=OFF # deprecated and broken
604 + -Druntime_cxxmodules=OFF # does not work yet
605 + -Dr=$(usex R)
606 + -Dsapdb=OFF # not implemented
607 + -Dshadowpw=$(usex shadow)
608 + -Dsqlite=$(usex sqlite)
609 + -Dsrp=OFF # not implemented
610 + -Dssl=$(usex ssl)
611 + -Dtable=$(usex table)
612 + -Dtcmalloc=OFF
613 + -Dtesting=$(usex test)
614 + -Dthread=$(usex threads)
615 + -Dtmva=$(usex tmva)
616 + -Dtmva-cpu=$(usex tmva)
617 + -Dtmva-gpu=$(usex cuda)
618 + -Dunuran=$(usex unuran)
619 + -Dvc=$(usex vc)
620 + -Dvdt=OFF
621 + -Dveccore=OFF
622 + -Dxml=$(usex xml)
623 + -Dxrootd=$(usex xrootd)
624 + ${EXTRA_ECONF}
625 + )
626 +
627 + cmake-utils_src_configure
628 +}
629 +
630 +src_compile() {
631 + # needed for hsimple.root
632 + addwrite /dev/random
633 + cmake-utils_src_compile
634 +}
635 +
636 +src_install() {
637 + cmake-utils_src_install
638 +
639 + ROOTSYS=${EPREFIX%/}/usr/$(get_libdir)/${PN}/$(ver_cut 1-2)
640 + ROOTENV=$((9999 - $(ver_cut 2)))${PN}-$(ver_cut 1-2)
641 +
642 + # ROOT fails without this symlink because it only looks in lib
643 + if [[ ! -d ${D}/${ROOTSYS}/lib ]]; then
644 + dosym $(get_libdir) /usr/$(get_libdir)/${PN}/$(ver_cut 1-2)/lib
645 + fi
646 +
647 + cat > ${ROOTENV} <<- EOF || die
648 + MANPATH="${ROOTSYS}/share/man"
649 + PATH="${ROOTSYS}/bin"
650 + ROOTPATH="${ROOTSYS}/bin"
651 + LDPATH="${ROOTSYS}/$(get_libdir)"
652 + EOF
653 +
654 + if use python; then
655 + echo "PYTHONPATH=${ROOTSYS}/$(get_libdir)" >> ${ROOTENV} || die
656 + fi
657 +
658 + doenvd ${ROOTENV}
659 +
660 + pushd "${D}/${ROOTSYS}" > /dev/null
661 +
662 + if use emacs; then
663 + elisp-install ${PN}-$(ver_cut 1-2) "${BUILD_DIR}"/root-help.el
664 + fi
665 +
666 + if ! use examples; then
667 + rm -r tutorials || die
668 + fi
669 +
670 + if ! use tmva; then
671 + rm -r tmva || die
672 + fi
673 +
674 + # clean up unnecessary files from installation
675 + rm -r emacs test || die
676 +}