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 |
34 changed files with 5712 additions and 2065 deletions
2
.gitignore
vendored
2
.gitignore
vendored
|
|
@ -1 +1,3 @@
|
|||
/*.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
|
||||
|
||||
BIN
root-banner.png
BIN
root-banner.png
Binary file not shown.
|
Before Width: | Height: | Size: 129 KiB |
|
|
@ -1,11 +0,0 @@
|
|||
--- root-5.26.00d.orig/tutorials/tree/cernbuild.C 2010-08-29 10:20:56.069801363 +0200
|
||||
+++ root-5.26.00d/tutorials/tree/cernbuild.C 2010-08-29 15:52:51.000000000 +0200
|
||||
@@ -22,7 +22,7 @@
|
||||
TString dir = gSystem->UnixPathName(gInterpreter->GetCurrentMacroName());
|
||||
dir.ReplaceAll("cernbuild.C","");
|
||||
dir.ReplaceAll("/./","/");
|
||||
- FILE *fp = fopen(Form("%scernstaff.dat",dir.Data()),"r");
|
||||
+ FILE *fp = fopen((dir+"cernstaff.dat").Data(),"r");
|
||||
|
||||
TFile *hfile = 0;
|
||||
if (get) {
|
||||
|
|
@ -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 <iostream>
|
||||
#include <string>
|
||||
#include <RtypesCint.h>
|
||||
#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,13 +0,0 @@
|
|||
include $(MODULE)/Module.mk
|
||||
includelist:
|
||||
@list=includelist-`tr / - <<< $(MODULE)` ; \
|
||||
rm -f $$list ; \
|
||||
for h in $(filter-out %.cw %.pri, $(ALLHDRS)) ; do \
|
||||
if [ "$(MODULE)" = "cint/cint7" ] ; then \
|
||||
sed 's!^include!%{_includedir}/%{name}/cint7!' <<< $$h >> $$list ; \
|
||||
else \
|
||||
sed 's!^include!%{_includedir}/%{name}!' <<< $$h >> $$list ; \
|
||||
fi ; \
|
||||
sort -u $$list > $$list.unique ; \
|
||||
mv $$list.unique $$list ; \
|
||||
done
|
||||
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)
|
||||
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,69 +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,14 @@
|
||||
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
|
||||
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 @@
|
|||
9fe36a18b07119bdd02527fc5a2d2651 root-5.30.04.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