The ROOT system provides a set of OO frameworks with all the functionality
needed to handle and analyze large amounts of data in a very efficient way.
Having the data defined as a set of objects, specialized storage methods are
used to get direct access to the separate attributes of the selected objects,
without having to touch the bulk of the data. Included are histograming methods
in an arbitrary number of dimensions, curve fitting, function evaluation,
minimization, graphics and visualization classes to allow the easy setup of an
analysis system that can query and process the data interactively or in batch
mode, as well as a general parallel processing framework, PROOF, that can
considerably speed up an analysis.
Thanks to the built-in C++ interpreter cling, the command, the scripting and
the programming language are all C++. The interpreter allows for fast
prototyping of the macros since it removes the time consuming compile/link
cycle. It also provides a good environment to learn C++. If more performance
is needed the interactively developed macros can be compiled using a C++
compiler via a machine independent transparent compiler interface called ACliC.
The system has been designed in such a way that it can query its databases in
parallel on clusters of workstations or many-core machines. ROOT is an open
system that can be dynamically extended by linking external libraries. This
makes ROOT a premier platform on which to build data acquisition, simulation
and data analysis systems. [Text copied from ROOT project's repo 2022-11-11.]
===> The following configuration options are available for root-6.38.00_3:
ASIMAGE=on: Enable support for image processing via libAfterImage
DATAFRAME=on: Enable ROOT RDataFrame
DAVIX=on: Enable support for Davix (HTTP/WebDAV access)
DOCS=on: Build and/or install documentation
FFTW3=off: Enable support for FFTW3
FITSIO=on: Enable support for reading FITS images
FORTRAN=off: Build Fortran components of ROOT
GDML=on: Enable support for GDML (Geometry Description Markup Language)
GEOM=on: Enable support for the geometry library
HTTP=on: Enable support for HTTP server
IMT=on: Enable support for implicit multi-threading via Intel® Thread Building Blocks (TBB)
MATHMORE=on: Build libMathMore extended math library
MLP=on: Enable support for TMultilayerPerceptron classes' federation
OPENGL=on: Enable support for OpenGL
PYROOT=on: Enable bindings between Python and C++ with PyROOT
QT6WEB=off: Enable support for Qt6 web-based display
ROOFIT=on: Build the advanced fitting package RooFit, and RooStats for statistical tests
ROOT7=on: Build ROOT 7 components of ROOT
SPECTRUM=on: Enable support for TSpectrum
SQLITE=on: Enable support for SQLite
SSL=on: Enable support for SSL encryption via OpenSSL
TMVA=on: Build TMVA multi variate analysis library, including TMVA with CPU support for deep learning
UNFOLD=on: Enable the unfold package
VDT=on: Enable support for VDT (fast and vectorisable mathematical functions)
WEBGUI=on: Build Web-based UI components of ROOT
X11=on: Enable support for X11/Xft
XML=on: Enable support for XML
XROOTD=on: Enable support for XRootD file server and client
===> Use 'make config' to modify these settings
devel/root: Update to 6.38/00
New port options:
FFTW3 (OFF), GEOM (ON), UNFOLD (ON)
Renamed port options (now using same namings as upstream):
FITS->FITSIO, TMLP->MLP, TMVAML->TMVA
Removed port options (following upstream):
MYSQL, PGSQL
In addition, MATHMORE is no longer a default option.
It has otherwise been a default option in the ports tree until
now, unlike upstream.
ChangeLog: https://root.cern/doc/v638/release-notes.html
PR: 291434
*: Revise USES=python:... version range constraints
and strip all lower bounds of 3.9 or 3.10 because they are implied now.
python:3.9-X -> python:-X
python:3.9+ -> python
python:3.10-X -> python:-X
python:3.10+ -> python
(options such as ,build preserved)
python.mk: rename PYTHON_EXT_SUFFIX to PYTHON_TAG, document, etc
EXT_SUFFIX, according to PEP 3149, refers to the full tag and
extension for compiled extension module objects, eg .cpython-311.so,
.cpython-313t.so, etc. We do not use the correct semantic meaning,
and this usage becomes ambiguous and confusing when tags do not
match between bytecode and compiled extension module objects.
Rename our PYTHON_EXT_SUFFIX to PYTHON_TAG to align with PEP 3147's
specification of a magic tag, which consists of implementation name
and shorthand version only. This is meant for bytecode and other
files containing this tag in their filename that do not depend on
a specific Python ABI for the same version. Chase all existing
consumers.
(Only the first 15 lines of the commit message are shown above )
devel/root: Fix packaging of 6.34/02 on arm64
Packaging on arm64 is currently failing, because two header files are
missing, i.e. no longer included in the port.
===> Building root-6.34.02
pkg-static: Unable to access file
/wrkdirs/usr/ports/devel/root/work/stage/usr/local/etc/root/cling/lib/clang/18/include/arm_bf18.h:No
such file or directory
pkg-static: Unable to access file
/wrkdirs/usr/ports/devel/root/work/stage/usr/local/etc/root/cling/lib/clang/18/include/arm_fp18.h:No
such file or directory
*** Error code 1
See also: https://portsfallout.com/fallout?port=devel%2Froot%24&env=arm64
PR: 285048
*/*: bump PORTREVISION after OpenBLAS upgrade
Remark: this souldn’t be necessary, because the version of the library is the
same, but due to many changes between these releases, it is safer this way.
PR: 284314
devel/root: Disable runtime_cxxmodules to avoid modulemap issues
A recent change in LLVM/Clang modulemap handling has caused ROOT (which builds
its own patched version of LLVM/Clang for JIT C/C++ compilation, e.g. from the
ROOT terminal) in the upstream source code to hack modulemap definitions on a
case-by-case OS release-dependent basis on macOS, which also compiles ROOT with
a LLVM/Clang compiler.
Once a more robust solution has been found in the upstream code, we can revert
to enabling 'runtime_cxxmodules' in the port.
For now, my attempts at continually patching ROOT for FreeBSD 13.3+, 14.0+ and
15.0 have proven too error-prone, and a package built on 14.0, for example, and
distributed to both 14.0 and 14.1 would otherwise only work on 14.0 in the best
of cases.
PR: 282756
all: drop support for expired FreeBSD 14.0
Simplify expressions for FreeBSD 13.X
Reviewed by: many
Differential Revision: https://reviews.freebsd.org/D46601
devel/root: Fix runtime issues related to LLVM modulemaps
ROOT has been building fine on recent versions, but runtime has turned
out to be fragile.
PR: 281299
devel/root: Re-enable MathMore for release 6.30/02 and fix debug build
I overlooked a dependency change in the source code of the latest release and,
as a result, the MathMore option was mistakenly auto-disabled at the configure
stage in the latest port revision.
I also noticed a failure to build with debug symbols enabled.
PR: 276373
*/*: Sunset 12.4-RELEASE/12-STABLE from ports tree
- Remove all references to defunct ARCH arm
- Remove all references to defunct ARCH sparc64
- Remove x11-drivers/xf86-video-sunffb which requires defunct sparc64
ARCH
- Remove sysutils/afbinit requires defunct sparc64 ARCH
- Remove all references to bktr driver
- Remove all references to defunct FreeBSD_12
- Remove all references to OSVERSION/OSREL corresponding to 12
- Remove conditionals in Mk/Uses/cabal.mk
- Remove sparc reference from Mk/Uses/qt-dist.mk
- Remove BROKEN_sparc64/NOT_FOR_ARCH=sparc64
- Remove BROKEN_FreeBSD_12* from:
- Remove OpenSSL patches from:
- Remove conditional flags for OSVERSION >= 1300000 to fixed flags.
Also move conditional flags for non sparc64/arm ARCH to fixed flags.
Reviewed by: brooks, jbeich, rene, salvadore
Differential Revision: https://reviews.freebsd.org/D42068
devel/root: Fix build/run depends in Makefile
Turn bash and nlohmann-json into run-time dependencies,
as well as build-time dependencies.
PR: 274696
MFH: 2023Q4
devel/root: Add options to port Makefile
- Added various build options to port Makefile.
List of build options, newness and defaults:
MYSQL(new,off), PGSQL(new,off), PYROOT(new,on) ROOT7(on),
SQLITE(new,off) and X11(new,on)
Note: In previous versions of this port, the dependencies of MySQL,
PgSQL, PyROOT, SQLite and X11 were all predicated by default
- Bump PORTREVISION
devel/root: Remove 12.3 workaround and clean up
Remove build workaround for 12.3 re-added in last commit by mistake that
was removed in 5693229 commit.
Cleanup port and delete scripts dir used by workaround.
PR: 270625
MFH: 2023Q2 (buildfixes)
devel/root: Fix building on 12.3, 13.2 and restore post-patch step
ROOT version 6.28.02 fails to build on 123amd64:
https://pkg-status.freebsd.org/beefy6/data/123amd64-default/d55ec1db8ffa/logs/root-6.28.02.log
This patch fixes the (sed-related) issue.
I submit here - again - the post-patch step, which ensures that ROOT can
build on LLVM/Clang 10.0.1 (used on FreeBSD 12.3).
Fix plist on 13.2 (RC)
PR: 270625
devel/root: the LLVM13 / FreeBSD 13 check is incomplete
Perhaps as a consequence of running 13-STABLE rather than
releases, devel/root fails to package -- one of the two
LLVM13-only files isn't there.
devel/root: Update to 6.26/10
- Port now compiles against C++17
- Added build of ROOT v7 preview features as default build option
- Added dependencies on devel/nlohmann-json, graphics/ftgl, print/gl2ps
and devel/xxhash so ROOT does not use builtin versions of these libraries
- ROOT now builds on FreeBSD 12.3 (uses LLVM/Clang 10.0.1) -- a bit of
.modulemap hacking was necessary; tested in poudriere jail on my own system
- ROOT *should* build on arm64 -- some files are not installed on arm64
and some files are named differently
ChangeLog: https://root.cern/doc/v626/release-notes.html#release-6.2610
PR: 268701
devel/root: Revive port: Data analysis framework made at CERN
- Submitter becomes maintainer
ROOT is a framework for data processing, born at CERN, at the heart of
the research on high-energy physics. Every day, thousands of physicists
use ROOT applications to analyze their data or to perform simulations.
WWW: https://root.cern/
PR: 267717
Remove expired ports:
2011-02-20 devel/root: Port does not build on supported versions of FreeBSD
2011-02-20 net/ztelnet: unfetchable / Does not compile with GCC 4.2
2011-02-20 print/kaspaliste: Does not compile with GCC 4.2
2011-02-20 sysutils/perf: Does not build on supported versions of FreeBSD
Convert LDCONFIG_DIRS to USE_LDCONFIG.
PR: based on ports/146365
Submitted by: Alex Kozlov <spam at rm-rf.kiev.ua>
Approved by: maintainers timeout (two weeks)
Bump portrevision due to upgrade of devel/gettext.
The affected ports are the ones with gettext as a run-dependency
according to ports/INDEX-7 (5007 of them) and the ones with USE_GETTEXT
in Makefile (29 of them).
PR: ports/124340
Submitted by: edwin@
Approved by: portmgr (pav)
- Update to 4.02.00
- Unbreak on 5.x
- Break on 4.x
- Break on amd64
PR: ports/78043
Submitted by: Alexander S. Usov <usov@KVI.nl>
Approved by: maintainer
Split the postgresql ports into a server and a client part.
All ports depending on postgresql shall use the USE_PGSQL=yes knob
defined in Mk/bsd.ports.mk. Bumping portrevisions where needed.
PR: 75344
Approved by: portmgr@ (kris), ade & sean (mentors)
[PATCH] devel/root: Wrong dependancy!
The dependancy on databases/postgresql is bogus. Change it
to databases/postgresql7
PR: ports/70609
Submitted by: Ulrich Spoerlein <q@uni.de>