tangled
alpha
login
or
join now
pyrox.dev
/
nixpkgs
lol
0
fork
atom
overview
issues
pulls
pipelines
root5: fix build
Dmitry Kalinkin
6 years ago
c36f841e
52dae14f
+251
-4
3 changed files
expand all
collapse all
unified
split
pkgs
applications
science
misc
root
5.nix
disable_libc_dicts_root5.patch
purify_include_paths_root5.patch
+20
-4
pkgs/applications/science/misc/root/5.nix
···
1
-
{ stdenv, fetchurl, cmake, pcre, pkgconfig, python2
2
, libX11, libXpm, libXft, libXext, libGLU_combined, zlib, libxml2, lzma, gsl_1
3
, Cocoa, OpenGL, cf-private, noSplash ? false }:
4
···
19
20
patches = [
21
./sw_vers_root5.patch
0
0
0
0
0
0
0
0
0
0
0
0
0
22
];
23
24
preConfigure = ''
25
patchShebangs build/unix/
26
ln -s ${stdenv.lib.getDev stdenv.cc.libc}/include/AvailabilityMacros.h cint/cint/include/
0
0
0
0
0
0
27
'' + stdenv.lib.optionalString noSplash ''
28
substituteInPlace rootx/src/rootx.cxx --replace "gNoLogo = false" "gNoLogo = true"
29
'';
···
73
description = "A data analysis framework";
74
platforms = platforms.unix;
75
maintainers = with maintainers; [ veprbl ];
76
-
# needs to be adapted to work with modern glibc
77
-
# it works on darwin by impurely picking up system's libc headers
78
-
broken = stdenv.isLinux;
79
};
80
}
···
1
+
{ stdenv, fetchurl, fetchpatch, cmake, pcre, pkgconfig, python2
2
, libX11, libXpm, libXft, libXext, libGLU_combined, zlib, libxml2, lzma, gsl_1
3
, Cocoa, OpenGL, cf-private, noSplash ? false }:
4
···
19
20
patches = [
21
./sw_vers_root5.patch
22
+
23
+
(fetchpatch {
24
+
name = "enable_new_gcc.patch";
25
+
url = "https://aur.archlinux.org/cgit/aur.git/plain/enable_new_gcc.patch?h=root5&id=91c50876081a0af36f84ec4f0f9dba869107fa4f";
26
+
sha256 = "1rnp0xlw0yqi7mjs4w145njd79i8kkir1qik7zwicdik9axf8ygm";
27
+
})
28
+
29
+
# prevents rootcint from looking in /usr/includes and such
30
+
./purify_include_paths_root5.patch
31
+
32
+
# disable dictionary generation for stuff that includes libc headers
33
+
# our glibc requires a modern compiler
34
+
./disable_libc_dicts_root5.patch
35
];
36
37
preConfigure = ''
38
patchShebangs build/unix/
39
ln -s ${stdenv.lib.getDev stdenv.cc.libc}/include/AvailabilityMacros.h cint/cint/include/
40
+
''
41
+
# Fix CINTSYSDIR for "build" version of rootcint
42
+
# This is probably a bug that breaks out-of-source builds
43
+
+ ''
44
+
substituteInPlace cint/cint/src/loadfile.cxx\
45
+
--replace 'env = "cint";' 'env = "'`pwd`'/cint";'
46
'' + stdenv.lib.optionalString noSplash ''
47
substituteInPlace rootx/src/rootx.cxx --replace "gNoLogo = false" "gNoLogo = true"
48
'';
···
92
description = "A data analysis framework";
93
platforms = platforms.unix;
94
maintainers = with maintainers; [ veprbl ];
0
0
0
95
};
96
}
+27
pkgs/applications/science/misc/root/disable_libc_dicts_root5.patch
···
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
···
1
+
diff --git a/cint/ROOT/CMakeLists.txt b/cint/ROOT/CMakeLists.txt
2
+
--- a/cint/ROOT/CMakeLists.txt
3
+
+++ b/cint/ROOT/CMakeLists.txt
4
+
@@ -47,21 +47,13 @@ set(CINTSTLDLLHEADERS
5
+
${CMAKE_SOURCE_DIR}/cint/cint/lib/stdstrct/stdcxxfunc.h
6
+
)
7
+
set(CINTINCDLLNAMES
8
+
- stdfunc
9
+
+# stdfunc
10
+
# stdcxxfunc
11
+
)
12
+
set(CINTINCDLLHEADERS
13
+
- ${CMAKE_SOURCE_DIR}/cint/cint/lib/stdstrct/stdfunc.h
14
+
+# ${CMAKE_SOURCE_DIR}/cint/cint/lib/stdstrct/stdfunc.h
15
+
# ${CMAKE_SOURCE_DIR}/cint/cint/lib/stdstrct/stdcxxfunc.h
16
+
)
17
+
-if(NOT WIN32)
18
+
- set(CINTSTLDLLNAMES ${CINTSTLDLLNAMES} valarray)
19
+
- set(CINTSTLDLLHEADERS ${CINTSTLDLLHEADERS} ${CINTDLLDIR}/vary.h)
20
+
- set(CINTINCDLLNAMES ${CINTINCDLLNAMES} posix ipc)
21
+
- set(CINTINCDLLHEADERS ${CINTINCDLLHEADERS}
22
+
- ${CMAKE_SOURCE_DIR}/cint/cint/lib/posix/exten.h
23
+
- ${CMAKE_SOURCE_DIR}/cint/cint/lib/ipc/ipcif.h)
24
+
-endif()
25
+
26
+
set(CINTBUILDLOADER
27
+
vector
+204
pkgs/applications/science/misc/root/purify_include_paths_root5.patch
···
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
···
1
+
diff --git a/cint/cint/src/loadfile.cxx b/cint/cint/src/loadfile.cxx
2
+
--- a/cint/cint/src/loadfile.cxx
3
+
+++ b/cint/cint/src/loadfile.cxx
4
+
@@ -1365,92 +1365,6 @@ int G__statfilename(const char *filenamein, struct stat *statBuf,
5
+
}
6
+
}
7
+
#endif /* G__EDU_VERSION */
8
+
-
9
+
-#ifdef G__VISUAL
10
+
- /**********************************************
11
+
- * try /msdev/include
12
+
- **********************************************/
13
+
- if('\0'!=G__cintsysdir[0]) {
14
+
- workname.Format("/msdev/include/%s%s",filename(),addpost[i2]);
15
+
- res = stat( workname, statBuf );
16
+
- if (res==0) {
17
+
- if (fullPath) fullPath->Swap(workname);
18
+
- return res;
19
+
- }
20
+
- }
21
+
-#endif /* G__VISUAL */
22
+
-
23
+
-#ifdef G__SYMANTEC
24
+
- /**********************************************
25
+
- * try /sc/include
26
+
- **********************************************/
27
+
- if('\0'!=G__cintsysdir[0]) {
28
+
- workname.Format("/sc/include/%s%s",filename(),addpost[i2]);
29
+
- res = stat( workname, statBuf );
30
+
- if (res==0) {
31
+
- if (fullPath) fullPath->Swap(workname);
32
+
- return res;
33
+
- }
34
+
- }
35
+
-#endif // G__SYMANTEC
36
+
-
37
+
-#ifndef G__WIN32
38
+
- /**********************************************
39
+
- * try /usr/include/filename
40
+
- **********************************************/
41
+
- if('\0'!=G__cintsysdir[0]) {
42
+
- workname.Format("/usr/include/%s%s",filename(),addpost[i2]);
43
+
- res = stat( workname, statBuf );
44
+
- if (res==0) {
45
+
- if (fullPath) fullPath->Swap(workname);
46
+
- return res;
47
+
- }
48
+
- }
49
+
-#endif
50
+
-
51
+
-#ifdef __GNUC__
52
+
- /**********************************************
53
+
- * try /usr/include/g++/filename
54
+
- **********************************************/
55
+
- if('\0'!=G__cintsysdir[0]) {
56
+
- workname.Format("/usr/include/g++/%s%s",filename(),addpost[i2]);
57
+
- res = stat( workname, statBuf );
58
+
- if (res==0) {
59
+
- if (fullPath) fullPath->Swap(workname);
60
+
- return res;
61
+
- }
62
+
- }
63
+
-#endif /* __GNUC__ */
64
+
-
65
+
-#ifndef G__WIN32
66
+
- /* #ifdef __hpux */
67
+
- /**********************************************
68
+
- * try /usr/include/CC/filename
69
+
- **********************************************/
70
+
- if('\0'!=G__cintsysdir[0]) {
71
+
- workname.Format("/usr/include/CC/%s%s",filename(),addpost[i2]);
72
+
- res = stat( workname, statBuf );
73
+
- if (res==0) {
74
+
- if (fullPath) fullPath->Swap(workname);
75
+
- return res;
76
+
- }
77
+
- }
78
+
-#endif
79
+
-
80
+
-#ifndef G__WIN32
81
+
- /**********************************************
82
+
- * try /usr/include/codelibs/filename
83
+
- **********************************************/
84
+
- if('\0'!=G__cintsysdir[0]) {
85
+
- workname.Format("/usr/include/codelibs/%s%s"
86
+
- ,filename(),addpost[i2]);
87
+
- res = stat( workname, statBuf );
88
+
- if (res==0) {
89
+
- if (fullPath) fullPath->Swap(workname);
90
+
- return res;
91
+
- }
92
+
- }
93
+
-#endif
94
+
}
95
+
return -1;
96
+
}
97
+
@@ -1960,107 +1874,6 @@ int G__loadfile(const char *filenamein)
98
+
}
99
+
if(G__ifile.fp) break;
100
+
#endif /* G__EDU_VERSION */
101
+
-
102
+
-#ifdef G__VISUAL
103
+
- /**********************************************
104
+
- * try /msdev/include
105
+
- **********************************************/
106
+
- if('\0'!=G__cintsysdir[0]) {
107
+
- G__snprintf(G__ifile.name,G__MAXFILENAME,"/msdev/include/%s%s",filename(),addpost[i2]);
108
+
-#ifndef G__WIN32
109
+
- G__ifile.fp = fopen(G__ifile.name,"r");
110
+
-#else
111
+
- G__ifile.fp = fopen(G__ifile.name,"rb");
112
+
-#endif
113
+
- G__globalcomp=G__store_globalcomp;
114
+
- }
115
+
- if(G__ifile.fp) break;
116
+
-#endif /* G__VISUAL */
117
+
-
118
+
-#ifdef G__SYMANTEC
119
+
- /**********************************************
120
+
- * try /sc/include
121
+
- **********************************************/
122
+
- if('\0'!=G__cintsysdir[0]) {
123
+
- G__snprintf(G__ifile.name,G__MAXFILENAME,"/sc/include/%s%s",filename(),addpost[i2]);
124
+
-#ifndef G__WIN32
125
+
- G__ifile.fp = fopen(G__ifile.name,"r");
126
+
-#else
127
+
- G__ifile.fp = fopen(G__ifile.name,"rb");
128
+
-#endif
129
+
- G__globalcomp=G__store_globalcomp;
130
+
- }
131
+
- if(G__ifile.fp) break;
132
+
-#endif /* G__SYMANTEC */
133
+
-
134
+
-#ifndef G__WIN32
135
+
- /**********************************************
136
+
- * try /usr/include/filename
137
+
- **********************************************/
138
+
- if('\0'!=G__cintsysdir[0]) {
139
+
- G__snprintf(G__ifile.name,G__MAXFILENAME,"/usr/include/%s%s",filename(),addpost[i2]);
140
+
-#ifndef G__WIN32
141
+
- G__ifile.fp = fopen(G__ifile.name,"r");
142
+
-#else
143
+
- G__ifile.fp = fopen(G__ifile.name,"rb");
144
+
-#endif
145
+
- G__globalcomp=G__store_globalcomp;
146
+
- }
147
+
- if(G__ifile.fp) break;
148
+
-#endif
149
+
-
150
+
-#ifdef __GNUC__
151
+
- /**********************************************
152
+
- * try /usr/include/g++/filename
153
+
- **********************************************/
154
+
- if('\0'!=G__cintsysdir[0]) {
155
+
- G__snprintf(G__ifile.name,G__MAXFILENAME,"/usr/include/g++/%s%s",filename(),addpost[i2]);
156
+
-#ifndef G__WIN32
157
+
- G__ifile.fp = fopen(G__ifile.name,"r");
158
+
-#else
159
+
- G__ifile.fp = fopen(G__ifile.name,"rb");
160
+
-#endif
161
+
- G__globalcomp=G__store_globalcomp;
162
+
- }
163
+
- if(G__ifile.fp) break;
164
+
-#endif /* __GNUC__ */
165
+
-
166
+
-#ifndef G__WIN32
167
+
-/* #ifdef __hpux */
168
+
- /**********************************************
169
+
- * try /usr/include/CC/filename
170
+
- **********************************************/
171
+
- if('\0'!=G__cintsysdir[0]) {
172
+
- G__snprintf(G__ifile.name,G__MAXFILENAME,"/usr/include/CC/%s%s",filename(),addpost[i2]);
173
+
-#ifndef G__WIN32
174
+
- G__ifile.fp = fopen(G__ifile.name,"r");
175
+
-#else
176
+
- G__ifile.fp = fopen(G__ifile.name,"rb");
177
+
-#endif
178
+
- G__globalcomp=G__store_globalcomp;
179
+
- }
180
+
- if(G__ifile.fp) break;
181
+
-/* #endif __hpux */
182
+
-#endif
183
+
-
184
+
-#ifndef G__WIN32
185
+
-/* #ifdef __hpux */
186
+
- /**********************************************
187
+
- * try /usr/include/codelibs/filename
188
+
- **********************************************/
189
+
- if('\0'!=G__cintsysdir[0]) {
190
+
- G__snprintf(G__ifile.name,G__MAXFILENAME,"/usr/include/codelibs/%s%s"
191
+
- ,filename(),addpost[i2]);
192
+
-#ifndef G__WIN32
193
+
- G__ifile.fp = fopen(G__ifile.name,"r");
194
+
-#else
195
+
- G__ifile.fp = fopen(G__ifile.name,"rb");
196
+
-#endif
197
+
- G__globalcomp=G__store_globalcomp;
198
+
- }
199
+
- if(G__ifile.fp) break;
200
+
-/* #endif __hpux */
201
+
-#endif
202
+
}
203
+
}
204
+