539 lines
12 KiB
Makefile
539 lines
12 KiB
Makefile
PORTNAME= cairo
|
|
DISTVERSIONPREFIX= v
|
|
DISTVERSION= 2.19.2
|
|
CATEGORIES= lang
|
|
PKGNAMESUFFIX= -language
|
|
|
|
MAINTAINER= yuri@FreeBSD.org
|
|
COMMENT= Turing-complete language for creating provable programs
|
|
WWW= https://www.cairo-lang.org/ \
|
|
https://cairo-by-example.com/ \
|
|
https://github.com/starkware-libs/cairo
|
|
|
|
LICENSE= APACHE20
|
|
LICENSE_FILE= ${WRKSRC}/LICENSE
|
|
|
|
BROKEN_i386= compilation fails: error: undefined symbol: __atomic_load
|
|
|
|
BUILD_DEPENDS= gmake:devel/gmake
|
|
LIB_DEPENDS= libzstd.so:archivers/zstd
|
|
|
|
USES= cargo perl5 pkgconfig
|
|
USE_PERL5= build
|
|
|
|
USE_GITHUB= yes
|
|
GH_ACCOUNT= starkware-libs
|
|
|
|
CARGO_CRATES= addr2line-0.25.1 \
|
|
adler2-2.0.1 \
|
|
ahash-0.8.12 \
|
|
aho-corasick-1.1.4 \
|
|
alloca-0.4.0 \
|
|
allocator-api2-0.2.21 \
|
|
anes-0.1.6 \
|
|
anstream-1.0.0 \
|
|
anstyle-1.0.14 \
|
|
anstyle-parse-1.0.0 \
|
|
anstyle-query-1.1.5 \
|
|
anstyle-wincon-3.0.11 \
|
|
anyhow-1.0.102 \
|
|
ark-ec-0.6.0 \
|
|
ark-ff-0.6.0 \
|
|
ark-ff-asm-0.6.0 \
|
|
ark-ff-macros-0.6.0 \
|
|
ark-poly-0.6.0 \
|
|
ark-secp256k1-0.6.0 \
|
|
ark-secp256r1-0.6.0 \
|
|
ark-serialize-0.6.0 \
|
|
ark-serialize-derive-0.6.0 \
|
|
ark-std-0.6.0 \
|
|
arrayvec-0.7.6 \
|
|
ascii-canvas-4.0.0 \
|
|
assert_matches-1.5.0 \
|
|
async-channel-2.5.0 \
|
|
atomic-polyfill-1.0.3 \
|
|
atomic-waker-1.1.2 \
|
|
autocfg-1.5.1 \
|
|
aws-lc-rs-1.17.0 \
|
|
aws-lc-sys-0.41.0 \
|
|
backtrace-0.3.76 \
|
|
base64-0.22.1 \
|
|
bimap-0.6.3 \
|
|
bit-set-0.9.1 \
|
|
bit-vec-0.9.1 \
|
|
bitflags-2.12.1 \
|
|
bitvec-1.0.1 \
|
|
blake2-0.10.6 \
|
|
block-buffer-0.10.4 \
|
|
block-buffer-0.12.0 \
|
|
borsh-1.6.1 \
|
|
boxcar-0.2.14 \
|
|
bstr-1.12.1 \
|
|
bumpalo-3.20.3 \
|
|
byte-slice-cast-1.2.3 \
|
|
byteorder-1.5.0 \
|
|
bytes-1.11.1 \
|
|
cairo-lang-primitive-token-1.0.0 \
|
|
cairo-vm-3.2.0 \
|
|
cast-0.3.0 \
|
|
cc-1.2.63 \
|
|
cfg-if-1.0.4 \
|
|
cfg_aliases-0.2.1 \
|
|
chacha20-0.10.0 \
|
|
ciborium-0.2.2 \
|
|
ciborium-io-0.2.2 \
|
|
ciborium-ll-0.2.2 \
|
|
clap-4.6.1 \
|
|
clap_builder-4.6.0 \
|
|
clap_derive-4.6.1 \
|
|
clap_lex-1.1.0 \
|
|
cmake-0.1.58 \
|
|
cobs-0.3.0 \
|
|
colorchoice-1.0.5 \
|
|
colored-3.1.1 \
|
|
combine-4.6.7 \
|
|
concurrent-queue-2.5.0 \
|
|
console-0.16.3 \
|
|
const-fnv1a-hash-1.1.0 \
|
|
const-oid-0.10.2 \
|
|
const_format-0.2.36 \
|
|
const_format_proc_macros-0.2.34 \
|
|
convert_case-0.11.0 \
|
|
core-foundation-0.9.4 \
|
|
core-foundation-0.10.1 \
|
|
core-foundation-sys-0.8.7 \
|
|
cpufeatures-0.2.17 \
|
|
cpufeatures-0.3.0 \
|
|
crc32fast-1.5.0 \
|
|
criterion-0.8.2 \
|
|
criterion-plot-0.8.2 \
|
|
critical-section-1.2.0 \
|
|
crossbeam-deque-0.8.6 \
|
|
crossbeam-epoch-0.9.18 \
|
|
crossbeam-queue-0.3.12 \
|
|
crossbeam-utils-0.8.21 \
|
|
crunchy-0.2.4 \
|
|
crypto-bigint-0.5.5 \
|
|
crypto-common-0.1.7 \
|
|
crypto-common-0.2.2 \
|
|
deranged-0.5.8 \
|
|
derivative-2.2.0 \
|
|
dhat-0.3.3 \
|
|
diff-0.1.13 \
|
|
diffy-0.5.0 \
|
|
digest-0.10.7 \
|
|
digest-0.11.3 \
|
|
displaydoc-0.2.6 \
|
|
dissimilar-1.0.11 \
|
|
dunce-1.0.5 \
|
|
dyn-clone-1.0.20 \
|
|
educe-0.6.0 \
|
|
either-1.16.0 \
|
|
embedded-io-0.4.0 \
|
|
embedded-io-0.6.1 \
|
|
ena-0.14.4 \
|
|
encode_unicode-1.0.0 \
|
|
encoding_rs-0.8.35 \
|
|
enum-ordinalize-4.3.2 \
|
|
enum-ordinalize-derive-4.3.2 \
|
|
equivalent-1.0.2 \
|
|
erased-serde-0.4.10 \
|
|
errno-0.3.14 \
|
|
event-listener-5.4.1 \
|
|
event-listener-strategy-0.5.4 \
|
|
expect-test-1.5.1 \
|
|
find-msvc-tools-0.1.9 \
|
|
fixedbitset-0.5.7 \
|
|
flate2-1.1.9 \
|
|
fnv-1.0.7 \
|
|
foldhash-0.1.5 \
|
|
foldhash-0.2.0 \
|
|
foreign-types-0.3.2 \
|
|
foreign-types-shared-0.1.1 \
|
|
form_urlencoded-1.2.2 \
|
|
fs_extra-1.3.0 \
|
|
funty-2.0.0 \
|
|
futures-channel-0.3.32 \
|
|
futures-core-0.3.32 \
|
|
futures-macro-0.3.32 \
|
|
futures-sink-0.3.32 \
|
|
futures-task-0.3.32 \
|
|
futures-timer-3.0.4 \
|
|
futures-util-0.3.32 \
|
|
genco-0.19.0 \
|
|
genco-macros-0.19.0 \
|
|
generic-array-0.14.7 \
|
|
getopts-0.2.24 \
|
|
getrandom-0.2.17 \
|
|
getrandom-0.3.4 \
|
|
getrandom-0.4.2 \
|
|
gimli-0.32.3 \
|
|
glob-0.3.3 \
|
|
globset-0.4.18 \
|
|
good_lp-1.15.2 \
|
|
h2-0.4.14 \
|
|
half-2.7.1 \
|
|
hash32-0.2.1 \
|
|
hashbrown-0.15.5 \
|
|
hashbrown-0.17.1 \
|
|
hashlink-0.10.0 \
|
|
heapless-0.7.17 \
|
|
heck-0.5.0 \
|
|
hex-0.4.3 \
|
|
hmac-0.12.1 \
|
|
http-1.4.1 \
|
|
http-body-1.0.1 \
|
|
http-body-util-0.1.3 \
|
|
httparse-1.10.1 \
|
|
hybrid-array-0.4.12 \
|
|
hyper-1.10.1 \
|
|
hyper-rustls-0.27.9 \
|
|
hyper-util-0.1.20 \
|
|
icu_collections-2.2.0 \
|
|
icu_locale_core-2.2.0 \
|
|
icu_normalizer-2.2.0 \
|
|
icu_normalizer_data-2.2.0 \
|
|
icu_properties-2.2.0 \
|
|
icu_properties_data-2.2.0 \
|
|
icu_provider-2.2.0 \
|
|
id-arena-2.3.0 \
|
|
idna-1.1.0 \
|
|
idna_adapter-1.2.2 \
|
|
ignore-0.4.25 \
|
|
impl-trait-for-tuples-0.2.3 \
|
|
indent-0.1.1 \
|
|
indexmap-2.14.0 \
|
|
indicatif-0.18.4 \
|
|
indoc-2.0.7 \
|
|
intrusive-collections-0.9.7 \
|
|
inventory-0.3.24 \
|
|
ipnet-2.12.0 \
|
|
is_terminal_polyfill-1.70.2 \
|
|
itertools-0.13.0 \
|
|
itertools-0.14.0 \
|
|
itoa-1.0.18 \
|
|
jni-0.22.4 \
|
|
jni-macros-0.22.4 \
|
|
jni-sys-0.4.1 \
|
|
jni-sys-macros-0.4.1 \
|
|
jobserver-0.1.34 \
|
|
js-sys-0.3.99 \
|
|
keccak-0.1.6 \
|
|
keccak-0.2.0 \
|
|
konst-0.2.20 \
|
|
konst_macro_rules-0.2.19 \
|
|
lalrpop-0.23.1 \
|
|
lalrpop-util-0.23.1 \
|
|
lambdaworks-crypto-0.13.0 \
|
|
lambdaworks-math-0.13.0 \
|
|
lazy_static-1.5.0 \
|
|
leb128fmt-0.1.0 \
|
|
libc-0.2.186 \
|
|
libmimalloc-sys-0.1.49 \
|
|
litemap-0.8.2 \
|
|
lock_api-0.4.14 \
|
|
log-0.4.31 \
|
|
lru-0.12.5 \
|
|
lru-slab-0.1.2 \
|
|
matchers-0.2.0 \
|
|
matrixmultiply-0.3.10 \
|
|
memchr-2.8.1 \
|
|
memoffset-0.9.1 \
|
|
microlp-0.4.0 \
|
|
mimalloc-0.1.52 \
|
|
mime-0.3.17 \
|
|
minimal-lexical-0.2.1 \
|
|
miniz_oxide-0.8.9 \
|
|
mintex-0.1.4 \
|
|
mio-1.2.1 \
|
|
ndarray-0.17.2 \
|
|
new_debug_unreachable-1.0.6 \
|
|
nom-7.1.3 \
|
|
nu-ansi-term-0.50.3 \
|
|
num-bigint-0.4.6 \
|
|
num-complex-0.4.6 \
|
|
num-conv-0.2.2 \
|
|
num-integer-0.1.46 \
|
|
num-modular-0.5.1 \
|
|
num-prime-0.4.4 \
|
|
num-traits-0.2.19 \
|
|
object-0.37.3 \
|
|
once_cell-1.21.4 \
|
|
once_cell_polyfill-1.70.2 \
|
|
oorandom-11.1.5 \
|
|
openssl-0.10.80 \
|
|
openssl-macros-0.1.1 \
|
|
openssl-probe-0.2.1 \
|
|
openssl-src-300.6.0+3.6.2 \
|
|
openssl-sys-0.9.116 \
|
|
page_size-0.6.0 \
|
|
parity-scale-codec-3.7.5 \
|
|
parity-scale-codec-derive-3.7.5 \
|
|
parking-2.2.1 \
|
|
parking_lot-0.12.5 \
|
|
parking_lot_core-0.9.12 \
|
|
path-clean-1.0.1 \
|
|
percent-encoding-2.3.2 \
|
|
petgraph-0.8.3 \
|
|
phf_shared-0.13.1 \
|
|
pico-args-0.5.0 \
|
|
pin-project-lite-0.2.17 \
|
|
pkg-config-0.3.33 \
|
|
plotters-0.3.7 \
|
|
plotters-backend-0.3.7 \
|
|
plotters-svg-0.3.7 \
|
|
portable-atomic-1.13.1 \
|
|
portable-atomic-util-0.2.7 \
|
|
postcard-1.1.3 \
|
|
potential_utf-0.1.5 \
|
|
powerfmt-0.2.0 \
|
|
ppv-lite86-0.2.21 \
|
|
precomputed-hash-0.1.1 \
|
|
pretty_assertions-1.4.1 \
|
|
prettyplease-0.2.37 \
|
|
proc-macro-crate-3.5.0 \
|
|
proc-macro2-1.0.106 \
|
|
pulldown-cmark-0.13.4 \
|
|
pulldown-cmark-escape-0.11.0 \
|
|
quinn-0.11.9 \
|
|
quinn-proto-0.11.14 \
|
|
quinn-udp-0.5.14 \
|
|
quote-1.0.45 \
|
|
r-efi-5.3.0 \
|
|
r-efi-6.0.0 \
|
|
radium-0.7.0 \
|
|
rand-0.8.6 \
|
|
rand-0.9.4 \
|
|
rand-0.10.1 \
|
|
rand_chacha-0.3.1 \
|
|
rand_chacha-0.9.0 \
|
|
rand_core-0.6.4 \
|
|
rand_core-0.9.5 \
|
|
rand_core-0.10.1 \
|
|
rawpointer-0.2.1 \
|
|
rayon-1.12.0 \
|
|
rayon-core-1.13.0 \
|
|
redox_syscall-0.5.18 \
|
|
ref-cast-1.0.25 \
|
|
ref-cast-impl-1.0.25 \
|
|
regex-1.12.3 \
|
|
regex-automata-0.4.14 \
|
|
regex-syntax-0.8.10 \
|
|
relative-path-1.9.3 \
|
|
reqwest-0.13.4 \
|
|
rfc6979-0.4.0 \
|
|
ring-0.17.14 \
|
|
rstest-0.26.1 \
|
|
rstest_macros-0.26.1 \
|
|
rust_decimal-1.42.0 \
|
|
rustc-demangle-0.1.27 \
|
|
rustc-hash-1.1.0 \
|
|
rustc-hash-2.1.2 \
|
|
rustc_version-0.4.1 \
|
|
rustls-0.23.40 \
|
|
rustls-native-certs-0.8.4 \
|
|
rustls-pki-types-1.14.1 \
|
|
rustls-platform-verifier-0.7.0 \
|
|
rustls-platform-verifier-android-0.1.1 \
|
|
rustls-webpki-0.103.13 \
|
|
rustversion-1.0.22 \
|
|
salsa-0.26.2 \
|
|
salsa-macro-rules-0.26.2 \
|
|
salsa-macros-0.26.2 \
|
|
same-file-1.0.6 \
|
|
schannel-0.1.29 \
|
|
schemars-1.2.1 \
|
|
schemars_derive-1.2.1 \
|
|
scopeguard-1.2.0 \
|
|
security-framework-3.7.0 \
|
|
security-framework-sys-2.17.0 \
|
|
semver-1.0.28 \
|
|
serde-1.0.228 \
|
|
serde_core-1.0.228 \
|
|
serde_derive-1.0.228 \
|
|
serde_derive_internals-0.29.1 \
|
|
serde_json-1.0.150 \
|
|
serde_spanned-1.1.1 \
|
|
sha2-0.10.9 \
|
|
sha2-0.11.0 \
|
|
sha3-0.10.9 \
|
|
sha3-0.12.0 \
|
|
sharded-slab-0.1.7 \
|
|
shlex-2.0.1 \
|
|
signal-hook-registry-1.4.8 \
|
|
simd-adler32-0.3.9 \
|
|
simd_cesu8-1.1.1 \
|
|
simdutf8-0.1.5 \
|
|
siphasher-1.0.3 \
|
|
slab-0.4.12 \
|
|
smallvec-1.15.1 \
|
|
smol_str-0.3.6 \
|
|
socket2-0.6.4 \
|
|
spin-0.9.8 \
|
|
sponge-cursor-0.1.0 \
|
|
sprs-0.11.4 \
|
|
stable_deref_trait-1.2.1 \
|
|
starknet-crypto-0.8.1 \
|
|
starknet-curve-0.6.0 \
|
|
starknet-types-core-0.2.4 \
|
|
string_cache-0.9.0 \
|
|
strsim-0.11.1 \
|
|
subtle-2.6.1 \
|
|
syn-1.0.109 \
|
|
syn-2.0.117 \
|
|
sync_wrapper-1.0.2 \
|
|
synstructure-0.13.2 \
|
|
system-configuration-0.7.0 \
|
|
system-configuration-sys-0.6.0 \
|
|
tap-1.0.1 \
|
|
term-1.2.1 \
|
|
test-case-3.3.1 \
|
|
test-case-core-3.3.1 \
|
|
test-case-macros-3.3.1 \
|
|
thin-vec-0.2.18 \
|
|
thiserror-2.0.18 \
|
|
thiserror-impl-2.0.18 \
|
|
thousands-0.2.0 \
|
|
thread_local-1.1.9 \
|
|
time-0.3.47 \
|
|
time-core-0.1.8 \
|
|
time-macros-0.2.27 \
|
|
tinystr-0.8.3 \
|
|
tinytemplate-1.2.1 \
|
|
tinyvec-1.11.0 \
|
|
tinyvec_macros-0.1.1 \
|
|
tokio-1.52.3 \
|
|
tokio-macros-2.7.0 \
|
|
tokio-rustls-0.26.4 \
|
|
tokio-util-0.7.18 \
|
|
toml-1.1.2+spec-1.1.0 \
|
|
toml_datetime-1.1.1+spec-1.1.0 \
|
|
toml_edit-0.25.12+spec-1.1.0 \
|
|
toml_parser-1.1.2+spec-1.1.0 \
|
|
toml_writer-1.1.1+spec-1.1.0 \
|
|
tower-0.5.3 \
|
|
tower-http-0.6.11 \
|
|
tower-layer-0.3.3 \
|
|
tower-service-0.3.3 \
|
|
tracing-0.1.44 \
|
|
tracing-attributes-0.1.31 \
|
|
tracing-core-0.1.36 \
|
|
tracing-log-0.2.0 \
|
|
tracing-subscriber-0.3.23 \
|
|
try-lock-0.2.5 \
|
|
typeid-1.0.3 \
|
|
typenum-1.20.1 \
|
|
typetag-0.2.22 \
|
|
typetag-impl-0.2.22 \
|
|
unescaper-0.1.8 \
|
|
unicase-2.9.0 \
|
|
unicode-ident-1.0.24 \
|
|
unicode-segmentation-1.13.3 \
|
|
unicode-width-0.2.2 \
|
|
unicode-xid-0.2.6 \
|
|
unit-prefix-0.5.2 \
|
|
untrusted-0.9.0 \
|
|
url-2.5.8 \
|
|
utf8_iter-1.0.4 \
|
|
utf8parse-0.2.2 \
|
|
valuable-0.1.1 \
|
|
vcpkg-0.2.15 \
|
|
vector-map-1.1.0 \
|
|
version_check-0.9.5 \
|
|
walkdir-2.5.0 \
|
|
want-0.3.1 \
|
|
wasi-0.11.1+wasi-snapshot-preview1 \
|
|
wasip2-1.0.3+wasi-0.2.9 \
|
|
wasip3-0.4.0+wasi-0.3.0-rc-2026-01-06 \
|
|
wasm-bindgen-0.2.122 \
|
|
wasm-bindgen-futures-0.4.72 \
|
|
wasm-bindgen-macro-0.2.122 \
|
|
wasm-bindgen-macro-support-0.2.122 \
|
|
wasm-bindgen-shared-0.2.122 \
|
|
wasm-encoder-0.244.0 \
|
|
wasm-metadata-0.244.0 \
|
|
wasmparser-0.244.0 \
|
|
web-sys-0.3.99 \
|
|
web-time-1.1.0 \
|
|
webpki-root-certs-1.0.7 \
|
|
winapi-0.3.9 \
|
|
winapi-i686-pc-windows-gnu-0.4.0 \
|
|
winapi-util-0.1.11 \
|
|
winapi-x86_64-pc-windows-gnu-0.4.0 \
|
|
windows-link-0.2.1 \
|
|
windows-registry-0.6.1 \
|
|
windows-result-0.4.1 \
|
|
windows-strings-0.5.1 \
|
|
windows-sys-0.52.0 \
|
|
windows-sys-0.60.2 \
|
|
windows-sys-0.61.2 \
|
|
windows-targets-0.52.6 \
|
|
windows-targets-0.53.5 \
|
|
windows_aarch64_gnullvm-0.52.6 \
|
|
windows_aarch64_gnullvm-0.53.1 \
|
|
windows_aarch64_msvc-0.52.6 \
|
|
windows_aarch64_msvc-0.53.1 \
|
|
windows_i686_gnu-0.52.6 \
|
|
windows_i686_gnu-0.53.1 \
|
|
windows_i686_gnullvm-0.52.6 \
|
|
windows_i686_gnullvm-0.53.1 \
|
|
windows_i686_msvc-0.52.6 \
|
|
windows_i686_msvc-0.53.1 \
|
|
windows_x86_64_gnu-0.52.6 \
|
|
windows_x86_64_gnu-0.53.1 \
|
|
windows_x86_64_gnullvm-0.52.6 \
|
|
windows_x86_64_gnullvm-0.53.1 \
|
|
windows_x86_64_msvc-0.52.6 \
|
|
windows_x86_64_msvc-0.53.1 \
|
|
winnow-1.0.3 \
|
|
wit-bindgen-0.51.0 \
|
|
wit-bindgen-0.57.1 \
|
|
wit-bindgen-core-0.51.0 \
|
|
wit-bindgen-rust-0.51.0 \
|
|
wit-bindgen-rust-macro-0.51.0 \
|
|
wit-component-0.244.0 \
|
|
wit-parser-0.244.0 \
|
|
writeable-0.6.3 \
|
|
wyz-0.5.1 \
|
|
xshell-0.2.7 \
|
|
xshell-macros-0.2.7 \
|
|
xxhash-rust-0.8.15 \
|
|
yansi-1.0.1 \
|
|
yoke-0.8.2 \
|
|
yoke-derive-0.8.2 \
|
|
zerocopy-0.8.50 \
|
|
zerocopy-derive-0.8.50 \
|
|
zerofrom-0.1.8 \
|
|
zerofrom-derive-0.1.7 \
|
|
zeroize-1.8.2 \
|
|
zerotrie-0.2.4 \
|
|
zerovec-0.11.6 \
|
|
zerovec-derive-0.11.3 \
|
|
zip-0.6.6 \
|
|
zmij-1.0.21
|
|
|
|
OPENSSLINC= /usr/include
|
|
OPENSSLLIB= /usr/lib
|
|
|
|
PLIST_FILES= bin/cairo-compile bin/cairo-execute bin/cairo-format bin/cairo-run bin/cairo-test \
|
|
bin/generate-syntax bin/get-lowering \
|
|
bin/sierra-compile \
|
|
bin/starknet-compile bin/starknet-sierra-compile bin/starknet-sierra-extract-code bin/starknet-sierra-upgrade-validate
|
|
|
|
do-install: # workaround for error: found a virtual manifest at `/usr/ports/lang/cairo/work/cairo-2.0.1/Cargo.toml` instead of a package manifest
|
|
# executables
|
|
.for e in ${PLIST_FILES:S/bin\///}
|
|
${INSTALL_PROGRAM} ${WRKDIR}/target/release/${e} ${STAGEDIR}${PREFIX}/bin
|
|
.endfor
|
|
# corelib
|
|
${MKDIR} ${STAGEDIR}${PREFIX}/lib/cairo-lang
|
|
cd ${WRKSRC} && ${COPYTREE_SHARE} corelib ${STAGEDIR}${PREFIX}/lib/cairo-lang
|
|
|
|
do-test: install # quick tests
|
|
${PREFIX}/bin/cairo-run --single-file ${FILESDIR}/hello_world.cairo
|
|
${PREFIX}/bin/cairo-run --single-file ${FILESDIR}/op_overloading.cairo
|
|
|
|
# https://github.com/lambdaclass/cairo-by-example/issues/119: How to run the testsuite?
|
|
|
|
.include <bsd.port.mk>
|