Package name : geant4 Version : 10.6.2 Upstream Author : CERN URL : http://geant4.web.cern.ch/ License : a custom (MIT-like) license but looks DFSG compliant Programming Lang: C++ Description : physics simulation toolkit Geant4 is a toolkit for the simulation of the passage of particles through matter. Its areas of application include high energy, nuclear and accelerator physics, as well as studies in medical and space science. Overall, it is pretty hard to build Geant4 nicely. Besides it's size and long compilation time (~15 minutes for me), the CMake build system breaks with a lot of Debian conventions. There is nothing really I can do about that in a reasonable amount of time, so the lintian output is pretty ugly and that probably won't change any time soon if there are no upstream changes. The endresult is usable though, so I will publish the my build files soon. If there is interest to help on this, please let me know. Cheers, Stephan
did you started from here ? https://salsa.debian.org/science-team/geant4 cheers Frederic
did you started from here ? https://salsa.debian.org/science-team/geant4 cheers Frederic
No, that code is too old. I started from scratch. I currently have internet issues, so I can't upload the code right now. Cheers, Stephan
Hi Stephan, according to [0] the Geant4 license is not DFSG compliant. Peter [0] https://wiki.debian.org/DebianScience/Geant4
Hi Peter, The relevant part of the license [1] mentioned on the wiki page is: I don't see how this doesn't comply with the DFSG. It doesn't limit derived works, it doesn't discriminate anyone, and it isn't specific to Debian or any other software product. I'm not a lawyer though, but if indeed isn't compliant with the DFSG, I would still want to see this in non-free. Cheers, Stephan [1] https://geant4.web.cern.ch/license/license
The package is now on mentors [1], the source code on Salsa [2]. Be warned, the source package is about 1.5GB big. This is mainly due to the large datasets. Without the datasets Geant4 is unusable (programs compile but don't start). As I already mentioned, the package quality is rather bad, lintian takes ages to run on this an the output is super long. Building also takes at least 15min btw. There a still a couple of things that can be done, and I would love some help if someone is interested. Here's a incomplete list: * proper copyright review * taking a look at /usr/share/Geant4-10.6.2/tools.license and find out to what it applies * building the doxygen documentation * write man pages for geant4-config and geant4-env * get rid of the recursive symlink (/usr/lib/x86_64-linux-gnu/Geant4-10.6.2/Linux-g++) * install the Python module * use Debians CLHEP library, it is in Debian but it needs to be updated to >= 2.4.1.0 * take care of the fonts * in geant4-env, use the user's shell instead of bash [1] https://mentors.debian.net/package/geant4/ [2] https://salsa.debian.org/stephanlachnit/geant4
Hi Stephan, in my layperson's view this is a violation of DFSG clause 6: "The license must not restrict anyone from making use of the program in a specific field of endeavor." Best regards Peter
Small update regarding Geant4: Geant4 10.7.0 got released in December, which is basically lintian clean so far (thanks to upstream for fixing all that). However, Geant4 10.7.0 won't make it into Bullseye (or even Sid for that matter), because there is a major problem: it segfaults. I tried it on 3 different setups, one running Ubuntu 20.10, and it justs segfaults every time one starts a run. I don't know why (yet), I *think* it might be due to the introduction of PTL & TBB, but I haven't debugged it yet. PTL is a library which should heavily increase performance, but it is really new and upstream has stabilized just yet. I hope the next major Geant4 release (i. e. 10.8.0) uses the just released upstream PTL 1.0.0, so we can use that. For anyone interested, my current plan is to package PTL and wait for the next minor Geant4 version (10.7.1) before trying to debugging it. If you want to help, you can try to find out why it segfaults (requires to start a run, you can take any included example). Regards, Stephan