jolt 0.9.419__py3-none-any.whl → 0.9.430__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/cache.py +19 -0
- jolt/cli.py +3 -2
- jolt/filesystem.py +2 -2
- jolt/log.py +12 -2
- 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 +23 -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 +69 -0
- jolt/pkgs/zstd.py +33 -0
- jolt/plugins/autotools.py +66 -0
- jolt/plugins/cmake.py +74 -6
- jolt/plugins/cxxinfo.py +7 -0
- jolt/plugins/fetch.py +141 -0
- jolt/plugins/git.py +33 -11
- jolt/plugins/libtool.py +63 -0
- jolt/plugins/meson.py +61 -0
- jolt/plugins/ninja.py +236 -17
- jolt/plugins/pkgconfig.py +219 -0
- jolt/plugins/python.py +137 -0
- jolt/plugins/rust.py +25 -0
- jolt/plugins/selfdeploy/setup.py +1 -0
- jolt/tasks.py +79 -14
- jolt/tools.py +86 -42
- jolt/utils.py +6 -0
- jolt/version.py +1 -1
- {jolt-0.9.419.dist-info → jolt-0.9.430.dist-info}/METADATA +19 -2
- jolt-0.9.430.dist-info/RECORD +207 -0
- jolt-0.9.419.dist-info/RECORD +0 -92
- {jolt-0.9.419.dist-info → jolt-0.9.430.dist-info}/WHEEL +0 -0
- {jolt-0.9.419.dist-info → jolt-0.9.430.dist-info}/entry_points.txt +0 -0
- {jolt-0.9.419.dist-info → jolt-0.9.430.dist-info}/top_level.txt +0 -0
jolt/pkgs/libtool.py
ADDED
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
from jolt import attributes, Parameter
|
|
2
|
+
from jolt.pkgs import help2man, texinfo
|
|
3
|
+
from jolt.plugins import autotools, git
|
|
4
|
+
from jolt.tasks import TaskRegistry
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
@attributes.requires("requires_git")
|
|
8
|
+
@attributes.requires("requires_help2man")
|
|
9
|
+
@attributes.requires("requires_texinfo")
|
|
10
|
+
@autotools.requires(libtool=False)
|
|
11
|
+
class Libtool(autotools.Autotools):
|
|
12
|
+
name = "libtool"
|
|
13
|
+
version = Parameter("2.6.0", help="Libtool version.")
|
|
14
|
+
|
|
15
|
+
requires_git = ["git:url=git://git.git.savannah.gnu.org/libtool.git,rev=v{version}"]
|
|
16
|
+
requires_help2man = ["help2man"]
|
|
17
|
+
requires_texinfo = ["texinfo"]
|
|
18
|
+
srcdir = "{git[libtool]}"
|
|
19
|
+
|
|
20
|
+
def run(self, deps, tools):
|
|
21
|
+
with tools.cwd("{git[libtool]}"):
|
|
22
|
+
tools.run("./bootstrap")
|
|
23
|
+
super().run(deps, tools)
|
|
24
|
+
|
|
25
|
+
def publish(self, artifact, tools):
|
|
26
|
+
super().publish(artifact, tools)
|
|
27
|
+
artifact.environ.LIBTOOL = "libtool"
|
|
28
|
+
artifact.environ.ACLOCAL_PATH.append("share/libtool")
|
|
29
|
+
|
|
30
|
+
def unpack(self, artifact, tools):
|
|
31
|
+
with tools.cwd(artifact.path):
|
|
32
|
+
tools.replace_in_file(
|
|
33
|
+
"bin/libtoolize",
|
|
34
|
+
artifact.strings.install_prefix,
|
|
35
|
+
artifact.path)
|
|
36
|
+
tools.replace_in_file(
|
|
37
|
+
"lib/libltdl.la",
|
|
38
|
+
artifact.strings.install_prefix,
|
|
39
|
+
artifact.path)
|
|
40
|
+
|
|
41
|
+
|
|
42
|
+
TaskRegistry.get().add_task_class(Libtool)
|
jolt/pkgs/libunwind.py
ADDED
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
from jolt import attributes, Parameter
|
|
2
|
+
from jolt.plugins import git, autotools, pkgconfig
|
|
3
|
+
from jolt.tasks import TaskRegistry
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
@attributes.requires("requires_git")
|
|
7
|
+
@attributes.arch
|
|
8
|
+
@attributes.system
|
|
9
|
+
@autotools.requires()
|
|
10
|
+
@pkgconfig.to_cxxinfo(["libunwind", "libunwind-generic", "libunwind-coredump", "libunwind-ptrace", "libunwind-setjmp"])
|
|
11
|
+
class LibUnwind(autotools.Autotools):
|
|
12
|
+
name = "libunwind"
|
|
13
|
+
version = Parameter("1.8.3", help="libunwind version.")
|
|
14
|
+
options = ["--disable-tests"]
|
|
15
|
+
requires_git = ["git:url=https://github.com/libunwind/libunwind.git,rev=v{version}"]
|
|
16
|
+
srcdir = "{git[libunwind]}"
|
|
17
|
+
|
|
18
|
+
def run(self, deps, tools):
|
|
19
|
+
with tools.environ(TARGET="{target}"):
|
|
20
|
+
super().run(deps, tools)
|
|
21
|
+
|
|
22
|
+
@property
|
|
23
|
+
def target(self):
|
|
24
|
+
platform = self.tools.expand("{system}-{arch}")
|
|
25
|
+
if platform == "linux-x86_64":
|
|
26
|
+
return "x86_64-linux-gnu"
|
|
27
|
+
elif platform == "linux-aarch64":
|
|
28
|
+
return "aarch64-linux-gnu"
|
|
29
|
+
elif platform == "linux-arm":
|
|
30
|
+
return "arm-linux-gnueabihf"
|
|
31
|
+
else:
|
|
32
|
+
self.error(f"Unsupported platform: {platform}")
|
|
33
|
+
|
|
34
|
+
|
|
35
|
+
TaskRegistry.get().add_task_class(LibUnwind)
|
jolt/pkgs/libva.py
ADDED
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
from jolt import attributes, Parameter
|
|
2
|
+
from jolt.pkgs import libdrm, meson
|
|
3
|
+
from jolt.plugins import git, meson
|
|
4
|
+
from jolt.tasks import TaskRegistry
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
@attributes.requires("requires_git")
|
|
8
|
+
@attributes.requires("requires_libdrm")
|
|
9
|
+
@meson.requires()
|
|
10
|
+
class Libva(meson.Meson):
|
|
11
|
+
name = "libva"
|
|
12
|
+
version = Parameter("2.16.0", help="Libva version.")
|
|
13
|
+
requires_git = ["git:url=https://github.com/intel/libva.git,rev={version}"]
|
|
14
|
+
requires_libdrm = ["libdrm"]
|
|
15
|
+
srcdir = "{git[libva]}"
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
TaskRegistry.get().add_task_class(Libva)
|
jolt/pkgs/libvorbis.py
ADDED
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
from jolt import attributes, BooleanParameter, Parameter
|
|
2
|
+
from jolt.pkgs import cmake, libogg
|
|
3
|
+
from jolt.plugins import git, cmake, pkgconfig
|
|
4
|
+
from jolt.tasks import TaskRegistry
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
@attributes.requires("requires_git")
|
|
8
|
+
@attributes.requires("requires_ogg")
|
|
9
|
+
@cmake.requires()
|
|
10
|
+
@cmake.use_ninja()
|
|
11
|
+
@pkgconfig.requires()
|
|
12
|
+
class Libvorbis(cmake.CMake):
|
|
13
|
+
name = "libvorbis"
|
|
14
|
+
version = Parameter("1.3.7", help="libvorbis version.")
|
|
15
|
+
shared = BooleanParameter(False, help="Build shared libraries.")
|
|
16
|
+
requires_git = ["git:url=https://github.com/xiph/vorbis.git,rev=v{version}"]
|
|
17
|
+
requires_ogg = ["libogg"]
|
|
18
|
+
srcdir = "{git[vorbis]}"
|
|
19
|
+
options = [
|
|
20
|
+
"BUILD_SHARED_LIBS={shared[ON,OFF]}",
|
|
21
|
+
"CMAKE_POLICY_VERSION_MINIMUM=3.5",
|
|
22
|
+
]
|
|
23
|
+
|
|
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("vorbis")
|
|
29
|
+
artifact.cxxinfo.libraries.append("vorbisenc")
|
|
30
|
+
artifact.cxxinfo.libraries.append("vorbisfile")
|
|
31
|
+
|
|
32
|
+
|
|
33
|
+
TaskRegistry.get().add_task_class(Libvorbis)
|
jolt/pkgs/libxml2.py
ADDED
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
from jolt import attributes, BooleanParameter, Parameter
|
|
2
|
+
from jolt.pkgs import cmake
|
|
3
|
+
from jolt.plugins import git, cmake
|
|
4
|
+
from jolt.tasks import TaskRegistry
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
@attributes.requires("requires_git")
|
|
8
|
+
@attributes.system
|
|
9
|
+
@cmake.requires()
|
|
10
|
+
@cmake.use_ninja()
|
|
11
|
+
class Libxml2(cmake.CMake):
|
|
12
|
+
name = "libxml2"
|
|
13
|
+
version = Parameter("2.15.1", help="Libxml2 version.")
|
|
14
|
+
shared = BooleanParameter(False, "Enable shared libraries.")
|
|
15
|
+
requires_git = ["git:url=https://gitlab.gnome.org/GNOME/libxml2.git,rev=v{version}"]
|
|
16
|
+
|
|
17
|
+
srcdir = "{git[libxml2]}"
|
|
18
|
+
options = [
|
|
19
|
+
"BUILD_SHARED_LIBS={shared[ON,OFF]}",
|
|
20
|
+
"LIBXML2_WITH_ICONV=OFF",
|
|
21
|
+
]
|
|
22
|
+
|
|
23
|
+
def publish(self, artifact, tools):
|
|
24
|
+
super().publish(artifact, tools)
|
|
25
|
+
artifact.cxxinfo.incpaths.append("include")
|
|
26
|
+
artifact.cxxinfo.libpaths.append("lib")
|
|
27
|
+
if self.system == "windows":
|
|
28
|
+
artifact.cxxinfo.libraries.append("libxml2{shared[,s]}")
|
|
29
|
+
else:
|
|
30
|
+
artifact.cxxinfo.libraries.append("xml2")
|
|
31
|
+
artifact.cxxinfo.libraries.append("m")
|
|
32
|
+
artifact.cxxinfo.libraries.append("dl")
|
|
33
|
+
|
|
34
|
+
|
|
35
|
+
TaskRegistry.get().add_task_class(Libxml2)
|
jolt/pkgs/libxslt.py
ADDED
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
from jolt import attributes, Parameter
|
|
2
|
+
from jolt.pkgs import cmake, libxml2
|
|
3
|
+
from jolt.plugins import cmake, git
|
|
4
|
+
from jolt.tasks import TaskRegistry
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
@attributes.requires("requires_git")
|
|
8
|
+
@attributes.requires("requires_libxml2")
|
|
9
|
+
class Libxslt(cmake.CMake):
|
|
10
|
+
name = "libxslt"
|
|
11
|
+
version = Parameter("1.1.45", help="libxslt version.")
|
|
12
|
+
requires_git = ["git:url=https://gitlab.gnome.org/GNOME/libxslt.git,rev=v{version}"]
|
|
13
|
+
requires_libxml2 = ["libxml2"]
|
|
14
|
+
srcdir = "{git[libxslt]}"
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
TaskRegistry.get().add_task_class(Libxslt)
|
jolt/pkgs/libyajl.py
ADDED
|
@@ -0,0 +1,16 @@
|
|
|
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(version="3.31.1")
|
|
9
|
+
class Libyajl(cmake.CMake):
|
|
10
|
+
name = "libyajl"
|
|
11
|
+
version = Parameter("2.1.0", help="libyajl version.")
|
|
12
|
+
requires_git = ["git:url=https://github.com/lloyd/yajl.git,rev={version}"]
|
|
13
|
+
srcdir = "{git[yajl]}"
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
TaskRegistry.get().add_task_class(Libyajl)
|
jolt/pkgs/llvm.py
ADDED
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
from jolt import Alias, BooleanParameter, Download, ListParameter, Parameter, Task, attributes
|
|
2
|
+
from jolt.pkgs import cmake, ninja
|
|
3
|
+
from jolt.plugins import git, cmake
|
|
4
|
+
from jolt.tasks import TaskRegistry
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
VERSION = "21.1.8"
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
@attributes.common_metadata()
|
|
11
|
+
class LLVMFromBin(Download):
|
|
12
|
+
name = "llvm/bin"
|
|
13
|
+
version = Parameter("21.1.0", help="LLVM version.")
|
|
14
|
+
url = [
|
|
15
|
+
"https://github.com/llvm/llvm-project/releases/download/llvmorg-{version}/LLVM-{version}-Linux-X64.tar.xz"
|
|
16
|
+
]
|
|
17
|
+
|
|
18
|
+
collect = [{"files": "*", "cwd": "LLVM-{version}-Linux-X64"}]
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
@attributes.requires("requires_git")
|
|
22
|
+
@attributes.requires("requires_ninja")
|
|
23
|
+
@cmake.requires()
|
|
24
|
+
@cmake.use_ninja()
|
|
25
|
+
class LLVMFromSrc(cmake.CMake):
|
|
26
|
+
name = "llvm/src"
|
|
27
|
+
|
|
28
|
+
projects = ListParameter(
|
|
29
|
+
["clang", "clang-tools-extra", "lld", "libclc"],
|
|
30
|
+
values=[
|
|
31
|
+
"clang",
|
|
32
|
+
"clang-tools-extra",
|
|
33
|
+
"lld",
|
|
34
|
+
"libclc",
|
|
35
|
+
"libcxx",
|
|
36
|
+
"libcxxabi",
|
|
37
|
+
"compiler-rt",
|
|
38
|
+
"openmp",
|
|
39
|
+
"polly",
|
|
40
|
+
],
|
|
41
|
+
help="LLVM projects to build.",
|
|
42
|
+
)
|
|
43
|
+
release = BooleanParameter(True, help="Build a release version.")
|
|
44
|
+
rtti = BooleanParameter(True, help="Enable RTTI support.")
|
|
45
|
+
targets = ListParameter(
|
|
46
|
+
["X86", "ARM", "AArch64", "RISCV", "AMDGPU"],
|
|
47
|
+
values=["X86", "AMDGPU", "ARM", "AArch64", "RISCV", "Mips", "PowerPC", "SystemZ"],
|
|
48
|
+
help="LLVM targets to build.",
|
|
49
|
+
)
|
|
50
|
+
version = Parameter(VERSION, help="LLVM version.")
|
|
51
|
+
|
|
52
|
+
requires_ninja = ["ninja"]
|
|
53
|
+
requires_git = ["git:url=https://github.com/llvm/llvm-project.git,rev=llvmorg-{version}"]
|
|
54
|
+
|
|
55
|
+
options = [
|
|
56
|
+
"CMAKE_BUILD_TYPE={release[Release,Debug]}",
|
|
57
|
+
"LLVM_ENABLE_PROJECTS='{_projects_str}'",
|
|
58
|
+
"LLVM_TARGETS_TO_BUILD='{_targets_str}'",
|
|
59
|
+
"LLVM_ENABLE_RTTI={rtti[ON,OFF]}",
|
|
60
|
+
]
|
|
61
|
+
|
|
62
|
+
srcdir = "{git[llvm-project]}/llvm"
|
|
63
|
+
|
|
64
|
+
@property
|
|
65
|
+
def _projects_str(self):
|
|
66
|
+
return ";".join(self.projects)
|
|
67
|
+
|
|
68
|
+
@property
|
|
69
|
+
def _targets_str(self):
|
|
70
|
+
return ";".join(self.targets)
|
|
71
|
+
|
|
72
|
+
|
|
73
|
+
class LLVM(Alias):
|
|
74
|
+
name = "llvm"
|
|
75
|
+
version = Parameter(VERSION, help="LLVM version.")
|
|
76
|
+
requires = ["llvm/src:version={version},release=true"]
|
|
77
|
+
|
|
78
|
+
|
|
79
|
+
TaskRegistry.get().add_task_class(LLVMFromBin)
|
|
80
|
+
TaskRegistry.get().add_task_class(LLVMFromSrc)
|
|
81
|
+
TaskRegistry.get().add_task_class(LLVM)
|
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)
|