For everyone who is interested in the topic: Initial packaging for
v6.24.02 is
now on Salsa [1]. Let me know if you have issues with building.
The following things still need to be done, orderd after importance:
- write a DEP-5 copyright
- remove builtins from the source tarball
- split the package sanely
- understand linking of libRInside.so
- package UNU.RAN [2]
- package VDT [3]
- package VecGeom [4]
- update Pythia8 [5, 6]
Some notes: the usual library splitting is basically impossible for ROOT.
There are several reasons for this, one being the insane amount of
libraries,
142 to be precise. Some of them also have very general names like
"libGui.so".
The other reason is that ROOT works less like boost, which also has a lot of
libraries, and more like one interwoven network of libraries where you
want to
have all (or at least most) of them.
For these two reasons, libraries are installed to
lib/multi-arch-triplet/root
instead of lib/multi-arch-triplet, and a config for ld.so is added to
pick the
libraries up. This isn't ideal of course, but better than the alternative.
Splitting thus will be more centered around additional dependencies,
like for
example the Python interface of ROOT. But I haven't started with that yet.
The most important and still missing work is the DEP-5 copyright file. ROOT
has tons of files, and looking through them will take a significant
amount of
time. ROOT also includes some thirdparty dependencies which we don't
want and
need to remove from the source tarball. Since I'm wiriting my Bachelor
thesis
at the moment, I don't have time for this anytime soon. If someone wants to
help with that, I would appreciate it.
Besides this, I'll still have to figure out how to properly link against
the R
library, one mail to the R team is probably enough but I haven't done it
yet.
All important dependencies are already packaged in Debian, but there are
some
features that require additional dependencies. UNU.RAN can be used for
random
number generation, but I haven't looked at the code yet at all. VDT can be
used for fast vectorized function, but the CMake build file require some
heavy
modification to be actually usable. VecGeom is relatively straight
forward to
package and I will probably upload it in the near future, it is used for
vectorized geometry. Pythia8 is a Monte-Carlo event generator, the
package is
in Debian, but completely outdated and unmaintained.
- Stephan
[1] https://salsa.debian.org/science-team/root
[2] http://statistik.wu-wien.ac.at/unuran/
[3] https://github.com/dpiparo/vdt
[4] https://bugs.debian.org/988526
[5] https://tracker.debian.org/pkg/pythia8
[6] https://pythia.org/