jolt 0.9.123__py3-none-any.whl → 0.9.435__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (196) hide show
  1. jolt/__init__.py +80 -7
  2. jolt/__main__.py +9 -1
  3. jolt/bin/fstree-darwin-x86_64 +0 -0
  4. jolt/bin/fstree-linux-x86_64 +0 -0
  5. jolt/cache.py +832 -362
  6. jolt/chroot.py +156 -0
  7. jolt/cli.py +281 -162
  8. jolt/common_pb2.py +63 -0
  9. jolt/common_pb2_grpc.py +4 -0
  10. jolt/config.py +98 -41
  11. jolt/error.py +19 -4
  12. jolt/filesystem.py +2 -6
  13. jolt/graph.py +705 -117
  14. jolt/hooks.py +43 -0
  15. jolt/influence.py +122 -3
  16. jolt/loader.py +369 -121
  17. jolt/log.py +225 -63
  18. jolt/manifest.py +28 -38
  19. jolt/options.py +35 -10
  20. jolt/pkgs/abseil.py +42 -0
  21. jolt/pkgs/asio.py +25 -0
  22. jolt/pkgs/autoconf.py +41 -0
  23. jolt/pkgs/automake.py +41 -0
  24. jolt/pkgs/b2.py +31 -0
  25. jolt/pkgs/boost.py +111 -0
  26. jolt/pkgs/boringssl.py +32 -0
  27. jolt/pkgs/busybox.py +39 -0
  28. jolt/pkgs/bzip2.py +43 -0
  29. jolt/pkgs/cares.py +29 -0
  30. jolt/pkgs/catch2.py +36 -0
  31. jolt/pkgs/cbindgen.py +17 -0
  32. jolt/pkgs/cista.py +19 -0
  33. jolt/pkgs/clang.py +44 -0
  34. jolt/pkgs/cli11.py +24 -0
  35. jolt/pkgs/cmake.py +48 -0
  36. jolt/pkgs/cpython.py +196 -0
  37. jolt/pkgs/crun.py +29 -0
  38. jolt/pkgs/curl.py +38 -0
  39. jolt/pkgs/dbus.py +18 -0
  40. jolt/pkgs/double_conversion.py +24 -0
  41. jolt/pkgs/fastfloat.py +21 -0
  42. jolt/pkgs/ffmpeg.py +28 -0
  43. jolt/pkgs/flatbuffers.py +29 -0
  44. jolt/pkgs/fmt.py +27 -0
  45. jolt/pkgs/fstree.py +20 -0
  46. jolt/pkgs/gflags.py +18 -0
  47. jolt/pkgs/glib.py +18 -0
  48. jolt/pkgs/glog.py +25 -0
  49. jolt/pkgs/glslang.py +21 -0
  50. jolt/pkgs/golang.py +16 -11
  51. jolt/pkgs/googlebenchmark.py +18 -0
  52. jolt/pkgs/googletest.py +46 -0
  53. jolt/pkgs/gperf.py +15 -0
  54. jolt/pkgs/grpc.py +73 -0
  55. jolt/pkgs/hdf5.py +19 -0
  56. jolt/pkgs/help2man.py +14 -0
  57. jolt/pkgs/inja.py +28 -0
  58. jolt/pkgs/jsoncpp.py +31 -0
  59. jolt/pkgs/libarchive.py +43 -0
  60. jolt/pkgs/libcap.py +44 -0
  61. jolt/pkgs/libdrm.py +44 -0
  62. jolt/pkgs/libedit.py +42 -0
  63. jolt/pkgs/libevent.py +31 -0
  64. jolt/pkgs/libexpat.py +27 -0
  65. jolt/pkgs/libfastjson.py +21 -0
  66. jolt/pkgs/libffi.py +16 -0
  67. jolt/pkgs/libglvnd.py +30 -0
  68. jolt/pkgs/libogg.py +28 -0
  69. jolt/pkgs/libpciaccess.py +18 -0
  70. jolt/pkgs/libseccomp.py +21 -0
  71. jolt/pkgs/libtirpc.py +24 -0
  72. jolt/pkgs/libtool.py +42 -0
  73. jolt/pkgs/libunwind.py +35 -0
  74. jolt/pkgs/libva.py +18 -0
  75. jolt/pkgs/libvorbis.py +33 -0
  76. jolt/pkgs/libxml2.py +35 -0
  77. jolt/pkgs/libxslt.py +17 -0
  78. jolt/pkgs/libyajl.py +16 -0
  79. jolt/pkgs/llvm.py +81 -0
  80. jolt/pkgs/lua.py +54 -0
  81. jolt/pkgs/lz4.py +26 -0
  82. jolt/pkgs/m4.py +14 -0
  83. jolt/pkgs/make.py +17 -0
  84. jolt/pkgs/mesa.py +81 -0
  85. jolt/pkgs/meson.py +17 -0
  86. jolt/pkgs/mstch.py +28 -0
  87. jolt/pkgs/mysql.py +60 -0
  88. jolt/pkgs/nasm.py +49 -0
  89. jolt/pkgs/ncurses.py +30 -0
  90. jolt/pkgs/ng_log.py +25 -0
  91. jolt/pkgs/ninja.py +45 -0
  92. jolt/pkgs/nlohmann_json.py +25 -0
  93. jolt/pkgs/nodejs.py +19 -11
  94. jolt/pkgs/opencv.py +24 -0
  95. jolt/pkgs/openjdk.py +26 -0
  96. jolt/pkgs/openssl.py +103 -0
  97. jolt/pkgs/paho.py +76 -0
  98. jolt/pkgs/patchelf.py +16 -0
  99. jolt/pkgs/perl.py +42 -0
  100. jolt/pkgs/pkgconfig.py +64 -0
  101. jolt/pkgs/poco.py +39 -0
  102. jolt/pkgs/protobuf.py +77 -0
  103. jolt/pkgs/pugixml.py +27 -0
  104. jolt/pkgs/python.py +19 -0
  105. jolt/pkgs/qt.py +35 -0
  106. jolt/pkgs/rapidjson.py +26 -0
  107. jolt/pkgs/rapidyaml.py +28 -0
  108. jolt/pkgs/re2.py +30 -0
  109. jolt/pkgs/re2c.py +17 -0
  110. jolt/pkgs/readline.py +15 -0
  111. jolt/pkgs/rust.py +41 -0
  112. jolt/pkgs/sdl.py +28 -0
  113. jolt/pkgs/simdjson.py +27 -0
  114. jolt/pkgs/soci.py +46 -0
  115. jolt/pkgs/spdlog.py +29 -0
  116. jolt/pkgs/spirv_llvm.py +21 -0
  117. jolt/pkgs/spirv_tools.py +24 -0
  118. jolt/pkgs/sqlite.py +83 -0
  119. jolt/pkgs/ssl.py +12 -0
  120. jolt/pkgs/texinfo.py +15 -0
  121. jolt/pkgs/tomlplusplus.py +22 -0
  122. jolt/pkgs/wayland.py +26 -0
  123. jolt/pkgs/x11.py +58 -0
  124. jolt/pkgs/xerces_c.py +20 -0
  125. jolt/pkgs/xorg.py +360 -0
  126. jolt/pkgs/xz.py +29 -0
  127. jolt/pkgs/yamlcpp.py +30 -0
  128. jolt/pkgs/zeromq.py +47 -0
  129. jolt/pkgs/zlib.py +87 -0
  130. jolt/pkgs/zstd.py +33 -0
  131. jolt/plugins/alias.py +3 -0
  132. jolt/plugins/allure.py +5 -2
  133. jolt/plugins/autotools.py +66 -0
  134. jolt/plugins/cache.py +133 -0
  135. jolt/plugins/cmake.py +74 -6
  136. jolt/plugins/conan.py +238 -0
  137. jolt/plugins/cxx.py +698 -0
  138. jolt/plugins/cxxinfo.py +7 -0
  139. jolt/plugins/dashboard.py +1 -1
  140. jolt/plugins/docker.py +80 -23
  141. jolt/plugins/email.py +2 -2
  142. jolt/plugins/email.xslt +144 -101
  143. jolt/plugins/environ.py +11 -0
  144. jolt/plugins/fetch.py +141 -0
  145. jolt/plugins/gdb.py +39 -19
  146. jolt/plugins/gerrit.py +1 -14
  147. jolt/plugins/git.py +283 -85
  148. jolt/plugins/googletest.py +2 -1
  149. jolt/plugins/http.py +36 -38
  150. jolt/plugins/libtool.py +63 -0
  151. jolt/plugins/linux.py +990 -0
  152. jolt/plugins/logstash.py +4 -4
  153. jolt/plugins/meson.py +61 -0
  154. jolt/plugins/ninja-compdb.py +99 -30
  155. jolt/plugins/ninja.py +468 -166
  156. jolt/plugins/paths.py +11 -1
  157. jolt/plugins/pkgconfig.py +219 -0
  158. jolt/plugins/podman.py +136 -92
  159. jolt/plugins/python.py +137 -0
  160. jolt/plugins/remote_execution/__init__.py +0 -0
  161. jolt/plugins/remote_execution/administration_pb2.py +46 -0
  162. jolt/plugins/remote_execution/administration_pb2_grpc.py +170 -0
  163. jolt/plugins/remote_execution/log_pb2.py +32 -0
  164. jolt/plugins/remote_execution/log_pb2_grpc.py +68 -0
  165. jolt/plugins/remote_execution/scheduler_pb2.py +41 -0
  166. jolt/plugins/remote_execution/scheduler_pb2_grpc.py +141 -0
  167. jolt/plugins/remote_execution/worker_pb2.py +38 -0
  168. jolt/plugins/remote_execution/worker_pb2_grpc.py +112 -0
  169. jolt/plugins/report.py +12 -2
  170. jolt/plugins/rust.py +25 -0
  171. jolt/plugins/scheduler.py +710 -0
  172. jolt/plugins/selfdeploy/setup.py +8 -4
  173. jolt/plugins/selfdeploy.py +138 -88
  174. jolt/plugins/strings.py +35 -22
  175. jolt/plugins/symlinks.py +26 -11
  176. jolt/plugins/telemetry.py +5 -2
  177. jolt/plugins/timeline.py +13 -3
  178. jolt/plugins/volume.py +46 -48
  179. jolt/scheduler.py +589 -192
  180. jolt/tasks.py +625 -121
  181. jolt/templates/timeline.html.template +44 -47
  182. jolt/timer.py +22 -0
  183. jolt/tools.py +638 -282
  184. jolt/utils.py +211 -7
  185. jolt/version.py +1 -1
  186. jolt/xmldom.py +12 -2
  187. {jolt-0.9.123.dist-info → jolt-0.9.435.dist-info}/METADATA +97 -38
  188. jolt-0.9.435.dist-info/RECORD +207 -0
  189. {jolt-0.9.123.dist-info → jolt-0.9.435.dist-info}/WHEEL +1 -1
  190. jolt/plugins/amqp.py +0 -834
  191. jolt/plugins/debian.py +0 -338
  192. jolt/plugins/ftp.py +0 -181
  193. jolt/plugins/repo.py +0 -253
  194. jolt-0.9.123.dist-info/RECORD +0 -77
  195. {jolt-0.9.123.dist-info → jolt-0.9.435.dist-info}/entry_points.txt +0 -0
  196. {jolt-0.9.123.dist-info → jolt-0.9.435.dist-info}/top_level.txt +0 -0
jolt/pkgs/xorg.py ADDED
@@ -0,0 +1,360 @@
1
+ from jolt import attributes, Parameter, Task
2
+ from jolt.plugins import fetch, autotools, libtool, pkgconfig
3
+ from jolt.tasks import TaskRegistry
4
+
5
+
6
+ @attributes.requires("requires_git")
7
+ @autotools.requires()
8
+ class XorgMacros(autotools.Autotools):
9
+ name = "xorg/macros"
10
+ version = Parameter("1.20.2", help="Xorg Macros version.")
11
+
12
+ requires_git = ["git:url=https://gitlab.freedesktop.org/xorg/util/macros.git,rev=util-macros-{version}"]
13
+ srcdir = "{git[macros]}"
14
+
15
+
16
+ @attributes.requires("requires_macros")
17
+ @attributes.requires("requires_src")
18
+ @autotools.requires()
19
+ class Inputproto(autotools.Autotools):
20
+ name = "xorg/inputproto"
21
+ version = Parameter("2.3.2", help="Inputproto version.")
22
+ requires_macros = ["xorg/macros"]
23
+ requires_src = ["fetch:alias=src,url=https://www.x.org/releases/individual/proto/inputproto-{version}.tar.gz"]
24
+ srcdir = "{fetch[src]}/inputproto-{version}"
25
+
26
+
27
+ @attributes.requires("requires_macros")
28
+ @attributes.requires("requires_src")
29
+ @autotools.requires()
30
+ class Glproto(autotools.Autotools):
31
+ name = "xorg/glproto"
32
+ version = Parameter("1.4.17", help="Glproto version.")
33
+ requires_macros = ["xorg/macros"]
34
+ requires_src = ["fetch:alias=src,url=https://www.x.org/releases/individual/proto/glproto-{version}.tar.gz"]
35
+ srcdir = "{fetch[src]}/glproto-{version}"
36
+
37
+
38
+ @attributes.requires("requires_macros")
39
+ @attributes.requires("requires_src")
40
+ @autotools.requires()
41
+ class Kbproto(autotools.Autotools):
42
+ name = "xorg/kbproto"
43
+ version = Parameter("1.0.7", help="Kbproto version.")
44
+ requires_macros = ["xorg/macros"]
45
+ requires_src = ["fetch:alias=src,url=https://www.x.org/releases/individual/proto/kbproto-{version}.tar.gz"]
46
+ srcdir = "{fetch[src]}/kbproto-{version}"
47
+
48
+
49
+ @attributes.requires("requires_macros")
50
+ @attributes.requires("requires_src")
51
+ @autotools.requires()
52
+ class Randrproto(autotools.Autotools):
53
+ name = "xorg/randrproto"
54
+ version = Parameter("1.5.0", help="Randrproto version.")
55
+ requires_macros = ["xorg/macros"]
56
+ requires_src = ["fetch:alias=src,url=https://www.x.org/releases/individual/proto/randrproto-{version}.tar.gz"]
57
+ srcdir = "{fetch[src]}/randrproto-{version}"
58
+
59
+
60
+ @attributes.requires("requires_macros")
61
+ @attributes.requires("requires_src")
62
+ @autotools.requires()
63
+ class Renderproto(autotools.Autotools):
64
+ name = "xorg/renderproto"
65
+ version = Parameter("0.11.1", help="Renderproto version.")
66
+ requires_macros = ["xorg/macros"]
67
+ requires_src = ["fetch:alias=src,url=https://www.x.org/releases/individual/proto/renderproto-{version}.tar.gz"]
68
+ srcdir = "{fetch[src]}/renderproto-{version}"
69
+
70
+
71
+ @attributes.requires("requires_macros")
72
+ @attributes.requires("requires_src")
73
+ @attributes.requires("requires_xcb")
74
+ @autotools.requires()
75
+ @pkgconfig.requires()
76
+ class XcbKeysyms(autotools.Autotools):
77
+ name = "xorg/xcb-keysyms"
78
+ version = Parameter("0.4.1", help="XCB Keysyms version.")
79
+ requires_macros = ["xorg/macros"]
80
+ requires_src = ["fetch:alias=src,url=https://www.x.org/releases/individual/lib/xcb-util-keysyms-{version}.tar.xz"]
81
+ requires_xcb = ["xorg/libxcb"]
82
+ srcdir = "{fetch[src]}/xcb-util-keysyms-{version}"
83
+
84
+
85
+ @attributes.requires("requires_git")
86
+ @attributes.requires("requires_xorg_macros")
87
+ @autotools.requires()
88
+ @pkgconfig.requires()
89
+ class XcbProto(autotools.Autotools):
90
+ name = "xorg/xcb-proto"
91
+ version = Parameter("1.17.0", help="Libxcb_proto version.")
92
+ requires_git = ["git:url=https://gitlab.freedesktop.org/xorg/proto/xcbproto.git,rev=xcb-proto-{version}"]
93
+ requires_xorg_macros = ["xorg/macros"]
94
+ srcdir = "{git[xcbproto]}"
95
+
96
+
97
+ @attributes.requires("requires_macros")
98
+ @attributes.requires("requires_src")
99
+ @attributes.requires("requires_xproto")
100
+ @autotools.requires()
101
+ @libtool.relocate()
102
+ @pkgconfig.requires()
103
+ class Xau(autotools.Autotools):
104
+ name = "xorg/libxau"
105
+ version = Parameter("1.0.12", help="Xau version.")
106
+ requires_macros = ["xorg/macros"]
107
+ requires_src = ["fetch:alias=src,url=https://www.x.org/releases/individual/lib/libXau-{version}.tar.gz"]
108
+ requires_xproto = ["xorg/xproto"]
109
+ srcdir = "{fetch[src]}/libXau-{version}"
110
+
111
+
112
+ @attributes.requires("requires_macros")
113
+ @attributes.requires("requires_src")
114
+ @attributes.requires("requires_xproto")
115
+ @autotools.requires()
116
+ @libtool.relocate()
117
+ @pkgconfig.requires()
118
+ class LibXdmcp(autotools.Autotools):
119
+ name = "xorg/libxdmcp"
120
+ version = Parameter("1.1.5", help="LibXdmcp version.")
121
+ requires_macros = ["xorg/macros"]
122
+ requires_src = ["fetch:alias=src,url=https://www.x.org/releases/individual/lib/libXdmcp-{version}.tar.gz"]
123
+ requires_xproto = ["xorg/xproto"]
124
+ srcdir = "{fetch[src]}/libXdmcp-{version}"
125
+
126
+
127
+ @attributes.requires("requires_macros")
128
+ @attributes.requires("requires_src")
129
+ @attributes.requires("requires_x11")
130
+ @attributes.requires("requires_xextproto")
131
+ @attributes.requires("requires_xproto")
132
+ @autotools.requires()
133
+ @pkgconfig.requires()
134
+ class Xext(autotools.Autotools):
135
+ name = "xorg/libxext"
136
+ version = Parameter("1.3.6", help="Xext version.")
137
+ requires_macros = ["xorg/macros"]
138
+ requires_src = ["fetch:alias=src,url=https://www.x.org/releases/individual/lib/libXext-{version}.tar.gz"]
139
+ requires_x11 = ["xorg/libx11"]
140
+ requires_xextproto = ["xorg/xextproto"]
141
+ requires_xproto = ["xorg/xproto"]
142
+ srcdir = "{fetch[src]}/libXext-{version}"
143
+
144
+
145
+ @attributes.requires("requires_macros")
146
+ @attributes.requires("requires_src")
147
+ @autotools.requires()
148
+ class Xextproto(autotools.Autotools):
149
+ name = "xorg/xextproto"
150
+ version = Parameter("7.3.0", help="Xextproto version.")
151
+ requires_macros = ["xorg/macros"]
152
+ requires_src = ["fetch:alias=src,url=https://www.x.org/releases/individual/proto/xextproto-{version}.tar.gz"]
153
+ srcdir = "{fetch[src]}/xextproto-{version}"
154
+
155
+
156
+ @attributes.requires("requires_macros")
157
+ @attributes.requires("requires_src")
158
+ @autotools.requires()
159
+ class Xproto(autotools.Autotools):
160
+ name = "xorg/xproto"
161
+ version = Parameter("7.0.31", help="Xproto version.")
162
+ requires_macros = ["xorg/macros"]
163
+ requires_src = ["fetch:alias=src,url=https://www.x.org/releases/individual/proto/xproto-{version}.tar.gz"]
164
+ srcdir = "{fetch[src]}/xproto-{version}"
165
+
166
+
167
+ @attributes.requires("requires_macros")
168
+ @attributes.requires("requires_src")
169
+ @autotools.requires()
170
+ class Xf86vidmodeproto(autotools.Autotools):
171
+ name = "xorg/xf86vidmodeproto"
172
+ version = Parameter("2.3.1", help="Xf86vidmodeproto version.")
173
+ requires_macros = ["xorg/macros"]
174
+ requires_src = ["fetch:alias=src,url=https://www.x.org/releases/individual/proto/xf86vidmodeproto-{version}.tar.gz"]
175
+ srcdir = "{fetch[src]}/xf86vidmodeproto-{version}"
176
+
177
+
178
+ @attributes.requires("requires_macros")
179
+ @attributes.requires("requires_src")
180
+ @autotools.requires()
181
+ class Xtrans(autotools.Autotools):
182
+ name = "xorg/xtrans"
183
+ version = Parameter("1.6.0", help="Xtrans version.")
184
+ requires_macros = ["xorg/macros"]
185
+ requires_src = ["fetch:alias=src,url=https://www.x.org/releases/individual/lib/xtrans-{version}.tar.gz"]
186
+ srcdir = "{fetch[src]}/xtrans-{version}"
187
+
188
+
189
+ @attributes.requires("requires_randrproto")
190
+ @attributes.requires("requires_src")
191
+ @attributes.requires("requires_xext")
192
+ @attributes.requires("requires_xrender")
193
+ @autotools.requires()
194
+ @libtool.relocate()
195
+ class Xrandr(autotools.Autotools):
196
+ name = "xorg/libxrandr"
197
+ version = Parameter("1.5.4", help="Xrandr version.")
198
+ requires_randrproto = ["xorg/randrproto"]
199
+ requires_src = ["fetch:alias=src,url=https://www.x.org/releases/individual/lib/libXrandr-{version}.tar.gz"]
200
+ requires_xext = ["xorg/libxext"]
201
+ requires_xrender = ["xorg/libxrender"]
202
+ srcdir = "{fetch[src]}/libXrandr-{version}"
203
+
204
+
205
+ @attributes.requires("requires_macros")
206
+ @attributes.requires("requires_renderproto")
207
+ @attributes.requires("requires_src")
208
+ @attributes.requires("requires_x11")
209
+ @autotools.requires()
210
+ @libtool.relocate()
211
+ @pkgconfig.requires()
212
+ class Xrender(autotools.Autotools):
213
+ name = "xorg/libxrender"
214
+ version = Parameter("0.9.12", help="Xrender version.")
215
+ requiers_macros = ["xorg/macros"]
216
+ requires_renderproto = ["xorg/renderproto"]
217
+ requires_src = ["fetch:alias=src,url=https://www.x.org/releases/individual/lib/libXrender-{version}.tar.gz"]
218
+ requires_x11 = ["xorg/libx11"]
219
+ srcdir = "{fetch[src]}/libXrender-{version}"
220
+
221
+
222
+ @attributes.requires("requires_git")
223
+ @attributes.requires("requires_xproto")
224
+ @attributes.requires("requires_xorg_macros")
225
+ @pkgconfig.to_cxxinfo(["xshmfence"])
226
+ @pkgconfig.requires()
227
+ @autotools.requires()
228
+ @libtool.relocate()
229
+ @libtool.relocate()
230
+ class Libxshmfence(autotools.Autotools):
231
+ name = "xorg/libxshmfence"
232
+ version = Parameter("1.3.3", help="Libxshmfence version.")
233
+
234
+ requires_git = ["fetch:alias=src,url=https://www.x.org/releases/individual/lib/libxshmfence-{version}.tar.gz"]
235
+ requires_xproto = ["xproto"]
236
+ requires_xorg_macros = ["xorg/macros"]
237
+ srcdir = "{fetch[src]}/libxshmfence-{version}"
238
+
239
+
240
+ @attributes.common_metadata()
241
+ @attributes.requires("requires_libx11")
242
+ @attributes.requires("requires_src")
243
+ @attributes.requires("requires_xext")
244
+ @attributes.requires("requires_xextproto")
245
+ @attributes.requires("requires_xf86vidmodeproto")
246
+ @attributes.requires("requires_xorg_macros")
247
+ @attributes.requires("requires_xproto")
248
+ @autotools.requires()
249
+ @pkgconfig.requires()
250
+ @libtool.relocate()
251
+ class Libxxf86vm(autotools.Autotools):
252
+ name = "xorg/libxxf86vm"
253
+ version = "1.1.6"
254
+ requires_src = ["fetch:alias=src,url=https://www.x.org/releases/individual/lib/libXxf86vm-{version}.tar.gz"]
255
+ srcdir = "{fetch[src]}/libXxf86vm-{version}"
256
+ requires_libx11 = ["xorg/libx11"]
257
+ requires_xext = ["xorg/libxext"]
258
+ requires_xextproto = ["xorg/xextproto"]
259
+ requires_xf86vidmodeproto = ["xorg/xf86vidmodeproto"]
260
+ requires_xorg_macros = ["xorg/macros"]
261
+ requires_xproto = ["xorg/xproto"]
262
+
263
+
264
+ @attributes.requires("requires_git")
265
+ @attributes.requires("requires_xau")
266
+ @attributes.requires("requires_xorg_macros")
267
+ @attributes.requires("requires_xcb_proto")
268
+ @pkgconfig.to_cxxinfo(["xcb"])
269
+ @autotools.requires()
270
+ @libtool.relocate()
271
+ class Libxcb(autotools.Autotools):
272
+ name = "xorg/libxcb"
273
+ version = Parameter("1.17.0", help="Libxcb version.")
274
+
275
+ requires_git = ["fetch:alias=src,url=https://www.x.org/releases/individual/lib/libxcb-{version}.tar.gz"]
276
+ requires_xau = ["xorg/libxau"]
277
+ requires_xorg_macros = ["xorg/macros"]
278
+ requires_xcb_proto = ["xorg/xcb-proto"]
279
+ srcdir = "{fetch[src]}/libxcb-{version}"
280
+
281
+
282
+ @attributes.requires("requires_inputproto")
283
+ @attributes.requires("requires_kbproto")
284
+ @attributes.requires("requires_libxau")
285
+ @attributes.requires("requires_libxcb")
286
+ @attributes.requires("requires_libxdmcp")
287
+ @attributes.requires("requires_src")
288
+ @attributes.requires("requires_xextproto")
289
+ @attributes.requires("requires_xorg_macros")
290
+ @attributes.requires("requires_xproto")
291
+ @attributes.requires("requires_xtrans")
292
+ @autotools.requires()
293
+ @pkgconfig.requires()
294
+ @pkgconfig.to_cxxinfo(["x11", "x11-xcb"])
295
+ @libtool.relocate()
296
+ class Libx11(autotools.Autotools):
297
+ name = "xorg/libx11"
298
+ version = Parameter("1.8.12", help="Libx11 version.")
299
+
300
+ requires_inputproto = ["xorg/inputproto"]
301
+ requires_kbproto = ["xorg/kbproto"]
302
+ requires_libxau = ["xorg/libxau"]
303
+ requires_libxcb = ["xorg/libxcb"]
304
+ requires_libxdmcp = ["xorg/libxdmcp"]
305
+ requires_src = ["fetch:alias=src,url=https://www.x.org/releases/individual/lib/libX11-{version}.tar.gz"]
306
+ requires_xextproto = ["xorg/xextproto"]
307
+ requires_xorg_macros = ["xorg/macros"]
308
+ requires_xproto = ["xorg/xproto"]
309
+ requires_xtrans = ["xorg/xtrans"]
310
+ srcdir = "{fetch[src]}/libX11-{version}"
311
+
312
+
313
+ @attributes.requires("requires_libx11")
314
+ @attributes.requires("requires_libxcb")
315
+ @attributes.common_metadata()
316
+ @libtool.relocate()
317
+ class LibX11Xcb(Task):
318
+ """
319
+ Republishes libx11 and libxcb as libx11-xcb for compatibility.
320
+
321
+ Mainly, prefix must be shared in order to build mesa.
322
+ """
323
+ name = "xorg/libx11-xcb"
324
+ requires_libx11 = ["xorg/libx11"]
325
+ requires_libxcb = ["xorg/libxcb"]
326
+ selfsustained = True
327
+
328
+ def run(self, deps, tools):
329
+ self.x11 = deps["xorg/libx11"]
330
+ self.xcb = deps["xorg/libxcb"]
331
+
332
+ def publish(self, artifact, tools):
333
+ with tools.cwd(self.x11.path):
334
+ artifact.collect("*", symlinks=True)
335
+ with tools.cwd(self.xcb.path):
336
+ artifact.collect("*", symlinks=True)
337
+
338
+
339
+ TaskRegistry.get().add_task_class(Glproto)
340
+ TaskRegistry.get().add_task_class(Inputproto)
341
+ TaskRegistry.get().add_task_class(Kbproto)
342
+ TaskRegistry.get().add_task_class(Libx11)
343
+ TaskRegistry.get().add_task_class(LibX11Xcb)
344
+ TaskRegistry.get().add_task_class(Libxcb)
345
+ TaskRegistry.get().add_task_class(LibXdmcp)
346
+ TaskRegistry.get().add_task_class(Libxxf86vm)
347
+ TaskRegistry.get().add_task_class(Randrproto)
348
+ TaskRegistry.get().add_task_class(Renderproto)
349
+ TaskRegistry.get().add_task_class(Xau)
350
+ TaskRegistry.get().add_task_class(XcbKeysyms)
351
+ TaskRegistry.get().add_task_class(XcbProto)
352
+ TaskRegistry.get().add_task_class(Xext)
353
+ TaskRegistry.get().add_task_class(Xextproto)
354
+ TaskRegistry.get().add_task_class(Xf86vidmodeproto)
355
+ TaskRegistry.get().add_task_class(XorgMacros)
356
+ TaskRegistry.get().add_task_class(Xproto)
357
+ TaskRegistry.get().add_task_class(Xrandr)
358
+ TaskRegistry.get().add_task_class(Xrender)
359
+ TaskRegistry.get().add_task_class(Xtrans)
360
+ TaskRegistry.get().add_task_class(Libxshmfence)
jolt/pkgs/xz.py ADDED
@@ -0,0 +1,29 @@
1
+ from jolt import attributes, BooleanParameter, Parameter
2
+ from jolt.plugins import git, cmake
3
+ from jolt.tasks import TaskRegistry
4
+
5
+
6
+ @attributes.requires("requires_git")
7
+ @cmake.requires()
8
+ @cmake.use_ninja()
9
+ @cmake.options("options_pic_{pic[on,off]}")
10
+ class Xz(cmake.CMake):
11
+ name = "xz"
12
+ version = Parameter("5.8.2", help="xz version.")
13
+ pic = BooleanParameter(True, help="Build with position independent code.")
14
+ shared = BooleanParameter(False, help="Build shared libraries.")
15
+ requires_git = ["git:url=https://github.com/tukaani-project/xz.git,rev=v{version}"]
16
+ srcdir = "{git[xz]}"
17
+ options_pic_on = [
18
+ "BUILD_SHARED_LIBS={shared[ON,OFF]}",
19
+ "CMAKE_POSITION_INDEPENDENT_CODE=ON",
20
+ ]
21
+
22
+ def publish(self, artifact, tools):
23
+ super().publish(artifact, tools)
24
+ artifact.cxxinfo.incpaths.append("include")
25
+ artifact.cxxinfo.libpaths.append("lib")
26
+ artifact.cxxinfo.libraries.append("lzma")
27
+
28
+
29
+ TaskRegistry.get().add_task_class(Xz)
jolt/pkgs/yamlcpp.py ADDED
@@ -0,0 +1,30 @@
1
+ from jolt import attributes, BooleanParameter, Parameter
2
+ from jolt.pkgs import cmake
3
+ from jolt.plugins import git, cmake, pkgconfig
4
+ from jolt.tasks import TaskRegistry
5
+
6
+
7
+ @attributes.requires("requires_git")
8
+ @attributes.system
9
+ @cmake.requires()
10
+ @cmake.use_ninja()
11
+ class YamlCPP(cmake.CMake):
12
+ name = "yaml-cpp"
13
+ version = Parameter("bbf8bdb", help="yaml-cpp version.")
14
+ shared = BooleanParameter(False, help="Build shared libraries.")
15
+ requires_git = ["git:url=https://github.com/jbeder/yaml-cpp.git,rev={version}"]
16
+ srcdir = "{git[yaml-cpp]}"
17
+ options = [
18
+ "CMAKE_POLICY_VERSION_MINIMUM=3.5",
19
+ "YAML_BUILD_SHARED_LIBS={shared[ON,OFF]}",
20
+ "YAML_BUILD_TOOLS=OFF",
21
+ ]
22
+
23
+ def publish(self, artifact, tools):
24
+ super().publish(artifact, tools)
25
+ artifact.cxxinfo.incpaths.append("include")
26
+ artifact.cxxinfo.libpaths.append("lib")
27
+ artifact.cxxinfo.libraries.append("yaml-cpp")
28
+
29
+
30
+ TaskRegistry.get().add_task_class(YamlCPP)
jolt/pkgs/zeromq.py ADDED
@@ -0,0 +1,47 @@
1
+ from jolt import attributes, BooleanParameter, Parameter
2
+ from jolt.pkgs import openssl
3
+ from jolt.plugins import cmake, git
4
+ from jolt.tasks import TaskRegistry
5
+
6
+
7
+ @attributes.requires("requires_git")
8
+ @cmake.requires()
9
+ @cmake.use_ninja()
10
+ class Libzmq(cmake.CMake):
11
+ name = "libzmq"
12
+ version = Parameter("4.3.5", help="ZeroMQ version.")
13
+ shared = BooleanParameter(False, help="Build shared libraries")
14
+ requires_git = ["git:url=https://github.com/zeromq/libzmq.git,rev=v{version}"]
15
+ srcdir = "{git[libzmq]}"
16
+ options = [
17
+ "BUILD_SHARED={shared[ON,OFF]}",
18
+ "BUILD_TESTS=OFF",
19
+ "CMAKE_POLICY_VERSION_MINIMUM=3.5",
20
+ ]
21
+
22
+ def publish(self, artifact, tools):
23
+ super().publish(artifact, tools)
24
+ artifact.cxxinfo.incpaths.append("include")
25
+ artifact.cxxinfo.libpaths.append("lib")
26
+ artifact.cxxinfo.libraries.append("zmq")
27
+
28
+
29
+ @attributes.requires("requires_git")
30
+ @attributes.requires("requires_libzmq")
31
+ @cmake.requires()
32
+ @cmake.use_ninja()
33
+ class Cppzmq(cmake.CMake):
34
+ name = "cppzmq"
35
+ version = Parameter("4.11.0", help="cppzmq version.")
36
+ requires_git = ["git:url=https://github.com/zeromq/cppzmq.git,rev=v{version}"]
37
+ requires_libzmq = ["libzmq"]
38
+ srcdir = "{git[cppzmq]}"
39
+ options = ["CPPZMQ_BUILD_TESTS=OFF"]
40
+
41
+ def publish(self, artifact, tools):
42
+ super().publish(artifact, tools)
43
+ artifact.cxxinfo.incpaths.append("include")
44
+
45
+
46
+ TaskRegistry.get().add_task_class(Libzmq)
47
+ TaskRegistry.get().add_task_class(Cppzmq)
jolt/pkgs/zlib.py ADDED
@@ -0,0 +1,87 @@
1
+ from jolt import attributes, Alias, BooleanParameter, Parameter
2
+ from jolt.pkgs import cmake
3
+ from jolt.plugins import git, cmake
4
+ from jolt.tasks import TaskRegistry
5
+
6
+
7
+ @attributes.requires("requires_git")
8
+ @attributes.system
9
+ @cmake.requires()
10
+ @cmake.use_ninja()
11
+ class Zlib(cmake.CMake):
12
+ name = "zlib"
13
+ version = Parameter("1.3.1", help="Zlib version.")
14
+ shared = BooleanParameter(False, "Enable shared libraries.")
15
+ requires_git = ["git:clean=true,url=https://github.com/madler/zlib.git,rev=v{version}"]
16
+ srcdir = "{git[zlib]}"
17
+ options = [
18
+ "BUILD_SHARED_LIBS={shared[ON,OFF]}",
19
+ "ZLIB_BUILD_EXAMPLES=OFF",
20
+ ]
21
+
22
+ def publish(self, artifact, tools):
23
+ super().publish(artifact, tools)
24
+ artifact.environ.CMAKE_PREFIX_PATH.append(".")
25
+ artifact.cxxinfo.incpaths.append("include")
26
+ artifact.cxxinfo.libpaths.append("lib")
27
+ if self.system == "windows":
28
+ self.publish_windows(artifact, tools)
29
+ else:
30
+ self.publish_unix(artifact, tools)
31
+
32
+ def publish_unix(self, artifact, tools):
33
+ artifact.cxxinfo.libraries.append("z")
34
+ with tools.cwd(artifact.path, "lib"):
35
+ if self.shared:
36
+ for lib in tools.glob("*.a"):
37
+ tools.unlink(lib)
38
+ else:
39
+ for lib in tools.glob("*.so*") + tools.glob("*.dylib*"):
40
+ tools.unlink(lib)
41
+
42
+ def publish_windows(self, artifact, tools):
43
+ with tools.cwd(artifact.path, "lib"):
44
+ if self.shared:
45
+ artifact.cxxinfo.libraries.append("zlib")
46
+ for lib in tools.glob("zlibstatic.*"):
47
+ tools.unlink(lib)
48
+ else:
49
+ artifact.cxxinfo.libraries.append("zlibstatic")
50
+ for lib in tools.glob("zlib.*"):
51
+ tools.unlink(lib)
52
+
53
+
54
+ @attributes.requires("requires_git")
55
+ @attributes.system
56
+ @cmake.requires()
57
+ @cmake.use_ninja()
58
+ class ZlibNg(cmake.CMake):
59
+ name = "zlib-ng"
60
+ version = Parameter("2.3.2", help="Zlib version.")
61
+ shared = BooleanParameter(False, "Enable shared libraries.")
62
+ requires_git = ["git:url=https://github.com/zlib-ng/zlib-ng.git,rev={version}"]
63
+ srcdir = "{git[zlib-ng]}"
64
+ options = [
65
+ "BUILD_SHARED_LIBS={shared[ON,OFF]}",
66
+ "BUILD_TESTING=OFF",
67
+ ]
68
+
69
+ def publish(self, artifact, tools):
70
+ super().publish(artifact, tools)
71
+ artifact.environ.CMAKE_PREFIX_PATH.append(".")
72
+ artifact.cxxinfo.incpaths.append("include")
73
+ artifact.cxxinfo.libpaths.append("lib")
74
+ if self.system == "windows":
75
+ artifact.cxxinfo.libraries.append("zlibstatic-ng")
76
+ else:
77
+ artifact.cxxinfo.libraries.append("z-ng")
78
+
79
+
80
+ class VirtualZlib(Alias):
81
+ name = "virtual/zlib"
82
+ requires = ["zlib"]
83
+
84
+
85
+ TaskRegistry.get().add_task_class(Zlib)
86
+ TaskRegistry.get().add_task_class(ZlibNg)
87
+ TaskRegistry.get().add_task_class(VirtualZlib)
jolt/pkgs/zstd.py ADDED
@@ -0,0 +1,33 @@
1
+ from jolt import attributes, BooleanParameter, Parameter
2
+ from jolt.pkgs import cmake
3
+ from jolt.plugins import git, cmake
4
+ from jolt.tasks import TaskRegistry
5
+
6
+
7
+ @attributes.requires("requires_git")
8
+ @attributes.system
9
+ @cmake.requires()
10
+ @cmake.use_ninja()
11
+ class Zstd(cmake.CMake):
12
+ name = "zstd"
13
+ version = Parameter("ebc93b0", help="zstd version.")
14
+ shared = BooleanParameter(False, "Enable shared libraries.")
15
+ requires_git = ["git:url=https://github.com/facebook/zstd.git,rev={version}"]
16
+ srcdir = "{git[zstd]}"
17
+ options = [
18
+ "ZSTD_BUILD_SHARED={shared[ON,OFF]}",
19
+ "ZSTD_BUILD_STATIC={shared[OFF,ON]}",
20
+ "ZSTD_BUILD_TESTS=OFF",
21
+ ]
22
+
23
+ def publish(self, artifact, tools):
24
+ super().publish(artifact, tools)
25
+ artifact.cxxinfo.incpaths.append("include")
26
+ artifact.cxxinfo.libpaths.append("lib")
27
+ if self.system == "windows":
28
+ artifact.cxxinfo.libraries.append("zstd_static")
29
+ else:
30
+ artifact.cxxinfo.libraries.append("zstd")
31
+
32
+
33
+ TaskRegistry.get().add_task_class(Zstd)
jolt/plugins/alias.py CHANGED
@@ -8,6 +8,9 @@ log.verbose("[Alias] Loaded")
8
8
 
9
9
  _registry = tasks.TaskRegistry.get()
10
10
 
11
+ # Load task aliases from the configuration file
12
+ # and add them to the task registry.
13
+
11
14
  for key, value in config.options("alias"):
12
15
  class ConfigAlias(tasks.Alias):
13
16
  name = key
jolt/plugins/allure.py CHANGED
@@ -97,7 +97,7 @@ class Reporter(object):
97
97
  result.start = time.time() * 1000
98
98
  result.fullName = self._task.__class__.__name__ + "." + name
99
99
  result.testCaseId = utils.sha1(result.fullName)
100
- result.historyId = utils.sha1(self._task.identity + result.testCaseId)
100
+ result.historyId = utils.sha1(self._task.qualified_name + result.testCaseId)
101
101
  result.description = description
102
102
  result.labels.append(Label(name=LabelType.HOST, value=self._host))
103
103
  result.labels.append(Label(name=LabelType.THREAD, value=self._thread))
@@ -203,7 +203,7 @@ class AllureHooks(TaskHook):
203
203
  result.fullName = task.qualified_name
204
204
  result.description = task.task.__doc__
205
205
  result.testCaseId = utils.sha1(result.fullName)
206
- result.historyId = utils.sha1(task.identity + result.testCaseId)
206
+ result.historyId = utils.sha1(task.qualified_name + result.testCaseId)
207
207
  result.labels.append(Label(name=LabelType.HOST, value=host_tag()))
208
208
  result.labels.append(Label(name=LabelType.THREAD, value=thread_tag()))
209
209
  result.labels.append(Label(name=LabelType.FRAMEWORK, value='jolt'))
@@ -236,6 +236,9 @@ class AllureHooks(TaskHook):
236
236
  def task_failed(self, task):
237
237
  self._task_ended(task, Status.FAILED)
238
238
 
239
+ def task_unstable(self, task):
240
+ self.task_failed(task)
241
+
239
242
  def task_finished(self, task):
240
243
  self._task_ended(task, Status.PASSED)
241
244