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/lua.py
ADDED
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
from jolt import attributes, BooleanParameter, Parameter
|
|
2
|
+
from jolt.pkgs import ninja
|
|
3
|
+
from jolt.plugins import git
|
|
4
|
+
from jolt.plugins.ninja import CXXLibrary
|
|
5
|
+
from jolt.tasks import TaskRegistry
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
@attributes.requires("requires_git")
|
|
9
|
+
@attributes.requires("requires_ninja")
|
|
10
|
+
class Lua(CXXLibrary):
|
|
11
|
+
name = "lua"
|
|
12
|
+
version = Parameter("5.4.8", help="Lua version.")
|
|
13
|
+
shared = BooleanParameter(False, help="Build shared libraries.")
|
|
14
|
+
|
|
15
|
+
requires_git = ["git:url=https://github.com/lua/lua.git,rev=v{version},hash=true"]
|
|
16
|
+
requires_ninja = ["ninja"]
|
|
17
|
+
sources = [
|
|
18
|
+
"{git[lua]}/lapi.c",
|
|
19
|
+
"{git[lua]}/lauxlib.c",
|
|
20
|
+
"{git[lua]}/lbaselib.c",
|
|
21
|
+
"{git[lua]}/lcode.c",
|
|
22
|
+
"{git[lua]}/lcorolib.c",
|
|
23
|
+
"{git[lua]}/lctype.c",
|
|
24
|
+
"{git[lua]}/ldblib.c",
|
|
25
|
+
"{git[lua]}/ldebug.c",
|
|
26
|
+
"{git[lua]}/ldo.c",
|
|
27
|
+
"{git[lua]}/ldump.c",
|
|
28
|
+
"{git[lua]}/lfunc.c",
|
|
29
|
+
"{git[lua]}/lgc.c",
|
|
30
|
+
"{git[lua]}/linit.c",
|
|
31
|
+
"{git[lua]}/liolib.c",
|
|
32
|
+
"{git[lua]}/llex.c",
|
|
33
|
+
"{git[lua]}/lmathlib.c",
|
|
34
|
+
"{git[lua]}/lmem.c",
|
|
35
|
+
"{git[lua]}/loadlib.c",
|
|
36
|
+
"{git[lua]}/lobject.c",
|
|
37
|
+
"{git[lua]}/lopcodes.c",
|
|
38
|
+
"{git[lua]}/loslib.c",
|
|
39
|
+
"{git[lua]}/lparser.c",
|
|
40
|
+
"{git[lua]}/lstate.c",
|
|
41
|
+
"{git[lua]}/lstring.c",
|
|
42
|
+
"{git[lua]}/lstrlib.c",
|
|
43
|
+
"{git[lua]}/ltable.c",
|
|
44
|
+
"{git[lua]}/ltablib.c",
|
|
45
|
+
"{git[lua]}/ltests.c",
|
|
46
|
+
"{git[lua]}/ltm.c",
|
|
47
|
+
"{git[lua]}/lundump.c",
|
|
48
|
+
"{git[lua]}/lutf8lib.c",
|
|
49
|
+
"{git[lua]}/lvm.c",
|
|
50
|
+
"{git[lua]}/lzio.c",
|
|
51
|
+
]
|
|
52
|
+
|
|
53
|
+
|
|
54
|
+
TaskRegistry.get().add_task_class(Lua)
|
jolt/pkgs/lz4.py
ADDED
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
from jolt import attributes, BooleanParameter, 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
|
+
@cmake.use_ninja()
|
|
9
|
+
class Lz4(cmake.CMake):
|
|
10
|
+
name = "lz4"
|
|
11
|
+
version = Parameter("1.10.0", help="LZ4 version.")
|
|
12
|
+
shared = BooleanParameter(False, help="Build shared libraries")
|
|
13
|
+
requires_git = ["git:url=https://github.com/lz4/lz4.git,rev=v{version}"]
|
|
14
|
+
srcdir = "{git[lz4]}/build/cmake"
|
|
15
|
+
options = [
|
|
16
|
+
"BUILD_SHARED_LIBS={shared[ON,OFF]}",
|
|
17
|
+
]
|
|
18
|
+
|
|
19
|
+
def publish(self, artifact, tools):
|
|
20
|
+
super().publish(artifact, tools)
|
|
21
|
+
artifact.cxxinfo.incpaths.append("include")
|
|
22
|
+
artifact.cxxinfo.libpaths.append("lib")
|
|
23
|
+
artifact.cxxinfo.libraries.append("lz4")
|
|
24
|
+
|
|
25
|
+
|
|
26
|
+
TaskRegistry.get().add_task_class(Lz4)
|
jolt/pkgs/m4.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 M4(autotools.Autotools):
|
|
8
|
+
name = "m4"
|
|
9
|
+
version = "1.4.20"
|
|
10
|
+
requires_src = ["fetch:alias=src,url=http://ftpmirror.gnu.org/m4/m4-{version}.tar.xz"]
|
|
11
|
+
srcdir = "{fetch[src]}/m4-{version}"
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
TaskRegistry.get().add_task_class(M4)
|
jolt/pkgs/make.py
ADDED
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
from jolt import attributes, Parameter
|
|
2
|
+
from jolt.plugins import autotools, fetch
|
|
3
|
+
from jolt.tasks import TaskRegistry
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
@attributes.requires("requires_git")
|
|
7
|
+
@attributes.requires("requires_texinfo")
|
|
8
|
+
@autotools.requires(automake=False, libtool=False)
|
|
9
|
+
class GnuMake(autotools.Autotools):
|
|
10
|
+
name = "make"
|
|
11
|
+
version = Parameter("4.4.1", help="Automake version.")
|
|
12
|
+
requires_git = ["fetch:alias=src,url=https://ftpmirror.gnu.org/gnu/make/make-{version}.tar.gz"]
|
|
13
|
+
requires_texinfo = ["texinfo"]
|
|
14
|
+
srcdir = "{fetch[src]}/make-{version}"
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
TaskRegistry.get().add_task_class(GnuMake)
|
jolt/pkgs/mesa.py
ADDED
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
from jolt import attributes, Parameter, Task
|
|
2
|
+
from jolt.pkgs import cbindgen, glslang, libdrm, libglvnd, libva, x11
|
|
3
|
+
from jolt.pkgs import meson, rust, spirv_llvm, wayland
|
|
4
|
+
from jolt.plugins import git
|
|
5
|
+
from jolt.tasks import TaskRegistry
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
@attributes.requires("requires_cbindgen")
|
|
9
|
+
@attributes.requires("requires_git")
|
|
10
|
+
@attributes.requires("requires_glslang")
|
|
11
|
+
@attributes.requires("requires_libdrm")
|
|
12
|
+
@attributes.requires("requires_llvm")
|
|
13
|
+
@attributes.requires("requires_libglvnd")
|
|
14
|
+
@attributes.requires("requires_libva")
|
|
15
|
+
@attributes.requires("requires_libx11_xcb")
|
|
16
|
+
@attributes.requires("requires_libxshmfence")
|
|
17
|
+
@attributes.requires("requires_libxxf86vm")
|
|
18
|
+
@attributes.requires("requires_meson")
|
|
19
|
+
@attributes.requires("requires_rust")
|
|
20
|
+
@attributes.requires("requires_spirv_llvm")
|
|
21
|
+
@attributes.requires("requires_wayland")
|
|
22
|
+
@attributes.requires("requires_xrandr")
|
|
23
|
+
@attributes.common_metadata()
|
|
24
|
+
class Mesa(Task):
|
|
25
|
+
name = "mesa"
|
|
26
|
+
version = Parameter("25.3.2", help="Mesa version.")
|
|
27
|
+
|
|
28
|
+
requires_cbindgen = ["cbindgen"]
|
|
29
|
+
requires_git = ["git:url=https://gitlab.freedesktop.org/mesa/mesa.git,rev=mesa-{version}"]
|
|
30
|
+
requires_glslang = ["glslang"]
|
|
31
|
+
requires_libdrm = ["libdrm"]
|
|
32
|
+
requires_libglvnd = ["libglvnd"]
|
|
33
|
+
requires_libx11_xcb = ["libx11-xcb"]
|
|
34
|
+
requires_libxshmfence = ["libxshmfence"]
|
|
35
|
+
requires_libxxf86vm = ["libxxf86vm"]
|
|
36
|
+
requires_llvm = ["clang", "llvm"]
|
|
37
|
+
requires_libva = ["libva"]
|
|
38
|
+
requires_meson = ["meson"]
|
|
39
|
+
requires_rust = ["rust", "rust-bindgen"]
|
|
40
|
+
requires_spirv_llvm = ["spirv-llvm-translator"]
|
|
41
|
+
requires_wayland = ["wayland"]
|
|
42
|
+
requires_xrandr = ["libxrandr"]
|
|
43
|
+
|
|
44
|
+
def run(self, deps, tools):
|
|
45
|
+
try:
|
|
46
|
+
# Patch broken meson.build
|
|
47
|
+
with tools.cwd("{git[mesa]}"):
|
|
48
|
+
tools.replace_in_file(
|
|
49
|
+
"src/gbm/backends/dri/meson.build",
|
|
50
|
+
"deps_gbm_dri = []",
|
|
51
|
+
"deps_gbm_dri = [dep_xcb_dri3]"
|
|
52
|
+
)
|
|
53
|
+
|
|
54
|
+
ac = tools.meson()
|
|
55
|
+
ac.configure(
|
|
56
|
+
"{git[mesa]}",
|
|
57
|
+
"buildtype=release",
|
|
58
|
+
"gallium-drivers=auto",
|
|
59
|
+
"glvnd=true",
|
|
60
|
+
"glx=dri",
|
|
61
|
+
"platforms=x11,wayland",
|
|
62
|
+
"shared-llvm=disabled",
|
|
63
|
+
"vulkan-drivers=auto",
|
|
64
|
+
)
|
|
65
|
+
ac.build()
|
|
66
|
+
ac.install()
|
|
67
|
+
finally:
|
|
68
|
+
# Revert patch
|
|
69
|
+
with tools.cwd("{git[mesa]}"):
|
|
70
|
+
tools.replace_in_file(
|
|
71
|
+
"src/gbm/backends/dri/meson.build",
|
|
72
|
+
"deps_gbm_dri = [dep_xcb_dri3]",
|
|
73
|
+
"deps_gbm_dri = []"
|
|
74
|
+
)
|
|
75
|
+
|
|
76
|
+
def publish(self, artifact, tools):
|
|
77
|
+
ac = tools.meson()
|
|
78
|
+
ac.publish(artifact)
|
|
79
|
+
|
|
80
|
+
|
|
81
|
+
TaskRegistry.get().add_task_class(Mesa)
|
jolt/pkgs/meson.py
ADDED
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
from jolt import Alias
|
|
2
|
+
from jolt.tasks import TaskRegistry
|
|
3
|
+
from jolt.pkgs import python
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
class Meson(Alias):
|
|
7
|
+
"""
|
|
8
|
+
Alias for the Meson build system.
|
|
9
|
+
|
|
10
|
+
Meson is included in the Python virtual environment task.
|
|
11
|
+
"""
|
|
12
|
+
|
|
13
|
+
name = "meson"
|
|
14
|
+
requires = ["python"]
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
TaskRegistry.get().add_task_class(Meson)
|
jolt/pkgs/mstch.py
ADDED
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
from jolt import attributes, Parameter
|
|
2
|
+
from jolt.pkgs import boost
|
|
3
|
+
from jolt.plugins import cmake, fetch
|
|
4
|
+
from jolt.tasks import TaskRegistry
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
@attributes.requires("requires_boost")
|
|
8
|
+
@attributes.requires("requires_src")
|
|
9
|
+
@cmake.requires()
|
|
10
|
+
@cmake.use_ninja()
|
|
11
|
+
class MSTCH(cmake.CMake):
|
|
12
|
+
name = "mstch"
|
|
13
|
+
version = Parameter("1.0.2", help="MSTCH version.")
|
|
14
|
+
requires_boost = ["boost"]
|
|
15
|
+
requires_src = ["fetch:alias=src,url=https://github.com/no1msd/mstch/archive/refs/tags/{version}.tar.gz"]
|
|
16
|
+
srcdir = "{fetch[src]}/mstch-{version}"
|
|
17
|
+
options = [
|
|
18
|
+
"CMAKE_POLICY_VERSION_MINIMUM=3.5",
|
|
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
|
+
artifact.cxxinfo.libraries.append("mstch")
|
|
26
|
+
|
|
27
|
+
|
|
28
|
+
TaskRegistry.get().add_task_class(MSTCH)
|
jolt/pkgs/mysql.py
ADDED
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
from jolt import attributes, BooleanParameter, Parameter
|
|
2
|
+
from jolt.pkgs import boost, curl, libedit, libtirpc, lz4, openssl, rapidjson, zlib, zstd
|
|
3
|
+
from jolt.plugins import cmake, git, pkgconfig
|
|
4
|
+
from jolt.tasks import TaskRegistry
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
@attributes.requires("requires_curl")
|
|
8
|
+
@attributes.requires("requires_{system}_libedit")
|
|
9
|
+
@attributes.requires("requires_{system}_libtirpc")
|
|
10
|
+
@attributes.requires("requires_lz4")
|
|
11
|
+
@attributes.requires("requires_ncurses")
|
|
12
|
+
@attributes.requires("requires_rapidjson")
|
|
13
|
+
@attributes.requires("requires_src")
|
|
14
|
+
@attributes.requires("requires_ssl")
|
|
15
|
+
@attributes.requires("requires_zlib")
|
|
16
|
+
@attributes.requires("requires_zstd")
|
|
17
|
+
@attributes.system
|
|
18
|
+
@cmake.requires()
|
|
19
|
+
@cmake.use_ninja()
|
|
20
|
+
@pkgconfig.requires()
|
|
21
|
+
class MySQLBase(cmake.CMake):
|
|
22
|
+
abstract = True
|
|
23
|
+
version = Parameter("9.5.0", help="MySQL version.")
|
|
24
|
+
requires_curl = ["curl"]
|
|
25
|
+
requires_darwin_libedit = ["libedit:shared=true"]
|
|
26
|
+
requires_linux_libedit = requires_darwin_libedit
|
|
27
|
+
requires_linux_libtirpc = ["libtirpc"]
|
|
28
|
+
requires_lz4 = ["lz4"]
|
|
29
|
+
requires_rapidjson = ["rapidjson"]
|
|
30
|
+
requires_src = ["git:url=https://github.com/mysql/mysql-server,path={buildroot}/git-mysql,submodules=true"]
|
|
31
|
+
requires_ssl = ["openssl"]
|
|
32
|
+
requires_zlib = ["zlib"]
|
|
33
|
+
requires_zstd = ["zstd"]
|
|
34
|
+
srcdir = "{git[mysql-server]}"
|
|
35
|
+
|
|
36
|
+
|
|
37
|
+
class LibMySQLClient(MySQLBase):
|
|
38
|
+
name = "libmysqlclient"
|
|
39
|
+
shared = BooleanParameter(False, help="Build shared libraries")
|
|
40
|
+
options = [
|
|
41
|
+
"BUILD_SHARED_LIBS={shared[ON,OFF]}",
|
|
42
|
+
"WITH_CURL=system",
|
|
43
|
+
"WITH_EDITLINE=system",
|
|
44
|
+
"WITH_LZ4=system",
|
|
45
|
+
"WITH_RAPIDJSON=system",
|
|
46
|
+
"WITH_SSL=system",
|
|
47
|
+
"WITH_UNIT_TESTS=OFF",
|
|
48
|
+
"WITH_ZLIB=system",
|
|
49
|
+
"WITH_ZSTD=system",
|
|
50
|
+
"WITHOUT_SERVER=ON",
|
|
51
|
+
]
|
|
52
|
+
|
|
53
|
+
def publish(self, artifact, tools):
|
|
54
|
+
super().publish(artifact, tools)
|
|
55
|
+
artifact.cxxinfo.incpaths.append("include")
|
|
56
|
+
artifact.cxxinfo.libpaths.append("lib")
|
|
57
|
+
artifact.cxxinfo.libraries.append("mysqlclient")
|
|
58
|
+
|
|
59
|
+
|
|
60
|
+
TaskRegistry.get().add_task_class(LibMySQLClient)
|
jolt/pkgs/nasm.py
ADDED
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
from jolt import attributes, Parameter, Task
|
|
2
|
+
from jolt.pkgs import autoconf, automake, perl, zlib
|
|
3
|
+
from jolt.plugins import autotools, git
|
|
4
|
+
from jolt.tasks import TaskRegistry
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
@attributes.requires("requires_autotools_{system}")
|
|
8
|
+
@attributes.requires("requires_git")
|
|
9
|
+
@attributes.requires("requires_perl")
|
|
10
|
+
@attributes.requires("requires_zlib")
|
|
11
|
+
@attributes.system
|
|
12
|
+
class NASM(Task):
|
|
13
|
+
name = "nasm"
|
|
14
|
+
version = Parameter("3.01", help="nasm version.")
|
|
15
|
+
requires_autotools_darwin = ["autoconf", "automake"]
|
|
16
|
+
requires_autotools_linux = requires_autotools_darwin
|
|
17
|
+
requires_git = ["git:url=https://github.com/netwide-assembler/nasm.git,rev=nasm-{version}"]
|
|
18
|
+
requires_zlib = ["zlib"]
|
|
19
|
+
requires_perl = ["virtual/perl"]
|
|
20
|
+
srcdir = "{git[nasm]}"
|
|
21
|
+
|
|
22
|
+
def run(self, deps, tools):
|
|
23
|
+
self.srcdir = tools.expand_path(self.srcdir)
|
|
24
|
+
self.builddir = tools.builddir()
|
|
25
|
+
|
|
26
|
+
if self.system != "windows":
|
|
27
|
+
with tools.cwd(self.srcdir):
|
|
28
|
+
tools.run("{srcdir}/autogen.sh")
|
|
29
|
+
|
|
30
|
+
with tools.cwd(self.builddir):
|
|
31
|
+
tools.run("{srcdir}/configure")
|
|
32
|
+
tools.run("make -j{}", tools.thread_count())
|
|
33
|
+
else:
|
|
34
|
+
with tools.cwd(self.srcdir):
|
|
35
|
+
tools.run("nmake -f Mkfiles/msvc.mak")
|
|
36
|
+
|
|
37
|
+
def publish(self, artifact, tools):
|
|
38
|
+
if self.system == "windows":
|
|
39
|
+
with tools.cwd(self.srcdir):
|
|
40
|
+
artifact.collect("nasm.exe", "bin/")
|
|
41
|
+
artifact.collect("ndisasm.exe", "bin/")
|
|
42
|
+
else:
|
|
43
|
+
with tools.cwd(self.builddir):
|
|
44
|
+
artifact.collect("nasm", "bin/")
|
|
45
|
+
artifact.collect("ndisasm", "bin/")
|
|
46
|
+
artifact.environ.PATH.append("bin")
|
|
47
|
+
|
|
48
|
+
|
|
49
|
+
TaskRegistry.get().add_task_class(NASM)
|
jolt/pkgs/ncurses.py
ADDED
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
from jolt import BooleanParameter, Parameter, attributes
|
|
2
|
+
from jolt.plugins import autotools, fetch, pkgconfig
|
|
3
|
+
from jolt.tasks import TaskRegistry
|
|
4
|
+
import os
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
@attributes.requires("requires_src")
|
|
8
|
+
@autotools.requires()
|
|
9
|
+
@pkgconfig.requires()
|
|
10
|
+
class Ncurses(autotools.Autotools):
|
|
11
|
+
name = "ncurses"
|
|
12
|
+
version = Parameter("6.6", help="Ncurses version.")
|
|
13
|
+
widechar = BooleanParameter(False, help="Build ncurses with wide character support.")
|
|
14
|
+
shared = BooleanParameter(False, help="Build shared libraries.")
|
|
15
|
+
requires_src = ["fetch:alias=src,url=https://invisible-mirror.net/archives/ncurses/ncurses-{version}.tar.gz"]
|
|
16
|
+
srcdir = "{fetch[src]}/ncurses-{version}"
|
|
17
|
+
options = [
|
|
18
|
+
"--{widechar[enable,disable]}-widec",
|
|
19
|
+
"--{shared[with,without]}-shared",
|
|
20
|
+
"--enable-pc-files",
|
|
21
|
+
"--with-pkg-config-libdir=/jolt-prefix/lib/pkgconfig",
|
|
22
|
+
]
|
|
23
|
+
|
|
24
|
+
def publish(self, artifact, tools):
|
|
25
|
+
super().publish(artifact, tools)
|
|
26
|
+
if self.shared:
|
|
27
|
+
artifact.environ.LD_LIBRARY_PATH.append("lib")
|
|
28
|
+
|
|
29
|
+
|
|
30
|
+
TaskRegistry.get().add_task_class(Ncurses)
|
jolt/pkgs/ng_log.py
ADDED
|
@@ -0,0 +1,25 @@
|
|
|
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 NgLog(cmake.CMake):
|
|
11
|
+
name = "ng-log"
|
|
12
|
+
version = Parameter("0.8.2", help="ng_log version.")
|
|
13
|
+
shared = BooleanParameter(False, help="Build shared libraries")
|
|
14
|
+
requires_git = ["git:url=https://github.com/ng-log/ng-log.git,rev=v{version}"]
|
|
15
|
+
srcdir = "{git[ng-log]}"
|
|
16
|
+
options = ["BUILD_SHARED_LIBS={shared[ON,OFF]}"]
|
|
17
|
+
|
|
18
|
+
def publish(self, artifact, tools):
|
|
19
|
+
super().publish(artifact, tools)
|
|
20
|
+
artifact.cxxinfo.incpaths.append("include")
|
|
21
|
+
artifact.cxxinfo.libpaths.append("lib")
|
|
22
|
+
artifact.cxxinfo.libraries.append("ng-log")
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
TaskRegistry.get().add_task_class(NgLog)
|
jolt/pkgs/ninja.py
ADDED
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
from jolt import attributes, Alias, BooleanParameter, Download, Parameter
|
|
2
|
+
from jolt.pkgs import cmake, re2c
|
|
3
|
+
from jolt.plugins import git, cmake
|
|
4
|
+
from jolt.tasks import TaskRegistry
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
@attributes.system
|
|
8
|
+
@attributes.common_metadata()
|
|
9
|
+
class NinjaBin(Download):
|
|
10
|
+
name = "ninja/bin"
|
|
11
|
+
version = Parameter("1.13.2", help="Ninja version.")
|
|
12
|
+
url = ["https://github.com/ninja-build/ninja/releases/download/v{version}/ninja-{ninja_system}.zip"]
|
|
13
|
+
collect = [{"files": "*", "dest": "bin/"}]
|
|
14
|
+
|
|
15
|
+
@property
|
|
16
|
+
def ninja_system(self):
|
|
17
|
+
if self.system == "darwin":
|
|
18
|
+
return "mac"
|
|
19
|
+
if self.system == "windows":
|
|
20
|
+
return "win"
|
|
21
|
+
return self.system
|
|
22
|
+
|
|
23
|
+
|
|
24
|
+
@attributes.requires("requires_git")
|
|
25
|
+
@attributes.requires("requires_re2c")
|
|
26
|
+
@cmake.requires()
|
|
27
|
+
class NinjaSrc(cmake.CMake):
|
|
28
|
+
name = "ninja/src"
|
|
29
|
+
version = Parameter("1.13.2", help="Ninja version.")
|
|
30
|
+
tests = BooleanParameter(False, help="Build tests.")
|
|
31
|
+
requires_git = ["git:url=https://github.com/ninja-build/ninja.git,rev=v{version}"]
|
|
32
|
+
requires_re2c = ["re2c"]
|
|
33
|
+
srcdir = "{git[ninja]}"
|
|
34
|
+
options = ["BUILD_TESTING={tests[ON,OFF]}"]
|
|
35
|
+
|
|
36
|
+
|
|
37
|
+
class Ninja(Alias):
|
|
38
|
+
name = "ninja"
|
|
39
|
+
version = Parameter("1.13.2", help="Ninja version.")
|
|
40
|
+
requires = ["ninja/bin:version={version}"]
|
|
41
|
+
|
|
42
|
+
|
|
43
|
+
TaskRegistry.get().add_task_class(Ninja)
|
|
44
|
+
TaskRegistry.get().add_task_class(NinjaBin)
|
|
45
|
+
TaskRegistry.get().add_task_class(NinjaSrc)
|
|
@@ -0,0 +1,25 @@
|
|
|
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
|
+
@cmake.requires()
|
|
9
|
+
@cmake.use_ninja()
|
|
10
|
+
class NlohmannJson(cmake.CMake):
|
|
11
|
+
name = "nlohmann/json"
|
|
12
|
+
version = Parameter("3.12.0", help="nlohmann/json version.")
|
|
13
|
+
tests = BooleanParameter(False, help="Build tests.")
|
|
14
|
+
requires_git = ["git:url=https://github.com/nlohmann/json.git,rev=v{version}"]
|
|
15
|
+
srcdir = "{git[json]}"
|
|
16
|
+
options = [
|
|
17
|
+
"JSON_BuildTests={tests[ON,OFF]}",
|
|
18
|
+
]
|
|
19
|
+
|
|
20
|
+
def publish(self, artifact, tools):
|
|
21
|
+
super().publish(artifact, tools)
|
|
22
|
+
artifact.cxxinfo.incpaths.append("include")
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
TaskRegistry.get().add_task_class(NlohmannJson)
|
jolt/pkgs/nodejs.py
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
from jolt import attributes
|
|
1
|
+
from jolt import attributes
|
|
2
2
|
from jolt import Download
|
|
3
3
|
from jolt import Parameter
|
|
4
4
|
from jolt.tasks import TaskRegistry
|
|
@@ -6,21 +6,29 @@ from jolt.tasks import TaskRegistry
|
|
|
6
6
|
import platform
|
|
7
7
|
|
|
8
8
|
|
|
9
|
-
@
|
|
10
|
-
@jolt_attributes.attribute("bin", "bin_{system}")
|
|
11
|
-
@jolt_attributes.attribute("url", "url_{system}")
|
|
9
|
+
@attributes.system
|
|
12
10
|
class NodeJS(Download):
|
|
13
11
|
name = "nodejs"
|
|
14
|
-
version = Parameter("
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
12
|
+
version = Parameter("25.2.1", help="NodeJS version.")
|
|
13
|
+
url = "https://nodejs.org/dist/v{version}/node-v{version}-{os}-{arch}.{ext}"
|
|
14
|
+
bin = "node-v{version}-{os}-{arch}/bin"
|
|
15
|
+
|
|
16
|
+
@property
|
|
17
|
+
def os(self):
|
|
18
|
+
if self.system == "windows":
|
|
19
|
+
return "win"
|
|
20
|
+
return self.system
|
|
21
|
+
|
|
22
|
+
@property
|
|
23
|
+
def ext(self):
|
|
24
|
+
if self.system == "windows":
|
|
25
|
+
return "zip"
|
|
26
|
+
return "tar.gz"
|
|
19
27
|
|
|
20
28
|
@property
|
|
21
29
|
def arch(self):
|
|
22
|
-
arch = platform.machine()
|
|
23
|
-
if arch
|
|
30
|
+
arch = platform.machine().lower()
|
|
31
|
+
if arch in ["amd64", "x86_64"]:
|
|
24
32
|
return "x64"
|
|
25
33
|
if arch in ["i386", "i486", "i586", "i686"]:
|
|
26
34
|
return "x86"
|
jolt/pkgs/opencv.py
ADDED
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
from jolt import attributes, BooleanParameter, Parameter
|
|
2
|
+
from jolt.pkgs import cmake, protobuf
|
|
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 OpenCV(cmake.CMake):
|
|
11
|
+
name = "opencv"
|
|
12
|
+
version = Parameter("4.12.0", help="OpenCV version.")
|
|
13
|
+
shared = BooleanParameter(False, help="Build shared libraries.")
|
|
14
|
+
requires_git = ["git:url=https://github.com/opencv/opencv.git,rev={version}"]
|
|
15
|
+
srcdir = "{git[opencv]}"
|
|
16
|
+
options = [
|
|
17
|
+
"BUILD_EXAMPLES=OFF",
|
|
18
|
+
"BUILD_TESTS=OFF",
|
|
19
|
+
"BUILD_PERF_TESTS=OFF",
|
|
20
|
+
"BUILD_SHARED_LIBS={shared[ON,OFF]}",
|
|
21
|
+
]
|
|
22
|
+
|
|
23
|
+
|
|
24
|
+
TaskRegistry.get().add_task_class(OpenCV)
|
jolt/pkgs/openjdk.py
ADDED
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
from jolt import attributes
|
|
2
|
+
from jolt import Download
|
|
3
|
+
from jolt import Parameter
|
|
4
|
+
from jolt.tasks import TaskRegistry
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
@attributes.attribute("collect", "collect_{system}")
|
|
8
|
+
@attributes.attribute("url", "url_{system}")
|
|
9
|
+
@attributes.system
|
|
10
|
+
class OpenJDK(Download):
|
|
11
|
+
name = "openjdk"
|
|
12
|
+
version = Parameter("25.0.1", const=True, help="OpenJDK version.")
|
|
13
|
+
|
|
14
|
+
collect_darwin = [{"files": "*", "cwd": f"jdk-{version}.jdk/Contents/Home"}]
|
|
15
|
+
collect_linux = [{"files": "*", "cwd": f"jdk-{version}"}]
|
|
16
|
+
collect_windows = collect_linux
|
|
17
|
+
url_darwin = "https://download.java.net/java/GA/jdk25.0.1/2fbf10d8c78e40bd87641c434705079d/8/GPL/openjdk-25.0.1_macos-x64_bin.tar.gz"
|
|
18
|
+
url_linux = "https://download.java.net/java/GA/jdk25.0.1/2fbf10d8c78e40bd87641c434705079d/8/GPL/openjdk-25.0.1_linux-x64_bin.tar.gz"
|
|
19
|
+
url_windows = "https://download.java.net/java/GA/jdk25.0.1/2fbf10d8c78e40bd87641c434705079d/8/GPL/openjdk-25.0.1_windows-x64_bin.zip"
|
|
20
|
+
|
|
21
|
+
def publish(self, artifact, tools):
|
|
22
|
+
super().publish(artifact, tools)
|
|
23
|
+
artifact.environ.PATH.append("bin")
|
|
24
|
+
|
|
25
|
+
|
|
26
|
+
TaskRegistry.get().add_task_class(OpenJDK)
|