jolt 0.9.440__tar.gz → 0.9.445__tar.gz

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 (213) hide show
  1. {jolt-0.9.440 → jolt-0.9.445}/PKG-INFO +2 -1
  2. {jolt-0.9.440 → jolt-0.9.445}/jolt/graph.py +3 -3
  3. {jolt-0.9.440 → jolt-0.9.445}/jolt/influence.py +8 -9
  4. {jolt-0.9.440 → jolt-0.9.445}/jolt/loader.py +1 -1
  5. {jolt-0.9.440 → jolt-0.9.445}/jolt/pkgs/abseil.py +14 -10
  6. jolt-0.9.445/jolt/pkgs/blake3.py +15 -0
  7. {jolt-0.9.440 → jolt-0.9.445}/jolt/pkgs/boost.py +13 -9
  8. {jolt-0.9.440 → jolt-0.9.445}/jolt/pkgs/boringssl.py +2 -8
  9. jolt-0.9.445/jolt/pkgs/brotli.py +20 -0
  10. {jolt-0.9.440 → jolt-0.9.445}/jolt/pkgs/bzip2.py +1 -3
  11. {jolt-0.9.440 → jolt-0.9.445}/jolt/pkgs/cares.py +2 -7
  12. {jolt-0.9.440 → jolt-0.9.445}/jolt/pkgs/catch2.py +2 -7
  13. {jolt-0.9.440 → jolt-0.9.445}/jolt/pkgs/curl.py +10 -4
  14. {jolt-0.9.440 → jolt-0.9.445}/jolt/pkgs/double_conversion.py +2 -7
  15. {jolt-0.9.440 → jolt-0.9.445}/jolt/pkgs/flatbuffers.py +2 -7
  16. {jolt-0.9.440 → jolt-0.9.445}/jolt/pkgs/fmt.py +2 -7
  17. {jolt-0.9.440 → jolt-0.9.445}/jolt/pkgs/googletest.py +2 -8
  18. {jolt-0.9.440 → jolt-0.9.445}/jolt/pkgs/grpc.py +2 -3
  19. {jolt-0.9.440 → jolt-0.9.445}/jolt/pkgs/jsoncpp.py +2 -3
  20. {jolt-0.9.440 → jolt-0.9.445}/jolt/pkgs/libarchive.py +2 -7
  21. {jolt-0.9.440 → jolt-0.9.445}/jolt/pkgs/libcap.py +11 -3
  22. {jolt-0.9.440 → jolt-0.9.445}/jolt/pkgs/libedit.py +2 -4
  23. {jolt-0.9.440 → jolt-0.9.445}/jolt/pkgs/libevent.py +10 -2
  24. {jolt-0.9.440 → jolt-0.9.445}/jolt/pkgs/libexpat.py +2 -7
  25. {jolt-0.9.440 → jolt-0.9.445}/jolt/pkgs/libogg.py +2 -7
  26. {jolt-0.9.440 → jolt-0.9.445}/jolt/pkgs/libtirpc.py +2 -7
  27. {jolt-0.9.440 → jolt-0.9.445}/jolt/pkgs/libvorbis.py +2 -9
  28. {jolt-0.9.440 → jolt-0.9.445}/jolt/pkgs/libxml2.py +2 -3
  29. {jolt-0.9.440 → jolt-0.9.445}/jolt/pkgs/lz4.py +2 -7
  30. {jolt-0.9.440 → jolt-0.9.445}/jolt/pkgs/mstch.py +2 -7
  31. {jolt-0.9.440 → jolt-0.9.445}/jolt/pkgs/mysql.py +2 -7
  32. {jolt-0.9.440 → jolt-0.9.445}/jolt/pkgs/ng_log.py +2 -7
  33. {jolt-0.9.440 → jolt-0.9.445}/jolt/pkgs/openssl.py +14 -11
  34. {jolt-0.9.440 → jolt-0.9.445}/jolt/pkgs/paho.py +4 -5
  35. {jolt-0.9.440 → jolt-0.9.445}/jolt/pkgs/poco.py +13 -10
  36. {jolt-0.9.440 → jolt-0.9.445}/jolt/pkgs/protobuf.py +2 -3
  37. {jolt-0.9.440 → jolt-0.9.445}/jolt/pkgs/pugixml.py +2 -7
  38. {jolt-0.9.440 → jolt-0.9.445}/jolt/pkgs/rapidjson.py +2 -5
  39. {jolt-0.9.440 → jolt-0.9.445}/jolt/pkgs/rapidyaml.py +2 -8
  40. {jolt-0.9.440 → jolt-0.9.445}/jolt/pkgs/re2.py +2 -7
  41. {jolt-0.9.440 → jolt-0.9.445}/jolt/pkgs/sdl.py +2 -3
  42. {jolt-0.9.440 → jolt-0.9.445}/jolt/pkgs/simdjson.py +2 -7
  43. {jolt-0.9.440 → jolt-0.9.445}/jolt/pkgs/soci.py +2 -3
  44. {jolt-0.9.440 → jolt-0.9.445}/jolt/pkgs/spdlog.py +2 -7
  45. {jolt-0.9.440 → jolt-0.9.445}/jolt/pkgs/sqlite.py +3 -11
  46. {jolt-0.9.440 → jolt-0.9.445}/jolt/pkgs/xz.py +2 -7
  47. {jolt-0.9.440 → jolt-0.9.445}/jolt/pkgs/yamlcpp.py +2 -7
  48. {jolt-0.9.440 → jolt-0.9.445}/jolt/pkgs/zeromq.py +3 -11
  49. {jolt-0.9.440 → jolt-0.9.445}/jolt/pkgs/zlib.py +9 -11
  50. {jolt-0.9.440 → jolt-0.9.445}/jolt/pkgs/zstd.py +2 -3
  51. {jolt-0.9.440 → jolt-0.9.445}/jolt/plugins/allure.py +6 -6
  52. {jolt-0.9.440 → jolt-0.9.445}/jolt/plugins/cmake.py +2 -1
  53. {jolt-0.9.440 → jolt-0.9.445}/jolt/plugins/cxxinfo.py +32 -0
  54. {jolt-0.9.440 → jolt-0.9.445}/jolt/plugins/ninja.py +2 -2
  55. {jolt-0.9.440 → jolt-0.9.445}/jolt/tasks.py +12 -12
  56. {jolt-0.9.440 → jolt-0.9.445}/jolt/tools.py +15 -10
  57. {jolt-0.9.440 → jolt-0.9.445}/jolt/utils.py +23 -9
  58. jolt-0.9.445/jolt/version.py +1 -0
  59. {jolt-0.9.440 → jolt-0.9.445}/jolt.egg-info/PKG-INFO +2 -1
  60. {jolt-0.9.440 → jolt-0.9.445}/jolt.egg-info/SOURCES.txt +2 -0
  61. {jolt-0.9.440 → jolt-0.9.445}/jolt.egg-info/requires.txt +1 -0
  62. {jolt-0.9.440 → jolt-0.9.445}/setup.py +1 -0
  63. jolt-0.9.440/jolt/version.py +0 -1
  64. {jolt-0.9.440 → jolt-0.9.445}/README.rst +0 -0
  65. {jolt-0.9.440 → jolt-0.9.445}/jolt/__init__.py +0 -0
  66. {jolt-0.9.440 → jolt-0.9.445}/jolt/__main__.py +0 -0
  67. {jolt-0.9.440 → jolt-0.9.445}/jolt/bin/fstree-darwin-x86_64 +0 -0
  68. {jolt-0.9.440 → jolt-0.9.445}/jolt/bin/fstree-linux-x86_64 +0 -0
  69. {jolt-0.9.440 → jolt-0.9.445}/jolt/cache.py +0 -0
  70. {jolt-0.9.440 → jolt-0.9.445}/jolt/chroot.py +0 -0
  71. {jolt-0.9.440 → jolt-0.9.445}/jolt/cli.py +0 -0
  72. {jolt-0.9.440 → jolt-0.9.445}/jolt/colors.py +0 -0
  73. {jolt-0.9.440 → jolt-0.9.445}/jolt/common_pb2.py +0 -0
  74. {jolt-0.9.440 → jolt-0.9.445}/jolt/common_pb2_grpc.py +0 -0
  75. {jolt-0.9.440 → jolt-0.9.445}/jolt/config.py +0 -0
  76. {jolt-0.9.440 → jolt-0.9.445}/jolt/error.py +0 -0
  77. {jolt-0.9.440 → jolt-0.9.445}/jolt/expires.py +0 -0
  78. {jolt-0.9.440 → jolt-0.9.445}/jolt/filesystem.py +0 -0
  79. {jolt-0.9.440 → jolt-0.9.445}/jolt/hooks.py +0 -0
  80. {jolt-0.9.440 → jolt-0.9.445}/jolt/inspection.py +0 -0
  81. {jolt-0.9.440 → jolt-0.9.445}/jolt/log.py +0 -0
  82. {jolt-0.9.440 → jolt-0.9.445}/jolt/manifest.py +0 -0
  83. {jolt-0.9.440 → jolt-0.9.445}/jolt/options.py +0 -0
  84. {jolt-0.9.440 → jolt-0.9.445}/jolt/pkgs/__init__.py +0 -0
  85. {jolt-0.9.440 → jolt-0.9.445}/jolt/pkgs/asio.py +0 -0
  86. {jolt-0.9.440 → jolt-0.9.445}/jolt/pkgs/autoconf.py +0 -0
  87. {jolt-0.9.440 → jolt-0.9.445}/jolt/pkgs/automake.py +0 -0
  88. {jolt-0.9.440 → jolt-0.9.445}/jolt/pkgs/b2.py +0 -0
  89. {jolt-0.9.440 → jolt-0.9.445}/jolt/pkgs/busybox.py +0 -0
  90. {jolt-0.9.440 → jolt-0.9.445}/jolt/pkgs/cbindgen.py +0 -0
  91. {jolt-0.9.440 → jolt-0.9.445}/jolt/pkgs/cista.py +0 -0
  92. {jolt-0.9.440 → jolt-0.9.445}/jolt/pkgs/clang.py +0 -0
  93. {jolt-0.9.440 → jolt-0.9.445}/jolt/pkgs/cli11.py +0 -0
  94. {jolt-0.9.440 → jolt-0.9.445}/jolt/pkgs/cmake.py +0 -0
  95. {jolt-0.9.440 → jolt-0.9.445}/jolt/pkgs/cpython.py +0 -0
  96. {jolt-0.9.440 → jolt-0.9.445}/jolt/pkgs/crun.py +0 -0
  97. {jolt-0.9.440 → jolt-0.9.445}/jolt/pkgs/dbus.py +0 -0
  98. {jolt-0.9.440 → jolt-0.9.445}/jolt/pkgs/fastfloat.py +0 -0
  99. {jolt-0.9.440 → jolt-0.9.445}/jolt/pkgs/ffmpeg.py +0 -0
  100. {jolt-0.9.440 → jolt-0.9.445}/jolt/pkgs/fstree.py +0 -0
  101. {jolt-0.9.440 → jolt-0.9.445}/jolt/pkgs/gflags.py +0 -0
  102. {jolt-0.9.440 → jolt-0.9.445}/jolt/pkgs/glib.py +0 -0
  103. {jolt-0.9.440 → jolt-0.9.445}/jolt/pkgs/glog.py +0 -0
  104. {jolt-0.9.440 → jolt-0.9.445}/jolt/pkgs/glslang.py +0 -0
  105. {jolt-0.9.440 → jolt-0.9.445}/jolt/pkgs/golang.py +0 -0
  106. {jolt-0.9.440 → jolt-0.9.445}/jolt/pkgs/googlebenchmark.py +0 -0
  107. {jolt-0.9.440 → jolt-0.9.445}/jolt/pkgs/gperf.py +0 -0
  108. {jolt-0.9.440 → jolt-0.9.445}/jolt/pkgs/hdf5.py +0 -0
  109. {jolt-0.9.440 → jolt-0.9.445}/jolt/pkgs/help2man.py +0 -0
  110. {jolt-0.9.440 → jolt-0.9.445}/jolt/pkgs/inja.py +0 -0
  111. {jolt-0.9.440 → jolt-0.9.445}/jolt/pkgs/libdrm.py +0 -0
  112. {jolt-0.9.440 → jolt-0.9.445}/jolt/pkgs/libfastjson.py +0 -0
  113. {jolt-0.9.440 → jolt-0.9.445}/jolt/pkgs/libffi.py +0 -0
  114. {jolt-0.9.440 → jolt-0.9.445}/jolt/pkgs/libglvnd.py +0 -0
  115. {jolt-0.9.440 → jolt-0.9.445}/jolt/pkgs/libpciaccess.py +0 -0
  116. {jolt-0.9.440 → jolt-0.9.445}/jolt/pkgs/libseccomp.py +0 -0
  117. {jolt-0.9.440 → jolt-0.9.445}/jolt/pkgs/libtool.py +0 -0
  118. {jolt-0.9.440 → jolt-0.9.445}/jolt/pkgs/libunwind.py +0 -0
  119. {jolt-0.9.440 → jolt-0.9.445}/jolt/pkgs/libva.py +0 -0
  120. {jolt-0.9.440 → jolt-0.9.445}/jolt/pkgs/libxslt.py +0 -0
  121. {jolt-0.9.440 → jolt-0.9.445}/jolt/pkgs/libyajl.py +0 -0
  122. {jolt-0.9.440 → jolt-0.9.445}/jolt/pkgs/llvm.py +0 -0
  123. {jolt-0.9.440 → jolt-0.9.445}/jolt/pkgs/lua.py +0 -0
  124. {jolt-0.9.440 → jolt-0.9.445}/jolt/pkgs/m4.py +0 -0
  125. {jolt-0.9.440 → jolt-0.9.445}/jolt/pkgs/make.py +0 -0
  126. {jolt-0.9.440 → jolt-0.9.445}/jolt/pkgs/mesa.py +0 -0
  127. {jolt-0.9.440 → jolt-0.9.445}/jolt/pkgs/meson.py +0 -0
  128. {jolt-0.9.440 → jolt-0.9.445}/jolt/pkgs/nasm.py +0 -0
  129. {jolt-0.9.440 → jolt-0.9.445}/jolt/pkgs/ncurses.py +0 -0
  130. {jolt-0.9.440 → jolt-0.9.445}/jolt/pkgs/ninja.py +0 -0
  131. {jolt-0.9.440 → jolt-0.9.445}/jolt/pkgs/nlohmann_json.py +0 -0
  132. {jolt-0.9.440 → jolt-0.9.445}/jolt/pkgs/nodejs.py +0 -0
  133. {jolt-0.9.440 → jolt-0.9.445}/jolt/pkgs/opencv.py +0 -0
  134. {jolt-0.9.440 → jolt-0.9.445}/jolt/pkgs/openjdk.py +0 -0
  135. {jolt-0.9.440 → jolt-0.9.445}/jolt/pkgs/patchelf.py +0 -0
  136. {jolt-0.9.440 → jolt-0.9.445}/jolt/pkgs/perl.py +0 -0
  137. {jolt-0.9.440 → jolt-0.9.445}/jolt/pkgs/pkgconfig.py +0 -0
  138. {jolt-0.9.440 → jolt-0.9.445}/jolt/pkgs/python.py +0 -0
  139. {jolt-0.9.440 → jolt-0.9.445}/jolt/pkgs/qt.py +0 -0
  140. {jolt-0.9.440 → jolt-0.9.445}/jolt/pkgs/re2c.py +0 -0
  141. {jolt-0.9.440 → jolt-0.9.445}/jolt/pkgs/readline.py +0 -0
  142. {jolt-0.9.440 → jolt-0.9.445}/jolt/pkgs/rust.py +0 -0
  143. {jolt-0.9.440 → jolt-0.9.445}/jolt/pkgs/spirv_llvm.py +0 -0
  144. {jolt-0.9.440 → jolt-0.9.445}/jolt/pkgs/spirv_tools.py +0 -0
  145. {jolt-0.9.440 → jolt-0.9.445}/jolt/pkgs/ssl.py +0 -0
  146. {jolt-0.9.440 → jolt-0.9.445}/jolt/pkgs/texinfo.py +0 -0
  147. {jolt-0.9.440 → jolt-0.9.445}/jolt/pkgs/tomlplusplus.py +0 -0
  148. {jolt-0.9.440 → jolt-0.9.445}/jolt/pkgs/wayland.py +0 -0
  149. {jolt-0.9.440 → jolt-0.9.445}/jolt/pkgs/x11.py +0 -0
  150. {jolt-0.9.440 → jolt-0.9.445}/jolt/pkgs/xerces_c.py +0 -0
  151. {jolt-0.9.440 → jolt-0.9.445}/jolt/pkgs/xorg.py +0 -0
  152. {jolt-0.9.440 → jolt-0.9.445}/jolt/plugins/__init__.py +0 -0
  153. {jolt-0.9.440 → jolt-0.9.445}/jolt/plugins/alias.py +0 -0
  154. {jolt-0.9.440 → jolt-0.9.445}/jolt/plugins/autotools.py +0 -0
  155. {jolt-0.9.440 → jolt-0.9.445}/jolt/plugins/autoweight.py +0 -0
  156. {jolt-0.9.440 → jolt-0.9.445}/jolt/plugins/cache.py +0 -0
  157. {jolt-0.9.440 → jolt-0.9.445}/jolt/plugins/conan.py +0 -0
  158. {jolt-0.9.440 → jolt-0.9.445}/jolt/plugins/cxx.py +0 -0
  159. {jolt-0.9.440 → jolt-0.9.445}/jolt/plugins/dashboard.py +0 -0
  160. {jolt-0.9.440 → jolt-0.9.445}/jolt/plugins/docker.py +0 -0
  161. {jolt-0.9.440 → jolt-0.9.445}/jolt/plugins/email.py +0 -0
  162. {jolt-0.9.440 → jolt-0.9.445}/jolt/plugins/email.xslt +0 -0
  163. {jolt-0.9.440 → jolt-0.9.445}/jolt/plugins/environ.py +0 -0
  164. {jolt-0.9.440 → jolt-0.9.445}/jolt/plugins/fetch.py +0 -0
  165. {jolt-0.9.440 → jolt-0.9.445}/jolt/plugins/gdb.py +0 -0
  166. {jolt-0.9.440 → jolt-0.9.445}/jolt/plugins/gerrit.py +0 -0
  167. {jolt-0.9.440 → jolt-0.9.445}/jolt/plugins/git.py +0 -0
  168. {jolt-0.9.440 → jolt-0.9.445}/jolt/plugins/golang.py +0 -0
  169. {jolt-0.9.440 → jolt-0.9.445}/jolt/plugins/googletest.py +0 -0
  170. {jolt-0.9.440 → jolt-0.9.445}/jolt/plugins/http.py +0 -0
  171. {jolt-0.9.440 → jolt-0.9.445}/jolt/plugins/junit.py +0 -0
  172. {jolt-0.9.440 → jolt-0.9.445}/jolt/plugins/libtool.py +0 -0
  173. {jolt-0.9.440 → jolt-0.9.445}/jolt/plugins/linux.py +0 -0
  174. {jolt-0.9.440 → jolt-0.9.445}/jolt/plugins/logstash.py +0 -0
  175. {jolt-0.9.440 → jolt-0.9.445}/jolt/plugins/meson.py +0 -0
  176. {jolt-0.9.440 → jolt-0.9.445}/jolt/plugins/ninja-compdb.py +0 -0
  177. {jolt-0.9.440 → jolt-0.9.445}/jolt/plugins/nodejs.py +0 -0
  178. {jolt-0.9.440 → jolt-0.9.445}/jolt/plugins/paths.py +0 -0
  179. {jolt-0.9.440 → jolt-0.9.445}/jolt/plugins/pkgconfig.py +0 -0
  180. {jolt-0.9.440 → jolt-0.9.445}/jolt/plugins/podman.py +0 -0
  181. {jolt-0.9.440 → jolt-0.9.445}/jolt/plugins/python.py +0 -0
  182. {jolt-0.9.440 → jolt-0.9.445}/jolt/plugins/remote_execution/__init__.py +0 -0
  183. {jolt-0.9.440 → jolt-0.9.445}/jolt/plugins/remote_execution/administration_pb2.py +0 -0
  184. {jolt-0.9.440 → jolt-0.9.445}/jolt/plugins/remote_execution/administration_pb2_grpc.py +0 -0
  185. {jolt-0.9.440 → jolt-0.9.445}/jolt/plugins/remote_execution/log_pb2.py +0 -0
  186. {jolt-0.9.440 → jolt-0.9.445}/jolt/plugins/remote_execution/log_pb2_grpc.py +0 -0
  187. {jolt-0.9.440 → jolt-0.9.445}/jolt/plugins/remote_execution/scheduler_pb2.py +0 -0
  188. {jolt-0.9.440 → jolt-0.9.445}/jolt/plugins/remote_execution/scheduler_pb2_grpc.py +0 -0
  189. {jolt-0.9.440 → jolt-0.9.445}/jolt/plugins/remote_execution/worker_pb2.py +0 -0
  190. {jolt-0.9.440 → jolt-0.9.445}/jolt/plugins/remote_execution/worker_pb2_grpc.py +0 -0
  191. {jolt-0.9.440 → jolt-0.9.445}/jolt/plugins/report.py +0 -0
  192. {jolt-0.9.440 → jolt-0.9.445}/jolt/plugins/rust.py +0 -0
  193. {jolt-0.9.440 → jolt-0.9.445}/jolt/plugins/scheduler.py +0 -0
  194. {jolt-0.9.440 → jolt-0.9.445}/jolt/plugins/selfdeploy.py +0 -0
  195. {jolt-0.9.440 → jolt-0.9.445}/jolt/plugins/strings.py +0 -0
  196. {jolt-0.9.440 → jolt-0.9.445}/jolt/plugins/symlinks.py +0 -0
  197. {jolt-0.9.440 → jolt-0.9.445}/jolt/plugins/telemetry.py +0 -0
  198. {jolt-0.9.440 → jolt-0.9.445}/jolt/plugins/timeline.py +0 -0
  199. {jolt-0.9.440 → jolt-0.9.445}/jolt/plugins/volume.py +0 -0
  200. {jolt-0.9.440 → jolt-0.9.445}/jolt/plugins/yaml-ninja.py +0 -0
  201. {jolt-0.9.440 → jolt-0.9.445}/jolt/plugins/yamltask.py +0 -0
  202. {jolt-0.9.440 → jolt-0.9.445}/jolt/scheduler.py +0 -0
  203. {jolt-0.9.440 → jolt-0.9.445}/jolt/templates/cxxexecutable.cmake.template +0 -0
  204. {jolt-0.9.440 → jolt-0.9.445}/jolt/templates/cxxlibrary.cmake.template +0 -0
  205. {jolt-0.9.440 → jolt-0.9.445}/jolt/templates/export.sh.template +0 -0
  206. {jolt-0.9.440 → jolt-0.9.445}/jolt/templates/timeline.html.template +0 -0
  207. {jolt-0.9.440 → jolt-0.9.445}/jolt/timer.py +0 -0
  208. {jolt-0.9.440 → jolt-0.9.445}/jolt/version_utils.py +0 -0
  209. {jolt-0.9.440 → jolt-0.9.445}/jolt/xmldom.py +0 -0
  210. {jolt-0.9.440 → jolt-0.9.445}/jolt.egg-info/dependency_links.txt +0 -0
  211. {jolt-0.9.440 → jolt-0.9.445}/jolt.egg-info/entry_points.txt +0 -0
  212. {jolt-0.9.440 → jolt-0.9.445}/jolt.egg-info/top_level.txt +0 -0
  213. {jolt-0.9.440 → jolt-0.9.445}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: jolt
3
- Version: 0.9.440
3
+ Version: 0.9.445
4
4
  Summary: A task executor
5
5
  Home-page: https://github.com/srand/jolt
6
6
  Author: Robert Andersson
@@ -33,6 +33,7 @@ Requires-Dist: SecretStorage==3.3.3
33
33
  Requires-Dist: allure-python-commons==2.13.5
34
34
  Requires-Dist: attrs==24.2.0
35
35
  Requires-Dist: backports.tarfile==1.2.0
36
+ Requires-Dist: blake3==1.0.8
36
37
  Requires-Dist: bottle==0.12.25
37
38
  Requires-Dist: brotli==1.2.0
38
39
  Requires-Dist: bz2file==0.98
@@ -139,9 +139,9 @@ class TaskProxy(object):
139
139
  if c.is_workspace_resource():
140
140
  c.task.acquire_ws()
141
141
 
142
- sha = hashlib.sha1()
143
- HashInfluenceRegistry.get().apply_all(self.task, sha)
144
- self.task.identity = sha.hexdigest()
142
+ hash = utils.hashfn()
143
+ HashInfluenceRegistry.get().apply_all(self.task, hash)
144
+ self.task.identity = hash.hexdigest()
145
145
 
146
146
  return str(self.task.identity)
147
147
 
@@ -1,5 +1,4 @@
1
1
  import datetime
2
- import hashlib
3
2
  import os
4
3
  from pathlib import Path, PurePath
5
4
 
@@ -158,17 +157,17 @@ class TaskSourceInfluence(HashInfluenceProvider):
158
157
  else:
159
158
  funcs = []
160
159
 
161
- # Calculate sha1 sum for all functions
162
- shasum = hashlib.sha1()
160
+ # Calculate hash sum for all functions
161
+ sum = ""
163
162
  for func in funcs:
164
163
  try:
165
164
  func.__influence
166
165
  except AttributeError:
167
- func.__influence = utils.sha1(inspection.getfuncsource(func))
166
+ func.__influence = utils.hashstring(inspection.getfuncsource(func))
168
167
  finally:
169
- shasum.update(func.__influence.encode())
168
+ sum += func.__influence
170
169
 
171
- return shasum.hexdigest() + ": " + funcname
170
+ return utils.hashstring(sum) + ": " + funcname
172
171
 
173
172
 
174
173
  def source(name, obj=None):
@@ -271,7 +270,7 @@ class TaskClassSourceInfluence(HashInfluenceProvider):
271
270
  name = "Source"
272
271
 
273
272
  def get_influence(self, task):
274
- # Calculate sha1 sum for classes in hierarchy
273
+ # Calculate hash sum for classes in hierarchy
275
274
  result = ""
276
275
  for cls in reversed(task.__class__.mro()):
277
276
  if cls is object:
@@ -280,7 +279,7 @@ class TaskClassSourceInfluence(HashInfluenceProvider):
280
279
  cls.__dict__["_TaskClassSourceInfluence__influence"]
281
280
  except KeyError:
282
281
  try:
283
- cls.__influence = utils.sha1(inspection.getclasssource(cls))
282
+ cls.__influence = utils.hashstring(inspection.getclasssource(cls))
284
283
  except TypeError:
285
284
  continue
286
285
  result += cls.__dict__["_TaskClassSourceInfluence__influence"] + \
@@ -529,7 +528,7 @@ class FileInfluence(HashInfluenceProvider):
529
528
  self._files = {}
530
529
 
531
530
  def get_file_influence(self, path):
532
- return utils.filesha1(str(path))
531
+ return utils.hashfile(str(path))
533
532
 
534
533
  def get_filelist(self, task):
535
534
  try:
@@ -462,7 +462,7 @@ def export_workspace(tasks=None) -> common_pb.Workspace:
462
462
  with tools.cwd(loader.workspace_path):
463
463
  cwd = tools.getcwd()
464
464
  cachedir = config.get_cachedir()
465
- indexhash = utils.sha1(cwd)
465
+ indexhash = utils.hashstring(cwd)
466
466
  indexfile = tools.expand_path(
467
467
  "{cachedir}/indexes/{}/{}",
468
468
  indexhash[:2], indexhash[2:],
@@ -27,17 +27,21 @@ class Abseil(cmake.CMake):
27
27
  if self.system == "windows":
28
28
  artifact.cxxinfo.msvcrt = "Dynamic"
29
29
  artifact.cxxinfo.incpaths.append("include")
30
- artifact.cxxinfo.libpaths.append("lib")
31
- if self.shared:
32
- artifact.environ.LD_LIBRARY_PATH.append("lib")
33
30
 
34
- with tools.cwd(artifact.path, "lib"):
35
- for libfile in tools.glob("*.lib"):
36
- libname, _ = os.path.splitext(libfile)
37
- artifact.cxxinfo.libraries.append(libname)
38
- for libfile in tools.glob("lib*.a"):
39
- libname, _ = os.path.splitext(libfile)
40
- artifact.cxxinfo.libraries.append(libname[3:])
31
+ with tools.cwd(artifact.path):
32
+ for libdir in ["lib", "lib32", "lib64"]:
33
+ if not tools.exists(libdir):
34
+ continue
35
+ with tools.cwd(libdir):
36
+ artifact.cxxinfo.libpaths.append(libdir)
37
+ if self.shared:
38
+ artifact.environ.LD_LIBRARY_PATH.append(libdir)
39
+ for libfile in tools.glob("*.lib"):
40
+ libname, _ = os.path.splitext(libfile)
41
+ artifact.cxxinfo.libraries.append(libname)
42
+ for libfile in tools.glob("lib*.a"):
43
+ libname, _ = os.path.splitext(libfile)
44
+ artifact.cxxinfo.libraries.append(libname[3:])
41
45
 
42
46
 
43
47
  TaskRegistry.get().add_task_class(Abseil)
@@ -0,0 +1,15 @@
1
+ from jolt import attributes, Parameter
2
+ from jolt.plugins import cmake, git
3
+ from jolt.tasks import TaskRegistry
4
+
5
+
6
+ @attributes.requires("requires_git")
7
+ @cmake.requires()
8
+ class Blake3(cmake.CMake):
9
+ name = "blake3"
10
+ version = Parameter("1.8.3", help="blake3 version.")
11
+ requires_git = ["git:url=https://github.com/BLAKE3-team/BLAKE3.git,rev={version}"]
12
+ srcdir = "{git[BLAKE3]}/c"
13
+
14
+
15
+ TaskRegistry.get().add_task_class(Blake3)
@@ -95,17 +95,21 @@ class Boost(Task):
95
95
  with tools.cwd(self.installdir):
96
96
  artifact.collect("*", symlinks=True)
97
97
  artifact.cxxinfo.incpaths.append("include")
98
- artifact.cxxinfo.libpaths.append("lib")
99
98
 
100
- with tools.cwd(self.installdir, "lib"):
101
- for lib in tools.glob("libboost_*.a"):
102
- name, _ = os.path.splitext(os.path.basename(lib))
103
- artifact.cxxinfo.libraries.append(name[3:])
99
+ for libdir in ["lib", "lib32", "lib64"]:
100
+ if not os.path.isdir(os.path.join(artifact.path, libdir)):
101
+ continue
102
+ artifact.cxxinfo.libpaths.append(libdir)
104
103
 
105
- arch = tools.getenv("VSCMD_ARG_TGT_ARCH", "x64")
106
- for lib in tools.glob(f"lib*-mt-{arch}-*.lib"):
107
- name, _ = os.path.splitext(lib)
108
- artifact.cxxinfo.libraries.append(name)
104
+ with tools.cwd(self.installdir, libdir):
105
+ for lib in tools.glob("libboost_*.a"):
106
+ name, _ = os.path.splitext(os.path.basename(lib))
107
+ artifact.cxxinfo.libraries.append(name[3:])
108
+
109
+ arch = tools.getenv("VSCMD_ARG_TGT_ARCH", "x64")
110
+ for lib in tools.glob(f"lib*-mt-{arch}-*.lib"):
111
+ name, _ = os.path.splitext(lib)
112
+ artifact.cxxinfo.libraries.append(name)
109
113
 
110
114
 
111
115
  TaskRegistry.get().add_task_class(Boost)
@@ -1,6 +1,6 @@
1
1
  from jolt import attributes, BooleanParameter, Parameter
2
2
  from jolt.pkgs import nasm
3
- from jolt.plugins import cmake, git
3
+ from jolt.plugins import cmake, cxxinfo, git
4
4
  from jolt.tasks import TaskRegistry
5
5
 
6
6
 
@@ -10,6 +10,7 @@ from jolt.tasks import TaskRegistry
10
10
  @attributes.system
11
11
  @cmake.requires()
12
12
  @cmake.use_ninja()
13
+ @cxxinfo.publish(libraries=["ssl", "crypto"])
13
14
  class BoringSSL(cmake.CMake):
14
15
  name = "boringssl"
15
16
  version = Parameter("0.20251124.0", help="boringssl version.")
@@ -21,12 +22,5 @@ class BoringSSL(cmake.CMake):
21
22
  "BUILD_SHARED_LIBS={shared[ON,OFF]}",
22
23
  ]
23
24
 
24
- def publish(self, artifact, tools):
25
- super().publish(artifact, tools)
26
- artifact.cxxinfo.incpaths.append("include")
27
- artifact.cxxinfo.libpaths.append("lib")
28
- artifact.cxxinfo.libraries.append("ssl")
29
- artifact.cxxinfo.libraries.append("crypto")
30
-
31
25
 
32
26
  TaskRegistry.get().add_task_class(BoringSSL)
@@ -0,0 +1,20 @@
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
+ class Brotli(cmake.CMake):
10
+ name = "brotli"
11
+ version = Parameter("1.2.0", help="Brotli version.")
12
+ shared = BooleanParameter(False, help="Build shared libraries.")
13
+ requires_git = ["git:url=https://github.com/google/brotli.git,rev=v{version},submodules=true"]
14
+ srcdir = "{git[brotli]}"
15
+ options = [
16
+ "BUILD_SHARED_LIBS={shared[ON,OFF]}",
17
+ ]
18
+
19
+
20
+ TaskRegistry.get().add_task_class(Brotli)
@@ -1,6 +1,6 @@
1
1
  from jolt import attributes, BooleanParameter, Parameter
2
2
  from jolt.tasks import TaskRegistry
3
- from jolt.plugins import fetch, ninja
3
+ from jolt.plugins import cxxinfo, fetch, ninja
4
4
 
5
5
 
6
6
  @attributes.requires("requires_src")
@@ -32,8 +32,6 @@ class LibBzip2(ninja.CXXLibrary):
32
32
  def publish(self, artifact, tools):
33
33
  super().publish(artifact, tools)
34
34
  artifact.cxxinfo.incpaths.append("include")
35
- artifact.cxxinfo.libpaths.append("lib")
36
- artifact.cxxinfo.libraries.append("bz2")
37
35
  artifact.environ.CMAKE_PREFIX_PATH.append(".")
38
36
 
39
37
  with tools.cwd("{fetch[src]}/bzip2-{version}"):
@@ -1,12 +1,13 @@
1
1
  from jolt import attributes, BooleanParameter, Parameter
2
2
  from jolt.pkgs import cmake
3
- from jolt.plugins import git, cmake
3
+ from jolt.plugins import cxxinfo, git, cmake
4
4
  from jolt.tasks import TaskRegistry
5
5
 
6
6
 
7
7
  @attributes.requires("requires_git")
8
8
  @cmake.requires()
9
9
  @cmake.use_ninja()
10
+ @cxxinfo.publish(libraries=["cares"])
10
11
  class CAres(cmake.CMake):
11
12
  name = "c-ares"
12
13
  version = Parameter("1.34.6", help="c-ares version.")
@@ -19,11 +20,5 @@ class CAres(cmake.CMake):
19
20
  "CARES_BUILD_TESTS=OFF",
20
21
  ]
21
22
 
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("cares")
27
-
28
23
 
29
24
  TaskRegistry.get().add_task_class(CAres)
@@ -1,12 +1,13 @@
1
1
  from jolt import attributes, BooleanParameter, Parameter, Task
2
2
  from jolt.pkgs import cmake
3
- from jolt.plugins import git, cmake
3
+ from jolt.plugins import cxxinfo, git, cmake
4
4
  from jolt.tasks import TaskRegistry
5
5
 
6
6
 
7
7
  @attributes.requires("requires_git")
8
8
  @cmake.requires()
9
9
  @cmake.use_ninja()
10
+ @cxxinfo.publish(libraries=["Catch2"])
10
11
  class Catch2(cmake.CMake):
11
12
  name = "catch2"
12
13
  version = Parameter("3.11.0", help="catch2 version.")
@@ -17,12 +18,6 @@ class Catch2(cmake.CMake):
17
18
  "BUILD_SHARED_LIBS={shared[ON,OFF]}",
18
19
  ]
19
20
 
20
- def publish(self, artifact, tools):
21
- super().publish(artifact, tools)
22
- artifact.cxxinfo.incpaths.append("include")
23
- artifact.cxxinfo.libpaths.append("lib")
24
- artifact.cxxinfo.libraries.append("Catch2")
25
-
26
21
 
27
22
  class Catch2Main(Task):
28
23
  name = "catch2/main"
@@ -1,24 +1,32 @@
1
1
  from jolt import attributes, BooleanParameter, Parameter
2
- from jolt.pkgs import cmake, ssl
3
- from jolt.plugins import git, cmake
2
+ from jolt.pkgs import brotli, ssl, zlib, zstd
3
+ from jolt.plugins import cxxinfo, git, cmake
4
4
  from jolt.tasks import TaskRegistry
5
5
 
6
6
 
7
+ @attributes.requires("requires_brotli")
7
8
  @attributes.requires("requires_git")
8
9
  @attributes.requires("requires_ssl")
10
+ @attributes.requires("requires_zlib")
11
+ @attributes.requires("requires_zstd")
9
12
  @attributes.system
10
13
  @cmake.requires()
11
14
  @cmake.use_ninja()
15
+ @cxxinfo.publish()
12
16
  class Curl(cmake.CMake):
13
17
  name = "curl"
14
18
  version = Parameter("8.17.0", help="Curl version.")
15
19
  shared = BooleanParameter(False, help="Build shared libraries.")
20
+ requires_brotli = ["brotli"]
16
21
  requires_git = ["git:url=https://github.com/curl/curl.git,rev=curl-{_version_tag},submodules=true"]
17
22
  requires_ssl = ["virtual/ssl"]
23
+ requires_zlib = ["virtual/zlib"]
24
+ requires_zstd = ["zstd"]
18
25
  srcdir = "{git[curl]}"
19
26
  options = [
20
27
  "BUILD_SHARED_LIBS={shared[ON,OFF]}",
21
28
  "CURL_USE_LIBPSL=OFF",
29
+ "USE_LIBIDN2=OFF",
22
30
  ]
23
31
 
24
32
  @property
@@ -27,8 +35,6 @@ class Curl(cmake.CMake):
27
35
 
28
36
  def publish(self, artifact, tools):
29
37
  super().publish(artifact, tools)
30
- artifact.cxxinfo.incpaths.append("include")
31
- artifact.cxxinfo.libpaths.append("lib")
32
38
  if self.system == "windows":
33
39
  artifact.cxxinfo.libraries.append("libcurl_imp")
34
40
  else:
@@ -1,12 +1,13 @@
1
1
  from jolt import attributes, Parameter
2
2
  from jolt.pkgs import cmake
3
- from jolt.plugins import git, cmake
3
+ from jolt.plugins import cxxinfo, git, cmake
4
4
  from jolt.tasks import TaskRegistry
5
5
 
6
6
 
7
7
  @attributes.requires("requires_git")
8
8
  @cmake.requires()
9
9
  @cmake.use_ninja()
10
+ @cxxinfo.publish(libraries=["double-conversion"])
10
11
  class DoubleConversion(cmake.CMake):
11
12
  name = "double-conversion"
12
13
  version = Parameter("3.4.0", help="double_conversion version.")
@@ -14,11 +15,5 @@ class DoubleConversion(cmake.CMake):
14
15
  requires_git = ["git:url=https://github.com/google/double-conversion.git,rev=v{version}"]
15
16
  srcdir = "{git[double-conversion]}"
16
17
 
17
- def publish(self, artifact, tools):
18
- super().publish(artifact, tools)
19
- artifact.cxxinfo.incpaths.append("include")
20
- artifact.cxxinfo.libpaths.append("lib")
21
- artifact.cxxinfo.libraries.append("double-conversion")
22
-
23
18
 
24
19
  TaskRegistry.get().add_task_class(DoubleConversion)
@@ -1,12 +1,13 @@
1
1
  from jolt import attributes, BooleanParameter, Parameter
2
2
  from jolt.pkgs import cmake
3
- from jolt.plugins import git, cmake
3
+ from jolt.plugins import cxxinfo, git, cmake
4
4
  from jolt.tasks import TaskRegistry
5
5
 
6
6
 
7
7
  @attributes.requires("requires_git")
8
8
  @cmake.requires()
9
9
  @cmake.use_ninja()
10
+ @cxxinfo.publish(libraries=["flatbuffers"])
10
11
  class Flatbuffers(cmake.CMake):
11
12
  name = "flatbuffers"
12
13
  version = Parameter("25.9.23", help="Flatbuffers version.")
@@ -19,11 +20,5 @@ class Flatbuffers(cmake.CMake):
19
20
  "FLATBUFFERS_BUILD_TESTS=OFF",
20
21
  ]
21
22
 
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("flatbuffers")
27
-
28
23
 
29
24
  TaskRegistry.get().add_task_class(Flatbuffers)
@@ -1,11 +1,12 @@
1
1
  from jolt import attributes, BooleanParameter, Parameter
2
- from jolt.plugins import git, cmake
2
+ from jolt.plugins import cxxinfo, git, cmake
3
3
  from jolt.tasks import TaskRegistry
4
4
 
5
5
 
6
6
  @attributes.requires("requires_git")
7
7
  @cmake.requires()
8
8
  @cmake.use_ninja()
9
+ @cxxinfo.publish(libraries=["fmt"])
9
10
  class Fmt(cmake.CMake):
10
11
  name = "fmt"
11
12
  version = Parameter("12.1.0", help="Fmt version.")
@@ -17,11 +18,5 @@ class Fmt(cmake.CMake):
17
18
  "FMT_TEST=OFF",
18
19
  ]
19
20
 
20
- def publish(self, artifact, tools):
21
- super().publish(artifact, tools)
22
- artifact.cxxinfo.incpaths.append("include")
23
- artifact.cxxinfo.libpaths.append("lib")
24
- artifact.cxxinfo.libraries.append("fmt")
25
-
26
21
 
27
22
  TaskRegistry.get().add_task_class(Fmt)
@@ -1,12 +1,13 @@
1
1
  from jolt import attributes, BooleanParameter, Parameter, Task
2
2
  from jolt.pkgs import cmake
3
- from jolt.plugins import git, cmake
3
+ from jolt.plugins import cxxinfo, git, cmake
4
4
  from jolt.tasks import TaskRegistry
5
5
 
6
6
 
7
7
  @attributes.requires("requires_git")
8
8
  @cmake.requires()
9
9
  @cmake.use_ninja()
10
+ @cxxinfo.publish(libraries=["gmock", "gtest"])
10
11
  class GoogleTest(cmake.CMake):
11
12
  name = "google/test"
12
13
  version = Parameter("1.12.1", help="GoogleTest version.")
@@ -17,13 +18,6 @@ class GoogleTest(cmake.CMake):
17
18
  "BUILD_SHARED_LIBS={shared[ON,OFF]}",
18
19
  ]
19
20
 
20
- def publish(self, artifact, tools):
21
- super().publish(artifact, tools)
22
- artifact.cxxinfo.incpaths.append("include")
23
- artifact.cxxinfo.libpaths.append("lib")
24
- artifact.cxxinfo.libraries.append("gmock")
25
- artifact.cxxinfo.libraries.append("gtest")
26
-
27
21
 
28
22
  class GTestMain(Task):
29
23
  name = "google/test/main"
@@ -1,6 +1,6 @@
1
1
  from jolt import attributes, BooleanParameter, Parameter, Task
2
2
  from jolt.pkgs import abseil, cares, cmake, nasm, protobuf, re2, ssl, zlib
3
- from jolt.plugins import git, cmake
3
+ from jolt.plugins import cxxinfo, git, cmake
4
4
  from jolt.tasks import TaskRegistry
5
5
 
6
6
 
@@ -15,6 +15,7 @@ from jolt.tasks import TaskRegistry
15
15
  @attributes.system
16
16
  @cmake.requires()
17
17
  @cmake.use_ninja()
18
+ @cxxinfo.publish()
18
19
  class Grpc(cmake.CMake):
19
20
  name = "grpc"
20
21
  version = Parameter("1.76.0", help="Grpc version.")
@@ -47,8 +48,6 @@ class Grpc(cmake.CMake):
47
48
  super().publish(artifact, tools)
48
49
  if self.system == "windows":
49
50
  artifact.cxxinfo.msvcrt = "Dynamic"
50
- artifact.cxxinfo.incpaths.append("include")
51
- artifact.cxxinfo.libpaths.append("lib")
52
51
 
53
52
 
54
53
  class GrpcC(Task):
@@ -1,6 +1,6 @@
1
1
  from jolt import attributes, BooleanParameter, Parameter
2
2
  from jolt.pkgs import cmake
3
- from jolt.plugins import git, cmake, pkgconfig
3
+ from jolt.plugins import cxxinfo, git, cmake, pkgconfig
4
4
  from jolt.tasks import TaskRegistry
5
5
 
6
6
 
@@ -8,6 +8,7 @@ from jolt.tasks import TaskRegistry
8
8
  @attributes.system
9
9
  @cmake.requires()
10
10
  @cmake.use_ninja()
11
+ @cxxinfo.publish()
11
12
  class JsonCPP(cmake.CMake):
12
13
  name = "jsoncpp"
13
14
  version = Parameter("1.9.6", help="JsonCPP version.")
@@ -20,8 +21,6 @@ class JsonCPP(cmake.CMake):
20
21
 
21
22
  def publish(self, artifact, tools):
22
23
  super().publish(artifact, tools)
23
- artifact.cxxinfo.incpaths.append("include")
24
- artifact.cxxinfo.libpaths.append("lib")
25
24
  if self.system == "windows":
26
25
  artifact.cxxinfo.libraries.append("jsoncpp_static")
27
26
  else:
@@ -1,6 +1,6 @@
1
1
  from jolt import attributes, BooleanParameter, Parameter
2
2
  from jolt.tasks import TaskRegistry
3
- from jolt.plugins import cmake, git
3
+ from jolt.plugins import cmake, cxxinfo, git
4
4
  from jolt.pkgs import bzip2, libexpat, lz4, openssl, xz, zlib, zstd
5
5
 
6
6
 
@@ -14,6 +14,7 @@ from jolt.pkgs import bzip2, libexpat, lz4, openssl, xz, zlib, zstd
14
14
  @attributes.requires("requires_git")
15
15
  @cmake.requires()
16
16
  @cmake.use_ninja()
17
+ @cxxinfo.publish(libraries=["archive"])
17
18
  class Libarchive(cmake.CMake):
18
19
  name = "libarchive"
19
20
  version = Parameter("3.8.5", help="libarchive version.")
@@ -33,11 +34,5 @@ class Libarchive(cmake.CMake):
33
34
  "ENABLE_TEST=OFF",
34
35
  ]
35
36
 
36
- def publish(self, artifact, tools):
37
- super().publish(artifact, tools)
38
- artifact.cxxinfo.incpaths.append("include")
39
- artifact.cxxinfo.libpaths.append("lib")
40
- artifact.cxxinfo.libraries.append("archive")
41
-
42
37
 
43
38
  TaskRegistry.get().add_task_class(Libarchive)
@@ -1,13 +1,15 @@
1
1
  from jolt import attributes, Parameter, Task
2
- from jolt.plugins import fetch
3
- from jolt.tasks import TaskRegistry
2
+ from jolt.plugins import cxxinfo, fetch
3
+ from jolt.tasks import BooleanParameter, TaskRegistry
4
4
 
5
5
 
6
6
  @attributes.common_metadata()
7
7
  @attributes.requires("requires_src")
8
+ @cxxinfo.publish(libraries=["cap", "psx"])
8
9
  class Libcap(Task):
9
10
  name = "libcap"
10
11
  version = Parameter("2.77", help="Libcap version.")
12
+ shared = BooleanParameter(False, help="Build shared libraries.")
11
13
  requires_src = ["git:url=https://git.kernel.org/pub/scm/libs/libcap/libcap.git,rev=libcap-{version}"]
12
14
  srcdir = "{git[libcap]}"
13
15
 
@@ -19,7 +21,7 @@ class Libcap(Task):
19
21
 
20
22
  # Patch pkgconfig files
21
23
  with tools.cwd(self.installdir):
22
- for pc in tools.glob("lib/pkgconfig/*.pc") + tools.glob("lib64/pkgconfig/*.pc"):
24
+ for pc in tools.glob("lib*/pkgconfig/*.pc"):
23
25
  tools.replace_in_file(
24
26
  pc,
25
27
  "prefix=/usr",
@@ -38,6 +40,12 @@ class Libcap(Task):
38
40
 
39
41
  def publish(self, artifact, tools):
40
42
  with tools.cwd(self.installdir):
43
+ if self.shared:
44
+ for lib in tools.glob("lib*/*.a"):
45
+ tools.unlink(lib)
46
+ else:
47
+ for lib in tools.glob("lib*/*.so*"):
48
+ tools.unlink(lib)
41
49
  artifact.collect("*", symlinks=True)
42
50
 
43
51
 
@@ -1,6 +1,6 @@
1
1
  from jolt import attributes, BooleanParameter, Parameter
2
2
  from jolt.pkgs import ncurses
3
- from jolt.plugins import git, autotools, pkgconfig
3
+ from jolt.plugins import cxxinfo, git, autotools, pkgconfig
4
4
  from jolt.tasks import TaskRegistry
5
5
 
6
6
 
@@ -8,6 +8,7 @@ from jolt.tasks import TaskRegistry
8
8
  @attributes.requires("requires_ncurses")
9
9
  @autotools.requires()
10
10
  @pkgconfig.requires()
11
+ @cxxinfo.publish(libraries=["edit"])
11
12
  class Libedit(autotools.Autotools):
12
13
  name = "libedit"
13
14
  version = Parameter("20251016-3.1", help="Libedit version.")
@@ -31,9 +32,6 @@ class Libedit(autotools.Autotools):
31
32
 
32
33
  def publish(self, artifact, tools):
33
34
  super().publish(artifact, tools)
34
- artifact.cxxinfo.incpaths.append("include")
35
- artifact.cxxinfo.libpaths.append("lib")
36
- artifact.cxxinfo.libraries.append("edit")
37
35
  artifact.environ.CMAKE_PREFIX_PATH.append(".")
38
36
  if self.shared:
39
37
  artifact.environ.LD_LIBRARY_PATH.append("lib")
@@ -1,6 +1,7 @@
1
+ import os
1
2
  from jolt import attributes, Parameter
2
3
  from jolt.pkgs import cmake, openssl
3
- from jolt.plugins import git, cmake, pkgconfig
4
+ from jolt.plugins import cxxinfo, git, cmake, pkgconfig
4
5
  from jolt.tasks import TaskRegistry
5
6
 
6
7
 
@@ -9,6 +10,7 @@ from jolt.tasks import TaskRegistry
9
10
  @cmake.requires()
10
11
  @cmake.use_ninja()
11
12
  @pkgconfig.requires()
13
+ @cxxinfo.publish(libraries=["event"])
12
14
  class LibEvent(cmake.CMake):
13
15
  name = "libevent"
14
16
  version = Parameter("2.1.12", help="libevent version.")
@@ -19,7 +21,13 @@ class LibEvent(cmake.CMake):
19
21
 
20
22
  def publish(self, artifact, tools):
21
23
  super().publish(artifact, tools)
22
- with tools.cwd(artifact.path, "lib/cmake/libevent"):
24
+
25
+ for libdir in ["lib", "lib32", "lib64"]:
26
+ if os.path.isdir(os.path.join(artifact.path, libdir)):
27
+ self.libdir = libdir
28
+ break
29
+
30
+ with tools.cwd(artifact.path, "{libdir}/cmake/libevent"):
23
31
  for file in tools.glob("*.cmake"):
24
32
  tools.replace_in_file(
25
33
  file,
@@ -1,11 +1,12 @@
1
1
  from jolt import attributes, BooleanParameter, Parameter
2
- from jolt.plugins import cmake, git
2
+ from jolt.plugins import cmake, cxxinfo, git
3
3
  from jolt.tasks import TaskRegistry
4
4
 
5
5
 
6
6
  @attributes.requires("requires_src")
7
7
  @cmake.requires()
8
8
  @cmake.use_ninja()
9
+ @cxxinfo.publish(libraries=["expat"])
9
10
  class Libexpat(cmake.CMake):
10
11
  name = "libexpat"
11
12
  version = Parameter("2.7.3", help="Expat version.")
@@ -17,11 +18,5 @@ class Libexpat(cmake.CMake):
17
18
  "BUILD_SHARED_LIBS={shared[ON,OFF]}",
18
19
  ]
19
20
 
20
- def publish(self, artifact, tools):
21
- super().publish(artifact, tools)
22
- artifact.cxxinfo.incpaths.append("include")
23
- artifact.cxxinfo.libpaths.append("lib")
24
- artifact.cxxinfo.libraries.append("expat")
25
-
26
21
 
27
22
  TaskRegistry.get().add_task_class(Libexpat)