Files
ports/lang/cairo/Makefile
T
Yuri Victorovich 2def06f5c3 lang/cairo: update 2.11.2 → 2.11.4
Reported by:	portscout
2025-04-09 03:07:54 -07:00

480 lines
11 KiB
Makefile

PORTNAME= cairo
DISTVERSIONPREFIX= v
DISTVERSION= 2.11.4
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.24.2 \
adler2-2.0.0 \
aes-0.8.4 \
ahash-0.8.11 \
aho-corasick-1.1.3 \
allocator-api2-0.2.21 \
anstream-0.6.18 \
anstyle-1.0.10 \
anstyle-parse-0.2.6 \
anstyle-query-1.1.2 \
anstyle-wincon-3.0.7 \
anyhow-1.0.95 \
ark-ec-0.5.0 \
ark-ff-0.4.2 \
ark-ff-0.5.0 \
ark-ff-asm-0.4.2 \
ark-ff-asm-0.5.0 \
ark-ff-macros-0.4.2 \
ark-ff-macros-0.5.0 \
ark-poly-0.5.0 \
ark-secp256k1-0.5.0 \
ark-secp256r1-0.5.0 \
ark-serialize-0.4.2 \
ark-serialize-0.5.0 \
ark-serialize-derive-0.5.0 \
ark-std-0.4.0 \
ark-std-0.5.0 \
arrayvec-0.7.6 \
ascii-canvas-4.0.0 \
assert_matches-1.5.0 \
async-channel-2.3.1 \
atomic-waker-1.1.2 \
autocfg-1.4.0 \
backtrace-0.3.74 \
base64-0.22.1 \
base64ct-1.6.0 \
bimap-0.6.3 \
bincode-1.3.3 \
bincode-2.0.0-rc.3 \
bincode_derive-2.0.0-rc.3 \
bit-set-0.8.0 \
bit-vec-0.8.0 \
bitflags-2.8.0 \
bitvec-1.0.1 \
block-buffer-0.10.4 \
bstr-1.11.3 \
bumpalo-3.17.0 \
byte-slice-cast-1.2.2 \
byteorder-1.5.0 \
bytes-1.9.0 \
bzip2-0.4.4 \
bzip2-sys-0.1.11+1.0.8 \
cairo-lang-primitive-token-1.0.0 \
cairo-vm-1.0.2 \
cc-1.2.10 \
cfg-if-1.0.0 \
cipher-0.4.4 \
clap-4.5.29 \
clap_builder-4.5.29 \
clap_derive-4.5.28 \
clap_lex-0.7.4 \
colorchoice-1.0.3 \
colored-3.0.0 \
concurrent-queue-2.5.0 \
console-0.15.10 \
const-fnv1a-hash-1.1.0 \
const_format-0.2.34 \
const_format_proc_macros-0.2.34 \
constant_time_eq-0.1.5 \
convert_case-0.7.1 \
core-foundation-0.9.4 \
core-foundation-sys-0.8.7 \
cpufeatures-0.2.17 \
crc32fast-1.4.2 \
crossbeam-deque-0.8.6 \
crossbeam-epoch-0.9.18 \
crossbeam-utils-0.8.21 \
crypto-bigint-0.5.5 \
crypto-common-0.1.6 \
deranged-0.3.11 \
derivative-2.2.0 \
diff-0.1.13 \
diffy-0.4.2 \
digest-0.10.7 \
displaydoc-0.2.5 \
dyn-clone-1.0.17 \
educe-0.6.0 \
either-1.13.0 \
ena-0.14.3 \
encode_unicode-1.0.0 \
encoding_rs-0.8.35 \
enum-ordinalize-4.3.0 \
enum-ordinalize-derive-4.3.1 \
env_filter-0.1.3 \
env_logger-0.11.6 \
equivalent-1.0.1 \
errno-0.3.10 \
event-listener-5.4.0 \
event-listener-strategy-0.5.3 \
fastrand-2.3.0 \
fixedbitset-0.5.7 \
flate2-1.0.35 \
fnv-1.0.7 \
foldhash-0.1.4 \
foreign-types-0.3.2 \
foreign-types-shared-0.1.1 \
form_urlencoded-1.2.1 \
funty-2.0.0 \
futures-channel-0.3.31 \
futures-core-0.3.31 \
futures-macro-0.3.31 \
futures-sink-0.3.31 \
futures-task-0.3.31 \
futures-timer-3.0.3 \
futures-util-0.3.31 \
genco-0.17.10 \
genco-macros-0.17.10 \
generic-array-0.14.7 \
getopts-0.2.21 \
getrandom-0.2.15 \
getrandom-0.3.1 \
gimli-0.31.1 \
glob-0.3.2 \
globset-0.4.15 \
good_lp-1.11.0 \
h2-0.4.7 \
hashbrown-0.12.3 \
hashbrown-0.14.5 \
hashbrown-0.15.2 \
heck-0.4.1 \
heck-0.5.0 \
hex-0.4.3 \
hmac-0.12.1 \
home-0.5.11 \
http-1.2.0 \
http-body-1.0.1 \
http-body-util-0.1.2 \
httparse-1.10.0 \
humantime-2.1.0 \
hyper-1.6.0 \
hyper-rustls-0.27.5 \
hyper-tls-0.6.0 \
hyper-util-0.1.10 \
icu_collections-1.5.0 \
icu_locid-1.5.0 \
icu_locid_transform-1.5.0 \
icu_locid_transform_data-1.5.0 \
icu_normalizer-1.5.0 \
icu_normalizer_data-1.5.0 \
icu_properties-1.5.1 \
icu_properties_data-1.5.0 \
icu_provider-1.5.0 \
icu_provider_macros-1.5.0 \
id-arena-2.2.1 \
idna-1.0.3 \
idna_adapter-1.2.0 \
ignore-0.4.23 \
impl-trait-for-tuples-0.2.3 \
indent-0.1.1 \
indexmap-1.9.3 \
indexmap-2.7.1 \
indicatif-0.17.11 \
indoc-2.0.5 \
inout-0.1.3 \
ipnet-2.11.0 \
is_terminal_polyfill-1.70.1 \
itertools-0.10.5 \
itertools-0.13.0 \
itertools-0.14.0 \
itoa-1.0.14 \
jobserver-0.1.32 \
js-sys-0.3.77 \
keccak-0.1.5 \
lalrpop-0.22.1 \
lalrpop-util-0.22.1 \
lambdaworks-crypto-0.10.0 \
lambdaworks-math-0.10.0 \
lazy_static-1.5.0 \
libc-0.2.169 \
linux-raw-sys-0.4.15 \
litemap-0.7.4 \
lock_api-0.4.12 \
log-0.4.25 \
lru-0.12.5 \
matchers-0.1.0 \
matrixmultiply-0.3.9 \
memchr-2.7.4 \
microlp-0.2.9 \
mime-0.3.17 \
minimal-lexical-0.2.1 \
miniz_oxide-0.8.3 \
mio-1.0.3 \
native-tls-0.2.13 \
ndarray-0.16.1 \
new_debug_unreachable-1.0.6 \
nom-7.1.3 \
nu-ansi-term-0.46.0 \
nu-ansi-term-0.50.1 \
num-bigint-0.4.6 \
num-complex-0.4.6 \
num-conv-0.1.0 \
num-integer-0.1.46 \
num-modular-0.5.1 \
num-prime-0.4.4 \
num-traits-0.2.19 \
num_threads-0.1.7 \
number_prefix-0.4.0 \
object-0.36.7 \
once_cell-1.20.2 \
oorandom-11.1.4 \
openssl-0.10.71 \
openssl-macros-0.1.1 \
openssl-probe-0.1.6 \
openssl-src-300.4.1+3.4.0 \
openssl-sys-0.9.106 \
overload-0.1.1 \
parity-scale-codec-3.7.4 \
parity-scale-codec-derive-3.7.4 \
parking-2.2.1 \
parking_lot-0.12.3 \
parking_lot_core-0.9.10 \
password-hash-0.4.2 \
paste-1.0.15 \
path-clean-1.0.1 \
pbkdf2-0.11.0 \
percent-encoding-2.3.1 \
petgraph-0.7.1 \
phf_shared-0.10.0 \
pico-args-0.5.0 \
pin-project-lite-0.2.16 \
pin-utils-0.1.0 \
pkg-config-0.3.31 \
portable-atomic-1.10.0 \
portable-atomic-util-0.2.4 \
powerfmt-0.2.0 \
ppv-lite86-0.2.20 \
precomputed-hash-0.1.1 \
pretty_assertions-1.4.1 \
proc-macro-crate-3.2.0 \
proc-macro2-1.0.93 \
pulldown-cmark-0.13.0 \
pulldown-cmark-escape-0.11.0 \
quote-1.0.38 \
radium-0.7.0 \
rand-0.8.5 \
rand-0.9.0 \
rand_chacha-0.3.1 \
rand_chacha-0.9.0 \
rand_core-0.6.4 \
rand_core-0.9.0 \
rawpointer-0.2.1 \
rayon-1.10.0 \
rayon-core-1.12.1 \
redox_syscall-0.5.8 \
regex-1.11.1 \
regex-automata-0.1.10 \
regex-automata-0.4.9 \
regex-syntax-0.6.29 \
regex-syntax-0.8.5 \
relative-path-1.9.3 \
reqwest-0.12.12 \
rfc6979-0.4.0 \
ring-0.17.8 \
rstest-0.24.0 \
rstest_macros-0.24.0 \
rust-analyzer-salsa-0.17.0-pre.6 \
rust-analyzer-salsa-macros-0.17.0-pre.6 \
rust_decimal-1.36.0 \
rustc-demangle-0.1.24 \
rustc-hash-1.1.0 \
rustc_version-0.4.1 \
rustix-0.38.44 \
rustls-0.23.21 \
rustls-pemfile-2.2.0 \
rustls-pki-types-1.11.0 \
rustls-webpki-0.102.8 \
rustversion-1.0.19 \
ryu-1.0.19 \
same-file-1.0.6 \
schannel-0.1.27 \
schemars-0.8.21 \
schemars_derive-0.8.21 \
scopeguard-1.2.0 \
security-framework-2.11.1 \
security-framework-sys-2.14.0 \
semver-1.0.25 \
serde-1.0.217 \
serde_derive-1.0.217 \
serde_derive_internals-0.29.1 \
serde_json-1.0.138 \
serde_spanned-0.6.8 \
serde_urlencoded-0.7.1 \
sha1-0.10.6 \
sha2-0.10.8 \
sha3-0.10.8 \
sharded-slab-0.1.7 \
shlex-1.3.0 \
signal-hook-registry-1.4.2 \
siphasher-0.3.11 \
slab-0.4.9 \
smallvec-1.13.2 \
smol_str-0.2.2 \
socket2-0.5.8 \
spin-0.9.8 \
sprs-0.11.3 \
stable_deref_trait-1.2.0 \
starknet-crypto-0.6.2 \
starknet-crypto-codegen-0.3.3 \
starknet-curve-0.4.2 \
starknet-ff-0.3.7 \
starknet-types-core-0.1.7 \
string_cache-0.8.7 \
strsim-0.11.1 \
subtle-2.6.1 \
syn-1.0.109 \
syn-2.0.98 \
sync_wrapper-1.0.2 \
synstructure-0.13.1 \
system-configuration-0.6.1 \
system-configuration-sys-0.6.0 \
tap-1.0.1 \
tempfile-3.16.0 \
term-1.0.1 \
test-case-3.3.1 \
test-case-core-3.3.1 \
test-case-macros-3.3.1 \
test-log-0.2.17 \
test-log-macros-0.2.17 \
thiserror-1.0.69 \
thiserror-2.0.11 \
thiserror-impl-1.0.69 \
thiserror-impl-2.0.11 \
thiserror-impl-no-std-2.0.2 \
thiserror-no-std-2.0.2 \
thread_local-1.1.8 \
time-0.3.37 \
time-core-0.1.2 \
time-macros-0.2.19 \
tinystr-0.7.6 \
tokio-1.43.0 \
tokio-macros-2.5.0 \
tokio-native-tls-0.3.1 \
tokio-rustls-0.26.1 \
tokio-util-0.7.13 \
toml-0.8.20 \
toml_datetime-0.6.8 \
toml_edit-0.22.24 \
tower-0.5.2 \
tower-layer-0.3.3 \
tower-service-0.3.3 \
tracing-0.1.41 \
tracing-attributes-0.1.28 \
tracing-core-0.1.33 \
tracing-log-0.2.0 \
tracing-subscriber-0.3.19 \
triomphe-0.1.14 \
try-lock-0.2.5 \
typenum-1.17.0 \
unescaper-0.1.5 \
unicase-2.8.1 \
unicode-ident-1.0.16 \
unicode-segmentation-1.12.0 \
unicode-width-0.1.14 \
unicode-width-0.2.0 \
unicode-xid-0.2.6 \
untrusted-0.9.0 \
url-2.5.4 \
utf16_iter-1.0.5 \
utf8_iter-1.0.4 \
utf8parse-0.2.2 \
valuable-0.1.1 \
vcpkg-0.2.15 \
version_check-0.9.5 \
virtue-0.0.13 \
walkdir-2.5.0 \
want-0.3.1 \
wasi-0.11.0+wasi-snapshot-preview1 \
wasi-0.13.3+wasi-0.2.2 \
wasm-bindgen-0.2.100 \
wasm-bindgen-backend-0.2.100 \
wasm-bindgen-futures-0.4.50 \
wasm-bindgen-macro-0.2.100 \
wasm-bindgen-macro-support-0.2.100 \
wasm-bindgen-shared-0.2.100 \
web-sys-0.3.77 \
web-time-1.1.0 \
winapi-0.3.9 \
winapi-i686-pc-windows-gnu-0.4.0 \
winapi-util-0.1.9 \
winapi-x86_64-pc-windows-gnu-0.4.0 \
windows-registry-0.2.0 \
windows-result-0.2.0 \
windows-strings-0.1.0 \
windows-sys-0.52.0 \
windows-sys-0.59.0 \
windows-targets-0.52.6 \
windows_aarch64_gnullvm-0.52.6 \
windows_aarch64_msvc-0.52.6 \
windows_i686_gnu-0.52.6 \
windows_i686_gnullvm-0.52.6 \
windows_i686_msvc-0.52.6 \
windows_x86_64_gnu-0.52.6 \
windows_x86_64_gnullvm-0.52.6 \
windows_x86_64_msvc-0.52.6 \
winnow-0.7.2 \
wit-bindgen-rt-0.33.0 \
write16-1.0.0 \
writeable-0.5.5 \
wyz-0.5.1 \
xshell-0.2.7 \
xshell-macros-0.2.7 \
yansi-1.0.1 \
yoke-0.7.5 \
yoke-derive-0.7.5 \
zerocopy-0.7.35 \
zerocopy-0.8.14 \
zerocopy-derive-0.7.35 \
zerocopy-derive-0.8.14 \
zerofrom-0.1.5 \
zerofrom-derive-0.1.5 \
zeroize-1.8.1 \
zeroize_derive-1.4.2 \
zerovec-0.10.4 \
zerovec-derive-0.10.3 \
zip-0.6.6 \
zstd-0.11.2+zstd.1.5.2 \
zstd-safe-5.0.2+zstd.1.5.2 \
zstd-sys-2.0.13+zstd.1.5.6
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>