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/, sci-physics/root/files/
Date: Thu, 05 Jul 2018 11:15:35
Message-Id: 1530788698.63bf6109fdc6cc6426ffbb1bed2f35e5d59cdeef.amadio@gentoo
1 commit: 63bf6109fdc6cc6426ffbb1bed2f35e5d59cdeef
2 Author: Guilherme Amadio <amadio <AT> gentoo <DOT> org>
3 AuthorDate: Thu Jul 5 09:08:32 2018 +0000
4 Commit: Guilherme Amadio <amadio <AT> gentoo <DOT> org>
5 CommitDate: Thu Jul 5 11:04:58 2018 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=63bf6109
7
8 sci-physics/root: version bump to 6.14/00
9
10 Package-Manager: Portage-2.3.41, Repoman-2.3.9
11
12 sci-physics/root/Manifest | 1 +
13 sci-physics/root/files/root-6.13.02-hsimple.patch | 31 +++
14 sci-physics/root/files/root-6.14.00-http.patch | 28 ++
15 sci-physics/root/root-6.14.00.ebuild | 315 ++++++++++++++++++++++
16 4 files changed, 375 insertions(+)
17
18 diff --git a/sci-physics/root/Manifest b/sci-physics/root/Manifest
19 index 9587434290a..3337509776a 100644
20 --- a/sci-physics/root/Manifest
21 +++ b/sci-physics/root/Manifest
22 @@ -1,2 +1,3 @@
23 DIST root_v5.34.36.source.tar.gz 75427331 BLAKE2B 203af03e1459c7fe079fcb1b30da145b3262f90c074abb7ff8fb3b1b2b90ac24391ce51aa8afbd10e0db8d69549207f15176207bc30a13720e0ae94342a38dfa SHA512 2cc0c8f8b63b2a3ce01c49c41704483548a7324d92c21a63e3e36a00f4d6f5656a7844fdf48cb71a6f2a2c974112527300ffd3bb5502d8365ffaf138e6ae4c7a
24 DIST root_v6.12.06.source.tar.gz 162284452 BLAKE2B 944b5e899677bab40842d7ec969ff08cfa470e63be9a02b948a49ae088e8da72ce433a5071d9196bfd98f71e6861b1bda285354012620eee6c61cffcee71a0c8 SHA512 3d44749ccfc3d40a2f516ae53ef40fb244ed785eee0dbc18ff822bbb811a15b943039d30282ef5358a283d485e62531880c877ec77a86089503b06d6f37e42e1
25 +DIST root_v6.14.00.source.tar.gz 162436586 BLAKE2B 6047fe9fb898be9d4f00f2e6eb378d213996b49b9677f61ccc0250bb6d0801d8410850a39e0983534da2c6a307bd64b0ed6c03ab873a6c8b844500a96444a455 SHA512 2d4e754e3054018a53af28408b218bc52c0c60bea69a3c9e48f0d3feadbfebb559087fb453505b281fe01043f723e4b766cda8fca1e68dbf9e202c67d417e5b3
26
27 diff --git a/sci-physics/root/files/root-6.13.02-hsimple.patch b/sci-physics/root/files/root-6.13.02-hsimple.patch
28 new file mode 100644
29 index 00000000000..cab8a40afa7
30 --- /dev/null
31 +++ b/sci-physics/root/files/root-6.13.02-hsimple.patch
32 @@ -0,0 +1,31 @@
33 +diff --git a/CMakeLists.txt b/CMakeLists.txt
34 +index 03af62fcd3..8ec5330773 100644
35 +--- a/CMakeLists.txt
36 ++++ b/CMakeLists.txt
37 +@@ -367,26 +367,6 @@ else()
38 + install(DIRECTORY ${CMAKE_BINARY_DIR}/etc/dictpch DESTINATION ${CMAKE_INSTALL_SYSCONFDIR})
39 + endif()
40 +
41 +-#---hsimple.root---------(use the executable for clearer dependencies and proper return code)---
42 +-add_custom_target(hsimple ALL DEPENDS tutorials/hsimple.root)
43 +-add_dependencies(hsimple onepcm)
44 +-if(WIN32)
45 +- add_custom_command(OUTPUT tutorials/hsimple.root
46 +- COMMAND set PATH=${CMAKE_RUNTIME_OUTPUT_DIRECTORY} &&
47 +- set ROOTIGNOREPREFIX=1 &&
48 +- $<TARGET_FILE:root.exe> -l -q -b -n -x hsimple.C -e return
49 +- WORKING_DIRECTORY tutorials
50 +- DEPENDS $<TARGET_FILE:root.exe> Cling Hist Tree Gpad Graf HistPainter move_artifacts)
51 +-else()
52 +- add_custom_command(OUTPUT tutorials/hsimple.root
53 +- COMMAND ${ld_library_path}=${CMAKE_LIBRARY_OUTPUT_DIRECTORY}:$ENV{${ld_library_path}}
54 +- ROOTIGNOREPREFIX=1
55 +- $<TARGET_FILE:root.exe> -l -q -b -n -x hsimple.C -e return
56 +- WORKING_DIRECTORY tutorials
57 +- DEPENDS $<TARGET_FILE:root.exe> Cling Hist Tree Gpad Graf HistPainter move_artifacts)
58 +-endif()
59 +-install(FILES ${CMAKE_BINARY_DIR}/tutorials/hsimple.root DESTINATION ${CMAKE_INSTALL_TUTDIR} COMPONENT tests)
60 +-
61 + #---version--------------------------------------------------------------------------------------
62 + if(NOT WIN32)
63 + add_custom_target(version COMMAND ${CMAKE_SOURCE_DIR}/build/unix/makeversion.sh ${CMAKE_BINARY_DIR}
64
65 diff --git a/sci-physics/root/files/root-6.14.00-http.patch b/sci-physics/root/files/root-6.14.00-http.patch
66 new file mode 100644
67 index 00000000000..04ec4bea567
68 --- /dev/null
69 +++ b/sci-physics/root/files/root-6.14.00-http.patch
70 @@ -0,0 +1,28 @@
71 +From bed1568548d7a47785d8fe24ec7a9ce5799040ff Mon Sep 17 00:00:00 2001
72 +From: Guilherme Amadio <amadio@××××.ch>
73 +Date: Wed, 27 Jun 2018 15:08:07 +0200
74 +Subject: [PATCH] Do not exclude etc/http directory from installation
75 +
76 +This was an unintended side-effect of a previous commit:
77 +9b4d0d8dccbd48d21b0f7c79b6eaf94428f691b1.
78 +---
79 + CMakeLists.txt | 3 +--
80 + 1 file changed, 1 insertion(+), 2 deletions(-)
81 +
82 +diff --git a/CMakeLists.txt b/CMakeLists.txt
83 +index 4c760d0fdb..a3a0f59925 100644
84 +--- a/CMakeLists.txt
85 ++++ b/CMakeLists.txt
86 +@@ -426,8 +426,7 @@ if(NOT CMAKE_SOURCE_DIR STREQUAL CMAKE_INSTALL_PREFIX)
87 + PATTERN "rootd.xinetd" EXCLUDE
88 + PATTERN "proofd.xinetd" EXCLUDE
89 + PATTERN "root.mimes" EXCLUDE
90 +- PATTERN "cmake" EXCLUDE
91 +- PATTERN "http" EXCLUDE )
92 ++ PATTERN "cmake" EXCLUDE )
93 + install(DIRECTORY fonts/ DESTINATION ${CMAKE_INSTALL_FONTDIR})
94 + install(DIRECTORY icons/ DESTINATION ${CMAKE_INSTALL_ICONDIR})
95 + install(DIRECTORY macros/ DESTINATION ${CMAKE_INSTALL_MACRODIR})
96 +--
97 +2.18.0
98 +
99
100 diff --git a/sci-physics/root/root-6.14.00.ebuild b/sci-physics/root/root-6.14.00.ebuild
101 new file mode 100644
102 index 00000000000..d7fcd557dcc
103 --- /dev/null
104 +++ b/sci-physics/root/root-6.14.00.ebuild
105 @@ -0,0 +1,315 @@
106 +# Copyright 1999-2018 Gentoo Foundation
107 +# Distributed under the terms of the GNU General Public License v2
108 +
109 +EAPI=6
110 +
111 +CMAKE_BUILD_TYPE=Release
112 +# ninja does not work due to fortran
113 +CMAKE_MAKEFILE_GENERATOR=emake
114 +FORTRAN_NEEDED="fortran"
115 +PYTHON_COMPAT=( python2_7 python3_{4,5,6} )
116 +
117 +inherit cmake-utils eapi7-ver elisp-common eutils fortran-2 \
118 + prefix python-single-r1 toolchain-funcs
119 +
120 +DESCRIPTION="C++ data analysis framework and interpreter from CERN"
121 +HOMEPAGE="https://root.cern"
122 +SRC_URI="https://root.cern/download/${PN}_v${PV}.source.tar.gz"
123 +
124 +IUSE="+X avahi aqua +asimage +davix emacs +examples fits fftw fortran
125 + +gdml graphviz +gsl http jemalloc kerberos ldap libcxx memstat
126 + +minuit mysql odbc +opengl oracle postgres prefix pythia6 pythia8
127 + +python qt4 qt5 R +roofit root7 shadow sqlite +ssl table +tbb test
128 + +threads +tiff +tmva +unuran vc xinetd +xml xrootd"
129 +
130 +SLOT="$(ver_cut 1-2)/$(ver_cut 3)"
131 +LICENSE="LGPL-2.1 freedist MSttfEULA LGPL-3 libpng UoI-NCSA"
132 +KEYWORDS="~amd64 ~x86"
133 +
134 +REQUIRED_USE="
135 + !X? ( !asimage !opengl !qt4 !qt5 !tiff )
136 + python? ( ${PYTHON_REQUIRED_USE} )
137 + tmva? ( gsl )
138 + davix? ( ssl xml )
139 +"
140 +
141 +CDEPEND="
142 + app-arch/lz4
143 + app-arch/xz-utils
144 + fortran? ( dev-lang/cfortran )
145 + dev-libs/libpcre:3=
146 + dev-libs/xxhash
147 + media-fonts/dejavu
148 + media-libs/freetype:2=
149 + media-libs/libpng:0=
150 + sys-libs/ncurses:=
151 + sys-libs/zlib
152 + X? (
153 + x11-libs/libX11:0=
154 + x11-libs/libXext:0=
155 + x11-libs/libXft:0=
156 + x11-libs/libXpm:0=
157 + opengl? (
158 + media-libs/ftgl:0=
159 + media-libs/glew:0=
160 + virtual/opengl
161 + virtual/glu
162 + x11-libs/gl2ps:0=
163 + )
164 + qt4? (
165 + dev-qt/qtcore:4=
166 + dev-qt/qtgui:4=
167 + )
168 + qt5? (
169 + dev-qt/qtcore:5=
170 + dev-qt/qtgui:5=
171 + dev-qt/qtwebengine:5=
172 + )
173 + )
174 + asimage? ( || (
175 + media-libs/libafterimage[gif,jpeg,png,tiff?]
176 + >=x11-wm/afterstep-2.2.11[gif,jpeg,png,tiff?]
177 + ) )
178 + avahi? ( net-dns/avahi[mdnsresponder-compat] )
179 + davix? ( net-libs/davix )
180 + emacs? ( virtual/emacs )
181 + fftw? ( sci-libs/fftw:3.0= )
182 + fits? ( sci-libs/cfitsio:0= )
183 + graphviz? ( media-gfx/graphviz:0= )
184 + gsl? ( sci-libs/gsl )
185 + http? ( dev-libs/fcgi:0= )
186 + jemalloc? ( dev-libs/jemalloc )
187 + kerberos? ( virtual/krb5 )
188 + ldap? ( net-nds/openldap:0= )
189 + libcxx? ( sys-libs/libcxx )
190 + unuran? ( sci-mathematics/unuran:0= )
191 + minuit? ( !sci-libs/minuit )
192 + mysql? ( virtual/mysql )
193 + odbc? ( || ( dev-db/libiodbc dev-db/unixODBC ) )
194 + oracle? ( dev-db/oracle-instantclient-basic )
195 + postgres? ( dev-db/postgresql:= )
196 + pythia6? ( sci-physics/pythia:6= )
197 + pythia8? ( sci-physics/pythia:8= )
198 + python? ( ${PYTHON_DEPS} )
199 + R? ( dev-lang/R )
200 + shadow? ( virtual/shadow )
201 + sqlite? ( dev-db/sqlite:3 )
202 + ssl? ( dev-libs/openssl:0= )
203 + tbb? ( dev-cpp/tbb )
204 + vc? ( dev-libs/vc )
205 + xml? ( dev-libs/libxml2:2= )
206 + xrootd? ( net-libs/xrootd:0= )
207 +"
208 +
209 +DEPEND="${CDEPEND}
210 + virtual/pkgconfig"
211 +
212 +RDEPEND="${CDEPEND}
213 + xinetd? ( sys-apps/xinetd )"
214 +
215 +PATCHES=(
216 + "${FILESDIR}"/${PN}-6.12.04-no-ocaml.patch
217 + "${FILESDIR}"/${PN}-6.13.02-hsimple.patch
218 + "${FILESDIR}"/${PN}-6.14.00-http.patch
219 +)
220 +
221 +pkg_setup() {
222 + use fortran && fortran-2_pkg_setup
223 + use python && python-single-r1_pkg_setup
224 +
225 + echo
226 + elog "There are extra options on packages not yet in Gentoo:"
227 + elog "Afdsmgrd, AliEn, castor, Chirp, dCache, gfal, Globus, gLite,"
228 + elog "HDFS, Monalisa, MaxDB/SapDB, SRP, VecCore."
229 + elog "You can use the env variable EXTRA_ECONF variable for this."
230 + elog "For example, for Chirp, you would set: "
231 + elog "EXTRA_ECONF=\"-Dchirp=ON\""
232 + echo
233 +}
234 +
235 +src_prepare() {
236 + cmake-utils_src_prepare
237 +
238 + sed -i "/CLING_BUILD_PLUGINS/d" interpreter/CMakeLists.txt || die
239 +
240 + # CSS should use local images
241 + sed -i -e 's,http://.*/,,' etc/html/ROOT.css || die "html sed failed"
242 +}
243 +
244 +# Note: ROOT uses bundled clang because it is patched and API-incompatible
245 +# with vanilla clang. The patches enable the C++ interpreter to work.
246 +# Since ROOT installs many small files into /etc (~100MB in total),
247 +# we install it into another directory to avoid making /etc too big.
248 +
249 +src_configure() {
250 + local mycmakeargs=(
251 + -DCMAKE_C_FLAGS="${CFLAGS}"
252 + -DCMAKE_CXX_FLAGS="${CXXFLAGS}"
253 + -DCMAKE_INSTALL_PREFIX="${EPREFIX%/}/usr/$(get_libdir)/${PN}/$(ver_cut 1-2)"
254 + -DCMAKE_INSTALL_MANDIR="${EPREFIX%/}/usr/$(get_libdir)/${PN}/$(ver_cut 1-2)/share/man"
255 + -DMCAKE_INSTALL_LIBDIR=$(get_libdir)
256 + -DDEFAULT_SYSROOT="${EPREFIX}"
257 + -DCLING_BUILD_PLUGINS=OFF
258 + -Dexplicitlink=ON
259 + -Dexceptions=ON
260 + -Dfail-on-missing=ON
261 + -Dshared=ON
262 + -Dsoversion=ON
263 + -Dbuiltin_llvm=ON
264 + -Dbuiltin_afterimage=OFF
265 + -Dbuiltin_cfitsio=OFF
266 + -Dbuiltin_davix=OFF
267 + -Dbuiltin_fftw3=OFF
268 + -Dbuiltin_freetype=OFF
269 + -Dbuiltin_ftgl=OFF
270 + -Dbuiltin_gl2ps=OFF
271 + -Dbuiltin_glew=OFF
272 + -Dbuiltin_gsl=OFF
273 + -Dbuiltin_lz4=OFF
274 + -Dbuiltin_lzma=OFF
275 + -Dbuiltin_openssl=OFF
276 + -Dbuiltin_pcre=OFF
277 + -Dbuiltin_tbb=OFF
278 + -Dbuiltin_unuran=OFF
279 + -Dbuiltin_vc=OFF
280 + -Dbuiltin_vdt=OFF
281 + -Dbuiltin_veccore=OFF
282 + -Dbuiltin_xrootd=OFF
283 + -Dbuiltin_xxhash=OFF
284 + -Dbuiltin_zlib=OFF
285 + -Dx11=$(usex X)
286 + -Dxft=$(usex X)
287 + -Dafdsmgrd=OFF
288 + -Dafs=OFF # not implemented
289 + -Dalien=OFF
290 + -Dasimage=$(usex asimage)
291 + -Dastiff=$(usex tiff)
292 + -Dbonjour=$(usex avahi)
293 + -Dlibcxx=$(usex libcxx)
294 + -Dccache=OFF # use ccache via portage
295 + -Dcastor=OFF
296 + -Dchirp=OFF
297 + -Dcling=ON # cling=OFF is broken
298 + -Dcocoa=$(usex aqua)
299 + -Dcxx14=$(usex root7)
300 + -Dcxxmodules=OFF # requires clang, unstable
301 + -Ddavix=$(usex davix)
302 + -Ddcache=OFF
303 + -Dfftw3=$(usex fftw)
304 + -Dfitsio=$(usex fits)
305 + -Dfortran=$(usex fortran)
306 + -Dftgl=$(usex opengl)
307 + -Dgdml=$(usex gdml)
308 + -Dgenvector=ON # genvector=OFF ignored
309 + -Dgeocad=OFF
310 + -Dgfal=OFF
311 + -Dgl2ps=$(usex opengl)
312 + -Dglite=OFF # not implemented
313 + -Dglobus=OFF
314 + -Dgminimal=OFF
315 + -Dgnuinstall=OFF
316 + -Dgsl_shared=$(usex gsl)
317 + -Dgviz=$(usex graphviz)
318 + -Dhdfs=OFF
319 + -Dhttp=$(usex http)
320 + -Dimt=$(usex tbb)
321 + -Djemalloc=$(usex jemalloc)
322 + -Dkrb5=$(usex kerberos)
323 + -Dldap=$(usex ldap)
324 + -Dmathmore=$(usex gsl)
325 + -Dmemstat=$(usex memstat)
326 + -Dminimal=OFF
327 + -Dminuit2=$(usex minuit)
328 + -Dminuit=$(usex minuit)
329 + -Dmonalisa=OFF
330 + -Dmysql=$(usex mysql)
331 + -Dodbc=$(usex odbc)
332 + -Dopengl=$(usex opengl)
333 + -Doracle=$(usex oracle)
334 + -Dpch=ON # pch=OFF is broken
335 + -Dpgsql=$(usex postgres)
336 + -Dpythia6=$(usex pythia6)
337 + -Dpythia8=$(usex pythia8)
338 + -Dpython=$(usex python)
339 + -Dqt5web=$(usex qt5)
340 + -Dqtgsi=$(usex qt4)
341 + -Dqt=$(usex qt4)
342 + -Drfio=OFF
343 + -Droofit=$(usex roofit)
344 + -Droot7=$(usex root7)
345 + -Drootbench=OFF
346 + -Droottest=$(usex test)
347 + -Drpath=ON # needed for multi-slot to work
348 + -Druby=OFF # deprecated and broken
349 + -Druntime_cxxmodules=OFF # does not work yet
350 + -Dr=$(usex R)
351 + -Dsapdb=OFF # not implemented
352 + -Dshadowpw=$(usex shadow)
353 + -Dsqlite=$(usex sqlite)
354 + -Dsrp=OFF # not implemented
355 + -Dssl=$(usex ssl)
356 + -Dtable=$(usex table)
357 + -Dtbb=$(usex tbb)
358 + -Dtcmalloc=OFF
359 + -Dtesting=$(usex test)
360 + -Dthread=$(usex threads)
361 + -Dtmva-cpu=$(usex tmva)
362 + -Dtmva-gpu=OFF
363 + -Dtmva=$(usex tmva)
364 + -Dunuran=$(usex unuran)
365 + -Dvc=$(usex vc)
366 + -Dvdt=OFF
367 + -Dveccore=OFF
368 + -Dxml=$(usex xml)
369 + -Dxrootd=$(usex xrootd)
370 + ${EXTRA_ECONF}
371 + )
372 +
373 + cmake-utils_src_configure
374 +}
375 +
376 +src_install() {
377 + cmake-utils_src_install
378 +
379 + ROOTSYS=${EPREFIX%/}/usr/$(get_libdir)/${PN}/$(ver_cut 1-2)
380 + ROOTENV=$((9999 - $(ver_cut 2)))${PN}-$(ver_cut 1-2)
381 +
382 + # ROOT fails without this symlink because it only looks in lib
383 + if [[ ! -d ${D}/${ROOTSYS}/lib ]]; then
384 + dosym $(get_libdir) /usr/$(get_libdir)/${PN}/$(ver_cut 1-2)/lib
385 + fi
386 +
387 + cat > ${ROOTENV} <<- EOF || die
388 + MANPATH="${ROOTSYS}/share/man"
389 + PATH="${ROOTSYS}/bin"
390 + ROOTPATH="${ROOTSYS}/bin"
391 + LDPATH="${ROOTSYS}/$(get_libdir)"
392 + EOF
393 +
394 + if use python; then
395 + echo "PYTHONPATH=${ROOTSYS}/$(get_libdir)" >> ${ROOTENV} || die
396 + fi
397 +
398 + doenvd ${ROOTENV}
399 +
400 + pushd "${D}/${ROOTSYS}" > /dev/null
401 +
402 + if use emacs; then
403 + elisp-install ${PN}-$(ver_cut 1-2) "${BUILD_DIR}"/root-help.el
404 + fi
405 +
406 + if ! use gdml; then
407 + rm -r geom || die
408 + fi
409 +
410 + if ! use examples; then
411 + rm -r test tutorials || die
412 + fi
413 +
414 + if use tmva; then
415 + rm -r tmva || die
416 + fi
417 +
418 + # clean up unnecessary files from installation
419 + rm -r config emacs etc/vmc fonts || die
420 +}