Compare commits
347 commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
817304bc57 | ||
|
|
3abc226a6f | ||
|
|
bd92cbd636 | ||
|
|
83ecd08a85 | ||
|
|
ed3d5ff5a8 | ||
|
|
e663491f10 | ||
|
|
9960faac7b | ||
|
|
4d451d1e2d | ||
|
|
c2cc1e8dde | ||
|
|
d4e0e388fb | ||
|
|
f908b99482 | ||
| f0f3460788 | |||
|
|
bf6d9e6993 | ||
|
|
6ac6cee053 | ||
|
|
8adc8228e3 | ||
|
|
666c050fcf | ||
|
|
7870548730 | ||
|
|
3cd581f0e0 | ||
|
|
7ecd76a31d | ||
|
|
3f365df48e | ||
|
|
e8626580cf | ||
|
|
27b349be2a | ||
|
|
732511f3a6 | ||
|
|
64acc88ed1 | ||
|
|
bdcedb0537 | ||
|
|
bbcab50659 | ||
|
|
32ec236e95 |
||
|
|
f287293ea9 | ||
|
|
84f092c91d | ||
|
|
da1ca8ff8f | ||
|
|
66c113fcb0 | ||
|
|
18473dc6e6 | ||
|
|
895043f78c | ||
|
|
c3014d3347 | ||
|
|
cb90d9590d | ||
|
|
3d242ce025 | ||
|
|
146af48801 | ||
|
|
e4856607de | ||
|
|
f25bdb0931 | ||
|
|
e076764de0 | ||
|
|
3a74b8b610 | ||
|
|
2726b64fa0 | ||
|
|
0afdff9fae | ||
|
|
6edd65804f | ||
|
|
5a76613429 | ||
| 593e746266 | |||
| ab1aa62b45 | |||
| aaf51a11c7 | |||
|
|
920e7b2575 | ||
|
|
fe8a030c52 | ||
|
|
450c67721a | ||
|
|
40be88f67c | ||
|
|
71b6707207 | ||
|
|
b1bbc0fadf | ||
|
02870ffba1 |
|||
|
|
3487b3a060 | ||
|
|
2ad57ba760 | ||
|
|
745e82c601 | ||
|
|
8d9fc44478 | ||
|
|
75f062bccd | ||
|
|
cac5562c15 | ||
|
|
6b314d2ebb | ||
|
|
5498e74caf | ||
|
|
59f38a443a | ||
|
|
1617973423 | ||
|
|
dafa5d9be6 | ||
|
|
c960d44c7d | ||
|
|
8bc319c318 | ||
|
|
82f076284e | ||
|
|
c1e2a7a6b3 | ||
|
|
ea27f7093b | ||
|
|
4946c86aea | ||
|
|
48045b2bdf | ||
|
|
559fe2b850 | ||
|
|
95f73fc33a | ||
|
|
4d9bac3891 | ||
|
|
0f2b684662 | ||
| 518c033b52 | |||
|
|
fbaff99ab6 | ||
|
|
d22cdf6344 | ||
|
|
29328ac08b | ||
|
|
c2cd7682c3 | ||
|
|
a5b9453dc4 | ||
|
|
65481a9244 | ||
|
|
277c592ff2 | ||
|
|
40040121b9 | ||
|
|
63c341633f | ||
|
|
b4f122310f | ||
|
|
735b7a8692 | ||
|
|
9875b6b48a | ||
|
|
6d457ab71f | ||
|
|
59989efa5f | ||
|
|
ae0a791925 | ||
|
|
fb5c22a14d | ||
|
|
85ea672407 | ||
|
|
79c12df5ba | ||
|
|
d58a4c22ba | ||
|
|
879bb250d3 | ||
|
|
c3f7b6f7f1 | ||
|
|
08cf4b36a2 | ||
|
|
c39df0d6ce | ||
| 0de23e866b | |||
|
|
3365b50fc9 | ||
|
|
088e995d07 | ||
|
|
b75f082179 | ||
|
|
a08fcbc5ad | ||
|
|
e41288dd18 | ||
|
|
1801745923 | ||
|
|
635da91690 | ||
|
|
6d31b558ee | ||
|
|
bcb1ddcccf |
||
|
|
ab5d41c627 | ||
|
|
75d8984496 | ||
|
|
78faffb6b8 | ||
|
|
521c5af35f | ||
| 21a93fdb32 | |||
|
|
7fb47abbc9 | ||
|
|
ee45de2db7 | ||
|
|
4a05ecac34 | ||
|
|
ddfa4e1c9b | ||
|
|
b2e4c897d2 | ||
|
|
dacf8d779a | ||
|
|
9505e4b28a | ||
|
|
a9b86f482f | ||
|
|
44203f1d1d | ||
|
|
51dd64e002 | ||
|
|
4a99ec915c | ||
|
|
2f8e3d96d1 | ||
|
|
65aa8a7075 | ||
|
|
1ca8ad1517 | ||
|
|
d28cfab6db | ||
|
|
79bc80ed33 | ||
|
|
530bdfbe23 | ||
|
|
f57d1d575e | ||
|
|
01b908fc8c | ||
|
|
a96b0b3132 | ||
|
|
19b1aedc98 | ||
|
|
1fd9670b71 | ||
|
|
63048e8cb6 | ||
|
|
f5f5cab0a0 | ||
|
|
76c3a41c1c | ||
|
|
f34d998c21 | ||
|
|
37bb038cc9 | ||
|
|
5bf9d68201 | ||
|
|
c4fdaa5858 | ||
|
|
b1e3d73d24 | ||
|
|
f21e05fd5f | ||
|
|
a49523d8a5 | ||
|
|
07ab2f0b59 | ||
|
|
123427b9fe | ||
|
|
6614fa1aa8 | ||
|
|
7b4114bd54 | ||
|
|
1be10b51b1 | ||
|
|
c49c803954 | ||
|
|
0ecea4ad41 | ||
|
|
7a6fb7e19d | ||
|
|
a79f481e22 | ||
|
|
99ef1e3968 | ||
|
|
7e225d815e | ||
|
|
917227575d | ||
|
|
2c7e472d02 | ||
|
|
1361b0d800 | ||
|
|
82f0a3aaee | ||
| 9dd4f5fc05 | |||
|
|
4f7769c6fc | ||
|
|
94bb81bf7f | ||
|
|
32e56c3cc7 | ||
|
|
f36ab42522 | ||
|
|
b2cd752635 | ||
|
|
4dabf92f1e | ||
|
|
d5f9a3e4ce | ||
|
|
52746b4384 | ||
|
|
9cc859debf | ||
|
|
245e52da34 | ||
|
|
fba71390e2 | ||
|
|
cce2ff465c | ||
|
|
9efe68edd4 | ||
|
|
baedd3ac92 | ||
|
|
e9736ff481 | ||
|
|
a8a22f4c90 | ||
|
|
69d6612d86 | ||
|
|
3021cd531d | ||
|
|
e337f50c47 | ||
|
|
90ad7be9df | ||
|
|
0172e0c499 | ||
| d01240d460 | |||
|
|
ac7ef9a2e3 | ||
|
|
5736fd78d4 | ||
|
|
eb2d446b8b | ||
|
|
aff214ede0 | ||
|
|
dd4b4780b4 | ||
|
|
637fe32582 | ||
|
|
3cde189ab8 | ||
|
|
e02c54a09c | ||
| e68833ced7 | |||
|
|
b8c8500439 | ||
|
|
85f4c754b6 | ||
|
|
0aea483c48 | ||
|
|
786482506c | ||
|
f5cfd58b12 |
|||
|
cd31cb5a97 |
|||
|
dccdfa5397 |
|||
|
|
6be66b5cfa | ||
|
|
4c7d7f652d | ||
|
|
436670def3 | ||
|
|
685c7a1019 | ||
|
|
6538cd10af | ||
|
|
e5c18339e2 | ||
|
|
ffdeed0011 | ||
|
|
a82a9895cd | ||
|
|
a085075a00 | ||
|
|
5fdda1fe15 | ||
|
|
f7f5ed19f4 | ||
|
|
88f740ba6c | ||
|
|
9af52db601 | ||
|
|
11b92eb696 | ||
|
|
5914088cb6 | ||
|
|
8f829ba002 | ||
|
|
288358c262 | ||
|
|
81b256c066 | ||
|
|
2249adc221 | ||
|
|
50233814ad | ||
|
|
18df0711fa | ||
|
|
00ff963ffc | ||
|
44fa7637ff |
|||
|
|
ea40f6d9b5 | ||
|
|
7a138eca56 | ||
|
|
055702ad13 | ||
|
|
3dbbb6f535 | ||
|
|
ebb867176f | ||
|
|
3b30fb5268 | ||
|
|
f73fd21176 | ||
|
|
d40b20f402 | ||
|
|
292a238ca1 | ||
|
|
24aa3c55c2 | ||
|
|
aa51a99793 | ||
|
|
7236b9af3c | ||
|
|
53ab37dbf1 | ||
|
|
06adf65fe9 | ||
|
|
1a1a0b32c2 | ||
|
|
b95e1e7279 | ||
|
|
f26a6cf485 | ||
|
|
fa467511f1 | ||
|
|
9848b20c1e | ||
|
|
f8ad33edc6 | ||
|
|
e910032e72 | ||
|
|
ec7f16e89c | ||
|
|
11c792e334 | ||
|
|
0224f3ec83 | ||
|
|
9caef0bcab | ||
|
|
ea3d3333d5 | ||
|
|
cc0f4915b9 | ||
|
|
193d74d76a | ||
|
|
4d7d87d75f | ||
|
|
27c9386941 | ||
|
|
16e38e12a2 | ||
|
|
0c8b01c3b0 | ||
|
|
ee101d8d31 | ||
|
|
f23b63a03f | ||
|
|
ed55b4fe58 | ||
|
|
bf23f84c80 | ||
|
|
29a5baca4e | ||
|
|
0fbfae57cf | ||
|
|
8c8b88f79b | ||
|
|
a95a6d6f13 | ||
|
|
3900297baa | ||
|
|
dcf271fa3c | ||
|
|
a1278b5ac1 | ||
|
|
d2f1cd66d0 | ||
|
|
9a997630c2 | ||
|
|
c073038c81 | ||
|
|
9b3288a2ae | ||
| af80df442b | |||
|
|
7b75beeafd | ||
|
|
093cf36cc6 | ||
|
|
33ffc84ca9 | ||
| 47191cc0cf | |||
|
|
284227b471 | ||
|
|
5a930202e5 | ||
|
|
fda3bc6d17 | ||
|
|
dc8c69485d | ||
|
|
8875471441 | ||
|
|
9af453a9f9 | ||
|
|
764ed77834 | ||
|
|
1b4917794e | ||
|
|
5055650a66 | ||
| 6a86160033 | |||
|
|
b1435a8750 | ||
|
|
db06f3797e | ||
|
|
2f29b57628 | ||
|
|
cb3b62200a | ||
|
|
57e8c20a99 | ||
| 63400c0412 | |||
|
|
4abba64da9 | ||
|
|
c2c5b53558 | ||
|
|
a8c3d7f8d4 | ||
|
|
f53e5b0802 | ||
|
|
5fbb82bc35 | ||
|
|
62af349cdf | ||
|
|
56ba6949fd | ||
|
|
3aa26cce30 | ||
|
|
7406803d34 | ||
|
|
0555799990 | ||
|
|
2f5267cd4f | ||
|
|
803434059f | ||
|
|
734af7d621 | ||
|
|
b06f48b228 | ||
|
|
1c00eef2cf | ||
|
|
5d41d25f47 | ||
|
|
e63c936225 | ||
|
|
de04a944e2 | ||
|
|
530418d5ef | ||
|
|
e2dd5b2818 | ||
|
|
ab6ed3ddb5 | ||
|
|
1904e06a34 | ||
|
|
730ad008c2 | ||
|
|
4bec959a0d | ||
|
|
49f58c442c | ||
|
|
5546392862 | ||
|
|
09aa067334 | ||
|
|
9820501d6a | ||
|
|
d7c587d5ba | ||
|
|
8faae32f82 | ||
|
|
86f1cc80ee | ||
|
|
acb5cf4e3f | ||
|
|
3f94641dcd | ||
|
|
24a64f4443 | ||
|
|
03af99697d | ||
|
|
5f695dcd1a | ||
|
|
da06ad6977 | ||
|
|
13ab762d36 | ||
|
|
bb8ff47db5 | ||
|
|
f9dd6d5cb9 | ||
|
|
ce9d3642b5 | ||
|
|
f84df07c3f | ||
|
|
0bed893234 | ||
|
|
9ba71e4342 | ||
|
|
f53cf6e9e3 | ||
|
|
54830dbb65 | ||
|
|
4e19fead5c | ||
|
|
39bbb48145 | ||
|
|
0b60ec7d47 | ||
|
|
01f8f75137 | ||
|
|
d2b52a9934 | ||
|
|
2aabc6531e | ||
|
|
138fe78ba2 | ||
|
|
1055304fd4 |
35 changed files with 5707 additions and 2208 deletions
2
.gitignore
vendored
2
.gitignore
vendored
|
|
@ -1 +1,3 @@
|
||||||
/*.tar.gz
|
/*.tar.gz
|
||||||
|
/*.tar.xz
|
||||||
|
/usa.root
|
||||||
|
|
|
||||||
37
JupyROOT-on-EPEL
Normal file
37
JupyROOT-on-EPEL
Normal file
|
|
@ -0,0 +1,37 @@
|
||||||
|
While all is fine in Fedora and all packages needed to run the JupyROOT
|
||||||
|
notebook are available there, this is not true for EPEL.
|
||||||
|
|
||||||
|
Hopefully the ipython/jupyter stack will at some point be available in
|
||||||
|
EPEL too, but at this point in time it is not.
|
||||||
|
|
||||||
|
However, it is possible to work around this issue using a python
|
||||||
|
virtual environment.
|
||||||
|
|
||||||
|
First, install the required root packages (as root):
|
||||||
|
|
||||||
|
$ yum install root root-notebook python3-jupyroot
|
||||||
|
|
||||||
|
Then return to your non-root user and create a python3 virtual
|
||||||
|
environment:
|
||||||
|
|
||||||
|
$ python3 -m venv ~/jupyter-env
|
||||||
|
|
||||||
|
Activate the environment:
|
||||||
|
|
||||||
|
$ . ~/jupyter-env/bin/activate
|
||||||
|
|
||||||
|
Then install the missing packages in the virtual environment using pip:
|
||||||
|
|
||||||
|
$ pip install notebook metakernel
|
||||||
|
|
||||||
|
Then start the root notebook:
|
||||||
|
|
||||||
|
$ PYTHONPATH=~/jupyter-env/lib/python3.6/site-packages root --notebook
|
||||||
|
|
||||||
|
And that is it.
|
||||||
|
|
||||||
|
If you want to start it again and you haven't removed the virtual
|
||||||
|
environment, only two of the steps are necessary:
|
||||||
|
|
||||||
|
$ . ~/jupyter-env/bin/activate
|
||||||
|
$ PYTHONPATH=~/jupyter-env/lib/python3.6/site-packages root --notebook
|
||||||
BIN
application-x-root.png
Normal file
BIN
application-x-root.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 4.2 KiB |
BIN
info.png
BIN
info.png
Binary file not shown.
|
Before Width: | Height: | Size: 2 KiB |
53
root-32bit-tests.patch
Normal file
53
root-32bit-tests.patch
Normal file
|
|
@ -0,0 +1,53 @@
|
||||||
|
From ac806becc2aa69898d1c5ca3b195d8fa3003238a Mon Sep 17 00:00:00 2001
|
||||||
|
From: Mattias Ellert <mattias.ellert@physics.uu.se>
|
||||||
|
Date: Fri, 13 Mar 2020 16:21:55 +0100
|
||||||
|
Subject: [PATCH] Run tests on 32 bit
|
||||||
|
|
||||||
|
---
|
||||||
|
test/stressGeometry.cxx | 8 --------
|
||||||
|
tree/tree/test/CMakeLists.txt | 10 +++-------
|
||||||
|
2 files changed, 3 insertions(+), 15 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/test/stressGeometry.cxx b/test/stressGeometry.cxx
|
||||||
|
index 253bc8574e9..48da18b06c3 100644
|
||||||
|
--- a/test/stressGeometry.cxx
|
||||||
|
+++ b/test/stressGeometry.cxx
|
||||||
|
@@ -257,14 +257,6 @@ void stressGeometry(const char *exp="*", Bool_t generate_ref=kFALSE, Bool_t vecg
|
||||||
|
if (opt.Contains(exps[i])) iexp[i] = 1;
|
||||||
|
else iexp[i] = 0;
|
||||||
|
}
|
||||||
|
-#if defined(linux) && !defined(__x86_64__)
|
||||||
|
- // 32bit linux: we have an error with ATLAS, see https://sft.its.cern.ch/jira/browse/ROOT-9893
|
||||||
|
- // Disable unless explicitly enabled.
|
||||||
|
- if (all) {
|
||||||
|
- printf("DISABLED ATLAS TEST due to known failure on Linux 32 bit!\n");
|
||||||
|
- iexp[32] = 0;
|
||||||
|
- }
|
||||||
|
-#endif
|
||||||
|
TFile::SetCacheFileDir(".");
|
||||||
|
TString fname;
|
||||||
|
for (i=0; i<NG; i++) {
|
||||||
|
diff --git a/tree/tree/test/CMakeLists.txt b/tree/tree/test/CMakeLists.txt
|
||||||
|
index 4e903b06daa..2ad9bb52171 100644
|
||||||
|
--- a/tree/tree/test/CMakeLists.txt
|
||||||
|
+++ b/tree/tree/test/CMakeLists.txt
|
||||||
|
@@ -13,13 +13,9 @@ target_include_directories(testTOffsetGeneration PRIVATE ${CMAKE_CURRENT_SOURCE_
|
||||||
|
ROOT_STANDARD_LIBRARY_PACKAGE(SillyStruct NO_INSTALL_HEADERS HEADERS ${CMAKE_CURRENT_SOURCE_DIR}/SillyStruct.h SOURCES SillyStruct.cxx LINKDEF SillyStructLinkDef.h DEPENDENCIES RIO)
|
||||||
|
ROOT_SET_OUTPUT_DIRECTORIES(SillyStruct)
|
||||||
|
ROOT_ADD_GTEST(testBulkApi BulkApi.cxx LIBRARIES RIO Tree TreePlayer)
|
||||||
|
-#FIXME: tests are having timeout on 32bit CERN VM (in docker container everything is fine),
|
||||||
|
-# to be reverted after investigation.
|
||||||
|
-if(NOT CMAKE_SIZEOF_VOID_P EQUAL 4)
|
||||||
|
- ROOT_ADD_GTEST(testBulkApiMultiple BulkApiMultiple.cxx LIBRARIES RIO Tree TreePlayer TIMEOUT 3000)
|
||||||
|
- ROOT_ADD_GTEST(testBulkApiVarLength BulkApiVarLength.cxx LIBRARIES RIO Tree TreePlayer)
|
||||||
|
- ROOT_ADD_GTEST(testBulkApiSillyStruct BulkApiSillyStruct.cxx LIBRARIES RIO Tree TreePlayer SillyStruct)
|
||||||
|
-endif()
|
||||||
|
+ROOT_ADD_GTEST(testBulkApiMultiple BulkApiMultiple.cxx LIBRARIES RIO Tree TreePlayer TIMEOUT 3000)
|
||||||
|
+ROOT_ADD_GTEST(testBulkApiVarLength BulkApiVarLength.cxx LIBRARIES RIO Tree TreePlayer)
|
||||||
|
+ROOT_ADD_GTEST(testBulkApiSillyStruct BulkApiSillyStruct.cxx LIBRARIES RIO Tree TreePlayer SillyStruct)
|
||||||
|
ROOT_ADD_GTEST(testTBasket TBasket.cxx LIBRARIES RIO Tree)
|
||||||
|
ROOT_ADD_GTEST(testTBranch TBranch.cxx LIBRARIES RIO Tree MathCore)
|
||||||
|
ROOT_ADD_GTEST(testTIOFeatures TIOFeatures.cxx LIBRARIES RIO Tree)
|
||||||
|
--
|
||||||
|
2.54.0
|
||||||
|
|
||||||
46
root-Adjust-stressGraphics-reference.patch
Normal file
46
root-Adjust-stressGraphics-reference.patch
Normal file
|
|
@ -0,0 +1,46 @@
|
||||||
|
From 9d2d6c1a104302e2f84659324b4e8b317cb9ab95 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Mattias Ellert <mattias.ellert@physics.uu.se>
|
||||||
|
Date: Fri, 26 Jun 2026 06:51:28 +0200
|
||||||
|
Subject: [PATCH] Adjust stressGraphics reference
|
||||||
|
|
||||||
|
---
|
||||||
|
test/stressGraphics_zlibng.ref | 8 ++++----
|
||||||
|
1 file changed, 4 insertions(+), 4 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/test/stressGraphics_zlibng.ref b/test/stressGraphics_zlibng.ref
|
||||||
|
index b7ca1568c66..2fda1276315 100644
|
||||||
|
--- a/test/stressGraphics_zlibng.ref
|
||||||
|
+++ b/test/stressGraphics_zlibng.ref
|
||||||
|
@@ -7,7 +7,7 @@
|
||||||
|
patterns 23688 1500 19305 200 143676 123000 47075 11000 23076 1500
|
||||||
|
crown 2785 50 14546 100 19178 9000 7605 4000 2829 50
|
||||||
|
piechart 67345 200 74560 3000 32180 15000 29168 15000 66962 200
|
||||||
|
- ttext1 1025 150 12866 150 32266 9900 29901 5000 1072 200
|
||||||
|
+ ttext1 1025 150 12866 200 32266 9900 29901 5000 1072 200
|
||||||
|
ttext2 432 50 12743 50 9517 150 5306 700 473 50
|
||||||
|
tlatex1 5140 50 14050 50 16377 1300 12462 500 5170 70
|
||||||
|
tlatex2 5488 80 13507 100 18439 700 12061 500 5502 80
|
||||||
|
@@ -18,9 +18,9 @@
|
||||||
|
itbf 5600 400 13302 300 16868 400 15083 800 5638 400
|
||||||
|
tmathtext 14193187 4000000 12984 100 27112 9500 25080 3000 14193352 4000000
|
||||||
|
transparency 2386 50 14700 100 16514 7000 24701 12000 2554 100
|
||||||
|
- transpad 16185 5000 17131 350 22801 9500 14232 1000 11271 5000
|
||||||
|
+ transpad 16185 5000 17131 350 22801 9500 14232 1500 11271 5000
|
||||||
|
statfitparam 27683 400 23370 300 44898 11000 30209 5000 37580 400
|
||||||
|
- tgaxis1 20424 400 21388 300 27719 11000 16044 600 20704 400
|
||||||
|
+ tgaxis1 20424 400 21388 300 27719 11000 16044 700 20704 400
|
||||||
|
tgaxis2 15874 100 19140 300 27682 10300 15197 550 15905 100
|
||||||
|
tgaxis3 22678 300 42796 200 44177 17000 20788 11000 22866 300
|
||||||
|
tgaxis4 3817 600 14405 250 19907 6300 10674 900 4523 600
|
||||||
|
@@ -71,7 +71,7 @@
|
||||||
|
annotation3d 547845 3000 193427 3000 32383 12000 58073 20000 547493 3000
|
||||||
|
tgraph2d3 16675 3000 29541 500 40536 11300 33519 3900 16452 4000
|
||||||
|
ntuple1 256544 5000 382044 7000 54446 30400 45002 6500 261593 7000
|
||||||
|
- quarks 4759 180 14134 100 32913 600 25421 1000 4790 180
|
||||||
|
+ quarks 4759 180 14134 200 32913 600 25421 1000 4790 180
|
||||||
|
timage 1442666 150000 12900 100 26100 100 374206 15000 1102279 250000
|
||||||
|
zoomtf1 6130 500 16528 300 49750 14000 29288 4000 5429 500
|
||||||
|
zoomfit 6200 700 15706 200 31219 11000 18280 3200 6113 800
|
||||||
|
--
|
||||||
|
2.54.0
|
||||||
|
|
||||||
|
|
@ -0,0 +1,47 @@
|
||||||
|
From 9fc24a9cc827028d78c983eea5d18ac6a705e806 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Mattias Ellert <mattias.ellert@physics.uu.se>
|
||||||
|
Date: Fri, 26 Jun 2026 17:20:27 +0200
|
||||||
|
Subject: [PATCH] Revert "[cppyy] Mark `addressof` test as `xfail` on
|
||||||
|
modules=OFF build with C++17"
|
||||||
|
|
||||||
|
This reverts commit 5eb0e6466ed1b2c29853ba4bfa928dd1da3e4bcd.
|
||||||
|
---
|
||||||
|
.../pyroot/cppyy/cppyy/test/test_datatypes.py | 15 +--------------
|
||||||
|
1 file changed, 1 insertion(+), 14 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/bindings/pyroot/cppyy/cppyy/test/test_datatypes.py b/bindings/pyroot/cppyy/cppyy/test/test_datatypes.py
|
||||||
|
index e66e36529ec..71e26dd1d9b 100644
|
||||||
|
--- a/bindings/pyroot/cppyy/cppyy/test/test_datatypes.py
|
||||||
|
+++ b/bindings/pyroot/cppyy/cppyy/test/test_datatypes.py
|
||||||
|
@@ -5,18 +5,6 @@ from support import setup_make, pylong, pyunicode, IS_MAC, IS_MAC_ARM, IS_WINDOW
|
||||||
|
test_dct = "datatypes_cxx"
|
||||||
|
|
||||||
|
|
||||||
|
-def has_cpp_20():
|
||||||
|
- import cppyy
|
||||||
|
-
|
||||||
|
- return cppyy.gbl.gInterpreter.ProcessLine("__cplusplus;") >= 202002
|
||||||
|
-
|
||||||
|
-
|
||||||
|
-def is_modules_off():
|
||||||
|
- import cppyy
|
||||||
|
-
|
||||||
|
- return "runtime_cxxmodules" not in cppyy.gbl.gROOT.GetConfigFeatures()
|
||||||
|
-
|
||||||
|
-
|
||||||
|
class TestDATATYPES:
|
||||||
|
def setup_class(cls):
|
||||||
|
import cppyy
|
||||||
|
@@ -2351,8 +2339,7 @@ class TestDATATYPES:
|
||||||
|
assert str(bt(1)) == 'True'
|
||||||
|
assert str(bt(0)) == 'False'
|
||||||
|
|
||||||
|
- @mark.xfail(strict=True, run=not IS_WINDOWS, condition=IS_MAC_ARM or (not has_cpp_20() and is_modules_off()), reason="Crashes on mac-beta ARM64 and fails on Windows \
|
||||||
|
- assertion error for runtime_cxxmodules=OFF build that is explained in GitHub issue #21005")
|
||||||
|
+ @mark.xfail(strict=True, run=not IS_WINDOWS, condition=IS_MAC_ARM, reason="Crashes on mac-beta ARM64 and fails on Windows")
|
||||||
|
def test49_addressof_method(self):
|
||||||
|
"""Use of addressof for (const) methods"""
|
||||||
|
|
||||||
|
--
|
||||||
|
2.54.0
|
||||||
|
|
||||||
|
|
@ -0,0 +1,60 @@
|
||||||
|
From 4da50ef374cd231163dff77493f9367cd62583d9 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Mattias Ellert <mattias.ellert@physics.uu.se>
|
||||||
|
Date: Sun, 30 Mar 2025 21:23:14 +0200
|
||||||
|
Subject: [PATCH] Revert "[test] Fetch the geometries from EOS and not from the
|
||||||
|
website"
|
||||||
|
|
||||||
|
This reverts commit a8a879ce252e45405452db38d9178c7883582a7d.
|
||||||
|
---
|
||||||
|
test/stressGeometry.cxx | 10 +++++-----
|
||||||
|
1 file changed, 5 insertions(+), 5 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/test/stressGeometry.cxx b/test/stressGeometry.cxx
|
||||||
|
index 7fb6bf97e7..f8d78f4f54 100644
|
||||||
|
--- a/test/stressGeometry.cxx
|
||||||
|
+++ b/test/stressGeometry.cxx
|
||||||
|
@@ -1,6 +1,6 @@
|
||||||
|
// Program to check a TGeo geometry
|
||||||
|
// The first time you run this program, the geometry files will be taken
|
||||||
|
-// from /eos/root-eos/testfiles/ (previously from http://root.cern/files)
|
||||||
|
+// from http://root.cern/files
|
||||||
|
//
|
||||||
|
// How the program works
|
||||||
|
// If the file <geom_name>_ref.root does not exist, it is generated. The file
|
||||||
|
@@ -274,13 +274,13 @@ void stressGeometry(const char *exp="*", Bool_t generate_ref=kFALSE, Bool_t vecg
|
||||||
|
delete gGeoManager;
|
||||||
|
gGeoManager = 0;
|
||||||
|
}
|
||||||
|
- TGeoManager::Import(Form("root://eospublic.cern.ch//eos/root-eos/testfiles/%s",fname.Data()));
|
||||||
|
+ TGeoManager::Import(Form("http://root.cern/files/%s",fname.Data()));
|
||||||
|
if (!gGeoManager) return;
|
||||||
|
if (vecgeom) TVirtualGeoConverter::Instance()->ConvertGeometry();
|
||||||
|
|
||||||
|
fname = TString::Format("files/%s_ref_%d.root", exps[i],versions[i]);
|
||||||
|
|
||||||
|
- if (gen_ref || !TFile::Open(Form("root://eospublic.cern.ch//eos/root-eos/testfiles//%s_ref_%d.root",exps[i],versions[i]),"CACHEREAD")) {
|
||||||
|
+ if (gen_ref || !TFile::Open(Form("http://root.cern/files/%s_ref_%d.root",exps[i],versions[i]),"CACHEREAD")) {
|
||||||
|
if (!gen_ref) fprintf(stderr,"File: %s does not exist, generating it\n", fname.Data());
|
||||||
|
else fprintf(stderr,"Generating reference file %s\n", fname.Data());
|
||||||
|
WriteRef(i);
|
||||||
|
@@ -320,7 +320,7 @@ void ReadRef(Int_t kexp) {
|
||||||
|
TFile *f = 0;
|
||||||
|
//use ref_[version[i]] files
|
||||||
|
if (!gen_ref)
|
||||||
|
- fname = TString::Format("root://eospublic.cern.ch//eos/root-eos/testfiles//%s_ref_%d.root", exps[kexp],versions[kexp]);
|
||||||
|
+ fname = TString::Format("http://root.cern/files/%s_ref_%d.root", exps[kexp],versions[kexp]);
|
||||||
|
else
|
||||||
|
fname.Format("files/%s_ref_%d.root", exps[kexp],versions[kexp]);
|
||||||
|
|
||||||
|
@@ -546,7 +546,7 @@ void InspectDiff(const char* exp="alice",Long64_t ientry=-1) {
|
||||||
|
Float_t rad = 0.;
|
||||||
|
TString fname(TString::Format("%s.root",exp));
|
||||||
|
if (gSystem->AccessPathName(fname)) {
|
||||||
|
- TGeoManager::Import(Form("root://eospublic.cern.ch//eos/root-eos/testfiles//%s",fname.Data()));
|
||||||
|
+ TGeoManager::Import(Form("http://root.cern/files/%s",fname.Data()));
|
||||||
|
} else {
|
||||||
|
TGeoManager::Import(fname);
|
||||||
|
}
|
||||||
|
--
|
||||||
|
2.49.0
|
||||||
|
|
||||||
|
|
@ -0,0 +1,48 @@
|
||||||
|
From a5b9525ea1575706a523296bb47ac15f33935838 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Mattias Ellert <mattias.ellert@physics.uu.se>
|
||||||
|
Date: Mon, 2 Jun 2025 21:22:39 +0200
|
||||||
|
Subject: [PATCH] Save memory. Do not link to LLVM libraries in parallel
|
||||||
|
|
||||||
|
---
|
||||||
|
core/clingutils/test/CMakeLists.txt | 3 +++
|
||||||
|
interpreter/CppInterOp/unittests/CppInterOp/CMakeLists.txt | 6 ++++++
|
||||||
|
2 files changed, 9 insertions(+)
|
||||||
|
|
||||||
|
diff --git a/core/clingutils/test/CMakeLists.txt b/core/clingutils/test/CMakeLists.txt
|
||||||
|
index a6c7aedac99..90ac0139c24 100644
|
||||||
|
--- a/core/clingutils/test/CMakeLists.txt
|
||||||
|
+++ b/core/clingutils/test/CMakeLists.txt
|
||||||
|
@@ -36,3 +36,6 @@ if(NOT builtin_clang)
|
||||||
|
endif()
|
||||||
|
|
||||||
|
ROOT_ADD_UNITTEST_DIR(Core ${CLING_LIBRARIES} $<TARGET_OBJECTS:ClingUtils>)
|
||||||
|
+
|
||||||
|
+# Save memory. Do not link to LLVM libraries in parallel
|
||||||
|
+add_dependencies(coreclingutilstestUnit CppInterOpTests)
|
||||||
|
diff --git a/interpreter/CppInterOp/unittests/CppInterOp/CMakeLists.txt b/interpreter/CppInterOp/unittests/CppInterOp/CMakeLists.txt
|
||||||
|
index 1d6ccd3e865..dc98cdfc29a 100644
|
||||||
|
--- a/interpreter/CppInterOp/unittests/CppInterOp/CMakeLists.txt
|
||||||
|
+++ b/interpreter/CppInterOp/unittests/CppInterOp/CMakeLists.txt
|
||||||
|
@@ -67,6 +67,9 @@ add_cppinterop_unittest(CppInterOpTests
|
||||||
|
${EXTRA_TEST_SOURCE_FILES}
|
||||||
|
)
|
||||||
|
|
||||||
|
+# Save memory. Do not link to LLVM libraries in parallel
|
||||||
|
+add_dependencies(CppInterOpTests DynamicLibraryManagerTests)
|
||||||
|
+
|
||||||
|
if(NOT WIN32)
|
||||||
|
set_source_files_properties(VariableReflectionTest.cpp PROPERTIES COMPILE_FLAGS
|
||||||
|
"-Wno-pedantic"
|
||||||
|
@@ -113,6 +116,9 @@ endif()
|
||||||
|
|
||||||
|
add_dependencies(DynamicLibraryManagerTests TestSharedLib)
|
||||||
|
|
||||||
|
+# Save memory. Do not link to LLVM libraries in parallel
|
||||||
|
+add_dependencies(DynamicLibraryManagerTests Cling)
|
||||||
|
+
|
||||||
|
#export_executable_symbols_for_plugins(TestSharedLib)
|
||||||
|
add_subdirectory(TestSharedLib)
|
||||||
|
|
||||||
|
--
|
||||||
|
2.54.0
|
||||||
|
|
||||||
|
|
@ -1,82 +0,0 @@
|
||||||
diff -ur root-5.30.06.orig/core/unix/src/TUnixSystem.cxx root-5.30.06/core/unix/src/TUnixSystem.cxx
|
|
||||||
--- root-5.30.06.orig/core/unix/src/TUnixSystem.cxx 2012-01-10 16:14:31.000000000 +0100
|
|
||||||
+++ root-5.30.06/core/unix/src/TUnixSystem.cxx 2012-06-29 06:29:42.030017840 +0200
|
|
||||||
@@ -440,6 +440,9 @@
|
|
||||||
|
|
||||||
TString lib = _dyld_get_image_name(i++);
|
|
||||||
|
|
||||||
+ TRegexp sovers = "libCore\\.[0-9]+\\.*[0-9]*\\.so";
|
|
||||||
+ TRegexp dyvers = "libCore\\.[0-9]+\\.*[0-9]*\\.dylib";
|
|
||||||
+
|
|
||||||
#ifndef ROOTPREFIX
|
|
||||||
#if TARGET_OS_IPHONE || TARGET_IPHONE_SIMULATOR
|
|
||||||
// first loaded is the app so set ROOTSYS to app bundle
|
|
||||||
@@ -454,7 +457,8 @@
|
|
||||||
}
|
|
||||||
}
|
|
||||||
#else
|
|
||||||
- if (lib.EndsWith("libCore.dylib") || lib.EndsWith("libCore.so")) {
|
|
||||||
+ if (lib.EndsWith("libCore.dylib") || lib.EndsWith("libCore.so") ||
|
|
||||||
+ lib.Index(sovers) != kNPOS || lib.Index(dyvers) != kNPOS) {
|
|
||||||
char respath[kMAXPATHLEN];
|
|
||||||
if (!realpath(lib, respath)) {
|
|
||||||
if (!gSystem->Getenv("ROOTSYS"))
|
|
||||||
@@ -476,9 +480,23 @@
|
|
||||||
|
|
||||||
// add all libs loaded before libSystem.B.dylib
|
|
||||||
if (!gotFirstSo && (lib.EndsWith(".dylib") || lib.EndsWith(".so"))) {
|
|
||||||
- if (linkedDylibs.Length())
|
|
||||||
- linkedDylibs += " ";
|
|
||||||
- linkedDylibs += lib;
|
|
||||||
+ sovers = "\\.[0-9]+\\.*[0-9]*\\.so";
|
|
||||||
+ Ssiz_t idx = lib.Index(sovers);
|
|
||||||
+ if (idx != kNPOS) {
|
|
||||||
+ lib.Remove(idx);
|
|
||||||
+ lib += ".so";
|
|
||||||
+ }
|
|
||||||
+ dyvers = "\\.[0-9]+\\.*[0-9]*\\.dylib";
|
|
||||||
+ idx = lib.Index(dyvers);
|
|
||||||
+ if (idx != kNPOS) {
|
|
||||||
+ lib.Remove(idx);
|
|
||||||
+ lib += ".dylib";
|
|
||||||
+ }
|
|
||||||
+ if (!gSystem->AccessPathName(lib, kReadPermission)) {
|
|
||||||
+ if (linkedDylibs.Length())
|
|
||||||
+ linkedDylibs += " ";
|
|
||||||
+ linkedDylibs += lib;
|
|
||||||
+ }
|
|
||||||
}
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
@@ -2838,9 +2856,11 @@
|
|
||||||
delete [] exe;
|
|
||||||
exe = longerexe;
|
|
||||||
}
|
|
||||||
+ TRegexp sovers = "\\.so\\.[0-9]+";
|
|
||||||
#else
|
|
||||||
const char *cLDD="ldd";
|
|
||||||
const char *cSOEXT=".so";
|
|
||||||
+ TRegexp sovers = "\\.so\\.[0-9]+";
|
|
||||||
#endif
|
|
||||||
FILE *p = OpenPipe(TString::Format("%s %s", cLDD, exe), "r");
|
|
||||||
TString ldd;
|
|
||||||
@@ -2858,10 +2878,15 @@
|
|
||||||
}
|
|
||||||
if (solibName) {
|
|
||||||
TString solib = solibName->String();
|
|
||||||
- if (solib.EndsWith(cSOEXT)) {
|
|
||||||
- if (!linkedLibs.IsNull())
|
|
||||||
- linkedLibs += " ";
|
|
||||||
- linkedLibs += solib;
|
|
||||||
+ Ssiz_t idx = solib.Index(sovers);
|
|
||||||
+ if (solib.EndsWith(cSOEXT) || idx != kNPOS) {
|
|
||||||
+ if (idx != kNPOS)
|
|
||||||
+ solib.Remove(idx+3);
|
|
||||||
+ if (!AccessPathName(solib, kReadPermission)) {
|
|
||||||
+ if (!linkedLibs.IsNull())
|
|
||||||
+ linkedLibs += " ";
|
|
||||||
+ linkedLibs += solib;
|
|
||||||
+ }
|
|
||||||
}
|
|
||||||
}
|
|
||||||
delete tok;
|
|
||||||
BIN
root-banner.png
BIN
root-banner.png
Binary file not shown.
|
Before Width: | Height: | Size: 129 KiB |
|
|
@ -0,0 +1,27 @@
|
||||||
|
From 2920a892a5db1c24bb8af34c63aacc1438a18247 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Mattias Ellert <mattias.ellert@physics.uu.se>
|
||||||
|
Date: Sun, 28 Jun 2026 16:54:54 +0200
|
||||||
|
Subject: [PATCH 1/3] [core] The old TUUID constructor can create either
|
||||||
|
version 1 or 3
|
||||||
|
|
||||||
|
Do not fail test if version 3 is returned.
|
||||||
|
---
|
||||||
|
core/base/test/UUIDTest.cxx | 2 +-
|
||||||
|
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||||
|
|
||||||
|
diff --git a/core/base/test/UUIDTest.cxx b/core/base/test/UUIDTest.cxx
|
||||||
|
index dea3700052b..c834223f6d0 100644
|
||||||
|
--- a/core/base/test/UUIDTest.cxx
|
||||||
|
+++ b/core/base/test/UUIDTest.cxx
|
||||||
|
@@ -14,7 +14,7 @@ TEST(TUUID, UUIDv4)
|
||||||
|
EXPECT_EQ(10000u, uuids.size());
|
||||||
|
|
||||||
|
TUUID u;
|
||||||
|
- EXPECT_EQ('1', u.AsString()[14]);
|
||||||
|
+ EXPECT_TRUE('1' == u.AsString()[14] || '3' == u.AsString()[14]);
|
||||||
|
u = TUUID::UUIDv4();
|
||||||
|
std::string str = u.AsString();
|
||||||
|
EXPECT_EQ('4', str[14]);
|
||||||
|
--
|
||||||
|
2.54.0
|
||||||
|
|
||||||
13
root-dont-install-minicern.patch
Normal file
13
root-dont-install-minicern.patch
Normal file
|
|
@ -0,0 +1,13 @@
|
||||||
|
diff --git a/misc/minicern/CMakeLists.txt b/misc/minicern/CMakeLists.txt
|
||||||
|
index bae895f701..8d721f97ab 100644
|
||||||
|
--- a/misc/minicern/CMakeLists.txt
|
||||||
|
+++ b/misc/minicern/CMakeLists.txt
|
||||||
|
@@ -2,7 +2,7 @@
|
||||||
|
# CMakeLists.txt file for building ROOT misc/minicern package
|
||||||
|
############################################################################
|
||||||
|
|
||||||
|
-ROOT_LINKER_LIBRARY(minicern *.c *.f TYPE STATIC)
|
||||||
|
+ROOT_LINKER_LIBRARY(minicern *.c *.f TYPE STATIC NOINSTALL)
|
||||||
|
set_property(TARGET minicern PROPERTY POSITION_INDEPENDENT_CODE ON)
|
||||||
|
target_link_libraries(minicern ${CMAKE_Fortran_IMPLICIT_LINK_LIBRARIES})
|
||||||
|
|
||||||
File diff suppressed because it is too large
Load diff
|
|
@ -1,55 +0,0 @@
|
||||||
diff -ur root-trunk.orig/configure root-trunk/configure
|
|
||||||
--- root-trunk.orig/configure 2010-12-04 00:23:49.000000000 +0100
|
|
||||||
+++ root-trunk/configure 2010-12-04 19:40:46.810052008 +0100
|
|
||||||
@@ -2502,13 +2502,13 @@
|
|
||||||
message "Checking for libftgl"
|
|
||||||
if pkg-config --exists ftgl ; then
|
|
||||||
result "ok"
|
|
||||||
- message "Checking for ftgl version > 2.1.2"
|
|
||||||
+ message "Checking for ftgl"
|
|
||||||
ftgl_version=`pkg-config --modversion ftgl | \
|
|
||||||
tr '.' ' ' | \
|
|
||||||
awk 'BEGIN { FS = " "; } \
|
|
||||||
{ printf "%d", ($''1 * 1000 + $''2) * 1000 + $''3;}'`
|
|
||||||
# Use FTGL/ftgl.h when > 2.1.2
|
|
||||||
- if test $ftgl_version -gt 2001002 ; then
|
|
||||||
+ if test $ftgl_version -gt 0 ; then
|
|
||||||
result "ok"
|
|
||||||
ftglincdir=`pkg-config --cflags-only-I ftgl | sed 's/-I//g'`
|
|
||||||
ftgllibs=`pkg-config --libs-only-l ftgl`
|
|
||||||
diff -ur root-trunk.orig/graf3d/gl/src/TGLFontManager.cxx root-trunk/graf3d/gl/src/TGLFontManager.cxx
|
|
||||||
--- root-trunk.orig/graf3d/gl/src/TGLFontManager.cxx 2010-11-03 22:51:45.000000000 +0100
|
|
||||||
+++ root-trunk/graf3d/gl/src/TGLFontManager.cxx 2010-12-04 19:36:46.716052000 +0100
|
|
||||||
@@ -25,7 +25,13 @@
|
|
||||||
// Direct inclussion of FTGL headers is deprecated in ftgl-2.1.3 while
|
|
||||||
// ftgl-2.1.2 shipped with ROOT requires manual inclusion.
|
|
||||||
#ifndef BUILTIN_FTGL
|
|
||||||
-# include <FTGL/ftgl.h>
|
|
||||||
+# include <FTGL/FTFont.h>
|
|
||||||
+# include <FTGL/FTGLExtrdFont.h>
|
|
||||||
+# include <FTGL/FTGLOutlineFont.h>
|
|
||||||
+# include <FTGL/FTGLPolygonFont.h>
|
|
||||||
+# include <FTGL/FTGLTextureFont.h>
|
|
||||||
+# include <FTGL/FTGLPixmapFont.h>
|
|
||||||
+# include <FTGL/FTGLBitmapFont.h>
|
|
||||||
#else
|
|
||||||
# include "FTFont.h"
|
|
||||||
# include "FTGLExtrdFont.h"
|
|
||||||
diff -ur root-trunk.orig/graf3d/gl/src/TGLText.cxx root-trunk/graf3d/gl/src/TGLText.cxx
|
|
||||||
--- root-trunk.orig/graf3d/gl/src/TGLText.cxx 2010-11-03 22:51:45.000000000 +0100
|
|
||||||
+++ root-trunk/graf3d/gl/src/TGLText.cxx 2010-12-04 19:36:46.716052000 +0100
|
|
||||||
@@ -23,7 +23,13 @@
|
|
||||||
// Direct inclussion of FTGL headers is deprecated in ftgl-2.1.3 while
|
|
||||||
// ftgl-2.1.2 shipped with ROOT requires manual inclusion.
|
|
||||||
#ifndef BUILTIN_FTGL
|
|
||||||
-# include <FTGL/ftgl.h>
|
|
||||||
+# include <FTGL/FTFont.h>
|
|
||||||
+# include <FTGL/FTGLExtrdFont.h>
|
|
||||||
+# include <FTGL/FTGLOutlineFont.h>
|
|
||||||
+# include <FTGL/FTGLPolygonFont.h>
|
|
||||||
+# include <FTGL/FTGLTextureFont.h>
|
|
||||||
+# include <FTGL/FTGLPixmapFont.h>
|
|
||||||
+# include <FTGL/FTGLBitmapFont.h>
|
|
||||||
#else
|
|
||||||
# include "FTFont.h"
|
|
||||||
# include "FTGLExtrdFont.h"
|
|
||||||
6
root-get-src.sh
Executable file
6
root-get-src.sh
Executable file
|
|
@ -0,0 +1,6 @@
|
||||||
|
#!/bin/sh
|
||||||
|
VERSION=$1
|
||||||
|
wget -N https://root.cern/download/root_v${VERSION}.source.tar.gz
|
||||||
|
tar -z -x -f root_v${VERSION}.source.tar.gz
|
||||||
|
find root-${VERSION}/fonts -type f -a '!' -name 'STIX*' -exec rm {} ';'
|
||||||
|
tar -J -c --group root --owner root -f root-${VERSION}.tar.xz root-${VERSION}
|
||||||
35
root-html.C
35
root-html.C
|
|
@ -1,35 +0,0 @@
|
||||||
{
|
|
||||||
gEnv->SetValue("Root.DynamicPath", "@PWD@/lib");
|
|
||||||
gEnv->SetValue("Root.MacroPath", "@PWD@/macros");
|
|
||||||
gEnv->SetValue("Root.PluginPath", "@PWD@/etc/plugins");
|
|
||||||
gSystem->AddIncludePath("-I@PWD@/include");
|
|
||||||
gSystem->AddIncludePath("-I@PWD@/cint/cint/include");
|
|
||||||
gSystem->AddIncludePath("-I@PWD@/cint/cint/stl");
|
|
||||||
gSystem->AddIncludePath("-I@PWD@/cint/cint/lib");
|
|
||||||
gInterpreter->AddIncludePath("@PWD@/include");
|
|
||||||
gInterpreter->AddIncludePath("@PWD@/cint/cint/include");
|
|
||||||
gInterpreter->AddIncludePath("@PWD@/cint/cint/stl");
|
|
||||||
gInterpreter->AddIncludePath("@PWD@/cint/cint/lib");
|
|
||||||
#include <RtypesCint.h>
|
|
||||||
#include <iostream>
|
|
||||||
#include <string>
|
|
||||||
#include <DllImport.h>
|
|
||||||
gROOT->GetPluginManager()->LoadHandlersFromPluginDirs("");
|
|
||||||
gROOT->GetPluginManager()->AddHandler("TVirtualPS","image",
|
|
||||||
"TImageDump","Postscript",
|
|
||||||
"TImageDump()");
|
|
||||||
gROOT->GetPluginManager()->AddHandler("TVirtualStreamerInfo",
|
|
||||||
"*","TStreamerInfo",
|
|
||||||
"RIO","TStreamerInfo()");
|
|
||||||
gROOT->GetPluginManager()->AddHandler("TVirtualGraphPainter", "*",
|
|
||||||
"TGraphPainter","GraphPainter",
|
|
||||||
"TGraphPainter()");
|
|
||||||
delete (TFile*) gROOT->ProcessLine(".x tutorials/hsimple.C");
|
|
||||||
THtml html;
|
|
||||||
html.SetProductName("ROOT");
|
|
||||||
html.SetEtcDir("@PWD@/etc/html");
|
|
||||||
html.SetHomepage("http://root.cern.ch");
|
|
||||||
html.LoadAllLibs();
|
|
||||||
html.SetBatch(kTRUE);
|
|
||||||
html.MakeAll();
|
|
||||||
}
|
|
||||||
|
|
@ -1,11 +0,0 @@
|
||||||
include $(MODULE)/Module.mk
|
|
||||||
includelist:
|
|
||||||
@list=includelist-`tr / - <<< $(MODULE)` ; \
|
|
||||||
rm -f $$list ; \
|
|
||||||
for h in $(filter-out %.cw %.pri, $(ALLHDRS)) ; do \
|
|
||||||
sed 's!^include!%{_includedir}/%{name}!' <<< $$h >> $$list ; \
|
|
||||||
done ; \
|
|
||||||
if [ -r $$list ] ; then \
|
|
||||||
sort -u $$list > $$list.unique ; \
|
|
||||||
mv $$list.unique $$list ; \
|
|
||||||
fi
|
|
||||||
15
root-memory-arm-x86.patch
Normal file
15
root-memory-arm-x86.patch
Normal file
|
|
@ -0,0 +1,15 @@
|
||||||
|
--- root-6.12.04.orig/interpreter/CMakeLists.txt 2017-12-13 08:27:42.000000000 +0100
|
||||||
|
+++ root-6.12.04/interpreter/CMakeLists.txt 2018-01-11 16:33:13.034850962 +0100
|
||||||
|
@@ -75,6 +75,12 @@
|
||||||
|
set(CMAKE_MODULE_LINKER_FLAGS "${CMAKE_MODULE_LINKER_FLAGS} /ignore:4049,4206,4217,4221")
|
||||||
|
endif()
|
||||||
|
|
||||||
|
+# Reduce memory usage during linking on ARM and x86 by generating minimal debuginfo
|
||||||
|
+if(ROOT_ARCHITECTURE STREQUAL "linuxarm" OR ROOT_ARCHITECTURE STREQUAL "linux")
|
||||||
|
+ string(REPLACE " -g " " -g1 " CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}")
|
||||||
|
+ string(REPLACE " -g " " -g1 " CMAKE_C_FLAGS "${CMAKE_C_FLAGS}")
|
||||||
|
+endif()
|
||||||
|
+
|
||||||
|
set(LLVM_TARGETS_TO_BUILD ${ROOT_CLING_TARGET} CACHE STRING "Semicolon-separated list of targets to build, or \"all\".")
|
||||||
|
|
||||||
|
if(clingtest)
|
||||||
|
|
@ -1,44 +0,0 @@
|
||||||
diff -ur root-5.32.00.orig/core/meta/src/TCint.cxx root-5.32.00/core/meta/src/TCint.cxx
|
|
||||||
--- root-5.32.00.orig/core/meta/src/TCint.cxx 2011-12-02 12:41:50.000000000 +0100
|
|
||||||
+++ root-5.32.00/core/meta/src/TCint.cxx 2012-02-18 12:07:12.157520013 +0100
|
|
||||||
@@ -320,23 +320,27 @@
|
|
||||||
ProcessLine("#define ROOT_TError 0");
|
|
||||||
ProcessLine("#define ROOT_TGenericClassInfo 0");
|
|
||||||
|
|
||||||
- TString include;
|
|
||||||
- // Add the root include directory to list searched by default
|
|
||||||
+ Int_t includes = gEnv->GetValue("Cint.Includes", 1);
|
|
||||||
+ if (includes > 0) {
|
|
||||||
+ TString include;
|
|
||||||
+ // Add the root include directory to list searched by default
|
|
||||||
#ifndef ROOTINCDIR
|
|
||||||
- include = gSystem->Getenv("ROOTSYS");
|
|
||||||
- include.Append("/include");
|
|
||||||
+ include = gSystem->Getenv("ROOTSYS");
|
|
||||||
+ include.Append("/include");
|
|
||||||
#else
|
|
||||||
- include = ROOTINCDIR;
|
|
||||||
+ include = ROOTINCDIR;
|
|
||||||
#endif
|
|
||||||
- TCint::AddIncludePath(include);
|
|
||||||
+ TCint::AddIncludePath(include);
|
|
||||||
|
|
||||||
- // Allow the usage of ClassDef and ClassImp in interpreted macros
|
|
||||||
- // if RtypesCint.h can be found (think of static executable without include/)
|
|
||||||
- char* whichTypesCint = gSystem->Which(include, "RtypesCint.h");
|
|
||||||
- if (whichTypesCint) {
|
|
||||||
- ProcessLine("#include <RtypesCint.h>");
|
|
||||||
- delete[] whichTypesCint;
|
|
||||||
- }
|
|
||||||
+ // Allow the usage of ClassDef and ClassImp in interpreted macros
|
|
||||||
+ // if RtypesCint.h can be found (think of static executable without
|
|
||||||
+ // include/)
|
|
||||||
+ char* whichTypesCint = gSystem->Which(include, "RtypesCint.h");
|
|
||||||
+ if (whichTypesCint) {
|
|
||||||
+ ProcessLine("#include <RtypesCint.h>");
|
|
||||||
+ delete[] whichTypesCint;
|
|
||||||
+ }
|
|
||||||
+ }
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
54
root-no-export-python-modules.patch
Normal file
54
root-no-export-python-modules.patch
Normal file
|
|
@ -0,0 +1,54 @@
|
||||||
|
From ea7bed3a096949588b1b9086ddf66b2f7892a385 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Mattias Ellert <mattias.ellert@physics.uu.se>
|
||||||
|
Date: Thu, 4 Dec 2025 23:13:28 +0100
|
||||||
|
Subject: [PATCH] Dont export Python modules
|
||||||
|
|
||||||
|
---
|
||||||
|
bindings/pyroot/cppyy/CPyCppyy/CMakeLists.txt | 3 +--
|
||||||
|
bindings/pyroot/pythonizations/CMakeLists.txt | 9 +--------
|
||||||
|
2 files changed, 2 insertions(+), 10 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/bindings/pyroot/cppyy/CPyCppyy/CMakeLists.txt b/bindings/pyroot/cppyy/CPyCppyy/CMakeLists.txt
|
||||||
|
index 95ca00bde9f..a12d3f05e4d 100644
|
||||||
|
--- a/bindings/pyroot/cppyy/CPyCppyy/CMakeLists.txt
|
||||||
|
+++ b/bindings/pyroot/cppyy/CPyCppyy/CMakeLists.txt
|
||||||
|
@@ -120,8 +120,7 @@ install(TARGETS CPyCppyy EXPORT ${CMAKE_PROJECT_NAME}Exports
|
||||||
|
LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT libraries
|
||||||
|
ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT libraries)
|
||||||
|
|
||||||
|
-install(TARGETS cppyy EXPORT ${CMAKE_PROJECT_NAME}Exports
|
||||||
|
- RUNTIME DESTINATION ${CPPYY_INSTALL_DIR} COMPONENT libraries # Windows
|
||||||
|
+install(TARGETS cppyy RUNTIME DESTINATION ${CPPYY_INSTALL_DIR} COMPONENT libraries # Windows
|
||||||
|
LIBRARY DESTINATION ${CPPYY_INSTALL_DIR} COMPONENT libraries
|
||||||
|
ARCHIVE DESTINATION ${CPPYY_INSTALL_DIR} COMPONENT libraries)
|
||||||
|
|
||||||
|
diff --git a/bindings/pyroot/pythonizations/CMakeLists.txt b/bindings/pyroot/pythonizations/CMakeLists.txt
|
||||||
|
index 32d7d54b8da..5128e6d337c 100644
|
||||||
|
--- a/bindings/pyroot/pythonizations/CMakeLists.txt
|
||||||
|
+++ b/bindings/pyroot/pythonizations/CMakeLists.txt
|
||||||
|
@@ -63,12 +63,6 @@ if(NOT MSVC)
|
||||||
|
target_compile_options(${libname} PRIVATE -Wno-strict-aliasing)
|
||||||
|
endif()
|
||||||
|
|
||||||
|
-
|
||||||
|
-# Create meta-target PyROOT3 (INTERFACE library)
|
||||||
|
-# Export of targets are not supported for custom targets(add_custom_targets())
|
||||||
|
-add_library(PyROOT INTERFACE)
|
||||||
|
-target_link_libraries(PyROOT INTERFACE cppyy_backend cppyy ROOTPythonizations)
|
||||||
|
-
|
||||||
|
# Define library output directories for build and install trees
|
||||||
|
set(pymoduledir_build "${localruntimedir}/ROOT")
|
||||||
|
set(pymoduledir_install "${CMAKE_INSTALL_PYTHONDIR}/ROOT")
|
||||||
|
@@ -93,8 +87,7 @@ if(NOT MSVC)
|
||||||
|
endif()
|
||||||
|
|
||||||
|
# Install library
|
||||||
|
-install(TARGETS ${libname} EXPORT ${CMAKE_PROJECT_NAME}Exports
|
||||||
|
- RUNTIME DESTINATION ${pymoduledir_install} COMPONENT libraries
|
||||||
|
+install(TARGETS ${libname} RUNTIME DESTINATION ${pymoduledir_install} COMPONENT libraries
|
||||||
|
LIBRARY DESTINATION ${pymoduledir_install} COMPONENT libraries
|
||||||
|
ARCHIVE DESTINATION ${pymoduledir_install} COMPONENT libraries)
|
||||||
|
|
||||||
|
--
|
||||||
|
2.55.0
|
||||||
|
|
||||||
|
|
@ -0,0 +1,68 @@
|
||||||
|
From 87e5571eef573a1ab802c9b5b68e4215045689b9 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Mattias Ellert <mattias.ellert@physics.uu.se>
|
||||||
|
Date: Sat, 29 Aug 2026 13:15:53 +0200
|
||||||
|
Subject: [PATCH] [pdf] Fix calculation of kerning distances in generated PDF
|
||||||
|
files
|
||||||
|
|
||||||
|
Note that this uses the system fonts on Fedora rather than the bundled
|
||||||
|
fonts in the root sources.
|
||||||
|
|
||||||
|
Using the following test program
|
||||||
|
|
||||||
|
void ttest()
|
||||||
|
{
|
||||||
|
auto c = new TCanvas("c", "", 300, 100);
|
||||||
|
auto t = new TText(0.1, 0.4, "Raw assymmetry");
|
||||||
|
t->SetTextSize(0.5);
|
||||||
|
t->SetTextFont(132);
|
||||||
|
t->Draw();
|
||||||
|
c->Print("ttest.pdf");
|
||||||
|
c->Print("ttest.eps");
|
||||||
|
c->Print("ttest.png");
|
||||||
|
}
|
||||||
|
|
||||||
|
The .eps and .png images look like expected. But the .pdf image only
|
||||||
|
shows the initial capital "R", not the full "Raw assymmetry" text.
|
||||||
|
|
||||||
|
After decompressing the generated .pdf file:
|
||||||
|
|
||||||
|
cpdf -decompress ttest.pdf -o ttest.dec.pdf
|
||||||
|
|
||||||
|
the decompressed file shows that the kerning distances are incorrect:
|
||||||
|
|
||||||
|
[(R) -2147483648(a) 24(w) -2147483648( ) 0(a) 0(s) -2147483648(s) 17(y) 0(m) 0(m) 8(e) 8(t) 0(r) -2147483648(y) ]
|
||||||
|
|
||||||
|
Something has clearly gone wrong here. -2147483648 is the minimum
|
||||||
|
value that can be stored in a 16 bit signed integer.
|
||||||
|
|
||||||
|
The origin of the problem is a calculation of a difference between a
|
||||||
|
UInt_t (i.e. unsigned) value and an Int_t (i.e. signed) value in the
|
||||||
|
TPDF::Text() method. Casting the UInt_t to an Int_t before calculating
|
||||||
|
the difference, as done in this commit, fixes the problem. With this
|
||||||
|
change the kerning distances are better:
|
||||||
|
|
||||||
|
[(R) -2(a) 24(w) -2( ) 0(a) 0(s) -2(s) 17(y) 0(m) 0(m) 8(e) 8(t) 0(r) -2(y) ]
|
||||||
|
|
||||||
|
and the generated .pdf file shows the complete text. The generated
|
||||||
|
.png and .eps files do not change (except for the time stamp in the
|
||||||
|
.eps file).
|
||||||
|
---
|
||||||
|
graf2d/postscript/src/TPDF.cxx | 2 +-
|
||||||
|
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||||
|
|
||||||
|
diff --git a/graf2d/postscript/src/TPDF.cxx b/graf2d/postscript/src/TPDF.cxx
|
||||||
|
index 21a2506010f..e1cd9b10d10 100644
|
||||||
|
--- a/graf2d/postscript/src/TPDF.cxx
|
||||||
|
+++ b/graf2d/postscript/src/TPDF.cxx
|
||||||
|
@@ -1943,7 +1943,7 @@ void TPDF::Text(Double_t xx, Double_t yy, const char *chars)
|
||||||
|
tmp[0] = chars[i-1];
|
||||||
|
UInt_t width=0;
|
||||||
|
t.GetTextAdvance(width, &tmp[0], kFALSE);
|
||||||
|
- Double_t wwl = gPad->AbsPixeltoX(width - charDeltas[i]) - gPad->AbsPixeltoX(0);
|
||||||
|
+ Double_t wwl = gPad->AbsPixeltoX((Int_t)width - charDeltas[i]) - gPad->AbsPixeltoX(0);
|
||||||
|
wwl -= 0.5*(gPad->AbsPixeltoX(1) - gPad->AbsPixeltoX(0)); // half a pixel ~ rounding error
|
||||||
|
charDeltas[i] = (Int_t)((1000.0/Float_t(fontsize))*(XtoPDF(wwl) - XtoPDF(0))/scale);
|
||||||
|
}
|
||||||
|
--
|
||||||
|
2.55.0
|
||||||
|
|
||||||
87
root-testfiles.sh
Executable file
87
root-testfiles.sh
Executable file
|
|
@ -0,0 +1,87 @@
|
||||||
|
#! /bin/sh
|
||||||
|
|
||||||
|
SITE="https://root.cern/files"
|
||||||
|
|
||||||
|
mkdir files
|
||||||
|
pushd files
|
||||||
|
|
||||||
|
wget -N ${SITE}/aleph_ref_5.root
|
||||||
|
wget -N ${SITE}/aleph.root
|
||||||
|
wget -N ${SITE}/alice3_ref_6.root
|
||||||
|
wget -N ${SITE}/alice3.root
|
||||||
|
wget -N ${SITE}/ams_ref_4.root
|
||||||
|
wget -N ${SITE}/ams.root
|
||||||
|
wget -N ${SITE}/atlas_ref_6.root
|
||||||
|
wget -N ${SITE}/atlas.root
|
||||||
|
wget -N ${SITE}/babar2_ref_4.root
|
||||||
|
wget -N ${SITE}/babar2.root
|
||||||
|
wget -N ${SITE}/barres_ref_3.root
|
||||||
|
wget -N ${SITE}/barres.root
|
||||||
|
wget -N ${SITE}/belle_ref_3.root
|
||||||
|
wget -N ${SITE}/belle.root
|
||||||
|
wget -N ${SITE}/bes_ref_3.root
|
||||||
|
wget -N ${SITE}/bes.root
|
||||||
|
wget -N ${SITE}/brahms_ref_3.root
|
||||||
|
wget -N ${SITE}/brahms.root
|
||||||
|
wget -N ${SITE}/btev_ref_3.root
|
||||||
|
wget -N ${SITE}/btev.root
|
||||||
|
wget -N ${SITE}/cdf_ref_6.root
|
||||||
|
wget -N ${SITE}/cdf.root
|
||||||
|
wget -N ${SITE}/chambers_ref_3.root
|
||||||
|
wget -N ${SITE}/chambers.root
|
||||||
|
wget -N ${SITE}/cms_ref_4.root
|
||||||
|
wget -N ${SITE}/cms.root
|
||||||
|
wget -N ${SITE}/dubna_ref_3.root
|
||||||
|
wget -N ${SITE}/dubna.root
|
||||||
|
wget -N ${SITE}/e907_ref_3.root
|
||||||
|
wget -N ${SITE}/e907.root
|
||||||
|
wget -N ${SITE}/felix_ref_3.root
|
||||||
|
wget -N ${SITE}/felix.root
|
||||||
|
wget -N ${SITE}/ganil_ref_3.root
|
||||||
|
wget -N ${SITE}/ganil.root
|
||||||
|
wget -N ${SITE}/gem_ref_5.root
|
||||||
|
wget -N ${SITE}/gem.root
|
||||||
|
wget -N ${SITE}/hades2_ref_4.root
|
||||||
|
wget -N ${SITE}/hades2.root
|
||||||
|
wget -N ${SITE}/hermes_ref_3.root
|
||||||
|
wget -N ${SITE}/hermes.root
|
||||||
|
wget -N ${SITE}/integral_ref_4.root
|
||||||
|
wget -N ${SITE}/integral.root
|
||||||
|
wget -N ${SITE}/lhcbfull_ref_4.root
|
||||||
|
wget -N ${SITE}/lhcbfull.root
|
||||||
|
wget -N ${SITE}/na35_ref_3.root
|
||||||
|
wget -N ${SITE}/na35.root
|
||||||
|
wget -N ${SITE}/na47_ref_3.root
|
||||||
|
wget -N ${SITE}/na47.root
|
||||||
|
wget -N ${SITE}/na49_ref_3.root
|
||||||
|
wget -N ${SITE}/na49.root
|
||||||
|
wget -N ${SITE}/p326_ref_4.root
|
||||||
|
wget -N ${SITE}/p326.root
|
||||||
|
wget -N ${SITE}/phenix_ref_3.root
|
||||||
|
wget -N ${SITE}/phenix.root
|
||||||
|
wget -N ${SITE}/phobos2_ref_4.root
|
||||||
|
wget -N ${SITE}/phobos2.root
|
||||||
|
wget -N ${SITE}/sdc_ref_3.root
|
||||||
|
wget -N ${SITE}/sdc.root
|
||||||
|
wget -N ${SITE}/sld_ref_4.root
|
||||||
|
wget -N ${SITE}/sld.root
|
||||||
|
wget -N ${SITE}/star_ref_4.root
|
||||||
|
wget -N ${SITE}/star.root
|
||||||
|
wget -N ${SITE}/tesla_ref_4.root
|
||||||
|
wget -N ${SITE}/tesla.root
|
||||||
|
wget -N ${SITE}/wa91_ref_3.root
|
||||||
|
wget -N ${SITE}/wa91.root
|
||||||
|
|
||||||
|
wget -N ${SITE}/europe.root
|
||||||
|
wget -N ${SITE}/usa.root
|
||||||
|
|
||||||
|
for f in *.root ; do ln -s $f $f.ROOT.cachefile ; done
|
||||||
|
|
||||||
|
mkdir tutorials
|
||||||
|
pushd tutorials
|
||||||
|
wget -N ${SITE}/tutorials/df014_CsvDataSource_MuRun2010B.csv
|
||||||
|
popd
|
||||||
|
|
||||||
|
popd
|
||||||
|
|
||||||
|
tar -J -c --group root --owner root -f root-testfiles.tar.xz files
|
||||||
146
root-tmva-sofie-Complete-big-endian-support-for-ONNX-init.patch
Normal file
146
root-tmva-sofie-Complete-big-endian-support-for-ONNX-init.patch
Normal file
|
|
@ -0,0 +1,146 @@
|
||||||
|
From 2fec5822e305b9b203894aa0fe3e4dded1f673cc Mon Sep 17 00:00:00 2001
|
||||||
|
From: Jonas Rembser <jonas.rembser@cern.ch>
|
||||||
|
Date: Wed, 8 Jul 2026 11:13:16 +0200
|
||||||
|
Subject: [PATCH] [tmva][sofie] Complete big-endian support for ONNX
|
||||||
|
initializer tensors
|
||||||
|
MIME-Version: 1.0
|
||||||
|
Content-Type: text/plain; charset=UTF-8
|
||||||
|
Content-Transfer-Encoding: 8bit
|
||||||
|
|
||||||
|
Follow-up to the last commit ("[tmva][sofie] Fix big endian"), which
|
||||||
|
byte-swapped raw_data initializers on big-endian platforms but left a
|
||||||
|
few gaps:
|
||||||
|
|
||||||
|
- Initializers with data_location == EXTERNAL were still read from the
|
||||||
|
external weights file without swapping, silently producing
|
||||||
|
byte-reversed weights on big-endian machines.
|
||||||
|
|
||||||
|
- The type switch only handled FLOAT, DOUBLE, INT32 and INT64. One-byte
|
||||||
|
types (BOOL, UINT8, INT8), which parse fine on little-endian via
|
||||||
|
plain memcpy, now threw on big-endian, and the other fixed-width
|
||||||
|
types (INT16, UINT16, UINT32, UINT64) were rejected as well.
|
||||||
|
|
||||||
|
- The swap loops dereferenced the protobuf string buffer through
|
||||||
|
reinterpret_cast'ed uint32_t*/uint64_t* pointers, which is a
|
||||||
|
misaligned access on strict-alignment targets (e.g. SPARC) since
|
||||||
|
the buffer carries no alignment guarantee.
|
||||||
|
|
||||||
|
Replace the four copy-pasted swap loops with a width-dispatched helper,
|
||||||
|
CopyLEToHost, that plain-copies 1-byte element types and byte-swaps
|
||||||
|
2/4/8-byte elements through a memcpy'd temporary (no misaligned loads,
|
||||||
|
valid for in-place use), and call it from both the raw_data and the
|
||||||
|
external-data paths.
|
||||||
|
|
||||||
|
🤖 Done with the help of AI
|
||||||
|
---
|
||||||
|
tmva/sofie_parsers/src/RModelParser_ONNX.cxx | 73 ++++++++++++--------
|
||||||
|
1 file changed, 45 insertions(+), 28 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/tmva/sofie_parsers/src/RModelParser_ONNX.cxx b/tmva/sofie_parsers/src/RModelParser_ONNX.cxx
|
||||||
|
index ac4cc7d5740..1c14d12ba30 100644
|
||||||
|
--- a/tmva/sofie_parsers/src/RModelParser_ONNX.cxx
|
||||||
|
+++ b/tmva/sofie_parsers/src/RModelParser_ONNX.cxx
|
||||||
|
@@ -4,6 +4,7 @@
|
||||||
|
|
||||||
|
#include <stdexcept>
|
||||||
|
#include <string>
|
||||||
|
+#include <cstring>
|
||||||
|
#include <memory>
|
||||||
|
#include <cassert>
|
||||||
|
#include <iostream>
|
||||||
|
@@ -155,6 +156,45 @@ struct ExtractDataFromTP<int64_t> {
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
+#ifndef R__BYTESWAP
|
||||||
|
+namespace {
|
||||||
|
+
|
||||||
|
+// Copy nbytes from source to dest, byte-swapping each N-byte element. The
|
||||||
|
+// temporary avoids misaligned loads from the protobuf string buffer and makes
|
||||||
|
+// in-place swapping (dest == source) valid.
|
||||||
|
+template <std::size_t N>
|
||||||
|
+void CopyBswap(void *dest, const void *source, std::size_t nbytes)
|
||||||
|
+{
|
||||||
|
+ using value_type = typename RByteSwap<N>::value_type;
|
||||||
|
+ auto dst = static_cast<unsigned char *>(dest);
|
||||||
|
+ auto src = static_cast<const unsigned char *>(source);
|
||||||
|
+ for (std::size_t k = 0; k < nbytes; k += N) {
|
||||||
|
+ value_type v;
|
||||||
|
+ std::memcpy(&v, src + k, N);
|
||||||
|
+ v = RByteSwap<N>::bswap(v);
|
||||||
|
+ std::memcpy(dst + k, &v, N);
|
||||||
|
+ }
|
||||||
|
+}
|
||||||
|
+
|
||||||
|
+// Copy a buffer of little-endian tensor elements to host (big-endian) byte order
|
||||||
|
+void CopyLEToHost(void *dest, const void *source, std::size_t nbytes, ETensorType tensor_type)
|
||||||
|
+{
|
||||||
|
+ switch (GetTypeSize(tensor_type)) {
|
||||||
|
+ case 1:
|
||||||
|
+ if (dest != source)
|
||||||
|
+ std::memcpy(dest, source, nbytes);
|
||||||
|
+ break;
|
||||||
|
+ case 2: CopyBswap<2>(dest, source, nbytes); break;
|
||||||
|
+ case 4: CopyBswap<4>(dest, source, nbytes); break;
|
||||||
|
+ case 8: CopyBswap<8>(dest, source, nbytes); break;
|
||||||
|
+ default:
|
||||||
|
+ throw std::runtime_error("Data type " + ConvertTypeToString(tensor_type) + " in tensor is not supported!\n");
|
||||||
|
+ }
|
||||||
|
+}
|
||||||
|
+
|
||||||
|
+} // anonymous namespace
|
||||||
|
+#endif
|
||||||
|
+
|
||||||
|
std::shared_ptr<void> RModelParser_ONNX::GetInitializedTensorData(onnx::TensorProto *tensorproto, size_t tensor_size, ETensorType tensor_type)
|
||||||
|
{
|
||||||
|
|
||||||
|
@@ -172,34 +212,7 @@ std::shared_ptr<void> RModelParser_ONNX::GetInitializedTensorData(onnx::TensorPr
|
||||||
|
std::memcpy(data.get(), tensorproto->raw_data().c_str(), tensor_size);
|
||||||
|
#else
|
||||||
|
// big-endian architectures - need to swap bytes
|
||||||
|
- switch (tensor_type) {
|
||||||
|
- case ETensorType::FLOAT:
|
||||||
|
- for (std::size_t k = 0; k < tensor_size / sizeof(float); ++k)
|
||||||
|
- (reinterpret_cast<typename RByteSwap<sizeof(float)>::value_type *>(data.get()))[k] =
|
||||||
|
- RByteSwap<sizeof(float)>::bswap((reinterpret_cast<const typename RByteSwap<sizeof(float)>::value_type *>(
|
||||||
|
- tensorproto->raw_data().c_str()))[k]);
|
||||||
|
- break;
|
||||||
|
- case ETensorType::DOUBLE:
|
||||||
|
- for (std::size_t k = 0; k < tensor_size / sizeof(double); ++k)
|
||||||
|
- (reinterpret_cast<typename RByteSwap<sizeof(double)>::value_type *>(data.get()))[k] =
|
||||||
|
- RByteSwap<sizeof(double)>::bswap((reinterpret_cast<const typename RByteSwap<sizeof(double)>::value_type *>(
|
||||||
|
- tensorproto->raw_data().c_str()))[k]);
|
||||||
|
- break;
|
||||||
|
- case ETensorType::INT32:
|
||||||
|
- for (std::size_t k = 0; k < tensor_size / sizeof(int32_t); ++k)
|
||||||
|
- (reinterpret_cast<typename RByteSwap<sizeof(int32_t)>::value_type *>(data.get()))[k] =
|
||||||
|
- RByteSwap<sizeof(int32_t)>::bswap((reinterpret_cast<const typename RByteSwap<sizeof(int32_t)>::value_type *>(
|
||||||
|
- tensorproto->raw_data().c_str()))[k]);
|
||||||
|
- break;
|
||||||
|
- case ETensorType::INT64:
|
||||||
|
- for (std::size_t k = 0; k < tensor_size / sizeof(int64_t); ++k)
|
||||||
|
- (reinterpret_cast<typename RByteSwap<sizeof(int64_t)>::value_type *>(data.get()))[k] =
|
||||||
|
- RByteSwap<sizeof(int64_t)>::bswap((reinterpret_cast<const typename RByteSwap<sizeof(int64_t)>::value_type *>(
|
||||||
|
- tensorproto->raw_data().c_str()))[k]);
|
||||||
|
- break;
|
||||||
|
- default:
|
||||||
|
- throw std::runtime_error("Data type " + ConvertTypeToString(tensor_type) + " in tensor is not supported!\n");
|
||||||
|
- }
|
||||||
|
+ CopyLEToHost(data.get(), tensorproto->raw_data().c_str(), tensor_size, tensor_type);
|
||||||
|
#endif
|
||||||
|
} else {
|
||||||
|
// case tensor data are stored as specific types and not in raw_data
|
||||||
|
@@ -262,6 +275,10 @@ std::shared_ptr<void> RModelParser_ONNX::GetInitializedTensorData(onnx::TensorPr
|
||||||
|
|
||||||
|
fDataFile.seekg(offset);
|
||||||
|
fDataFile.read(reinterpret_cast<char *>(data.get()), buffer_size);
|
||||||
|
+#ifndef R__BYTESWAP
|
||||||
|
+ // external data is stored little-endian like raw_data - swap in place
|
||||||
|
+ CopyLEToHost(data.get(), data.get(), buffer_size, tensor_type);
|
||||||
|
+#endif
|
||||||
|
}
|
||||||
|
|
||||||
|
return data;
|
||||||
|
--
|
||||||
|
2.55.0
|
||||||
|
|
||||||
68
root-tmva-sofie-Fix-big-endian.patch
Normal file
68
root-tmva-sofie-Fix-big-endian.patch
Normal file
|
|
@ -0,0 +1,68 @@
|
||||||
|
From 8554bf49749efd8de5538bf99c12a04d2691102d Mon Sep 17 00:00:00 2001
|
||||||
|
From: Mattias Ellert <mattias.ellert@physics.uu.se>
|
||||||
|
Date: Sun, 28 Jun 2026 16:49:23 +0200
|
||||||
|
Subject: [PATCH] [tmva][sofie] Fix big endian
|
||||||
|
|
||||||
|
---
|
||||||
|
tmva/sofie_parsers/src/RModelParser_ONNX.cxx | 36 ++++++++++++++++----
|
||||||
|
1 file changed, 30 insertions(+), 6 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/tmva/sofie_parsers/src/RModelParser_ONNX.cxx b/tmva/sofie_parsers/src/RModelParser_ONNX.cxx
|
||||||
|
index aa196c510ad..ac4cc7d5740 100644
|
||||||
|
--- a/tmva/sofie_parsers/src/RModelParser_ONNX.cxx
|
||||||
|
+++ b/tmva/sofie_parsers/src/RModelParser_ONNX.cxx
|
||||||
|
@@ -172,13 +172,37 @@ std::shared_ptr<void> RModelParser_ONNX::GetInitializedTensorData(onnx::TensorPr
|
||||||
|
std::memcpy(data.get(), tensorproto->raw_data().c_str(), tensor_size);
|
||||||
|
#else
|
||||||
|
// big-endian architectures - need to swap bytes
|
||||||
|
- for (std::size_t k = 0; k < tensor_size; ++k)
|
||||||
|
- (reinterpret_cast<typename RByteSwap<sizeof(uint8_t)>::value_type *>(data.get()))[k] =
|
||||||
|
- RByteSwap<sizeof(T)>::bswap((reinterpret_cast<const typename RByteSwap<sizeof(uint8_t)>::value_type *>(
|
||||||
|
- tensorproto->raw_data().c_str()))[k]);
|
||||||
|
+ switch (tensor_type) {
|
||||||
|
+ case ETensorType::FLOAT:
|
||||||
|
+ for (std::size_t k = 0; k < tensor_size / sizeof(float); ++k)
|
||||||
|
+ (reinterpret_cast<typename RByteSwap<sizeof(float)>::value_type *>(data.get()))[k] =
|
||||||
|
+ RByteSwap<sizeof(float)>::bswap((reinterpret_cast<const typename RByteSwap<sizeof(float)>::value_type *>(
|
||||||
|
+ tensorproto->raw_data().c_str()))[k]);
|
||||||
|
+ break;
|
||||||
|
+ case ETensorType::DOUBLE:
|
||||||
|
+ for (std::size_t k = 0; k < tensor_size / sizeof(double); ++k)
|
||||||
|
+ (reinterpret_cast<typename RByteSwap<sizeof(double)>::value_type *>(data.get()))[k] =
|
||||||
|
+ RByteSwap<sizeof(double)>::bswap((reinterpret_cast<const typename RByteSwap<sizeof(double)>::value_type *>(
|
||||||
|
+ tensorproto->raw_data().c_str()))[k]);
|
||||||
|
+ break;
|
||||||
|
+ case ETensorType::INT32:
|
||||||
|
+ for (std::size_t k = 0; k < tensor_size / sizeof(int32_t); ++k)
|
||||||
|
+ (reinterpret_cast<typename RByteSwap<sizeof(int32_t)>::value_type *>(data.get()))[k] =
|
||||||
|
+ RByteSwap<sizeof(int32_t)>::bswap((reinterpret_cast<const typename RByteSwap<sizeof(int32_t)>::value_type *>(
|
||||||
|
+ tensorproto->raw_data().c_str()))[k]);
|
||||||
|
+ break;
|
||||||
|
+ case ETensorType::INT64:
|
||||||
|
+ for (std::size_t k = 0; k < tensor_size / sizeof(int64_t); ++k)
|
||||||
|
+ (reinterpret_cast<typename RByteSwap<sizeof(int64_t)>::value_type *>(data.get()))[k] =
|
||||||
|
+ RByteSwap<sizeof(int64_t)>::bswap((reinterpret_cast<const typename RByteSwap<sizeof(int64_t)>::value_type *>(
|
||||||
|
+ tensorproto->raw_data().c_str()))[k]);
|
||||||
|
+ break;
|
||||||
|
+ default:
|
||||||
|
+ throw std::runtime_error("Data type " + ConvertTypeToString(tensor_type) + " in tensor is not supported!\n");
|
||||||
|
+ }
|
||||||
|
#endif
|
||||||
|
} else {
|
||||||
|
- // case tensor data are stored as specific types and now in raw_data
|
||||||
|
+ // case tensor data are stored as specific types and not in raw_data
|
||||||
|
switch (tensor_type) {
|
||||||
|
case ETensorType::FLOAT: {
|
||||||
|
ExtractDataFromTP<float>::Copy(tensorproto, data.get(), tensor_size/ 4);
|
||||||
|
@@ -200,7 +224,7 @@ std::shared_ptr<void> RModelParser_ONNX::GetInitializedTensorData(onnx::TensorPr
|
||||||
|
throw std::runtime_error("TMVA::SOFIE - ExtractData from TP in BOOL not supported");
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
- case ETensorType::UINT8: {
|
||||||
|
+ case ETensorType::UINT8: {
|
||||||
|
throw std::runtime_error("TMVA::SOFIE - ExtractData from TP in UINT8 not supported");
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
--
|
||||||
|
2.54.0
|
||||||
|
|
||||||
|
|
@ -0,0 +1,25 @@
|
||||||
|
From 58b38e29586975e714deee6ac195b286eb9a73cf Mon Sep 17 00:00:00 2001
|
||||||
|
From: Mattias Ellert <mattias.ellert@physics.uu.se>
|
||||||
|
Date: Sun, 28 Jun 2026 16:59:36 +0200
|
||||||
|
Subject: [PATCH 2/3] [tree][df] Do not fail test on 32 bit due to mis-aligned
|
||||||
|
atomic
|
||||||
|
|
||||||
|
---
|
||||||
|
tree/dataframe/test/dataframe_hist.cxx | 1 +
|
||||||
|
1 file changed, 1 insertion(+)
|
||||||
|
|
||||||
|
diff --git a/tree/dataframe/test/dataframe_hist.cxx b/tree/dataframe/test/dataframe_hist.cxx
|
||||||
|
index f5fe396b50d..7a2c6659a84 100644
|
||||||
|
--- a/tree/dataframe/test/dataframe_hist.cxx
|
||||||
|
+++ b/tree/dataframe/test/dataframe_hist.cxx
|
||||||
|
@@ -31,6 +31,7 @@ public:
|
||||||
|
RDFHist()
|
||||||
|
{
|
||||||
|
fDiag.optionalDiag(kWarning, "", "Filling RHist is experimental", /*matchFullMessage=*/false);
|
||||||
|
+ fDiag.optionalDiag(kWarning, "cling", "expected alignment (8 bytes) exceeds the actual alignment (4 bytes) [-Watomic-alignment]", false);
|
||||||
|
if (GetParam())
|
||||||
|
ROOT::EnableImplicitMT(4);
|
||||||
|
}
|
||||||
|
--
|
||||||
|
2.54.0
|
||||||
|
|
||||||
32
root-tree-nt-Compare-size-to-the-size-of-the-struct.patch
Normal file
32
root-tree-nt-Compare-size-to-the-size-of-the-struct.patch
Normal file
|
|
@ -0,0 +1,32 @@
|
||||||
|
From 07cbb0515e4f45808696037adce7c0f1bc5e903d Mon Sep 17 00:00:00 2001
|
||||||
|
From: Mattias Ellert <mattias.ellert@physics.uu.se>
|
||||||
|
Date: Sun, 28 Jun 2026 17:01:40 +0200
|
||||||
|
Subject: [PATCH 3/3] [tree][nt] Compare size to the size of the struct
|
||||||
|
|
||||||
|
Do not assume it is 2 * sizeof(double), which is not true on 32 bit.
|
||||||
|
---
|
||||||
|
tree/ntuple/test/ntuple_modelext.cxx | 4 ++--
|
||||||
|
1 file changed, 2 insertions(+), 2 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/tree/ntuple/test/ntuple_modelext.cxx b/tree/ntuple/test/ntuple_modelext.cxx
|
||||||
|
index 8ec3886f921..ef27e844e84 100644
|
||||||
|
--- a/tree/ntuple/test/ntuple_modelext.cxx
|
||||||
|
+++ b/tree/ntuple/test/ntuple_modelext.cxx
|
||||||
|
@@ -810,12 +810,12 @@ TEST(RNTuple, ModelExtensionRecordNested)
|
||||||
|
modelUpdater->AddField(std::make_unique<RField<double>>("ptHP"), "r1.r2.r3.r4");
|
||||||
|
modelUpdater->CommitUpdate();
|
||||||
|
|
||||||
|
- EXPECT_EQ(2 * sizeof(double), writer->GetModel().GetConstField("r1").GetValueSize());
|
||||||
|
- entry = writer->CreateEntry();
|
||||||
|
struct FloatAndDouble {
|
||||||
|
float pt;
|
||||||
|
double ptHP;
|
||||||
|
};
|
||||||
|
+ EXPECT_EQ(sizeof(FloatAndDouble), writer->GetModel().GetConstField("r1").GetValueSize());
|
||||||
|
+ entry = writer->CreateEntry();
|
||||||
|
|
||||||
|
auto ptrFloatAndDouble = static_cast<FloatAndDouble *>(entry->GetPtr<void>("r1").get());
|
||||||
|
ptrFloatAndDouble->pt = 2.0;
|
||||||
|
--
|
||||||
|
2.54.0
|
||||||
|
|
||||||
|
|
@ -1,39 +0,0 @@
|
||||||
diff -ur root-trunk.orig/math/unuran/Module.mk root-trunk/math/unuran/Module.mk
|
|
||||||
--- root-trunk.orig/math/unuran/Module.mk 2010-11-25 20:41:32.000000000 +0100
|
|
||||||
+++ root-trunk/math/unuran/Module.mk 2010-11-25 20:51:47.190704977 +0100
|
|
||||||
@@ -20,7 +20,7 @@
|
|
||||||
UNURANETAG := $(call stripsrc,$(UNURANDIRS)/headers.d)
|
|
||||||
UNRCFG := $(call stripsrc,$(UNURANDIRS)/$(UNRVERS)/config.h)
|
|
||||||
|
|
||||||
-UNRTARCONTENT:=$(subst $(UNRVERS),$(UNRDIRS),$(shell mkdir -p $(UNRDIR); cd $(UNRDIR); gunzip -c $(UNRSRCS) | tar tf -))
|
|
||||||
+UNRTARCONTENT:=
|
|
||||||
UNRS := $(filter %.c, \
|
|
||||||
$(filter $(UNRDIRS)/src/utils/%,$(UNRTARCONTENT)) \
|
|
||||||
$(filter $(UNRDIRS)/src/methods/%,$(UNRTARCONTENT)) \
|
|
||||||
@@ -69,10 +69,9 @@
|
|
||||||
##### local rules #####
|
|
||||||
.PHONY: all-$(MODNAME) clean-$(MODNAME) distclean-$(MODNAME)
|
|
||||||
|
|
||||||
-include/%.h: $(UNURANDIRI)/%.h $(UNURANETAG)
|
|
||||||
+include/%.h: $(UNURANDIRI)/%.h
|
|
||||||
cp $< $@
|
|
||||||
|
|
||||||
-$(UNURANDEP): $(UNRCFG)
|
|
||||||
$(UNRS): $(UNURANETAG)
|
|
||||||
|
|
||||||
$(UNURANETAG): $(UNRSRCS)
|
|
||||||
@@ -125,12 +124,12 @@
|
|
||||||
GNUMAKE=$(MAKE) ./configure CC="$$ACC" \
|
|
||||||
CFLAGS="$$ACFLAGS");
|
|
||||||
|
|
||||||
-$(UNURANLIB): $(UNRCFG) $(UNRO) $(UNURANO) $(UNURANDO) $(ORDER_) \
|
|
||||||
+$(UNURANLIB): $(UNURANO) $(UNURANDO) $(ORDER_) \
|
|
||||||
$(MAINLIBS) $(UNURANLIBDEP)
|
|
||||||
@$(MAKELIB) $(PLATFORM) $(LD) "$(LDFLAGS)" \
|
|
||||||
"$(SOFLAGS)" libUnuran.$(SOEXT) $@ \
|
|
||||||
"$(UNURANO) $(UNURANDO)" \
|
|
||||||
- "$(UNURANLIBEXTRA) $(UNRO)"
|
|
||||||
+ "$(UNURANLIBEXTRA) -lunuran"
|
|
||||||
|
|
||||||
$(UNURANDS): $(UNRINIT) $(UNURANDH1) $(UNURANL) $(ROOTCINTTMPDEP)
|
|
||||||
$(MAKEDIR)
|
|
||||||
|
|
@ -1,70 +0,0 @@
|
||||||
diff -ur root-5.30.04.orig/configure root-5.30.04/configure
|
|
||||||
--- root-5.30.04.orig/configure 2011-11-08 14:28:55.000000000 +0100
|
|
||||||
+++ root-5.30.04/configure 2011-11-16 05:48:21.224144395 +0100
|
|
||||||
@@ -4424,13 +4424,15 @@
|
|
||||||
if test "x$externalxrd" = "xyes"; then
|
|
||||||
buildxrd="no"
|
|
||||||
# Check if bonjour is available for code potentially using it ...
|
|
||||||
- if test "x$enable_bonjour" = "xyes"; then
|
|
||||||
- check_symbol XrdOucBonjour "libXrdOuc.a" "$xrdlibdir"
|
|
||||||
- if test $found_symbol -eq 0 ; then
|
|
||||||
- bjrcomm="External xrootd has no bonjour support: disabling bonjour in XrdProofd"
|
|
||||||
- bonjourcppflags=
|
|
||||||
- fi
|
|
||||||
- fi
|
|
||||||
+ ## This test is broken and will always fail.
|
|
||||||
+ ##if test "x$enable_bonjour" = "xyes"; then
|
|
||||||
+ ## check_symbol XrdOucBonjour "libXrdOuc.a" "$xrdlibdir"
|
|
||||||
+ ## if test $found_symbol -eq 0 ; then
|
|
||||||
+ ## bjrcomm="External xrootd has no bonjour support: disabling bonjour in XrdProofd"
|
|
||||||
+ ## bonjourcppflags=
|
|
||||||
+ ## fi
|
|
||||||
+ ##fi
|
|
||||||
+ bonjourcppflags=
|
|
||||||
fi
|
|
||||||
else
|
|
||||||
buildxrd="no"
|
|
||||||
diff -ur root-5.30.04.orig/proof/proofd/Module.mk root-5.30.04/proof/proofd/Module.mk
|
|
||||||
--- root-5.30.04.orig/proof/proofd/Module.mk 2011-11-08 14:28:15.000000000 +0100
|
|
||||||
+++ root-5.30.04/proof/proofd/Module.mk 2011-11-16 07:29:54.315314349 +0100
|
|
||||||
@@ -129,12 +129,10 @@
|
|
||||||
XPDINCEXTRA += $(PROOFDDIRI:%=-I%)
|
|
||||||
ifeq ($(HASXRDUTILS),no)
|
|
||||||
|
|
||||||
-XPDLIBEXTRA += -L$(XROOTDDIRL) -lXrdOuc -lXrdNet -lXrdSys \
|
|
||||||
- -lXrdClient -lXrdSut $(DNSSDLIB)
|
|
||||||
-XPROOFDEXELIBS := $(XROOTDDIRL)/libXrd.a $(XROOTDDIRL)/libXrdClient.a \
|
|
||||||
- $(XROOTDDIRL)/libXrdNet.a \
|
|
||||||
- $(XROOTDDIRL)/libXrdOuc.a \
|
|
||||||
- $(XROOTDDIRL)/libXrdSys.a $(XROOTDDIRL)/libXrdSut.a
|
|
||||||
+XPDLIBEXTRA += -L$(XROOTDDIRL) -lXrd -lXrdClient -lXrdSut \
|
|
||||||
+ -lXrdNet -lXrdOuc -lXrdSys $(DNSSDLIB)
|
|
||||||
+XPROOFDEXELIBS := -L$(XROOTDDIRL) -lXrd -lXrdClient -lXrdSut \
|
|
||||||
+ -lXrdNet -lXrdOuc -lXrdSys
|
|
||||||
# Starting from Jul 2010 XrdNet has been split in two libs: XrdNet and XrdNetUtil;
|
|
||||||
# both are needed
|
|
||||||
XRDNETUTIL :=
|
|
||||||
@@ -144,8 +142,8 @@
|
|
||||||
fi)
|
|
||||||
endif
|
|
||||||
ifeq ($(XRDNETUTIL),yes)
|
|
||||||
-XPDLIBEXTRA += -L$(XROOTDDIRL) -lXrdNetUtil
|
|
||||||
-XPROOFDEXELIBS += $(XROOTDDIRL)/libXrdNetUtil.a
|
|
||||||
+XPDLIBEXTRA += -lXrdNetUtil
|
|
||||||
+XPROOFDEXELIBS += -lXrdNetUtil
|
|
||||||
endif
|
|
||||||
|
|
||||||
else
|
|
||||||
@@ -191,10 +189,10 @@
|
|
||||||
$(LD) $(LDFLAGS) -o $@ $(PROOFDEXEO) $(RPDUTILO) $(GLBPATCHO) \
|
|
||||||
$(RSAO) $(SNPRINTFO) $(CRYPTLIBS) $(AUTHLIBS) $(STRLCPYO) $(SYSLIBS)
|
|
||||||
|
|
||||||
-$(XPROOFDEXE): $(XPDO) $(XPROOFDEXELIBS) $(XRDPROOFXD) $(RPDCONNO)
|
|
||||||
+$(XPROOFDEXE): $(XPDO) $(XRDPROOFXD) $(RPDCONNO)
|
|
||||||
$(LD) $(LDFLAGS) -o $@ $(XPDO) $(RPDCONNO) $(XPROOFDEXELIBS) $(SYSLIBS) $(XPROOFDEXESYSLIBS)
|
|
||||||
|
|
||||||
-$(XPDLIB): $(XPDO) $(XPDH) $(ORDER_) $(XPROOFDEXELIBS) $(MAINLIBS) $(XRDPROOFXD) $(RPDCONNO)
|
|
||||||
+$(XPDLIB): $(XPDO) $(XPDH) $(ORDER_) $(MAINLIBS) $(XRDPROOFXD) $(RPDCONNO)
|
|
||||||
@$(MAKELIB) $(PLATFORM) $(LD) "$(LDFLAGS)" \
|
|
||||||
"$(SOFLAGS)" libXrdProofd.$(SOEXT) $@ "$(XPDO) $(RPDCONNO)" \
|
|
||||||
"$(XPDLIBEXTRA)"
|
|
||||||
11
root.desktop
Normal file
11
root.desktop
Normal file
|
|
@ -0,0 +1,11 @@
|
||||||
|
[Desktop Entry]
|
||||||
|
Name=Root
|
||||||
|
GenericName=Root
|
||||||
|
Comment=Numerical data analysis framework
|
||||||
|
Exec=root
|
||||||
|
Icon=root
|
||||||
|
Terminal=true
|
||||||
|
Type=Application
|
||||||
|
MimeType=application/x-root;
|
||||||
|
Categories=Utility;
|
||||||
|
Encoding=UTF-8
|
||||||
BIN
root.png
Normal file
BIN
root.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 3.4 KiB |
15
root.xml
Normal file
15
root.xml
Normal file
|
|
@ -0,0 +1,15 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<mime-info xmlns="http://www.freedesktop.org/standards/shared-mime-info">
|
||||||
|
<mime-type type="application/x-root">
|
||||||
|
<comment>ROOT data file</comment>
|
||||||
|
<comment xml:lang="de">ROOT Datei</comment>
|
||||||
|
<comment xml:lang="fr">ROOT banque de donnees</comment>
|
||||||
|
<comment xml:lang="sv">ROOT data fil</comment>
|
||||||
|
<comment xml:lang="no">ROOT data fil</comment>
|
||||||
|
<comment xml:lang="da">ROOT data fil</comment>
|
||||||
|
<glob pattern="*.root"/>
|
||||||
|
<magic priority="80">
|
||||||
|
<match type="string" value="ROOT" offset="0:3"/>
|
||||||
|
</magic>
|
||||||
|
</mime-type>
|
||||||
|
</mime-info>
|
||||||
Binary file not shown.
|
Before Width: | Height: | Size: 15 KiB |
4
sources
4
sources
|
|
@ -1 +1,3 @@
|
||||||
0a0e24e890f33b3606f8983fe8765a09 root-5.30.06.tar.gz
|
SHA512 (root-6.40.04.tar.xz) = 674ea3de3f58d3bde15637925bec80984552cb5c4f6259ec68c2f7dc566014d9a3b2ee005e0f89b5cf20d9e5188dc5c9185d886a6701e315bb4771b068939282
|
||||||
|
SHA512 (root-testfiles.tar.xz) = 4bb7f8ca00b1427ba49f6428e9cfe5908a2ffdd2ce4134d3bc169a0629198352b5500fe0cf92c121d148e5af41f7016c96038a77794a4d37d94e6ec0a9d75670
|
||||||
|
SHA512 (clad-2.3.tar.gz) = 2d7e008ad88dd9e4b44d73e3187f8b1883e475845f5ac2d3b2c8e728508422e1e60e279940fefe322995751490f61f7d4768498c3660f9afa1206cc0e83bea33
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue