jolt 0.9.172__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.
- jolt/__init__.py +80 -7
- jolt/__main__.py +9 -1
- jolt/bin/fstree-darwin-x86_64 +0 -0
- jolt/bin/fstree-linux-x86_64 +0 -0
- jolt/cache.py +596 -252
- jolt/chroot.py +36 -11
- jolt/cli.py +143 -130
- jolt/common_pb2.py +45 -45
- jolt/config.py +76 -40
- jolt/error.py +19 -4
- jolt/filesystem.py +2 -6
- jolt/graph.py +400 -82
- jolt/influence.py +110 -3
- jolt/loader.py +338 -174
- jolt/log.py +127 -31
- jolt/manifest.py +13 -46
- jolt/options.py +35 -11
- jolt/pkgs/abseil.py +42 -0
- jolt/pkgs/asio.py +25 -0
- jolt/pkgs/autoconf.py +41 -0
- jolt/pkgs/automake.py +41 -0
- jolt/pkgs/b2.py +31 -0
- jolt/pkgs/boost.py +111 -0
- jolt/pkgs/boringssl.py +32 -0
- jolt/pkgs/busybox.py +39 -0
- jolt/pkgs/bzip2.py +43 -0
- jolt/pkgs/cares.py +29 -0
- jolt/pkgs/catch2.py +36 -0
- jolt/pkgs/cbindgen.py +17 -0
- jolt/pkgs/cista.py +19 -0
- jolt/pkgs/clang.py +44 -0
- jolt/pkgs/cli11.py +24 -0
- jolt/pkgs/cmake.py +48 -0
- jolt/pkgs/cpython.py +196 -0
- jolt/pkgs/crun.py +29 -0
- jolt/pkgs/curl.py +38 -0
- jolt/pkgs/dbus.py +18 -0
- jolt/pkgs/double_conversion.py +24 -0
- jolt/pkgs/fastfloat.py +21 -0
- jolt/pkgs/ffmpeg.py +28 -0
- jolt/pkgs/flatbuffers.py +29 -0
- jolt/pkgs/fmt.py +27 -0
- jolt/pkgs/fstree.py +20 -0
- jolt/pkgs/gflags.py +18 -0
- jolt/pkgs/glib.py +18 -0
- jolt/pkgs/glog.py +25 -0
- jolt/pkgs/glslang.py +21 -0
- jolt/pkgs/golang.py +16 -11
- jolt/pkgs/googlebenchmark.py +18 -0
- jolt/pkgs/googletest.py +46 -0
- jolt/pkgs/gperf.py +15 -0
- jolt/pkgs/grpc.py +73 -0
- jolt/pkgs/hdf5.py +19 -0
- jolt/pkgs/help2man.py +14 -0
- jolt/pkgs/inja.py +28 -0
- jolt/pkgs/jsoncpp.py +31 -0
- jolt/pkgs/libarchive.py +43 -0
- jolt/pkgs/libcap.py +44 -0
- jolt/pkgs/libdrm.py +44 -0
- jolt/pkgs/libedit.py +42 -0
- jolt/pkgs/libevent.py +31 -0
- jolt/pkgs/libexpat.py +27 -0
- jolt/pkgs/libfastjson.py +21 -0
- jolt/pkgs/libffi.py +16 -0
- jolt/pkgs/libglvnd.py +30 -0
- jolt/pkgs/libogg.py +28 -0
- jolt/pkgs/libpciaccess.py +18 -0
- jolt/pkgs/libseccomp.py +21 -0
- jolt/pkgs/libtirpc.py +24 -0
- jolt/pkgs/libtool.py +42 -0
- jolt/pkgs/libunwind.py +35 -0
- jolt/pkgs/libva.py +18 -0
- jolt/pkgs/libvorbis.py +33 -0
- jolt/pkgs/libxml2.py +35 -0
- jolt/pkgs/libxslt.py +17 -0
- jolt/pkgs/libyajl.py +16 -0
- jolt/pkgs/llvm.py +81 -0
- jolt/pkgs/lua.py +54 -0
- jolt/pkgs/lz4.py +26 -0
- jolt/pkgs/m4.py +14 -0
- jolt/pkgs/make.py +17 -0
- jolt/pkgs/mesa.py +81 -0
- jolt/pkgs/meson.py +17 -0
- jolt/pkgs/mstch.py +28 -0
- jolt/pkgs/mysql.py +60 -0
- jolt/pkgs/nasm.py +49 -0
- jolt/pkgs/ncurses.py +30 -0
- jolt/pkgs/ng_log.py +25 -0
- jolt/pkgs/ninja.py +45 -0
- jolt/pkgs/nlohmann_json.py +25 -0
- jolt/pkgs/nodejs.py +19 -11
- jolt/pkgs/opencv.py +24 -0
- jolt/pkgs/openjdk.py +26 -0
- jolt/pkgs/openssl.py +103 -0
- jolt/pkgs/paho.py +76 -0
- jolt/pkgs/patchelf.py +16 -0
- jolt/pkgs/perl.py +42 -0
- jolt/pkgs/pkgconfig.py +64 -0
- jolt/pkgs/poco.py +39 -0
- jolt/pkgs/protobuf.py +77 -0
- jolt/pkgs/pugixml.py +27 -0
- jolt/pkgs/python.py +19 -0
- jolt/pkgs/qt.py +35 -0
- jolt/pkgs/rapidjson.py +26 -0
- jolt/pkgs/rapidyaml.py +28 -0
- jolt/pkgs/re2.py +30 -0
- jolt/pkgs/re2c.py +17 -0
- jolt/pkgs/readline.py +15 -0
- jolt/pkgs/rust.py +41 -0
- jolt/pkgs/sdl.py +28 -0
- jolt/pkgs/simdjson.py +27 -0
- jolt/pkgs/soci.py +46 -0
- jolt/pkgs/spdlog.py +29 -0
- jolt/pkgs/spirv_llvm.py +21 -0
- jolt/pkgs/spirv_tools.py +24 -0
- jolt/pkgs/sqlite.py +83 -0
- jolt/pkgs/ssl.py +12 -0
- jolt/pkgs/texinfo.py +15 -0
- jolt/pkgs/tomlplusplus.py +22 -0
- jolt/pkgs/wayland.py +26 -0
- jolt/pkgs/x11.py +58 -0
- jolt/pkgs/xerces_c.py +20 -0
- jolt/pkgs/xorg.py +360 -0
- jolt/pkgs/xz.py +29 -0
- jolt/pkgs/yamlcpp.py +30 -0
- jolt/pkgs/zeromq.py +47 -0
- jolt/pkgs/zlib.py +87 -0
- jolt/pkgs/zstd.py +33 -0
- jolt/plugins/alias.py +3 -0
- jolt/plugins/allure.py +2 -2
- jolt/plugins/autotools.py +66 -0
- jolt/plugins/cache.py +1 -1
- jolt/plugins/cmake.py +74 -6
- jolt/plugins/conan.py +238 -0
- jolt/plugins/cxxinfo.py +7 -0
- jolt/plugins/docker.py +76 -19
- jolt/plugins/email.xslt +141 -118
- jolt/plugins/environ.py +11 -0
- jolt/plugins/fetch.py +141 -0
- jolt/plugins/gdb.py +33 -14
- jolt/plugins/gerrit.py +0 -13
- jolt/plugins/git.py +248 -66
- jolt/plugins/googletest.py +1 -1
- jolt/plugins/http.py +1 -1
- jolt/plugins/libtool.py +63 -0
- jolt/plugins/linux.py +990 -0
- jolt/plugins/logstash.py +4 -4
- jolt/plugins/meson.py +61 -0
- jolt/plugins/ninja-compdb.py +96 -28
- jolt/plugins/ninja.py +424 -150
- jolt/plugins/paths.py +11 -1
- jolt/plugins/pkgconfig.py +219 -0
- jolt/plugins/podman.py +131 -87
- jolt/plugins/python.py +137 -0
- jolt/plugins/remote_execution/administration_pb2.py +27 -19
- jolt/plugins/remote_execution/log_pb2.py +12 -12
- jolt/plugins/remote_execution/scheduler_pb2.py +23 -23
- jolt/plugins/remote_execution/worker_pb2.py +19 -19
- jolt/plugins/report.py +7 -2
- jolt/plugins/rust.py +25 -0
- jolt/plugins/scheduler.py +135 -86
- jolt/plugins/selfdeploy/setup.py +6 -6
- jolt/plugins/selfdeploy.py +49 -31
- jolt/plugins/strings.py +35 -22
- jolt/plugins/symlinks.py +11 -4
- jolt/plugins/telemetry.py +1 -2
- jolt/plugins/timeline.py +13 -3
- jolt/scheduler.py +467 -165
- jolt/tasks.py +427 -111
- jolt/templates/timeline.html.template +44 -47
- jolt/timer.py +22 -0
- jolt/tools.py +527 -188
- jolt/utils.py +183 -3
- jolt/version.py +1 -1
- jolt/xmldom.py +12 -2
- {jolt-0.9.172.dist-info → jolt-0.9.435.dist-info}/METADATA +97 -41
- jolt-0.9.435.dist-info/RECORD +207 -0
- {jolt-0.9.172.dist-info → jolt-0.9.435.dist-info}/WHEEL +1 -1
- jolt/plugins/amqp.py +0 -855
- jolt/plugins/debian.py +0 -338
- jolt/plugins/repo.py +0 -253
- jolt/plugins/snap.py +0 -122
- jolt-0.9.172.dist-info/RECORD +0 -92
- {jolt-0.9.172.dist-info → jolt-0.9.435.dist-info}/entry_points.txt +0 -0
- {jolt-0.9.172.dist-info → jolt-0.9.435.dist-info}/top_level.txt +0 -0
jolt/pkgs/curl.py
ADDED
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
from jolt import attributes, BooleanParameter, Parameter
|
|
2
|
+
from jolt.pkgs import cmake, ssl
|
|
3
|
+
from jolt.plugins import git, cmake
|
|
4
|
+
from jolt.tasks import TaskRegistry
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
@attributes.requires("requires_git")
|
|
8
|
+
@attributes.requires("requires_ssl")
|
|
9
|
+
@attributes.system
|
|
10
|
+
@cmake.requires()
|
|
11
|
+
@cmake.use_ninja()
|
|
12
|
+
class Curl(cmake.CMake):
|
|
13
|
+
name = "curl"
|
|
14
|
+
version = Parameter("8.17.0", help="Curl version.")
|
|
15
|
+
shared = BooleanParameter(False, help="Build shared libraries.")
|
|
16
|
+
requires_git = ["git:url=https://github.com/curl/curl.git,rev=curl-{_version_tag},submodules=true"]
|
|
17
|
+
requires_ssl = ["virtual/ssl"]
|
|
18
|
+
srcdir = "{git[curl]}"
|
|
19
|
+
options = [
|
|
20
|
+
"BUILD_SHARED_LIBS={shared[ON,OFF]}",
|
|
21
|
+
"CURL_USE_LIBPSL=OFF",
|
|
22
|
+
]
|
|
23
|
+
|
|
24
|
+
@property
|
|
25
|
+
def _version_tag(self):
|
|
26
|
+
return str(self.version).replace('.', '_')
|
|
27
|
+
|
|
28
|
+
def publish(self, artifact, tools):
|
|
29
|
+
super().publish(artifact, tools)
|
|
30
|
+
artifact.cxxinfo.incpaths.append("include")
|
|
31
|
+
artifact.cxxinfo.libpaths.append("lib")
|
|
32
|
+
if self.system == "windows":
|
|
33
|
+
artifact.cxxinfo.libraries.append("libcurl_imp")
|
|
34
|
+
else:
|
|
35
|
+
artifact.cxxinfo.libraries.append("curl")
|
|
36
|
+
|
|
37
|
+
|
|
38
|
+
TaskRegistry.get().add_task_class(Curl)
|
jolt/pkgs/dbus.py
ADDED
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
from jolt import attributes, 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
|
+
@cmake.requires()
|
|
9
|
+
@cmake.use_ninja()
|
|
10
|
+
@pkgconfig.requires()
|
|
11
|
+
class DBus(cmake.CMake):
|
|
12
|
+
name = "dbus"
|
|
13
|
+
version = Parameter("1.16.2", help="DBus version.")
|
|
14
|
+
requires_git = ["git:url=https://gitlab.freedesktop.org/dbus/dbus.git,rev=dbus-{version}"]
|
|
15
|
+
srcdir = "{git[dbus]}"
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
TaskRegistry.get().add_task_class(DBus)
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
from jolt import attributes, 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
|
+
@cmake.requires()
|
|
9
|
+
@cmake.use_ninja()
|
|
10
|
+
class DoubleConversion(cmake.CMake):
|
|
11
|
+
name = "double-conversion"
|
|
12
|
+
version = Parameter("3.4.0", help="double_conversion version.")
|
|
13
|
+
options = ["BUILD_SHARED_LIBS=ON"]
|
|
14
|
+
requires_git = ["git:url=https://github.com/google/double-conversion.git,rev=v{version}"]
|
|
15
|
+
srcdir = "{git[double-conversion]}"
|
|
16
|
+
|
|
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
|
+
|
|
24
|
+
TaskRegistry.get().add_task_class(DoubleConversion)
|
jolt/pkgs/fastfloat.py
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
from jolt import attributes, 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
|
+
@cmake.requires()
|
|
9
|
+
@cmake.use_ninja()
|
|
10
|
+
class FastFloat(cmake.CMake):
|
|
11
|
+
name = "fastfloat"
|
|
12
|
+
version = Parameter("8.1.0", help="fastfloat version.")
|
|
13
|
+
requires_git = ["git:url=https://github.com/fastfloat/fast_float.git,rev=v{version}"]
|
|
14
|
+
srcdir = "{git[fast_float]}"
|
|
15
|
+
|
|
16
|
+
def publish(self, artifact, tools):
|
|
17
|
+
super().publish(artifact, tools)
|
|
18
|
+
artifact.cxxinfo.incpaths.append("include")
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
TaskRegistry.get().add_task_class(FastFloat)
|
jolt/pkgs/ffmpeg.py
ADDED
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
from jolt import attributes, BooleanParameter, Parameter
|
|
2
|
+
from jolt.pkgs import nasm, pkgconfig, xz, xorg
|
|
3
|
+
from jolt.plugins import git, autotools
|
|
4
|
+
from jolt.tasks import TaskRegistry
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
@attributes.requires("requires_git")
|
|
8
|
+
@attributes.requires("requires_{system}_libx11")
|
|
9
|
+
@attributes.requires("requires_nasm")
|
|
10
|
+
@attributes.requires("requires_xz")
|
|
11
|
+
@attributes.system
|
|
12
|
+
@autotools.requires()
|
|
13
|
+
class FFmpeg(autotools.Autotools):
|
|
14
|
+
name = "ffmpeg"
|
|
15
|
+
version = Parameter("8.0.1", help="ffmpeg version.")
|
|
16
|
+
shared = BooleanParameter(False, help="Build shared libraries.")
|
|
17
|
+
requires_git = ["git:url=https://github.com/FFmpeg/FFmpeg.git,rev=n{version}"]
|
|
18
|
+
requires_linux_libx11 = ["libx11"]
|
|
19
|
+
requires_nasm = ["nasm"]
|
|
20
|
+
requires_xz = ["xz"]
|
|
21
|
+
srcdir = "{git[FFmpeg]}"
|
|
22
|
+
options = [
|
|
23
|
+
"--{shared[enable,disable]}-shared",
|
|
24
|
+
"--{shared[disable,enable]}-static",
|
|
25
|
+
]
|
|
26
|
+
|
|
27
|
+
|
|
28
|
+
TaskRegistry.get().add_task_class(FFmpeg)
|
jolt/pkgs/flatbuffers.py
ADDED
|
@@ -0,0 +1,29 @@
|
|
|
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
|
+
@cmake.requires()
|
|
9
|
+
@cmake.use_ninja()
|
|
10
|
+
class Flatbuffers(cmake.CMake):
|
|
11
|
+
name = "flatbuffers"
|
|
12
|
+
version = Parameter("25.9.23", help="Flatbuffers version.")
|
|
13
|
+
shared = BooleanParameter(False, help="Build shared libraries.")
|
|
14
|
+
requires_git = ["git:url=https://github.com/google/flatbuffers.git,rev=v{version}"]
|
|
15
|
+
srcdir = "{git[flatbuffers]}"
|
|
16
|
+
options = [
|
|
17
|
+
"FLATBUFFERS_BUILD_FLATLIB={shared[OFF,ON]}",
|
|
18
|
+
"FLATBUFFERS_BUILD_SHAREDLIB={shared[ON,OFF]}",
|
|
19
|
+
"FLATBUFFERS_BUILD_TESTS=OFF",
|
|
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("flatbuffers")
|
|
27
|
+
|
|
28
|
+
|
|
29
|
+
TaskRegistry.get().add_task_class(Flatbuffers)
|
jolt/pkgs/fmt.py
ADDED
|
@@ -0,0 +1,27 @@
|
|
|
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 Fmt(cmake.CMake):
|
|
10
|
+
name = "fmt"
|
|
11
|
+
version = Parameter("12.1.0", help="Fmt version.")
|
|
12
|
+
shared = BooleanParameter(False, help="Build shared libraries.")
|
|
13
|
+
requires_git = ["git:url=https://github.com/fmtlib/fmt.git,rev={version}"]
|
|
14
|
+
srcdir = "{git[fmt]}"
|
|
15
|
+
options = [
|
|
16
|
+
"BUILD_SHARED_LIBS={shared[ON,OFF]}",
|
|
17
|
+
"FMT_TEST=OFF",
|
|
18
|
+
]
|
|
19
|
+
|
|
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
|
+
|
|
27
|
+
TaskRegistry.get().add_task_class(Fmt)
|
jolt/pkgs/fstree.py
ADDED
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
from jolt import attributes, Parameter, Task
|
|
2
|
+
from jolt.tasks import TaskRegistry
|
|
3
|
+
|
|
4
|
+
|
|
5
|
+
@attributes.system
|
|
6
|
+
class Fstree(Task):
|
|
7
|
+
name = "fstree"
|
|
8
|
+
version = Parameter("24.11.128")
|
|
9
|
+
|
|
10
|
+
def publish(self, artifact, tools):
|
|
11
|
+
self.ext = ".exe" if self.system == "windows" else ""
|
|
12
|
+
with tools.cwd(tools.builddir()):
|
|
13
|
+
tools.mkdir("jolt/bin")
|
|
14
|
+
tools.download("https://github.com/srand/fstree/releases/download/{version}/fstree-{system}-x86_64{ext}", "jolt/bin/fstree-{system}-x86_64{ext}")
|
|
15
|
+
tools.chmod("jolt/bin/fstree-{system}-x86_64{ext}", 0o755)
|
|
16
|
+
artifact.collect("jolt/bin/fstree-{system}-x86_64{ext}", "bin/fstree{ext}")
|
|
17
|
+
artifact.environ.PATH.append("bin")
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
TaskRegistry.get().add_task_class(Fstree)
|
jolt/pkgs/gflags.py
ADDED
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
from jolt import attributes, 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
|
+
@cmake.requires()
|
|
9
|
+
@cmake.use_ninja()
|
|
10
|
+
class GFlags(cmake.CMake):
|
|
11
|
+
name = "gflags"
|
|
12
|
+
version = Parameter("2.3.0", help="gflags version.")
|
|
13
|
+
options = ["BUILD_SHARED_LIBS=ON"]
|
|
14
|
+
requires_git = ["git:url=https://github.com/gflags/gflags.git,rev=v{version}"]
|
|
15
|
+
srcdir = "{git[gflags]}"
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
TaskRegistry.get().add_task_class(GFlags)
|
jolt/pkgs/glib.py
ADDED
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
from jolt import attributes, Parameter
|
|
2
|
+
from jolt.pkgs import meson, zlib
|
|
3
|
+
from jolt.plugins import git, meson
|
|
4
|
+
from jolt.tasks import TaskRegistry
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
@attributes.requires("requires_git")
|
|
8
|
+
@attributes.requires("requires_zlib")
|
|
9
|
+
@meson.requires()
|
|
10
|
+
class GLib(meson.Meson):
|
|
11
|
+
name = "glib"
|
|
12
|
+
version = Parameter("2.86.3", help="glib version.")
|
|
13
|
+
requires_git = ["git:url=https://gitlab.gnome.org/GNOME/glib.git,rev={version},submodules=true"]
|
|
14
|
+
requires_zlib = ["zlib"]
|
|
15
|
+
srcdir = "{git[glib]}"
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
TaskRegistry.get().add_task_class(GLib)
|
jolt/pkgs/glog.py
ADDED
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
from jolt import attributes, Parameter
|
|
2
|
+
from jolt.pkgs import cmake, gflags
|
|
3
|
+
from jolt.plugins import git, cmake
|
|
4
|
+
from jolt.tasks import TaskRegistry
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
@attributes.requires("requires_gflags")
|
|
8
|
+
@attributes.requires("requires_git")
|
|
9
|
+
@cmake.requires()
|
|
10
|
+
@cmake.use_ninja()
|
|
11
|
+
class Glog(cmake.CMake):
|
|
12
|
+
name = "glog"
|
|
13
|
+
version = Parameter("0.7.1", help="glog version.")
|
|
14
|
+
options = ["BUILD_SHARED_LIBS=ON"]
|
|
15
|
+
requires_gflags = ["gflags"]
|
|
16
|
+
requires_git = ["git:url=https://github.com/google/glog.git,rev=v{version}"]
|
|
17
|
+
srcdir = "{git[glog]}"
|
|
18
|
+
options = ["CMAKE_CXX_STANDARD=14"]
|
|
19
|
+
|
|
20
|
+
def run(self, deps, tools):
|
|
21
|
+
self.warning("GLog is deprecated and unmaintained. Consider using ng-log instead.")
|
|
22
|
+
super().run(deps, tools)
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
TaskRegistry.get().add_task_class(Glog)
|
jolt/pkgs/glslang.py
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
from jolt import attributes, 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
|
+
@cmake.requires()
|
|
9
|
+
@cmake.use_ninja()
|
|
10
|
+
class Glslang(cmake.CMake):
|
|
11
|
+
name = "glslang"
|
|
12
|
+
version = Parameter("16.1.0", help="Glslang version.")
|
|
13
|
+
requires_git = ["git:url=https://github.com/KhronosGroup/glslang.git,rev={version}"]
|
|
14
|
+
|
|
15
|
+
def run(self, deps, tools):
|
|
16
|
+
with tools.cwd("{git[glslang]}"):
|
|
17
|
+
tools.run("python3 update_glslang_sources.py")
|
|
18
|
+
super().run(deps, tools)
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
TaskRegistry.get().add_task_class(Glslang)
|
jolt/pkgs/golang.py
CHANGED
|
@@ -6,31 +6,36 @@ from jolt.tasks import TaskRegistry
|
|
|
6
6
|
import platform
|
|
7
7
|
|
|
8
8
|
|
|
9
|
+
@jolt_attributes.arch
|
|
9
10
|
@jolt_attributes.system
|
|
10
|
-
@jolt_attributes.attribute("url", "url_{system}")
|
|
11
11
|
class Golang(Download):
|
|
12
12
|
name = "golang"
|
|
13
|
-
version = Parameter("1.
|
|
14
|
-
|
|
15
|
-
url_windows = "https://go.dev/dl/go{version}.windows-{arch}.zip"
|
|
13
|
+
version = Parameter("1.25.5", help="Go version.")
|
|
14
|
+
url = "https://go.dev/dl/go{version}.{system}-{go_arch}{go_ext}"
|
|
16
15
|
|
|
17
16
|
@property
|
|
18
|
-
def
|
|
19
|
-
arch
|
|
20
|
-
if arch == "x86_64":
|
|
17
|
+
def go_arch(self):
|
|
18
|
+
if self.arch in ["amd64", "x86_64"]:
|
|
21
19
|
return "amd64"
|
|
22
|
-
if arch in ["i386", "i486", "i586", "i686"]:
|
|
20
|
+
if self.arch in ["i386", "i486", "i586", "i686"]:
|
|
23
21
|
return "i386"
|
|
24
|
-
if arch in ["arm", "armv6l", "armv7l"]:
|
|
22
|
+
if self.arch in ["arm", "armv6l", "armv7l"]:
|
|
25
23
|
return "armv6l"
|
|
26
|
-
if arch in ["arm64", "armv8l", "aarch64"]:
|
|
24
|
+
if self.arch in ["arm64", "armv8l", "aarch64"]:
|
|
27
25
|
return "arm64"
|
|
28
26
|
return None
|
|
29
27
|
|
|
28
|
+
@property
|
|
29
|
+
def go_ext(self):
|
|
30
|
+
if self.system == "windows":
|
|
31
|
+
return ".zip"
|
|
32
|
+
return ".tar.gz"
|
|
33
|
+
|
|
30
34
|
def publish(self, artifact, tools):
|
|
31
35
|
super().publish(artifact, tools)
|
|
32
|
-
artifact.environ.PATH.append("go/bin")
|
|
33
36
|
artifact.paths.goroot = "go"
|
|
37
|
+
artifact.environ.GOROOT = str(artifact.paths.goroot)
|
|
38
|
+
artifact.environ.PATH.append("go/bin")
|
|
34
39
|
|
|
35
40
|
def unpack(self, artifact, tools):
|
|
36
41
|
artifact.environ.GOROOT = str(artifact.paths.goroot)
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
from jolt import attributes, Parameter
|
|
2
|
+
from jolt.pkgs import cmake
|
|
3
|
+
from jolt.tasks import TaskRegistry
|
|
4
|
+
from jolt.plugins import git, cmake
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
@attributes.requires("requires_git")
|
|
8
|
+
@cmake.requires()
|
|
9
|
+
@cmake.use_ninja()
|
|
10
|
+
class GoogleBenchmark(cmake.CMake):
|
|
11
|
+
name = "google/benchmark"
|
|
12
|
+
version = Parameter("1.9.4", help="Benchmark version.")
|
|
13
|
+
requires_git = ["git:url=https://github.com/google/benchmark.git,rev=v{version},submodules=true"]
|
|
14
|
+
options = ["BENCHMARK_ENABLE_TESTING=OFF"]
|
|
15
|
+
srcdir = "{git[benchmark]}"
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
TaskRegistry.get().add_task_class(GoogleBenchmark)
|
jolt/pkgs/googletest.py
ADDED
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
from jolt import attributes, BooleanParameter, Parameter, Task
|
|
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
|
+
@cmake.requires()
|
|
9
|
+
@cmake.use_ninja()
|
|
10
|
+
class GoogleTest(cmake.CMake):
|
|
11
|
+
name = "google/test"
|
|
12
|
+
version = Parameter("1.12.1", help="GoogleTest version.")
|
|
13
|
+
shared = BooleanParameter(False, help="Build shared libraries.")
|
|
14
|
+
requires_git = ["git:url=https://github.com/google/googletest.git,rev=release-{version}"]
|
|
15
|
+
srcdir = "{git[googletest]}"
|
|
16
|
+
options = [
|
|
17
|
+
"BUILD_SHARED_LIBS={shared[ON,OFF]}",
|
|
18
|
+
]
|
|
19
|
+
|
|
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
|
+
|
|
28
|
+
class GTestMain(Task):
|
|
29
|
+
name = "google/test/main"
|
|
30
|
+
extends = "google/test"
|
|
31
|
+
|
|
32
|
+
def publish(self, artifact, tools):
|
|
33
|
+
artifact.cxxinfo.libraries.append("gtest_main")
|
|
34
|
+
|
|
35
|
+
|
|
36
|
+
class GmockMain(Task):
|
|
37
|
+
name = "google/mock/main"
|
|
38
|
+
extends = "google/test"
|
|
39
|
+
|
|
40
|
+
def publish(self, artifact, tools):
|
|
41
|
+
artifact.cxxinfo.libraries.append("gmock_main")
|
|
42
|
+
|
|
43
|
+
|
|
44
|
+
TaskRegistry.get().add_task_class(GoogleTest)
|
|
45
|
+
TaskRegistry.get().add_task_class(GTestMain)
|
|
46
|
+
TaskRegistry.get().add_task_class(GmockMain)
|
jolt/pkgs/gperf.py
ADDED
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
from jolt import attributes
|
|
2
|
+
from jolt.plugins import autotools, fetch
|
|
3
|
+
from jolt.tasks import TaskRegistry
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
@attributes.common_metadata()
|
|
7
|
+
@attributes.requires("requires_src")
|
|
8
|
+
class GPerf(autotools.Autotools):
|
|
9
|
+
name = "gperf"
|
|
10
|
+
version = "3.3"
|
|
11
|
+
requires_src = ["fetch:alias=src,url=http://ftpmirror.gnu.org/gperf/gperf-{version}.tar.gz"]
|
|
12
|
+
srcdir = "{fetch[src]}/gperf-{version}"
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
TaskRegistry.get().add_task_class(GPerf)
|
jolt/pkgs/grpc.py
ADDED
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
from jolt import attributes, BooleanParameter, Parameter, Task
|
|
2
|
+
from jolt.pkgs import abseil, cares, cmake, nasm, protobuf, re2, ssl, zlib
|
|
3
|
+
from jolt.plugins import git, cmake
|
|
4
|
+
from jolt.tasks import TaskRegistry
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
@attributes.requires("requires_abseil")
|
|
8
|
+
@attributes.requires("requires_cares")
|
|
9
|
+
@attributes.requires("requires_git")
|
|
10
|
+
@attributes.requires("requires_nasm_{system}")
|
|
11
|
+
@attributes.requires("requires_protobuf")
|
|
12
|
+
@attributes.requires("requires_re2")
|
|
13
|
+
@attributes.requires("requires_ssl")
|
|
14
|
+
@attributes.requires("requires_zlib")
|
|
15
|
+
@attributes.system
|
|
16
|
+
@cmake.requires()
|
|
17
|
+
@cmake.use_ninja()
|
|
18
|
+
class Grpc(cmake.CMake):
|
|
19
|
+
name = "grpc"
|
|
20
|
+
version = Parameter("1.76.0", help="Grpc version.")
|
|
21
|
+
shared = BooleanParameter(False, help="Build shared libraries.")
|
|
22
|
+
generator = "Ninja"
|
|
23
|
+
requires_abseil = ["abseil:shared={shared}"]
|
|
24
|
+
requires_cares = ["c-ares:shared={shared}"]
|
|
25
|
+
requires_git = ["git:url=https://github.com/grpc/grpc.git,path={buildroot}/git_grpc,rev=v{version},submodules=true"]
|
|
26
|
+
requires_nasm_windows = ["nasm"]
|
|
27
|
+
requires_protobuf = ["protobuf:shared={shared}"]
|
|
28
|
+
requires_re2 = ["re2:shared={shared}"]
|
|
29
|
+
requires_ssl = ["virtual/ssl:shared={shared}"]
|
|
30
|
+
requires_zlib = ["zlib"]
|
|
31
|
+
srcdir = "{git[grpc]}"
|
|
32
|
+
options = [
|
|
33
|
+
"BUILD_SHARED_LIBS={shared[ON,OFF]}",
|
|
34
|
+
"CMAKE_CXX_STANDARD=17",
|
|
35
|
+
"gRPC_ABSL_PROVIDER=package",
|
|
36
|
+
"gRPC_BUILD_TESTS=OFF",
|
|
37
|
+
"gRPC_CARES_PROVIDER=package",
|
|
38
|
+
"gRPC_MSVC_STATIC_RUNTIME=OFF",
|
|
39
|
+
"gRPC_PROTOBUF_PROVIDER=package",
|
|
40
|
+
"gRPC_RE2_PROVIDER=package",
|
|
41
|
+
"gRPC_SSL_PROVIDER=package",
|
|
42
|
+
"gRPC_ZLIB_PROVIDER=package",
|
|
43
|
+
"gRPC_USE_SYSTEMD=OFF",
|
|
44
|
+
]
|
|
45
|
+
|
|
46
|
+
def publish(self, artifact, tools):
|
|
47
|
+
super().publish(artifact, tools)
|
|
48
|
+
artifact.cxxinfo.crt = "Dynamic"
|
|
49
|
+
artifact.cxxinfo.incpaths.append("include")
|
|
50
|
+
artifact.cxxinfo.libpaths.append("lib")
|
|
51
|
+
|
|
52
|
+
|
|
53
|
+
class GrpcC(Task):
|
|
54
|
+
name = "grpc/c"
|
|
55
|
+
extends = "grpc"
|
|
56
|
+
|
|
57
|
+
def publish(self, artifact, tools):
|
|
58
|
+
artifact.cxxinfo.crt = "Dynamic"
|
|
59
|
+
artifact.cxxinfo.libraries.append("grpc")
|
|
60
|
+
|
|
61
|
+
|
|
62
|
+
class GrpcCXX(Task):
|
|
63
|
+
name = "grpc/c++"
|
|
64
|
+
extends = "grpc"
|
|
65
|
+
|
|
66
|
+
def publish(self, artifact, tools):
|
|
67
|
+
artifact.cxxinfo.crt = "Dynamic"
|
|
68
|
+
artifact.cxxinfo.libraries.append("grpc++")
|
|
69
|
+
|
|
70
|
+
|
|
71
|
+
TaskRegistry.get().add_task_class(Grpc)
|
|
72
|
+
TaskRegistry.get().add_task_class(GrpcC)
|
|
73
|
+
TaskRegistry.get().add_task_class(GrpcCXX)
|
jolt/pkgs/hdf5.py
ADDED
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
from jolt import attributes, 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
|
+
class HDF5(cmake.CMake):
|
|
9
|
+
name = "hdf5"
|
|
10
|
+
version = Parameter("2.0.0", help="hdf5 version.")
|
|
11
|
+
requires_git = ["git:url=https://github.com/HDFGroup/hdf5.git,rev={version}"]
|
|
12
|
+
srcdir = "{git[hdf5]}"
|
|
13
|
+
options = [
|
|
14
|
+
"BUILD_SHARED_LIBS=ON",
|
|
15
|
+
"HDF5_BUILD_EXAMPLES=OFF",
|
|
16
|
+
]
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
TaskRegistry.get().add_task_class(HDF5)
|
jolt/pkgs/help2man.py
ADDED
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
from jolt import attributes
|
|
2
|
+
from jolt.plugins import autotools, fetch
|
|
3
|
+
from jolt.tasks import TaskRegistry
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
@attributes.requires("requires_src")
|
|
7
|
+
class Help2Man(autotools.Autotools):
|
|
8
|
+
name = "help2man"
|
|
9
|
+
version = "1.47.17"
|
|
10
|
+
requires_src = ["fetch:alias=src,url=http://ftpmirror.gnu.org/help2man/help2man-{version}.tar.xz"]
|
|
11
|
+
srcdir = "{fetch[src]}/help2man-{version}"
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
TaskRegistry.get().add_task_class(Help2Man)
|
jolt/pkgs/inja.py
ADDED
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
from jolt import attributes, BooleanParameter, Parameter
|
|
2
|
+
from jolt.pkgs import cmake, nlohmann_json
|
|
3
|
+
from jolt.plugins import git, cmake
|
|
4
|
+
from jolt.tasks import TaskRegistry
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
@attributes.requires("requires_git")
|
|
8
|
+
@attributes.requires("requires_json")
|
|
9
|
+
@cmake.requires()
|
|
10
|
+
@cmake.use_ninja()
|
|
11
|
+
class Inja(cmake.CMake):
|
|
12
|
+
name = "inja"
|
|
13
|
+
version = Parameter("3.5.0", help="Inja version.")
|
|
14
|
+
tests = BooleanParameter(False, help="Build tests.")
|
|
15
|
+
requires_git = ["git:url=https://github.com/pantor/inja.git,rev=v{version}"]
|
|
16
|
+
requires_json = ["nlohmann/json"]
|
|
17
|
+
srcdir = "{git[inja]}"
|
|
18
|
+
options = [
|
|
19
|
+
"BUILD_TESTING={tests[ON,OFF]}",
|
|
20
|
+
"INJA_USE_EMBEDDED_JSON=OFF",
|
|
21
|
+
]
|
|
22
|
+
|
|
23
|
+
def publish(self, artifact, tools):
|
|
24
|
+
super().publish(artifact, tools)
|
|
25
|
+
artifact.cxxinfo.incpaths.append("include")
|
|
26
|
+
|
|
27
|
+
|
|
28
|
+
TaskRegistry.get().add_task_class(Inja)
|
jolt/pkgs/jsoncpp.py
ADDED
|
@@ -0,0 +1,31 @@
|
|
|
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 JsonCPP(cmake.CMake):
|
|
12
|
+
name = "jsoncpp"
|
|
13
|
+
version = Parameter("1.9.6", help="JsonCPP version.")
|
|
14
|
+
tests = BooleanParameter(False, help="Build tests.")
|
|
15
|
+
requires_git = ["git:url=https://github.com/open-source-parsers/jsoncpp.git,rev={version}"]
|
|
16
|
+
srcdir = "{git[jsoncpp]}"
|
|
17
|
+
options = [
|
|
18
|
+
"JSONCPP_WITH_TESTS={tests[ON,OFF]}",
|
|
19
|
+
]
|
|
20
|
+
|
|
21
|
+
def publish(self, artifact, tools):
|
|
22
|
+
super().publish(artifact, tools)
|
|
23
|
+
artifact.cxxinfo.incpaths.append("include")
|
|
24
|
+
artifact.cxxinfo.libpaths.append("lib")
|
|
25
|
+
if self.system == "windows":
|
|
26
|
+
artifact.cxxinfo.libraries.append("jsoncpp_static")
|
|
27
|
+
else:
|
|
28
|
+
artifact.cxxinfo.libraries.append("jsoncpp")
|
|
29
|
+
|
|
30
|
+
|
|
31
|
+
TaskRegistry.get().add_task_class(JsonCPP)
|
jolt/pkgs/libarchive.py
ADDED
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
from jolt import attributes, BooleanParameter, Parameter
|
|
2
|
+
from jolt.tasks import TaskRegistry
|
|
3
|
+
from jolt.plugins import cmake, git
|
|
4
|
+
from jolt.pkgs import bzip2, libexpat, lz4, openssl, xz, zlib, zstd
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
@attributes.requires("requires_bzip2")
|
|
8
|
+
@attributes.requires("requires_expat")
|
|
9
|
+
@attributes.requires("requires_lz4")
|
|
10
|
+
@attributes.requires("requires_openssl")
|
|
11
|
+
@attributes.requires("requires_xz")
|
|
12
|
+
@attributes.requires("requires_zlib")
|
|
13
|
+
@attributes.requires("requires_zstd")
|
|
14
|
+
@attributes.requires("requires_git")
|
|
15
|
+
@cmake.requires()
|
|
16
|
+
@cmake.use_ninja()
|
|
17
|
+
class Libarchive(cmake.CMake):
|
|
18
|
+
name = "libarchive"
|
|
19
|
+
version = Parameter("3.8.5", help="libarchive version.")
|
|
20
|
+
shared = BooleanParameter(False, help="Build shared libraries")
|
|
21
|
+
requires_bzip2 = ["libbzip2"]
|
|
22
|
+
requires_git = ["git:url=https://github.com/libarchive/libarchive.git,rev=v{version}"]
|
|
23
|
+
requires_expat = ["libexpat"]
|
|
24
|
+
requires_lz4 = ["lz4"]
|
|
25
|
+
requires_openssl = ["openssl"]
|
|
26
|
+
requires_xz = ["xz"]
|
|
27
|
+
requires_zlib = ["zlib"]
|
|
28
|
+
requires_zstd = ["zstd"]
|
|
29
|
+
srcdir = "{git[libarchive]}"
|
|
30
|
+
options = [
|
|
31
|
+
"CMAKE_POLICY_VERSION_MINIMUM=3.5",
|
|
32
|
+
"BUILD_SHARED_LIBS={shared[ON,OFF]}",
|
|
33
|
+
"ENABLE_TEST=OFF",
|
|
34
|
+
]
|
|
35
|
+
|
|
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
|
+
|
|
43
|
+
TaskRegistry.get().add_task_class(Libarchive)
|