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