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/cli11.py
ADDED
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
from jolt import attributes, Parameter
|
|
2
|
+
from jolt.plugins import cmake, fetch
|
|
3
|
+
from jolt.tasks import TaskRegistry
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
@attributes.requires("requires_src")
|
|
7
|
+
@cmake.requires()
|
|
8
|
+
@cmake.use_ninja()
|
|
9
|
+
class CLI11(cmake.CMake):
|
|
10
|
+
name = "cli11"
|
|
11
|
+
version = Parameter("2.6.1", help="CLI11 version.")
|
|
12
|
+
requires_src = ["fetch:alias=src,url=https://github.com/CLIUtils/CLI11/archive/refs/tags/v{version}.tar.gz"]
|
|
13
|
+
srcdir = "{fetch[src]}/CLI11-{version}"
|
|
14
|
+
options = [
|
|
15
|
+
"CLI11_BUILD_TESTS=OFF",
|
|
16
|
+
]
|
|
17
|
+
|
|
18
|
+
def publish(self, artifact, tools):
|
|
19
|
+
super().publish(artifact, tools)
|
|
20
|
+
artifact.cxxinfo.incpaths.append("include")
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
TaskRegistry.get().add_task_class(CLI11)
|
jolt/pkgs/cmake.py
ADDED
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
from jolt import attributes, Alias, Download, Parameter
|
|
2
|
+
from jolt.tasks import TaskRegistry
|
|
3
|
+
|
|
4
|
+
|
|
5
|
+
@attributes.arch
|
|
6
|
+
@attributes.system
|
|
7
|
+
@attributes.common_metadata()
|
|
8
|
+
class CMakeBin(Download):
|
|
9
|
+
name = "cmake/bin"
|
|
10
|
+
version = Parameter("4.2.1", help="CMake version.")
|
|
11
|
+
url = ["https://github.com/Kitware/CMake/releases/download/v{version}/cmake-{version}-{cmake_system}-{cmake_arch}{cmake_ext}"]
|
|
12
|
+
collect = [{"files": "*", "cwd": "cmake-{version}-{cmake_system}-{cmake_arch}{cmake_contents}"}]
|
|
13
|
+
|
|
14
|
+
@property
|
|
15
|
+
def cmake_arch(self):
|
|
16
|
+
if self.system == "darwin":
|
|
17
|
+
return "universal"
|
|
18
|
+
if self.arch == "amd64":
|
|
19
|
+
return "x86_64"
|
|
20
|
+
return self.arch
|
|
21
|
+
|
|
22
|
+
@property
|
|
23
|
+
def cmake_ext(self):
|
|
24
|
+
if self.system == "windows":
|
|
25
|
+
return ".zip"
|
|
26
|
+
return ".tar.gz"
|
|
27
|
+
|
|
28
|
+
@property
|
|
29
|
+
def cmake_system(self):
|
|
30
|
+
if self.system == "darwin":
|
|
31
|
+
return "macos"
|
|
32
|
+
return self.system
|
|
33
|
+
|
|
34
|
+
@property
|
|
35
|
+
def cmake_contents(self):
|
|
36
|
+
if self.system == "darwin":
|
|
37
|
+
return "/CMake.app/Contents"
|
|
38
|
+
return ""
|
|
39
|
+
|
|
40
|
+
|
|
41
|
+
class CMake(Alias):
|
|
42
|
+
name = "cmake"
|
|
43
|
+
version = Parameter("4.2.1", help="CMake version.")
|
|
44
|
+
requires = ["cmake/bin:version={version}"]
|
|
45
|
+
|
|
46
|
+
|
|
47
|
+
TaskRegistry.get().add_task_class(CMake)
|
|
48
|
+
TaskRegistry.get().add_task_class(CMakeBin)
|
jolt/pkgs/cpython.py
ADDED
|
@@ -0,0 +1,196 @@
|
|
|
1
|
+
from jolt import attributes, Alias, BooleanParameter, Parameter, Task
|
|
2
|
+
from jolt.pkgs import libffi, sqlite, ssl, zlib, zstd, xz
|
|
3
|
+
from jolt.plugins import autotools, git, pkgconfig
|
|
4
|
+
from jolt.tasks import TaskRegistry
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
def _unpack_adjust_scripts(artifact, tools):
|
|
8
|
+
bindir = "Scripts" if artifact.strings.system == "windows" else "bin"
|
|
9
|
+
|
|
10
|
+
with tools.cwd(artifact.path, bindir):
|
|
11
|
+
# Adjust paths in scripts
|
|
12
|
+
for script in tools.glob("*"):
|
|
13
|
+
# Ignore python executables
|
|
14
|
+
if script.startswith("python"):
|
|
15
|
+
continue
|
|
16
|
+
tools.replace_in_file(script, artifact.strings.install_prefix, artifact.final_path)
|
|
17
|
+
|
|
18
|
+
artifact.strings.install_prefix = artifact.final_path
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
@attributes.requires("requires_git")
|
|
22
|
+
@attributes.requires("requires_libffi_{libffi[on,off]}")
|
|
23
|
+
@attributes.requires("requires_sqlite_{sqlite[on,off]}")
|
|
24
|
+
@attributes.requires("requires_ssl_{ssl[on,off]}")
|
|
25
|
+
@attributes.requires("requires_zlib_{zlib[on,off]}")
|
|
26
|
+
@attributes.requires("requires_zstd_{zstd[on,off]}")
|
|
27
|
+
@attributes.requires("requires_xz_{xz[on,off]}")
|
|
28
|
+
@pkgconfig.requires()
|
|
29
|
+
class CPythonPosix(autotools.Autotools):
|
|
30
|
+
""" Builds and publishes CPython libraries and headers. """
|
|
31
|
+
|
|
32
|
+
name = "cpython/posix"
|
|
33
|
+
version = Parameter("3.14.2", help="CPython version.")
|
|
34
|
+
libffi = BooleanParameter(True, help="Enable libffi support")
|
|
35
|
+
sqlite = BooleanParameter(True, help="Enable SQLite support")
|
|
36
|
+
ssl = BooleanParameter(True, help="Enable SSL support")
|
|
37
|
+
zlib = BooleanParameter(True, help="Enable zlib support")
|
|
38
|
+
zstd = BooleanParameter(True, help="Enable zstd support")
|
|
39
|
+
xz = BooleanParameter(True, help="Enable xz support")
|
|
40
|
+
requires_git = ["git:url=https://github.com/python/cpython.git,rev=v{version}"]
|
|
41
|
+
requires_libffi_on = ["libffi"]
|
|
42
|
+
requires_sqlite_on = ["sqlite"]
|
|
43
|
+
requires_ssl_on = ["virtual/ssl"]
|
|
44
|
+
requires_zlib_on = ["virtual/zlib"]
|
|
45
|
+
requires_zstd_on = ["zstd"]
|
|
46
|
+
requires_xz_on = ["xz:pic=true"]
|
|
47
|
+
srcdir = "{git[cpython]}"
|
|
48
|
+
options = [
|
|
49
|
+
"--enable-optimizations",
|
|
50
|
+
"--with-ensurepip=install",
|
|
51
|
+
]
|
|
52
|
+
|
|
53
|
+
@property
|
|
54
|
+
def version_major(self):
|
|
55
|
+
ver = str(self.version).split(".")
|
|
56
|
+
return f"{ver[0]}.{ver[1]}"
|
|
57
|
+
|
|
58
|
+
def publish(self, artifact, tools):
|
|
59
|
+
super().publish(artifact, tools)
|
|
60
|
+
artifact.strings.version = str(self.version)
|
|
61
|
+
artifact.strings.version_major = str(self.version_major)
|
|
62
|
+
|
|
63
|
+
def unpack(self, artifact, tools):
|
|
64
|
+
super().unpack(artifact, tools)
|
|
65
|
+
_unpack_adjust_scripts(artifact, tools)
|
|
66
|
+
|
|
67
|
+
|
|
68
|
+
@attributes.requires("requires_git")
|
|
69
|
+
@attributes.requires("requires_ssl_{ssl[on,off]}")
|
|
70
|
+
@attributes.common_metadata()
|
|
71
|
+
class CPythonWin32(Task):
|
|
72
|
+
""" Builds and publishes CPython libraries and headers. """
|
|
73
|
+
|
|
74
|
+
name = "cpython/win32"
|
|
75
|
+
version = Parameter("3.14.2", help="CPython version.")
|
|
76
|
+
ssl = BooleanParameter(True, help="Enable SSL support")
|
|
77
|
+
requires_git = ["git:url=https://github.com/python/cpython.git,rev=v{version}"]
|
|
78
|
+
requires_ssl_on = ["virtual/ssl"]
|
|
79
|
+
srcdir = "{git[cpython]}"
|
|
80
|
+
|
|
81
|
+
@property
|
|
82
|
+
def version_major(self):
|
|
83
|
+
ver = str(self.version).split(".")
|
|
84
|
+
return f"{ver[0]}.{ver[1]}"
|
|
85
|
+
|
|
86
|
+
@property
|
|
87
|
+
def version_major_compact(self):
|
|
88
|
+
ver = str(self.version).split(".")
|
|
89
|
+
return f"{ver[0]}{ver[1]}"
|
|
90
|
+
|
|
91
|
+
def run(self, deps, tools):
|
|
92
|
+
with tools.cwd(self.srcdir, "PCbuild"):
|
|
93
|
+
tools.run("build.bat")
|
|
94
|
+
|
|
95
|
+
def publish(self, artifact, tools):
|
|
96
|
+
artifact.environ.CMAKE_PREFIX_PATH.append(".")
|
|
97
|
+
artifact.strings.version = str(self.version)
|
|
98
|
+
artifact.strings.version_major = str(self.version_major)
|
|
99
|
+
with tools.cwd(self.srcdir):
|
|
100
|
+
artifact.collect("Include", "include")
|
|
101
|
+
artifact.collect("Lib", "lib")
|
|
102
|
+
with tools.cwd(self.srcdir, "PCbuild", "amd64"):
|
|
103
|
+
artifact.collect("python.exe", "bin/python3.exe")
|
|
104
|
+
artifact.collect("python.exe", "bin/python{version_major}.exe")
|
|
105
|
+
artifact.collect("*.dll", "bin/")
|
|
106
|
+
artifact.collect("*.lib", "lib/")
|
|
107
|
+
with tools.tmpdir() as tmp, tools.cwd(tmp):
|
|
108
|
+
tools.write_file(
|
|
109
|
+
"python3.pc",
|
|
110
|
+
"""
|
|
111
|
+
# See: man pkg-config
|
|
112
|
+
prefix=${{pcfiledir}}/../..
|
|
113
|
+
exec_prefix=${{prefix}}/bin
|
|
114
|
+
libdir=${{prefix}}/lib
|
|
115
|
+
includedir=${{prefix}}/include
|
|
116
|
+
|
|
117
|
+
Name: Python
|
|
118
|
+
Description: Build a C extension for Python
|
|
119
|
+
Version: {version}-{identity}
|
|
120
|
+
Libs: -L${{libdir}} -lpython3
|
|
121
|
+
Cflags: -I${{includedir}}
|
|
122
|
+
""")
|
|
123
|
+
tools.write_file(
|
|
124
|
+
"python3-embed.pc",
|
|
125
|
+
"""
|
|
126
|
+
# See: man pkg-config
|
|
127
|
+
prefix=${{pcfiledir}}/../..
|
|
128
|
+
exec_prefix=${{prefix}}/bin
|
|
129
|
+
libdir=${{prefix}}/lib
|
|
130
|
+
includedir=${{prefix}}/include
|
|
131
|
+
|
|
132
|
+
Name: Python
|
|
133
|
+
Description: Embed Python into an application
|
|
134
|
+
Version: {version}-{identity}
|
|
135
|
+
Libs: -L${{libdir}} -lpython{version_major_compact}
|
|
136
|
+
Cflags: -I${{includedir}}
|
|
137
|
+
""")
|
|
138
|
+
artifact.collect("*.pc", "lib/pkgconfig/")
|
|
139
|
+
|
|
140
|
+
def unpack(self, artifact, tools):
|
|
141
|
+
super().unpack(artifact, tools)
|
|
142
|
+
_unpack_adjust_scripts(artifact, tools)
|
|
143
|
+
|
|
144
|
+
|
|
145
|
+
@attributes.requires("requires_{system}")
|
|
146
|
+
@attributes.system
|
|
147
|
+
class CPython(Alias):
|
|
148
|
+
""" Alias for CPython """
|
|
149
|
+
name = "cpython"
|
|
150
|
+
version = Parameter("3.14.2", help="CPython version.")
|
|
151
|
+
requires_darwin = ["cpython/posix:version={version}"]
|
|
152
|
+
requires_linux = requires_darwin
|
|
153
|
+
requires_windows = ["cpython/win32:version={version}"]
|
|
154
|
+
|
|
155
|
+
|
|
156
|
+
@pkgconfig.to_cxxinfo("python3-embed")
|
|
157
|
+
@attributes.common_metadata()
|
|
158
|
+
@attributes.system
|
|
159
|
+
@pkgconfig.requires()
|
|
160
|
+
class CPythonEmbed(Task):
|
|
161
|
+
name = "cpython/embed"
|
|
162
|
+
requires = ["cpython"]
|
|
163
|
+
selfsustained = True
|
|
164
|
+
|
|
165
|
+
def run(self, deps, tools):
|
|
166
|
+
name = "cpython/win32" if self.system == "windows" else "cpython/posix"
|
|
167
|
+
self.cpython = deps[name]
|
|
168
|
+
|
|
169
|
+
def publish(self, artifact, tools):
|
|
170
|
+
with tools.cwd(self.cpython.path):
|
|
171
|
+
artifact.collect("*", symlinks=True)
|
|
172
|
+
|
|
173
|
+
|
|
174
|
+
@pkgconfig.to_cxxinfo("python3")
|
|
175
|
+
@attributes.common_metadata()
|
|
176
|
+
@attributes.system
|
|
177
|
+
@pkgconfig.requires()
|
|
178
|
+
class CPythonExtend(Task):
|
|
179
|
+
name = "cpython/extend"
|
|
180
|
+
requires = ["cpython"]
|
|
181
|
+
selfsustained = True
|
|
182
|
+
|
|
183
|
+
def run(self, deps, tools):
|
|
184
|
+
name = "cpython/win32" if self.system == "windows" else "cpython/posix"
|
|
185
|
+
self.cpython = deps[name]
|
|
186
|
+
|
|
187
|
+
def publish(self, artifact, tools):
|
|
188
|
+
with tools.cwd(self.cpython.path):
|
|
189
|
+
artifact.collect("*", symlinks=True)
|
|
190
|
+
|
|
191
|
+
|
|
192
|
+
TaskRegistry.get().add_task_class(CPythonPosix)
|
|
193
|
+
TaskRegistry.get().add_task_class(CPythonWin32)
|
|
194
|
+
TaskRegistry.get().add_task_class(CPython)
|
|
195
|
+
TaskRegistry.get().add_task_class(CPythonEmbed)
|
|
196
|
+
TaskRegistry.get().add_task_class(CPythonExtend)
|
jolt/pkgs/crun.py
ADDED
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
from jolt import attributes, BooleanParameter, Parameter
|
|
2
|
+
from jolt.pkgs import libcap
|
|
3
|
+
from jolt.plugins import git, autotools, pkgconfig
|
|
4
|
+
from jolt.tasks import TaskRegistry
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
@attributes.requires("requires_git")
|
|
8
|
+
@attributes.requires("requires_libcap_{caps[on,off]}")
|
|
9
|
+
@autotools.requires()
|
|
10
|
+
@pkgconfig.requires()
|
|
11
|
+
class CRun(autotools.Autotools):
|
|
12
|
+
name = "crun"
|
|
13
|
+
version = Parameter("1.26", help="crun version.")
|
|
14
|
+
caps = BooleanParameter(False, help="Enable capabilities support.")
|
|
15
|
+
systemd = BooleanParameter(False, help="Enable systemd support.")
|
|
16
|
+
requires_git = ["git:url=https://github.com/containers/crun.git,rev={version},submodules=true"]
|
|
17
|
+
requires_caps_on = ["libcap"]
|
|
18
|
+
srcdir = "{git[crun]}"
|
|
19
|
+
options = [
|
|
20
|
+
# Unable to get ./configure to pick these up from pkg-config
|
|
21
|
+
"--disable-criu",
|
|
22
|
+
"--disable-seccomp",
|
|
23
|
+
"--enable-embedded-yajl",
|
|
24
|
+
"{caps[,--disable-caps]}",
|
|
25
|
+
"{systemd[,--disable-systemd]}",
|
|
26
|
+
]
|
|
27
|
+
|
|
28
|
+
|
|
29
|
+
TaskRegistry.get().add_task_class(CRun)
|
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)
|