jolt 0.9.342__py3-none-any.whl → 0.9.429__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 (158) hide show
  1. jolt/__init__.py +47 -0
  2. jolt/cache.py +358 -159
  3. jolt/cli.py +71 -104
  4. jolt/config.py +14 -26
  5. jolt/filesystem.py +2 -2
  6. jolt/graph.py +56 -28
  7. jolt/influence.py +67 -2
  8. jolt/loader.py +150 -186
  9. jolt/log.py +12 -2
  10. jolt/manifest.py +0 -46
  11. jolt/options.py +35 -12
  12. jolt/pkgs/abseil.py +42 -0
  13. jolt/pkgs/asio.py +25 -0
  14. jolt/pkgs/autoconf.py +41 -0
  15. jolt/pkgs/automake.py +41 -0
  16. jolt/pkgs/b2.py +31 -0
  17. jolt/pkgs/boost.py +111 -0
  18. jolt/pkgs/boringssl.py +32 -0
  19. jolt/pkgs/busybox.py +39 -0
  20. jolt/pkgs/bzip2.py +43 -0
  21. jolt/pkgs/cares.py +29 -0
  22. jolt/pkgs/catch2.py +36 -0
  23. jolt/pkgs/cbindgen.py +17 -0
  24. jolt/pkgs/cista.py +19 -0
  25. jolt/pkgs/clang.py +44 -0
  26. jolt/pkgs/cli11.py +23 -0
  27. jolt/pkgs/cmake.py +48 -0
  28. jolt/pkgs/cpython.py +196 -0
  29. jolt/pkgs/crun.py +29 -0
  30. jolt/pkgs/curl.py +38 -0
  31. jolt/pkgs/dbus.py +18 -0
  32. jolt/pkgs/double_conversion.py +24 -0
  33. jolt/pkgs/fastfloat.py +21 -0
  34. jolt/pkgs/ffmpeg.py +28 -0
  35. jolt/pkgs/flatbuffers.py +29 -0
  36. jolt/pkgs/fmt.py +27 -0
  37. jolt/pkgs/fstree.py +20 -0
  38. jolt/pkgs/gflags.py +18 -0
  39. jolt/pkgs/glib.py +18 -0
  40. jolt/pkgs/glog.py +25 -0
  41. jolt/pkgs/glslang.py +21 -0
  42. jolt/pkgs/golang.py +16 -11
  43. jolt/pkgs/googlebenchmark.py +18 -0
  44. jolt/pkgs/googletest.py +46 -0
  45. jolt/pkgs/gperf.py +15 -0
  46. jolt/pkgs/grpc.py +73 -0
  47. jolt/pkgs/hdf5.py +19 -0
  48. jolt/pkgs/help2man.py +14 -0
  49. jolt/pkgs/inja.py +28 -0
  50. jolt/pkgs/jsoncpp.py +31 -0
  51. jolt/pkgs/libarchive.py +43 -0
  52. jolt/pkgs/libcap.py +44 -0
  53. jolt/pkgs/libdrm.py +44 -0
  54. jolt/pkgs/libedit.py +42 -0
  55. jolt/pkgs/libevent.py +31 -0
  56. jolt/pkgs/libexpat.py +27 -0
  57. jolt/pkgs/libfastjson.py +21 -0
  58. jolt/pkgs/libffi.py +16 -0
  59. jolt/pkgs/libglvnd.py +30 -0
  60. jolt/pkgs/libogg.py +28 -0
  61. jolt/pkgs/libpciaccess.py +18 -0
  62. jolt/pkgs/libseccomp.py +21 -0
  63. jolt/pkgs/libtirpc.py +24 -0
  64. jolt/pkgs/libtool.py +42 -0
  65. jolt/pkgs/libunwind.py +35 -0
  66. jolt/pkgs/libva.py +18 -0
  67. jolt/pkgs/libvorbis.py +33 -0
  68. jolt/pkgs/libxml2.py +35 -0
  69. jolt/pkgs/libxslt.py +17 -0
  70. jolt/pkgs/libyajl.py +16 -0
  71. jolt/pkgs/llvm.py +81 -0
  72. jolt/pkgs/lua.py +54 -0
  73. jolt/pkgs/lz4.py +26 -0
  74. jolt/pkgs/m4.py +14 -0
  75. jolt/pkgs/make.py +17 -0
  76. jolt/pkgs/mesa.py +81 -0
  77. jolt/pkgs/meson.py +17 -0
  78. jolt/pkgs/mstch.py +28 -0
  79. jolt/pkgs/mysql.py +60 -0
  80. jolt/pkgs/nasm.py +49 -0
  81. jolt/pkgs/ncurses.py +30 -0
  82. jolt/pkgs/ng_log.py +25 -0
  83. jolt/pkgs/ninja.py +45 -0
  84. jolt/pkgs/nlohmann_json.py +25 -0
  85. jolt/pkgs/nodejs.py +19 -11
  86. jolt/pkgs/opencv.py +24 -0
  87. jolt/pkgs/openjdk.py +26 -0
  88. jolt/pkgs/openssl.py +103 -0
  89. jolt/pkgs/paho.py +76 -0
  90. jolt/pkgs/patchelf.py +16 -0
  91. jolt/pkgs/perl.py +42 -0
  92. jolt/pkgs/pkgconfig.py +64 -0
  93. jolt/pkgs/poco.py +39 -0
  94. jolt/pkgs/protobuf.py +77 -0
  95. jolt/pkgs/pugixml.py +27 -0
  96. jolt/pkgs/python.py +19 -0
  97. jolt/pkgs/qt.py +35 -0
  98. jolt/pkgs/rapidjson.py +26 -0
  99. jolt/pkgs/rapidyaml.py +28 -0
  100. jolt/pkgs/re2.py +30 -0
  101. jolt/pkgs/re2c.py +17 -0
  102. jolt/pkgs/readline.py +15 -0
  103. jolt/pkgs/rust.py +41 -0
  104. jolt/pkgs/sdl.py +28 -0
  105. jolt/pkgs/simdjson.py +27 -0
  106. jolt/pkgs/soci.py +46 -0
  107. jolt/pkgs/spdlog.py +29 -0
  108. jolt/pkgs/spirv_llvm.py +21 -0
  109. jolt/pkgs/spirv_tools.py +24 -0
  110. jolt/pkgs/sqlite.py +83 -0
  111. jolt/pkgs/ssl.py +12 -0
  112. jolt/pkgs/texinfo.py +15 -0
  113. jolt/pkgs/tomlplusplus.py +22 -0
  114. jolt/pkgs/wayland.py +26 -0
  115. jolt/pkgs/x11.py +58 -0
  116. jolt/pkgs/xerces_c.py +20 -0
  117. jolt/pkgs/xorg.py +360 -0
  118. jolt/pkgs/xz.py +29 -0
  119. jolt/pkgs/yamlcpp.py +30 -0
  120. jolt/pkgs/zeromq.py +47 -0
  121. jolt/pkgs/zlib.py +69 -0
  122. jolt/pkgs/zstd.py +33 -0
  123. jolt/plugins/autotools.py +66 -0
  124. jolt/plugins/cmake.py +74 -6
  125. jolt/plugins/conan.py +238 -0
  126. jolt/plugins/cxxinfo.py +7 -0
  127. jolt/plugins/docker.py +3 -3
  128. jolt/plugins/environ.py +11 -0
  129. jolt/plugins/fetch.py +141 -0
  130. jolt/plugins/gdb.py +10 -6
  131. jolt/plugins/git.py +60 -11
  132. jolt/plugins/libtool.py +63 -0
  133. jolt/plugins/linux.py +990 -0
  134. jolt/plugins/meson.py +61 -0
  135. jolt/plugins/ninja-compdb.py +11 -7
  136. jolt/plugins/ninja.py +245 -26
  137. jolt/plugins/paths.py +11 -1
  138. jolt/plugins/pkgconfig.py +219 -0
  139. jolt/plugins/podman.py +15 -41
  140. jolt/plugins/python.py +137 -0
  141. jolt/plugins/rust.py +25 -0
  142. jolt/plugins/scheduler.py +18 -14
  143. jolt/plugins/selfdeploy/setup.py +2 -1
  144. jolt/plugins/selfdeploy.py +21 -30
  145. jolt/plugins/strings.py +19 -10
  146. jolt/scheduler.py +428 -138
  147. jolt/tasks.py +159 -7
  148. jolt/tools.py +105 -51
  149. jolt/utils.py +16 -1
  150. jolt/version.py +1 -1
  151. {jolt-0.9.342.dist-info → jolt-0.9.429.dist-info}/METADATA +64 -9
  152. jolt-0.9.429.dist-info/RECORD +207 -0
  153. {jolt-0.9.342.dist-info → jolt-0.9.429.dist-info}/WHEEL +1 -1
  154. jolt/plugins/debian.py +0 -338
  155. jolt/plugins/repo.py +0 -253
  156. jolt-0.9.342.dist-info/RECORD +0 -93
  157. {jolt-0.9.342.dist-info → jolt-0.9.429.dist-info}/entry_points.txt +0 -0
  158. {jolt-0.9.342.dist-info → jolt-0.9.429.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,69 @@
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
+ if self.shared:
29
+ artifact.cxxinfo.libraries.append("zlib")
30
+ else:
31
+ artifact.cxxinfo.libraries.append("zlibstatic")
32
+ else:
33
+ artifact.cxxinfo.libraries.append("z")
34
+
35
+
36
+ @attributes.requires("requires_git")
37
+ @attributes.system
38
+ @cmake.requires()
39
+ @cmake.use_ninja()
40
+ class ZlibNg(cmake.CMake):
41
+ name = "zlib-ng"
42
+ version = Parameter("2.3.2", help="Zlib version.")
43
+ shared = BooleanParameter(False, "Enable shared libraries.")
44
+ requires_git = ["git:url=https://github.com/zlib-ng/zlib-ng.git,rev={version}"]
45
+ srcdir = "{git[zlib-ng]}"
46
+ options = [
47
+ "BUILD_SHARED_LIBS={shared[ON,OFF]}",
48
+ "BUILD_TESTING=OFF",
49
+ ]
50
+
51
+ def publish(self, artifact, tools):
52
+ super().publish(artifact, tools)
53
+ artifact.environ.CMAKE_PREFIX_PATH.append(".")
54
+ artifact.cxxinfo.incpaths.append("include")
55
+ artifact.cxxinfo.libpaths.append("lib")
56
+ if self.system == "windows":
57
+ artifact.cxxinfo.libraries.append("zlibstatic-ng")
58
+ else:
59
+ artifact.cxxinfo.libraries.append("z-ng")
60
+
61
+
62
+ class VirtualZlib(Alias):
63
+ name = "virtual/zlib"
64
+ requires = ["zlib"]
65
+
66
+
67
+ TaskRegistry.get().add_task_class(Zlib)
68
+ TaskRegistry.get().add_task_class(ZlibNg)
69
+ 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)
@@ -0,0 +1,66 @@
1
+ from jolt import Task, attributes
2
+
3
+
4
+ @attributes.common_metadata()
5
+ class Autotools(Task):
6
+ """ Base class for Autotools-based build tasks. """
7
+
8
+ abstract = True
9
+ """ This is an abstract base class that should be inherited by concrete tasks. """
10
+
11
+ incremental = True
12
+ """
13
+ Whether to use incremental builds.
14
+ If True, the build directories are preserved between runs.
15
+ """
16
+
17
+ options = []
18
+ """
19
+ Additional options to pass to the `./configure` script.
20
+ """
21
+
22
+ srcdir = None
23
+ """
24
+ Source directory for the Autotools project.
25
+
26
+ If None, defaults to the task work directory (joltdir).
27
+ """
28
+
29
+ def clean(self, tools):
30
+ at = tools.autotools(incremental=self.incremental)
31
+ at.clean()
32
+
33
+ def run(self, deps, tools):
34
+ self.deps = deps
35
+ options = tools.expand(self.options)
36
+ at = tools.autotools(deps, incremental=self.incremental)
37
+ at.configure(self.srcdir or self.joltdir, *options)
38
+ at.build()
39
+ at.install()
40
+
41
+ def publish(self, artifact, tools):
42
+ at = tools.autotools(incremental=self.incremental)
43
+ at.publish(artifact)
44
+
45
+
46
+ def requires(autoconf=True, automake=True, libtool=True):
47
+ """ Decorator to add Autotools requirements to a task. """
48
+
49
+ import jolt.pkgs.autoconf
50
+ import jolt.pkgs.automake
51
+ import jolt.pkgs.libtool
52
+
53
+ def decorate(cls):
54
+ if autoconf:
55
+ cls = attributes.requires("requires_autoconf")(cls)
56
+ cls.requires_autoconf = ["autoconf"]
57
+ if automake:
58
+ cls = attributes.requires("requires_automake")(cls)
59
+ cls.requires_automake = ["automake"]
60
+ if libtool:
61
+ cls = attributes.requires("requires_libtool")(cls)
62
+ cls.requires_libtool = ["libtool"]
63
+
64
+ return cls
65
+
66
+ return decorate