Install this version:
emerge -a =sci-mathematics/rossi-0.2.1
If this version is masked, you can unmask it using the autounmask tool or standard emerge options:
autounmask =sci-mathematics/rossi-0.2.1
Or alternatively:
emerge --autounmask-write -a =sci-mathematics/rossi-0.2.1
| Version | EAPI | Keywords | Slot |
|---|---|---|---|
| 0.2.1 | 8 | ~amd64 | 0 |
# Copyright 2026 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
# Autogenerated by pycargoebuild 0.16.0
EAPI=8
CRATES="
adler2@2.0.1
aho-corasick@1.1.5
anstream@1.0.0
anstyle-parse@1.0.0
anstyle-query@1.1.5
anstyle-wincon@3.0.11
anstyle@1.0.14
anyhow@1.0.104
ar_archive_writer@0.5.1
async-trait@0.1.92
auto_impl@1.3.0
autocfg@1.5.1
bit-set@0.8.0
bit-vec@0.8.0
bitflags@1.3.2
bitflags@2.13.1
bytes@1.12.1
cc@1.4.3
cfg-if@1.0.4
clap@4.6.6
clap_builder@4.6.6
clap_complete@4.6.9
clap_derive@4.6.4
clap_lex@1.1.0
colorchoice@1.0.5
crc32fast@1.5.0
crossbeam-deque@0.8.7
crossbeam-epoch@0.9.20
crossbeam-utils@0.8.22
dashmap@5.5.3
dashmap@6.2.1
diffy@0.5.1
displaydoc@0.2.7
either@1.18.0
equivalent@1.0.2
errno@0.3.14
fastrand@2.5.0
find-msvc-tools@0.1.11
flate2@1.1.9
fnv@1.0.7
foldhash@0.2.0
form_urlencoded@1.2.2
fsevent-sys@4.1.0
futures-channel@0.3.34
futures-core@0.3.34
futures-executor@0.3.34
futures-io@0.3.34
futures-macro@0.3.34
futures-sink@0.3.34
futures-task@0.3.34
futures-util@0.3.34
futures@0.3.34
getrandom@0.3.4
getrandom@0.4.3
hashbrown@0.14.5
hashbrown@0.17.1
heck@0.5.0
httparse@1.10.1
icu_collections@2.1.1
icu_locale_core@2.1.1
icu_normalizer@2.1.1
icu_normalizer_data@2.1.1
icu_properties@2.1.2
icu_properties_data@2.1.2
icu_provider@2.1.1
idna@1.1.0
idna_adapter@1.2.1
indexmap@2.14.0
indoc@2.0.7
inotify-sys@0.1.8
inotify@0.11.5
is_terminal_polyfill@1.70.2
itoa@1.0.18
kqueue-sys@1.1.2
kqueue@1.2.1
lazy_static@1.5.0
libc@0.2.189
libmimalloc-sys@0.1.49
linux-raw-sys@0.12.1
litemap@0.8.3
lock_api@0.4.14
log@0.4.33
lsp-types@0.94.1
matchers@0.2.0
memchr@2.8.3
mimalloc@0.1.52
miniz_oxide@0.8.9
mio@1.2.2
notify-types@2.1.0
notify@8.2.0
nu-ansi-term@0.50.3
num-bigint@0.5.1
num-integer@0.1.47
num-traits@0.2.19
object@0.37.3
once_cell@1.21.4
once_cell_polyfill@1.70.2
parking_lot@0.12.5
parking_lot_core@0.9.12
percent-encoding@2.3.2
pest@2.9.0
pest_derive@2.9.0
pest_generator@2.9.0
pest_meta@2.9.0
pin-project-internal@1.1.13
pin-project-lite@0.2.17
pin-project@1.1.13
potential_utf@0.1.6
ppv-lite86@0.2.21
proc-macro2@1.0.107
proptest@1.11.0
psm@0.1.31
quick-error@1.2.3
quick-xml@0.41.0
quote@1.0.47
r-efi@5.3.0
r-efi@6.0.0
rand@0.9.5
rand_chacha@0.9.0
rand_core@0.9.5
rand_xorshift@0.4.0
rayon-core@1.13.0
rayon@1.12.0
redox_syscall@0.5.18
regex-automata@0.4.18
regex-syntax@0.8.11
ropey@1.6.1
rustix@1.1.4
rustversion@1.0.23
rusty-fork@0.3.1
same-file@1.0.6
scopeguard@1.2.0
serde@1.0.229
serde_core@1.0.229
serde_derive@1.0.229
serde_json@1.0.151
serde_repr@0.1.21
sharded-slab@0.1.7
shlex@2.0.1
signal-hook-registry@1.4.8
simd-adler32@0.3.10
slab@0.4.12
smallvec@1.15.2
stable_deref_trait@1.2.1
stacker@0.1.25
stats_alloc@0.1.10
str_indices@0.4.4
strsim@0.11.1
syn@2.0.119
syn@3.0.3
sync_wrapper@1.0.2
synstructure@0.13.2
tempfile@3.27.0
test-case-core@3.3.1
test-case-macros@3.3.1
test-case@3.3.1
thiserror-impl@2.0.20
thiserror@2.0.20
thread_local@1.1.10
tinystr@0.8.4
tokio-macros@2.7.2
tokio-util@0.7.19
tokio@1.53.1
tower-layer@0.3.3
tower-lsp-macros@0.9.0
tower-lsp@0.20.0
tower-service@0.3.3
tower@0.4.13
tower@0.5.3
tracing-attributes@0.1.31
tracing-core@0.1.36
tracing-log@0.2.0
tracing-subscriber@0.3.23
tracing@0.1.44
typed-path@0.12.3
ucd-trie@0.1.7
unarray@0.1.4
unicode-ident@1.0.24
url@2.5.8
utf8_iter@1.0.4
utf8parse@0.2.2
valuable@0.1.1
wait-timeout@0.2.1
walkdir@2.5.0
wasi@0.11.1+wasi-snapshot-preview1
wasip2@1.0.1+wasi-0.2.4
winapi-util@0.1.11
windows-link@0.2.1
windows-sys@0.60.2
windows-sys@0.61.2
windows-targets@0.53.5
windows_aarch64_gnullvm@0.53.1
windows_aarch64_msvc@0.53.1
windows_i686_gnu@0.53.1
windows_i686_gnullvm@0.53.1
windows_i686_msvc@0.53.1
windows_x86_64_gnu@0.53.1
windows_x86_64_gnullvm@0.53.1
windows_x86_64_msvc@0.53.1
wit-bindgen@0.46.0
writeable@0.6.4
yoke-derive@0.8.2
yoke@0.8.3
zerocopy-derive@0.8.56
zerocopy@0.8.56
zerofrom-derive@0.1.7
zerofrom@0.1.8
zerotrie@0.2.5
zerovec-derive@0.11.4
zerovec@0.11.7
zip@8.6.0
zlib-rs@0.6.7
zmij@1.0.23
"
inherit cargo edo shell-completion
DESCRIPTION="Rust toolchain for Event-B: parser, static checker, CLI, and language server"
HOMEPAGE="https://github.com/eventb-rossi/rossi"
SRC_URI="
https://github.com/eventb-rossi/rossi/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz
${CARGO_CRATE_URIS}
"
LICENSE="|| ( Apache-2.0 MIT )"
# Dependent crate licenses
LICENSE+="
Apache-2.0 Apache-2.0-with-LLVM-exceptions CC0-1.0 ISC MIT
Unicode-3.0 ZLIB
"
SLOT="0"
KEYWORDS="~amd64"
IUSE="pgo test"
RESTRICT="!test? ( test )"
# dev-lang/rust[system-llvm] guarantees a matching llvm-core/llvm:<slot> is
# installed (rust's own DEPEND pins that slot), which is required to merge
# PGO profiles with a compatible llvm-profdata. Bundled-LLVM rust builds and
# dev-lang/rust-bin ship no llvm-profdata at all, so pgo is unsupported there.
BDEPEND="pgo? ( dev-lang/rust[system-llvm] )"
# This test guards that the in-repo tree-sitter editor grammar
# (editors/tree-sitter-eventb, a git submodule absent from the release tarball)
# stays in sync with the canonical token tables. It checks files this package
# neither builds nor installs, so skip it rather than fetch the submodule.
# The fuzzer's grammar-derived tests read the same submodule but skip
# themselves when it is missing, so they need no entry here.
CARGO_SKIP_TESTS=(
editor_grammars_are_up_to_date
)
DOCS=( README.md )
src_compile() {
if ! use pgo; then
cargo_src_compile
return
fi
# Two-phase profile-guided optimization build, mirroring upstream's
# release workflow (.github/workflows/release.yml): instrument+train the
# CLI, merge the collected profile, then rebuild both binaries using it.
# The two cargo_src_compile calls must differ ONLY in the trailing
# -Cprofile-generate/-Cprofile-use flag: any other RUSTFLAGS difference
# changes rustc's -Cmetadata hash and silently breaks profile matching.
local llvm_ver
llvm_ver=$(rustc --version --verbose | sed -n 's/^LLVM version: \([0-9]*\).*/\1/p')
local profdata="/usr/lib/llvm/${llvm_ver}/bin/llvm-profdata"
[[ -x ${profdata} ]] || die "llvm-profdata not found at ${profdata}; USE=pgo requires dev-lang/rust[system-llvm] and a matching llvm-core/llvm:${llvm_ver}"
local pgodir="${T}/pgo-profiles"
local rustflags_base="${RUSTFLAGS}"
# Drop profiles left over from an earlier attempt (FEATURES=keepwork), so
# llvm-profdata cannot merge in data from a differently-built binary.
rm -rf "${pgodir}" || die
# RUSTFLAGS must be assigned as a plain (non-local, non-prefix) variable.
# cargo_env() folds ${RUSTFLAGS} into CARGO_TARGET_<TRIPLE>_RUSTFLAGS and
# then unsets RUSTFLAGS in the subshell it runs cargo in. `unset` pops only
# the innermost binding, so a `RUSTFLAGS=... cargo_src_compile` prefix
# assignment -- or a `local RUSTFLAGS` -- would re-expose the make.conf
# value, which cargo prefers over CARGO_TARGET_<TRIPLE>_RUSTFLAGS. That
# discards the whole eclass flag string: no instrumentation, and no
# LDFLAGS, linker or -Cstrip=none either.
RUSTFLAGS="${rustflags_base} -Cprofile-generate=${pgodir}"
cargo_src_compile --bin rossi
edo bash "${S}"/scripts/pgo-train.sh "$(cargo_target_dir)/rossi"
# An uninstrumented binary trains silently and writes nothing; say so here
# rather than letting llvm-profdata fail with a bare ENOENT on ${pgodir}.
local profraws=( "${pgodir}"/*.profraw )
[[ -e ${profraws[0]} ]] ||
die "PGO training produced no profile data in ${pgodir}"
edo "${profdata}" merge -o "${T}"/pgo-merged.profdata "${pgodir}"
RUSTFLAGS="${rustflags_base} -Cprofile-use=${T}/pgo-merged.profdata"
cargo_src_compile --bin rossi --bin eventb-language-server
RUSTFLAGS="${rustflags_base}"
}
src_install() {
# Both binaries come from the cargo build(s) src_compile runs; install them
# from the shared target dir rather than `cargo install` per crate, which
# would re-run the LTO release build for each.
dobin "$(cargo_target_dir)"/{rossi,eventb-language-server}
einstalldocs
# Example Event-B models for reference.
docinto examples
dodoc crates/rossi/examples/*.eventb
# Shell completions, generated by the freshly built CLI. clap_complete emits
# a `#compdef rossi` header for zsh, so the zsh file must be named `_rossi`.
local rossi_bin="$(cargo_target_dir)/rossi"
"${rossi_bin}" completions bash > "${T}"/rossi.bash || die
"${rossi_bin}" completions zsh > "${T}"/_rossi || die
"${rossi_bin}" completions fish > "${T}"/rossi.fish || die
newbashcomp "${T}"/rossi.bash rossi
dozshcomp "${T}"/_rossi
dofishcomp "${T}"/rossi.fish
}
Manage flags for this package:
euse -i <flag> -p sci-mathematics/rossi |
euse -E <flag> -p sci-mathematics/rossi |
euse -D <flag> -p sci-mathematics/rossi
| Type | File | Size | Source URLs |
|---|---|---|---|
| DIST | rossi-0.2.1.tar.gz | 7624774 bytes | https://github.com/eventb-rossi/rossi/archive/refs/tags/v0.2.1.tar.gz |