-
Notifications
You must be signed in to change notification settings - Fork 70
Expand file tree
/
Copy pathCross.toml
More file actions
36 lines (29 loc) · 1.53 KB
/
Copy pathCross.toml
File metadata and controls
36 lines (29 loc) · 1.53 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
# Cross containers
#
# These containers are used in conjunction with [cross](https://github.com/cross-rs/cross) to build Pulsar in a reproducible way without worrying about system dependencies.
#
# Containers are based on the default [cross containers](https://github.com/orgs/cross-rs/packages) built from `Ubuntu 20.04 LTS`, with the addition of:
#
# - `Clang/LLVM 20`
# - `libssl-dev` speficic for the target architecture, example `libssl-dev:arm64`
# - `libsqlite3-dev` speficic for the target architecture, example `libsqlite3-dev:arm64`
[build.env]
passthrough = ["DEBIAN_FRONTEND=noninteractive", "TZ=Etc/UTC"]
[build]
pre-build = [
# give tzdata the file it expects
"echo $TZ > /etc/timezone && ln -snf /usr/share/zoneinfo/$TZ /etc/localtime",
# "printenv",
# enable the right foreign architecture (safe even when it's the host arch)
"echo $CROSS_CMAKE_CRT | grep -qv musl && dpkg --add-architecture $CROSS_DEB_ARCH",
# update package lists
"apt-get update",
# common tooling + dev libraries
"apt-get install -y --no-install-recommends lsb-release wget software-properties-common gnupg",
# pre acrh dep (safe musl not found)
"echo $CROSS_CMAKE_CRT | grep -qv musl && apt-get install -y --no-install-recommends libssl-dev:$CROSS_DEB_ARCH libsqlite3-dev:$CROSS_DEB_ARCH",
# install LLVM/Clang 20 exactly once
"wget -q https://apt.llvm.org/llvm.sh && chmod +x llvm.sh && ./llvm.sh 20",
"ln -sf /usr/bin/clang-20 /usr/bin/clang",
"ln -sf /usr/bin/llvm-strip-20 /usr/bin/llvm-strip",
]