diff options
author | Repository mirror & CI <repomirrorci@gentoo.org> | 2024-11-09 06:33:29 +0000 |
---|---|---|
committer | Repository mirror & CI <repomirrorci@gentoo.org> | 2024-11-09 06:33:29 +0000 |
commit | 672a57f8ebbf9443e883e6caad81a0a5e51a833a (patch) | |
tree | 067a603812f1af7cbf3fd4d6660f2a2b1a445d2a | |
parent | 2024-11-09 04:03:24 UTC (diff) | |
parent | */*: update for slotted Rust (diff) | |
download | gentoo-672a57f8ebbf9443e883e6caad81a0a5e51a833a.tar.gz gentoo-672a57f8ebbf9443e883e6caad81a0a5e51a833a.tar.bz2 gentoo-672a57f8ebbf9443e883e6caad81a0a5e51a833a.zip |
Merge updates from master
-rw-r--r-- | app-antivirus/clamav/clamav-1.0.5-r1.ebuild (renamed from app-antivirus/clamav/clamav-1.0.5.ebuild) | 3 | ||||
-rw-r--r-- | app-antivirus/clamav/clamav-1.0.7-r1.ebuild (renamed from app-antivirus/clamav/clamav-1.0.7.ebuild) | 3 | ||||
-rw-r--r-- | app-antivirus/clamav/clamav-1.2.2-r1.ebuild (renamed from app-antivirus/clamav/clamav-1.2.2.ebuild) | 4 | ||||
-rw-r--r-- | app-antivirus/clamav/clamav-1.4.1-r2.ebuild (renamed from app-antivirus/clamav/clamav-1.4.1-r1.ebuild) | 4 | ||||
-rw-r--r-- | app-backup/rdedup/rdedup-1.0.2-r2.ebuild (renamed from app-backup/rdedup/rdedup-1.0.2-r1.ebuild) | 0 | ||||
-rw-r--r-- | app-benchmarks/hyperfine/hyperfine-1.18.0-r1.ebuild (renamed from app-benchmarks/hyperfine/hyperfine-1.18.0.ebuild) | 2 | ||||
-rw-r--r-- | app-containers/aardvark-dns/aardvark-dns-1.10.0-r1.ebuild (renamed from app-containers/aardvark-dns/aardvark-dns-1.10.0.ebuild) | 0 | ||||
-rw-r--r-- | app-containers/aardvark-dns/aardvark-dns-1.11.0-r1.ebuild (renamed from app-containers/aardvark-dns/aardvark-dns-1.11.0.ebuild) | 0 | ||||
-rw-r--r-- | app-containers/aardvark-dns/aardvark-dns-1.12.2-r1.ebuild (renamed from app-containers/aardvark-dns/aardvark-dns-1.12.2.ebuild) | 0 | ||||
-rw-r--r-- | app-containers/aardvark-dns/aardvark-dns-1.9.0-r1.ebuild (renamed from app-containers/aardvark-dns/aardvark-dns-1.9.0.ebuild) | 0 | ||||
-rw-r--r-- | app-containers/netavark/netavark-1.10.2-r1.ebuild (renamed from app-containers/netavark/netavark-1.10.2.ebuild) | 0 | ||||
-rw-r--r-- | app-containers/netavark/netavark-1.10.3-r1.ebuild (renamed from app-containers/netavark/netavark-1.10.3.ebuild) | 0 | ||||
-rw-r--r-- | app-containers/netavark/netavark-1.11.0-r1.ebuild (renamed from app-containers/netavark/netavark-1.11.0.ebuild) | 0 | ||||
-rw-r--r-- | app-containers/netavark/netavark-1.12.2-r1.ebuild (renamed from app-containers/netavark/netavark-1.12.2.ebuild) | 0 | ||||
-rw-r--r-- | app-containers/netavark/netavark-1.9.0-r1.ebuild (renamed from app-containers/netavark/netavark-1.9.0.ebuild) | 0 | ||||
-rw-r--r-- | app-crypt/nitrocli/nitrocli-0.4.1-r1.ebuild (renamed from app-crypt/nitrocli/nitrocli-0.4.1.ebuild) | 126 | ||||
-rw-r--r-- | app-crypt/rpm-sequoia/rpm-sequoia-1.6.0-r1.ebuild (renamed from app-crypt/rpm-sequoia/rpm-sequoia-1.6.0.ebuild) | 12 | ||||
-rw-r--r-- | app-crypt/rpm-sequoia/rpm-sequoia-1.7.0-r1.ebuild (renamed from app-crypt/rpm-sequoia/rpm-sequoia-1.7.0.ebuild) | 12 | ||||
-rw-r--r-- | app-crypt/sequoia-chameleon-gnupg/sequoia-chameleon-gnupg-0.10.0-r1.ebuild (renamed from app-crypt/sequoia-chameleon-gnupg/sequoia-chameleon-gnupg-0.10.0.ebuild) | 12 | ||||
-rw-r--r-- | app-crypt/sequoia-chameleon-gnupg/sequoia-chameleon-gnupg-0.10.1-r1.ebuild (renamed from app-crypt/sequoia-chameleon-gnupg/sequoia-chameleon-gnupg-0.10.1.ebuild) | 12 | ||||
-rw-r--r-- | app-crypt/sequoia-chameleon-gnupg/sequoia-chameleon-gnupg-0.8.0-r1.ebuild (renamed from app-crypt/sequoia-chameleon-gnupg/sequoia-chameleon-gnupg-0.8.0.ebuild) | 12 | ||||
-rw-r--r-- | app-crypt/sequoia-chameleon-gnupg/sequoia-chameleon-gnupg-0.9.0-r1.ebuild (renamed from app-crypt/sequoia-chameleon-gnupg/sequoia-chameleon-gnupg-0.9.0.ebuild) | 12 | ||||
-rw-r--r-- | app-crypt/sequoia-sq/sequoia-sq-0.35.0-r1.ebuild (renamed from app-crypt/sequoia-sq/sequoia-sq-0.35.0.ebuild) | 8 | ||||
-rw-r--r-- | app-crypt/sequoia-sq/sequoia-sq-0.36.0-r1.ebuild (renamed from app-crypt/sequoia-sq/sequoia-sq-0.36.0.ebuild) | 8 | ||||
-rw-r--r-- | app-crypt/sequoia-sq/sequoia-sq-0.37.0-r1.ebuild (renamed from app-crypt/sequoia-sq/sequoia-sq-0.37.0.ebuild) | 8 | ||||
-rw-r--r-- | app-crypt/sequoia-sqv/sequoia-sqv-1.2.1-r1.ebuild (renamed from app-crypt/sequoia-sqv/sequoia-sqv-1.2.1.ebuild) | 8 | ||||
-rw-r--r-- | app-editors/helix/helix-24.03-r2.ebuild (renamed from app-editors/helix/helix-24.03-r1.ebuild) | 0 | ||||
-rw-r--r-- | app-editors/helix/helix-24.07-r1.ebuild (renamed from app-editors/helix/helix-24.07.ebuild) | 1 | ||||
-rw-r--r-- | app-editors/zed/zed-0.155.2-r1.ebuild (renamed from app-editors/zed/zed-0.155.2.ebuild) | 7 | ||||
-rw-r--r-- | app-editors/zed/zed-0.159.10-r1.ebuild (renamed from app-editors/zed/zed-0.159.10.ebuild) | 7 | ||||
-rw-r--r-- | app-editors/zed/zed-0.160.7-r1.ebuild (renamed from app-editors/zed/zed-0.160.7.ebuild) | 7 | ||||
-rw-r--r-- | app-emulation/ruffle/ruffle-0_p20240929-r1.ebuild (renamed from app-emulation/ruffle/ruffle-0_p20240929.ebuild) | 3 | ||||
-rw-r--r-- | app-emulation/ruffle/ruffle-0_p20241027-r1.ebuild (renamed from app-emulation/ruffle/ruffle-0_p20241027.ebuild) | 3 | ||||
-rw-r--r-- | app-emulation/ruffle/ruffle-9999.ebuild | 3 | ||||
-rw-r--r-- | app-emulation/virtiofsd/virtiofsd-1.10.0-r1.ebuild (renamed from app-emulation/virtiofsd/virtiofsd-1.10.0.ebuild) | 0 | ||||
-rw-r--r-- | app-emulation/virtiofsd/virtiofsd-1.10.1-r1.ebuild (renamed from app-emulation/virtiofsd/virtiofsd-1.10.1.ebuild) | 0 | ||||
-rw-r--r-- | app-emulation/virtiofsd/virtiofsd-1.11.1-r1.ebuild (renamed from app-emulation/virtiofsd/virtiofsd-1.11.1.ebuild) | 0 | ||||
-rw-r--r-- | app-forensics/yara-x/yara-x-0.5.0-r1.ebuild (renamed from app-forensics/yara-x/yara-x-0.5.0.ebuild) | 0 | ||||
-rw-r--r-- | app-forensics/yara-x/yara-x-0.6.0-r1.ebuild (renamed from app-forensics/yara-x/yara-x-0.6.0.ebuild) | 0 | ||||
-rw-r--r-- | app-forensics/yara-x/yara-x-0.7.0-r1.ebuild (renamed from app-forensics/yara-x/yara-x-0.7.0.ebuild) | 0 | ||||
-rw-r--r-- | app-i18n/yaskkserv2/yaskkserv2-0.1.7-r1.ebuild | 232 | ||||
-rw-r--r-- | app-i18n/yaskkserv2/yaskkserv2-0.1.7.ebuild | 229 | ||||
-rw-r--r-- | app-laptop/tiny-dfr/tiny-dfr-0.3.0-r1.ebuild (renamed from app-laptop/tiny-dfr/tiny-dfr-0.3.0.ebuild) | 5 | ||||
-rw-r--r-- | app-laptop/tiny-dfr/tiny-dfr-0.3.1-r1.ebuild | 261 | ||||
-rw-r--r-- | app-laptop/tiny-dfr/tiny-dfr-0.3.1.ebuild | 256 | ||||
-rw-r--r-- | app-metrics/unbound-telemetry/unbound-telemetry-0.1.0_pre20210920-r1.ebuild | 159 | ||||
-rw-r--r-- | app-metrics/unbound-telemetry/unbound-telemetry-0.1.0_pre20210920.ebuild | 159 | ||||
-rw-r--r-- | app-misc/anki/anki-24.06.3-r2.ebuild (renamed from app-misc/anki/anki-24.06.3-r1.ebuild) | 2 | ||||
-rw-r--r-- | app-misc/battop/battop-0.2.4_p1-r1.ebuild (renamed from app-misc/battop/battop-0.2.4_p1.ebuild) | 2 | ||||
-rw-r--r-- | app-misc/broot/broot-1.39.1-r1.ebuild (renamed from app-misc/broot/broot-1.39.1.ebuild) | 1 | ||||
-rw-r--r-- | app-misc/broot/broot-1.40.0-r1.ebuild (renamed from app-misc/broot/broot-1.40.0.ebuild) | 1 | ||||
-rw-r--r-- | app-misc/broot/broot-1.41.1-r1.ebuild (renamed from app-misc/broot/broot-1.41.1.ebuild) | 1 | ||||
-rw-r--r-- | app-misc/broot/broot-1.42.0-r1.ebuild (renamed from app-misc/broot/broot-1.42.0.ebuild) | 2 | ||||
-rw-r--r-- | app-misc/jaq/jaq-1.4.0-r1.ebuild (renamed from app-misc/jaq/jaq-1.4.0.ebuild) | 4 | ||||
-rw-r--r-- | app-misc/jaq/jaq-1.5.0-r1.ebuild (renamed from app-misc/jaq/jaq-1.5.0.ebuild) | 4 | ||||
-rw-r--r-- | app-misc/jaq/jaq-1.6.0-r1.ebuild (renamed from app-misc/jaq/jaq-1.6.0.ebuild) | 4 | ||||
-rw-r--r-- | app-misc/jf/jf-0.6.2-r2.ebuild (renamed from app-misc/jf/jf-0.6.2-r1.ebuild) | 2 | ||||
-rw-r--r-- | app-misc/rpick/rpick-0.9.1-r1.ebuild (renamed from app-misc/rpick/rpick-0.9.1.ebuild) | 0 | ||||
-rw-r--r-- | app-misc/skim/skim-0.10.4-r1.ebuild (renamed from app-misc/skim/skim-0.10.4.ebuild) | 0 | ||||
-rw-r--r-- | app-misc/tzupdate/tzupdate-3.1.0-r1.ebuild (renamed from app-misc/tzupdate/tzupdate-3.1.0.ebuild) | 0 | ||||
-rw-r--r-- | app-misc/weggli/metadata.xml | 2 | ||||
-rw-r--r-- | app-misc/weggli/weggli-0.2.4-r1.ebuild | 142 | ||||
-rw-r--r-- | app-misc/weggli/weggli-0.2.4.ebuild | 141 | ||||
-rw-r--r-- | app-misc/zellij/zellij-0.41.1-r1.ebuild (renamed from app-misc/zellij/zellij-0.41.1.ebuild) | 0 | ||||
-rw-r--r-- | app-portage/emlop/emlop-0.7.0-r1.ebuild (renamed from app-portage/emlop/emlop-0.7.0.ebuild) | 4 | ||||
-rw-r--r-- | app-portage/emlop/emlop-0.7.1-r1.ebuild (renamed from app-portage/emlop/emlop-0.7.1.ebuild) | 4 | ||||
-rw-r--r-- | app-shells/atuin/atuin-18.3.0-r2.ebuild (renamed from app-shells/atuin/atuin-18.3.0-r1.ebuild) | 3 | ||||
-rw-r--r-- | app-shells/mcfly/mcfly-0.5.13-r1.ebuild | 115 | ||||
-rw-r--r-- | app-shells/mcfly/mcfly-0.5.13.ebuild | 115 | ||||
-rw-r--r-- | app-shells/mcfly/mcfly-0.9.0-r1.ebuild (renamed from app-shells/mcfly/mcfly-0.9.0.ebuild) | 0 | ||||
-rw-r--r-- | app-shells/nushell/nushell-0.95.0-r1.ebuild (renamed from app-shells/nushell/nushell-0.95.0.ebuild) | 0 | ||||
-rw-r--r-- | app-shells/nushell/nushell-0.96.1-r1.ebuild (renamed from app-shells/nushell/nushell-0.96.1.ebuild) | 0 | ||||
-rw-r--r-- | app-shells/nushell/nushell-0.98.0-r1.ebuild (renamed from app-shells/nushell/nushell-0.98.0.ebuild) | 2 | ||||
-rw-r--r-- | app-shells/starship/starship-1.19.0-r1.ebuild (renamed from app-shells/starship/starship-1.19.0.ebuild) | 2 | ||||
-rw-r--r-- | app-shells/starship/starship-1.20.1-r1.ebuild (renamed from app-shells/starship/starship-1.20.1.ebuild) | 2 | ||||
-rw-r--r-- | app-shells/zoxide/zoxide-0.9.4-r1.ebuild (renamed from app-shells/zoxide/zoxide-0.9.4.ebuild) | 0 | ||||
-rw-r--r-- | app-shells/zoxide/zoxide-0.9.6-r1.ebuild (renamed from app-shells/zoxide/zoxide-0.9.6.ebuild) | 0 | ||||
-rw-r--r-- | app-text/fblog/fblog-4.10.0-r1.ebuild (renamed from app-text/fblog/fblog-4.10.0.ebuild) | 0 | ||||
-rw-r--r-- | app-text/mdbook/mdbook-0.4.40-r1.ebuild (renamed from app-text/mdbook/mdbook-0.4.40.ebuild) | 0 | ||||
-rw-r--r-- | dev-db/influxdb/influxdb-2.7.10-r1.ebuild (renamed from dev-db/influxdb/influxdb-2.7.10.ebuild) | 0 | ||||
-rw-r--r-- | dev-db/influxdb/influxdb-2.7.8-r1.ebuild (renamed from dev-db/influxdb/influxdb-2.7.8.ebuild) | 5 | ||||
-rw-r--r-- | dev-java/icedtea-web/icedtea-web-1.8.8-r2.ebuild (renamed from dev-java/icedtea-web/icedtea-web-1.8.8-r1.ebuild) | 14 | ||||
-rw-r--r-- | dev-lang/dafny/dafny-4.8.0.ebuild | 2 | ||||
-rw-r--r-- | dev-lang/dafny/dafny-4.8.1.ebuild | 2 | ||||
-rw-r--r-- | dev-lang/dafny/dafny-4.9.0.ebuild | 2 | ||||
-rw-r--r-- | dev-lang/gleam/gleam-1.4.1-r1.ebuild (renamed from dev-lang/gleam/gleam-1.4.1.ebuild) | 0 | ||||
-rw-r--r-- | dev-lang/gnat-gpl/gnat-gpl-2021-r5.ebuild | 3 | ||||
-rw-r--r-- | dev-lang/ruby/ruby-3.2.4-r2.ebuild (renamed from dev-lang/ruby/ruby-3.2.4.ebuild) | 22 | ||||
-rw-r--r-- | dev-lang/ruby/ruby-3.2.4-r3.ebuild (renamed from dev-lang/ruby/ruby-3.2.4-r1.ebuild) | 22 | ||||
-rw-r--r-- | dev-lang/ruby/ruby-3.2.5-r1.ebuild (renamed from dev-lang/ruby/ruby-3.2.5.ebuild) | 22 | ||||
-rw-r--r-- | dev-lang/ruby/ruby-3.2.6-r1.ebuild (renamed from dev-lang/ruby/ruby-3.2.6.ebuild) | 22 | ||||
-rw-r--r-- | dev-lang/ruby/ruby-3.3.4-r2.ebuild (renamed from dev-lang/ruby/ruby-3.3.4-r1.ebuild) | 19 | ||||
-rw-r--r-- | dev-lang/ruby/ruby-3.3.5-r1.ebuild (renamed from dev-lang/ruby/ruby-3.3.5.ebuild) | 19 | ||||
-rw-r--r-- | dev-lang/ruby/ruby-3.3.6-r1.ebuild (renamed from dev-lang/ruby/ruby-3.3.6.ebuild) | 19 | ||||
-rw-r--r-- | dev-lang/rust-bin/rust-bin-1.71.1-r100.ebuild | 232 | ||||
-rw-r--r-- | dev-lang/rust-bin/rust-bin-1.74.1-r100.ebuild | 242 | ||||
-rw-r--r-- | dev-lang/rust-bin/rust-bin-1.75.0-r100.ebuild | 242 | ||||
-rw-r--r-- | dev-lang/rust-bin/rust-bin-1.77.1-r100.ebuild | 244 | ||||
-rw-r--r-- | dev-lang/rust-bin/rust-bin-1.79.0-r100.ebuild | 247 | ||||
-rw-r--r-- | dev-lang/rust-bin/rust-bin-1.80.1-r100.ebuild | 251 | ||||
-rw-r--r-- | dev-lang/rust-bin/rust-bin-1.81.0-r100.ebuild | 249 | ||||
-rw-r--r-- | dev-lang/rust-bin/rust-bin-1.82.0-r100.ebuild | 251 | ||||
-rw-r--r-- | dev-lang/rust-common/Manifest | 4 | ||||
-rw-r--r-- | dev-lang/rust-common/metadata.xml | 11 | ||||
-rw-r--r-- | dev-lang/rust-common/rust-common-1.81.0.ebuild | 53 | ||||
-rw-r--r-- | dev-lang/rust-common/rust-common-1.82.0.ebuild | 54 | ||||
-rw-r--r-- | dev-lang/rust/rust-1.71.1-r100.ebuild | 734 | ||||
-rw-r--r-- | dev-lang/rust/rust-1.74.1-r100.ebuild | 770 | ||||
-rw-r--r-- | dev-lang/rust/rust-1.75.0-r100.ebuild | 773 | ||||
-rw-r--r-- | dev-lang/rust/rust-1.77.1-r100.ebuild | 771 | ||||
-rw-r--r-- | dev-lang/rust/rust-1.79.0-r100.ebuild | 774 | ||||
-rw-r--r-- | dev-lang/rust/rust-1.80.1-r100.ebuild | 773 | ||||
-rw-r--r-- | dev-lang/rust/rust-1.81.0-r100.ebuild | 774 | ||||
-rw-r--r-- | dev-lang/rust/rust-1.82.0-r100.ebuild | 781 | ||||
-rw-r--r-- | dev-lang/spidermonkey/spidermonkey-102.15.0-r1.ebuild (renamed from dev-lang/spidermonkey/spidermonkey-102.15.0.ebuild) | 54 | ||||
-rw-r--r-- | dev-lang/spidermonkey/spidermonkey-115.16.0-r1.ebuild (renamed from dev-lang/spidermonkey/spidermonkey-115.16.0.ebuild) | 60 | ||||
-rw-r--r-- | dev-lang/spidermonkey/spidermonkey-128.3.0-r1.ebuild (renamed from dev-lang/spidermonkey/spidermonkey-128.3.0.ebuild) | 13 | ||||
-rw-r--r-- | dev-lang/spidermonkey/spidermonkey-128.4.0-r1.ebuild (renamed from dev-lang/spidermonkey/spidermonkey-128.4.0.ebuild) | 11 | ||||
-rw-r--r-- | dev-libs/dynolog/dynolog-0.3.1_p20230126-r3.ebuild (renamed from dev-libs/dynolog/dynolog-0.3.1_p20230126-r2.ebuild) | 0 | ||||
-rw-r--r-- | dev-python/adblock/adblock-0.6.0-r1.ebuild (renamed from dev-python/adblock/adblock-0.6.0.ebuild) | 0 | ||||
-rw-r--r-- | dev-python/bcrypt/bcrypt-4.2.0-r3.ebuild (renamed from dev-python/bcrypt/bcrypt-4.2.0-r2.ebuild) | 0 | ||||
-rw-r--r-- | dev-python/blake3/blake3-0.4.1-r1.ebuild (renamed from dev-python/blake3/blake3-0.4.1.ebuild) | 7 | ||||
-rw-r--r-- | dev-python/cramjam/cramjam-2.8.3-r1.ebuild (renamed from dev-python/cramjam/cramjam-2.8.3.ebuild) | 0 | ||||
-rw-r--r-- | dev-python/cramjam/cramjam-2.8.4-r1.ebuild (renamed from dev-python/cramjam/cramjam-2.8.4.ebuild) | 0 | ||||
-rw-r--r-- | dev-python/cramjam/cramjam-2.9.0-r1.ebuild (renamed from dev-python/cramjam/cramjam-2.9.0.ebuild) | 0 | ||||
-rw-r--r-- | dev-python/cryptography/cryptography-43.0.3-r1.ebuild (renamed from dev-python/cryptography/cryptography-43.0.3.ebuild) | 4 | ||||
-rw-r--r-- | dev-python/dulwich/dulwich-0.22.4-r1.ebuild (renamed from dev-python/dulwich/dulwich-0.22.4.ebuild) | 0 | ||||
-rw-r--r-- | dev-python/jellyfish/jellyfish-1.1.0-r1.ebuild (renamed from dev-python/jellyfish/jellyfish-1.1.0.ebuild) | 5 | ||||
-rw-r--r-- | dev-python/libcst/libcst-1.5.0-r1.ebuild (renamed from dev-python/libcst/libcst-1.5.0.ebuild) | 5 | ||||
-rw-r--r-- | dev-python/mitmproxy_wireguard/mitmproxy_wireguard-0.1.20-r1.ebuild (renamed from dev-python/mitmproxy_wireguard/mitmproxy_wireguard-0.1.20.ebuild) | 0 | ||||
-rw-r--r-- | dev-python/nh3/nh3-0.2.18-r1.ebuild (renamed from dev-python/nh3/nh3-0.2.18.ebuild) | 0 | ||||
-rw-r--r-- | dev-python/orjson/orjson-3.10.10-r1.ebuild (renamed from dev-python/orjson/orjson-3.10.10.ebuild) | 3 | ||||
-rw-r--r-- | dev-python/orjson/orjson-3.10.11-r1.ebuild (renamed from dev-python/orjson/orjson-3.10.11.ebuild) | 3 | ||||
-rw-r--r-- | dev-python/orjson/orjson-3.10.7-r1.ebuild (renamed from dev-python/orjson/orjson-3.10.7.ebuild) | 3 | ||||
-rw-r--r-- | dev-python/orjson/orjson-3.10.9-r1.ebuild (renamed from dev-python/orjson/orjson-3.10.9.ebuild) | 3 | ||||
-rw-r--r-- | dev-python/pydantic-core/pydantic-core-2.23.4-r1.ebuild (renamed from dev-python/pydantic-core/pydantic-core-2.23.4.ebuild) | 1 | ||||
-rw-r--r-- | dev-python/pydantic-core/pydantic-core-2.25.0-r1.ebuild (renamed from dev-python/pydantic-core/pydantic-core-2.25.0.ebuild) | 1 | ||||
-rw-r--r-- | dev-python/pydantic-core/pydantic-core-2.25.1-r1.ebuild (renamed from dev-python/pydantic-core/pydantic-core-2.25.1.ebuild) | 1 | ||||
-rw-r--r-- | dev-python/pydantic-core/pydantic-core-2.26.0-r1.ebuild (renamed from dev-python/pydantic-core/pydantic-core-2.26.0.ebuild) | 1 | ||||
-rw-r--r-- | dev-python/pyproject-fmt-rust/pyproject-fmt-rust-1.1.3-r1.ebuild (renamed from dev-python/pyproject-fmt-rust/pyproject-fmt-rust-1.1.3.ebuild) | 0 | ||||
-rw-r--r-- | dev-python/pyproject-fmt-rust/pyproject-fmt-rust-1.1.6-r1.ebuild (renamed from dev-python/pyproject-fmt-rust/pyproject-fmt-rust-1.1.6.ebuild) | 0 | ||||
-rw-r--r-- | dev-python/pyproject-fmt-rust/pyproject-fmt-rust-1.2.1-r1.ebuild (renamed from dev-python/pyproject-fmt-rust/pyproject-fmt-rust-1.2.1.ebuild) | 0 | ||||
-rw-r--r-- | dev-python/pyproject-fmt/pyproject-fmt-2.4.2-r1.ebuild (renamed from dev-python/pyproject-fmt/pyproject-fmt-2.4.2.ebuild) | 0 | ||||
-rw-r--r-- | dev-python/pyproject-fmt/pyproject-fmt-2.4.3-r1.ebuild (renamed from dev-python/pyproject-fmt/pyproject-fmt-2.4.3.ebuild) | 0 | ||||
-rw-r--r-- | dev-python/pyproject-fmt/pyproject-fmt-2.5.0-r1.ebuild (renamed from dev-python/pyproject-fmt/pyproject-fmt-2.5.0.ebuild) | 0 | ||||
-rw-r--r-- | dev-python/qiskit/qiskit-1.2.4-r1.ebuild (renamed from dev-python/qiskit/qiskit-1.2.4.ebuild) | 0 | ||||
-rw-r--r-- | dev-python/qiskit/qiskit-1.3.0_rc1-r1.ebuild (renamed from dev-python/qiskit/qiskit-1.3.0_rc1.ebuild) | 0 | ||||
-rw-r--r-- | dev-python/regress/regress-2024.11.1-r1.ebuild (renamed from dev-python/regress/regress-2024.11.1.ebuild) | 0 | ||||
-rw-r--r-- | dev-python/regress/regress-2024.8.1-r1.ebuild (renamed from dev-python/regress/regress-2024.8.1.ebuild) | 0 | ||||
-rw-r--r-- | dev-python/rpds-py/rpds-py-0.19.1-r1.ebuild (renamed from dev-python/rpds-py/rpds-py-0.19.1.ebuild) | 6 | ||||
-rw-r--r-- | dev-python/rpds-py/rpds-py-0.20.1-r1.ebuild (renamed from dev-python/rpds-py/rpds-py-0.20.1.ebuild) | 6 | ||||
-rw-r--r-- | dev-python/rpds-py/rpds-py-0.21.0-r1.ebuild (renamed from dev-python/rpds-py/rpds-py-0.21.0.ebuild) | 6 | ||||
-rw-r--r-- | dev-python/rustworkx/rustworkx-0.14.2-r2.ebuild (renamed from dev-python/rustworkx/rustworkx-0.14.2-r1.ebuild) | 0 | ||||
-rw-r--r-- | dev-python/rustworkx/rustworkx-0.15.0-r1.ebuild (renamed from dev-python/rustworkx/rustworkx-0.15.0.ebuild) | 0 | ||||
-rw-r--r-- | dev-python/rustworkx/rustworkx-0.15.1-r1.ebuild (renamed from dev-python/rustworkx/rustworkx-0.15.1.ebuild) | 0 | ||||
-rw-r--r-- | dev-python/setuptools-rust/setuptools-rust-1.10.2-r1.ebuild (renamed from dev-python/setuptools-rust/setuptools-rust-1.10.2.ebuild) | 2 | ||||
-rw-r--r-- | dev-python/sqlglot/sqlglot-25.28.0-r1.ebuild (renamed from dev-python/sqlglot/sqlglot-25.29.0.ebuild) | 4 | ||||
-rw-r--r-- | dev-python/sqlglot/sqlglot-25.29.0-r1.ebuild (renamed from dev-python/sqlglot/sqlglot-25.28.0.ebuild) | 4 | ||||
-rw-r--r-- | dev-python/uv/uv-0.4.30-r1.ebuild (renamed from dev-python/uv/uv-0.4.30.ebuild) | 4 | ||||
-rw-r--r-- | dev-python/uv/uv-0.5.0-r1.ebuild (renamed from dev-python/uv/uv-0.5.0.ebuild) | 4 | ||||
-rw-r--r-- | dev-python/watchfiles/watchfiles-0.23.0-r1.ebuild (renamed from dev-python/watchfiles/watchfiles-0.23.0.ebuild) | 0 | ||||
-rw-r--r-- | dev-python/watchfiles/watchfiles-0.24.0-r1.ebuild (renamed from dev-python/watchfiles/watchfiles-0.24.0.ebuild) | 0 | ||||
-rw-r--r-- | dev-util/bindgen/bindgen-0.68.1-r1.ebuild (renamed from dev-util/bindgen/bindgen-0.68.1.ebuild) | 2 | ||||
-rw-r--r-- | dev-util/bindgen/bindgen-0.69.4-r1.ebuild (renamed from dev-util/bindgen/bindgen-0.69.4.ebuild) | 2 | ||||
-rw-r--r-- | dev-util/bindgen/bindgen-0.70.1-r1.ebuild (renamed from dev-util/bindgen/bindgen-0.70.1.ebuild) | 2 | ||||
-rw-r--r-- | dev-util/bingrep/bingrep-0.10.1-r1.ebuild | 114 | ||||
-rw-r--r-- | dev-util/bingrep/bingrep-0.10.1.ebuild | 104 | ||||
-rw-r--r-- | dev-util/bingrep/bingrep-0.11.0-r1.ebuild | 117 | ||||
-rw-r--r-- | dev-util/bingrep/bingrep-0.11.0.ebuild | 108 | ||||
-rw-r--r-- | dev-util/bpftop/bpftop-0.2.3-r1.ebuild (renamed from dev-util/bpftop/bpftop-0.2.3.ebuild) | 0 | ||||
-rw-r--r-- | dev-util/bpftop/bpftop-0.5.1-r1.ebuild (renamed from dev-util/bpftop/bpftop-0.5.1.ebuild) | 0 | ||||
-rw-r--r-- | dev-util/bugbite-cli/bugbite-cli-0.0.12-r1.ebuild (renamed from dev-util/bugbite-cli/bugbite-cli-0.0.12.ebuild) | 6 | ||||
-rw-r--r-- | dev-util/bugbite-cli/bugbite-cli-0.0.13.ebuild | 3 | ||||
-rw-r--r-- | dev-util/cargo-audit/cargo-audit-0.20.1-r1.ebuild (renamed from dev-util/cargo-audit/cargo-audit-0.20.1.ebuild) | 0 | ||||
-rw-r--r-- | dev-util/cargo-audit/cargo-audit-0.21.0-r1.ebuild (renamed from dev-util/cargo-audit/cargo-audit-0.21.0.ebuild) | 0 | ||||
-rw-r--r-- | dev-util/cargo-c/cargo-c-0.10.0-r1.ebuild (renamed from dev-util/cargo-c/cargo-c-0.10.0.ebuild) | 3 | ||||
-rw-r--r-- | dev-util/cargo-c/cargo-c-0.10.4-r1.ebuild (renamed from dev-util/cargo-c/cargo-c-0.10.4.ebuild) | 3 | ||||
-rw-r--r-- | dev-util/cargo-c/cargo-c-0.10.5-r1.ebuild (renamed from dev-util/cargo-c/cargo-c-0.10.5.ebuild) | 3 | ||||
-rw-r--r-- | dev-util/cargo-c/cargo-c-0.9.14-r1.ebuild | 204 | ||||
-rw-r--r-- | dev-util/cargo-c/cargo-c-0.9.14.ebuild | 206 | ||||
-rw-r--r-- | dev-util/cargo-c/cargo-c-0.9.30-r1.ebuild (renamed from dev-util/cargo-c/cargo-c-0.9.30.ebuild) | 3 | ||||
-rw-r--r-- | dev-util/cargo-c/cargo-c-0.9.31-r1.ebuild (renamed from dev-util/cargo-c/cargo-c-0.9.31.ebuild) | 3 | ||||
-rw-r--r-- | dev-util/cargo-c/cargo-c-0.9.32-r1.ebuild (renamed from dev-util/cargo-c/cargo-c-0.9.32.ebuild) | 3 | ||||
-rw-r--r-- | dev-util/cargo-ebuild/cargo-ebuild-0.5.4-r2.ebuild (renamed from dev-util/cargo-ebuild/cargo-ebuild-0.5.4-r1.ebuild) | 12 | ||||
-rw-r--r-- | dev-util/cargo-license/cargo-license-0.5.1-r1.ebuild | 74 | ||||
-rw-r--r-- | dev-util/cargo-license/cargo-license-0.5.1.ebuild | 74 | ||||
-rw-r--r-- | dev-util/cargo-license/cargo-license-0.6.1-r1.ebuild (renamed from dev-util/cargo-license/cargo-license-0.6.1.ebuild) | 0 | ||||
-rw-r--r-- | dev-util/cargo-nextest/cargo-nextest-0.9.67-r1.ebuild (renamed from dev-util/cargo-nextest/cargo-nextest-0.9.67.ebuild) | 0 | ||||
-rw-r--r-- | dev-util/cargo-nextest/cargo-nextest-0.9.72-r1.ebuild (renamed from dev-util/cargo-nextest/cargo-nextest-0.9.72.ebuild) | 4 | ||||
-rw-r--r-- | dev-util/cargo-tarpaulin/cargo-tarpaulin-0.30.0-r1.ebuild (renamed from dev-util/cargo-tarpaulin/cargo-tarpaulin-0.30.0.ebuild) | 6 | ||||
-rw-r--r-- | dev-util/cbindgen/cbindgen-0.26.0-r1.ebuild (renamed from dev-util/cbindgen/cbindgen-0.26.0.ebuild) | 2 | ||||
-rw-r--r-- | dev-util/cbindgen/cbindgen-0.27.0-r1.ebuild (renamed from dev-util/cbindgen/cbindgen-0.27.0.ebuild) | 0 | ||||
-rw-r--r-- | dev-util/difftastic/difftastic-0.60.0-r1.ebuild (renamed from dev-util/difftastic/difftastic-0.60.0.ebuild) | 0 | ||||
-rw-r--r-- | dev-util/difftastic/difftastic-0.61.0-r1.ebuild (renamed from dev-util/difftastic/difftastic-0.61.0.ebuild) | 0 | ||||
-rw-r--r-- | dev-util/elfshaker/Manifest | 149 | ||||
-rw-r--r-- | dev-util/elfshaker/elfshaker-0.9.0_p20230918.ebuild | 137 | ||||
-rw-r--r-- | dev-util/elfshaker/elfshaker-0.9.0_p20240122.ebuild | 137 | ||||
-rw-r--r-- | dev-util/elfshaker/elfshaker-0.9.0_p20240914.ebuild | 141 | ||||
-rw-r--r-- | dev-util/elfshaker/files/elfshaker-0.9.0_p20230918-update-rustc-serialize.patch | 16 | ||||
-rw-r--r-- | dev-util/git-delta/git-delta-0.16.5-r1.ebuild (renamed from dev-util/git-delta/git-delta-0.16.5.ebuild) | 6 | ||||
-rw-r--r-- | dev-util/git-delta/git-delta-0.17.0-r1.ebuild (renamed from dev-util/git-delta/git-delta-0.17.0.ebuild) | 5 | ||||
-rw-r--r-- | dev-util/git-delta/git-delta-0.18.1-r1.ebuild (renamed from dev-util/git-delta/git-delta-0.18.1.ebuild) | 5 | ||||
-rw-r--r-- | dev-util/git-delta/git-delta-0.18.2-r1.ebuild (renamed from dev-util/git-delta/git-delta-0.18.2.ebuild) | 5 | ||||
-rw-r--r-- | dev-util/gnome-builder/gnome-builder-44.2-r1.ebuild | 4 | ||||
-rw-r--r-- | dev-util/maturin/maturin-1.7.4-r1.ebuild (renamed from dev-util/maturin/maturin-1.7.4.ebuild) | 3 | ||||
-rw-r--r-- | dev-util/pkgcruft/pkgcruft-0.0.1-r1.ebuild (renamed from dev-util/pkgcruft/pkgcruft-0.0.2.ebuild) | 4 | ||||
-rw-r--r-- | dev-util/pkgcruft/pkgcruft-0.0.2-r1.ebuild (renamed from dev-util/pkgcruft/pkgcruft-0.0.3.ebuild) | 5 | ||||
-rw-r--r-- | dev-util/pkgcruft/pkgcruft-0.0.3-r1.ebuild (renamed from dev-util/pkgcruft/pkgcruft-0.0.1.ebuild) | 3 | ||||
-rw-r--r-- | dev-util/pkgcruft/pkgcruft-9999.ebuild | 3 | ||||
-rw-r--r-- | dev-util/py-spy/Manifest | 281 | ||||
-rw-r--r-- | dev-util/py-spy/py-spy-0.3.14.ebuild | 172 | ||||
-rw-r--r-- | dev-util/py-spy/py-spy-0.4.0.ebuild | 227 | ||||
-rw-r--r-- | dev-util/rinstall/rinstall-0.2.0-r1.ebuild | 108 | ||||
-rw-r--r-- | dev-util/rinstall/rinstall-0.2.0.ebuild | 108 | ||||
-rw-r--r-- | dev-util/ruff/ruff-0.7.0-r1.ebuild (renamed from dev-util/ruff/ruff-0.7.0.ebuild) | 5 | ||||
-rw-r--r-- | dev-util/ruff/ruff-0.7.1-r1.ebuild (renamed from dev-util/ruff/ruff-0.7.1.ebuild) | 5 | ||||
-rw-r--r-- | dev-util/ruff/ruff-0.7.2-r1.ebuild (renamed from dev-util/ruff/ruff-0.7.2.ebuild) | 5 | ||||
-rw-r--r-- | dev-util/rustup/rustup-1.27.0-r1.ebuild (renamed from dev-util/rustup/rustup-1.27.0.ebuild) | 1 | ||||
-rw-r--r-- | dev-util/rustup/rustup-1.27.1-r1.ebuild (renamed from dev-util/rustup/rustup-1.27.1.ebuild) | 0 | ||||
-rw-r--r-- | dev-util/rustup/rustup-9999.ebuild | 1 | ||||
-rw-r--r-- | dev-util/sccache/sccache-0.5.4-r2.ebuild (renamed from dev-util/sccache/sccache-0.5.4-r1.ebuild) | 10 | ||||
-rw-r--r-- | dev-util/sccache/sccache-9999.ebuild | 1 | ||||
-rw-r--r-- | dev-util/selenium-manager/selenium-manager-4.25.0-r1.ebuild (renamed from dev-util/selenium-manager/selenium-manager-4.25.0.ebuild) | 0 | ||||
-rw-r--r-- | dev-util/selenium-manager/selenium-manager-4.26.0-r1.ebuild (renamed from dev-util/selenium-manager/selenium-manager-4.26.0.ebuild) | 0 | ||||
-rw-r--r-- | dev-util/tree-sitter-cli/tree-sitter-cli-0.22.6-r1.ebuild (renamed from dev-util/tree-sitter-cli/tree-sitter-cli-0.22.6.ebuild) | 0 | ||||
-rw-r--r-- | dev-util/tree-sitter-cli/tree-sitter-cli-0.23.0-r1.ebuild (renamed from dev-util/tree-sitter-cli/tree-sitter-cli-0.23.0.ebuild) | 0 | ||||
-rw-r--r-- | dev-util/tree-sitter-cli/tree-sitter-cli-0.23.2-r1.ebuild (renamed from dev-util/tree-sitter-cli/tree-sitter-cli-0.23.2.ebuild) | 0 | ||||
-rw-r--r-- | dev-util/tree-sitter-cli/tree-sitter-cli-0.24.3-r1.ebuild (renamed from dev-util/tree-sitter-cli/tree-sitter-cli-0.24.3.ebuild) | 0 | ||||
-rw-r--r-- | dev-util/wachy/wachy-0.1.0_alpha6-r2.ebuild (renamed from dev-util/wachy/wachy-0.1.0_alpha6-r1.ebuild) | 0 | ||||
-rw-r--r-- | dev-util/wasmer/wasmer-0.11.0.ebuild | 1 | ||||
-rw-r--r-- | dev-util/watchman/watchman-2023.06.19.00-r1.ebuild (renamed from dev-util/watchman/watchman-2023.06.19.00.ebuild) | 3 | ||||
-rw-r--r-- | dev-vcs/breezy/breezy-3.3.5-r1.ebuild (renamed from dev-vcs/breezy/breezy-3.3.5.ebuild) | 0 | ||||
-rw-r--r-- | dev-vcs/breezy/breezy-3.3.7-r2.ebuild (renamed from dev-vcs/breezy/breezy-3.3.7-r1.ebuild) | 0 | ||||
-rw-r--r-- | dev-vcs/git-absorb/git-absorb-0.6.15-r1.ebuild (renamed from dev-vcs/git-absorb/git-absorb-0.6.15.ebuild) | 0 | ||||
-rw-r--r-- | dev-vcs/mercurial/mercurial-6.5.3-r2.ebuild (renamed from dev-vcs/mercurial/mercurial-6.5.3-r1.ebuild) | 5 | ||||
-rw-r--r-- | dev-vcs/mercurial/mercurial-6.6.2-r2.ebuild (renamed from dev-vcs/mercurial/mercurial-6.6.2-r1.ebuild) | 3 | ||||
-rw-r--r-- | dev-vcs/mercurial/mercurial-6.7.4-r2.ebuild (renamed from dev-vcs/mercurial/mercurial-6.7.4-r1.ebuild) | 3 | ||||
-rw-r--r-- | dev-vcs/mercurial/mercurial-6.8.1-r1.ebuild (renamed from dev-vcs/mercurial/mercurial-6.8.1.ebuild) | 3 | ||||
-rw-r--r-- | dev-vcs/mercurial/mercurial-9999.ebuild | 3 | ||||
-rw-r--r-- | dev-vcs/stgit/stgit-2.4.11-r1.ebuild (renamed from dev-vcs/stgit/stgit-2.4.11.ebuild) | 0 | ||||
-rw-r--r-- | dev-vcs/stgit/stgit-2.4.12-r1.ebuild (renamed from dev-vcs/stgit/stgit-2.4.12.ebuild) | 0 | ||||
-rw-r--r-- | dev-vcs/stgit/stgit-2.4.6-r1.ebuild (renamed from dev-vcs/stgit/stgit-2.4.6.ebuild) | 0 | ||||
-rw-r--r-- | eclass/cargo.eclass | 59 | ||||
-rw-r--r-- | eclass/rust.eclass | 464 | ||||
-rw-r--r-- | eclass/toolchain.eclass | 6 | ||||
-rw-r--r-- | games-board/jja/jja-0.9.1-r1.ebuild (renamed from games-board/jja/jja-0.9.1.ebuild) | 2 | ||||
-rw-r--r-- | games-emulation/rmg/rmg-0.6.5-r1.ebuild (renamed from games-emulation/rmg/rmg-0.6.6.ebuild) | 3 | ||||
-rw-r--r-- | games-emulation/rmg/rmg-0.6.6-r1.ebuild (renamed from games-emulation/rmg/rmg-0.6.5.ebuild) | 3 | ||||
-rw-r--r-- | games-emulation/rmg/rmg-9999.ebuild | 3 | ||||
-rw-r--r-- | games-puzzle/syzygy/syzygy-1.0.2-r1.ebuild (renamed from games-puzzle/syzygy/syzygy-1.0.2.ebuild) | 1 | ||||
-rw-r--r-- | games-rpg/rpg-cli/rpg-cli-1.2.0-r1.ebuild (renamed from games-rpg/rpg-cli/rpg-cli-1.2.0.ebuild) | 0 | ||||
-rw-r--r-- | games-strategy/0ad/0ad-0.0.26_alpha-r2.ebuild (renamed from games-strategy/0ad/0ad-0.0.26_alpha-r1.ebuild) | 7 | ||||
-rw-r--r-- | games-strategy/ja2-stracciatella/ja2-stracciatella-0.21.0-r1.ebuild | 278 | ||||
-rw-r--r-- | games-strategy/ja2-stracciatella/ja2-stracciatella-0.21.0.ebuild | 271 | ||||
-rw-r--r-- | gnome-base/librsvg/librsvg-2.57.3-r1.ebuild (renamed from gnome-base/librsvg/librsvg-2.57.3.ebuild) | 6 | ||||
-rw-r--r-- | gnome-base/librsvg/librsvg-2.58.2-r1.ebuild (renamed from gnome-base/librsvg/librsvg-2.58.2.ebuild) | 12 | ||||
-rw-r--r-- | gui-apps/railway/railway-2.7.0-r1.ebuild (renamed from gui-apps/railway/railway-2.7.0.ebuild) | 4 | ||||
-rw-r--r-- | gui-apps/tuigreet/tuigreet-0.8.0-r1.ebuild | 164 | ||||
-rw-r--r-- | gui-apps/tuigreet/tuigreet-0.8.0-r2.ebuild | 164 | ||||
-rw-r--r-- | gui-apps/tuigreet/tuigreet-0.9.1-r1.ebuild (renamed from gui-apps/tuigreet/tuigreet-0.9.1.ebuild) | 0 | ||||
-rw-r--r-- | gui-libs/greetd/greetd-0.10.0-r1.ebuild (renamed from gui-libs/greetd/greetd-0.10.0.ebuild) | 0 | ||||
-rw-r--r-- | gui-libs/greetd/greetd-0.10.3-r1.ebuild (renamed from gui-libs/greetd/greetd-0.10.3.ebuild) | 0 | ||||
-rw-r--r-- | mail-client/thunderbird/thunderbird-128.3.1-r1.ebuild (renamed from mail-client/thunderbird/thunderbird-128.3.1.ebuild) | 27 | ||||
-rw-r--r-- | mail-client/thunderbird/thunderbird-128.3.3-r1.ebuild (renamed from mail-client/thunderbird/thunderbird-128.3.3.ebuild) | 27 | ||||
-rw-r--r-- | mail-client/thunderbird/thunderbird-128.4.0-r1.ebuild (renamed from mail-client/thunderbird/thunderbird-128.4.0.ebuild) | 27 | ||||
-rw-r--r-- | mail-client/thunderbird/thunderbird-128.4.2-r1.ebuild (renamed from mail-client/thunderbird/thunderbird-128.4.2.ebuild) | 28 | ||||
-rw-r--r-- | media-gfx/darktable/darktable-4.6.0.ebuild | 2 | ||||
-rw-r--r-- | media-gfx/darktable/darktable-4.6.1.ebuild | 2 | ||||
-rw-r--r-- | media-gfx/darktable/darktable-4.8.0.ebuild | 2 | ||||
-rw-r--r-- | media-gfx/fotema/fotema-1.14.2-r2.ebuild (renamed from media-gfx/fotema/fotema-1.14.2-r1.ebuild) | 0 | ||||
-rw-r--r-- | media-gfx/fotema/fotema-1.14.3-r1.ebuild (renamed from media-gfx/fotema/fotema-1.14.3.ebuild) | 0 | ||||
-rw-r--r-- | media-gfx/fotema/fotema-1.14.4-r1.ebuild (renamed from media-gfx/fotema/fotema-1.14.4.ebuild) | 0 | ||||
-rw-r--r-- | media-gfx/libimagequant/libimagequant-4.2.2-r1.ebuild (renamed from media-gfx/libimagequant/libimagequant-4.2.2.ebuild) | 1 | ||||
-rw-r--r-- | media-gfx/libimagequant/libimagequant-4.3.0-r1.ebuild (renamed from media-gfx/libimagequant/libimagequant-4.3.0.ebuild) | 1 | ||||
-rw-r--r-- | media-gfx/oxipng/oxipng-8.0.0-r1.ebuild | 117 | ||||
-rw-r--r-- | media-gfx/oxipng/oxipng-8.0.0.ebuild | 118 | ||||
-rw-r--r-- | media-gfx/oxipng/oxipng-9.0.0-r1.ebuild (renamed from media-gfx/oxipng/oxipng-9.0.0.ebuild) | 2 | ||||
-rw-r--r-- | media-gfx/oxipng/oxipng-9.1.2-r1.ebuild (renamed from media-gfx/oxipng/oxipng-9.1.2.ebuild) | 4 | ||||
-rw-r--r-- | media-libs/glycin-loaders/glycin-loaders-1.1.0-r1.ebuild (renamed from media-libs/glycin-loaders/glycin-loaders-1.1.0.ebuild) | 0 | ||||
-rw-r--r-- | media-libs/glycin-loaders/glycin-loaders-1.1.1-r1.ebuild (renamed from media-libs/glycin-loaders/glycin-loaders-1.1.1.ebuild) | 0 | ||||
-rw-r--r-- | media-libs/libdovi/libdovi-3.3.1-r1.ebuild (renamed from media-libs/libdovi/libdovi-3.3.1.ebuild) | 5 | ||||
-rw-r--r-- | media-libs/libopenraw/libopenraw-0.3.7-r1.ebuild (renamed from media-libs/libopenraw/libopenraw-0.3.7.ebuild) | 3 | ||||
-rw-r--r-- | media-libs/mesa/mesa-24.1.7-r1.ebuild (renamed from media-libs/mesa/mesa-24.1.7.ebuild) | 11 | ||||
-rw-r--r-- | media-libs/mesa/mesa-24.2.3-r1.ebuild (renamed from media-libs/mesa/mesa-24.2.3.ebuild) | 11 | ||||
-rw-r--r-- | media-libs/mesa/mesa-24.2.4-r1.ebuild (renamed from media-libs/mesa/mesa-24.2.4.ebuild) | 11 | ||||
-rw-r--r-- | media-libs/mesa/mesa-24.2.5-r1.ebuild (renamed from media-libs/mesa/mesa-24.2.5.ebuild) | 11 | ||||
-rw-r--r-- | media-libs/mesa/mesa-24.2.6-r1.ebuild (renamed from media-libs/mesa/mesa-24.2.6.ebuild) | 11 | ||||
-rw-r--r-- | media-libs/mesa/mesa-9999.ebuild | 14 | ||||
-rw-r--r-- | media-sound/helvum/helvum-0.4.1-r1.ebuild | 8 | ||||
-rw-r--r-- | media-sound/helvum/helvum-0.5.1-r3.ebuild | 8 | ||||
-rw-r--r-- | media-sound/ncspot/ncspot-1.1.2-r1.ebuild (renamed from media-sound/ncspot/ncspot-1.1.2.ebuild) | 5 | ||||
-rw-r--r-- | media-sound/ncspot/ncspot-1.2.0-r1.ebuild (renamed from media-sound/ncspot/ncspot-1.2.0.ebuild) | 0 | ||||
-rw-r--r-- | media-sound/ncspot/ncspot-1.2.1-r1.ebuild (renamed from media-sound/ncspot/ncspot-1.2.1.ebuild) | 0 | ||||
-rw-r--r-- | media-sound/rescrobbled/rescrobbled-0.7.1-r1.ebuild (renamed from media-sound/rescrobbled/rescrobbled-0.7.1.ebuild) | 2 | ||||
-rw-r--r-- | media-video/rav1e/rav1e-0.6.6-r1.ebuild | 306 | ||||
-rw-r--r-- | media-video/rav1e/rav1e-0.6.6.ebuild | 307 | ||||
-rw-r--r-- | media-video/rav1e/rav1e-0.7.1-r1.ebuild (renamed from media-video/rav1e/rav1e-0.7.1.ebuild) | 1 | ||||
-rw-r--r-- | media-video/rav1e/rav1e-9999.ebuild | 1 | ||||
-rw-r--r-- | net-analyzer/suricata/suricata-7.0.5-r1.ebuild (renamed from net-analyzer/suricata/suricata-7.0.5.ebuild) | 9 | ||||
-rw-r--r-- | net-analyzer/trippy/trippy-0.10.0-r1.ebuild (renamed from net-analyzer/trippy/trippy-0.10.0.ebuild) | 0 | ||||
-rw-r--r-- | net-analyzer/trippy/trippy-0.11.0-r1.ebuild (renamed from net-analyzer/trippy/trippy-0.11.0.ebuild) | 0 | ||||
-rw-r--r-- | net-analyzer/trippy/trippy-0.9.0-r1.ebuild (renamed from net-analyzer/trippy/trippy-0.9.0.ebuild) | 0 | ||||
-rw-r--r-- | net-dns/pdns-recursor/pdns-recursor-5.0.9-r1.ebuild (renamed from net-dns/pdns-recursor/pdns-recursor-5.0.9.ebuild) | 1 | ||||
-rw-r--r-- | net-dns/pdns-recursor/pdns-recursor-5.1.2-r1.ebuild (renamed from net-dns/pdns-recursor/pdns-recursor-5.1.3.ebuild) | 1 | ||||
-rw-r--r-- | net-dns/pdns-recursor/pdns-recursor-5.1.3-r1.ebuild (renamed from net-dns/pdns-recursor/pdns-recursor-5.1.2.ebuild) | 1 | ||||
-rw-r--r-- | net-im/fractal/fractal-8-r1.ebuild (renamed from net-im/fractal/fractal-8.ebuild) | 5 | ||||
-rw-r--r-- | net-im/synapse/synapse-1.114.0-r3.ebuild (renamed from net-im/synapse/synapse-1.114.0-r2.ebuild) | 0 | ||||
-rw-r--r-- | net-im/synapse/synapse-1.116.0-r5.ebuild (renamed from net-im/synapse/synapse-1.116.0-r3.ebuild) | 0 | ||||
-rw-r--r-- | net-im/synapse/synapse-1.117.0-r1.ebuild (renamed from net-im/synapse/synapse-1.117.0.ebuild) | 0 | ||||
-rw-r--r-- | net-im/synapse/synapse-1.118.0-r1.ebuild (renamed from net-im/synapse/synapse-1.118.0.ebuild) | 0 | ||||
-rw-r--r-- | net-libs/quiche/quiche-0.22.0-r1.ebuild (renamed from net-libs/quiche/quiche-0.22.0.ebuild) | 5 | ||||
-rw-r--r-- | net-libs/quiche/quiche-9999.ebuild | 5 | ||||
-rw-r--r-- | net-libs/rustls-ffi/rustls-ffi-0.10.0-r2.ebuild (renamed from net-libs/rustls-ffi/rustls-ffi-0.10.0-r1.ebuild) | 84 | ||||
-rw-r--r-- | net-libs/rustls-ffi/rustls-ffi-0.12.1-r3.ebuild (renamed from net-libs/rustls-ffi/rustls-ffi-0.12.1-r2.ebuild) | 2 | ||||
-rw-r--r-- | net-libs/rustls-ffi/rustls-ffi-0.12.2-r1.ebuild (renamed from net-libs/rustls-ffi/rustls-ffi-0.12.2.ebuild) | 0 | ||||
-rw-r--r-- | net-libs/rustls-ffi/rustls-ffi-0.13.0-r1.ebuild (renamed from net-libs/rustls-ffi/rustls-ffi-0.13.0.ebuild) | 0 | ||||
-rw-r--r-- | net-libs/rustls-ffi/rustls-ffi-0.9.1-r2.ebuild (renamed from net-libs/rustls-ffi/rustls-ffi-0.9.1-r1.ebuild) | 126 | ||||
-rw-r--r-- | net-misc/asahi-btsync/asahi-btsync-0.2.0-r1.ebuild (renamed from net-misc/asahi-btsync/asahi-btsync-0.2.0.ebuild) | 10 | ||||
-rw-r--r-- | net-misc/asahi-wifisync/asahi-wifisync-0.2.0-r1.ebuild (renamed from net-misc/asahi-wifisync/asahi-wifisync-0.2.0.ebuild) | 8 | ||||
-rw-r--r-- | net-misc/geckodriver/geckodriver-0.35.0-r1.ebuild (renamed from net-misc/geckodriver/geckodriver-0.35.0.ebuild) | 1 | ||||
-rw-r--r-- | net-misc/hurl/hurl-4.1.0-r1.ebuild (renamed from net-misc/hurl/hurl-4.1.0.ebuild) | 0 | ||||
-rw-r--r-- | net-misc/hurl/hurl-5.0.1-r1.ebuild (renamed from net-misc/hurl/hurl-5.0.1.ebuild) | 0 | ||||
-rw-r--r-- | net-misc/websocat/websocat-1.12.0-r1.ebuild (renamed from net-misc/websocat/websocat-1.12.0.ebuild) | 1 | ||||
-rw-r--r-- | net-misc/websocat/websocat-1.13.0-r1.ebuild (renamed from net-misc/websocat/websocat-1.13.0.ebuild) | 1 | ||||
-rw-r--r-- | net-misc/zerotier/zerotier-1.14.1-r1.ebuild (renamed from net-misc/zerotier/zerotier-1.14.1.ebuild) | 4 | ||||
-rw-r--r-- | net-misc/zerotier/zerotier-1.14.2-r1.ebuild (renamed from net-misc/zerotier/zerotier-1.14.2.ebuild) | 4 | ||||
-rw-r--r-- | net-nds/389-ds-base/389-ds-base-3.0.2-r1.ebuild (renamed from net-nds/389-ds-base/389-ds-base-3.0.2.ebuild) | 9 | ||||
-rw-r--r-- | net-nds/389-ds-base/files/389-ds-base-3.0.2-fix-rust-in-configure.patch | 34 | ||||
-rw-r--r-- | net-news/newsboat/newsboat-2.30.1-r1.ebuild | 174 | ||||
-rw-r--r-- | net-news/newsboat/newsboat-2.30.1.ebuild | 175 | ||||
-rw-r--r-- | net-news/newsboat/newsboat-2.34-r1.ebuild (renamed from net-news/newsboat/newsboat-2.34.ebuild) | 3 | ||||
-rw-r--r-- | net-p2p/arti/arti-1.2.6-r1.ebuild (renamed from net-p2p/arti/arti-1.2.6.ebuild) | 0 | ||||
-rw-r--r-- | net-p2p/arti/arti-1.2.7-r1.ebuild (renamed from net-p2p/arti/arti-1.2.7.ebuild) | 0 | ||||
-rw-r--r-- | net-vpn/vpncloud/vpncloud-2.3.0-r2.ebuild (renamed from net-vpn/vpncloud/vpncloud-2.3.0-r1.ebuild) | 0 | ||||
-rw-r--r-- | profiles/arch/mips/package.use.mask | 4 | ||||
-rw-r--r-- | profiles/features/wd40/README | 2 | ||||
-rw-r--r-- | profiles/features/wd40/package.use.mask | 4 | ||||
-rw-r--r-- | profiles/package.mask | 36 | ||||
-rw-r--r-- | sci-calculators/xsv/xsv-0.13.0-r1.ebuild | 2 | ||||
-rw-r--r-- | sci-libs/safetensors/safetensors-0.4.3-r1.ebuild (renamed from sci-libs/safetensors/safetensors-0.4.3.ebuild) | 0 | ||||
-rw-r--r-- | sci-libs/safetensors/safetensors-0.4.5-r1.ebuild (renamed from sci-libs/safetensors/safetensors-0.4.5.ebuild) | 0 | ||||
-rw-r--r-- | sci-libs/tokenizers/tokenizers-0.20.1-r1.ebuild (renamed from sci-libs/tokenizers/tokenizers-0.20.1.ebuild) | 5 | ||||
-rw-r--r-- | sys-apps/amdgpu_top/amdgpu_top-0.7.0-r1.ebuild (renamed from sys-apps/amdgpu_top/amdgpu_top-0.7.0.ebuild) | 3 | ||||
-rw-r--r-- | sys-apps/amdgpu_top/amdgpu_top-0.9.1-r1.ebuild (renamed from sys-apps/amdgpu_top/amdgpu_top-0.9.1.ebuild) | 0 | ||||
-rw-r--r-- | sys-apps/asahi-bless/asahi-bless-0.3.0-r1.ebuild (renamed from sys-apps/asahi-bless/asahi-bless-0.3.0.ebuild) | 5 | ||||
-rw-r--r-- | sys-apps/asahi-nvram/asahi-nvram-0.2.1-r1.ebuild (renamed from sys-apps/asahi-nvram/asahi-nvram-0.2.1.ebuild) | 5 | ||||
-rw-r--r-- | sys-apps/asahi-startup-disk/asahi-startup-disk-0.1.3-r1.ebuild (renamed from sys-apps/asahi-startup-disk/asahi-startup-disk-0.1.3.ebuild) | 0 | ||||
-rw-r--r-- | sys-apps/bat/bat-0.23.0-r2.ebuild (renamed from sys-apps/bat/bat-0.23.0-r1.ebuild) | 0 | ||||
-rw-r--r-- | sys-apps/bat/bat-0.24.0-r2.ebuild (renamed from sys-apps/bat/bat-0.24.0-r1.ebuild) | 0 | ||||
-rw-r--r-- | sys-apps/cyme/cyme-2.0.0-r1.ebuild (renamed from sys-apps/cyme/cyme-2.0.0.ebuild) | 0 | ||||
-rw-r--r-- | sys-apps/cyme/cyme-2.1.0-r1.ebuild (renamed from sys-apps/cyme/cyme-2.1.0.ebuild) | 0 | ||||
-rw-r--r-- | sys-apps/eza/eza-0.18.16-r1.ebuild (renamed from sys-apps/eza/eza-0.18.16.ebuild) | 1 | ||||
-rw-r--r-- | sys-apps/eza/eza-0.19.0-r1.ebuild (renamed from sys-apps/eza/eza-0.19.0.ebuild) | 1 | ||||
-rw-r--r-- | sys-apps/eza/eza-0.19.2-r1.ebuild (renamed from sys-apps/eza/eza-0.19.2.ebuild) | 1 | ||||
-rw-r--r-- | sys-apps/eza/eza-0.20.0-r1.ebuild (renamed from sys-apps/eza/eza-0.20.0.ebuild) | 1 | ||||
-rw-r--r-- | sys-apps/fd/fd-10.2.0-r1.ebuild (renamed from sys-apps/fd/fd-10.2.0.ebuild) | 5 | ||||
-rw-r--r-- | sys-apps/ipmi-fan-control/ipmi-fan-control-0.4.0-r1.ebuild | 161 | ||||
-rw-r--r-- | sys-apps/ipmi-fan-control/ipmi-fan-control-0.4.0.ebuild | 161 | ||||
-rw-r--r-- | sys-apps/ipmi-fan-control/ipmi-fan-control-9999.ebuild | 2 | ||||
-rw-r--r-- | sys-apps/lsd/lsd-1.1.3-r1.ebuild (renamed from sys-apps/lsd/lsd-1.1.3.ebuild) | 0 | ||||
-rw-r--r-- | sys-apps/pkgcraft-tools/pkgcraft-tools-0.0.14-r1.ebuild (renamed from sys-apps/pkgcraft-tools/pkgcraft-tools-0.0.15.ebuild) | 11 | ||||
-rw-r--r-- | sys-apps/pkgcraft-tools/pkgcraft-tools-0.0.15-r1.ebuild (renamed from sys-apps/pkgcraft-tools/pkgcraft-tools-0.0.16.ebuild) | 12 | ||||
-rw-r--r-- | sys-apps/pkgcraft-tools/pkgcraft-tools-0.0.16-r1.ebuild (renamed from sys-apps/pkgcraft-tools/pkgcraft-tools-0.0.14.ebuild) | 18 | ||||
-rw-r--r-- | sys-apps/pkgcraft-tools/pkgcraft-tools-9999.ebuild | 10 | ||||
-rw-r--r-- | sys-apps/ripgrep/ripgrep-14.1.1-r1.ebuild (renamed from sys-apps/ripgrep/ripgrep-14.1.1.ebuild) | 3 | ||||
-rw-r--r-- | sys-apps/systemctl-tui/systemctl-tui-0.3.4-r1.ebuild (renamed from sys-apps/systemctl-tui/systemctl-tui-0.3.4.ebuild) | 0 | ||||
-rw-r--r-- | sys-apps/uutils-coreutils/uutils-coreutils-0.0.25-r1.ebuild (renamed from sys-apps/uutils-coreutils/uutils-coreutils-0.0.25.ebuild) | 1 | ||||
-rw-r--r-- | sys-apps/uutils-coreutils/uutils-coreutils-0.0.27-r1.ebuild (renamed from sys-apps/uutils-coreutils/uutils-coreutils-0.0.27.ebuild) | 1 | ||||
-rw-r--r-- | sys-apps/uutils-coreutils/uutils-coreutils-9999.ebuild | 1 | ||||
-rw-r--r-- | sys-apps/uutils-findutils/uutils-findutils-0.4.2-r1.ebuild | 15 | ||||
-rw-r--r-- | sys-apps/uutils-findutils/uutils-findutils-0.5.0-r1.ebuild (renamed from sys-apps/uutils-findutils/uutils-findutils-0.5.0.ebuild) | 6 | ||||
-rw-r--r-- | sys-apps/uutils-findutils/uutils-findutils-9999.ebuild | 3 | ||||
-rw-r--r-- | sys-apps/zram-generator/zram-generator-1.1.2-r1.ebuild (renamed from sys-apps/zram-generator/zram-generator-1.1.2.ebuild) | 83 | ||||
-rw-r--r-- | sys-block/dust/dust-1.1.1-r1.ebuild (renamed from sys-block/dust/dust-1.1.1.ebuild) | 0 | ||||
-rw-r--r-- | sys-block/thin-provisioning-tools/thin-provisioning-tools-1.0.10-r1.ebuild (renamed from sys-block/thin-provisioning-tools/thin-provisioning-tools-1.0.10.ebuild) | 0 | ||||
-rw-r--r-- | sys-block/thin-provisioning-tools/thin-provisioning-tools-1.0.13-r1.ebuild (renamed from sys-block/thin-provisioning-tools/thin-provisioning-tools-1.0.13.ebuild) | 0 | ||||
-rw-r--r-- | sys-block/thin-provisioning-tools/thin-provisioning-tools-1.0.14-r1.ebuild (renamed from sys-block/thin-provisioning-tools/thin-provisioning-tools-1.0.14.ebuild) | 2 | ||||
-rw-r--r-- | sys-block/thin-provisioning-tools/thin-provisioning-tools-1.1.0-r2.ebuild (renamed from sys-block/thin-provisioning-tools/thin-provisioning-tools-1.1.0-r1.ebuild) | 2 | ||||
-rw-r--r-- | sys-devel/gcc/gcc-8.5.0-r2.ebuild (renamed from sys-devel/gcc/gcc-8.5.0-r1.ebuild) | 2 | ||||
-rw-r--r-- | sys-fs/bcachefs-tools/bcachefs-tools-1.11.0-r1.ebuild (renamed from sys-fs/bcachefs-tools/bcachefs-tools-1.11.0.ebuild) | 3 | ||||
-rw-r--r-- | sys-fs/bcachefs-tools/bcachefs-tools-1.13.0-r1.ebuild (renamed from sys-fs/bcachefs-tools/bcachefs-tools-1.13.0.ebuild) | 4 | ||||
-rw-r--r-- | sys-fs/bcachefs-tools/bcachefs-tools-1.7.0-r1.ebuild (renamed from sys-fs/bcachefs-tools/bcachefs-tools-1.7.0.ebuild) | 3 | ||||
-rw-r--r-- | sys-fs/bcachefs-tools/bcachefs-tools-1.9.4-r1.ebuild (renamed from sys-fs/bcachefs-tools/bcachefs-tools-1.9.4.ebuild) | 3 | ||||
-rw-r--r-- | sys-fs/bcachefs-tools/bcachefs-tools-9999.ebuild | 1 | ||||
-rw-r--r-- | sys-kernel/scx/scx-1.0.5-r2.ebuild (renamed from sys-kernel/scx/scx-1.0.5-r1.ebuild) | 6 | ||||
-rw-r--r-- | sys-kernel/scx/scx-1.0.6-r1.ebuild (renamed from sys-kernel/scx/scx-1.0.6.ebuild) | 6 | ||||
-rw-r--r-- | sys-libs/pkgcraft/pkgcraft-0.0.14-r1.ebuild (renamed from sys-libs/pkgcraft/pkgcraft-0.0.15.ebuild) | 2 | ||||
-rw-r--r-- | sys-libs/pkgcraft/pkgcraft-0.0.15-r1.ebuild (renamed from sys-libs/pkgcraft/pkgcraft-0.0.14.ebuild) | 3 | ||||
-rw-r--r-- | sys-libs/pkgcraft/pkgcraft-0.0.16-r1.ebuild (renamed from sys-libs/pkgcraft/pkgcraft-0.0.16.ebuild) | 4 | ||||
-rw-r--r-- | sys-libs/pkgcraft/pkgcraft-9999.ebuild | 1 | ||||
-rw-r--r-- | sys-power/wluma/wluma-4.3.0-r3.ebuild (renamed from sys-power/wluma/wluma-4.3.0-r2.ebuild) | 0 | ||||
-rw-r--r-- | sys-power/wluma/wluma-4.4.0-r2.ebuild (renamed from sys-power/wluma/wluma-4.4.0-r1.ebuild) | 0 | ||||
-rw-r--r-- | sys-process/below/below-0.8.1-r1.ebuild (renamed from sys-process/below/below-0.8.1.ebuild) | 3 | ||||
-rw-r--r-- | sys-process/bottom/bottom-0.10.1-r1.ebuild (renamed from sys-process/bottom/bottom-0.10.1.ebuild) | 0 | ||||
-rw-r--r-- | sys-process/bottom/bottom-0.10.2-r1.ebuild (renamed from sys-process/bottom/bottom-0.10.2.ebuild) | 0 | ||||
-rw-r--r-- | sys-process/procs/procs-0.14.5-r1.ebuild (renamed from sys-process/procs/procs-0.14.5.ebuild) | 4 | ||||
-rw-r--r-- | sys-process/procs/procs-0.14.6-r1.ebuild (renamed from sys-process/procs/procs-0.14.6.ebuild) | 4 | ||||
-rw-r--r-- | www-apps/nextcloud-notify_push/nextcloud-notify_push-0.7.0-r1.ebuild (renamed from www-apps/nextcloud-notify_push/nextcloud-notify_push-0.7.0.ebuild) | 0 | ||||
-rw-r--r-- | www-client/chromium/chromium-129.0.6668.100-r1.ebuild (renamed from www-client/chromium/chromium-129.0.6668.100.ebuild) | 143 | ||||
-rw-r--r-- | www-client/chromium/chromium-130.0.6723.116-r1.ebuild (renamed from www-client/chromium/chromium-130.0.6723.116.ebuild) | 180 | ||||
-rw-r--r-- | www-client/chromium/chromium-130.0.6723.91-r1.ebuild (renamed from www-client/chromium/chromium-130.0.6723.91.ebuild) | 147 | ||||
-rw-r--r-- | www-client/chromium/chromium-131.0.6753.0-r1.ebuild (renamed from www-client/chromium/chromium-131.0.6753.0.ebuild) | 137 | ||||
-rw-r--r-- | www-client/chromium/chromium-131.0.6778.24-r1.ebuild (renamed from www-client/chromium/chromium-131.0.6778.24.ebuild) | 139 | ||||
-rw-r--r-- | www-client/firefox/firefox-115.16.1-r1.ebuild (renamed from www-client/firefox/firefox-115.16.1.ebuild) | 68 | ||||
-rw-r--r-- | www-client/firefox/firefox-128.3.1-r1.ebuild (renamed from www-client/firefox/firefox-128.3.1.ebuild) | 15 | ||||
-rw-r--r-- | www-client/firefox/firefox-128.4.0-r1.ebuild (renamed from www-client/firefox/firefox-128.4.0.ebuild) | 17 | ||||
-rw-r--r-- | www-client/firefox/firefox-131.0.3-r1.ebuild (renamed from www-client/firefox/firefox-131.0.3.ebuild) | 17 | ||||
-rw-r--r-- | www-client/firefox/firefox-132.0-r1.ebuild (renamed from www-client/firefox/firefox-132.0.ebuild) | 87 | ||||
-rw-r--r-- | www-client/firefox/firefox-132.0.1-r1.ebuild (renamed from www-client/firefox/firefox-132.0.1.ebuild) | 87 | ||||
-rw-r--r-- | www-client/seamonkey/seamonkey-2.53.18.2-r2.ebuild (renamed from www-client/seamonkey/seamonkey-2.53.18.2-r1.ebuild) | 4 | ||||
-rw-r--r-- | www-client/seamonkey/seamonkey-2.53.19-r1.ebuild (renamed from www-client/seamonkey/seamonkey-2.53.19.ebuild) | 4 | ||||
-rw-r--r-- | x11-terms/alacritty/alacritty-0.12.3-r1.ebuild | 362 | ||||
-rw-r--r-- | x11-terms/alacritty/alacritty-0.12.3.ebuild | 364 | ||||
-rw-r--r-- | x11-terms/alacritty/alacritty-0.13.2-r1.ebuild (renamed from x11-terms/alacritty/alacritty-0.13.2.ebuild) | 1 | ||||
-rw-r--r-- | x11-terms/alacritty/alacritty-0.14.0-r1.ebuild (renamed from x11-terms/alacritty/alacritty-0.14.0.ebuild) | 3 | ||||
-rw-r--r-- | x11-terms/alacritty/alacritty-9999.ebuild | 6 | ||||
-rw-r--r-- | x11-terms/wezterm/wezterm-20240203.110809-r2.ebuild (renamed from x11-terms/wezterm/wezterm-20240203.110809-r1.ebuild) | 4 |
417 files changed, 13661 insertions, 5296 deletions
diff --git a/app-antivirus/clamav/clamav-1.0.5.ebuild b/app-antivirus/clamav/clamav-1.0.5-r1.ebuild index 5759a6890ff1..50043bc0c4d6 100644 --- a/app-antivirus/clamav/clamav-1.0.5.ebuild +++ b/app-antivirus/clamav/clamav-1.0.5-r1.ebuild @@ -202,11 +202,8 @@ COMMON_DEPEND=" test? ( dev-python/pytest ) " -# rust-bin < 1.71 has an executable stack -# which is not supported on selinux #911589 BDEPEND=" virtual/pkgconfig - >=virtual/rust-1.71 doc? ( app-text/doxygen ) test? ( ${PYTHON_DEPS} diff --git a/app-antivirus/clamav/clamav-1.0.7.ebuild b/app-antivirus/clamav/clamav-1.0.7-r1.ebuild index 70d983eb73e3..571fa8143a9b 100644 --- a/app-antivirus/clamav/clamav-1.0.7.ebuild +++ b/app-antivirus/clamav/clamav-1.0.7-r1.ebuild @@ -204,11 +204,8 @@ COMMON_DEPEND=" test? ( dev-python/pytest ) " -# rust-bin < 1.71 has an executable stack -# which is not supported on selinux #911589 BDEPEND=" virtual/pkgconfig - >=virtual/rust-1.71 doc? ( app-text/doxygen ) test? ( ${PYTHON_DEPS} diff --git a/app-antivirus/clamav/clamav-1.2.2.ebuild b/app-antivirus/clamav/clamav-1.2.2-r1.ebuild index a7f3533276d6..aa5502025906 100644 --- a/app-antivirus/clamav/clamav-1.2.2.ebuild +++ b/app-antivirus/clamav/clamav-1.2.2-r1.ebuild @@ -197,11 +197,9 @@ COMMON_DEPEND=" system-mspack? ( dev-libs/libmspack ) test? ( dev-python/pytest ) " -# rust-bin < 1.71 has an executable stack -# which is not supported on selinux #911589 + BDEPEND=" virtual/pkgconfig - >=virtual/rust-1.71 doc? ( app-text/doxygen ) test? ( ${PYTHON_DEPS} diff --git a/app-antivirus/clamav/clamav-1.4.1-r1.ebuild b/app-antivirus/clamav/clamav-1.4.1-r2.ebuild index e5e30c4f8dc5..296e17179a3a 100644 --- a/app-antivirus/clamav/clamav-1.4.1-r1.ebuild +++ b/app-antivirus/clamav/clamav-1.4.1-r2.ebuild @@ -206,11 +206,9 @@ COMMON_DEPEND=" system-mspack? ( dev-libs/libmspack ) test? ( dev-python/pytest ) " -# rust-bin < 1.71 has an executable stack -# which is not supported on selinux #911589 + BDEPEND=" virtual/pkgconfig - >=virtual/rust-1.71 doc? ( app-text/doxygen ) test? ( ${PYTHON_DEPS} diff --git a/app-backup/rdedup/rdedup-1.0.2-r1.ebuild b/app-backup/rdedup/rdedup-1.0.2-r2.ebuild index b5cc8252eaf7..b5cc8252eaf7 100644 --- a/app-backup/rdedup/rdedup-1.0.2-r1.ebuild +++ b/app-backup/rdedup/rdedup-1.0.2-r2.ebuild diff --git a/app-benchmarks/hyperfine/hyperfine-1.18.0.ebuild b/app-benchmarks/hyperfine/hyperfine-1.18.0-r1.ebuild index 4275055e68c6..c293416066e5 100644 --- a/app-benchmarks/hyperfine/hyperfine-1.18.0.ebuild +++ b/app-benchmarks/hyperfine/hyperfine-1.18.0-r1.ebuild @@ -179,8 +179,6 @@ LICENSE+=" Apache-2.0 BSD-2 BSD ISC MIT MPL-2.0 Unicode-DFS-2016" SLOT="0" KEYWORDS="amd64 ~arm64 ~ppc64 ~riscv" -BDEPEND=">=virtual/rust-1.70.0" - QA_FLAGS_IGNORED="usr/bin/${PN}" src_prepare() { diff --git a/app-containers/aardvark-dns/aardvark-dns-1.10.0.ebuild b/app-containers/aardvark-dns/aardvark-dns-1.10.0-r1.ebuild index 3f6fb3a7a9f2..3f6fb3a7a9f2 100644 --- a/app-containers/aardvark-dns/aardvark-dns-1.10.0.ebuild +++ b/app-containers/aardvark-dns/aardvark-dns-1.10.0-r1.ebuild diff --git a/app-containers/aardvark-dns/aardvark-dns-1.11.0.ebuild b/app-containers/aardvark-dns/aardvark-dns-1.11.0-r1.ebuild index ff2bd6fba837..ff2bd6fba837 100644 --- a/app-containers/aardvark-dns/aardvark-dns-1.11.0.ebuild +++ b/app-containers/aardvark-dns/aardvark-dns-1.11.0-r1.ebuild diff --git a/app-containers/aardvark-dns/aardvark-dns-1.12.2.ebuild b/app-containers/aardvark-dns/aardvark-dns-1.12.2-r1.ebuild index 6eb7550f45c2..6eb7550f45c2 100644 --- a/app-containers/aardvark-dns/aardvark-dns-1.12.2.ebuild +++ b/app-containers/aardvark-dns/aardvark-dns-1.12.2-r1.ebuild diff --git a/app-containers/aardvark-dns/aardvark-dns-1.9.0.ebuild b/app-containers/aardvark-dns/aardvark-dns-1.9.0-r1.ebuild index 3f6fb3a7a9f2..3f6fb3a7a9f2 100644 --- a/app-containers/aardvark-dns/aardvark-dns-1.9.0.ebuild +++ b/app-containers/aardvark-dns/aardvark-dns-1.9.0-r1.ebuild diff --git a/app-containers/netavark/netavark-1.10.2.ebuild b/app-containers/netavark/netavark-1.10.2-r1.ebuild index 42ba29c8332d..42ba29c8332d 100644 --- a/app-containers/netavark/netavark-1.10.2.ebuild +++ b/app-containers/netavark/netavark-1.10.2-r1.ebuild diff --git a/app-containers/netavark/netavark-1.10.3.ebuild b/app-containers/netavark/netavark-1.10.3-r1.ebuild index 499417f28d96..499417f28d96 100644 --- a/app-containers/netavark/netavark-1.10.3.ebuild +++ b/app-containers/netavark/netavark-1.10.3-r1.ebuild diff --git a/app-containers/netavark/netavark-1.11.0.ebuild b/app-containers/netavark/netavark-1.11.0-r1.ebuild index 81168b09df45..81168b09df45 100644 --- a/app-containers/netavark/netavark-1.11.0.ebuild +++ b/app-containers/netavark/netavark-1.11.0-r1.ebuild diff --git a/app-containers/netavark/netavark-1.12.2.ebuild b/app-containers/netavark/netavark-1.12.2-r1.ebuild index 81168b09df45..81168b09df45 100644 --- a/app-containers/netavark/netavark-1.12.2.ebuild +++ b/app-containers/netavark/netavark-1.12.2-r1.ebuild diff --git a/app-containers/netavark/netavark-1.9.0.ebuild b/app-containers/netavark/netavark-1.9.0-r1.ebuild index 499417f28d96..499417f28d96 100644 --- a/app-containers/netavark/netavark-1.9.0.ebuild +++ b/app-containers/netavark/netavark-1.9.0-r1.ebuild diff --git a/app-crypt/nitrocli/nitrocli-0.4.1.ebuild b/app-crypt/nitrocli/nitrocli-0.4.1-r1.ebuild index f41366c4a624..1c560a2e5176 100644 --- a/app-crypt/nitrocli/nitrocli-0.4.1.ebuild +++ b/app-crypt/nitrocli/nitrocli-0.4.1-r1.ebuild @@ -4,75 +4,75 @@ EAPI=8 CRATES=" -aho-corasick-0.7.18 -anyhow-1.0.40 -autocfg-1.0.1 -base32-0.4.0 -bitflags-1.2.1 -cc-1.0.67 -cfg-if-1.0.0 -clap-2.33.3 -directories-3.0.2 -dirs-sys-0.3.6 -envy-0.4.2 -getrandom-0.1.16 -getrandom-0.2.2 -heck-0.3.2 -lazy_static-1.4.0 -libc-0.2.146 -log-0.4.14 -memchr-2.4.0 -merge-0.1.0 -merge_derive-0.1.0 -nitrocli-0.4.1 -nitrokey-0.9.0 -nitrokey-sys-3.6.0 -nitrokey-test-0.5.0 -nitrokey-test-state-0.1.0 -num-traits-0.2.14 -numtoa-0.1.0 -ppv-lite86-0.2.10 -proc-macro-error-1.0.4 -proc-macro-error-attr-1.0.4 -proc-macro2-1.0.26 -progressing-3.0.2 -quote-1.0.9 -rand-0.8.3 -rand_chacha-0.3.0 -rand_core-0.5.1 -rand_core-0.6.2 -rand_hc-0.3.0 -redox_syscall-0.2.8 -redox_termios-0.1.2 -redox_users-0.4.0 -regex-1.5.4 -regex-syntax-0.6.25 -remove_dir_all-0.5.3 -serde-1.0.125 -serde_derive-1.0.125 -structopt-0.3.21 -structopt-derive-0.4.14 -syn-1.0.72 -tempfile-3.2.0 -termion-1.5.6 -textwrap-0.11.0 -toml-0.5.8 -unicode-segmentation-1.7.1 -unicode-width-0.1.8 -unicode-xid-0.2.2 -version_check-0.9.3 -wasi-0.9.0+wasi-snapshot-preview1 -wasi-0.10.2+wasi-snapshot-preview1 -winapi-0.3.9 -winapi-i686-pc-windows-gnu-0.4.0 -winapi-x86_64-pc-windows-gnu-0.4.0 + aho-corasick@0.7.18 + anyhow@1.0.40 + autocfg@1.0.1 + base32@0.4.0 + bitflags@1.2.1 + cc@1.0.67 + cfg-if@1.0.0 + clap@2.33.3 + directories@3.0.2 + dirs-sys@0.3.6 + envy@0.4.2 + getrandom@0.1.16 + getrandom@0.2.2 + heck@0.3.2 + lazy_static@1.4.0 + libc@0.2.146 + log@0.4.14 + memchr@2.4.0 + merge@0.1.0 + merge_derive@0.1.0 + nitrocli@0.4.1 + nitrokey@0.9.0 + nitrokey-sys@3.6.0 + nitrokey-test@0.5.0 + nitrokey-test-state@0.1.0 + num-traits@0.2.14 + numtoa@0.1.0 + ppv-lite86@0.2.10 + proc-macro-error@1.0.4 + proc-macro-error-attr@1.0.4 + proc-macro2@1.0.26 + progressing@3.0.2 + quote@1.0.9 + rand@0.8.3 + rand_chacha@0.3.0 + rand_core@0.5.1 + rand_core@0.6.2 + rand_hc@0.3.0 + redox_syscall@0.2.8 + redox_termios@0.1.2 + redox_users@0.4.0 + regex@1.5.4 + regex-syntax@0.6.25 + remove_dir_all@0.5.3 + serde@1.0.125 + serde_derive@1.0.125 + structopt@0.3.21 + structopt-derive@0.4.14 + syn@1.0.72 + tempfile@3.2.0 + termion@1.5.6 + textwrap@0.11.0 + toml@0.5.8 + unicode-segmentation@1.7.1 + unicode-width@0.1.8 + unicode-xid@0.2.2 + version_check@0.9.3 + wasi@0.9.0+wasi-snapshot-preview1 + wasi@0.10.2+wasi-snapshot-preview1 + winapi@0.3.9 + winapi-i686-pc-windows-gnu@0.4.0 + winapi-x86_64-pc-windows-gnu@0.4.0 " inherit bash-completion-r1 cargo DESCRIPTION="A command line tool for interacting with Nitrokey devices" HOMEPAGE="https://github.com/d-e-s-o/nitrocli" -SRC_URI="$(cargo_crate_uris)" +SRC_URI="${CARGO_CRATE_URIS}" LICENSE="Apache-2.0 BSD-2 CC0-1.0 GPL-3+ LGPL-3 MIT" SLOT="0" diff --git a/app-crypt/rpm-sequoia/rpm-sequoia-1.6.0.ebuild b/app-crypt/rpm-sequoia/rpm-sequoia-1.6.0-r1.ebuild index da34f4210ca1..f4f0fd4e2697 100644 --- a/app-crypt/rpm-sequoia/rpm-sequoia-1.6.0.ebuild +++ b/app-crypt/rpm-sequoia/rpm-sequoia-1.6.0-r1.ebuild @@ -235,9 +235,10 @@ CRATES=" zeroize_derive@1.4.2 " -LLVM_MAX_SLOT=17 +LLVM_COMPAT=( 17 ) +RUST_NEEDS_LLVM=1 -inherit cargo llvm +inherit llvm-r1 cargo DESCRIPTION="Implementation of the RPM PGP interface using Sequoia" HOMEPAGE="https://sequoia-pgp.org/ https://github.com/rpm-software-management/rpm-sequoia" @@ -265,11 +266,16 @@ RDEPEND="${DEPEND}" # Clang is required for bindgen BDEPEND=" virtual/pkgconfig - nettle? ( <sys-devel/clang-$((${LLVM_MAX_SLOT} + 1)) ) + nettle? ( $(llvm_gen_dep 'sys-devel/clang:${LLVM_SLOT}') ) " QA_FLAGS_IGNORED="usr/lib.*/librpm_sequoia.so.1" +pkg_setup() { + llvm_r1_pkg_setup + rust_pkg_setup +} + llvm_check_deps() { if use nettle; then has_version -b "sys-devel/clang:${LLVM_SLOT}" diff --git a/app-crypt/rpm-sequoia/rpm-sequoia-1.7.0.ebuild b/app-crypt/rpm-sequoia/rpm-sequoia-1.7.0-r1.ebuild index 082e1f09d371..9f361d92c6c6 100644 --- a/app-crypt/rpm-sequoia/rpm-sequoia-1.7.0.ebuild +++ b/app-crypt/rpm-sequoia/rpm-sequoia-1.7.0-r1.ebuild @@ -248,9 +248,11 @@ CRATES=" zerovec@0.10.4 " -LLVM_COMPAT=( {17..18} ) +LLVM_COMPAT=( 17 18 ) +RUST_MIN_VER="1.74.1" +RUST_NEEDS_LLVM=1 -inherit cargo llvm-r1 +inherit llvm-r1 cargo DESCRIPTION="Implementation of the RPM PGP interface using Sequoia" HOMEPAGE="https://sequoia-pgp.org/ https://github.com/rpm-software-management/rpm-sequoia" @@ -282,12 +284,16 @@ RDEPEND="${DEPEND}" # Clang is required for bindgen BDEPEND=" virtual/pkgconfig - >=virtual/rust-1.73 nettle? ( $(llvm_gen_dep 'sys-devel/clang:${LLVM_SLOT}') ) " QA_FLAGS_IGNORED="usr/lib.*/librpm_sequoia.so.1" +pkg_setup() { + llvm_r1_pkg_setup + rust_pkg_setup +} + src_configure() { local myfeatures=( $(usev nettle crypto-nettle) diff --git a/app-crypt/sequoia-chameleon-gnupg/sequoia-chameleon-gnupg-0.10.0.ebuild b/app-crypt/sequoia-chameleon-gnupg/sequoia-chameleon-gnupg-0.10.0-r1.ebuild index 48f2892554d8..280dbafde49f 100644 --- a/app-crypt/sequoia-chameleon-gnupg/sequoia-chameleon-gnupg-0.10.0.ebuild +++ b/app-crypt/sequoia-chameleon-gnupg/sequoia-chameleon-gnupg-0.10.0-r1.ebuild @@ -394,8 +394,10 @@ CRATES=" zerovec@0.10.2 " -LLVM_COMPAT=( {17..18} ) -inherit cargo llvm-r1 xdg-utils +LLVM_COMPAT=( 17 18 ) +RUST_NEEDS_LLVM=1 + +inherit llvm-r1 cargo xdg-utils DESCRIPTION="Sequoia's reimplementation of the GnuPG interface" HOMEPAGE="https://sequoia-pgp.org/ https://gitlab.com/sequoia-pgp/sequoia-chameleon-gnupg/" @@ -429,11 +431,15 @@ BDEPEND=" $(llvm_gen_dep ' sys-devel/clang:${LLVM_SLOT} ') - >=virtual/rust-1.70 " QA_FLAGS_IGNORED="usr/bin/gpg-sq usr/bin/gpgv-sq" +pkg_setup() { + llvm_r1_pkg_setup + rust_pkg_setup +} + src_test() { local -x GNUPGHOME="${T}"/.gnupg local -x REAL_GPG_BIN="${BROOT}"/usr/bin/gpg diff --git a/app-crypt/sequoia-chameleon-gnupg/sequoia-chameleon-gnupg-0.10.1.ebuild b/app-crypt/sequoia-chameleon-gnupg/sequoia-chameleon-gnupg-0.10.1-r1.ebuild index c9deedb94c85..7fc3f4de8de3 100644 --- a/app-crypt/sequoia-chameleon-gnupg/sequoia-chameleon-gnupg-0.10.1.ebuild +++ b/app-crypt/sequoia-chameleon-gnupg/sequoia-chameleon-gnupg-0.10.1-r1.ebuild @@ -392,8 +392,10 @@ CRATES=" zerovec@0.10.3 " -LLVM_COMPAT=( {17..18} ) -inherit cargo llvm-r1 xdg-utils +LLVM_COMPAT=( 17 18 ) +RUST_NEEDS_LLVM=1 + +inherit llvm-r1 cargo xdg-utils DESCRIPTION="Sequoia's reimplementation of the GnuPG interface" HOMEPAGE="https://sequoia-pgp.org/ https://gitlab.com/sequoia-pgp/sequoia-chameleon-gnupg/" @@ -427,11 +429,15 @@ BDEPEND=" $(llvm_gen_dep ' sys-devel/clang:${LLVM_SLOT} ') - >=virtual/rust-1.70 " QA_FLAGS_IGNORED="usr/bin/gpg-sq usr/bin/gpgv-sq" +pkg_setup() { + llvm_r1_pkg_setup + rust_pkg_setup +} + src_test() { local -x GNUPGHOME="${T}"/.gnupg local -x REAL_GPG_BIN="${BROOT}"/usr/bin/gpg diff --git a/app-crypt/sequoia-chameleon-gnupg/sequoia-chameleon-gnupg-0.8.0.ebuild b/app-crypt/sequoia-chameleon-gnupg/sequoia-chameleon-gnupg-0.8.0-r1.ebuild index b76dcfd07db1..b38f75ac05fc 100644 --- a/app-crypt/sequoia-chameleon-gnupg/sequoia-chameleon-gnupg-0.8.0.ebuild +++ b/app-crypt/sequoia-chameleon-gnupg/sequoia-chameleon-gnupg-0.8.0-r1.ebuild @@ -365,8 +365,10 @@ CRATES=" zeroize@1.7.0 " -LLVM_COMPAT=( {17..18} ) -inherit cargo llvm-r1 xdg-utils +LLVM_COMPAT=( 17 18 ) +RUST_NEEDS_LLVM=1 + +inherit llvm-r1 cargo xdg-utils DESCRIPTION="Sequoia's reimplementation of the GnuPG interface" HOMEPAGE="https://sequoia-pgp.org/ https://gitlab.com/sequoia-pgp/sequoia-chameleon-gnupg/" @@ -400,11 +402,15 @@ BDEPEND=" $(llvm_gen_dep ' sys-devel/clang:${LLVM_SLOT} ') - >=virtual/rust-1.70 " QA_FLAGS_IGNORED="usr/bin/gpg-sq usr/bin/gpgv-sq" +pkg_setup() { + llvm_r1_pkg_setup + rust_pkg_setup +} + src_test() { local -x GNUPGHOME="${T}"/.gnupg local -x REAL_GPG_BIN="${BROOT}"/usr/bin/gpg diff --git a/app-crypt/sequoia-chameleon-gnupg/sequoia-chameleon-gnupg-0.9.0.ebuild b/app-crypt/sequoia-chameleon-gnupg/sequoia-chameleon-gnupg-0.9.0-r1.ebuild index b28c6c443ec4..0e53cf510e24 100644 --- a/app-crypt/sequoia-chameleon-gnupg/sequoia-chameleon-gnupg-0.9.0.ebuild +++ b/app-crypt/sequoia-chameleon-gnupg/sequoia-chameleon-gnupg-0.9.0-r1.ebuild @@ -368,8 +368,10 @@ CRATES=" zeroize@1.7.0 " -LLVM_COMPAT=( {17..18} ) -inherit cargo llvm-r1 xdg-utils +LLVM_COMPAT=( 17 18 ) +RUST_NEEDS_LLVM=1 + +inherit llvm-r1 cargo xdg-utils DESCRIPTION="Sequoia's reimplementation of the GnuPG interface" HOMEPAGE="https://sequoia-pgp.org/ https://gitlab.com/sequoia-pgp/sequoia-chameleon-gnupg/" @@ -403,11 +405,15 @@ BDEPEND=" $(llvm_gen_dep ' sys-devel/clang:${LLVM_SLOT} ') - >=virtual/rust-1.70 " QA_FLAGS_IGNORED="usr/bin/gpg-sq usr/bin/gpgv-sq" +pkg_setup() { + llvm_r1_pkg_setup + rust_pkg_setup +} + src_test() { local -x GNUPGHOME="${T}"/.gnupg local -x REAL_GPG_BIN="${BROOT}"/usr/bin/gpg diff --git a/app-crypt/sequoia-sq/sequoia-sq-0.35.0.ebuild b/app-crypt/sequoia-sq/sequoia-sq-0.35.0-r1.ebuild index 5ff711b14f9a..e1cdf632523b 100644 --- a/app-crypt/sequoia-sq/sequoia-sq-0.35.0.ebuild +++ b/app-crypt/sequoia-sq/sequoia-sq-0.35.0-r1.ebuild @@ -487,7 +487,7 @@ CRATES=" LLVM_COMPAT=( {16..17} ) -inherit cargo shell-completion llvm-r1 +inherit llvm-r1 cargo shell-completion DESCRIPTION="CLI of the Sequoia OpenPGP implementation" HOMEPAGE="https://sequoia-pgp.org/ https://gitlab.com/sequoia-pgp/sequoia-sq" @@ -528,9 +528,13 @@ BDEPEND=" sys-devel/clang:${LLVM_SLOT} ') virtual/pkgconfig - >=virtual/rust-1.70 " +pkg_setup() { + llvm_r1_pkg_setup + rust_pkg_setup +} + src_compile() { # Set this here so that it doesn't change if we run tests # and cause a recompilation. diff --git a/app-crypt/sequoia-sq/sequoia-sq-0.36.0.ebuild b/app-crypt/sequoia-sq/sequoia-sq-0.36.0-r1.ebuild index b2cd91a0baa2..5434f7d3b001 100644 --- a/app-crypt/sequoia-sq/sequoia-sq-0.36.0.ebuild +++ b/app-crypt/sequoia-sq/sequoia-sq-0.36.0-r1.ebuild @@ -491,7 +491,7 @@ CRATES=" LLVM_COMPAT=( {16..18} ) -inherit cargo shell-completion llvm-r1 +inherit llvm-r1 cargo shell-completion DESCRIPTION="CLI of the Sequoia OpenPGP implementation" HOMEPAGE="https://sequoia-pgp.org/ https://gitlab.com/sequoia-pgp/sequoia-sq" @@ -532,9 +532,13 @@ BDEPEND=" sys-devel/clang:${LLVM_SLOT} ') virtual/pkgconfig - >=virtual/rust-1.70 " +pkg_setup() { + llvm_r1_pkg_setup + rust_pkg_setup +} + src_compile() { # Set this here so that it doesn't change if we run tests # and cause a recompilation. diff --git a/app-crypt/sequoia-sq/sequoia-sq-0.37.0.ebuild b/app-crypt/sequoia-sq/sequoia-sq-0.37.0-r1.ebuild index 03427bf5486d..ce8075c0d2dc 100644 --- a/app-crypt/sequoia-sq/sequoia-sq-0.37.0.ebuild +++ b/app-crypt/sequoia-sq/sequoia-sq-0.37.0-r1.ebuild @@ -517,7 +517,7 @@ CRATES=" LLVM_COMPAT=( {16..18} ) -inherit cargo shell-completion llvm-r1 +inherit llvm-r1 cargo shell-completion DESCRIPTION="CLI of the Sequoia OpenPGP implementation" HOMEPAGE="https://sequoia-pgp.org/ https://gitlab.com/sequoia-pgp/sequoia-sq" @@ -558,9 +558,13 @@ BDEPEND=" sys-devel/clang:${LLVM_SLOT} ') virtual/pkgconfig - >=virtual/rust-1.70 " +pkg_setup() { + llvm_r1_pkg_setup + rust_pkg_setup +} + src_compile() { # Set this here so that it doesn't change if we run tests # and cause a recompilation. diff --git a/app-crypt/sequoia-sqv/sequoia-sqv-1.2.1.ebuild b/app-crypt/sequoia-sqv/sequoia-sqv-1.2.1-r1.ebuild index 4352e534ebb9..cd4d8540631c 100644 --- a/app-crypt/sequoia-sqv/sequoia-sqv-1.2.1.ebuild +++ b/app-crypt/sequoia-sqv/sequoia-sqv-1.2.1-r1.ebuild @@ -251,8 +251,9 @@ CRATES=" " LLVM_COMPAT=( {17..18} ) +RUST_NEEDS_LLVM=1 -inherit bash-completion-r1 cargo llvm-r1 +inherit bash-completion-r1 llvm-r1 cargo DESCRIPTION="A simple OpenPGP signature verification program" HOMEPAGE="https://sequoia-pgp.org/ https://gitlab.com/sequoia-pgp/sequoia-sqv" @@ -290,6 +291,11 @@ BDEPEND=" virtual/pkgconfig " +pkg_setup() { + llvm-r1_pkg_setup + rust_pkg_setup +} + src_compile() { # Set this here so that it doesn't change if we run tests # and cause a recompilation. diff --git a/app-editors/helix/helix-24.03-r1.ebuild b/app-editors/helix/helix-24.03-r2.ebuild index 46ee3c25397e..46ee3c25397e 100644 --- a/app-editors/helix/helix-24.03-r1.ebuild +++ b/app-editors/helix/helix-24.03-r2.ebuild diff --git a/app-editors/helix/helix-24.07.ebuild b/app-editors/helix/helix-24.07-r1.ebuild index 89deeb654e5f..23c9065f87bd 100644 --- a/app-editors/helix/helix-24.07.ebuild +++ b/app-editors/helix/helix-24.07-r1.ebuild @@ -311,6 +311,7 @@ pkg_setup() { " export HELIX_DEFAULT_RUNTIME="${EPREFIX}/usr/share/${PN}/runtime" use grammar || export HELIX_DISABLE_AUTO_GRAMMAR_BUILD=1 + rust_pkg_setup } src_install() { diff --git a/app-editors/zed/zed-0.155.2.ebuild b/app-editors/zed/zed-0.155.2-r1.ebuild index b4cace50d25f..7ac2746fed38 100644 --- a/app-editors/zed/zed-0.155.2.ebuild +++ b/app-editors/zed/zed-0.155.2-r1.ebuild @@ -31,8 +31,10 @@ declare -A GIT_CRATES=( ) LLVM_COMPAT=( 18 ) +RUST_MIN_VER="1.80.1" +RUST_NEEDS_LLVM=1 -inherit cargo check-reqs desktop flag-o-matic llvm-r1 toolchain-funcs xdg +inherit llvm-r1 cargo check-reqs desktop flag-o-matic toolchain-funcs xdg DESCRIPTION="The fast, collaborative code editor" HOMEPAGE="https://zed.dev https://github.com/zed-industries/zed" @@ -74,7 +76,6 @@ DEPEND=" " RDEPEND="${DEPEND}" BDEPEND=" - >=virtual/rust-1.80.0 dev-util/vulkan-headers sys-devel/gettext sys-devel/mold @@ -97,6 +98,8 @@ pkg_setup() { export RUSTFLAGS="${RUSTFLAGS} -C symbol-mangling-version=v0 --cfg tokio_unstable -C link-arg=-fuse-ld=mold -C link-args=-Wl,--disable-new-dtags,-rpath,\$ORIGIN/../lib" # linking error with llvm-18 export RUSTFLAGS="${RUSTFLAGS} -C link-args=-Wl,-z,nostart-stop-gc" + llvm-r1_pkg_setup + rust_pkg_setup } src_prepare() { diff --git a/app-editors/zed/zed-0.159.10.ebuild b/app-editors/zed/zed-0.159.10-r1.ebuild index 63b11db2c3dd..6b5c07a29c86 100644 --- a/app-editors/zed/zed-0.159.10.ebuild +++ b/app-editors/zed/zed-0.159.10-r1.ebuild @@ -55,8 +55,10 @@ declare -A GIT_CRATES=( ) LLVM_COMPAT=( 18 ) +RUST_MIN_VER="1.80.1" +RUST_NEEDS_LLVM=1 -inherit cargo check-reqs desktop flag-o-matic llvm-r1 toolchain-funcs xdg +inherit llvm-r1 cargo check-reqs desktop flag-o-matic toolchain-funcs xdg DESCRIPTION="The fast, collaborative code editor" HOMEPAGE="https://zed.dev https://github.com/zed-industries/zed" @@ -103,7 +105,6 @@ BDEPEND=" dev-util/vulkan-headers sys-devel/gettext sys-devel/mold - >=virtual/rust-1.80.0 $(llvm_gen_dep ' sys-devel/clang:${LLVM_SLOT}= sys-devel/llvm:${LLVM_SLOT}= @@ -126,6 +127,8 @@ pkg_setup() { if use gles; then export RUSTFLAGS="${RUSTFLAGS} --cfg gles" fi + llvm-r1_pkg_setup + rust_pkg_setup } src_prepare() { diff --git a/app-editors/zed/zed-0.160.7.ebuild b/app-editors/zed/zed-0.160.7-r1.ebuild index 63b11db2c3dd..6b5c07a29c86 100644 --- a/app-editors/zed/zed-0.160.7.ebuild +++ b/app-editors/zed/zed-0.160.7-r1.ebuild @@ -55,8 +55,10 @@ declare -A GIT_CRATES=( ) LLVM_COMPAT=( 18 ) +RUST_MIN_VER="1.80.1" +RUST_NEEDS_LLVM=1 -inherit cargo check-reqs desktop flag-o-matic llvm-r1 toolchain-funcs xdg +inherit llvm-r1 cargo check-reqs desktop flag-o-matic toolchain-funcs xdg DESCRIPTION="The fast, collaborative code editor" HOMEPAGE="https://zed.dev https://github.com/zed-industries/zed" @@ -103,7 +105,6 @@ BDEPEND=" dev-util/vulkan-headers sys-devel/gettext sys-devel/mold - >=virtual/rust-1.80.0 $(llvm_gen_dep ' sys-devel/clang:${LLVM_SLOT}= sys-devel/llvm:${LLVM_SLOT}= @@ -126,6 +127,8 @@ pkg_setup() { if use gles; then export RUSTFLAGS="${RUSTFLAGS} --cfg gles" fi + llvm-r1_pkg_setup + rust_pkg_setup } src_prepare() { diff --git a/app-emulation/ruffle/ruffle-0_p20240929.ebuild b/app-emulation/ruffle/ruffle-0_p20240929-r1.ebuild index 2246aaa0a1de..2ca7a360fdef 100644 --- a/app-emulation/ruffle/ruffle-0_p20240929.ebuild +++ b/app-emulation/ruffle/ruffle-0_p20240929-r1.ebuild @@ -3,6 +3,8 @@ EAPI=8 +RUST_MIN_VER="1.81.0" + inherit cargo desktop optfeature xdg if [[ ${PV} == 9999 ]]; then @@ -48,7 +50,6 @@ DEPEND=" BDEPEND=" virtual/jre:* virtual/pkgconfig - >=virtual/rust-1.81 " QA_FLAGS_IGNORED="usr/bin/${PN}.*" diff --git a/app-emulation/ruffle/ruffle-0_p20241027.ebuild b/app-emulation/ruffle/ruffle-0_p20241027-r1.ebuild index fbb6ac59d57f..ed46221ee0c5 100644 --- a/app-emulation/ruffle/ruffle-0_p20241027.ebuild +++ b/app-emulation/ruffle/ruffle-0_p20241027-r1.ebuild @@ -3,6 +3,8 @@ EAPI=8 +RUST_MIN_VER="1.81.0" + inherit cargo desktop optfeature xdg if [[ ${PV} == 9999 ]]; then @@ -48,7 +50,6 @@ DEPEND=" BDEPEND=" virtual/jre:* virtual/pkgconfig - >=virtual/rust-1.81 " QA_FLAGS_IGNORED="usr/bin/${PN}.*" diff --git a/app-emulation/ruffle/ruffle-9999.ebuild b/app-emulation/ruffle/ruffle-9999.ebuild index fbb6ac59d57f..31372db61bf0 100644 --- a/app-emulation/ruffle/ruffle-9999.ebuild +++ b/app-emulation/ruffle/ruffle-9999.ebuild @@ -3,6 +3,8 @@ EAPI=8 +RUST_MIN_VERSION="1.81.0" + inherit cargo desktop optfeature xdg if [[ ${PV} == 9999 ]]; then @@ -48,7 +50,6 @@ DEPEND=" BDEPEND=" virtual/jre:* virtual/pkgconfig - >=virtual/rust-1.81 " QA_FLAGS_IGNORED="usr/bin/${PN}.*" diff --git a/app-emulation/virtiofsd/virtiofsd-1.10.0.ebuild b/app-emulation/virtiofsd/virtiofsd-1.10.0-r1.ebuild index 7358e8fdae58..7358e8fdae58 100644 --- a/app-emulation/virtiofsd/virtiofsd-1.10.0.ebuild +++ b/app-emulation/virtiofsd/virtiofsd-1.10.0-r1.ebuild diff --git a/app-emulation/virtiofsd/virtiofsd-1.10.1.ebuild b/app-emulation/virtiofsd/virtiofsd-1.10.1-r1.ebuild index 7358e8fdae58..7358e8fdae58 100644 --- a/app-emulation/virtiofsd/virtiofsd-1.10.1.ebuild +++ b/app-emulation/virtiofsd/virtiofsd-1.10.1-r1.ebuild diff --git a/app-emulation/virtiofsd/virtiofsd-1.11.1.ebuild b/app-emulation/virtiofsd/virtiofsd-1.11.1-r1.ebuild index 410c131a66b5..410c131a66b5 100644 --- a/app-emulation/virtiofsd/virtiofsd-1.11.1.ebuild +++ b/app-emulation/virtiofsd/virtiofsd-1.11.1-r1.ebuild diff --git a/app-forensics/yara-x/yara-x-0.5.0.ebuild b/app-forensics/yara-x/yara-x-0.5.0-r1.ebuild index d658ac1b9717..d658ac1b9717 100644 --- a/app-forensics/yara-x/yara-x-0.5.0.ebuild +++ b/app-forensics/yara-x/yara-x-0.5.0-r1.ebuild diff --git a/app-forensics/yara-x/yara-x-0.6.0.ebuild b/app-forensics/yara-x/yara-x-0.6.0-r1.ebuild index bca3d88152a2..bca3d88152a2 100644 --- a/app-forensics/yara-x/yara-x-0.6.0.ebuild +++ b/app-forensics/yara-x/yara-x-0.6.0-r1.ebuild diff --git a/app-forensics/yara-x/yara-x-0.7.0.ebuild b/app-forensics/yara-x/yara-x-0.7.0-r1.ebuild index 1f95cf49b85c..1f95cf49b85c 100644 --- a/app-forensics/yara-x/yara-x-0.7.0.ebuild +++ b/app-forensics/yara-x/yara-x-0.7.0-r1.ebuild diff --git a/app-i18n/yaskkserv2/yaskkserv2-0.1.7-r1.ebuild b/app-i18n/yaskkserv2/yaskkserv2-0.1.7-r1.ebuild new file mode 100644 index 000000000000..c3688574c714 --- /dev/null +++ b/app-i18n/yaskkserv2/yaskkserv2-0.1.7-r1.ebuild @@ -0,0 +1,232 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI="8" + +CRATES=" + addr2line@0.21.0 + adler@1.0.2 + aho-corasick@1.0.5 + atty@0.2.14 + autocfg@1.1.0 + backtrace@0.3.69 + base64@0.21.4 + bincode@1.3.3 + bitflags@1.3.2 + bitflags@2.4.0 + block-buffer@0.10.4 + bumpalo@3.14.0 + bytes@1.5.0 + cc@1.0.83 + cfg-if@1.0.0 + clap@3.2.25 + clap_lex@0.2.4 + core-foundation@0.9.3 + core-foundation-sys@0.8.4 + cpufeatures@0.2.9 + crypto-common@0.1.6 + daemonize@0.5.0 + digest@0.10.7 + encoding_rs@0.8.33 + env_logger@0.7.1 + errno@0.3.3 + errno-dragonfly@0.1.2 + error-chain@0.11.0 + fastrand@2.0.0 + fnv@1.0.7 + foreign-types@0.3.2 + foreign-types-shared@0.1.1 + form_urlencoded@1.2.0 + futures-channel@0.3.28 + futures-core@0.3.28 + futures-io@0.3.28 + futures-sink@0.3.28 + futures-task@0.3.28 + futures-util@0.3.28 + generic-array@0.14.7 + getrandom@0.2.10 + gimli@0.28.0 + h2@0.3.21 + hashbrown@0.12.3 + hermit-abi@0.1.19 + hermit-abi@0.3.2 + http@0.2.9 + http-body@0.4.5 + httparse@1.8.0 + httpdate@1.0.3 + humantime@1.3.0 + hyper@0.14.27 + hyper-tls@0.5.0 + idna@0.4.0 + indexmap@1.9.3 + ipnet@2.8.0 + itoa@1.0.9 + js-sys@0.3.64 + json@0.12.4 + lazy_static@1.4.0 + libc@0.2.148 + linux-raw-sys@0.4.7 + log@0.4.20 + memchr@2.6.3 + mime@0.3.17 + miniz_oxide@0.7.1 + mio@0.8.8 + native-tls@0.2.11 + num_cpus@1.16.0 + object@0.32.1 + once_cell@1.18.0 + openssl@0.10.57 + openssl-macros@0.1.1 + openssl-probe@0.1.5 + openssl-sys@0.9.93 + os_str_bytes@6.5.1 + percent-encoding@2.3.0 + pin-project-lite@0.2.13 + pin-utils@0.1.0 + pkg-config@0.3.27 + ppv-lite86@0.2.17 + proc-macro2@1.0.67 + quick-error@1.2.3 + quote@1.0.33 + rand@0.8.5 + rand_chacha@0.3.1 + rand_core@0.6.4 + redox_syscall@0.3.5 + regex@1.9.5 + regex-automata@0.3.8 + regex-syntax@0.7.5 + reqwest@0.11.20 + rustc-demangle@0.1.23 + rustc-hash@1.1.0 + rustix@0.38.13 + ryu@1.0.15 + schannel@0.1.22 + security-framework@2.9.2 + security-framework-sys@2.9.1 + serde@1.0.188 + serde_derive@1.0.188 + serde_json@1.0.107 + serde_urlencoded@0.7.1 + sha1@0.10.5 + slab@0.4.9 + socket2@0.4.9 + socket2@0.5.4 + strsim@0.10.0 + syn@2.0.33 + syslog@4.0.1 + tempfile@3.8.0 + termcolor@1.2.0 + textwrap@0.16.0 + thiserror@1.0.48 + thiserror-impl@1.0.48 + time@0.1.45 + tinyvec@1.6.0 + tinyvec_macros@0.1.1 + tokio@1.32.0 + tokio-native-tls@0.3.1 + tokio-util@0.7.8 + tower-service@0.3.2 + tracing@0.1.37 + tracing-core@0.1.31 + try-lock@0.2.4 + twoway@0.2.2 + typenum@1.16.0 + unchecked-index@0.2.2 + unicode-bidi@0.3.13 + unicode-ident@1.0.12 + unicode-normalization@0.1.22 + url@2.4.1 + vcpkg@0.2.15 + version_check@0.9.4 + want@0.3.1 + wasi@0.10.0+wasi-snapshot-preview1 + wasi@0.11.0+wasi-snapshot-preview1 + wasm-bindgen@0.2.87 + wasm-bindgen-backend@0.2.87 + wasm-bindgen-futures@0.4.37 + wasm-bindgen-macro@0.2.87 + wasm-bindgen-macro-support@0.2.87 + wasm-bindgen-shared@0.2.87 + web-sys@0.3.64 + winapi@0.3.9 + winapi-i686-pc-windows-gnu@0.4.0 + winapi-util@0.1.5 + winapi-x86_64-pc-windows-gnu@0.4.0 + windows-sys@0.48.0 + windows-targets@0.48.5 + windows_aarch64_gnullvm@0.48.5 + windows_aarch64_msvc@0.48.5 + windows_i686_gnu@0.48.5 + windows_i686_msvc@0.48.5 + windows_x86_64_gnu@0.48.5 + windows_x86_64_gnullvm@0.48.5 + windows_x86_64_msvc@0.48.5 + winreg@0.50.0 +" +TESTDATA="${PN}-testdata-202110" + +inherit cargo systemd + +DESCRIPTION="Yet Another SKK server" +HOMEPAGE="https://github.com/wachikun/yaskkserv2" +SRC_URI="https://github.com/wachikun/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz + ${CARGO_CRATE_URIS} + test? ( https://dev.gentoo.org/~hattya/distfiles/${TESTDATA}.tar.xz )" + +LICENSE="|| ( Apache-2.0 MIT )" +SLOT="0" +KEYWORDS="amd64 x86" + +IUSE="test" +RESTRICT="!test? ( test )" + +DEPEND="dev-libs/openssl:0=" +RDEPEND="${DEPEND} + app-i18n/skk-jisyo" +BDEPEND="test? ( + app-emacs/ddskk + app-i18n/yaskkserv +)" + +QA_FLAGS_IGNORED=".*" + +src_prepare() { + default + + sed -i "/^dictionary =/s|= .*|= ${EPREFIX}/usr/lib/${PN}/default.euc|" etc/${PN}.conf + export OPENSSL_NO_VENDOR=true + # skip network tests + sed -i "s/^fn ${PN}.*_google_/#[ignore]\n&/" src/skk/test_unix/${PN}.rs +} + +src_test() { + export YASKKSERV2_TEST_DIRECTORY="${T}"/${PN} + mkdir -p "${YASKKSERV2_TEST_DIRECTORY}" || die + cp -r "${WORKDIR}"/${TESTDATA}/* "${YASKKSERV2_TEST_DIRECTORY}" || die + cargo_src_test +} + +src_install() { + cargo_src_install + dodir /usr/sbin + mv "${ED}"/usr/{,s}bin/${PN} || die + rm "${ED}"/usr/bin/test_wrapper || die + einstalldocs + + keepdir /usr/lib/${PN} + + insinto /etc + doins etc/${PN}.conf + + newinitd "${FILESDIR}"/${PN}.initd ${PN} + newconfd "${FILESDIR}"/${PN}.confd ${PN} + + systemd_dounit "${FILESDIR}"/${PN}.service +} + +pkg_preinst() { + "${ED}"/usr/bin/${PN}_make_dictionary --dictionary-filename "${ED}"/usr/lib/${PN}/default.euc \ + "${EPREFIX}"/usr/share/skk/SKK-JISYO.L || die + "${ED}"/usr/bin/${PN}_make_dictionary --dictionary-filename "${ED}"/usr/lib/${PN}/default.utf8 \ + --utf8 "${EPREFIX}"/usr/share/skk/SKK-JISYO.L || die +} diff --git a/app-i18n/yaskkserv2/yaskkserv2-0.1.7.ebuild b/app-i18n/yaskkserv2/yaskkserv2-0.1.7.ebuild deleted file mode 100644 index 7c5d7b13e2b2..000000000000 --- a/app-i18n/yaskkserv2/yaskkserv2-0.1.7.ebuild +++ /dev/null @@ -1,229 +0,0 @@ -# Copyright 1999-2023 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI="8" - -CRATES=" - addr2line-0.21.0 - adler-1.0.2 - aho-corasick-1.0.5 - atty-0.2.14 - autocfg-1.1.0 - backtrace-0.3.69 - base64-0.21.4 - bincode-1.3.3 - bitflags-1.3.2 - bitflags-2.4.0 - block-buffer-0.10.4 - bumpalo-3.14.0 - bytes-1.5.0 - cc-1.0.83 - cfg-if-1.0.0 - clap-3.2.25 - clap_lex-0.2.4 - core-foundation-0.9.3 - core-foundation-sys-0.8.4 - cpufeatures-0.2.9 - crypto-common-0.1.6 - daemonize-0.5.0 - digest-0.10.7 - encoding_rs-0.8.33 - env_logger-0.7.1 - errno-0.3.3 - errno-dragonfly-0.1.2 - error-chain-0.11.0 - fastrand-2.0.0 - fnv-1.0.7 - foreign-types-0.3.2 - foreign-types-shared-0.1.1 - form_urlencoded-1.2.0 - futures-channel-0.3.28 - futures-core-0.3.28 - futures-io-0.3.28 - futures-sink-0.3.28 - futures-task-0.3.28 - futures-util-0.3.28 - generic-array-0.14.7 - getrandom-0.2.10 - gimli-0.28.0 - h2-0.3.21 - hashbrown-0.12.3 - hermit-abi-0.1.19 - hermit-abi-0.3.2 - http-0.2.9 - http-body-0.4.5 - httparse-1.8.0 - httpdate-1.0.3 - humantime-1.3.0 - hyper-0.14.27 - hyper-tls-0.5.0 - idna-0.4.0 - indexmap-1.9.3 - ipnet-2.8.0 - itoa-1.0.9 - js-sys-0.3.64 - json-0.12.4 - lazy_static-1.4.0 - libc-0.2.148 - linux-raw-sys-0.4.7 - log-0.4.20 - memchr-2.6.3 - mime-0.3.17 - miniz_oxide-0.7.1 - mio-0.8.8 - native-tls-0.2.11 - num_cpus-1.16.0 - object-0.32.1 - once_cell-1.18.0 - openssl-0.10.57 - openssl-macros-0.1.1 - openssl-probe-0.1.5 - openssl-sys-0.9.93 - os_str_bytes-6.5.1 - percent-encoding-2.3.0 - pin-project-lite-0.2.13 - pin-utils-0.1.0 - pkg-config-0.3.27 - ppv-lite86-0.2.17 - proc-macro2-1.0.67 - quick-error-1.2.3 - quote-1.0.33 - rand-0.8.5 - rand_chacha-0.3.1 - rand_core-0.6.4 - redox_syscall-0.3.5 - regex-1.9.5 - regex-automata-0.3.8 - regex-syntax-0.7.5 - reqwest-0.11.20 - rustc-demangle-0.1.23 - rustc-hash-1.1.0 - rustix-0.38.13 - ryu-1.0.15 - schannel-0.1.22 - security-framework-2.9.2 - security-framework-sys-2.9.1 - serde-1.0.188 - serde_derive-1.0.188 - serde_json-1.0.107 - serde_urlencoded-0.7.1 - sha1-0.10.5 - slab-0.4.9 - socket2-0.4.9 - socket2-0.5.4 - strsim-0.10.0 - syn-2.0.33 - syslog-4.0.1 - tempfile-3.8.0 - termcolor-1.2.0 - textwrap-0.16.0 - thiserror-1.0.48 - thiserror-impl-1.0.48 - time-0.1.45 - tinyvec-1.6.0 - tinyvec_macros-0.1.1 - tokio-1.32.0 - tokio-native-tls-0.3.1 - tokio-util-0.7.8 - tower-service-0.3.2 - tracing-0.1.37 - tracing-core-0.1.31 - try-lock-0.2.4 - twoway-0.2.2 - typenum-1.16.0 - unchecked-index-0.2.2 - unicode-bidi-0.3.13 - unicode-ident-1.0.12 - unicode-normalization-0.1.22 - url-2.4.1 - vcpkg-0.2.15 - version_check-0.9.4 - want-0.3.1 - wasi-0.10.0+wasi-snapshot-preview1 - wasi-0.11.0+wasi-snapshot-preview1 - wasm-bindgen-0.2.87 - wasm-bindgen-backend-0.2.87 - wasm-bindgen-futures-0.4.37 - wasm-bindgen-macro-0.2.87 - wasm-bindgen-macro-support-0.2.87 - wasm-bindgen-shared-0.2.87 - web-sys-0.3.64 - winapi-0.3.9 - winapi-i686-pc-windows-gnu-0.4.0 - winapi-util-0.1.5 - winapi-x86_64-pc-windows-gnu-0.4.0 - windows-sys-0.48.0 - windows-targets-0.48.5 - windows_aarch64_gnullvm-0.48.5 - windows_aarch64_msvc-0.48.5 - windows_i686_gnu-0.48.5 - windows_i686_msvc-0.48.5 - windows_x86_64_gnu-0.48.5 - windows_x86_64_gnullvm-0.48.5 - windows_x86_64_msvc-0.48.5 - winreg-0.50.0 -" -TESTDATA="${PN}-testdata-202110" - -inherit cargo systemd - -DESCRIPTION="Yet Another SKK server" -HOMEPAGE="https://github.com/wachikun/yaskkserv2" -SRC_URI="https://github.com/wachikun/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz - $(cargo_crate_uris) - test? ( https://dev.gentoo.org/~hattya/distfiles/${TESTDATA}.tar.xz )" -RESTRICT="!test? ( test )" - -LICENSE="|| ( Apache-2.0 MIT )" -SLOT="0" -KEYWORDS="amd64 x86" -IUSE="test" - -DEPEND="dev-libs/openssl:0=" -RDEPEND="${DEPEND} - app-i18n/skk-jisyo" -BDEPEND="test? ( - app-emacs/ddskk - app-i18n/yaskkserv -)" - -QA_FLAGS_IGNORED=".*" - -src_prepare() { - default - - sed -i "/^dictionary =/s|= .*|= ${EPREFIX}/usr/lib/${PN}/default.euc|" etc/${PN}.conf - export OPENSSL_NO_VENDOR=true - # skip network tests - sed -i "s/^fn ${PN}.*_google_/#[ignore]\n&/" src/skk/test_unix/${PN}.rs -} - -src_test() { - export YASKKSERV2_TEST_DIRECTORY="${T}"/${PN} - mkdir -p "${YASKKSERV2_TEST_DIRECTORY}" || die - cp -r "${WORKDIR}"/${TESTDATA}/* "${YASKKSERV2_TEST_DIRECTORY}" || die - cargo_src_test -} - -src_install() { - cargo_src_install - dodir /usr/sbin - mv "${ED}"/usr/{,s}bin/${PN} || die - rm "${ED}"/usr/bin/test_wrapper || die - einstalldocs - - keepdir /usr/lib/${PN} - - insinto /etc - doins etc/${PN}.conf - - newinitd "${FILESDIR}"/${PN}.initd ${PN} - newconfd "${FILESDIR}"/${PN}.confd ${PN} - - systemd_dounit "${FILESDIR}"/${PN}.service -} - -pkg_preinst() { - "${ED}"/usr/bin/${PN}_make_dictionary --dictionary-filename "${ED}"/usr/lib/${PN}/default.euc "${EPREFIX}"/usr/share/skk/SKK-JISYO.L || die - "${ED}"/usr/bin/${PN}_make_dictionary --dictionary-filename "${ED}"/usr/lib/${PN}/default.utf8 --utf8 "${EPREFIX}"/usr/share/skk/SKK-JISYO.L || die -} diff --git a/app-laptop/tiny-dfr/tiny-dfr-0.3.0.ebuild b/app-laptop/tiny-dfr/tiny-dfr-0.3.0-r1.ebuild index 163c14018843..50dc4b3865d9 100644 --- a/app-laptop/tiny-dfr/tiny-dfr-0.3.0.ebuild +++ b/app-laptop/tiny-dfr/tiny-dfr-0.3.0-r1.ebuild @@ -230,6 +230,11 @@ RDEPEND="${DEPEND}" QA_FLAGS_IGNORED="usr/bin/tiny-dfr" QA_PRESTRIPPED="usr/bin/tiny-dfr" +pkg_setup() { + linux-info_pkg_setup + rust_pkg_setup +} + pkg_pretend() { local CONFIG_CHECK="~INPUT_UINPUT" [[ ${MERGE_TYPE} != buildonly ]] && check_extra_config diff --git a/app-laptop/tiny-dfr/tiny-dfr-0.3.1-r1.ebuild b/app-laptop/tiny-dfr/tiny-dfr-0.3.1-r1.ebuild new file mode 100644 index 000000000000..b062920af350 --- /dev/null +++ b/app-laptop/tiny-dfr/tiny-dfr-0.3.1-r1.ebuild @@ -0,0 +1,261 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + + CRATES=" + aho-corasick@1.0.5 + anyhow@1.0.75 + approx@0.5.1 + autocfg@1.1.0 + bitflags@1.3.2 + bitflags@2.4.0 + block@0.1.6 + bytemuck@1.14.0 + bytemuck_derive@1.5.0 + byteorder@1.4.3 + cairo-rs@0.18.5 + cairo-sys-rs@0.18.0 + cast@0.3.0 + cc@1.0.83 + cfg-expr@0.15.5 + cfg-if@1.0.0 + crossbeam-channel@0.5.8 + crossbeam-deque@0.8.3 + crossbeam-epoch@0.9.15 + crossbeam-utils@0.8.16 + cssparser@0.31.2 + cssparser-macros@0.6.1 + data-url@0.3.0 + derive_more@0.99.17 + drm@0.11.1 + drm-ffi@0.7.1 + drm-fourcc@2.2.0 + drm-sys@0.6.1 + dtoa@1.0.9 + dtoa-short@0.3.4 + either@1.9.0 + encoding_rs@0.8.33 + equivalent@1.0.1 + errno@0.3.8 + float-cmp@0.9.0 + form_urlencoded@1.2.0 + freetype-rs@0.32.0 + freetype-sys@0.17.0 + futf@0.1.5 + futures-channel@0.3.28 + futures-core@0.3.28 + futures-executor@0.3.28 + futures-io@0.3.28 + futures-macro@0.3.28 + futures-task@0.3.28 + futures-util@0.3.28 + fxhash@0.2.1 + gdk-pixbuf@0.18.0 + gdk-pixbuf-sys@0.18.0 + getrandom@0.2.10 + gio@0.18.1 + gio-sys@0.18.1 + glib@0.18.1 + glib-macros@0.18.0 + glib-sys@0.18.1 + gobject-sys@0.18.0 + hashbrown@0.14.0 + heck@0.4.1 + hermit-abi@0.3.2 + idna@0.4.0 + indexmap@2.0.0 + input@0.8.3 + input-linux@0.6.0 + input-linux-sys@0.8.0 + input-sys@1.17.0 + io-lifetimes@1.0.11 + itertools@0.11.0 + itoa@1.0.9 + language-tags@0.3.2 + lazy_static@1.4.0 + libc@0.2.152 + librsvg@2.57.1 + libudev-sys@0.1.4 + linux-raw-sys@0.4.13 + linux-raw-sys@0.6.4 + locale_config@0.3.0 + lock_api@0.4.10 + log@0.4.20 + mac@0.1.1 + malloc_buf@0.0.6 + markup5ever@0.11.0 + matrixmultiply@0.3.7 + memchr@2.6.3 + memoffset@0.7.1 + memoffset@0.9.0 + nalgebra@0.32.3 + nalgebra-macros@0.2.1 + new_debug_unreachable@1.0.4 + nix@0.26.4 + nix@0.27.1 + num-complex@0.4.4 + num-integer@0.1.45 + num-rational@0.4.1 + num-traits@0.2.16 + num_cpus@1.16.0 + objc@0.2.7 + objc-foundation@0.1.1 + objc_id@0.1.1 + once_cell@1.18.0 + pango@0.18.0 + pango-sys@0.18.0 + pangocairo@0.18.0 + pangocairo-sys@0.18.0 + parking_lot@0.12.1 + parking_lot_core@0.9.8 + paste@1.0.14 + percent-encoding@2.3.0 + phf@0.10.1 + phf_codegen@0.10.0 + phf_generator@0.10.0 + phf_macros@0.10.0 + phf_shared@0.10.0 + pin-project-lite@0.2.13 + pin-utils@0.1.0 + pkg-config@0.3.27 + ppv-lite86@0.2.17 + precomputed-hash@0.1.1 + privdrop@0.5.4 + proc-macro-crate@1.3.1 + proc-macro-error@1.0.4 + proc-macro-error-attr@1.0.4 + proc-macro-hack@0.5.20+deprecated + proc-macro2@1.0.66 + quote@1.0.33 + rand@0.8.5 + rand_chacha@0.3.1 + rand_core@0.6.4 + rawpointer@0.2.1 + rayon@1.7.0 + rayon-core@1.11.0 + rctree@0.5.0 + redox_syscall@0.3.5 + regex@1.9.5 + regex-automata@0.3.8 + regex-syntax@0.7.5 + rgb@0.8.36 + rustix@0.38.30 + safe_arch@0.7.1 + scopeguard@1.2.0 + selectors@0.25.0 + serde@1.0.188 + serde_derive@1.0.188 + serde_spanned@0.6.4 + servo_arc@0.3.0 + simba@0.8.1 + siphasher@0.3.11 + slab@0.4.9 + smallvec@1.11.0 + stable_deref_trait@1.2.0 + string_cache@0.8.7 + string_cache_codegen@0.5.2 + syn@1.0.109 + syn@2.0.32 + system-deps@6.1.1 + target-lexicon@0.12.11 + tendril@0.4.3 + thiserror@1.0.48 + thiserror-impl@1.0.48 + tiny-dfr@0.3.0 + tinyvec@1.6.0 + tinyvec_macros@0.1.1 + toml@0.7.8 + toml@0.8.8 + toml_datetime@0.6.5 + toml_edit@0.19.15 + toml_edit@0.21.0 + typenum@1.16.0 + udev@0.7.0 + unicode-bidi@0.3.13 + unicode-ident@1.0.11 + unicode-normalization@0.1.22 + url@2.4.1 + utf-8@0.7.6 + version-compare@0.1.1 + version_check@0.9.4 + wasi@0.11.0+wasi-snapshot-preview1 + wide@0.7.11 + winapi@0.3.9 + winapi-i686-pc-windows-gnu@0.4.0 + winapi-x86_64-pc-windows-gnu@0.4.0 + windows-sys@0.48.0 + windows-sys@0.52.0 + windows-targets@0.48.5 + windows-targets@0.52.0 + windows_aarch64_gnullvm@0.48.5 + windows_aarch64_gnullvm@0.52.0 + windows_aarch64_msvc@0.48.5 + windows_aarch64_msvc@0.52.0 + windows_i686_gnu@0.48.5 + windows_i686_gnu@0.52.0 + windows_i686_msvc@0.48.5 + windows_i686_msvc@0.52.0 + windows_x86_64_gnu@0.48.5 + windows_x86_64_gnu@0.52.0 + windows_x86_64_gnullvm@0.48.5 + windows_x86_64_gnullvm@0.52.0 + windows_x86_64_msvc@0.48.5 + windows_x86_64_msvc@0.52.0 + winnow@0.5.15 + xml5ever@0.17.0 +" + +inherit cargo udev systemd linux-info + +DESCRIPTION="The most basic dynamic function row daemon possible" +HOMEPAGE="https://github.com/WhatAmISupposedToPutHere/tiny-dfr" + +SRC_URI=" + ${CARGO_CRATE_URIS} + https://github.com/WhatAmISupposedToPutHere/tiny-dfr/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz +" + +LICENSE="MIT" +SLOT="0" +KEYWORDS="~arm64" + +DEPEND=" + dev-libs/libinput + x11-libs/pango + x11-libs/gdk-pixbuf +" + +RDEPEND="${DEPEND}" + +QA_FLAGS_IGNORED="usr/bin/tiny-dfr" +QA_PRESTRIPPED="usr/bin/tiny-dfr" + +pkg_setup() { + linux-info_pkg_setup + rust_pkg_setup +} + +pkg_pretend() { + local CONFIG_CHECK="~INPUT_UINPUT" + [[ ${MERGE_TYPE} != buildonly ]] && check_extra_config +} + +src_install() { + cargo_src_install + + insinto /usr/share/tiny-dfr + doins share/tiny-dfr/* + + udev_dorules etc/udev/rules.d/* + systemd_dounit etc/systemd/system/* + newinitd "${FILESDIR}"/${PN}.initd ${PN} +} + +pkg_postinst() { + udev_reload +} + +pkg_postrm() { + udev_reload +} diff --git a/app-laptop/tiny-dfr/tiny-dfr-0.3.1.ebuild b/app-laptop/tiny-dfr/tiny-dfr-0.3.1.ebuild deleted file mode 100644 index a22ac9e469f6..000000000000 --- a/app-laptop/tiny-dfr/tiny-dfr-0.3.1.ebuild +++ /dev/null @@ -1,256 +0,0 @@ -# Copyright 1999-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -CRATES=" -aho-corasick@1.0.5 -anyhow@1.0.75 -approx@0.5.1 -autocfg@1.1.0 -bitflags@1.3.2 -bitflags@2.4.0 -block@0.1.6 -bytemuck@1.14.0 -bytemuck_derive@1.5.0 -byteorder@1.4.3 -cairo-rs@0.18.5 -cairo-sys-rs@0.18.0 -cast@0.3.0 -cc@1.0.83 -cfg-expr@0.15.5 -cfg-if@1.0.0 -crossbeam-channel@0.5.8 -crossbeam-deque@0.8.3 -crossbeam-epoch@0.9.15 -crossbeam-utils@0.8.16 -cssparser@0.31.2 -cssparser-macros@0.6.1 -data-url@0.3.0 -derive_more@0.99.17 -drm@0.11.1 -drm-ffi@0.7.1 -drm-fourcc@2.2.0 -drm-sys@0.6.1 -dtoa@1.0.9 -dtoa-short@0.3.4 -either@1.9.0 -encoding_rs@0.8.33 -equivalent@1.0.1 -errno@0.3.8 -float-cmp@0.9.0 -form_urlencoded@1.2.0 -freetype-rs@0.32.0 -freetype-sys@0.17.0 -futf@0.1.5 -futures-channel@0.3.28 -futures-core@0.3.28 -futures-executor@0.3.28 -futures-io@0.3.28 -futures-macro@0.3.28 -futures-task@0.3.28 -futures-util@0.3.28 -fxhash@0.2.1 -gdk-pixbuf@0.18.0 -gdk-pixbuf-sys@0.18.0 -getrandom@0.2.10 -gio@0.18.1 -gio-sys@0.18.1 -glib@0.18.1 -glib-macros@0.18.0 -glib-sys@0.18.1 -gobject-sys@0.18.0 -hashbrown@0.14.0 -heck@0.4.1 -hermit-abi@0.3.2 -idna@0.4.0 -indexmap@2.0.0 -input@0.8.3 -input-linux@0.6.0 -input-linux-sys@0.8.0 -input-sys@1.17.0 -io-lifetimes@1.0.11 -itertools@0.11.0 -itoa@1.0.9 -language-tags@0.3.2 -lazy_static@1.4.0 -libc@0.2.152 -librsvg@2.57.1 -libudev-sys@0.1.4 -linux-raw-sys@0.4.13 -linux-raw-sys@0.6.4 -locale_config@0.3.0 -lock_api@0.4.10 -log@0.4.20 -mac@0.1.1 -malloc_buf@0.0.6 -markup5ever@0.11.0 -matrixmultiply@0.3.7 -memchr@2.6.3 -memoffset@0.7.1 -memoffset@0.9.0 -nalgebra@0.32.3 -nalgebra-macros@0.2.1 -new_debug_unreachable@1.0.4 -nix@0.26.4 -nix@0.27.1 -num-complex@0.4.4 -num-integer@0.1.45 -num-rational@0.4.1 -num-traits@0.2.16 -num_cpus@1.16.0 -objc@0.2.7 -objc-foundation@0.1.1 -objc_id@0.1.1 -once_cell@1.18.0 -pango@0.18.0 -pango-sys@0.18.0 -pangocairo@0.18.0 -pangocairo-sys@0.18.0 -parking_lot@0.12.1 -parking_lot_core@0.9.8 -paste@1.0.14 -percent-encoding@2.3.0 -phf@0.10.1 -phf_codegen@0.10.0 -phf_generator@0.10.0 -phf_macros@0.10.0 -phf_shared@0.10.0 -pin-project-lite@0.2.13 -pin-utils@0.1.0 -pkg-config@0.3.27 -ppv-lite86@0.2.17 -precomputed-hash@0.1.1 -privdrop@0.5.4 -proc-macro-crate@1.3.1 -proc-macro-error@1.0.4 -proc-macro-error-attr@1.0.4 -proc-macro-hack@0.5.20+deprecated -proc-macro2@1.0.66 -quote@1.0.33 -rand@0.8.5 -rand_chacha@0.3.1 -rand_core@0.6.4 -rawpointer@0.2.1 -rayon@1.7.0 -rayon-core@1.11.0 -rctree@0.5.0 -redox_syscall@0.3.5 -regex@1.9.5 -regex-automata@0.3.8 -regex-syntax@0.7.5 -rgb@0.8.36 -rustix@0.38.30 -safe_arch@0.7.1 -scopeguard@1.2.0 -selectors@0.25.0 -serde@1.0.188 -serde_derive@1.0.188 -serde_spanned@0.6.4 -servo_arc@0.3.0 -simba@0.8.1 -siphasher@0.3.11 -slab@0.4.9 -smallvec@1.11.0 -stable_deref_trait@1.2.0 -string_cache@0.8.7 -string_cache_codegen@0.5.2 -syn@1.0.109 -syn@2.0.32 -system-deps@6.1.1 -target-lexicon@0.12.11 -tendril@0.4.3 -thiserror@1.0.48 -thiserror-impl@1.0.48 -tiny-dfr@0.3.0 -tinyvec@1.6.0 -tinyvec_macros@0.1.1 -toml@0.7.8 -toml@0.8.8 -toml_datetime@0.6.5 -toml_edit@0.19.15 -toml_edit@0.21.0 -typenum@1.16.0 -udev@0.7.0 -unicode-bidi@0.3.13 -unicode-ident@1.0.11 -unicode-normalization@0.1.22 -url@2.4.1 -utf-8@0.7.6 -version-compare@0.1.1 -version_check@0.9.4 -wasi@0.11.0+wasi-snapshot-preview1 -wide@0.7.11 -winapi@0.3.9 -winapi-i686-pc-windows-gnu@0.4.0 -winapi-x86_64-pc-windows-gnu@0.4.0 -windows-sys@0.48.0 -windows-sys@0.52.0 -windows-targets@0.48.5 -windows-targets@0.52.0 -windows_aarch64_gnullvm@0.48.5 -windows_aarch64_gnullvm@0.52.0 -windows_aarch64_msvc@0.48.5 -windows_aarch64_msvc@0.52.0 -windows_i686_gnu@0.48.5 -windows_i686_gnu@0.52.0 -windows_i686_msvc@0.48.5 -windows_i686_msvc@0.52.0 -windows_x86_64_gnu@0.48.5 -windows_x86_64_gnu@0.52.0 -windows_x86_64_gnullvm@0.48.5 -windows_x86_64_gnullvm@0.52.0 -windows_x86_64_msvc@0.48.5 -windows_x86_64_msvc@0.52.0 -winnow@0.5.15 -xml5ever@0.17.0 -" - -inherit cargo udev systemd linux-info - -DESCRIPTION="The most basic dynamic function row daemon possible" -HOMEPAGE="https://github.com/WhatAmISupposedToPutHere/tiny-dfr" - -SRC_URI=" - ${CARGO_CRATE_URIS} - https://github.com/WhatAmISupposedToPutHere/tiny-dfr/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz -" - -LICENSE="MIT" -SLOT="0" -KEYWORDS="~arm64" - -DEPEND=" - dev-libs/libinput - x11-libs/pango - x11-libs/gdk-pixbuf -" - -RDEPEND="${DEPEND}" - -QA_FLAGS_IGNORED="usr/bin/tiny-dfr" -QA_PRESTRIPPED="usr/bin/tiny-dfr" - -pkg_pretend() { - local CONFIG_CHECK="~INPUT_UINPUT" - [[ ${MERGE_TYPE} != buildonly ]] && check_extra_config -} - -src_install() { - cargo_src_install - - insinto /usr/share/tiny-dfr - doins share/tiny-dfr/* - - udev_dorules etc/udev/rules.d/* - systemd_dounit etc/systemd/system/* - newinitd "${FILESDIR}"/${PN}.initd ${PN} -} - -pkg_postinst() { - udev_reload -} - -pkg_postrm() { - udev_reload -} diff --git a/app-metrics/unbound-telemetry/unbound-telemetry-0.1.0_pre20210920-r1.ebuild b/app-metrics/unbound-telemetry/unbound-telemetry-0.1.0_pre20210920-r1.ebuild new file mode 100644 index 000000000000..2c009a021830 --- /dev/null +++ b/app-metrics/unbound-telemetry/unbound-telemetry-0.1.0_pre20210920-r1.ebuild @@ -0,0 +1,159 @@ +# Copyright 2017-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +[[ ${PV} == *_pre???????? ]] && \ + COMMIT="19e53b05828a43b7062b67a9cc6c84836ca26439" + + CRATES=" + ansi_term@0.11.0 + approx@0.5.0 + async-trait@0.1.51 + atty@0.2.14 + autocfg@1.0.1 + bitflags@1.3.2 + bytes@0.5.6 + bytes@1.1.0 + cc@1.0.70 + cfg-if@0.1.10 + cfg-if@1.0.0 + claim@0.5.0 + clap@2.33.3 + core-foundation@0.6.4 + core-foundation-sys@0.6.2 + domain@0.6.1 + dtoa@0.4.8 + fnv@1.0.7 + foreign-types@0.3.2 + foreign-types-shared@0.1.1 + fuchsia-zircon@0.3.3 + fuchsia-zircon-sys@0.3.3 + futures-channel@0.3.17 + futures-core@0.3.17 + futures-sink@0.3.17 + futures-task@0.3.17 + futures-util@0.3.17 + getrandom@0.2.3 + h2@0.2.7 + hashbrown@0.11.2 + heck@0.3.3 + hermit-abi@0.1.19 + http@0.2.4 + http-body@0.3.1 + httparse@1.5.1 + httpdate@0.3.2 + hyper@0.13.10 + indexmap@1.7.0 + iovec@0.1.4 + itoa@0.4.8 + kernel32-sys@0.2.2 + lazy_static@1.4.0 + libc@0.2.102 + log@0.4.14 + memchr@2.4.1 + mio@0.6.23 + mio-uds@0.6.8 + miow@0.2.2 + net2@0.2.37 + num-traits@0.2.14 + once_cell@1.8.0 + openssl@0.10.36 + openssl-probe@0.1.4 + openssl-sys@0.9.66 + openssl-src@111.16.0+1.1.1l + pin-project@1.0.8 + pin-project-internal@1.0.8 + pin-project-lite@0.1.12 + pin-project-lite@0.2.7 + pin-utils@0.1.0 + pkg-config@0.3.19 + ppv-lite86@0.2.10 + proc-macro-error@1.0.4 + proc-macro-error-attr@1.0.4 + proc-macro2@1.0.29 + quote@1.0.9 + rand@0.8.4 + rand_chacha@0.3.1 + rand_core@0.6.3 + rand_hc@0.3.1 + redox_syscall@0.2.10 + remove_dir_all@0.5.3 + schannel@0.1.19 + security-framework@0.3.4 + security-framework-sys@0.3.3 + signal-hook-registry@1.4.0 + simple_logger@1.13.0 + slab@0.4.4 + socket2@0.3.19 + strsim@0.8.0 + structopt@0.3.23 + structopt-derive@0.4.16 + syn@1.0.76 + tempfile@3.2.0 + textwrap@0.11.0 + tokio@0.2.25 + tokio-macros@0.2.6 + tokio-tls@0.3.1 + tokio-util@0.3.1 + tower-service@0.3.1 + tracing@0.1.28 + tracing-core@0.1.20 + tracing-futures@0.2.5 + try-lock@0.2.3 + unicode-segmentation@1.8.0 + unicode-width@0.1.9 + unicode-xid@0.2.2 + vcpkg@0.2.15 + vec_map@0.8.2 + version_check@0.9.3 + want@0.3.0 + wasi@0.10.2+wasi-snapshot-preview1 + winapi@0.2.8 + winapi@0.3.9 + winapi-build@0.1.1 + winapi-i686-pc-windows-gnu@0.4.0 + winapi-x86_64-pc-windows-gnu@0.4.0 + ws2_32-sys@0.2.1 +" + +inherit cargo + +RUST_NATIVE_TLS_COMMIT="255dd5493b446755a9e40be3a4638afedfe67b03" +DESCRIPTION="Prometheus exporter for Unbound DNS resolver" +HOMEPAGE="https://github.com/svartalf/unbound-telemetry" +SRC_URI=" + https://github.com/svartalf/unbound-telemetry/archive/${COMMIT:-${PV}}.tar.gz -> ${P}.tar.gz + ${CARGO_CRATE_URIS} + https://github.com/Goirad/rust-native-tls/archive/${RUST_NATIVE_TLS_COMMIT}.tar.gz -> rust-native-tls-${RUST_NATIVE_TLS_COMMIT}.crate +" +S="${WORKDIR}/${PN}-${COMMIT:-${PV}}" + +LICENSE="Apache-2.0 Apache-2.0-with-LLVM-exceptions BSD MIT Unlicense" +SLOT="0" +KEYWORDS="~amd64" + +RDEPEND=" + acct-group/unbound-telemetry + acct-user/unbound-telemetry +" + +DOCS=( + README.md +) + +src_prepare() { + # Ensure Cargo is satisfied with the manually downloaded rust-native-tls + # Upstream use a fork *and* a certain branch + sed -i -e '/pkcs8/d' Cargo.toml || die + + default +} + +src_install() { + cargo_src_install + + dodoc "${DOCS[@]}" + newinitd "${FILESDIR}/initd" "${PN}" + newconfd "${FILESDIR}/confd" "${PN}" +} diff --git a/app-metrics/unbound-telemetry/unbound-telemetry-0.1.0_pre20210920.ebuild b/app-metrics/unbound-telemetry/unbound-telemetry-0.1.0_pre20210920.ebuild deleted file mode 100644 index ae841340c866..000000000000 --- a/app-metrics/unbound-telemetry/unbound-telemetry-0.1.0_pre20210920.ebuild +++ /dev/null @@ -1,159 +0,0 @@ -# Copyright 2017-2021 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -[[ ${PV} == *_pre???????? ]] && \ - COMMIT="19e53b05828a43b7062b67a9cc6c84836ca26439" - -CRATES=" -ansi_term-0.11.0 -approx-0.5.0 -async-trait-0.1.51 -atty-0.2.14 -autocfg-1.0.1 -bitflags-1.3.2 -bytes-0.5.6 -bytes-1.1.0 -cc-1.0.70 -cfg-if-0.1.10 -cfg-if-1.0.0 -claim-0.5.0 -clap-2.33.3 -core-foundation-0.6.4 -core-foundation-sys-0.6.2 -domain-0.6.1 -dtoa-0.4.8 -fnv-1.0.7 -foreign-types-0.3.2 -foreign-types-shared-0.1.1 -fuchsia-zircon-0.3.3 -fuchsia-zircon-sys-0.3.3 -futures-channel-0.3.17 -futures-core-0.3.17 -futures-sink-0.3.17 -futures-task-0.3.17 -futures-util-0.3.17 -getrandom-0.2.3 -h2-0.2.7 -hashbrown-0.11.2 -heck-0.3.3 -hermit-abi-0.1.19 -http-0.2.4 -http-body-0.3.1 -httparse-1.5.1 -httpdate-0.3.2 -hyper-0.13.10 -indexmap-1.7.0 -iovec-0.1.4 -itoa-0.4.8 -kernel32-sys-0.2.2 -lazy_static-1.4.0 -libc-0.2.102 -log-0.4.14 -memchr-2.4.1 -mio-0.6.23 -mio-uds-0.6.8 -miow-0.2.2 -net2-0.2.37 -num-traits-0.2.14 -once_cell-1.8.0 -openssl-0.10.36 -openssl-probe-0.1.4 -openssl-sys-0.9.66 -openssl-src-111.16.0+1.1.1l -pin-project-1.0.8 -pin-project-internal-1.0.8 -pin-project-lite-0.1.12 -pin-project-lite-0.2.7 -pin-utils-0.1.0 -pkg-config-0.3.19 -ppv-lite86-0.2.10 -proc-macro-error-1.0.4 -proc-macro-error-attr-1.0.4 -proc-macro2-1.0.29 -quote-1.0.9 -rand-0.8.4 -rand_chacha-0.3.1 -rand_core-0.6.3 -rand_hc-0.3.1 -redox_syscall-0.2.10 -remove_dir_all-0.5.3 -schannel-0.1.19 -security-framework-0.3.4 -security-framework-sys-0.3.3 -signal-hook-registry-1.4.0 -simple_logger-1.13.0 -slab-0.4.4 -socket2-0.3.19 -strsim-0.8.0 -structopt-0.3.23 -structopt-derive-0.4.16 -syn-1.0.76 -tempfile-3.2.0 -textwrap-0.11.0 -tokio-0.2.25 -tokio-macros-0.2.6 -tokio-tls-0.3.1 -tokio-util-0.3.1 -tower-service-0.3.1 -tracing-0.1.28 -tracing-core-0.1.20 -tracing-futures-0.2.5 -try-lock-0.2.3 -unicode-segmentation-1.8.0 -unicode-width-0.1.9 -unicode-xid-0.2.2 -vcpkg-0.2.15 -vec_map-0.8.2 -version_check-0.9.3 -want-0.3.0 -wasi-0.10.2+wasi-snapshot-preview1 -winapi-0.2.8 -winapi-0.3.9 -winapi-build-0.1.1 -winapi-i686-pc-windows-gnu-0.4.0 -winapi-x86_64-pc-windows-gnu-0.4.0 -ws2_32-sys-0.2.1 -" - -inherit cargo - -RUST_NATIVE_TLS_COMMIT="255dd5493b446755a9e40be3a4638afedfe67b03" -DESCRIPTION="Prometheus exporter for Unbound DNS resolver" -HOMEPAGE="https://github.com/svartalf/unbound-telemetry" -SRC_URI=" - https://github.com/svartalf/unbound-telemetry/archive/${COMMIT:-${PV}}.tar.gz -> ${P}.tar.gz - $(cargo_crate_uris ${CRATES}) - https://github.com/Goirad/rust-native-tls/archive/${RUST_NATIVE_TLS_COMMIT}.tar.gz -> rust-native-tls-${RUST_NATIVE_TLS_COMMIT}.crate -" -S="${WORKDIR}/${PN}-${COMMIT:-${PV}}" - -LICENSE="Apache-2.0 Apache-2.0-with-LLVM-exceptions BSD MIT Unlicense" -SLOT="0" -KEYWORDS="~amd64" - -RDEPEND=" - acct-group/unbound-telemetry - acct-user/unbound-telemetry -" - -DOCS=( - README.md -) - -src_prepare() { - # Ensure Cargo is satisfied with the manually downloaded rust-native-tls - # Upstream use a fork *and* a certain branch - sed -i -e '/pkcs8/d' Cargo.toml || die - - default -} - -src_install() { - cargo_src_install - - dodoc "${DOCS[@]}" - newinitd "${FILESDIR}/initd" "${PN}" - newconfd "${FILESDIR}/confd" "${PN}" -} diff --git a/app-misc/anki/anki-24.06.3-r1.ebuild b/app-misc/anki/anki-24.06.3-r2.ebuild index 19438db1f49e..dea830f2ea71 100644 --- a/app-misc/anki/anki-24.06.3-r1.ebuild +++ b/app-misc/anki/anki-24.06.3-r2.ebuild @@ -774,7 +774,6 @@ BDEPEND=" >=app-arch/zstd-1.5.5:= dev-libs/protobuf virtual/pkgconfig - >=virtual/rust-1.75.0 doc? ( $(python_gen_cond_dep ' >=dev-python/sphinx-7.2.6[${PYTHON_USEDEP}] @@ -827,6 +826,7 @@ pkg_setup() { fi fi fi + rust_pkg_setup } src_prepare() { diff --git a/app-misc/battop/battop-0.2.4_p1.ebuild b/app-misc/battop/battop-0.2.4_p1-r1.ebuild index fc2e2043620b..330c3c977e1c 100644 --- a/app-misc/battop/battop-0.2.4_p1.ebuild +++ b/app-misc/battop/battop-0.2.4_p1-r1.ebuild @@ -1,4 +1,4 @@ -# Copyright 2023 Gentoo Authors +# Copyright 2023-2024 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 # Autogenerated by pycargoebuild 0.12.1 diff --git a/app-misc/broot/broot-1.39.1.ebuild b/app-misc/broot/broot-1.39.1-r1.ebuild index 69a4effdf7ac..f50fb99c83a9 100644 --- a/app-misc/broot/broot-1.39.1.ebuild +++ b/app-misc/broot/broot-1.39.1-r1.ebuild @@ -343,7 +343,6 @@ RDEPEND=" X? ( x11-libs/libxcb:= ) " DEPEND="${RDEPEND}" -BDEPEND=">=virtual/rust-1.65" QA_FLAGS_IGNORED="usr/bin/${PN}" diff --git a/app-misc/broot/broot-1.40.0.ebuild b/app-misc/broot/broot-1.40.0-r1.ebuild index 69a4effdf7ac..f50fb99c83a9 100644 --- a/app-misc/broot/broot-1.40.0.ebuild +++ b/app-misc/broot/broot-1.40.0-r1.ebuild @@ -343,7 +343,6 @@ RDEPEND=" X? ( x11-libs/libxcb:= ) " DEPEND="${RDEPEND}" -BDEPEND=">=virtual/rust-1.65" QA_FLAGS_IGNORED="usr/bin/${PN}" diff --git a/app-misc/broot/broot-1.41.1.ebuild b/app-misc/broot/broot-1.41.1-r1.ebuild index cf8bfec8f22d..2379a151314b 100644 --- a/app-misc/broot/broot-1.41.1.ebuild +++ b/app-misc/broot/broot-1.41.1-r1.ebuild @@ -343,7 +343,6 @@ RDEPEND=" X? ( x11-libs/libxcb:= ) " DEPEND="${RDEPEND}" -BDEPEND=">=virtual/rust-1.76" QA_FLAGS_IGNORED="usr/bin/${PN}" diff --git a/app-misc/broot/broot-1.42.0.ebuild b/app-misc/broot/broot-1.42.0-r1.ebuild index ec4dd63e7847..15532af1196f 100644 --- a/app-misc/broot/broot-1.42.0.ebuild +++ b/app-misc/broot/broot-1.42.0-r1.ebuild @@ -330,6 +330,7 @@ zerocopy-derive@0.7.35 zune-inflate@0.2.54 " +RUST_MIN_VER="1.77.1" inherit bash-completion-r1 cargo DESCRIPTION="A new way to see and navigate directory trees" @@ -348,7 +349,6 @@ RDEPEND=" X? ( x11-libs/libxcb:= ) " DEPEND="${RDEPEND}" -BDEPEND=">=virtual/rust-1.76" QA_FLAGS_IGNORED="usr/bin/${PN}" diff --git a/app-misc/jaq/jaq-1.4.0.ebuild b/app-misc/jaq/jaq-1.4.0-r1.ebuild index 3ab923ebfc7a..47621a72b4a6 100644 --- a/app-misc/jaq/jaq-1.4.0.ebuild +++ b/app-misc/jaq/jaq-1.4.0-r1.ebuild @@ -104,10 +104,6 @@ LICENSE+=" SLOT="0" KEYWORDS="~amd64" -BDEPEND=" - >=virtual/rust-1.64 -" - QA_FLAGS_IGNORED="usr/bin/jaq" QA_PRESTRIPPED="usr/bin/jaq" diff --git a/app-misc/jaq/jaq-1.5.0.ebuild b/app-misc/jaq/jaq-1.5.0-r1.ebuild index 84cd770b0588..0ed97bf85a63 100644 --- a/app-misc/jaq/jaq-1.5.0.ebuild +++ b/app-misc/jaq/jaq-1.5.0-r1.ebuild @@ -103,10 +103,6 @@ LICENSE+=" SLOT="0" KEYWORDS="~amd64" -BDEPEND=" - >=virtual/rust-1.64 -" - QA_FLAGS_IGNORED="usr/bin/jaq" QA_PRESTRIPPED="usr/bin/jaq" diff --git a/app-misc/jaq/jaq-1.6.0.ebuild b/app-misc/jaq/jaq-1.6.0-r1.ebuild index 5be92024ab2c..911945462c9e 100644 --- a/app-misc/jaq/jaq-1.6.0.ebuild +++ b/app-misc/jaq/jaq-1.6.0-r1.ebuild @@ -100,10 +100,6 @@ LICENSE+=" SLOT="0" KEYWORDS="~amd64" -BDEPEND=" - >=virtual/rust-1.64 -" - QA_FLAGS_IGNORED="usr/bin/jaq" QA_PRESTRIPPED="usr/bin/jaq" diff --git a/app-misc/jf/jf-0.6.2-r1.ebuild b/app-misc/jf/jf-0.6.2-r2.ebuild index cf3416531097..849e01ee7f1a 100644 --- a/app-misc/jf/jf-0.6.2-r1.ebuild +++ b/app-misc/jf/jf-0.6.2-r2.ebuild @@ -1,4 +1,4 @@ -# Copyright 2023 Gentoo Authors +# Copyright 2023-2024 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 # Autogenerated by pycargoebuild 0.10 diff --git a/app-misc/rpick/rpick-0.9.1.ebuild b/app-misc/rpick/rpick-0.9.1-r1.ebuild index 064cbbda8ef7..064cbbda8ef7 100644 --- a/app-misc/rpick/rpick-0.9.1.ebuild +++ b/app-misc/rpick/rpick-0.9.1-r1.ebuild diff --git a/app-misc/skim/skim-0.10.4.ebuild b/app-misc/skim/skim-0.10.4-r1.ebuild index 3ffb2711ab1e..3ffb2711ab1e 100644 --- a/app-misc/skim/skim-0.10.4.ebuild +++ b/app-misc/skim/skim-0.10.4-r1.ebuild diff --git a/app-misc/tzupdate/tzupdate-3.1.0.ebuild b/app-misc/tzupdate/tzupdate-3.1.0-r1.ebuild index 1143edfba7dc..1143edfba7dc 100644 --- a/app-misc/tzupdate/tzupdate-3.1.0.ebuild +++ b/app-misc/tzupdate/tzupdate-3.1.0-r1.ebuild diff --git a/app-misc/weggli/metadata.xml b/app-misc/weggli/metadata.xml index 8e6ae4d7b0c1..749e1a60957a 100644 --- a/app-misc/weggli/metadata.xml +++ b/app-misc/weggli/metadata.xml @@ -6,6 +6,6 @@ <name>Matthew Smith</name> </maintainer> <upstream> - <remote-id type="github">googleprojectzero/weggli</remote-id> + <remote-id type="github">weggli-rs/weggli</remote-id> </upstream> </pkgmetadata> diff --git a/app-misc/weggli/weggli-0.2.4-r1.ebuild b/app-misc/weggli/weggli-0.2.4-r1.ebuild new file mode 100644 index 000000000000..cf0b3be9e3bb --- /dev/null +++ b/app-misc/weggli/weggli-0.2.4-r1.ebuild @@ -0,0 +1,142 @@ +# Copyright 2022-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +CRATES=" + aho-corasick@0.7.18 + ansi_term@0.12.1 + assert_cmd@2.0.2 + atty@0.2.14 + autocfg@1.0.1 + bitflags@1.3.2 + bstr@0.2.17 + bumpalo@3.9.1 + cast@0.2.7 + cc@1.0.72 + cfg-if@0.1.10 + cfg-if@1.0.0 + chrono@0.4.19 + clap@2.34.0 + colored@2.0.0 + criterion@0.3.5 + criterion-plot@0.4.4 + crossbeam-channel@0.5.2 + crossbeam-deque@0.8.1 + crossbeam-epoch@0.9.6 + crossbeam-utils@0.8.6 + csv@1.1.6 + csv-core@0.1.10 + ctor@0.1.21 + difference@2.0.0 + difflib@0.4.0 + doc-comment@0.3.3 + either@1.6.1 + float-cmp@0.8.0 + ghost@0.1.2 + half@1.8.2 + hermit-abi@0.1.19 + indoc@0.3.6 + indoc-impl@0.3.6 + instant@0.1.12 + inventory@0.1.11 + inventory-impl@0.1.11 + itertools@0.10.3 + itoa@0.4.8 + itoa@1.0.1 + js-sys@0.3.55 + lazy_static@1.4.0 + libc@0.2.112 + lock_api@0.4.5 + log@0.4.14 + memchr@2.4.1 + memoffset@0.6.5 + nix@0.17.0 + normalize-line-endings@0.3.0 + num-integer@0.1.44 + num-traits@0.2.14 + num_cpus@1.13.1 + oorandom@11.1.3 + parking_lot@0.11.2 + parking_lot_core@0.8.5 + paste@0.1.18 + paste-impl@0.1.18 + plotters@0.3.1 + plotters-backend@0.3.2 + plotters-svg@0.3.1 + predicates@1.0.8 + predicates@2.1.0 + predicates-core@1.0.2 + predicates-tree@1.0.4 + proc-macro-hack@0.5.19 + proc-macro2@1.0.36 + pyo3@0.13.2 + pyo3-macros@0.13.2 + pyo3-macros-backend@0.13.2 + quote@1.0.14 + rayon@1.5.1 + rayon-core@1.9.1 + redox_syscall@0.2.10 + regex@1.5.4 + regex-automata@0.1.10 + regex-syntax@0.6.25 + rustc-hash@1.1.0 + rustc_version@0.4.0 + ryu@1.0.9 + same-file@1.0.6 + scopeguard@1.1.0 + semver@1.0.4 + serde@1.0.133 + serde_cbor@0.11.2 + serde_derive@1.0.133 + serde_json@1.0.74 + simplelog@0.10.2 + smallvec@1.7.0 + strsim@0.8.0 + syn@1.0.85 + termcolor@1.1.2 + termtree@0.2.4 + textwrap@0.11.0 + time@0.1.44 + tinytemplate@1.2.1 + tree-sitter@0.20.2 + unicode-width@0.1.9 + unicode-xid@0.2.2 + unindent@0.1.7 + vec_map@0.8.2 + void@1.0.2 + wait-timeout@0.2.0 + walkdir@2.3.2 + wasi@0.10.0+wasi-snapshot-preview1 + wasm-bindgen@0.2.78 + wasm-bindgen-backend@0.2.78 + wasm-bindgen-macro@0.2.78 + wasm-bindgen-macro-support@0.2.78 + wasm-bindgen-shared@0.2.78 + web-sys@0.3.55 + winapi@0.3.9 + winapi-i686-pc-windows-gnu@0.4.0 + winapi-util@0.1.5 + winapi-x86_64-pc-windows-gnu@0.4.0 +" + +# We can inherit distutils-r1 here and build the Python +# module. Unfortunately the Python module seems to not include the +# tree-sitter grammar. Patching the .so to need the system's +# libtree-sitter-cpp seems to work, but it is not correct because the +# weggli grammar has some minor modifications. + +inherit cargo + +DESCRIPTION="a fast and robust semantic search tool for C and C++ codebases" +HOMEPAGE="https://github.com/weggli-rs/weggli" +SRC_URI=" + https://github.com/weggli-rs/weggli/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz + ${CARGO_CRATE_URIS} +" + +LICENSE="Apache-2.0 Apache-2.0-with-LLVM-exceptions BSD Boost-1.0 MIT MPL-2.0 Unlicense" +SLOT="0" +KEYWORDS="~amd64 ~arm64" + +QA_FLAGS_IGNORED="usr/bin/${PN}" diff --git a/app-misc/weggli/weggli-0.2.4.ebuild b/app-misc/weggli/weggli-0.2.4.ebuild deleted file mode 100644 index f4580b114190..000000000000 --- a/app-misc/weggli/weggli-0.2.4.ebuild +++ /dev/null @@ -1,141 +0,0 @@ -# Copyright 2022-2023 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -CRATES=" - aho-corasick-0.7.18 - ansi_term-0.12.1 - assert_cmd-2.0.2 - atty-0.2.14 - autocfg-1.0.1 - bitflags-1.3.2 - bstr-0.2.17 - bumpalo-3.9.1 - cast-0.2.7 - cc-1.0.72 - cfg-if-0.1.10 - cfg-if-1.0.0 - chrono-0.4.19 - clap-2.34.0 - colored-2.0.0 - criterion-0.3.5 - criterion-plot-0.4.4 - crossbeam-channel-0.5.2 - crossbeam-deque-0.8.1 - crossbeam-epoch-0.9.6 - crossbeam-utils-0.8.6 - csv-1.1.6 - csv-core-0.1.10 - ctor-0.1.21 - difference-2.0.0 - difflib-0.4.0 - doc-comment-0.3.3 - either-1.6.1 - float-cmp-0.8.0 - ghost-0.1.2 - half-1.8.2 - hermit-abi-0.1.19 - indoc-0.3.6 - indoc-impl-0.3.6 - instant-0.1.12 - inventory-0.1.11 - inventory-impl-0.1.11 - itertools-0.10.3 - itoa-0.4.8 - itoa-1.0.1 - js-sys-0.3.55 - lazy_static-1.4.0 - libc-0.2.112 - lock_api-0.4.5 - log-0.4.14 - memchr-2.4.1 - memoffset-0.6.5 - nix-0.17.0 - normalize-line-endings-0.3.0 - num-integer-0.1.44 - num-traits-0.2.14 - num_cpus-1.13.1 - oorandom-11.1.3 - parking_lot-0.11.2 - parking_lot_core-0.8.5 - paste-0.1.18 - paste-impl-0.1.18 - plotters-0.3.1 - plotters-backend-0.3.2 - plotters-svg-0.3.1 - predicates-1.0.8 - predicates-2.1.0 - predicates-core-1.0.2 - predicates-tree-1.0.4 - proc-macro-hack-0.5.19 - proc-macro2-1.0.36 - pyo3-0.13.2 - pyo3-macros-0.13.2 - pyo3-macros-backend-0.13.2 - quote-1.0.14 - rayon-1.5.1 - rayon-core-1.9.1 - redox_syscall-0.2.10 - regex-1.5.4 - regex-automata-0.1.10 - regex-syntax-0.6.25 - rustc-hash-1.1.0 - rustc_version-0.4.0 - ryu-1.0.9 - same-file-1.0.6 - scopeguard-1.1.0 - semver-1.0.4 - serde-1.0.133 - serde_cbor-0.11.2 - serde_derive-1.0.133 - serde_json-1.0.74 - simplelog-0.10.2 - smallvec-1.7.0 - strsim-0.8.0 - syn-1.0.85 - termcolor-1.1.2 - termtree-0.2.4 - textwrap-0.11.0 - time-0.1.44 - tinytemplate-1.2.1 - tree-sitter-0.20.2 - unicode-width-0.1.9 - unicode-xid-0.2.2 - unindent-0.1.7 - vec_map-0.8.2 - void-1.0.2 - wait-timeout-0.2.0 - walkdir-2.3.2 - wasi-0.10.0+wasi-snapshot-preview1 - wasm-bindgen-0.2.78 - wasm-bindgen-backend-0.2.78 - wasm-bindgen-macro-0.2.78 - wasm-bindgen-macro-support-0.2.78 - wasm-bindgen-shared-0.2.78 - web-sys-0.3.55 - winapi-0.3.9 - winapi-i686-pc-windows-gnu-0.4.0 - winapi-util-0.1.5 - winapi-x86_64-pc-windows-gnu-0.4.0 -" - -# We can inherit distutils-r1 here and build the Python -# module. Unfortunately the Python module seems to not include the -# tree-sitter grammar. Patching the .so to need the system's -# libtree-sitter-cpp seems to work, but it is not correct because the -# weggli grammar has some minor modifications. -inherit cargo - -DESCRIPTION="a fast and robust semantic search tool for C and C++ codebases" -HOMEPAGE="https://github.com/googleprojectzero/weggli" -SRC_URI=" - https://github.com/googleprojectzero/weggli/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz - $(cargo_crate_uris) -" - -LICENSE="Apache-2.0 Apache-2.0-with-LLVM-exceptions BSD Boost-1.0 MIT MPL-2.0 Unlicense" -SLOT="0" -KEYWORDS="~amd64 ~arm64" - -QA_FLAGS_IGNORED="usr/bin/${PN}" diff --git a/app-misc/zellij/zellij-0.41.1.ebuild b/app-misc/zellij/zellij-0.41.1-r1.ebuild index cc15a6b9910d..cc15a6b9910d 100644 --- a/app-misc/zellij/zellij-0.41.1.ebuild +++ b/app-misc/zellij/zellij-0.41.1-r1.ebuild diff --git a/app-portage/emlop/emlop-0.7.0.ebuild b/app-portage/emlop/emlop-0.7.0-r1.ebuild index 40f36cd2218c..169c26543157 100644 --- a/app-portage/emlop/emlop-0.7.0.ebuild +++ b/app-portage/emlop/emlop-0.7.0-r1.ebuild @@ -88,6 +88,8 @@ CRATES=" winnow@0.6.5 " +RUST_MIN_VER="1.71.1" + inherit cargo shell-completion DESCRIPTION="A fast, accurate, ergonomic emerge.log parser" @@ -106,8 +108,6 @@ LICENSE+=" SLOT="0" KEYWORDS="amd64" -BDEPEND=">=virtual/rust-1.71.0" - # rust does not use *FLAGS from make.conf, silence portage warning QA_FLAGS_IGNORED="usr/bin/${PN}" diff --git a/app-portage/emlop/emlop-0.7.1.ebuild b/app-portage/emlop/emlop-0.7.1-r1.ebuild index a2209e78a73a..4c336514e628 100644 --- a/app-portage/emlop/emlop-0.7.1.ebuild +++ b/app-portage/emlop/emlop-0.7.1-r1.ebuild @@ -90,6 +90,8 @@ CRATES=" winnow@0.6.20 " +RUST_MIN_VER="1.71.1" + inherit cargo shell-completion DESCRIPTION="A fast, accurate, ergonomic emerge.log parser" @@ -108,8 +110,6 @@ LICENSE+=" SLOT="0" KEYWORDS="~amd64" -BDEPEND=">=virtual/rust-1.71.0" - # rust does not use *FLAGS from make.conf, silence portage warning QA_FLAGS_IGNORED="usr/bin/${PN}" diff --git a/app-shells/atuin/atuin-18.3.0-r1.ebuild b/app-shells/atuin/atuin-18.3.0-r2.ebuild index 584ccab1160b..2aeb85eee95a 100644 --- a/app-shells/atuin/atuin-18.3.0-r1.ebuild +++ b/app-shells/atuin/atuin-18.3.0-r2.ebuild @@ -454,6 +454,8 @@ CRATES=" zeroize_derive@1.4.2 " +RUST_MIN_VER="1.71.1" + inherit cargo greadme shell-completion systemd DESCRIPTION="Shell history manager supporting encrypted synchronisation" @@ -482,7 +484,6 @@ DEPEND="test? ( dev-db/postgresql )" # protox with 9fa223eaaf0e ("chore(build): compile protobufs with protox (#2122)") BDEPEND=" dev-libs/protobuf - >=virtual/rust-1.71.0 " QA_FLAGS_IGNORED="usr/bin/${PN}" diff --git a/app-shells/mcfly/mcfly-0.5.13-r1.ebuild b/app-shells/mcfly/mcfly-0.5.13-r1.ebuild new file mode 100644 index 000000000000..0f6affe490b3 --- /dev/null +++ b/app-shells/mcfly/mcfly-0.5.13-r1.ebuild @@ -0,0 +1,115 @@ +# Copyright 2017-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +CRATES=" + aho-corasick@0.7.10 + ansi_term@0.11.0 + arrayref@0.3.6 + arrayvec@0.5.1 + atty@0.2.14 + autocfg@1.0.0 + base64@0.11.0 + bitflags@1.2.1 + blake2b_simd@0.5.10 + bstr@0.2.12 + byteorder@1.3.4 + cc@1.0.52 + cfg-if@0.1.10 + chrono@0.4.19 + clap@2.33.0 + constant_time_eq@0.1.5 + crossbeam-utils@0.7.2 + csv@1.1.3 + csv-core@0.1.10 + dirs@2.0.2 + dirs-sys@0.3.4 + either@1.6.1 + getrandom@0.1.14 + hermit-abi@0.1.12 + humantime@2.1.0 + itertools@0.9.0 + itoa@0.4.5 + lazy_static@1.4.0 + libc@0.2.69 + libsqlite3-sys@0.10.0 + linked-hash-map@0.5.3 + lru-cache@0.1.2 + memchr@2.3.3 + num-integer@0.1.44 + num-traits@0.2.14 + numtoa@0.1.0 + pkg-config@0.3.17 + ppv-lite86@0.2.6 + rand@0.7.3 + rand_chacha@0.2.2 + rand_core@0.5.1 + rand_hc@0.2.0 + redox_syscall@0.1.56 + redox_termios@0.1.1 + redox_users@0.3.4 + regex@1.3.7 + regex-automata@0.1.9 + regex-syntax@0.6.17 + relative-path@1.0.0 + rusqlite@0.15.0 + rust-argon2@0.7.0 + ryu@1.0.4 + serde@1.0.106 + shellexpand@2.0.0 + strsim@0.8.0 + termion@1.5.5 + textwrap@0.11.0 + thread_local@1.0.1 + time@0.1.43 + unicode-segmentation@1.6.0 + unicode-width@0.1.7 + vcpkg@0.2.8 + vec_map@0.8.2 + wasi@0.9.0+wasi-snapshot-preview1 + winapi@0.3.8 + winapi-i686-pc-windows-gnu@0.4.0 + winapi-x86_64-pc-windows-gnu@0.4.0 +" + +inherit cargo readme.gentoo-r1 + +DESCRIPTION="Context-aware bash history search replacement (ctrl-r)" +HOMEPAGE="https://github.com/cantino/mcfly" +SRC_URI="https://github.com/cantino/mcfly/archive/v${PV}.tar.gz -> ${P}.tar.gz + ${CARGO_CRATE_URIS}" + +LICENSE="Apache-2.0 Apache-2.0-with-LLVM-exceptions BSD BSD-2 CC0-1.0 MIT Unlicense" +SLOT="0" +KEYWORDS="~amd64" + +QA_FLAGS_IGNORED="usr/bin/mcfly" + +src_install() { + cargo_src_install + + insinto /usr/share/${PN} + doins ${PN}.{bash,fish,zsh} + + # create README.gentoo + local DISABLE_AUTOFORMATTING="yes" + local DOC_CONTENTS=\ +"To start using ${PN}, add the following to your shell: + +~/.bashrc +eval \"\$(mcfly init bash)\" + +~/.config/fish/config.fish +mcfly init fish | source + +~/.zsh +eval \"\$(mcfly init zsh)\"" + readme.gentoo_create_doc + + einstalldocs +} + +pkg_postinst() { + readme.gentoo_print_elog +} diff --git a/app-shells/mcfly/mcfly-0.5.13.ebuild b/app-shells/mcfly/mcfly-0.5.13.ebuild deleted file mode 100644 index 888504821bc2..000000000000 --- a/app-shells/mcfly/mcfly-0.5.13.ebuild +++ /dev/null @@ -1,115 +0,0 @@ -# Copyright 2017-2022 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -CRATES=" - aho-corasick-0.7.10 - ansi_term-0.11.0 - arrayref-0.3.6 - arrayvec-0.5.1 - atty-0.2.14 - autocfg-1.0.0 - base64-0.11.0 - bitflags-1.2.1 - blake2b_simd-0.5.10 - bstr-0.2.12 - byteorder-1.3.4 - cc-1.0.52 - cfg-if-0.1.10 - chrono-0.4.19 - clap-2.33.0 - constant_time_eq-0.1.5 - crossbeam-utils-0.7.2 - csv-1.1.3 - csv-core-0.1.10 - dirs-2.0.2 - dirs-sys-0.3.4 - either-1.6.1 - getrandom-0.1.14 - hermit-abi-0.1.12 - humantime-2.1.0 - itertools-0.9.0 - itoa-0.4.5 - lazy_static-1.4.0 - libc-0.2.69 - libsqlite3-sys-0.10.0 - linked-hash-map-0.5.3 - lru-cache-0.1.2 - memchr-2.3.3 - num-integer-0.1.44 - num-traits-0.2.14 - numtoa-0.1.0 - pkg-config-0.3.17 - ppv-lite86-0.2.6 - rand-0.7.3 - rand_chacha-0.2.2 - rand_core-0.5.1 - rand_hc-0.2.0 - redox_syscall-0.1.56 - redox_termios-0.1.1 - redox_users-0.3.4 - regex-1.3.7 - regex-automata-0.1.9 - regex-syntax-0.6.17 - relative-path-1.0.0 - rusqlite-0.15.0 - rust-argon2-0.7.0 - ryu-1.0.4 - serde-1.0.106 - shellexpand-2.0.0 - strsim-0.8.0 - termion-1.5.5 - textwrap-0.11.0 - thread_local-1.0.1 - time-0.1.43 - unicode-segmentation-1.6.0 - unicode-width-0.1.7 - vcpkg-0.2.8 - vec_map-0.8.2 - wasi-0.9.0+wasi-snapshot-preview1 - winapi-0.3.8 - winapi-i686-pc-windows-gnu-0.4.0 - winapi-x86_64-pc-windows-gnu-0.4.0 -" - -inherit cargo readme.gentoo-r1 - -DESCRIPTION="Context-aware bash history search replacement (ctrl-r)" -HOMEPAGE="https://github.com/cantino/mcfly" -SRC_URI="https://github.com/cantino/mcfly/archive/v${PV}.tar.gz -> ${P}.tar.gz - $(cargo_crate_uris)" - -LICENSE="Apache-2.0 Apache-2.0-with-LLVM-exceptions BSD BSD-2 CC0-1.0 MIT Unlicense" -SLOT="0" -KEYWORDS="~amd64" - -QA_FLAGS_IGNORED="usr/bin/mcfly" - -src_install() { - cargo_src_install - - insinto /usr/share/${PN} - doins ${PN}.{bash,fish,zsh} - - # create README.gentoo - local DISABLE_AUTOFORMATTING="yes" - local DOC_CONTENTS=\ -"To start using ${PN}, add the following to your shell: - -~/.bashrc -eval \"\$(mcfly init bash)\" - -~/.config/fish/config.fish -mcfly init fish | source - -~/.zsh -eval \"\$(mcfly init zsh)\"" - readme.gentoo_create_doc - - einstalldocs -} - -pkg_postinst() { - readme.gentoo_print_elog -} diff --git a/app-shells/mcfly/mcfly-0.9.0.ebuild b/app-shells/mcfly/mcfly-0.9.0-r1.ebuild index 2c4a7577b00a..2c4a7577b00a 100644 --- a/app-shells/mcfly/mcfly-0.9.0.ebuild +++ b/app-shells/mcfly/mcfly-0.9.0-r1.ebuild diff --git a/app-shells/nushell/nushell-0.95.0.ebuild b/app-shells/nushell/nushell-0.95.0-r1.ebuild index 26e04a4ee1e0..26e04a4ee1e0 100644 --- a/app-shells/nushell/nushell-0.95.0.ebuild +++ b/app-shells/nushell/nushell-0.95.0-r1.ebuild diff --git a/app-shells/nushell/nushell-0.96.1.ebuild b/app-shells/nushell/nushell-0.96.1-r1.ebuild index 36fc5ed12705..36fc5ed12705 100644 --- a/app-shells/nushell/nushell-0.96.1.ebuild +++ b/app-shells/nushell/nushell-0.96.1-r1.ebuild diff --git a/app-shells/nushell/nushell-0.98.0.ebuild b/app-shells/nushell/nushell-0.98.0-r1.ebuild index ad8fb2112036..9d5bc205942e 100644 --- a/app-shells/nushell/nushell-0.98.0.ebuild +++ b/app-shells/nushell/nushell-0.98.0-r1.ebuild @@ -698,6 +698,7 @@ CRATES=" zstd@0.13.2 " +RUST_MIN_VER="1.79.0" inherit cargo DESCRIPTION="A new type of shell, written in Rust" @@ -732,7 +733,6 @@ DEPEND=" " RDEPEND="${DEPEND}" BDEPEND=" - >=virtual/rust-1.79.0 virtual/pkgconfig " diff --git a/app-shells/starship/starship-1.19.0.ebuild b/app-shells/starship/starship-1.19.0-r1.ebuild index c44e5bb3dec5..ccaa9e9dcd64 100644 --- a/app-shells/starship/starship-1.19.0.ebuild +++ b/app-shells/starship/starship-1.19.0-r1.ebuild @@ -5,6 +5,7 @@ EAPI=8 CRATES="" +RUST_MIN_VER="1.74.1" inherit cargo DESCRIPTION="The minimal, blazing-fast, and infinitely customizable prompt for any shell" @@ -26,7 +27,6 @@ KEYWORDS="amd64 arm64" BDEPEND=" dev-build/cmake - >=virtual/rust-1.74.1 " QA_FLAGS_IGNORED="usr/bin/starship" diff --git a/app-shells/starship/starship-1.20.1.ebuild b/app-shells/starship/starship-1.20.1-r1.ebuild index a6607e763860..6080429d8bc4 100644 --- a/app-shells/starship/starship-1.20.1.ebuild +++ b/app-shells/starship/starship-1.20.1-r1.ebuild @@ -395,6 +395,7 @@ CRATES=" zvariant_utils@2.1.0 " +RUST_MIN_VER="1.74.1" inherit cargo DESCRIPTION="The minimal, blazing-fast, and infinitely customizable prompt for any shell" @@ -414,7 +415,6 @@ KEYWORDS="amd64 arm64" BDEPEND=" dev-build/cmake - >=virtual/rust-1.74.1 " QA_FLAGS_IGNORED="usr/bin/starship" diff --git a/app-shells/zoxide/zoxide-0.9.4.ebuild b/app-shells/zoxide/zoxide-0.9.4-r1.ebuild index 000e4b303a2d..000e4b303a2d 100644 --- a/app-shells/zoxide/zoxide-0.9.4.ebuild +++ b/app-shells/zoxide/zoxide-0.9.4-r1.ebuild diff --git a/app-shells/zoxide/zoxide-0.9.6.ebuild b/app-shells/zoxide/zoxide-0.9.6-r1.ebuild index ebabae35a6f2..ebabae35a6f2 100644 --- a/app-shells/zoxide/zoxide-0.9.6.ebuild +++ b/app-shells/zoxide/zoxide-0.9.6-r1.ebuild diff --git a/app-text/fblog/fblog-4.10.0.ebuild b/app-text/fblog/fblog-4.10.0-r1.ebuild index 19cb0922d9dc..19cb0922d9dc 100644 --- a/app-text/fblog/fblog-4.10.0.ebuild +++ b/app-text/fblog/fblog-4.10.0-r1.ebuild diff --git a/app-text/mdbook/mdbook-0.4.40.ebuild b/app-text/mdbook/mdbook-0.4.40-r1.ebuild index bf8098720bf5..bf8098720bf5 100644 --- a/app-text/mdbook/mdbook-0.4.40.ebuild +++ b/app-text/mdbook/mdbook-0.4.40-r1.ebuild diff --git a/dev-db/influxdb/influxdb-2.7.10.ebuild b/dev-db/influxdb/influxdb-2.7.10-r1.ebuild index 60339b24dc5b..60339b24dc5b 100644 --- a/dev-db/influxdb/influxdb-2.7.10.ebuild +++ b/dev-db/influxdb/influxdb-2.7.10-r1.ebuild diff --git a/dev-db/influxdb/influxdb-2.7.8.ebuild b/dev-db/influxdb/influxdb-2.7.8-r1.ebuild index 1baa0b00ed71..020930e8bf16 100644 --- a/dev-db/influxdb/influxdb-2.7.8.ebuild +++ b/dev-db/influxdb/influxdb-2.7.8-r1.ebuild @@ -216,6 +216,11 @@ DEPEND=" " RDEPEND="${DEPEND}" +pkg_setup() { + go_pkg_setup + rust_pkg_setup +} + src_unpack() { cargo_src_unpack } diff --git a/dev-java/icedtea-web/icedtea-web-1.8.8-r1.ebuild b/dev-java/icedtea-web/icedtea-web-1.8.8-r2.ebuild index 73754338cb33..ff395edab946 100644 --- a/dev-java/icedtea-web/icedtea-web-1.8.8-r1.ebuild +++ b/dev-java/icedtea-web/icedtea-web-1.8.8-r2.ebuild @@ -4,14 +4,16 @@ EAPI=8 README_GENTOO_SUFFIX="-r3" -CRATES="dunce-0.1.1" +CRATES="dunce@0.1.1" inherit autotools bash-completion-r1 cargo java-pkg-2 readme.gentoo-r1 xdg-utils DESCRIPTION="FOSS Java browser plugin and Web Start implementation" HOMEPAGE="https://github.com/AdoptOpenJDK/IcedTea-Web" SRC_URI="https://github.com/AdoptOpenJDK/${PN}/archive/${P}.tar.gz - $(cargo_crate_uris ${CRATES})" + ${CARGO_CRATE_URIS}" +S="${WORKDIR}/IcedTea-Web-${P}" + LICENSE="GPL-2 GPL-2-with-linking-exception LGPL-2" SLOT="0" KEYWORDS="amd64 arm64 ppc64" @@ -25,7 +27,6 @@ BDEPEND=" app-arch/zip app-alternatives/bc virtual/pkgconfig - virtual/rust doc? ( app-alternatives/bc ) " @@ -58,10 +59,13 @@ RDEPEND=" >=virtual/jre-1.8:* " -S="${WORKDIR}/IcedTea-Web-${P}" - QA_FLAGS_IGNORED="usr/bin/.*" +pkg_setup() { + java-pkg-2_pkg_setup + rust_pkg_setup +} + src_prepare() { eapply_user sed -i 's/JAVADOC_OPTS=/\0-Xdoclint:none /g' Makefile.am || die diff --git a/dev-lang/dafny/dafny-4.8.0.ebuild b/dev-lang/dafny/dafny-4.8.0.ebuild index fc41fee57b24..d759dd478757 100644 --- a/dev-lang/dafny/dafny-4.8.0.ebuild +++ b/dev-lang/dafny/dafny-4.8.0.ebuild @@ -667,5 +667,5 @@ src_install() { pkg_postinst() { optfeature "Dafny GO language backend" dev-go/go-tools - optfeature "Dafny Rust language backend" virtual/rust + optfeature "Dafny Rust language backend" dev-lang/rust dev-lang/rust-bin } diff --git a/dev-lang/dafny/dafny-4.8.1.ebuild b/dev-lang/dafny/dafny-4.8.1.ebuild index f1cba38874f6..0bf40a85c501 100644 --- a/dev-lang/dafny/dafny-4.8.1.ebuild +++ b/dev-lang/dafny/dafny-4.8.1.ebuild @@ -668,5 +668,5 @@ src_install() { pkg_postinst() { optfeature "Dafny GO language backend" dev-go/go-tools - optfeature "Dafny Rust language backend" virtual/rust + optfeature "Dafny Rust language backend" dev-lang/rust dev-lang/rust-bin } diff --git a/dev-lang/dafny/dafny-4.9.0.ebuild b/dev-lang/dafny/dafny-4.9.0.ebuild index aad9495c760b..dd8da1ebd4cd 100644 --- a/dev-lang/dafny/dafny-4.9.0.ebuild +++ b/dev-lang/dafny/dafny-4.9.0.ebuild @@ -643,5 +643,5 @@ src_install() { pkg_postinst() { optfeature "Dafny GO language backend" dev-go/go-tools - optfeature "Dafny Rust language backend" virtual/rust + optfeature "Dafny Rust language backend" dev-lang/rust dev-lang/rust-bin } diff --git a/dev-lang/gleam/gleam-1.4.1.ebuild b/dev-lang/gleam/gleam-1.4.1-r1.ebuild index 7151240a5284..7151240a5284 100644 --- a/dev-lang/gleam/gleam-1.4.1.ebuild +++ b/dev-lang/gleam/gleam-1.4.1-r1.ebuild diff --git a/dev-lang/gnat-gpl/gnat-gpl-2021-r5.ebuild b/dev-lang/gnat-gpl/gnat-gpl-2021-r5.ebuild index 442fabf6223f..0b3ec6d0b5d2 100644 --- a/dev-lang/gnat-gpl/gnat-gpl-2021-r5.ebuild +++ b/dev-lang/gnat-gpl/gnat-gpl-2021-r5.ebuild @@ -39,6 +39,7 @@ inherit flag-o-matic toolchain-funcs toolchain DESCRIPTION="GNAT Ada Compiler - GPL version" HOMEPAGE="http://libre.adacore.com/" +S="${WORKDIR}"/${MYP} LICENSE+=" GPL-2 GPL-3" KEYWORDS="amd64 x86" @@ -48,8 +49,6 @@ RESTRICT="test" RDEPEND="!=sys-devel/gcc-${TOOLCHAIN_GCC_PV}*" BDEPEND=sys-devel/binutils -S="${WORKDIR}"/${MYP} - pkg_pretend() { toolchain_pkg_pretend if tc-is-clang; then diff --git a/dev-lang/ruby/ruby-3.2.4.ebuild b/dev-lang/ruby/ruby-3.2.4-r2.ebuild index 524d5af27834..7d109feb42c6 100644 --- a/dev-lang/ruby/ruby-3.2.4.ebuild +++ b/dev-lang/ruby/ruby-3.2.4-r2.ebuild @@ -3,28 +3,30 @@ EAPI=8 -inherit autotools flag-o-matic multiprocessing +RUST_OPTIONAL="yes" -MY_P="${PN}-$(ver_cut 1-3)" -S=${WORKDIR}/${MY_P} +inherit autotools flag-o-matic multiprocessing rust -SLOT=$(ver_cut 1-2) -MY_SUFFIX=$(ver_rs 1 '' ${SLOT}) -RUBYVERSION=${SLOT}.0 +MY_P="${PN}-$(ver_cut 1-3)" DESCRIPTION="An object-oriented scripting language" HOMEPAGE="https://www.ruby-lang.org/" SRC_URI="https://cache.ruby-lang.org/pub/ruby/${SLOT}/${MY_P}.tar.xz" +S=${WORKDIR}/${MY_P} LICENSE="|| ( Ruby-BSD BSD-2 )" +SLOT=$(ver_cut 1-2) +MY_SUFFIX=$(ver_rs 1 '' ${SLOT}) +RUBYVERSION=${SLOT}.0 + KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris" -IUSE="berkdb debug doc examples gdbm ipv6 jemalloc jit socks5 +ssl static-libs systemtap tk valgrind xemacs" +IUSE="berkdb debug doc examples gdbm jemalloc jit socks5 +ssl static-libs systemtap tk valgrind xemacs" RDEPEND=" berkdb? ( sys-libs/db:= ) gdbm? ( sys-libs/gdbm:= ) jemalloc? ( dev-libs/jemalloc:= ) - jit? ( >=virtual/rust-1.58.1 ) + jit? ( ${RUST_DEPEND} ) ssl? ( dev-libs/openssl:0= ) @@ -76,6 +78,10 @@ PDEPEND=" xemacs? ( app-xemacs/ruby-modes ) " +pkg_setup() { + use jit && rust_pkg_setup +} + src_prepare() { eapply "${FILESDIR}"/"${SLOT}"/010*.patch eapply "${FILESDIR}"/"${SLOT}"/011*.patch diff --git a/dev-lang/ruby/ruby-3.2.4-r1.ebuild b/dev-lang/ruby/ruby-3.2.4-r3.ebuild index 7152cb0f52fc..76287f2c4584 100644 --- a/dev-lang/ruby/ruby-3.2.4-r1.ebuild +++ b/dev-lang/ruby/ruby-3.2.4-r3.ebuild @@ -3,28 +3,30 @@ EAPI=8 -inherit autotools flag-o-matic multiprocessing +RUST_OPTIONAL="yes" -MY_P="${PN}-$(ver_cut 1-3)" -S=${WORKDIR}/${MY_P} +inherit autotools flag-o-matic multiprocessing rust -SLOT=$(ver_cut 1-2) -MY_SUFFIX=$(ver_rs 1 '' ${SLOT}) -RUBYVERSION=${SLOT}.0 +MY_P="${PN}-$(ver_cut 1-3)" DESCRIPTION="An object-oriented scripting language" HOMEPAGE="https://www.ruby-lang.org/" SRC_URI="https://cache.ruby-lang.org/pub/ruby/${SLOT}/${MY_P}.tar.xz" +S=${WORKDIR}/${MY_P} LICENSE="|| ( Ruby-BSD BSD-2 )" +SLOT=$(ver_cut 1-2) +MY_SUFFIX=$(ver_rs 1 '' ${SLOT}) +RUBYVERSION=${SLOT}.0 + KEYWORDS="~alpha amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris" -IUSE="berkdb debug doc examples gdbm ipv6 jemalloc jit socks5 +ssl static-libs systemtap tk valgrind xemacs" +IUSE="berkdb debug doc examples gdbm jemalloc jit socks5 +ssl static-libs systemtap tk valgrind xemacs" RDEPEND=" berkdb? ( sys-libs/db:= ) gdbm? ( sys-libs/gdbm:= ) jemalloc? ( dev-libs/jemalloc:= ) - jit? ( >=virtual/rust-1.58.1 ) + jit? ( ${RUST_DEPEND} ) ssl? ( dev-libs/openssl:0= ) @@ -76,6 +78,10 @@ PDEPEND=" xemacs? ( app-xemacs/ruby-modes ) " +pkg_setup() { + use jit && rust_pkg_setup +} + src_prepare() { eapply "${FILESDIR}"/"${SLOT}"/010*.patch eapply "${FILESDIR}"/"${SLOT}"/011*.patch diff --git a/dev-lang/ruby/ruby-3.2.5.ebuild b/dev-lang/ruby/ruby-3.2.5-r1.ebuild index a7a40d60ef35..51a1833e9b4f 100644 --- a/dev-lang/ruby/ruby-3.2.5.ebuild +++ b/dev-lang/ruby/ruby-3.2.5-r1.ebuild @@ -3,28 +3,30 @@ EAPI=8 -inherit autotools flag-o-matic multiprocessing +RUST_OPTIONAL="yes" -MY_P="${PN}-$(ver_cut 1-3)" -S=${WORKDIR}/${MY_P} +inherit autotools flag-o-matic multiprocessing rust -SLOT=$(ver_cut 1-2) -MY_SUFFIX=$(ver_rs 1 '' ${SLOT}) -RUBYVERSION=${SLOT}.0 +MY_P="${PN}-$(ver_cut 1-3)" DESCRIPTION="An object-oriented scripting language" HOMEPAGE="https://www.ruby-lang.org/" SRC_URI="https://cache.ruby-lang.org/pub/ruby/${SLOT}/${MY_P}.tar.xz" +S=${WORKDIR}/${MY_P} LICENSE="|| ( Ruby-BSD BSD-2 )" +SLOT=$(ver_cut 1-2) +MY_SUFFIX=$(ver_rs 1 '' ${SLOT}) +RUBYVERSION=${SLOT}.0 + KEYWORDS="~alpha amd64 ~arm arm64 ~hppa ~loong ~mips ppc ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris" -IUSE="berkdb debug doc examples gdbm ipv6 jemalloc jit socks5 +ssl static-libs systemtap tk valgrind xemacs" +IUSE="berkdb debug doc examples gdbm jemalloc jit socks5 +ssl static-libs systemtap tk valgrind xemacs" RDEPEND=" berkdb? ( sys-libs/db:= ) gdbm? ( sys-libs/gdbm:= ) jemalloc? ( dev-libs/jemalloc:= ) - jit? ( >=virtual/rust-1.58.1 ) + jit? ( ${RUST_DEPEND} ) ssl? ( dev-libs/openssl:0= ) @@ -76,6 +78,10 @@ PDEPEND=" xemacs? ( app-xemacs/ruby-modes ) " +pkg_setup() { + use jit && rust_pkg_setup +} + src_prepare() { eapply "${FILESDIR}"/"${SLOT}"/010*.patch eapply "${FILESDIR}"/"${SLOT}"/011*.patch diff --git a/dev-lang/ruby/ruby-3.2.6.ebuild b/dev-lang/ruby/ruby-3.2.6-r1.ebuild index 988bb6012c76..74fa2ffc9b24 100644 --- a/dev-lang/ruby/ruby-3.2.6.ebuild +++ b/dev-lang/ruby/ruby-3.2.6-r1.ebuild @@ -3,28 +3,30 @@ EAPI=8 -inherit autotools flag-o-matic multiprocessing +RUST_OPTIONAL="yes" -MY_P="${PN}-$(ver_cut 1-3)" -S=${WORKDIR}/${MY_P} +inherit autotools flag-o-matic multiprocessing rust -SLOT=$(ver_cut 1-2) -MY_SUFFIX=$(ver_rs 1 '' ${SLOT}) -RUBYVERSION=${SLOT}.0 +MY_P="${PN}-$(ver_cut 1-3)" DESCRIPTION="An object-oriented scripting language" HOMEPAGE="https://www.ruby-lang.org/" SRC_URI="https://cache.ruby-lang.org/pub/ruby/${SLOT}/${MY_P}.tar.xz" +S=${WORKDIR}/${MY_P} LICENSE="|| ( Ruby-BSD BSD-2 )" +SLOT=$(ver_cut 1-2) +MY_SUFFIX=$(ver_rs 1 '' ${SLOT}) +RUBYVERSION=${SLOT}.0 + KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris" -IUSE="berkdb debug doc examples gdbm ipv6 jemalloc jit socks5 +ssl static-libs systemtap tk valgrind xemacs" +IUSE="berkdb debug doc examples gdbm jemalloc jit socks5 +ssl static-libs systemtap tk valgrind xemacs" RDEPEND=" berkdb? ( sys-libs/db:= ) gdbm? ( sys-libs/gdbm:= ) jemalloc? ( dev-libs/jemalloc:= ) - jit? ( >=virtual/rust-1.58.1 ) + jit? ( ${RUST_DEPEND} ) ssl? ( dev-libs/openssl:0= ) @@ -76,6 +78,10 @@ PDEPEND=" xemacs? ( app-xemacs/ruby-modes ) " +pkg_setup() { + use jit && rust_pkg_setup +} + src_prepare() { eapply "${FILESDIR}"/"${SLOT}"/010*.patch eapply "${FILESDIR}"/"${SLOT}"/011*.patch diff --git a/dev-lang/ruby/ruby-3.3.4-r1.ebuild b/dev-lang/ruby/ruby-3.3.4-r2.ebuild index cac3085b6240..a48e45203585 100644 --- a/dev-lang/ruby/ruby-3.3.4-r1.ebuild +++ b/dev-lang/ruby/ruby-3.3.4-r2.ebuild @@ -3,21 +3,22 @@ EAPI=8 -inherit autotools flag-o-matic multiprocessing +RUST_OPTIONAL="yes" -DESCRIPTION="An object-oriented scripting language" -HOMEPAGE="https://www.ruby-lang.org/" +inherit autotools flag-o-matic multiprocessing rust MY_P="${PN}-$(ver_cut 1-3)" + +DESCRIPTION="An object-oriented scripting language" +HOMEPAGE="https://www.ruby-lang.org/" +SRC_URI="https://cache.ruby-lang.org/pub/ruby/${SLOT}/${MY_P}.tar.xz" S=${WORKDIR}/${MY_P} +LICENSE="|| ( Ruby-BSD BSD-2 )" SLOT=$(ver_cut 1-2) MY_SUFFIX=$(ver_rs 1 '' ${SLOT}) RUBYVERSION=${SLOT}.0 -SRC_URI="https://cache.ruby-lang.org/pub/ruby/${SLOT}/${MY_P}.tar.xz" - -LICENSE="|| ( Ruby-BSD BSD-2 )" KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris" IUSE="berkdb debug doc examples gdbm jemalloc jit socks5 +ssl static-libs systemtap tk valgrind xemacs" @@ -25,7 +26,7 @@ RDEPEND=" berkdb? ( sys-libs/db:= ) gdbm? ( sys-libs/gdbm:= ) jemalloc? ( dev-libs/jemalloc:= ) - jit? ( >=virtual/rust-1.58.1 ) + jit? ( ${RUST_DEPEND} ) ssl? ( dev-libs/openssl:0= ) @@ -77,6 +78,10 @@ PDEPEND=" xemacs? ( app-xemacs/ruby-modes ) " +pkg_setup() { + use jit && rust_pkg_setup +} + src_prepare() { eapply "${FILESDIR}"/"${SLOT}"/010*.patch eapply "${FILESDIR}"/"${SLOT}"/013*.patch diff --git a/dev-lang/ruby/ruby-3.3.5.ebuild b/dev-lang/ruby/ruby-3.3.5-r1.ebuild index cac3085b6240..a48e45203585 100644 --- a/dev-lang/ruby/ruby-3.3.5.ebuild +++ b/dev-lang/ruby/ruby-3.3.5-r1.ebuild @@ -3,21 +3,22 @@ EAPI=8 -inherit autotools flag-o-matic multiprocessing +RUST_OPTIONAL="yes" -DESCRIPTION="An object-oriented scripting language" -HOMEPAGE="https://www.ruby-lang.org/" +inherit autotools flag-o-matic multiprocessing rust MY_P="${PN}-$(ver_cut 1-3)" + +DESCRIPTION="An object-oriented scripting language" +HOMEPAGE="https://www.ruby-lang.org/" +SRC_URI="https://cache.ruby-lang.org/pub/ruby/${SLOT}/${MY_P}.tar.xz" S=${WORKDIR}/${MY_P} +LICENSE="|| ( Ruby-BSD BSD-2 )" SLOT=$(ver_cut 1-2) MY_SUFFIX=$(ver_rs 1 '' ${SLOT}) RUBYVERSION=${SLOT}.0 -SRC_URI="https://cache.ruby-lang.org/pub/ruby/${SLOT}/${MY_P}.tar.xz" - -LICENSE="|| ( Ruby-BSD BSD-2 )" KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris" IUSE="berkdb debug doc examples gdbm jemalloc jit socks5 +ssl static-libs systemtap tk valgrind xemacs" @@ -25,7 +26,7 @@ RDEPEND=" berkdb? ( sys-libs/db:= ) gdbm? ( sys-libs/gdbm:= ) jemalloc? ( dev-libs/jemalloc:= ) - jit? ( >=virtual/rust-1.58.1 ) + jit? ( ${RUST_DEPEND} ) ssl? ( dev-libs/openssl:0= ) @@ -77,6 +78,10 @@ PDEPEND=" xemacs? ( app-xemacs/ruby-modes ) " +pkg_setup() { + use jit && rust_pkg_setup +} + src_prepare() { eapply "${FILESDIR}"/"${SLOT}"/010*.patch eapply "${FILESDIR}"/"${SLOT}"/013*.patch diff --git a/dev-lang/ruby/ruby-3.3.6.ebuild b/dev-lang/ruby/ruby-3.3.6-r1.ebuild index 9ea8087ae9f1..7680cec58196 100644 --- a/dev-lang/ruby/ruby-3.3.6.ebuild +++ b/dev-lang/ruby/ruby-3.3.6-r1.ebuild @@ -3,21 +3,22 @@ EAPI=8 -inherit autotools flag-o-matic multiprocessing +RUST_OPTIONAL="yes" -DESCRIPTION="An object-oriented scripting language" -HOMEPAGE="https://www.ruby-lang.org/" +inherit autotools flag-o-matic multiprocessing rust MY_P="${PN}-$(ver_cut 1-3)" + +DESCRIPTION="An object-oriented scripting language" +HOMEPAGE="https://www.ruby-lang.org/" +SRC_URI="https://cache.ruby-lang.org/pub/ruby/${SLOT}/${MY_P}.tar.xz" S=${WORKDIR}/${MY_P} +LICENSE="|| ( Ruby-BSD BSD-2 )" SLOT=$(ver_cut 1-2) MY_SUFFIX=$(ver_rs 1 '' ${SLOT}) RUBYVERSION=${SLOT}.0 -SRC_URI="https://cache.ruby-lang.org/pub/ruby/${SLOT}/${MY_P}.tar.xz" - -LICENSE="|| ( Ruby-BSD BSD-2 )" KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris" IUSE="berkdb debug doc examples gdbm jemalloc jit socks5 +ssl static-libs systemtap tk valgrind xemacs" @@ -25,7 +26,7 @@ RDEPEND=" berkdb? ( sys-libs/db:= ) gdbm? ( sys-libs/gdbm:= ) jemalloc? ( dev-libs/jemalloc:= ) - jit? ( >=virtual/rust-1.58.1 ) + jit? ( ${RUST_DEPEND} ) ssl? ( dev-libs/openssl:0= ) @@ -77,6 +78,10 @@ PDEPEND=" xemacs? ( app-xemacs/ruby-modes ) " +pkg_setup() { + use jit && rust_pkg_setup +} + src_prepare() { eapply "${FILESDIR}"/"${SLOT}"/010*.patch eapply "${FILESDIR}"/"${SLOT}"/013*.patch diff --git a/dev-lang/rust-bin/rust-bin-1.71.1-r100.ebuild b/dev-lang/rust-bin/rust-bin-1.71.1-r100.ebuild new file mode 100644 index 000000000000..1c40bfad383f --- /dev/null +++ b/dev-lang/rust-bin/rust-bin-1.71.1-r100.ebuild @@ -0,0 +1,232 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +LLVM_COMPAT=( 16 ) +LLVM_OPTIONAL="yes" + +inherit llvm-r1 multilib prefix rust-toolchain toolchain-funcs verify-sig multilib-minimal + +MY_P="rust-${PV}" +# curl -L static.rust-lang.org/dist/channel-rust-${PV}.toml 2>/dev/null | grep "xz_url.*rust-src" +MY_SRC_URI="${RUST_TOOLCHAIN_BASEURL%/}/2023-08-03/rust-src-${PV}.tar.xz" +GENTOO_BIN_BASEURI="https://dev.gentoo.org/~sam/distfiles/${CATEGORY}/${PN}" # omit leading slash + +DESCRIPTION="Language empowering everyone to build reliable and efficient software" +HOMEPAGE="https://www.rust-lang.org/" +SRC_URI="$(rust_all_arch_uris ${MY_P}) + rust-src? ( ${MY_SRC_URI} ) +" +# Keep this separate to allow easy commenting out if not yet built +SRC_URI+=" sparc? ( ${GENTOO_BIN_BASEURI}/${MY_P}-sparc64-unknown-linux-gnu.tar.xz -> ${MY_P}-sparc64-unknown-linux-gnu.sam.tar.xz ) " + +LICENSE="|| ( MIT Apache-2.0 ) BSD BSD-1 BSD-2 BSD-4 UoI-NCSA" +SLOT="${PV}" +KEYWORDS="amd64 arm arm64 ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86" +IUSE="big-endian clippy cpu_flags_x86_sse2 doc prefix rust-analyzer rust-src rustfmt" + +RDEPEND=" + >=app-eselect/eselect-rust-20190311 + dev-libs/openssl + sys-apps/lsb-release + sys-devel/gcc:* + !dev-lang/rust-bin:stable +" + +BDEPEND=" + prefix? ( dev-util/patchelf ) + verify-sig? ( sec-keys/openpgp-keys-rust ) +" + +REQUIRED_USE="x86? ( cpu_flags_x86_sse2 )" + +# stripping rust may break it (at least on x86_64) +# https://github.com/rust-lang/rust/issues/112286 +RESTRICT="strip" + +QA_PREBUILT=" + opt/${P}/bin/.* + opt/${P}/lib/.*.so + opt/${P}/libexec/.* + opt/${P}/lib/rustlib/.*/bin/.* + opt/${P}/lib/rustlib/.*/lib/.* +" + +# An rmeta file is custom binary format that contains the metadata for the crate. +# rmeta files do not support linking, since they do not contain compiled object files. +# so we can safely silence the warning for this QA check. +QA_EXECSTACK="opt/${P}/lib/rustlib/*/lib*.rlib:lib.rmeta" + +VERIFY_SIG_OPENPGP_KEY_PATH="/usr/share/openpgp-keys/rust.asc" + +pkg_pretend() { + if [[ "$(tc-is-softfloat)" != "no" ]] && [[ ${CHOST} == armv7* ]]; then + die "${CHOST} is not supported by upstream Rust. You must use a hard float version." + fi +} + +src_unpack() { + # sadly rust-src tarball does not have corresponding .asc file + # so do partial verification + if use verify-sig; then + for f in ${A}; do + if [[ -f ${DISTDIR}/${f}.asc ]]; then + verify-sig_verify_detached "${DISTDIR}/${f}" "${DISTDIR}/${f}.asc" + fi + done + fi + + default_src_unpack + + mv "${WORKDIR}/${MY_P}-$(rust_abi)" "${S}" || die +} + +patchelf_for_bin() { + local filetype=$(file -b ${1}) + if [[ ${filetype} == *ELF*interpreter* ]]; then + einfo "${1}'s interpreter changed" + patchelf ${1} --set-interpreter ${2} || die + elif [[ ${filetype} == *script* ]]; then + hprefixify ${1} + fi +} + +multilib_src_install() { + if multilib_is_native_abi; then + + # start native abi install + pushd "${S}" >/dev/null || die + local analysis std + analysis="$(grep 'analysis' ./components)" + std="$(grep 'std' ./components)" + local components="rustc,cargo,${std}" + use doc && components="${components},rust-docs" + use clippy && components="${components},clippy-preview" + use rustfmt && components="${components},rustfmt-preview" + use rust-analyzer && components="${components},rust-analyzer-preview,${analysis}" + # Rust component 'rust-src' is extracted from separate archive + if use rust-src; then + einfo "Combining rust and rust-src installers" + mv -v "${WORKDIR}/rust-src-${PV}/rust-src" "${S}" || die + echo rust-src >> ./components || die + components="${components},rust-src" + fi + ./install.sh \ + --components="${components}" \ + --disable-verify \ + --prefix="${ED}/opt/${P}" \ + --mandir="${ED}/opt/${P}/man" \ + --disable-ldconfig \ + || die + + if use prefix; then + local interpreter=$(patchelf --print-interpreter "${EPREFIX}/bin/bash") + ebegin "Changing interpreter to ${interpreter} for Gentoo prefix at ${ED}/opt/${P}/bin" + find "${ED}/opt/${P}/bin" -type f -print0 | \ + while IFS= read -r -d '' filename; do + patchelf_for_bin ${filename} ${interpreter} \; || die + done + eend $? + fi + + local symlinks=( + cargo + rustc + rustdoc + rust-gdb + rust-gdbgui + rust-lldb + ) + + use clippy && symlinks+=( clippy-driver cargo-clippy ) + use rustfmt && symlinks+=( rustfmt cargo-fmt ) + use rust-analyzer && symlinks+=( rust-analyzer ) + + einfo "installing eselect-rust symlinks and paths" + local i + for i in "${symlinks[@]}"; do + # we need realpath on /usr/bin/* symlink return version-appended binary path. + # so /usr/bin/rustc should point to /opt/rust-bin-<ver>/bin/rustc-<ver> + local ver_i="${i}-bin-${PV}" + ln -v "${ED}/opt/${P}/bin/${i}" "${ED}/opt/${P}/bin/${ver_i}" || die + dosym "../../opt/${P}/bin/${ver_i}" "/usr/bin/${ver_i}" + done + + # symlinks to switch components to active rust in eselect + dosym "../../../opt/${P}/lib" "/usr/lib/rust/lib-bin-${PV}" + dosym "../../../opt/${P}/man" "/usr/lib/rust/man-bin-${PV}" + dosym "../../opt/${P}/lib/rustlib" "/usr/lib/rustlib-bin-${PV}" + dosym "../../../opt/${P}/share/doc/rust" "/usr/share/doc/${P}" + + # make all capital underscored variable + local CARGO_TRIPLET="$(rust_abi)" + CARGO_TRIPLET="${CARGO_TRIPLET//-/_}" + CARGO_TRIPLET="${CARGO_TRIPLET^^}" + cat <<-_EOF_ > "${T}/50${P}" + LDPATH="${EPREFIX}/usr/lib/rust/lib-bin-${PV}" + MANPATH="${EPREFIX}/usr/lib/rust/man-bin-${PV}" + $(usev elibc_musl "CARGO_TARGET_${CARGO_TRIPLET}_RUSTFLAGS=\"-C target-feature=-crt-static\"") + _EOF_ + doenvd "${T}/50${P}" + + # note: eselect-rust adds EROOT to all paths below + cat <<-_EOF_ > "${T}/provider-${P}" + /usr/bin/cargo + /usr/bin/rustdoc + /usr/bin/rust-gdb + /usr/bin/rust-gdbgui + /usr/bin/rust-lldb + /usr/lib/rustlib + /usr/lib/rust/lib + /usr/lib/rust/man + /usr/share/doc/rust + _EOF_ + + if use clippy; then + echo /usr/bin/clippy-driver >> "${T}/provider-${P}" + echo /usr/bin/cargo-clippy >> "${T}/provider-${P}" + fi + if use rustfmt; then + echo /usr/bin/rustfmt >> "${T}/provider-${P}" + echo /usr/bin/cargo-fmt >> "${T}/provider-${P}" + fi + if use rust-analyzer; then + echo /usr/bin/rust-analyzer >> "${T}/provider-${P}" + fi + + insinto /etc/env.d/rust + doins "${T}/provider-${P}" + popd >/dev/null || die + #end native abi install + + else + local rust_target + rust_target="$(rust_abi $(get_abi_CHOST ${v##*.}))" + dodir "/opt/${P}/lib/rustlib" + cp -vr "${WORKDIR}/rust-${PV}-${rust_target}/rust-std-${rust_target}/lib/rustlib/${rust_target}"\ + "${ED}/opt/${P}/lib/rustlib" || die + fi + + # BUG: installs x86_64 binary on other arches + rm -f "${ED}/opt/${P}/lib/rustlib/"*/bin/rust-llvm-dwp || die +} + +pkg_postinst() { + eselect rust update + + elog "Rust installs a helper script for calling GDB now," + elog "for your convenience it is installed under /usr/bin/rust-gdb-bin-${PV}." + + if has_version app-editors/emacs; then + elog "install app-emacs/rust-mode to get emacs support for rust." + fi + + if has_version app-editors/gvim || has_version app-editors/vim; then + elog "install app-vim/rust-vim to get vim support for rust." + fi +} + +pkg_postrm() { + eselect rust cleanup +} diff --git a/dev-lang/rust-bin/rust-bin-1.74.1-r100.ebuild b/dev-lang/rust-bin/rust-bin-1.74.1-r100.ebuild new file mode 100644 index 000000000000..c439536ef6bd --- /dev/null +++ b/dev-lang/rust-bin/rust-bin-1.74.1-r100.ebuild @@ -0,0 +1,242 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +LLVM_COMPAT=( 17 ) +LLVM_OPTIONAL="yes" + +inherit llvm-r1 multilib prefix rust-toolchain toolchain-funcs verify-sig multilib-minimal + +MY_P="rust-${PV}" +# curl -L static.rust-lang.org/dist/channel-rust-${PV}.toml 2>/dev/null | grep "xz_url.*rust-src" +MY_SRC_URI="${RUST_TOOLCHAIN_BASEURL%/}/2023-12-07/rust-src-${PV}.tar.xz" +GENTOO_BIN_BASEURI="https://dev.gentoo.org/~sam/distfiles/${CATEGORY}/${PN}" # omit leading slash + +DESCRIPTION="Language empowering everyone to build reliable and efficient software" +HOMEPAGE="https://www.rust-lang.org/" +SRC_URI="$(rust_all_arch_uris ${MY_P}) + rust-src? ( ${MY_SRC_URI} ) +" +# Keep this separate to allow easy commenting out if not yet built +SRC_URI+=" sparc? ( ${GENTOO_BIN_BASEURI}/${MY_P}-sparc64-unknown-linux-gnu.tar.xz ) " +#SRC_URI+=" mips? ( +# abi_mips_o32? ( +# big-endian? ( ${GENTOO_BIN_BASEURI}/${MY_P}-mips-unknown-linux-gnu.tar.xz ) +# !big-endian? ( ${GENTOO_BIN_BASEURI}/${MY_P}-mipsel-unknown-linux-gnu.tar.xz ) +# ) +# abi_mips_n64? ( +# big-endian? ( ${GENTOO_BIN_BASEURI}/${MY_P}-mips64-unknown-linux-gnuabi64.tar.xz ) +# !big-endian? ( ${GENTOO_BIN_BASEURI}/${MY_P}-mips64el-unknown-linux-gnuabi64.tar.xz ) +# ) +#)" + +LICENSE="|| ( MIT Apache-2.0 ) BSD BSD-1 BSD-2 BSD-4" +SLOT="${PV}" +KEYWORDS="amd64 arm arm64 ~loong ppc ppc64 ~riscv ~s390 sparc x86" +IUSE="big-endian clippy cpu_flags_x86_sse2 doc prefix rust-analyzer rust-src rustfmt" + +RDEPEND=" + >=app-eselect/eselect-rust-20190311 + dev-libs/openssl + sys-apps/lsb-release + sys-devel/gcc:* + !dev-lang/rust-bin:stable +" + +BDEPEND=" + prefix? ( dev-util/patchelf ) + verify-sig? ( sec-keys/openpgp-keys-rust ) +" + +REQUIRED_USE="x86? ( cpu_flags_x86_sse2 )" + +# stripping rust may break it (at least on x86_64) +# https://github.com/rust-lang/rust/issues/112286 +RESTRICT="strip" + +QA_PREBUILT=" + opt/${P}/bin/.* + opt/${P}/lib/.*.so + opt/${P}/libexec/.* + opt/${P}/lib/rustlib/.*/bin/.* + opt/${P}/lib/rustlib/.*/lib/.* +" + +# An rmeta file is custom binary format that contains the metadata for the crate. +# rmeta files do not support linking, since they do not contain compiled object files. +# so we can safely silence the warning for this QA check. +QA_EXECSTACK="opt/${P}/lib/rustlib/*/lib*.rlib:lib.rmeta" + +VERIFY_SIG_OPENPGP_KEY_PATH="/usr/share/openpgp-keys/rust.asc" + +pkg_pretend() { + if [[ "$(tc-is-softfloat)" != "no" ]] && [[ ${CHOST} == armv7* ]]; then + die "${CHOST} is not supported by upstream Rust. You must use a hard float version." + fi +} + +src_unpack() { + # sadly rust-src tarball does not have corresponding .asc file + # so do partial verification + if use verify-sig; then + for f in ${A}; do + if [[ -f ${DISTDIR}/${f}.asc ]]; then + verify-sig_verify_detached "${DISTDIR}/${f}" "${DISTDIR}/${f}.asc" + fi + done + fi + + default_src_unpack + + mv "${WORKDIR}/${MY_P}-$(rust_abi)" "${S}" || die +} + +patchelf_for_bin() { + local filetype=$(file -b ${1}) + if [[ ${filetype} == *ELF*interpreter* ]]; then + einfo "${1}'s interpreter changed" + patchelf ${1} --set-interpreter ${2} || die + elif [[ ${filetype} == *script* ]]; then + hprefixify ${1} + fi +} + +multilib_src_install() { + if multilib_is_native_abi; then + + # start native abi install + pushd "${S}" >/dev/null || die + local analysis std + analysis="$(grep 'analysis' ./components)" + std="$(grep 'std' ./components)" + local components="rustc,cargo,${std}" + use doc && components="${components},rust-docs" + use clippy && components="${components},clippy-preview" + use rustfmt && components="${components},rustfmt-preview" + use rust-analyzer && components="${components},rust-analyzer-preview,${analysis}" + # Rust component 'rust-src' is extracted from separate archive + if use rust-src; then + einfo "Combining rust and rust-src installers" + mv -v "${WORKDIR}/rust-src-${PV}/rust-src" "${S}" || die + echo rust-src >> ./components || die + components="${components},rust-src" + fi + ./install.sh \ + --components="${components}" \ + --disable-verify \ + --prefix="${ED}/opt/${P}" \ + --mandir="${ED}/opt/${P}/man" \ + --disable-ldconfig \ + || die + + if use prefix; then + local interpreter=$(patchelf --print-interpreter "${EPREFIX}/bin/bash") + ebegin "Changing interpreter to ${interpreter} for Gentoo prefix at ${ED}/opt/${P}/bin" + find "${ED}/opt/${P}/bin" -type f -print0 | \ + while IFS= read -r -d '' filename; do + patchelf_for_bin ${filename} ${interpreter} \; || die + done + eend $? + fi + + local symlinks=( + cargo + rustc + rustdoc + rust-gdb + rust-gdbgui + rust-lldb + ) + + use clippy && symlinks+=( clippy-driver cargo-clippy ) + use rustfmt && symlinks+=( rustfmt cargo-fmt ) + use rust-analyzer && symlinks+=( rust-analyzer ) + + einfo "installing eselect-rust symlinks and paths" + local i + for i in "${symlinks[@]}"; do + # we need realpath on /usr/bin/* symlink return version-appended binary path. + # so /usr/bin/rustc should point to /opt/rust-bin-<ver>/bin/rustc-<ver> + local ver_i="${i}-bin-${PV}" + ln -v "${ED}/opt/${P}/bin/${i}" "${ED}/opt/${P}/bin/${ver_i}" || die + dosym "../../opt/${P}/bin/${ver_i}" "/usr/bin/${ver_i}" + done + + # symlinks to switch components to active rust in eselect + dosym "../../../opt/${P}/lib" "/usr/lib/rust/lib-bin-${PV}" + dosym "../../../opt/${P}/man" "/usr/lib/rust/man-bin-${PV}" + dosym "../../opt/${P}/lib/rustlib" "/usr/lib/rustlib-bin-${PV}" + dosym "../../../opt/${P}/share/doc/rust" "/usr/share/doc/${P}" + + # make all capital underscored variable + local CARGO_TRIPLET="$(rust_abi)" + CARGO_TRIPLET="${CARGO_TRIPLET//-/_}" + CARGO_TRIPLET="${CARGO_TRIPLET^^}" + cat <<-_EOF_ > "${T}/50${P}" + LDPATH="${EPREFIX}/usr/lib/rust/lib-bin-${PV}" + MANPATH="${EPREFIX}/usr/lib/rust/man-bin-${PV}" + $(usev elibc_musl "CARGO_TARGET_${CARGO_TRIPLET}_RUSTFLAGS=\"-C target-feature=-crt-static\"") + _EOF_ + doenvd "${T}/50${P}" + + # note: eselect-rust adds EROOT to all paths below + cat <<-_EOF_ > "${T}/provider-${P}" + /usr/bin/cargo + /usr/bin/rustdoc + /usr/bin/rust-gdb + /usr/bin/rust-gdbgui + /usr/bin/rust-lldb + /usr/lib/rustlib + /usr/lib/rust/lib + /usr/lib/rust/man + /usr/share/doc/rust + _EOF_ + + if use clippy; then + echo /usr/bin/clippy-driver >> "${T}/provider-${P}" + echo /usr/bin/cargo-clippy >> "${T}/provider-${P}" + fi + if use rustfmt; then + echo /usr/bin/rustfmt >> "${T}/provider-${P}" + echo /usr/bin/cargo-fmt >> "${T}/provider-${P}" + fi + if use rust-analyzer; then + echo /usr/bin/rust-analyzer >> "${T}/provider-${P}" + fi + + insinto /etc/env.d/rust + doins "${T}/provider-${P}" + popd >/dev/null || die + #end native abi install + + else + local rust_target + rust_target="$(rust_abi $(get_abi_CHOST ${v##*.}))" + dodir "/opt/${P}/lib/rustlib" + cp -vr "${WORKDIR}/rust-${PV}-${rust_target}/rust-std-${rust_target}/lib/rustlib/${rust_target}"\ + "${ED}/opt/${P}/lib/rustlib" || die + fi + + # BUG: installs x86_64 binary on other arches + rm -f "${ED}/opt/${P}/lib/rustlib/"*/bin/rust-llvm-dwp || die +} + +pkg_postinst() { + eselect rust update + + elog "Rust installs a helper script for calling GDB now," + elog "for your convenience it is installed under /usr/bin/rust-gdb-bin-${PV}." + + if has_version app-editors/emacs; then + elog "install app-emacs/rust-mode to get emacs support for rust." + fi + + if has_version app-editors/gvim || has_version app-editors/vim; then + elog "install app-vim/rust-vim to get vim support for rust." + fi +} + +pkg_postrm() { + eselect rust cleanup +} diff --git a/dev-lang/rust-bin/rust-bin-1.75.0-r100.ebuild b/dev-lang/rust-bin/rust-bin-1.75.0-r100.ebuild new file mode 100644 index 000000000000..10b3ef1a7932 --- /dev/null +++ b/dev-lang/rust-bin/rust-bin-1.75.0-r100.ebuild @@ -0,0 +1,242 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +LLVM_COMPAT=( 17 ) +LLVM_OPTIONAL="yes" + +inherit llvm-r1 multilib prefix rust-toolchain toolchain-funcs verify-sig multilib-minimal + +MY_P="rust-${PV}" +# curl -L static.rust-lang.org/dist/channel-rust-${PV}.toml 2>/dev/null | grep "xz_url.*rust-src" +MY_SRC_URI="${RUST_TOOLCHAIN_BASEURL%/}/2023-12-28/rust-src-${PV}.tar.xz" +GENTOO_BIN_BASEURI="https://dev.gentoo.org/~sam/distfiles/${CATEGORY}/${PN}" # omit leading slash + +DESCRIPTION="Language empowering everyone to build reliable and efficient software" +HOMEPAGE="https://www.rust-lang.org/" +SRC_URI="$(rust_all_arch_uris ${MY_P}) + rust-src? ( ${MY_SRC_URI} ) +" +# Keep this separate to allow easy commenting out if not yet built +SRC_URI+=" sparc? ( ${GENTOO_BIN_BASEURI}/${MY_P}-sparc64-unknown-linux-gnu.tar.xz ) " +#SRC_URI+=" mips? ( +# abi_mips_o32? ( +# big-endian? ( ${GENTOO_BIN_BASEURI}/${MY_P}-mips-unknown-linux-gnu.tar.xz ) +# !big-endian? ( ${GENTOO_BIN_BASEURI}/${MY_P}-mipsel-unknown-linux-gnu.tar.xz ) +# ) +# abi_mips_n64? ( +# big-endian? ( ${GENTOO_BIN_BASEURI}/${MY_P}-mips64-unknown-linux-gnuabi64.tar.xz ) +# !big-endian? ( ${GENTOO_BIN_BASEURI}/${MY_P}-mips64el-unknown-linux-gnuabi64.tar.xz ) +# ) +#)" + +LICENSE="|| ( MIT Apache-2.0 ) BSD BSD-1 BSD-2 BSD-4" +SLOT="${PV}" +KEYWORDS="amd64 arm arm64 ~loong ppc ppc64 ~riscv ~s390 sparc x86" +IUSE="big-endian clippy cpu_flags_x86_sse2 doc prefix rust-analyzer rust-src rustfmt" + +RDEPEND=" + >=app-eselect/eselect-rust-20190311 + dev-libs/openssl + sys-apps/lsb-release + sys-devel/gcc:* + !dev-lang/rust-bin:stable +" + +BDEPEND=" + prefix? ( dev-util/patchelf ) + verify-sig? ( sec-keys/openpgp-keys-rust ) +" + +REQUIRED_USE="x86? ( cpu_flags_x86_sse2 )" + +# stripping rust may break it (at least on x86_64) +# https://github.com/rust-lang/rust/issues/112286 +RESTRICT="strip" + +QA_PREBUILT=" + opt/${P}/bin/.* + opt/${P}/lib/.*.so + opt/${P}/libexec/.* + opt/${P}/lib/rustlib/.*/bin/.* + opt/${P}/lib/rustlib/.*/lib/.* +" + +# An rmeta file is custom binary format that contains the metadata for the crate. +# rmeta files do not support linking, since they do not contain compiled object files. +# so we can safely silence the warning for this QA check. +QA_EXECSTACK="opt/${P}/lib/rustlib/*/lib*.rlib:lib.rmeta" + +VERIFY_SIG_OPENPGP_KEY_PATH="/usr/share/openpgp-keys/rust.asc" + +pkg_pretend() { + if [[ "$(tc-is-softfloat)" != "no" ]] && [[ ${CHOST} == armv7* ]]; then + die "${CHOST} is not supported by upstream Rust. You must use a hard float version." + fi +} + +src_unpack() { + # sadly rust-src tarball does not have corresponding .asc file + # so do partial verification + if use verify-sig; then + for f in ${A}; do + if [[ -f ${DISTDIR}/${f}.asc ]]; then + verify-sig_verify_detached "${DISTDIR}/${f}" "${DISTDIR}/${f}.asc" + fi + done + fi + + default_src_unpack + + mv "${WORKDIR}/${MY_P}-$(rust_abi)" "${S}" || die +} + +patchelf_for_bin() { + local filetype=$(file -b ${1}) + if [[ ${filetype} == *ELF*interpreter* ]]; then + einfo "${1}'s interpreter changed" + patchelf ${1} --set-interpreter ${2} || die + elif [[ ${filetype} == *script* ]]; then + hprefixify ${1} + fi +} + +multilib_src_install() { + if multilib_is_native_abi; then + + # start native abi install + pushd "${S}" >/dev/null || die + local analysis std + analysis="$(grep 'analysis' ./components)" + std="$(grep 'std' ./components)" + local components="rustc,cargo,${std}" + use doc && components="${components},rust-docs" + use clippy && components="${components},clippy-preview" + use rustfmt && components="${components},rustfmt-preview" + use rust-analyzer && components="${components},rust-analyzer-preview,${analysis}" + # Rust component 'rust-src' is extracted from separate archive + if use rust-src; then + einfo "Combining rust and rust-src installers" + mv -v "${WORKDIR}/rust-src-${PV}/rust-src" "${S}" || die + echo rust-src >> ./components || die + components="${components},rust-src" + fi + ./install.sh \ + --components="${components}" \ + --disable-verify \ + --prefix="${ED}/opt/${P}" \ + --mandir="${ED}/opt/${P}/man" \ + --disable-ldconfig \ + || die + + if use prefix; then + local interpreter=$(patchelf --print-interpreter "${EPREFIX}"/bin/bash) + ebegin "Changing interpreter to ${interpreter} for Gentoo prefix at ${ED}/opt/${P}/bin" + find "${ED}/opt/${P}/bin" -type f -print0 | \ + while IFS= read -r -d '' filename; do + patchelf_for_bin ${filename} ${interpreter} \; || die + done + eend $? + fi + + local symlinks=( + cargo + rustc + rustdoc + rust-gdb + rust-gdbgui + rust-lldb + ) + + use clippy && symlinks+=( clippy-driver cargo-clippy ) + use rustfmt && symlinks+=( rustfmt cargo-fmt ) + use rust-analyzer && symlinks+=( rust-analyzer ) + + einfo "installing eselect-rust symlinks and paths" + local i + for i in "${symlinks[@]}"; do + # we need realpath on /usr/bin/* symlink return version-appended binary path. + # so /usr/bin/rustc should point to /opt/rust-bin-<ver>/bin/rustc-<ver> + local ver_i="${i}-bin-${PV}" + ln -v "${ED}/opt/${P}/bin/${i}" "${ED}/opt/${P}/bin/${ver_i}" || die + dosym "../../opt/${P}/bin/${ver_i}" "/usr/bin/${ver_i}" + done + + # symlinks to switch components to active rust in eselect + dosym "../../../opt/${P}/lib" "/usr/lib/rust/lib-bin-${PV}" + dosym "../../../opt/${P}/man" "/usr/lib/rust/man-bin-${PV}" + dosym "../../opt/${P}/lib/rustlib" "/usr/lib/rustlib-bin-${PV}" + dosym "../../../opt/${P}/share/doc/rust" "/usr/share/doc/${P}" + + # make all capital underscored variable + local CARGO_TRIPLET="$(rust_abi)" + CARGO_TRIPLET="${CARGO_TRIPLET//-/_}" + CARGO_TRIPLET="${CARGO_TRIPLET^^}" + cat <<-_EOF_ > "${T}/50${P}" + LDPATH="${EPREFIX}/usr/lib/rust/lib-bin-${PV}" + MANPATH="${EPREFIX}/usr/lib/rust/man-bin-${PV}" + $(usev elibc_musl "CARGO_TARGET_${CARGO_TRIPLET}_RUSTFLAGS=\"-C target-feature=-crt-static\"") + _EOF_ + doenvd "${T}/50${P}" + + # note: eselect-rust adds EROOT to all paths below + cat <<-_EOF_ > "${T}/provider-${P}" + /usr/bin/cargo + /usr/bin/rustdoc + /usr/bin/rust-gdb + /usr/bin/rust-gdbgui + /usr/bin/rust-lldb + /usr/lib/rustlib + /usr/lib/rust/lib + /usr/lib/rust/man + /usr/share/doc/rust + _EOF_ + + if use clippy; then + echo /usr/bin/clippy-driver >> "${T}/provider-${P}" + echo /usr/bin/cargo-clippy >> "${T}/provider-${P}" + fi + if use rustfmt; then + echo /usr/bin/rustfmt >> "${T}/provider-${P}" + echo /usr/bin/cargo-fmt >> "${T}/provider-${P}" + fi + if use rust-analyzer; then + echo /usr/bin/rust-analyzer >> "${T}/provider-${P}" + fi + + insinto /etc/env.d/rust + doins "${T}/provider-${P}" + popd >/dev/null || die + #end native abi install + + else + local rust_target + rust_target="$(rust_abi $(get_abi_CHOST ${v##*.}))" + dodir "/opt/${P}/lib/rustlib" + cp -vr "${WORKDIR}/rust-${PV}-${rust_target}/rust-std-${rust_target}/lib/rustlib/${rust_target}"\ + "${ED}/opt/${P}/lib/rustlib" || die + fi + + # BUG: installs x86_64 binary on other arches + rm -f "${ED}/opt/${P}/lib/rustlib/"*/bin/rust-llvm-dwp || die +} + +pkg_postinst() { + eselect rust update + + elog "Rust installs a helper script for calling GDB now," + elog "for your convenience it is installed under /usr/bin/rust-gdb-bin-${PV}." + + if has_version app-editors/emacs; then + elog "install app-emacs/rust-mode to get emacs support for rust." + fi + + if has_version app-editors/gvim || has_version app-editors/vim; then + elog "install app-vim/rust-vim to get vim support for rust." + fi +} + +pkg_postrm() { + eselect rust cleanup +} diff --git a/dev-lang/rust-bin/rust-bin-1.77.1-r100.ebuild b/dev-lang/rust-bin/rust-bin-1.77.1-r100.ebuild new file mode 100644 index 000000000000..c973e8b738de --- /dev/null +++ b/dev-lang/rust-bin/rust-bin-1.77.1-r100.ebuild @@ -0,0 +1,244 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +LLVM_COMPAT=( 17 ) +LLVM_OPTIONAL="yes" + +inherit llvm-r1 multilib prefix rust-toolchain toolchain-funcs verify-sig multilib-minimal + +MY_P="rust-${PV}" +# curl -L static.rust-lang.org/dist/channel-rust-${PV}.toml 2>/dev/null | grep "xz_url.*rust-src" +MY_SRC_URI="${RUST_TOOLCHAIN_BASEURL%/}/2024-03-28/rust-src-${PV}.tar.xz" +GENTOO_BIN_BASEURI="https://dev.gentoo.org/~arthurzam/distfiles/${CATEGORY}/${PN}" # omit leading slash + +DESCRIPTION="Systems programming language from Mozilla" +HOMEPAGE="https://www.rust-lang.org/" +SRC_URI="$(rust_all_arch_uris ${MY_P}) + rust-src? ( ${MY_SRC_URI} ) +" +# Keep this separate to allow easy commenting out if not yet built +SRC_URI+=" sparc? ( ${GENTOO_BIN_BASEURI}/${MY_P}-sparc64-unknown-linux-gnu.tar.xz ) " +SRC_URI+=" mips? ( + abi_mips_o32? ( + big-endian? ( ${GENTOO_BIN_BASEURI}/${MY_P}-mips-unknown-linux-gnu.tar.xz ) + !big-endian? ( ${GENTOO_BIN_BASEURI}/${MY_P}-mipsel-unknown-linux-gnu.tar.xz ) + ) + abi_mips_n64? ( + big-endian? ( ${GENTOO_BIN_BASEURI}/${MY_P}-mips64-unknown-linux-gnuabi64.tar.xz ) + !big-endian? ( ${GENTOO_BIN_BASEURI}/${MY_P}-mips64el-unknown-linux-gnuabi64.tar.xz ) + ) +)" + +LICENSE="|| ( MIT Apache-2.0 ) BSD BSD-1 BSD-2 BSD-4" +SLOT="${PV}" +KEYWORDS="amd64 arm arm64 ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86" +IUSE="big-endian clippy cpu_flags_x86_sse2 doc prefix rust-analyzer rust-src rustfmt" + +RDEPEND=" + >=app-eselect/eselect-rust-20190311 + dev-libs/openssl + sys-apps/lsb-release + sys-devel/gcc:* + !dev-lang/rust-bin:stable +" + +BDEPEND=" + prefix? ( dev-util/patchelf ) + verify-sig? ( sec-keys/openpgp-keys-rust ) +" + +REQUIRED_USE="x86? ( cpu_flags_x86_sse2 )" + +# stripping rust may break it (at least on x86_64) +# https://github.com/rust-lang/rust/issues/112286 +RESTRICT="strip" + +QA_PREBUILT=" + opt/${P}/bin/.* + opt/${P}/lib/.*.so + opt/${P}/libexec/.* + opt/${P}/lib/rustlib/.*/bin/.* + opt/${P}/lib/rustlib/.*/lib/.* +" + +# An rmeta file is custom binary format that contains the metadata for the crate. +# rmeta files do not support linking, since they do not contain compiled object files. +# so we can safely silence the warning for this QA check. +QA_EXECSTACK="opt/${P}/lib/rustlib/*/lib*.rlib:lib.rmeta" + +VERIFY_SIG_OPENPGP_KEY_PATH="/usr/share/openpgp-keys/rust.asc" + +pkg_pretend() { + if [[ "$(tc-is-softfloat)" != "no" ]] && [[ ${CHOST} == armv7* ]]; then + die "${CHOST} is not supported by upstream Rust. You must use a hard float version." + fi +} + +src_unpack() { + # sadly rust-src tarball does not have corresponding .asc file + # so do partial verification + if use verify-sig; then + for f in ${A}; do + if [[ -f ${DISTDIR}/${f}.asc ]]; then + verify-sig_verify_detached "${DISTDIR}/${f}" "${DISTDIR}/${f}.asc" + fi + done + fi + + default_src_unpack + + mv "${WORKDIR}/${MY_P}-$(rust_abi)" "${S}" || die +} + +patchelf_for_bin() { + local filetype=$(file -b ${1}) + if [[ ${filetype} == *ELF*interpreter* ]]; then + einfo "${1}'s interpreter changed" + patchelf ${1} --set-interpreter ${2} || die + elif [[ ${filetype} == *script* ]]; then + hprefixify ${1} + fi +} + +multilib_src_install() { + if multilib_is_native_abi; then + + # start native abi install + pushd "${S}" >/dev/null || die + local analysis std + analysis="$(grep 'analysis' ./components)" + std="$(grep 'std' ./components)" + local components="rustc,cargo,rust-demangler-preview,${std}" + use doc && components="${components},rust-docs" + use clippy && components="${components},clippy-preview" + use rustfmt && components="${components},rustfmt-preview" + use rust-analyzer && components="${components},rust-analyzer-preview,${analysis}" + # Rust component 'rust-src' is extracted from separate archive + if use rust-src; then + einfo "Combining rust and rust-src installers" + mv -v "${WORKDIR}/rust-src-${PV}/rust-src" "${S}" || die + echo rust-src >> ./components || die + components="${components},rust-src" + fi + ./install.sh \ + --components="${components}" \ + --disable-verify \ + --prefix="${ED}/opt/${P}" \ + --mandir="${ED}/opt/${P}/man" \ + --disable-ldconfig \ + || die + + if use prefix; then + local interpreter=$(patchelf --print-interpreter "${EPREFIX}"/bin/bash) + ebegin "Changing interpreter to ${interpreter} for Gentoo prefix at ${ED}/opt/${P}/bin" + find "${ED}/opt/${P}/bin" -type f -print0 | \ + while IFS= read -r -d '' filename; do + patchelf_for_bin ${filename} ${interpreter} \; || die + done + eend $? + fi + + local symlinks=( + cargo + rustc + rustdoc + rust-demangler + rust-gdb + rust-gdbgui + rust-lldb + ) + + use clippy && symlinks+=( clippy-driver cargo-clippy ) + use rustfmt && symlinks+=( rustfmt cargo-fmt ) + use rust-analyzer && symlinks+=( rust-analyzer ) + + einfo "installing eselect-rust symlinks and paths" + local i + for i in "${symlinks[@]}"; do + # we need realpath on /usr/bin/* symlink return version-appended binary path. + # so /usr/bin/rustc should point to /opt/rust-bin-<ver>/bin/rustc-<ver> + local ver_i="${i}-bin-${PV}" + ln -v "${ED}/opt/${P}/bin/${i}" "${ED}/opt/${P}/bin/${ver_i}" || die + dosym "../../opt/${P}/bin/${ver_i}" "/usr/bin/${ver_i}" + done + + # symlinks to switch components to active rust in eselect + dosym "../../../opt/${P}/lib" "/usr/lib/rust/lib-bin-${PV}" + dosym "../../../opt/${P}/man" "/usr/lib/rust/man-bin-${PV}" + dosym "../../opt/${P}/lib/rustlib" "/usr/lib/rustlib-bin-${PV}" + dosym "../../../opt/${P}/share/doc/rust" "/usr/share/doc/${P}" + + # make all capital underscored variable + local CARGO_TRIPLET="$(rust_abi)" + CARGO_TRIPLET="${CARGO_TRIPLET//-/_}" + CARGO_TRIPLET="${CARGO_TRIPLET^^}" + cat <<-_EOF_ > "${T}/50${P}" + LDPATH="${EPREFIX}/usr/lib/rust/lib-bin-${PV}" + MANPATH="${EPREFIX}/usr/lib/rust/man-bin-${PV}" + $(usev elibc_musl "CARGO_TARGET_${CARGO_TRIPLET}_RUSTFLAGS=\"-C target-feature=-crt-static\"") + _EOF_ + doenvd "${T}/50${P}" + + # note: eselect-rust adds EROOT to all paths below + cat <<-_EOF_ > "${T}/provider-${P}" + /usr/bin/cargo + /usr/bin/rustdoc + /usr/bin/rust-demangler + /usr/bin/rust-gdb + /usr/bin/rust-gdbgui + /usr/bin/rust-lldb + /usr/lib/rustlib + /usr/lib/rust/lib + /usr/lib/rust/man + /usr/share/doc/rust + _EOF_ + + if use clippy; then + echo /usr/bin/clippy-driver >> "${T}/provider-${P}" + echo /usr/bin/cargo-clippy >> "${T}/provider-${P}" + fi + if use rustfmt; then + echo /usr/bin/rustfmt >> "${T}/provider-${P}" + echo /usr/bin/cargo-fmt >> "${T}/provider-${P}" + fi + if use rust-analyzer; then + echo /usr/bin/rust-analyzer >> "${T}/provider-${P}" + fi + + insinto /etc/env.d/rust + doins "${T}/provider-${P}" + popd >/dev/null || die + #end native abi install + + else + local rust_target + rust_target="$(rust_abi $(get_abi_CHOST ${v##*.}))" + dodir "/opt/${P}/lib/rustlib" + cp -vr "${WORKDIR}/rust-${PV}-${rust_target}/rust-std-${rust_target}/lib/rustlib/${rust_target}"\ + "${ED}/opt/${P}/lib/rustlib" || die + fi + + # BUG: installs x86_64 binary on other arches + rm -f "${ED}/opt/${P}/lib/rustlib/"*/bin/rust-llvm-dwp || die +} + +pkg_postinst() { + eselect rust update + + elog "Rust installs a helper script for calling GDB now," + elog "for your convenience it is installed under /usr/bin/rust-gdb-bin-${PV}." + + if has_version app-editors/emacs; then + elog "install app-emacs/rust-mode to get emacs support for rust." + fi + + if has_version app-editors/gvim || has_version app-editors/vim; then + elog "install app-vim/rust-vim to get vim support for rust." + fi +} + +pkg_postrm() { + eselect rust cleanup +} diff --git a/dev-lang/rust-bin/rust-bin-1.79.0-r100.ebuild b/dev-lang/rust-bin/rust-bin-1.79.0-r100.ebuild new file mode 100644 index 000000000000..1aac4008cb46 --- /dev/null +++ b/dev-lang/rust-bin/rust-bin-1.79.0-r100.ebuild @@ -0,0 +1,247 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +LLVM_COMPAT=( 18 ) +LLVM_OPTIONAL="yes" + +inherit llvm-r1 multilib prefix rust-toolchain toolchain-funcs verify-sig multilib-minimal + +MY_P="rust-${PV}" +# curl -L static.rust-lang.org/dist/channel-rust-${PV}.toml 2>/dev/null | grep "xz_url.*rust-src" +MY_SRC_URI="${RUST_TOOLCHAIN_BASEURL%/}/2024-06-13/rust-src-${PV}.tar.xz" +GENTOO_BIN_BASEURI="https://dev.gentoo.org/~arthurzam/distfiles/${CATEGORY}/${PN}" # omit leading slash + +DESCRIPTION="Systems programming language from Mozilla" +HOMEPAGE="https://www.rust-lang.org/" +SRC_URI="$(rust_all_arch_uris ${MY_P}) + rust-src? ( ${MY_SRC_URI} ) +" +# Keep this separate to allow easy commenting out if not yet built +SRC_URI+=" sparc? ( ${GENTOO_BIN_BASEURI}/${MY_P}-sparc64-unknown-linux-gnu.tar.xz ) " +SRC_URI+=" mips? ( + abi_mips_o32? ( + big-endian? ( ${GENTOO_BIN_BASEURI}/${MY_P}-mips-unknown-linux-gnu.tar.xz ) + !big-endian? ( ${GENTOO_BIN_BASEURI}/${MY_P}-mipsel-unknown-linux-gnu.tar.xz ) + ) + abi_mips_n64? ( + big-endian? ( ${GENTOO_BIN_BASEURI}/${MY_P}-mips64-unknown-linux-gnuabi64.tar.xz ) + !big-endian? ( ${GENTOO_BIN_BASEURI}/${MY_P}-mips64el-unknown-linux-gnuabi64.tar.xz ) + ) +)" +SRC_URI+=" riscv? ( + elibc_musl? ( ${GENTOO_BIN_BASEURI}/${MY_P}-riscv64gc-unknown-linux-musl.tar.xz ) +)" + +LICENSE="|| ( MIT Apache-2.0 ) BSD BSD-1 BSD-2 BSD-4" +SLOT="${PV}" +KEYWORDS="amd64 arm arm64 ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86" +IUSE="big-endian clippy cpu_flags_x86_sse2 doc prefix rust-analyzer rust-src rustfmt" + +RDEPEND=" + >=app-eselect/eselect-rust-20190311 + dev-libs/openssl + sys-apps/lsb-release + sys-devel/gcc:* + !dev-lang/rust-bin:stable +" + +BDEPEND=" + prefix? ( dev-util/patchelf ) + verify-sig? ( sec-keys/openpgp-keys-rust ) +" + +REQUIRED_USE="x86? ( cpu_flags_x86_sse2 )" + +# stripping rust may break it (at least on x86_64) +# https://github.com/rust-lang/rust/issues/112286 +RESTRICT="strip" + +QA_PREBUILT=" + opt/${P}/bin/.* + opt/${P}/lib/.*.so* + opt/${P}/libexec/.* + opt/${P}/lib/rustlib/.*/bin/.* + opt/${P}/lib/rustlib/.*/lib/.* +" + +# An rmeta file is custom binary format that contains the metadata for the crate. +# rmeta files do not support linking, since they do not contain compiled object files. +# so we can safely silence the warning for this QA check. +QA_EXECSTACK="opt/${P}/lib/rustlib/*/lib*.rlib:lib.rmeta" + +VERIFY_SIG_OPENPGP_KEY_PATH="/usr/share/openpgp-keys/rust.asc" + +pkg_pretend() { + if [[ "$(tc-is-softfloat)" != "no" ]] && [[ ${CHOST} == armv7* ]]; then + die "${CHOST} is not supported by upstream Rust. You must use a hard float version." + fi +} + +src_unpack() { + # sadly rust-src tarball does not have corresponding .asc file + # so do partial verification + if use verify-sig; then + for f in ${A}; do + if [[ -f ${DISTDIR}/${f}.asc ]]; then + verify-sig_verify_detached "${DISTDIR}/${f}" "${DISTDIR}/${f}.asc" + fi + done + fi + + default_src_unpack + + mv "${WORKDIR}/${MY_P}-$(rust_abi)" "${S}" || die +} + +patchelf_for_bin() { + local filetype=$(file -b ${1}) + if [[ ${filetype} == *ELF*interpreter* ]]; then + einfo "${1}'s interpreter changed" + patchelf ${1} --set-interpreter ${2} || die + elif [[ ${filetype} == *script* ]]; then + hprefixify ${1} + fi +} + +multilib_src_install() { + if multilib_is_native_abi; then + + # start native abi install + pushd "${S}" >/dev/null || die + local analysis std + analysis="$(grep 'analysis' ./components)" + std="$(grep 'std' ./components)" + local components="rustc,cargo,rust-demangler-preview,${std}" + use doc && components="${components},rust-docs" + use clippy && components="${components},clippy-preview" + use rustfmt && components="${components},rustfmt-preview" + use rust-analyzer && components="${components},rust-analyzer-preview,${analysis}" + # Rust component 'rust-src' is extracted from separate archive + if use rust-src; then + einfo "Combining rust and rust-src installers" + mv -v "${WORKDIR}/rust-src-${PV}/rust-src" "${S}" || die + echo rust-src >> ./components || die + components="${components},rust-src" + fi + ./install.sh \ + --components="${components}" \ + --disable-verify \ + --prefix="${ED}/opt/${P}" \ + --mandir="${ED}/opt/${P}/man" \ + --disable-ldconfig \ + || die + + if use prefix; then + local interpreter=$(patchelf --print-interpreter "${EPREFIX}"/bin/bash) + ebegin "Changing interpreter to ${interpreter} for Gentoo prefix at ${ED}/opt/${P}/bin" + find "${ED}/opt/${P}/bin" -type f -print0 | \ + while IFS= read -r -d '' filename; do + patchelf_for_bin ${filename} ${interpreter} \; || die + done + eend $? + fi + + local symlinks=( + cargo + rustc + rustdoc + rust-demangler + rust-gdb + rust-gdbgui + rust-lldb + ) + + use clippy && symlinks+=( clippy-driver cargo-clippy ) + use rustfmt && symlinks+=( rustfmt cargo-fmt ) + use rust-analyzer && symlinks+=( rust-analyzer ) + + einfo "installing eselect-rust symlinks and paths" + local i + for i in "${symlinks[@]}"; do + # we need realpath on /usr/bin/* symlink return version-appended binary path. + # so /usr/bin/rustc should point to /opt/rust-bin-<ver>/bin/rustc-<ver> + local ver_i="${i}-bin-${PV}" + ln -v "${ED}/opt/${P}/bin/${i}" "${ED}/opt/${P}/bin/${ver_i}" || die + dosym "../../opt/${P}/bin/${ver_i}" "/usr/bin/${ver_i}" + done + + # symlinks to switch components to active rust in eselect + dosym "../../../opt/${P}/lib" "/usr/lib/rust/lib-bin-${PV}" + dosym "../../../opt/${P}/man" "/usr/lib/rust/man-bin-${PV}" + dosym "../../opt/${P}/lib/rustlib" "/usr/lib/rustlib-bin-${PV}" + dosym "../../../opt/${P}/share/doc/rust" "/usr/share/doc/${P}" + + # make all capital underscored variable + local CARGO_TRIPLET="$(rust_abi)" + CARGO_TRIPLET="${CARGO_TRIPLET//-/_}" + CARGO_TRIPLET="${CARGO_TRIPLET^^}" + cat <<-_EOF_ > "${T}/50${P}" + LDPATH="${EPREFIX}/usr/lib/rust/lib-bin-${PV}" + MANPATH="${EPREFIX}/usr/lib/rust/man-bin-${PV}" + $(usev elibc_musl "CARGO_TARGET_${CARGO_TRIPLET}_RUSTFLAGS=\"-C target-feature=-crt-static\"") + _EOF_ + doenvd "${T}/50${P}" + + # note: eselect-rust adds EROOT to all paths below + cat <<-_EOF_ > "${T}/provider-${P}" + /usr/bin/cargo + /usr/bin/rustdoc + /usr/bin/rust-demangler + /usr/bin/rust-gdb + /usr/bin/rust-gdbgui + /usr/bin/rust-lldb + /usr/lib/rustlib + /usr/lib/rust/lib + /usr/lib/rust/man + /usr/share/doc/rust + _EOF_ + + if use clippy; then + echo /usr/bin/clippy-driver >> "${T}/provider-${P}" + echo /usr/bin/cargo-clippy >> "${T}/provider-${P}" + fi + if use rustfmt; then + echo /usr/bin/rustfmt >> "${T}/provider-${P}" + echo /usr/bin/cargo-fmt >> "${T}/provider-${P}" + fi + if use rust-analyzer; then + echo /usr/bin/rust-analyzer >> "${T}/provider-${P}" + fi + + insinto /etc/env.d/rust + doins "${T}/provider-${P}" + popd >/dev/null || die + #end native abi install + + else + local rust_target + rust_target="$(rust_abi $(get_abi_CHOST ${v##*.}))" + dodir "/opt/${P}/lib/rustlib" + cp -vr "${WORKDIR}/rust-${PV}-${rust_target}/rust-std-${rust_target}/lib/rustlib/${rust_target}"\ + "${ED}/opt/${P}/lib/rustlib" || die + fi + + # BUG: installs x86_64 binary on other arches + rm -f "${ED}/opt/${P}/lib/rustlib/"*/bin/rust-llvm-dwp || die +} + +pkg_postinst() { + eselect rust update + + elog "Rust installs a helper script for calling GDB now," + elog "for your convenience it is installed under /usr/bin/rust-gdb-bin-${PV}." + + if has_version app-editors/emacs; then + elog "install app-emacs/rust-mode to get emacs support for rust." + fi + + if has_version app-editors/gvim || has_version app-editors/vim; then + elog "install app-vim/rust-vim to get vim support for rust." + fi +} + +pkg_postrm() { + eselect rust cleanup +} diff --git a/dev-lang/rust-bin/rust-bin-1.80.1-r100.ebuild b/dev-lang/rust-bin/rust-bin-1.80.1-r100.ebuild new file mode 100644 index 000000000000..3e8c9a394475 --- /dev/null +++ b/dev-lang/rust-bin/rust-bin-1.80.1-r100.ebuild @@ -0,0 +1,251 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +LLVM_COMPAT=( 18 ) +LLVM_OPTIONAL="yes" + +inherit llvm-r1 multilib prefix rust-toolchain toolchain-funcs verify-sig multilib-minimal + +MY_P="rust-${PV}" +# curl -L static.rust-lang.org/dist/channel-rust-${PV}.toml 2>/dev/null | grep "xz_url.*rust-src" +MY_SRC_URI="${RUST_TOOLCHAIN_BASEURL%/}/2024-08-08/rust-src-${PV}.tar.xz" +GENTOO_BIN_BASEURI="https://dev.gentoo.org/~arthurzam/distfiles/${CATEGORY}/${PN}" # omit leading slash + +DESCRIPTION="Systems programming language from Mozilla" +HOMEPAGE="https://www.rust-lang.org/" +SRC_URI="$(rust_all_arch_uris ${MY_P}) + rust-src? ( ${MY_SRC_URI} ) +" +# Keep this separate to allow easy commenting out if not yet built +SRC_URI+=" sparc? ( ${GENTOO_BIN_BASEURI}/${MY_P}-sparc64-unknown-linux-gnu.tar.xz ) " +SRC_URI+=" mips? ( + abi_mips_o32? ( + big-endian? ( ${GENTOO_BIN_BASEURI}/${MY_P}-mips-unknown-linux-gnu.tar.xz ) + !big-endian? ( ${GENTOO_BIN_BASEURI}/${MY_P}-mipsel-unknown-linux-gnu.tar.xz ) + ) + abi_mips_n64? ( + big-endian? ( ${GENTOO_BIN_BASEURI}/${MY_P}-mips64-unknown-linux-gnuabi64.tar.xz ) + !big-endian? ( ${GENTOO_BIN_BASEURI}/${MY_P}-mips64el-unknown-linux-gnuabi64.tar.xz ) + ) +)" +SRC_URI+=" riscv? ( + elibc_musl? ( ${GENTOO_BIN_BASEURI}/${MY_P}-riscv64gc-unknown-linux-musl.tar.xz ) +)" +SRC_URI+=" ppc64? ( elibc_musl? ( + big-endian? ( ${GENTOO_BIN_BASEURI}/${MY_P}-powerpc64-unknown-linux-musl.tar.xz ) + !big-endian? ( ${GENTOO_BIN_BASEURI}/${MY_P}-powerpc64le-unknown-linux-musl.tar.xz ) +) )" + +LICENSE="|| ( MIT Apache-2.0 ) BSD BSD-1 BSD-2 BSD-4" +SLOT="${PV}" +KEYWORDS="amd64 arm arm64 ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86" +IUSE="big-endian clippy cpu_flags_x86_sse2 doc prefix rust-analyzer rust-src rustfmt" + +RDEPEND=" + >=app-eselect/eselect-rust-20190311 + dev-libs/openssl + sys-apps/lsb-release + sys-devel/gcc:* + !dev-lang/rust-bin:stable +" + +BDEPEND=" + prefix? ( dev-util/patchelf ) + verify-sig? ( sec-keys/openpgp-keys-rust ) +" + +REQUIRED_USE="x86? ( cpu_flags_x86_sse2 )" + +# stripping rust may break it (at least on x86_64) +# https://github.com/rust-lang/rust/issues/112286 +RESTRICT="strip" + +QA_PREBUILT=" + opt/${P}/bin/.* + opt/${P}/lib/.*.so* + opt/${P}/libexec/.* + opt/${P}/lib/rustlib/.*/bin/.* + opt/${P}/lib/rustlib/.*/lib/.* +" + +# An rmeta file is custom binary format that contains the metadata for the crate. +# rmeta files do not support linking, since they do not contain compiled object files. +# so we can safely silence the warning for this QA check. +QA_EXECSTACK="opt/${P}/lib/rustlib/*/lib*.rlib:lib.rmeta" + +VERIFY_SIG_OPENPGP_KEY_PATH="/usr/share/openpgp-keys/rust.asc" + +pkg_pretend() { + if [[ "$(tc-is-softfloat)" != "no" ]] && [[ ${CHOST} == armv7* ]]; then + die "${CHOST} is not supported by upstream Rust. You must use a hard float version." + fi +} + +src_unpack() { + # sadly rust-src tarball does not have corresponding .asc file + # so do partial verification + if use verify-sig; then + for f in ${A}; do + if [[ -f ${DISTDIR}/${f}.asc ]]; then + verify-sig_verify_detached "${DISTDIR}/${f}" "${DISTDIR}/${f}.asc" + fi + done + fi + + default_src_unpack + + mv "${WORKDIR}/${MY_P}-$(rust_abi)" "${S}" || die +} + +patchelf_for_bin() { + local filetype=$(file -b ${1}) + if [[ ${filetype} == *ELF*interpreter* ]]; then + einfo "${1}'s interpreter changed" + patchelf ${1} --set-interpreter ${2} || die + elif [[ ${filetype} == *script* ]]; then + hprefixify ${1} + fi +} + +multilib_src_install() { + if multilib_is_native_abi; then + + # start native abi install + pushd "${S}" >/dev/null || die + local analysis std + analysis="$(grep 'analysis' ./components)" + std="$(grep 'std' ./components)" + local components="rustc,cargo,rust-demangler-preview,${std}" + use doc && components="${components},rust-docs" + use clippy && components="${components},clippy-preview" + use rustfmt && components="${components},rustfmt-preview" + use rust-analyzer && components="${components},rust-analyzer-preview,${analysis}" + # Rust component 'rust-src' is extracted from separate archive + if use rust-src; then + einfo "Combining rust and rust-src installers" + mv -v "${WORKDIR}/rust-src-${PV}/rust-src" "${S}" || die + echo rust-src >> ./components || die + components="${components},rust-src" + fi + ./install.sh \ + --components="${components}" \ + --disable-verify \ + --prefix="${ED}/opt/${P}" \ + --mandir="${ED}/opt/${P}/man" \ + --disable-ldconfig \ + || die + + if use prefix; then + local interpreter=$(patchelf --print-interpreter "${EPREFIX}"/bin/bash) + ebegin "Changing interpreter to ${interpreter} for Gentoo prefix at ${ED}/opt/${P}/bin" + find "${ED}/opt/${P}/bin" -type f -print0 | \ + while IFS= read -r -d '' filename; do + patchelf_for_bin ${filename} ${interpreter} \; || die + done + eend $? + fi + + local symlinks=( + cargo + rustc + rustdoc + rust-demangler + rust-gdb + rust-gdbgui + rust-lldb + ) + + use clippy && symlinks+=( clippy-driver cargo-clippy ) + use rustfmt && symlinks+=( rustfmt cargo-fmt ) + use rust-analyzer && symlinks+=( rust-analyzer ) + + einfo "installing eselect-rust symlinks and paths" + local i + for i in "${symlinks[@]}"; do + # we need realpath on /usr/bin/* symlink return version-appended binary path. + # so /usr/bin/rustc should point to /opt/rust-bin-<ver>/bin/rustc-<ver> + local ver_i="${i}-bin-${PV}" + ln -v "${ED}/opt/${P}/bin/${i}" "${ED}/opt/${P}/bin/${ver_i}" || die + dosym "../../opt/${P}/bin/${ver_i}" "/usr/bin/${ver_i}" + done + + # symlinks to switch components to active rust in eselect + dosym "../../../opt/${P}/lib" "/usr/lib/rust/lib-bin-${PV}" + dosym "../../../opt/${P}/man" "/usr/lib/rust/man-bin-${PV}" + dosym "../../opt/${P}/lib/rustlib" "/usr/lib/rustlib-bin-${PV}" + dosym "../../../opt/${P}/share/doc/rust" "/usr/share/doc/${P}" + + # make all capital underscored variable + local CARGO_TRIPLET="$(rust_abi)" + CARGO_TRIPLET="${CARGO_TRIPLET//-/_}" + CARGO_TRIPLET="${CARGO_TRIPLET^^}" + cat <<-_EOF_ > "${T}/50${P}" + LDPATH="${EPREFIX}/usr/lib/rust/lib-bin-${PV}" + MANPATH="${EPREFIX}/usr/lib/rust/man-bin-${PV}" + $(usev elibc_musl "CARGO_TARGET_${CARGO_TRIPLET}_RUSTFLAGS=\"-C target-feature=-crt-static\"") + _EOF_ + doenvd "${T}/50${P}" + + # note: eselect-rust adds EROOT to all paths below + cat <<-_EOF_ > "${T}/provider-${P}" + /usr/bin/cargo + /usr/bin/rustdoc + /usr/bin/rust-demangler + /usr/bin/rust-gdb + /usr/bin/rust-gdbgui + /usr/bin/rust-lldb + /usr/lib/rustlib + /usr/lib/rust/lib + /usr/lib/rust/man + /usr/share/doc/rust + _EOF_ + + if use clippy; then + echo /usr/bin/clippy-driver >> "${T}/provider-${P}" + echo /usr/bin/cargo-clippy >> "${T}/provider-${P}" + fi + if use rustfmt; then + echo /usr/bin/rustfmt >> "${T}/provider-${P}" + echo /usr/bin/cargo-fmt >> "${T}/provider-${P}" + fi + if use rust-analyzer; then + echo /usr/bin/rust-analyzer >> "${T}/provider-${P}" + fi + + insinto /etc/env.d/rust + doins "${T}/provider-${P}" + popd >/dev/null || die + #end native abi install + + else + local rust_target + rust_target="$(rust_abi $(get_abi_CHOST ${v##*.}))" + dodir "/opt/${P}/lib/rustlib" + cp -vr "${WORKDIR}/rust-${PV}-${rust_target}/rust-std-${rust_target}/lib/rustlib/${rust_target}"\ + "${ED}/opt/${P}/lib/rustlib" || die + fi + + # BUG: installs x86_64 binary on other arches + rm -f "${ED}/opt/${P}/lib/rustlib/"*/bin/rust-llvm-dwp || die +} + +pkg_postinst() { + eselect rust update + + elog "Rust installs a helper script for calling GDB now," + elog "for your convenience it is installed under /usr/bin/rust-gdb-bin-${PV}." + + if has_version app-editors/emacs; then + elog "install app-emacs/rust-mode to get emacs support for rust." + fi + + if has_version app-editors/gvim || has_version app-editors/vim; then + elog "install app-vim/rust-vim to get vim support for rust." + fi +} + +pkg_postrm() { + eselect rust cleanup +} diff --git a/dev-lang/rust-bin/rust-bin-1.81.0-r100.ebuild b/dev-lang/rust-bin/rust-bin-1.81.0-r100.ebuild new file mode 100644 index 000000000000..b5f1ce54ec05 --- /dev/null +++ b/dev-lang/rust-bin/rust-bin-1.81.0-r100.ebuild @@ -0,0 +1,249 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +LLVM_COMPAT=( 18 ) +LLVM_OPTIONAL="yes" + +inherit llvm-r1 multilib prefix rust-toolchain toolchain-funcs verify-sig multilib-minimal optfeature + +MY_P="rust-${PV}" +# curl -L static.rust-lang.org/dist/channel-rust-${PV}.toml 2>/dev/null | grep "xz_url.*rust-src" +MY_SRC_URI="${RUST_TOOLCHAIN_BASEURL%/}/2024-09-05/rust-src-${PV}.tar.xz" +GENTOO_BIN_BASEURI="https://dev.gentoo.org/~arthurzam/distfiles/${CATEGORY}/${PN}" # omit leading slash + +DESCRIPTION="Systems programming language from Mozilla" +HOMEPAGE="https://www.rust-lang.org/" +SRC_URI="$(rust_all_arch_uris ${MY_P}) + rust-src? ( ${MY_SRC_URI} ) +" +# Keep this separate to allow easy commenting out if not yet built +SRC_URI+=" sparc? ( ${GENTOO_BIN_BASEURI}/${MY_P}-sparc64-unknown-linux-gnu.tar.xz ) " +SRC_URI+=" mips? ( + abi_mips_o32? ( + big-endian? ( ${GENTOO_BIN_BASEURI}/${MY_P}-mips-unknown-linux-gnu.tar.xz ) + !big-endian? ( ${GENTOO_BIN_BASEURI}/${MY_P}-mipsel-unknown-linux-gnu.tar.xz ) + ) + abi_mips_n64? ( + big-endian? ( ${GENTOO_BIN_BASEURI}/${MY_P}-mips64-unknown-linux-gnuabi64.tar.xz ) + !big-endian? ( ${GENTOO_BIN_BASEURI}/${MY_P}-mips64el-unknown-linux-gnuabi64.tar.xz ) + ) +)" +SRC_URI+=" riscv? ( + elibc_musl? ( ${GENTOO_BIN_BASEURI}/${MY_P}-riscv64gc-unknown-linux-musl.tar.xz ) +)" +SRC_URI+=" ppc64? ( elibc_musl? ( + big-endian? ( ${GENTOO_BIN_BASEURI}/${MY_P}-powerpc64-unknown-linux-musl.tar.xz ) + !big-endian? ( ${GENTOO_BIN_BASEURI}/${MY_P}-powerpc64le-unknown-linux-musl.tar.xz ) +) )" + +LICENSE="|| ( MIT Apache-2.0 ) BSD BSD-1 BSD-2 BSD-4" +SLOT="${PV}" +KEYWORDS="amd64 arm arm64 ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86" +IUSE="big-endian clippy cpu_flags_x86_sse2 doc prefix rust-analyzer rust-src rustfmt" + +RDEPEND=" + >=app-eselect/eselect-rust-20190311 + dev-libs/openssl + sys-apps/lsb-release + sys-devel/gcc:* + !dev-lang/rust-bin:stable +" + +BDEPEND=" + prefix? ( dev-util/patchelf ) + verify-sig? ( sec-keys/openpgp-keys-rust ) +" + +REQUIRED_USE="x86? ( cpu_flags_x86_sse2 )" + +# stripping rust may break it (at least on x86_64) +# https://github.com/rust-lang/rust/issues/112286 +RESTRICT="strip" + +QA_PREBUILT=" + opt/${P}/bin/.* + opt/${P}/lib/.*.so* + opt/${P}/libexec/.* + opt/${P}/lib/rustlib/.*/bin/.* + opt/${P}/lib/rustlib/.*/lib/.* +" + +# An rmeta file is custom binary format that contains the metadata for the crate. +# rmeta files do not support linking, since they do not contain compiled object files. +# so we can safely silence the warning for this QA check. +QA_EXECSTACK="opt/${P}/lib/rustlib/*/lib*.rlib:lib.rmeta" + +VERIFY_SIG_OPENPGP_KEY_PATH="/usr/share/openpgp-keys/rust.asc" + +pkg_pretend() { + if [[ "$(tc-is-softfloat)" != "no" ]] && [[ ${CHOST} == armv7* ]]; then + die "${CHOST} is not supported by upstream Rust. You must use a hard float version." + fi +} + +src_unpack() { + # sadly rust-src tarball does not have corresponding .asc file + # so do partial verification + if use verify-sig; then + for f in ${A}; do + if [[ -f ${DISTDIR}/${f}.asc ]]; then + verify-sig_verify_detached "${DISTDIR}/${f}" "${DISTDIR}/${f}.asc" + fi + done + fi + + default_src_unpack + + mv "${WORKDIR}/${MY_P}-$(rust_abi)" "${S}" || die +} + +patchelf_for_bin() { + local filetype=$(file -b ${1}) + if [[ ${filetype} == *ELF*interpreter* ]]; then + einfo "${1}'s interpreter changed" + patchelf ${1} --set-interpreter ${2} || die + elif [[ ${filetype} == *script* ]]; then + hprefixify ${1} + fi +} + +multilib_src_install() { + if multilib_is_native_abi; then + + # start native abi install + pushd "${S}" >/dev/null || die + local analysis std + analysis="$(grep 'analysis' ./components)" + std="$(grep 'std' ./components)" + local components="rustc,cargo,${std}" + use doc && components="${components},rust-docs" + use clippy && components="${components},clippy-preview" + use rustfmt && components="${components},rustfmt-preview" + use rust-analyzer && components="${components},rust-analyzer-preview,${analysis}" + # Rust component 'rust-src' is extracted from separate archive + if use rust-src; then + einfo "Combining rust and rust-src installers" + mv -v "${WORKDIR}/rust-src-${PV}/rust-src" "${S}" || die + echo rust-src >> ./components || die + components="${components},rust-src" + fi + ./install.sh \ + --components="${components}" \ + --disable-verify \ + --prefix="${ED}/opt/${P}" \ + --mandir="${ED}/opt/${P}/man" \ + --disable-ldconfig \ + || die + + if use prefix; then + local interpreter=$(patchelf --print-interpreter "${EPREFIX}"/bin/bash) + ebegin "Changing interpreter to ${interpreter} for Gentoo prefix at ${ED}/opt/${P}/bin" + find "${ED}/opt/${P}/bin" -type f -print0 | \ + while IFS= read -r -d '' filename; do + patchelf_for_bin ${filename} ${interpreter} \; || die + done + eend $? + fi + + local symlinks=( + cargo + rustc + rustdoc + rust-gdb + rust-gdbgui + rust-lldb + ) + + use clippy && symlinks+=( clippy-driver cargo-clippy ) + use rustfmt && symlinks+=( rustfmt cargo-fmt ) + use rust-analyzer && symlinks+=( rust-analyzer ) + + einfo "installing eselect-rust symlinks and paths" + local i + for i in "${symlinks[@]}"; do + # we need realpath on /usr/bin/* symlink return version-appended binary path. + # so /usr/bin/rustc should point to /opt/rust-bin-<ver>/bin/rustc-<ver> + local ver_i="${i}-bin-${PV}" + ln -v "${ED}/opt/${P}/bin/${i}" "${ED}/opt/${P}/bin/${ver_i}" || die + dosym "../../opt/${P}/bin/${ver_i}" "/usr/bin/${ver_i}" + done + + # symlinks to switch components to active rust in eselect + dosym "../../../opt/${P}/lib" "/usr/lib/rust/lib-bin-${PV}" + dosym "../../../opt/${P}/man" "/usr/lib/rust/man-bin-${PV}" + dosym "../../opt/${P}/lib/rustlib" "/usr/lib/rustlib-bin-${PV}" + dosym "../../../opt/${P}/share/doc/rust" "/usr/share/doc/${P}" + + # make all capital underscored variable + local CARGO_TRIPLET="$(rust_abi)" + CARGO_TRIPLET="${CARGO_TRIPLET//-/_}" + CARGO_TRIPLET="${CARGO_TRIPLET^^}" + cat <<-_EOF_ > "${T}/50${P}" + LDPATH="${EPREFIX}/usr/lib/rust/lib-bin-${PV}" + MANPATH="${EPREFIX}/usr/lib/rust/man-bin-${PV}" + $(usev elibc_musl "CARGO_TARGET_${CARGO_TRIPLET}_RUSTFLAGS=\"-C target-feature=-crt-static\"") + _EOF_ + doenvd "${T}/50${P}" + + # note: eselect-rust adds EROOT to all paths below + cat <<-_EOF_ > "${T}/provider-${P}" + /usr/bin/cargo + /usr/bin/rustdoc + /usr/bin/rust-gdb + /usr/bin/rust-gdbgui + /usr/bin/rust-lldb + /usr/lib/rustlib + /usr/lib/rust/lib + /usr/lib/rust/man + /usr/share/doc/rust + _EOF_ + + if use clippy; then + echo /usr/bin/clippy-driver >> "${T}/provider-${P}" + echo /usr/bin/cargo-clippy >> "${T}/provider-${P}" + fi + if use rustfmt; then + echo /usr/bin/rustfmt >> "${T}/provider-${P}" + echo /usr/bin/cargo-fmt >> "${T}/provider-${P}" + fi + if use rust-analyzer; then + echo /usr/bin/rust-analyzer >> "${T}/provider-${P}" + fi + + insinto /etc/env.d/rust + doins "${T}/provider-${P}" + popd >/dev/null || die + #end native abi install + + else + local rust_target + rust_target="$(rust_abi $(get_abi_CHOST ${v##*.}))" + dodir "/opt/${P}/lib/rustlib" + cp -vr "${WORKDIR}/rust-${PV}-${rust_target}/rust-std-${rust_target}/lib/rustlib/${rust_target}"\ + "${ED}/opt/${P}/lib/rustlib" || die + fi + + # BUG: installs x86_64 binary on other arches + rm -f "${ED}/opt/${P}/lib/rustlib/"*/bin/rust-llvm-dwp || die +} + +pkg_postinst() { + eselect rust update + + elog "Rust installs a helper script for calling GDB now," + elog "for your convenience it is installed under /usr/bin/rust-gdb-bin-${PV}." + + if has_version app-editors/emacs; then + optfeature "emacs support for rust" app-emacs/rust-mode + fi + + if has_version app-editors/gvim || has_version app-editors/vim; then + optfeature "vim support for rust" app-vim/rust-vim + fi +} + +pkg_postrm() { + eselect rust cleanup +} diff --git a/dev-lang/rust-bin/rust-bin-1.82.0-r100.ebuild b/dev-lang/rust-bin/rust-bin-1.82.0-r100.ebuild new file mode 100644 index 000000000000..4dbbd8d3be47 --- /dev/null +++ b/dev-lang/rust-bin/rust-bin-1.82.0-r100.ebuild @@ -0,0 +1,251 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +LLVM_COMPAT=( 19 ) +LLVM_OPTIONAL="yes" + +inherit llvm-r1 multilib prefix rust-toolchain toolchain-funcs verify-sig multilib-minimal optfeature + +MY_P="rust-${PV}" +# curl -L static.rust-lang.org/dist/channel-rust-${PV}.toml 2>/dev/null | grep "xz_url.*rust-src" +MY_SRC_URI="${RUST_TOOLCHAIN_BASEURL%/}/2024-10-17/rust-src-${PV}.tar.xz" +GENTOO_BIN_BASEURI="https://dev.gentoo.org/~arthurzam/distfiles/${CATEGORY}/${PN}" # omit leading slash + +DESCRIPTION="Systems programming language from Mozilla" +HOMEPAGE="https://www.rust-lang.org/" +SRC_URI="$(rust_all_arch_uris ${MY_P}) + rust-src? ( ${MY_SRC_URI} ) +" +# Keep this separate to allow easy commenting out if not yet built +SRC_URI+=" sparc? ( ${GENTOO_BIN_BASEURI}/${MY_P}-sparc64-unknown-linux-gnu.tar.xz ) " +SRC_URI+=" mips? ( + abi_mips_o32? ( + big-endian? ( ${GENTOO_BIN_BASEURI}/${MY_P}-mips-unknown-linux-gnu.tar.xz ) + !big-endian? ( ${GENTOO_BIN_BASEURI}/${MY_P}-mipsel-unknown-linux-gnu.tar.xz ) + ) + abi_mips_n64? ( + big-endian? ( ${GENTOO_BIN_BASEURI}/${MY_P}-mips64-unknown-linux-gnuabi64.tar.xz ) + !big-endian? ( ${GENTOO_BIN_BASEURI}/${MY_P}-mips64el-unknown-linux-gnuabi64.tar.xz ) + ) +)" +SRC_URI+=" riscv? ( + elibc_musl? ( ${GENTOO_BIN_BASEURI}/${MY_P}-riscv64gc-unknown-linux-musl.tar.xz ) +)" +SRC_URI+=" ppc64? ( elibc_musl? ( + big-endian? ( ${GENTOO_BIN_BASEURI}/${MY_P}-powerpc64-unknown-linux-musl.tar.xz ) + !big-endian? ( ${GENTOO_BIN_BASEURI}/${MY_P}-powerpc64le-unknown-linux-musl.tar.xz ) +) )" + +LICENSE="|| ( MIT Apache-2.0 ) BSD BSD-1 BSD-2 BSD-4" +SLOT="${PV}" +KEYWORDS="~amd64 ~arm ~arm64 ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" +IUSE="big-endian clippy cpu_flags_x86_sse2 doc prefix rust-analyzer rust-src rustfmt" + +RDEPEND=" + >=app-eselect/eselect-rust-20190311 + dev-libs/openssl + sys-apps/lsb-release + sys-devel/gcc:* + !dev-lang/rust-bin:stable +" + +BDEPEND=" + prefix? ( dev-util/patchelf ) + verify-sig? ( sec-keys/openpgp-keys-rust ) +" + +REQUIRED_USE="x86? ( cpu_flags_x86_sse2 )" + +# stripping rust may break it (at least on x86_64) +# https://github.com/rust-lang/rust/issues/112286 +RESTRICT="strip" + +QA_PREBUILT=" + opt/${P}/bin/.* + opt/${P}/lib/.*.so* + opt/${P}/libexec/.* + opt/${P}/lib/rustlib/.*/bin/.* + opt/${P}/lib/rustlib/.*/lib/.* +" + +# An rmeta file is custom binary format that contains the metadata for the crate. +# rmeta files do not support linking, since they do not contain compiled object files. +# so we can safely silence the warning for this QA check. +QA_EXECSTACK="opt/${P}/lib/rustlib/*/lib*.rlib:lib.rmeta" + +VERIFY_SIG_OPENPGP_KEY_PATH="/usr/share/openpgp-keys/rust.asc" + +pkg_pretend() { + if [[ "$(tc-is-softfloat)" != "no" ]] && [[ ${CHOST} == armv7* ]]; then + die "${CHOST} is not supported by upstream Rust. You must use a hard float version." + fi +} + +src_unpack() { + # sadly rust-src tarball does not have corresponding .asc file + # so do partial verification + if use verify-sig; then + for f in ${A}; do + if [[ -f ${DISTDIR}/${f}.asc ]]; then + verify-sig_verify_detached "${DISTDIR}/${f}" "${DISTDIR}/${f}.asc" + fi + done + fi + + default_src_unpack + + mv "${WORKDIR}/${MY_P}-$(rust_abi)" "${S}" || die +} + +patchelf_for_bin() { + local filetype=$(file -b ${1}) + if [[ ${filetype} == *ELF*interpreter* ]]; then + einfo "${1}'s interpreter changed" + patchelf ${1} --set-interpreter ${2} || die + elif [[ ${filetype} == *script* ]]; then + hprefixify ${1} + fi +} + +multilib_src_install() { + if multilib_is_native_abi; then + + # start native abi install + pushd "${S}" >/dev/null || die + local analysis std + analysis="$(grep 'analysis' ./components)" + std="$(grep 'std' ./components)" + local components="rustc,cargo,${std}" + use doc && components="${components},rust-docs" + use clippy && components="${components},clippy-preview" + use rustfmt && components="${components},rustfmt-preview" + use rust-analyzer && components="${components},rust-analyzer-preview,${analysis}" + # Rust component 'rust-src' is extracted from separate archive + if use rust-src; then + einfo "Combining rust and rust-src installers" + mv -v "${WORKDIR}/rust-src-${PV}/rust-src" "${S}" || die + echo rust-src >> ./components || die + components="${components},rust-src" + fi + ./install.sh \ + --components="${components}" \ + --disable-verify \ + --prefix="${ED}/opt/${P}" \ + --mandir="${ED}/opt/${P}/man" \ + --disable-ldconfig \ + || die + + docompress /opt/${P}/man/ + + if use prefix; then + local interpreter=$(patchelf --print-interpreter "${EPREFIX}"/bin/bash) + ebegin "Changing interpreter to ${interpreter} for Gentoo prefix at ${ED}/opt/${P}/bin" + find "${ED}/opt/${P}/bin" -type f -print0 | \ + while IFS= read -r -d '' filename; do + patchelf_for_bin ${filename} ${interpreter} \; || die + done + eend $? + fi + + local symlinks=( + cargo + rustc + rustdoc + rust-gdb + rust-gdbgui + rust-lldb + ) + + use clippy && symlinks+=( clippy-driver cargo-clippy ) + use rustfmt && symlinks+=( rustfmt cargo-fmt ) + use rust-analyzer && symlinks+=( rust-analyzer ) + + einfo "installing eselect-rust symlinks and paths" + local i + for i in "${symlinks[@]}"; do + # we need realpath on /usr/bin/* symlink return version-appended binary path. + # so /usr/bin/rustc should point to /opt/rust-bin-<ver>/bin/rustc-<ver> + local ver_i="${i}-bin-${PV}" + ln -v "${ED}/opt/${P}/bin/${i}" "${ED}/opt/${P}/bin/${ver_i}" || die + dosym "../../opt/${P}/bin/${ver_i}" "/usr/bin/${ver_i}" + done + + # symlinks to switch components to active rust in eselect + dosym "../../../opt/${P}/lib" "/usr/lib/rust/lib-bin-${PV}" + dosym "../../../opt/${P}/man" "/usr/lib/rust/man-bin-${PV}" + dosym "../../opt/${P}/lib/rustlib" "/usr/lib/rustlib-bin-${PV}" + dosym "../../../opt/${P}/share/doc/rust" "/usr/share/doc/${P}" + + # make all capital underscored variable + local CARGO_TRIPLET="$(rust_abi)" + CARGO_TRIPLET="${CARGO_TRIPLET//-/_}" + CARGO_TRIPLET="${CARGO_TRIPLET^^}" + cat <<-_EOF_ > "${T}/50${P}" + LDPATH="${EPREFIX}/usr/lib/rust/lib-bin-${PV}" + MANPATH="${EPREFIX}/usr/lib/rust/man-bin-${PV}" + $(usev elibc_musl "CARGO_TARGET_${CARGO_TRIPLET}_RUSTFLAGS=\"-C target-feature=-crt-static\"") + _EOF_ + doenvd "${T}/50${P}" + + # note: eselect-rust adds EROOT to all paths below + cat <<-_EOF_ > "${T}/provider-${P}" + /usr/bin/cargo + /usr/bin/rustdoc + /usr/bin/rust-gdb + /usr/bin/rust-gdbgui + /usr/bin/rust-lldb + /usr/lib/rustlib + /usr/lib/rust/lib + /usr/lib/rust/man + /usr/share/doc/rust + _EOF_ + + if use clippy; then + echo /usr/bin/clippy-driver >> "${T}/provider-${P}" + echo /usr/bin/cargo-clippy >> "${T}/provider-${P}" + fi + if use rustfmt; then + echo /usr/bin/rustfmt >> "${T}/provider-${P}" + echo /usr/bin/cargo-fmt >> "${T}/provider-${P}" + fi + if use rust-analyzer; then + echo /usr/bin/rust-analyzer >> "${T}/provider-${P}" + fi + + insinto /etc/env.d/rust + doins "${T}/provider-${P}" + popd >/dev/null || die + #end native abi install + + else + local rust_target + rust_target="$(rust_abi $(get_abi_CHOST ${v##*.}))" + dodir "/opt/${P}/lib/rustlib" + cp -vr "${WORKDIR}/rust-${PV}-${rust_target}/rust-std-${rust_target}/lib/rustlib/${rust_target}"\ + "${ED}/opt/${P}/lib/rustlib" || die + fi + + # BUG: installs x86_64 binary on other arches + rm -f "${ED}/opt/${P}/lib/rustlib/"*/bin/rust-llvm-dwp || die +} + +pkg_postinst() { + eselect rust update + + elog "Rust installs a helper script for calling GDB now," + elog "for your convenience it is installed under /usr/bin/rust-gdb-bin-${PV}." + + if has_version app-editors/emacs; then + optfeature "emacs support for rust" app-emacs/rust-mode + fi + + if has_version app-editors/gvim || has_version app-editors/vim; then + optfeature "vim support for rust" app-vim/rust-vim + fi +} + +pkg_postrm() { + eselect rust cleanup +} diff --git a/dev-lang/rust-common/Manifest b/dev-lang/rust-common/Manifest new file mode 100644 index 000000000000..88ff26dbed31 --- /dev/null +++ b/dev-lang/rust-common/Manifest @@ -0,0 +1,4 @@ +DIST rustc-1.81.0-src.tar.xz 216743872 BLAKE2B d9f52da9092d0723c862ebbb2dc351cad0670be6872f691b4c9f36faf06803f072720ebd04f06745c355d807991b38312cc830b12d6d3f50b0574bb7325340b7 SHA512 b8a837ced521d2ca2c7f228a0640da591384519e4dbc1ae768524d50616da6abbd2f7bdae3777caebc0447dac91bf76481282ce5a2264d7f30e173caa6321a51 +DIST rustc-1.81.0-src.tar.xz.asc 801 BLAKE2B 01cd9f386d3fd73f4eb43b14d7d479ebababb8640abbff170e697817b94b8a18edd801c6047ecf3c084a0a51764c5e4f3f4bd6b00e8ae000ef0b850e9506572a SHA512 19c0da9d67f2bd9fd79a2078f0f486ee7fad5646a09a609b7e30d9531851955ae8df0ec69f9ddc09e2fd6e74d529648335b0fda833839c88c54c84494ec1988e +DIST rustc-1.82.0-src.tar.xz 219769328 BLAKE2B 611f33e134c2d459c9af1695c0a4d033df93afc986e91a17fceb0dd293fb4ffbd5f7475ef571d36cecf49da6c3fdb3801c98d7f72f9dd1c39e42502f649b192f SHA512 d158c7c71c1814bde2a3ec3cbeabe34949bd3201b730c0d7ec6baad4158bb28dd13696c430a6b99dc38b9d23ad7ddf8dde7d2487cbfbbbe9c3473016994210f0 +DIST rustc-1.82.0-src.tar.xz.asc 801 BLAKE2B 8138fb15b8d7ec15be45378fe663207a8e87e3c527348ab079995b1840a771ed6e9d5464eb8855ac9e006c0cfcf54b1a4fea489d31e6c9899cb03e6f4c737b67 SHA512 3cd6b27e72041baf9996efa10f25aca2e04f3e3727b60ecfd90c1bef9c52d216d2dc130802f935b110e35766645a27637a01661aa8d5acf02bf64b02a107c93c diff --git a/dev-lang/rust-common/metadata.xml b/dev-lang/rust-common/metadata.xml new file mode 100644 index 000000000000..b5c189c5f9b0 --- /dev/null +++ b/dev-lang/rust-common/metadata.xml @@ -0,0 +1,11 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="project"> + <email>rust@gentoo.org</email> + <name>Rust Project</name> + </maintainer> + <upstream> + <remote-id type="github">rust-lang/rust</remote-id> + </upstream> +</pkgmetadata> diff --git a/dev-lang/rust-common/rust-common-1.81.0.ebuild b/dev-lang/rust-common/rust-common-1.81.0.ebuild new file mode 100644 index 000000000000..fadef8ec46b5 --- /dev/null +++ b/dev-lang/rust-common/rust-common-1.81.0.ebuild @@ -0,0 +1,53 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit bash-completion-r1 + +DESCRIPTION="Common files shared between multiple slots of Rust" +HOMEPAGE="https://www.rust-lang.org/" + +if [[ ${PV} = *beta* ]]; then + betaver=${PV//*beta} + BETA_SNAPSHOT="${betaver:0:4}-${betaver:4:2}-${betaver:6:2}" + SRC="${BETA_SNAPSHOT}/rustc-beta-src.tar.xz -> rustc-${PV}-src.tar.xz" +else + ABI_VER="$(ver_cut 1-2)" + MY_P="rustc-${PV}" + SRC="${MY_P}-src.tar.xz" +fi + +SRC_URI=" + https://static.rust-lang.org/dist/${SRC} + verify-sig? ( https://static.rust-lang.org/dist/${SRC}.asc ) +" +S="${WORKDIR}/${MY_P}-src" + +LICENSE="|| ( MIT Apache-2.0 ) BSD BSD-1 BSD-2 BSD-4" +SLOT=0 +KEYWORDS="amd64 arm arm64 ~loong ~mips ppc ppc64 ~riscv sparc x86" +IUSE="verify-sig" + +RDEPEND=" + !dev-lang/rust:stable/1.71.1 + !dev-lang/rust:stable/1.74.1 + !dev-lang/rust:stable/1.75.0 + !dev-lang/rust:stable/1.77.1 + !dev-lang/rust:stable/1.79.0 + !dev-lang/rust:stable/1.80.1 + !dev-lang/rust:stable/1.81.0 + !dev-lang/rust:stable/1.82.0 +" + +src_configure() { + : +} + +src_compile() { + : +} + +src_install() { + newbashcomp src/tools/cargo/src/etc/cargo.bashcomp.sh cargo +} diff --git a/dev-lang/rust-common/rust-common-1.82.0.ebuild b/dev-lang/rust-common/rust-common-1.82.0.ebuild new file mode 100644 index 000000000000..c1d6b791917f --- /dev/null +++ b/dev-lang/rust-common/rust-common-1.82.0.ebuild @@ -0,0 +1,54 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit bash-completion-r1 + +DESCRIPTION="Common files shared between multiple slots of Rust" +HOMEPAGE="https://www.rust-lang.org/" + +if [[ ${PV} = *beta* ]]; then + betaver=${PV//*beta} + BETA_SNAPSHOT="${betaver:0:4}-${betaver:4:2}-${betaver:6:2}" + SRC="${BETA_SNAPSHOT}/rustc-beta-src.tar.xz -> rustc-${PV}-src.tar.xz" +else + ABI_VER="$(ver_cut 1-2)" + MY_P="rustc-${PV}" + SRC="${MY_P}-src.tar.xz" +fi + +SRC_URI=" + https://static.rust-lang.org/dist/${SRC} + verify-sig? ( https://static.rust-lang.org/dist/${SRC}.asc ) +" +S="${WORKDIR}/${MY_P}-src" + +LICENSE="|| ( MIT Apache-2.0 ) BSD BSD-1 BSD-2 BSD-4" +SLOT=0 +KEYWORDS="~amd64 ~arm ~arm64 ~loong ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86" +IUSE="verify-sig" + +# Legacy non-slotted versions bash completions will collide. +RDEPEND=" + !dev-lang/rust:stable/1.71.1 + !dev-lang/rust:stable/1.74.1 + !dev-lang/rust:stable/1.75.0 + !dev-lang/rust:stable/1.77.1 + !dev-lang/rust:stable/1.79.0 + !dev-lang/rust:stable/1.80.1 + !dev-lang/rust:stable/1.81.0 + !dev-lang/rust:stable/1.82.0 +" + +src_configure() { + : +} + +src_compile() { + : +} + +src_install() { + newbashcomp src/tools/cargo/src/etc/cargo.bashcomp.sh cargo +} diff --git a/dev-lang/rust/rust-1.71.1-r100.ebuild b/dev-lang/rust/rust-1.71.1-r100.ebuild new file mode 100644 index 000000000000..abec1d3edea7 --- /dev/null +++ b/dev-lang/rust/rust-1.71.1-r100.ebuild @@ -0,0 +1,734 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +LLVM_COMPAT=( 16 ) +PYTHON_COMPAT=( python3_{10..12} ) + +inherit check-reqs estack flag-o-matic llvm-r1 multiprocessing \ + multilib multilib-build python-any-r1 rust-toolchain toolchain-funcs verify-sig + +if [[ ${PV} = *beta* ]]; then + betaver=${PV//*beta} + BETA_SNAPSHOT="${betaver:0:4}-${betaver:4:2}-${betaver:6:2}" + MY_P="rustc-beta" + SRC="${BETA_SNAPSHOT}/rustc-beta-src.tar.xz -> rustc-${PV}-src.tar.xz" +else + MY_P="rustc-${PV}" + SRC="${MY_P}-src.tar.xz" + KEYWORDS="amd64 arm arm64 ~loong ~mips ppc ppc64 ~riscv sparc x86" +fi + +S="${WORKDIR}/${MY_P}-src" + +RUST_STAGE0_VERSION="1.$(($(ver_cut 2) - 1)).0" + +DESCRIPTION="Language empowering everyone to build reliable and efficient software" +HOMEPAGE="https://www.rust-lang.org/" + +SRC_URI=" + https://static.rust-lang.org/dist/${SRC} + verify-sig? ( https://static.rust-lang.org/dist/${SRC}.asc ) + !system-bootstrap? ( $(rust_all_arch_uris rust-${RUST_STAGE0_VERSION}) ) +" + +# keep in sync with llvm ebuild of the same version as bundled one. +ALL_LLVM_TARGETS=( AArch64 AMDGPU ARM AVR BPF Hexagon Lanai LoongArch Mips MSP430 + NVPTX PowerPC RISCV Sparc SystemZ VE WebAssembly X86 XCore ) +ALL_LLVM_TARGETS=( "${ALL_LLVM_TARGETS[@]/#/llvm_targets_}" ) +LLVM_TARGET_USEDEPS=${ALL_LLVM_TARGETS[@]/%/(-)?} + +LICENSE="|| ( MIT Apache-2.0 ) BSD BSD-1 BSD-2 BSD-4 UoI-NCSA" +SLOT="${PV}" + +IUSE="big-endian clippy cpu_flags_x86_sse2 debug dist doc llvm-libunwind +lto miri nightly parallel-compiler rustfmt rust-analyzer rust-src system-bootstrap system-llvm test wasm ${ALL_LLVM_TARGETS[*]}" + +LLVM_DEPEND=() +# splitting usedeps needed to avoid CI/pkgcheck's UncheckableDep limitation +for _x in "${ALL_LLVM_TARGETS[@]}"; do + LLVM_DEPEND+=( " ${_x}? ( $(llvm_gen_dep "sys-devel/llvm:\${LLVM_SLOT}[${_x}]") )" ) +done +LLVM_DEPEND+=( " wasm? ( $(llvm_gen_dep 'sys-devel/lld:${LLVM_SLOT}') )" ) +LLVM_DEPEND+=( " $(llvm_gen_dep 'sys-devel/llvm:${LLVM_SLOT}')" ) + +# to bootstrap we need at least exactly previous version, or same. +# most of the time previous versions fail to bootstrap with newer +# for example 1.47.x, requires at least 1.46.x, 1.47.x is ok, +# but it fails to bootstrap with 1.48.x +# https://github.com/rust-lang/rust/blob/${PV}/src/stage0.json +RUST_DEP_PREV="$(ver_cut 1).$(($(ver_cut 2) - 1))*" +RUST_DEP_CURR="$(ver_cut 1).$(ver_cut 2)*" +BOOTSTRAP_DEPEND="|| + ( + =dev-lang/rust-"${RUST_DEP_PREV}" + =dev-lang/rust-bin-"${RUST_DEP_PREV}" + =dev-lang/rust-"${RUST_DEP_CURR}" + =dev-lang/rust-bin-"${RUST_DEP_CURR}" + ) +" + +BDEPEND="${PYTHON_DEPS} + app-eselect/eselect-rust + || ( + >=sys-devel/gcc-4.7 + >=sys-devel/clang-3.5 + ) + system-bootstrap? ( ${BOOTSTRAP_DEPEND} ) + !system-llvm? ( + >=dev-build/cmake-3.13.4 + app-alternatives/ninja + ) + test? ( dev-debug/gdb ) + verify-sig? ( sec-keys/openpgp-keys-rust ) +" + +DEPEND=" + >=app-arch/xz-utils-5.2 + net-misc/curl:=[http2,ssl] + sys-libs/zlib:= + dev-libs/openssl:0= + system-llvm? ( + ${LLVM_DEPEND} + llvm-libunwind? ( sys-libs/llvm-libunwind:= ) + ) + !system-llvm? ( + !llvm-libunwind? ( + elibc_musl? ( sys-libs/libunwind:= ) + ) + ) +" + +RDEPEND="${DEPEND} + app-eselect/eselect-rust + dev-lang/rust-common + sys-apps/lsb-release + !dev-lang/rust:stable/1.71.1 + !dev-lang/rust:stable/1.74.1 + !dev-lang/rust:stable/1.75.0 + !dev-lang/rust:stable/1.77.1 + !dev-lang/rust:stable/1.79.0 + !dev-lang/rust:stable/1.80.1 + !dev-lang/rust:stable/1.81.0 + !dev-lang/rust:stable/1.82.0 +" + +REQUIRED_USE="|| ( ${ALL_LLVM_TARGETS[*]} ) + miri? ( nightly ) + parallel-compiler? ( nightly ) + rust-analyzer? ( rust-src ) + test? ( ${ALL_LLVM_TARGETS[*]} ) + wasm? ( llvm_targets_WebAssembly ) + x86? ( cpu_flags_x86_sse2 ) +" + +# we don't use cmake.eclass, but can get a warning +CMAKE_WARN_UNUSED_CLI=no + +QA_FLAGS_IGNORED=" + usr/lib/${PN}/${PV}/bin/.* + usr/lib/${PN}/${PV}/libexec/.* + usr/lib/${PN}/${PV}/lib/lib.*.so + usr/lib/${PN}/${PV}/lib/rustlib/.*/bin/.* + usr/lib/${PN}/${PV}/lib/rustlib/.*/lib/lib.*.so +" + +QA_SONAME=" + usr/lib/${PN}/${PV}/lib/lib.*.so.* + usr/lib/${PN}/${PV}/lib/rustlib/.*/lib/lib.*.so +" + +QA_PRESTRIPPED=" + usr/lib/${PN}/${PV}/lib/rustlib/.*/bin/rust-llvm-dwp + usr/lib/${PN}/${PV}/lib/rustlib/.*/lib/self-contained/crtn.o +" + +# An rmeta file is custom binary format that contains the metadata for the crate. +# rmeta files do not support linking, since they do not contain compiled object files. +# so we can safely silence the warning for this QA check. +QA_EXECSTACK="usr/lib/${PN}/${PV}/lib/rustlib/*/lib*.rlib:lib.rmeta" + +# causes double bootstrap +RESTRICT="test" + +VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/rust.asc + +PATCHES=( + "${FILESDIR}"/1.71.1-fix-bootstrap-version-comparison.patch + "${FILESDIR}"/1.70.0-ignore-broken-and-non-applicable-tests.patch + "${FILESDIR}"/1.62.1-musl-dynamic-linking.patch + "${FILESDIR}"/1.67.0-doc-wasm.patch +) + +toml_usex() { + usex "${1}" true false +} + +bootstrap_rust_version_check() { + # never call from pkg_pretend. eselect-rust may be not installed yet. + [[ ${MERGE_TYPE} == binary ]] && return + local rustc_wanted="$(ver_cut 1).$(($(ver_cut 2) - 1))" + local rustc_toonew="$(ver_cut 1).$(($(ver_cut 2) + 1))" + local rustc_version=( $(eselect --brief rust show 2>/dev/null) ) + rustc_version=${rustc_version[0]#rust-bin-} + rustc_version=${rustc_version#rust-} + + [[ -z "${rustc_version}" ]] && die "Failed to determine rust version, check 'eselect rust' output" + + if ver_test "${rustc_version}" -lt "${rustc_wanted}" ; then + eerror "Rust >=${rustc_wanted} is required" + eerror "please run 'eselect rust' and set correct rust version" + die "selected rust version is too old" + elif ver_test "${rustc_version}" -ge "${rustc_toonew}" ; then + eerror "Rust <${rustc_toonew} is required" + eerror "please run 'eselect rust' and set correct rust version" + die "selected rust version is too new" + else + einfo "Using rust ${rustc_version} to build" + fi +} + +pre_build_checks() { + local M=8192 + # multiply requirements by 1.3 if we are doing x86-multilib + if use amd64; then + M=$(( $(usex abi_x86_32 13 10) * ${M} / 10 )) + fi + M=$(( $(usex clippy 128 0) + ${M} )) + M=$(( $(usex miri 128 0) + ${M} )) + M=$(( $(usex rustfmt 256 0) + ${M} )) + # add 2G if we compile llvm and 256M per llvm_target + if ! use system-llvm; then + M=$(( 2048 + ${M} )) + local ltarget + for ltarget in ${ALL_LLVM_TARGETS[@]}; do + M=$(( $(usex ${ltarget} 256 0) + ${M} )) + done + fi + M=$(( $(usex wasm 256 0) + ${M} )) + M=$(( $(usex debug 2 1) * ${M} )) + eshopts_push -s extglob + if is-flagq '-g?(gdb)?([1-9])'; then + M=$(( 15 * ${M} / 10 )) + fi + eshopts_pop + M=$(( $(usex system-bootstrap 0 1024) + ${M} )) + M=$(( $(usex doc 256 0) + ${M} )) + CHECKREQS_DISK_BUILD=${M}M check-reqs_pkg_${EBUILD_PHASE} +} + +llvm_check_deps() { + has_version -r "sys-devel/llvm:${LLVM_SLOT}[${LLVM_TARGET_USEDEPS// /,}]" +} + +# Is LLVM being linked against libc++? +is_libcxx_linked() { + local code='#include <ciso646> +#if defined(_LIBCPP_VERSION) + HAVE_LIBCXX +#endif +' + local out=$($(tc-getCXX) ${CXXFLAGS} ${CPPFLAGS} -x c++ -E -P - <<<"${code}") || return 1 + [[ ${out} == *HAVE_LIBCXX* ]] +} + +pkg_pretend() { + pre_build_checks +} + +pkg_setup() { + pre_build_checks + python-any-r1_pkg_setup + + export LIBGIT2_NO_PKG_CONFIG=1 #749381 + + use system-bootstrap && bootstrap_rust_version_check + + if use system-llvm; then + llvm-r1_pkg_setup + + local llvm_config="$(get_llvm_prefix "${LLVM_SLOT}")/bin/llvm-config" + export LLVM_LINK_SHARED=1 + export RUSTFLAGS="${RUSTFLAGS} -Lnative=$("${llvm_config}" --libdir)" + fi +} + +esetup_unwind_hack() { + # https://bugs.gentoo.org/870280 + # this is a hack needed to bootstrap with libgcc_s linked tarball on llvm-libunwind system. + # it should trigger for internal bootstrap or system-bootstrap with rust-bin. + # the whole idea is for stage0 to bootstrap with fake libgcc_s. + # final stage will receive -L${T}/lib but not -lgcc_s args, producing clean compiler. + local fakelib="${T}/fakelib" + mkdir -p "${fakelib}" || die + # we need both symlinks, one for cargo runtime, other for linker. + ln -s "${ESYSROOT}/usr/lib/libunwind.so" "${fakelib}/libgcc_s.so.1" || die + ln -s "${ESYSROOT}/usr/lib/libunwind.so" "${fakelib}/libgcc_s.so" || die + export LD_LIBRARY_PATH="${fakelib}" + export RUSTFLAGS+=" -L${fakelib}" + # this is a literally magic variable that gets through cargo cache, without it some + # crates ignore RUSTFLAGS. + # this variable can not contain leading space. + export MAGIC_EXTRA_RUSTFLAGS+="${MAGIC_EXTRA_RUSTFLAGS:+ }-L${fakelib}" +} + +src_prepare() { + if ! use system-bootstrap; then + has_version sys-devel/gcc || esetup_unwind_hack + local rust_stage0_root="${WORKDIR}"/rust-stage0 + local rust_stage0="rust-${RUST_STAGE0_VERSION}-$(rust_abi)" + + "${WORKDIR}/${rust_stage0}"/install.sh --disable-ldconfig \ + --without=rust-docs-json-preview,rust-docs --destdir="${rust_stage0_root}" --prefix=/ || die + fi + + default +} + +src_configure() { + filter-lto # https://bugs.gentoo.org/862109 https://bugs.gentoo.org/866231 + + local rust_target="" rust_targets="" arch_cflags + + # Collect rust target names to compile standard libs for all ABIs. + for v in $(multilib_get_enabled_abi_pairs); do + rust_targets+=",\"$(rust_abi $(get_abi_CHOST ${v##*.}))\"" + done + if use wasm; then + rust_targets+=",\"wasm32-unknown-unknown\"" + if use system-llvm; then + # un-hardcode rust-lld linker for this target + # https://bugs.gentoo.org/715348 + sed -i '/linker:/ s/rust-lld/wasm-ld/' compiler/rustc_target/src/spec/wasm_base.rs || die + fi + fi + rust_targets="${rust_targets#,}" + + # cargo and rustdoc are mandatory and should always be included + local tools='"cargo","rustdoc", "rust-demangler"' + use clippy && tools+=',"clippy"' + use miri && tools+=',"miri"' + use rustfmt && tools+=',"rustfmt"' + use rust-analyzer && tools+=',"rust-analyzer"' + use rust-src && tools+=',"src"' + + local rust_stage0_root + if use system-bootstrap; then + local printsysroot + printsysroot="$(rustc --print sysroot || die "Can't determine rust's sysroot")" + rust_stage0_root="${printsysroot}" + else + rust_stage0_root="${WORKDIR}"/rust-stage0 + fi + # in case of prefix it will be already prefixed, as --print sysroot returns full path + [[ -d ${rust_stage0_root} ]] || die "${rust_stage0_root} is not a directory" + + rust_target="$(rust_abi)" + + local cm_btype="$(usex debug DEBUG RELEASE)" + cat <<- _EOF_ > "${S}"/config.toml + changelog-seen = 2 + [llvm] + download-ci-llvm = false + optimize = $(toml_usex !debug) + release-debuginfo = $(toml_usex debug) + assertions = $(toml_usex debug) + ninja = true + targets = "${LLVM_TARGETS// /;}" + experimental-targets = "" + link-shared = $(toml_usex system-llvm) + $(if is_libcxx_linked; then + # https://bugs.gentoo.org/732632 + echo "use-libcxx = true" + echo "static-libstdcpp = false" + fi) + $(case "${rust_target}" in + i586-*-linux-*) + # https://github.com/rust-lang/rust/issues/93059 + echo 'cflags = "-fcf-protection=none"' + echo 'cxxflags = "-fcf-protection=none"' + echo 'ldflags = "-fcf-protection=none"' + ;; + *) + ;; + esac) + enable-warnings = false + [llvm.build-config] + CMAKE_VERBOSE_MAKEFILE = "ON" + CMAKE_C_FLAGS_${cm_btype} = "${CFLAGS}" + CMAKE_CXX_FLAGS_${cm_btype} = "${CXXFLAGS}" + CMAKE_EXE_LINKER_FLAGS_${cm_btype} = "${LDFLAGS}" + CMAKE_MODULE_LINKER_FLAGS_${cm_btype} = "${LDFLAGS}" + CMAKE_SHARED_LINKER_FLAGS_${cm_btype} = "${LDFLAGS}" + CMAKE_STATIC_LINKER_FLAGS_${cm_btype} = "${ARFLAGS}" + [build] + build-stage = 2 + test-stage = 2 + build = "${rust_target}" + host = ["${rust_target}"] + target = [${rust_targets}] + cargo = "${rust_stage0_root}/bin/cargo" + rustc = "${rust_stage0_root}/bin/rustc" + rustfmt = "${rust_stage0_root}/bin/rustfmt" + docs = $(toml_usex doc) + compiler-docs = false + submodules = false + python = "${EPYTHON}" + locked-deps = true + vendor = true + extended = true + tools = [${tools}] + verbose = 2 + sanitizers = false + profiler = true + cargo-native-static = false + [install] + prefix = "${EPREFIX}/usr/lib/${PN}/${PV}" + sysconfdir = "etc" + docdir = "share/doc/rust" + bindir = "bin" + libdir = "lib" + mandir = "share/man" + [rust] + # https://github.com/rust-lang/rust/issues/54872 + codegen-units-std = 1 + optimize = true + debug = $(toml_usex debug) + debug-assertions = $(toml_usex debug) + debug-assertions-std = $(toml_usex debug) + debuginfo-level = $(usex debug 2 0) + debuginfo-level-rustc = $(usex debug 2 0) + debuginfo-level-std = $(usex debug 2 0) + debuginfo-level-tools = $(usex debug 2 0) + debuginfo-level-tests = 0 + backtrace = true + incremental = false + default-linker = "$(tc-getCC)" + parallel-compiler = $(toml_usex parallel-compiler) + channel = "$(usex nightly nightly stable)" + description = "gentoo" + rpath = false + verbose-tests = true + optimize-tests = $(toml_usex !debug) + codegen-tests = true + dist-src = false + remap-debuginfo = true + lld = $(usex system-llvm false $(toml_usex wasm)) + # only deny warnings if doc+wasm are NOT requested, documenting stage0 wasm std fails without it + # https://github.com/rust-lang/rust/issues/74976 + # https://github.com/rust-lang/rust/issues/76526 + deny-warnings = $(usex wasm $(usex doc false true) true) + backtrace-on-ice = true + jemalloc = false + lto = "$(usex lto fat off)" + [dist] + src-tarball = false + compression-formats = ["xz"] + compression-profile = "balanced" + _EOF_ + + for v in $(multilib_get_enabled_abi_pairs); do + rust_target=$(rust_abi $(get_abi_CHOST ${v##*.})) + arch_cflags="$(get_abi_CFLAGS ${v##*.})" + + export CFLAGS_${rust_target//-/_}="${arch_cflags}" + + cat <<- _EOF_ >> "${S}"/config.toml + [target.${rust_target}] + ar = "$(tc-getAR)" + cc = "$(tc-getCC)" + cxx = "$(tc-getCXX)" + linker = "$(tc-getCC)" + ranlib = "$(tc-getRANLIB)" + llvm-libunwind = "$(usex llvm-libunwind $(usex system-llvm system in-tree) no)" + _EOF_ + if use system-llvm; then + cat <<- _EOF_ >> "${S}"/config.toml + llvm-config = "$(get_llvm_prefix)/bin/llvm-config" + _EOF_ + fi + # by default librustc_target/spec/linux_musl_base.rs sets base.crt_static_default = true; + # but we patch it and set to false here as well + if use elibc_musl; then + cat <<- _EOF_ >> "${S}"/config.toml + crt-static = false + _EOF_ + fi + done + if use wasm; then + cat <<- _EOF_ >> "${S}"/config.toml + [target.wasm32-unknown-unknown] + linker = "$(usex system-llvm lld rust-lld)" + # wasm target does not have profiler_builtins https://bugs.gentoo.org/848483 + profiler = false + _EOF_ + fi + + if [[ -n ${I_KNOW_WHAT_I_AM_DOING_CROSS} ]]; then # whitespace intentionally shifted below + # experimental cross support + # discussion: https://bugs.gentoo.org/679878 + # TODO: c*flags, clang, system-llvm, cargo.eclass target support + # it would be much better if we could split out stdlib + # complilation to separate ebuild and abuse CATEGORY to + # just install to /usr/lib/rustlib/<target> + + # extra targets defined as a bash array + # spec format: <LLVM target>:<rust-target>:<CTARGET> + # best place would be /etc/portage/env/dev-lang/rust + # Example: + # RUST_CROSS_TARGETS=( + # "AArch64:aarch64-unknown-linux-gnu:aarch64-unknown-linux-gnu" + # ) + # no extra hand holding is done, no target transformations, all + # values are passed as-is with just basic checks, so it's up to user to supply correct values + # valid rust targets can be obtained with + # rustc --print target-list + # matching cross toolchain has to be installed + # matching LLVM_TARGET has to be enabled for both rust and llvm (if using system one) + # only gcc toolchains installed with crossdev are checked for now. + + # BUG: we can't pass host flags to cross compiler, so just filter for now + # BUG: this should be more fine-grained. + filter-flags '-mcpu=*' '-march=*' '-mtune=*' + + local cross_target_spec + for cross_target_spec in "${RUST_CROSS_TARGETS[@]}";do + # extracts first element form <LLVM target>:<rust-target>:<CTARGET> + local cross_llvm_target="${cross_target_spec%%:*}" + # extracts toolchain triples, <rust-target>:<CTARGET> + local cross_triples="${cross_target_spec#*:}" + # extracts first element after before : separator + local cross_rust_target="${cross_triples%%:*}" + # extracts last element after : separator + local cross_toolchain="${cross_triples##*:}" + use llvm_targets_${cross_llvm_target} || die "need llvm_targets_${cross_llvm_target} target enabled" + command -v ${cross_toolchain}-gcc > /dev/null 2>&1 || die "need ${cross_toolchain} cross toolchain" + + cat <<- _EOF_ >> "${S}"/config.toml + [target.${cross_rust_target}] + ar = "${cross_toolchain}-ar" + cc = "${cross_toolchain}-gcc" + cxx = "${cross_toolchain}-g++" + linker = "${cross_toolchain}-gcc" + ranlib = "${cross_toolchain}-ranlib" + _EOF_ + if use system-llvm; then + cat <<- _EOF_ >> "${S}"/config.toml + llvm-config = "$(get_llvm_prefix)/bin/llvm-config" + _EOF_ + fi + if [[ "${cross_toolchain}" == *-musl* ]]; then + cat <<- _EOF_ >> "${S}"/config.toml + musl-root = "$(${cross_toolchain}-gcc -print-sysroot)/usr" + _EOF_ + fi + + # append cross target to "normal" target list + # example 'target = ["powerpc64le-unknown-linux-gnu"]' + # becomes 'target = ["powerpc64le-unknown-linux-gnu","aarch64-unknown-linux-gnu"]' + + rust_targets="${rust_targets},\"${cross_rust_target}\"" + sed -i "/^target = \[/ s#\[.*\]#\[${rust_targets}\]#" config.toml || die + + ewarn + ewarn "Enabled ${cross_rust_target} rust target" + ewarn "Using ${cross_toolchain} cross toolchain" + ewarn + if ! has_version -b 'sys-devel/binutils[multitarget]' ; then + ewarn "'sys-devel/binutils[multitarget]' is not installed" + ewarn "'strip' will be unable to strip cross libraries" + ewarn "cross targets will be installed with full debug information" + ewarn "enable 'multitarget' USE flag for binutils to be able to strip object files" + ewarn + ewarn "Alternatively llvm-strip can be used, it supports stripping any target" + ewarn "define STRIP=\"llvm-strip\" to use it (experimental)" + ewarn + fi + done + fi # I_KNOW_WHAT_I_AM_DOING_CROSS + + einfo "Rust configured with the following flags:" + echo + echo RUSTFLAGS="\"${RUSTFLAGS}\"" + echo RUSTFLAGS_BOOTSTRAP="\"${RUSTFLAGS_BOOTSTRAP}\"" + echo RUSTFLAGS_NOT_BOOTSTRAP="\"${RUSTFLAGS_NOT_BOOTSTRAP}\"" + echo MAGIC_EXTRA_RUSTFLAGS="\"${MAGIC_EXTRA_RUSTFLAGS}\"" + env | grep "CARGO_TARGET_.*_RUSTFLAGS=" + env | grep "CFLAGS_.*" + echo + einfo "config.toml contents:" + cat "${S}"/config.toml || die + echo +} + +src_compile() { + RUST_BACKTRACE=1 "${EPYTHON}" ./x.py build -vvv --config="${S}"/config.toml -j$(makeopts_jobs) || die +} + +src_test() { + # https://rustc-dev-guide.rust-lang.org/tests/intro.html + + # those are basic and codegen tests. + local tests=( + codegen + codegen-units + compile-fail + incremental + mir-opt + pretty + run-make + ) + + # fails if llvm is not built with ALL targets. + # and known to fail with system llvm sometimes. + use system-llvm || tests+=( assembly ) + + # fragile/expensive/less important tests + # or tests that require extra builds + # TODO: instead of skipping, just make some nonfatal. + if [[ ${ERUST_RUN_EXTRA_TESTS:-no} != no ]]; then + tests+=( + rustdoc + rustdoc-js + rustdoc-js-std + rustdoc-ui + run-make-fulldeps + ui + ui-fulldeps + ) + fi + + local i failed=() + einfo "rust_src_test: enabled tests ${tests[@]/#/src/test/}" + for i in "${tests[@]}"; do + local t="src/test/${i}" + einfo "rust_src_test: running ${t}" + if ! RUST_BACKTRACE=1 "${EPYTHON}" ./x.py test -vv --config="${S}"/config.toml \ + -j$(makeopts_jobs) --no-doc --no-fail-fast "${t}" + then + failed+=( "${t}" ) + eerror "rust_src_test: ${t} failed" + fi + done + + if [[ ${#failed[@]} -ne 0 ]]; then + eerror "rust_src_test: failure summary: ${failed[@]}" + die "aborting due to test failures" + fi +} + +src_install() { + DESTDIR="${D}" "${EPYTHON}" ./x.py install -vv --config="${S}"/config.toml -j$(makeopts_jobs) || die + + # bug #689562, #689160 + rm -v "${ED}/usr/lib/${PN}/${PV}/etc/bash_completion.d/cargo" || die + rmdir -v "${ED}/usr/lib/${PN}/${PV}"/etc{/bash_completion.d,} || die + + local symlinks=( + cargo + rustc + rustdoc + rust-gdb + rust-gdbgui + rust-lldb + rust-demangler + ) + + use clippy && symlinks+=( clippy-driver cargo-clippy ) + use miri && symlinks+=( miri cargo-miri ) + use rustfmt && symlinks+=( rustfmt cargo-fmt ) + use rust-analyzer && symlinks+=( rust-analyzer ) + + einfo "installing eselect-rust symlinks and paths: ${symlinks[@]}" + local i + for i in "${symlinks[@]}"; do + # we need realpath on /usr/bin/* symlink return version-appended binary path. + # so /usr/bin/rustc should point to /usr/lib/rust/<ver>/bin/rustc-<ver> + # need to fix eselect-rust to remove this hack. + local ver_i="${i}-${PV}" + if [[ -f "${ED}/usr/lib/${PN}/${PV}/bin/${i}" ]]; then + einfo "Installing ${i} symlink" + ln -v "${ED}/usr/lib/${PN}/${PV}/bin/${i}" "${ED}/usr/lib/${PN}/${PV}/bin/${ver_i}" || die + else + ewarn "${i} symlink requested, but source file not found" + ewarn "please report this" + fi + dosym "../lib/${PN}/${PV}/bin/${ver_i}" "/usr/bin/${ver_i}" + done + + # symlinks to switch components to active rust in eselect + dosym "${PV}/lib" "/usr/lib/${PN}/lib-${PV}" + dosym "${PV}/libexec" "/usr/lib/${PN}/libexec-${PV}" + dosym "${PV}/share/man" "/usr/lib/${PN}/man-${PV}" + dosym "rust/${PV}/lib/rustlib" "/usr/lib/rustlib-${PV}" + dosym "../../lib/${PN}/${PV}/share/doc/rust" "/usr/share/doc/${P}" + + newenvd - "50${P}" <<-_EOF_ + LDPATH="${EPREFIX}/usr/lib/rust/lib-${PV}" + MANPATH="${EPREFIX}/usr/lib/rust/man-${PV}" + _EOF_ + + rm -rf "${ED}/usr/lib/${PN}/${PV}"/*.old || die + rm -rf "${ED}/usr/lib/${PN}/${PV}/bin"/*.old || die + rm -rf "${ED}/usr/lib/${PN}/${PV}/doc"/*.old || die + + # note: eselect-rust adds EROOT to all paths below + cat <<-_EOF_ > "${T}/provider-${P}" + /usr/bin/cargo + /usr/bin/rustdoc + /usr/bin/rust-demangler + /usr/bin/rust-gdb + /usr/bin/rust-gdbgui + /usr/bin/rust-lldb + /usr/lib/rustlib + /usr/lib/rust/lib + /usr/lib/rust/libexec + /usr/lib/rust/man + /usr/share/doc/rust + _EOF_ + + if use clippy; then + echo /usr/bin/clippy-driver >> "${T}/provider-${P}" + echo /usr/bin/cargo-clippy >> "${T}/provider-${P}" + fi + if use miri; then + echo /usr/bin/miri >> "${T}/provider-${P}" + echo /usr/bin/cargo-miri >> "${T}/provider-${P}" + fi + if use rustfmt; then + echo /usr/bin/rustfmt >> "${T}/provider-${P}" + echo /usr/bin/cargo-fmt >> "${T}/provider-${P}" + fi + if use rust-analyzer; then + echo /usr/bin/rust-analyzer >> "${T}/provider-${P}" + fi + + insinto /etc/env.d/rust + doins "${T}/provider-${P}" + + if use dist; then + insinto "/usr/lib/${PN}/${PV}/dist" + doins -r "${S}/build/dist/." + fi +} + +pkg_postinst() { + eselect rust update + + if has_version dev-debug/gdb || has_version dev-debug/lldb; then + elog "Rust installs a helper script for calling GDB and LLDB," + elog "for your convenience it is installed under /usr/bin/rust-{gdb,lldb}-${PV}." + fi + + if has_version app-editors/emacs; then + elog "install app-emacs/rust-mode to get emacs support for rust." + fi + + if has_version app-editors/gvim || has_version app-editors/vim; then + elog "install app-vim/rust-vim to get vim support for rust." + fi +} + +pkg_postrm() { + eselect rust cleanup +} diff --git a/dev-lang/rust/rust-1.74.1-r100.ebuild b/dev-lang/rust/rust-1.74.1-r100.ebuild new file mode 100644 index 000000000000..48efa65873f4 --- /dev/null +++ b/dev-lang/rust/rust-1.74.1-r100.ebuild @@ -0,0 +1,770 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +LLVM_COMPAT=( 17 ) +PYTHON_COMPAT=( python3_{10..12} ) + +inherit check-reqs estack flag-o-matic llvm-r1 multiprocessing \ + multilib multilib-build python-any-r1 rust-toolchain toolchain-funcs verify-sig + +if [[ ${PV} = *beta* ]]; then + betaver=${PV//*beta} + BETA_SNAPSHOT="${betaver:0:4}-${betaver:4:2}-${betaver:6:2}" + MY_P="rustc-beta" + SRC="${BETA_SNAPSHOT}/rustc-beta-src.tar.xz -> rustc-${PV}-src.tar.xz" +else + MY_P="rustc-${PV}" + SRC="${MY_P}-src.tar.xz" + KEYWORDS="amd64 arm arm64 ~loong ppc ppc64 ~riscv sparc x86" +fi + +RUST_STAGE0_VERSION="1.$(($(ver_cut 2) - 1)).0" + +DESCRIPTION="Language empowering everyone to build reliable and efficient software" +HOMEPAGE="https://www.rust-lang.org/" + +SRC_URI=" + https://static.rust-lang.org/dist/${SRC} + verify-sig? ( https://static.rust-lang.org/dist/${SRC}.asc ) + !system-bootstrap? ( $(rust_all_arch_uris rust-${RUST_STAGE0_VERSION}) ) +" + +S="${WORKDIR}/${MY_P}-src" + +# keep in sync with llvm ebuild of the same version as bundled one. +ALL_LLVM_TARGETS=( AArch64 AMDGPU ARC ARM AVR BPF CSKY DirectX Hexagon Lanai + LoongArch M68k Mips MSP430 NVPTX PowerPC RISCV Sparc SPIRV SystemZ VE + WebAssembly X86 XCore Xtensa ) +ALL_LLVM_TARGETS=( "${ALL_LLVM_TARGETS[@]/#/llvm_targets_}" ) +LLVM_TARGET_USEDEPS=${ALL_LLVM_TARGETS[@]/%/(-)?} + +LICENSE="|| ( MIT Apache-2.0 ) BSD BSD-1 BSD-2 BSD-4" +SLOT="${PV}" + +IUSE="big-endian clippy cpu_flags_x86_sse2 debug dist doc llvm-libunwind +lto miri nightly parallel-compiler rustfmt rust-analyzer rust-src system-bootstrap system-llvm test wasm ${ALL_LLVM_TARGETS[*]}" + +LLVM_DEPEND=() +# splitting usedeps needed to avoid CI/pkgcheck's UncheckableDep limitation +for _x in "${ALL_LLVM_TARGETS[@]}"; do + LLVM_DEPEND+=( " ${_x}? ( $(llvm_gen_dep "sys-devel/llvm:\${LLVM_SLOT}[${_x}]") )" ) +done +LLVM_DEPEND+=( " wasm? ( $(llvm_gen_dep 'sys-devel/lld:${LLVM_SLOT}') )" ) +LLVM_DEPEND+=( " $(llvm_gen_dep 'sys-devel/llvm:${LLVM_SLOT}')" ) + +# to bootstrap we need at least exactly previous version, or same. +# most of the time previous versions fail to bootstrap with newer +# for example 1.47.x, requires at least 1.46.x, 1.47.x is ok, +# but it fails to bootstrap with 1.48.x +# https://github.com/rust-lang/rust/blob/${PV}/src/stage0.json +RUST_DEP_PREV="$(ver_cut 1).$(($(ver_cut 2) - 1))*" +RUST_DEP_CURR="$(ver_cut 1).$(ver_cut 2)*" +BOOTSTRAP_DEPEND="|| + ( + =dev-lang/rust-"${RUST_DEP_PREV}" + =dev-lang/rust-bin-"${RUST_DEP_PREV}" + =dev-lang/rust-"${RUST_DEP_CURR}" + =dev-lang/rust-bin-"${RUST_DEP_CURR}" + ) +" + +BDEPEND="${PYTHON_DEPS} + app-eselect/eselect-rust + || ( + >=sys-devel/gcc-4.7 + >=sys-devel/clang-3.5 + ) + system-bootstrap? ( ${BOOTSTRAP_DEPEND} ) + !system-llvm? ( + >=dev-build/cmake-3.13.4 + app-alternatives/ninja + ) + test? ( dev-debug/gdb ) + verify-sig? ( sec-keys/openpgp-keys-rust ) +" + +DEPEND=" + >=app-arch/xz-utils-5.2 + net-misc/curl:=[http2,ssl] + sys-libs/zlib:= + dev-libs/openssl:0= + system-llvm? ( + ${LLVM_DEPEND} + llvm-libunwind? ( sys-libs/llvm-libunwind:= ) + ) + !system-llvm? ( + !llvm-libunwind? ( + elibc_musl? ( sys-libs/libunwind:= ) + ) + ) +" + +RDEPEND="${DEPEND} + app-eselect/eselect-rust + dev-lang/rust-common + sys-apps/lsb-release + !dev-lang/rust:stable/1.71.1 + !dev-lang/rust:stable/1.74.1 + !dev-lang/rust:stable/1.75.0 + !dev-lang/rust:stable/1.77.1 + !dev-lang/rust:stable/1.79.0 + !dev-lang/rust:stable/1.80.1 + !dev-lang/rust:stable/1.81.0 + !dev-lang/rust:stable/1.82.0 +" + +REQUIRED_USE="|| ( ${ALL_LLVM_TARGETS[*]} ) + miri? ( nightly ) + parallel-compiler? ( nightly ) + rust-analyzer? ( rust-src ) + test? ( ${ALL_LLVM_TARGETS[*]} ) + wasm? ( llvm_targets_WebAssembly ) + x86? ( cpu_flags_x86_sse2 ) +" + +# we don't use cmake.eclass, but can get a warning +CMAKE_WARN_UNUSED_CLI=no + +QA_FLAGS_IGNORED=" + usr/lib/${PN}/${PV}/bin/.* + usr/lib/${PN}/${PV}/libexec/.* + usr/lib/${PN}/${PV}/lib/lib.*.so + usr/lib/${PN}/${PV}/lib/rustlib/.*/bin/.* + usr/lib/${PN}/${PV}/lib/rustlib/.*/lib/lib.*.so +" + +QA_SONAME=" + usr/lib/${PN}/${PV}/lib/lib.*.so.* + usr/lib/${PN}/${PV}/lib/rustlib/.*/lib/lib.*.so +" + +QA_PRESTRIPPED=" + usr/lib/${PN}/${PV}/lib/rustlib/.*/bin/rust-llvm-dwp + usr/lib/${PN}/${PV}/lib/rustlib/.*/lib/self-contained/crtn.o +" + +# An rmeta file is custom binary format that contains the metadata for the crate. +# rmeta files do not support linking, since they do not contain compiled object files. +# so we can safely silence the warning for this QA check. +QA_EXECSTACK="usr/lib/${PN}/${PV}/lib/rustlib/*/lib*.rlib:lib.rmeta" + +# causes double bootstrap +RESTRICT="test" + +VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/rust.asc + +PATCHES=( + "${FILESDIR}"/1.74.1-cross-compile-libz.patch + #"${FILESDIR}"/1.72.0-bump-libc-deps-to-0.2.146.patch # pending refresh + "${FILESDIR}"/1.70.0-ignore-broken-and-non-applicable-tests.patch + "${FILESDIR}"/1.62.1-musl-dynamic-linking.patch + "${FILESDIR}"/1.67.0-doc-wasm.patch +) + +clear_vendor_checksums() { + sed -i 's/\("files":{\)[^}]*/\1/' "vendor/${1}/.cargo-checksum.json" || die +} + +toml_usex() { + usex "${1}" true false +} + +bootstrap_rust_version_check() { + # never call from pkg_pretend. eselect-rust may be not installed yet. + [[ ${MERGE_TYPE} == binary ]] && return + local rustc_wanted="$(ver_cut 1).$(($(ver_cut 2) - 1))" + local rustc_toonew="$(ver_cut 1).$(($(ver_cut 2) + 1))" + local rustc_version=( $(eselect --brief --root="${BROOT}" rust show 2>/dev/null) ) + rustc_version=${rustc_version[0]#rust-bin-} + rustc_version=${rustc_version#rust-} + + [[ -z "${rustc_version}" ]] && die "Failed to determine rust version, check 'eselect rust' output" + + if ver_test "${rustc_version}" -lt "${rustc_wanted}" ; then + eerror "Rust >=${rustc_wanted} is required" + eerror "please run 'eselect rust' and set correct rust version" + die "selected rust version is too old" + elif ver_test "${rustc_version}" -ge "${rustc_toonew}" ; then + eerror "Rust <${rustc_toonew} is required" + eerror "please run 'eselect rust' and set correct rust version" + die "selected rust version is too new" + else + einfo "Using rust ${rustc_version} to build" + fi +} + +pre_build_checks() { + local M=8192 + # multiply requirements by 1.3 if we are doing x86-multilib + if use amd64; then + M=$(( $(usex abi_x86_32 13 10) * ${M} / 10 )) + fi + M=$(( $(usex clippy 128 0) + ${M} )) + M=$(( $(usex miri 128 0) + ${M} )) + M=$(( $(usex rustfmt 256 0) + ${M} )) + # add 2G if we compile llvm and 256M per llvm_target + if ! use system-llvm; then + M=$(( 2048 + ${M} )) + local ltarget + for ltarget in ${ALL_LLVM_TARGETS[@]}; do + M=$(( $(usex ${ltarget} 256 0) + ${M} )) + done + fi + M=$(( $(usex wasm 256 0) + ${M} )) + M=$(( $(usex debug 2 1) * ${M} )) + eshopts_push -s extglob + if is-flagq '-g?(gdb)?([1-9])'; then + M=$(( 15 * ${M} / 10 )) + fi + eshopts_pop + M=$(( $(usex system-bootstrap 0 1024) + ${M} )) + M=$(( $(usex doc 256 0) + ${M} )) + CHECKREQS_DISK_BUILD=${M}M check-reqs_pkg_${EBUILD_PHASE} +} + +llvm_check_deps() { + has_version -r "sys-devel/llvm:${LLVM_SLOT}[${LLVM_TARGET_USEDEPS// /,}]" +} + +# Is LLVM being linked against libc++? +is_libcxx_linked() { + local code='#include <ciso646> +#if defined(_LIBCPP_VERSION) + HAVE_LIBCXX +#endif +' + local out=$($(tc-getCXX) ${CXXFLAGS} ${CPPFLAGS} -x c++ -E -P - <<<"${code}") || return 1 + [[ ${out} == *HAVE_LIBCXX* ]] +} + +pkg_pretend() { + pre_build_checks +} + +pkg_setup() { + pre_build_checks + python-any-r1_pkg_setup + + export LIBGIT2_NO_PKG_CONFIG=1 #749381 + if tc-is-cross-compiler; then + export PKG_CONFIG_ALLOW_CROSS=1 + export PKG_CONFIG_PATH="${ROOT}/usr/$(get_libdir)/pkgconfig" + export OPENSSL_INCLUDE_DIR="${ROOT}/usr/include" + export OPENSSL_LIB_DIR="${ROOT}/usr/$(get_libdir)" + + use system-bootstrap || die "USE=system-bootstrap is required when cross-compiling" + use system-llvm && die "USE=system-llvm not allowed when cross-compiling" + local cross_llvm_target="$(llvm_tuple_to_target "${CBUILD}")" + use "llvm_targets_${cross_llvm_target}" || \ + die "Must enable LLVM_TARGETS=${cross_llvm_target} matching CBUILD=${CBUILD} when cross-compiling" + fi + + use system-bootstrap && bootstrap_rust_version_check + + if use system-llvm; then + llvm-r1_pkg_setup + + local llvm_config="$(get_llvm_prefix "${LLVM_SLOT}")/bin/llvm-config" + export LLVM_LINK_SHARED=1 + export RUSTFLAGS="${RUSTFLAGS} -Lnative=$("${llvm_config}" --libdir)" + fi +} + +esetup_unwind_hack() { + # https://bugs.gentoo.org/870280 + # this is a hack needed to bootstrap with libgcc_s linked tarball on llvm-libunwind system. + # it should trigger for internal bootstrap or system-bootstrap with rust-bin. + # the whole idea is for stage0 to bootstrap with fake libgcc_s. + # final stage will receive -L${T}/lib but not -lgcc_s args, producing clean compiler. + local fakelib="${T}/fakelib" + mkdir -p "${fakelib}" || die + # we need both symlinks, one for cargo runtime, other for linker. + ln -s "${ESYSROOT}/usr/lib/libunwind.so" "${fakelib}/libgcc_s.so.1" || die + ln -s "${ESYSROOT}/usr/lib/libunwind.so" "${fakelib}/libgcc_s.so" || die + export LD_LIBRARY_PATH="${fakelib}" + export RUSTFLAGS+=" -L${fakelib}" + # this is a literally magic variable that gets through cargo cache, without it some + # crates ignore RUSTFLAGS. + # this variable can not contain leading space. + export MAGIC_EXTRA_RUSTFLAGS+="${MAGIC_EXTRA_RUSTFLAGS:+ }-L${fakelib}" +} + +src_prepare() { + # Clear vendor checksums for crates that we patched to bump libc. + # NOTE: refresh this on each bump. + #for i in addr2line-0.20.0 bstr cranelift-jit crossbeam-channel elasticlunr-rs handlebars icu_locid libffi \ + # terminal_size tracing-tree; do + # clear_vendor_checksums "${i}" + #done + + if ! use system-bootstrap; then + has_version sys-devel/gcc || esetup_unwind_hack + local rust_stage0_root="${WORKDIR}"/rust-stage0 + local rust_stage0="rust-${RUST_STAGE0_VERSION}-$(rust_abi "${CBUILD}")" + + "${WORKDIR}/${rust_stage0}"/install.sh --disable-ldconfig \ + --without=rust-docs-json-preview,rust-docs --destdir="${rust_stage0_root}" --prefix=/ || die + fi + + default +} + +src_configure() { + filter-lto # https://bugs.gentoo.org/862109 https://bugs.gentoo.org/866231 + + local rust_target="" rust_targets="" arch_cflags + + # Collect rust target names to compile standard libs for all ABIs. + for v in $(multilib_get_enabled_abi_pairs); do + rust_targets+=",\"$(rust_abi $(get_abi_CHOST ${v##*.}))\"" + done + if use wasm; then + rust_targets+=",\"wasm32-unknown-unknown\"" + if use system-llvm; then + # un-hardcode rust-lld linker for this target + # https://bugs.gentoo.org/715348 + sed -i '/linker:/ s/rust-lld/wasm-ld/' compiler/rustc_target/src/spec/wasm_base.rs || die + fi + fi + rust_targets="${rust_targets#,}" + + # cargo and rustdoc are mandatory and should always be included + local tools='"cargo","rustdoc", "rust-demangler"' + use clippy && tools+=',"clippy"' + use miri && tools+=',"miri"' + use rustfmt && tools+=',"rustfmt"' + use rust-analyzer && tools+=',"rust-analyzer"' + use rust-src && tools+=',"src"' + + local rust_stage0_root + if use system-bootstrap; then + local printsysroot + printsysroot="$(rustc --print sysroot || die "Can't determine rust's sysroot")" + rust_stage0_root="${printsysroot}" + else + rust_stage0_root="${WORKDIR}"/rust-stage0 + fi + # in case of prefix it will be already prefixed, as --print sysroot returns full path + [[ -d ${rust_stage0_root} ]] || die "${rust_stage0_root} is not a directory" + + rust_target="$(rust_abi)" + rust_build="$(rust_abi "${CBUILD}")" + rust_host="$(rust_abi "${CHOST}")" + + local cm_btype="$(usex debug DEBUG RELEASE)" + cat <<- _EOF_ > "${S}"/config.toml + changelog-seen = 2 + [llvm] + download-ci-llvm = false + optimize = $(toml_usex !debug) + release-debuginfo = $(toml_usex debug) + assertions = $(toml_usex debug) + ninja = true + targets = "${LLVM_TARGETS// /;}" + experimental-targets = "" + link-shared = $(toml_usex system-llvm) + $(if is_libcxx_linked; then + # https://bugs.gentoo.org/732632 + echo "use-libcxx = true" + echo "static-libstdcpp = false" + fi) + $(case "${rust_target}" in + i586-*-linux-*) + # https://github.com/rust-lang/rust/issues/93059 + echo 'cflags = "-fcf-protection=none"' + echo 'cxxflags = "-fcf-protection=none"' + echo 'ldflags = "-fcf-protection=none"' + ;; + *) + ;; + esac) + enable-warnings = false + [llvm.build-config] + CMAKE_VERBOSE_MAKEFILE = "ON" + $(if ! tc-is-cross-compiler; then + # When cross-compiling, LLVM is compiled twice, once for host and + # once for target. Unfortunately, this build configuration applies + # to both, which means any flags applicable to one target but not + # the other will break. Conditionally disable respecting user + # flags when cross-compiling. + echo "CMAKE_C_FLAGS_${cm_btype} = \"${CFLAGS}\"" + echo "CMAKE_CXX_FLAGS_${cm_btype} = \"${CXXFLAGS}\"" + echo "CMAKE_EXE_LINKER_FLAGS_${cm_btype} = \"${LDFLAGS}\"" + echo "CMAKE_MODULE_LINKER_FLAGS_${cm_btype} = \"${LDFLAGS}\"" + echo "CMAKE_SHARED_LINKER_FLAGS_${cm_btype} = \"${LDFLAGS}\"" + echo "CMAKE_STATIC_LINKER_FLAGS_${cm_btype} = \"${ARFLAGS}\"" + fi) + [build] + build-stage = 2 + test-stage = 2 + build = "${rust_build}" + host = ["${rust_host}"] + target = [${rust_targets}] + cargo = "${rust_stage0_root}/bin/cargo" + rustc = "${rust_stage0_root}/bin/rustc" + rustfmt = "${rust_stage0_root}/bin/rustfmt" + docs = $(toml_usex doc) + compiler-docs = false + submodules = false + python = "${EPYTHON}" + locked-deps = true + vendor = true + extended = true + tools = [${tools}] + verbose = 2 + sanitizers = false + profiler = true + cargo-native-static = false + [install] + prefix = "${EPREFIX}/usr/lib/${PN}/${PV}" + sysconfdir = "etc" + docdir = "share/doc/rust" + bindir = "bin" + libdir = "lib" + mandir = "share/man" + [rust] + # https://github.com/rust-lang/rust/issues/54872 + codegen-units-std = 1 + optimize = true + debug = $(toml_usex debug) + debug-assertions = $(toml_usex debug) + debug-assertions-std = $(toml_usex debug) + debuginfo-level = $(usex debug 2 0) + debuginfo-level-rustc = $(usex debug 2 0) + debuginfo-level-std = $(usex debug 2 0) + debuginfo-level-tools = $(usex debug 2 0) + debuginfo-level-tests = 0 + backtrace = true + incremental = false + $(if ! tc-is-cross-compiler; then + echo "default-linker = \"$(tc-getCC)\"" + fi) + parallel-compiler = $(toml_usex parallel-compiler) + channel = "$(usex nightly nightly stable)" + description = "gentoo" + rpath = false + verbose-tests = true + optimize-tests = $(toml_usex !debug) + codegen-tests = true + dist-src = false + remap-debuginfo = true + lld = $(usex system-llvm false $(toml_usex wasm)) + # only deny warnings if doc+wasm are NOT requested, documenting stage0 wasm std fails without it + # https://github.com/rust-lang/rust/issues/74976 + # https://github.com/rust-lang/rust/issues/76526 + deny-warnings = $(usex wasm $(usex doc false true) true) + backtrace-on-ice = true + jemalloc = false + lto = "$(usex lto fat off)" + [dist] + src-tarball = false + compression-formats = ["xz"] + compression-profile = "balanced" + _EOF_ + + for v in $(multilib_get_enabled_abi_pairs); do + rust_target=$(rust_abi $(get_abi_CHOST ${v##*.})) + arch_cflags="$(get_abi_CFLAGS ${v##*.})" + + export CFLAGS_${rust_target//-/_}="${arch_cflags}" + + cat <<- _EOF_ >> "${S}"/config.toml + [target.${rust_target}] + ar = "$(tc-getAR)" + cc = "$(tc-getCC)" + cxx = "$(tc-getCXX)" + linker = "$(tc-getCC)" + ranlib = "$(tc-getRANLIB)" + llvm-libunwind = "$(usex llvm-libunwind $(usex system-llvm system in-tree) no)" + _EOF_ + if use system-llvm; then + cat <<- _EOF_ >> "${S}"/config.toml + llvm-config = "$(get_llvm_prefix)/bin/llvm-config" + _EOF_ + fi + # by default librustc_target/spec/linux_musl_base.rs sets base.crt_static_default = true; + # but we patch it and set to false here as well + if use elibc_musl; then + cat <<- _EOF_ >> "${S}"/config.toml + crt-static = false + _EOF_ + fi + done + if use wasm; then + cat <<- _EOF_ >> "${S}"/config.toml + [target.wasm32-unknown-unknown] + linker = "$(usex system-llvm lld rust-lld)" + # wasm target does not have profiler_builtins https://bugs.gentoo.org/848483 + profiler = false + _EOF_ + fi + + if [[ -n ${I_KNOW_WHAT_I_AM_DOING_CROSS} ]]; then # whitespace intentionally shifted below + # experimental cross support + # discussion: https://bugs.gentoo.org/679878 + # TODO: c*flags, clang, system-llvm, cargo.eclass target support + # it would be much better if we could split out stdlib + # complilation to separate ebuild and abuse CATEGORY to + # just install to /usr/lib/rustlib/<target> + + # extra targets defined as a bash array + # spec format: <LLVM target>:<rust-target>:<CTARGET> + # best place would be /etc/portage/env/dev-lang/rust + # Example: + # RUST_CROSS_TARGETS=( + # "AArch64:aarch64-unknown-linux-gnu:aarch64-unknown-linux-gnu" + # ) + # no extra hand holding is done, no target transformations, all + # values are passed as-is with just basic checks, so it's up to user to supply correct values + # valid rust targets can be obtained with + # rustc --print target-list + # matching cross toolchain has to be installed + # matching LLVM_TARGET has to be enabled for both rust and llvm (if using system one) + # only gcc toolchains installed with crossdev are checked for now. + + # BUG: we can't pass host flags to cross compiler, so just filter for now + # BUG: this should be more fine-grained. + filter-flags '-mcpu=*' '-march=*' '-mtune=*' + + local cross_target_spec + for cross_target_spec in "${RUST_CROSS_TARGETS[@]}";do + # extracts first element form <LLVM target>:<rust-target>:<CTARGET> + local cross_llvm_target="${cross_target_spec%%:*}" + # extracts toolchain triples, <rust-target>:<CTARGET> + local cross_triples="${cross_target_spec#*:}" + # extracts first element after before : separator + local cross_rust_target="${cross_triples%%:*}" + # extracts last element after : separator + local cross_toolchain="${cross_triples##*:}" + use llvm_targets_${cross_llvm_target} || die "need llvm_targets_${cross_llvm_target} target enabled" + command -v ${cross_toolchain}-gcc > /dev/null 2>&1 || die "need ${cross_toolchain} cross toolchain" + + cat <<- _EOF_ >> "${S}"/config.toml + [target.${cross_rust_target}] + ar = "${cross_toolchain}-ar" + cc = "${cross_toolchain}-gcc" + cxx = "${cross_toolchain}-g++" + linker = "${cross_toolchain}-gcc" + ranlib = "${cross_toolchain}-ranlib" + _EOF_ + if use system-llvm; then + cat <<- _EOF_ >> "${S}"/config.toml + llvm-config = "$(get_llvm_prefix)/bin/llvm-config" + _EOF_ + fi + if [[ "${cross_toolchain}" == *-musl* ]]; then + cat <<- _EOF_ >> "${S}"/config.toml + musl-root = "$(${cross_toolchain}-gcc -print-sysroot)/usr" + _EOF_ + fi + + # append cross target to "normal" target list + # example 'target = ["powerpc64le-unknown-linux-gnu"]' + # becomes 'target = ["powerpc64le-unknown-linux-gnu","aarch64-unknown-linux-gnu"]' + + rust_targets="${rust_targets},\"${cross_rust_target}\"" + sed -i "/^target = \[/ s#\[.*\]#\[${rust_targets}\]#" config.toml || die + + ewarn + ewarn "Enabled ${cross_rust_target} rust target" + ewarn "Using ${cross_toolchain} cross toolchain" + ewarn + if ! has_version -b 'sys-devel/binutils[multitarget]' ; then + ewarn "'sys-devel/binutils[multitarget]' is not installed" + ewarn "'strip' will be unable to strip cross libraries" + ewarn "cross targets will be installed with full debug information" + ewarn "enable 'multitarget' USE flag for binutils to be able to strip object files" + ewarn + ewarn "Alternatively llvm-strip can be used, it supports stripping any target" + ewarn "define STRIP=\"llvm-strip\" to use it (experimental)" + ewarn + fi + done + fi # I_KNOW_WHAT_I_AM_DOING_CROSS + + einfo "Rust configured with the following flags:" + echo + echo RUSTFLAGS="\"${RUSTFLAGS}\"" + echo RUSTFLAGS_BOOTSTRAP="\"${RUSTFLAGS_BOOTSTRAP}\"" + echo RUSTFLAGS_NOT_BOOTSTRAP="\"${RUSTFLAGS_NOT_BOOTSTRAP}\"" + echo MAGIC_EXTRA_RUSTFLAGS="\"${MAGIC_EXTRA_RUSTFLAGS}\"" + env | grep "CARGO_TARGET_.*_RUSTFLAGS=" + env | grep "CFLAGS_.*" + echo + einfo "config.toml contents:" + cat "${S}"/config.toml || die + echo +} + +src_compile() { + RUST_BACKTRACE=1 "${EPYTHON}" ./x.py build -vvv --config="${S}"/config.toml -j$(makeopts_jobs) || die +} + +src_test() { + # https://rustc-dev-guide.rust-lang.org/tests/intro.html + + # those are basic and codegen tests. + local tests=( + codegen + codegen-units + compile-fail + incremental + mir-opt + pretty + run-make + ) + + # fails if llvm is not built with ALL targets. + # and known to fail with system llvm sometimes. + use system-llvm || tests+=( assembly ) + + # fragile/expensive/less important tests + # or tests that require extra builds + # TODO: instead of skipping, just make some nonfatal. + if [[ ${ERUST_RUN_EXTRA_TESTS:-no} != no ]]; then + tests+=( + rustdoc + rustdoc-js + rustdoc-js-std + rustdoc-ui + run-make-fulldeps + ui + ui-fulldeps + ) + fi + + local i failed=() + einfo "rust_src_test: enabled tests ${tests[@]/#/src/test/}" + for i in "${tests[@]}"; do + local t="src/test/${i}" + einfo "rust_src_test: running ${t}" + if ! RUST_BACKTRACE=1 "${EPYTHON}" ./x.py test -vv --config="${S}"/config.toml \ + -j$(makeopts_jobs) --no-doc --no-fail-fast "${t}" + then + failed+=( "${t}" ) + eerror "rust_src_test: ${t} failed" + fi + done + + if [[ ${#failed[@]} -ne 0 ]]; then + eerror "rust_src_test: failure summary: ${failed[@]}" + die "aborting due to test failures" + fi +} + +src_install() { + DESTDIR="${D}" "${EPYTHON}" ./x.py install -vv --config="${S}"/config.toml -j$(makeopts_jobs) || die + + # bug #689562, #689160 + rm -v "${ED}/usr/lib/${PN}/${PV}/etc/bash_completion.d/cargo" || die + rmdir -v "${ED}/usr/lib/${PN}/${PV}"/etc{/bash_completion.d,} || die + + local symlinks=( + cargo + rustc + rustdoc + rust-gdb + rust-gdbgui + rust-lldb + rust-demangler + ) + + use clippy && symlinks+=( clippy-driver cargo-clippy ) + use miri && symlinks+=( miri cargo-miri ) + use rustfmt && symlinks+=( rustfmt cargo-fmt ) + use rust-analyzer && symlinks+=( rust-analyzer ) + + einfo "installing eselect-rust symlinks and paths: ${symlinks[@]}" + local i + for i in "${symlinks[@]}"; do + # we need realpath on /usr/bin/* symlink return version-appended binary path. + # so /usr/bin/rustc should point to /usr/lib/rust/<ver>/bin/rustc-<ver> + # need to fix eselect-rust to remove this hack. + local ver_i="${i}-${PV}" + if [[ -f "${ED}/usr/lib/${PN}/${PV}/bin/${i}" ]]; then + einfo "Installing ${i} symlink" + ln -v "${ED}/usr/lib/${PN}/${PV}/bin/${i}" "${ED}/usr/lib/${PN}/${PV}/bin/${ver_i}" || die + else + ewarn "${i} symlink requested, but source file not found" + ewarn "please report this" + fi + dosym "../lib/${PN}/${PV}/bin/${ver_i}" "/usr/bin/${ver_i}" + done + + # symlinks to switch components to active rust in eselect + dosym "${PV}/lib" "/usr/lib/${PN}/lib-${PV}" + dosym "${PV}/libexec" "/usr/lib/${PN}/libexec-${PV}" + dosym "${PV}/share/man" "/usr/lib/${PN}/man-${PV}" + dosym "rust/${PV}/lib/rustlib" "/usr/lib/rustlib-${PV}" + dosym "../../lib/${PN}/${PV}/share/doc/rust" "/usr/share/doc/${P}" + + newenvd - "50${P}" <<-_EOF_ + LDPATH="${EPREFIX}/usr/lib/rust/lib-${PV}" + MANPATH="${EPREFIX}/usr/lib/rust/man-${PV}" + _EOF_ + + rm -rf "${ED}/usr/lib/${PN}/${PV}"/*.old || die + rm -rf "${ED}/usr/lib/${PN}/${PV}/bin"/*.old || die + rm -rf "${ED}/usr/lib/${PN}/${PV}/doc"/*.old || die + + # note: eselect-rust adds EROOT to all paths below + cat <<-_EOF_ > "${T}/provider-${P}" + /usr/bin/cargo + /usr/bin/rustdoc + /usr/bin/rust-demangler + /usr/bin/rust-gdb + /usr/bin/rust-gdbgui + /usr/bin/rust-lldb + /usr/lib/rustlib + /usr/lib/rust/lib + /usr/lib/rust/libexec + /usr/lib/rust/man + /usr/share/doc/rust + _EOF_ + + if use clippy; then + echo /usr/bin/clippy-driver >> "${T}/provider-${P}" + echo /usr/bin/cargo-clippy >> "${T}/provider-${P}" + fi + if use miri; then + echo /usr/bin/miri >> "${T}/provider-${P}" + echo /usr/bin/cargo-miri >> "${T}/provider-${P}" + fi + if use rustfmt; then + echo /usr/bin/rustfmt >> "${T}/provider-${P}" + echo /usr/bin/cargo-fmt >> "${T}/provider-${P}" + fi + if use rust-analyzer; then + echo /usr/bin/rust-analyzer >> "${T}/provider-${P}" + fi + + insinto /etc/env.d/rust + doins "${T}/provider-${P}" + + if use dist; then + insinto "/usr/lib/${PN}/${PV}/dist" + doins -r "${S}/build/dist/." + fi +} + +pkg_postinst() { + eselect rust update + + if has_version dev-debug/gdb || has_version dev-debug/lldb; then + elog "Rust installs a helper script for calling GDB and LLDB," + elog "for your convenience it is installed under /usr/bin/rust-{gdb,lldb}-${PV}." + fi + + if has_version app-editors/emacs; then + elog "install app-emacs/rust-mode to get emacs support for rust." + fi + + if has_version app-editors/gvim || has_version app-editors/vim; then + elog "install app-vim/rust-vim to get vim support for rust." + fi +} + +pkg_postrm() { + eselect rust cleanup +} diff --git a/dev-lang/rust/rust-1.75.0-r100.ebuild b/dev-lang/rust/rust-1.75.0-r100.ebuild new file mode 100644 index 000000000000..d0154a05fc14 --- /dev/null +++ b/dev-lang/rust/rust-1.75.0-r100.ebuild @@ -0,0 +1,773 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +LLVM_COMPAT=( 17 ) +PYTHON_COMPAT=( python3_{10..12} ) + +inherit check-reqs estack flag-o-matic llvm-r1 multiprocessing \ + multilib multilib-build python-any-r1 rust-toolchain toolchain-funcs verify-sig + +if [[ ${PV} = *beta* ]]; then + betaver=${PV//*beta} + BETA_SNAPSHOT="${betaver:0:4}-${betaver:4:2}-${betaver:6:2}" + MY_P="rustc-beta" + SRC="${BETA_SNAPSHOT}/rustc-beta-src.tar.xz -> rustc-${PV}-src.tar.xz" +else + MY_P="rustc-${PV}" + SRC="${MY_P}-src.tar.xz" + KEYWORDS="amd64 arm arm64 ~loong ppc ppc64 ~riscv sparc x86" +fi + +S="${WORKDIR}/${MY_P}-src" + +RUST_STAGE0_VERSION="1.$(($(ver_cut 2) - 1)).0" + +DESCRIPTION="Language empowering everyone to build reliable and efficient software" +HOMEPAGE="https://www.rust-lang.org/" + +SRC_URI=" + https://static.rust-lang.org/dist/${SRC} + verify-sig? ( https://static.rust-lang.org/dist/${SRC}.asc ) + !system-bootstrap? ( $(rust_all_arch_uris rust-${RUST_STAGE0_VERSION}) ) +" + +# keep in sync with llvm ebuild of the same version as bundled one. +ALL_LLVM_TARGETS=( AArch64 AMDGPU ARC ARM AVR BPF CSKY DirectX Hexagon Lanai + LoongArch M68k Mips MSP430 NVPTX PowerPC RISCV Sparc SPIRV SystemZ VE + WebAssembly X86 XCore Xtensa ) +ALL_LLVM_TARGETS=( "${ALL_LLVM_TARGETS[@]/#/llvm_targets_}" ) +LLVM_TARGET_USEDEPS=${ALL_LLVM_TARGETS[@]/%/(-)?} + +LICENSE="|| ( MIT Apache-2.0 ) BSD BSD-1 BSD-2 BSD-4" +SLOT="${PV}" + +IUSE="big-endian clippy cpu_flags_x86_sse2 debug dist doc llvm-libunwind +lto miri nightly parallel-compiler rustfmt rust-analyzer rust-src system-bootstrap system-llvm test wasm ${ALL_LLVM_TARGETS[*]}" + +LLVM_DEPEND=() +# splitting usedeps needed to avoid CI/pkgcheck's UncheckableDep limitation +for _x in "${ALL_LLVM_TARGETS[@]}"; do + LLVM_DEPEND+=( " ${_x}? ( $(llvm_gen_dep "sys-devel/llvm:\${LLVM_SLOT}[${_x}]") )" ) +done +LLVM_DEPEND+=( " wasm? ( $(llvm_gen_dep 'sys-devel/lld:${LLVM_SLOT}') )" ) +LLVM_DEPEND+=( " $(llvm_gen_dep 'sys-devel/llvm:${LLVM_SLOT}')" ) + +# to bootstrap we need at least exactly previous version, or same. +# most of the time previous versions fail to bootstrap with newer +# for example 1.47.x, requires at least 1.46.x, 1.47.x is ok, +# but it fails to bootstrap with 1.48.x +# https://github.com/rust-lang/rust/blob/${PV}/src/stage0.json +RUST_DEP_PREV="$(ver_cut 1).$(($(ver_cut 2) - 1))*" +RUST_DEP_CURR="$(ver_cut 1).$(ver_cut 2)*" +BOOTSTRAP_DEPEND="|| + ( + =dev-lang/rust-"${RUST_DEP_PREV}" + =dev-lang/rust-bin-"${RUST_DEP_PREV}" + =dev-lang/rust-"${RUST_DEP_CURR}" + =dev-lang/rust-bin-"${RUST_DEP_CURR}" + ) +" + +BDEPEND="${PYTHON_DEPS} + app-eselect/eselect-rust + || ( + >=sys-devel/gcc-4.7 + >=sys-devel/clang-3.5 + ) + system-bootstrap? ( ${BOOTSTRAP_DEPEND} ) + !system-llvm? ( + >=dev-build/cmake-3.13.4 + app-alternatives/ninja + ) + test? ( dev-debug/gdb ) + verify-sig? ( sec-keys/openpgp-keys-rust ) +" + +DEPEND=" + >=app-arch/xz-utils-5.2 + net-misc/curl:=[http2,ssl] + sys-libs/zlib:= + dev-libs/openssl:0= + system-llvm? ( + ${LLVM_DEPEND} + llvm-libunwind? ( sys-libs/llvm-libunwind:= ) + ) + !system-llvm? ( + !llvm-libunwind? ( + elibc_musl? ( sys-libs/libunwind:= ) + ) + ) +" + +RDEPEND="${DEPEND} + app-eselect/eselect-rust + dev-lang/rust-common + sys-apps/lsb-release + !dev-lang/rust:stable/1.71.1 + !dev-lang/rust:stable/1.74.1 + !dev-lang/rust:stable/1.75.0 + !dev-lang/rust:stable/1.77.1 + !dev-lang/rust:stable/1.79.0 + !dev-lang/rust:stable/1.80.1 + !dev-lang/rust:stable/1.81.0 + !dev-lang/rust:stable/1.82.0 +" + +REQUIRED_USE="|| ( ${ALL_LLVM_TARGETS[*]} ) + miri? ( nightly ) + parallel-compiler? ( nightly ) + rust-analyzer? ( rust-src ) + test? ( ${ALL_LLVM_TARGETS[*]} ) + wasm? ( llvm_targets_WebAssembly ) + x86? ( cpu_flags_x86_sse2 ) +" + +# we don't use cmake.eclass, but can get a warning +CMAKE_WARN_UNUSED_CLI=no + +QA_FLAGS_IGNORED=" + usr/lib/${PN}/${PV}/bin/.* + usr/lib/${PN}/${PV}/libexec/.* + usr/lib/${PN}/${PV}/lib/lib.*.so + usr/lib/${PN}/${PV}/lib/rustlib/.*/bin/.* + usr/lib/${PN}/${PV}/lib/rustlib/.*/lib/lib.*.so +" + +QA_SONAME=" + usr/lib/${PN}/${PV}/lib/lib.*.so.* + usr/lib/${PN}/${PV}/lib/rustlib/.*/lib/lib.*.so +" + +QA_PRESTRIPPED=" + usr/lib/${PN}/${PV}/lib/rustlib/.*/bin/rust-llvm-dwp + usr/lib/${PN}/${PV}/lib/rustlib/.*/lib/self-contained/crtn.o +" + +# An rmeta file is custom binary format that contains the metadata for the crate. +# rmeta files do not support linking, since they do not contain compiled object files. +# so we can safely silence the warning for this QA check. +QA_EXECSTACK="usr/lib/${PN}/${PV}/lib/rustlib/*/lib*.rlib:lib.rmeta" + +# causes double bootstrap +RESTRICT="test" + +VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/rust.asc + +PATCHES=( + "${FILESDIR}"/1.75.0-musl-dynamic-linking.patch + "${FILESDIR}"/1.74.1-cross-compile-libz.patch + #"${FILESDIR}"/1.72.0-bump-libc-deps-to-0.2.146.patch # pending refresh + "${FILESDIR}"/1.70.0-ignore-broken-and-non-applicable-tests.patch + "${FILESDIR}"/1.67.0-doc-wasm.patch + # This patch shouldn't be necessary for later versions of Rust because its + # code was backported from master. + "${FILESDIR}"/1.75.0-handle-vendored-sources.patch +) + +clear_vendor_checksums() { + sed -i 's/\("files":{\)[^}]*/\1/' "vendor/${1}/.cargo-checksum.json" || die +} + +toml_usex() { + usex "${1}" true false +} + +bootstrap_rust_version_check() { + # never call from pkg_pretend. eselect-rust may be not installed yet. + [[ ${MERGE_TYPE} == binary ]] && return + local rustc_wanted="$(ver_cut 1).$(($(ver_cut 2) - 1))" + local rustc_toonew="$(ver_cut 1).$(($(ver_cut 2) + 1))" + local rustc_version=( $(eselect --brief --root="${BROOT}" rust show 2>/dev/null) ) + rustc_version=${rustc_version[0]#rust-bin-} + rustc_version=${rustc_version#rust-} + + [[ -z "${rustc_version}" ]] && die "Failed to determine rust version, check 'eselect rust' output" + + if ver_test "${rustc_version}" -lt "${rustc_wanted}" ; then + eerror "Rust >=${rustc_wanted} is required" + eerror "please run 'eselect rust' and set correct rust version" + die "selected rust version is too old" + elif ver_test "${rustc_version}" -ge "${rustc_toonew}" ; then + eerror "Rust <${rustc_toonew} is required" + eerror "please run 'eselect rust' and set correct rust version" + die "selected rust version is too new" + else + einfo "Using rust ${rustc_version} to build" + fi +} + +pre_build_checks() { + local M=8192 + # multiply requirements by 1.3 if we are doing x86-multilib + if use amd64; then + M=$(( $(usex abi_x86_32 13 10) * ${M} / 10 )) + fi + M=$(( $(usex clippy 128 0) + ${M} )) + M=$(( $(usex miri 128 0) + ${M} )) + M=$(( $(usex rustfmt 256 0) + ${M} )) + # add 2G if we compile llvm and 256M per llvm_target + if ! use system-llvm; then + M=$(( 2048 + ${M} )) + local ltarget + for ltarget in ${ALL_LLVM_TARGETS[@]}; do + M=$(( $(usex ${ltarget} 256 0) + ${M} )) + done + fi + M=$(( $(usex wasm 256 0) + ${M} )) + M=$(( $(usex debug 2 1) * ${M} )) + eshopts_push -s extglob + if is-flagq '-g?(gdb)?([1-9])'; then + M=$(( 15 * ${M} / 10 )) + fi + eshopts_pop + M=$(( $(usex system-bootstrap 0 1024) + ${M} )) + M=$(( $(usex doc 256 0) + ${M} )) + CHECKREQS_DISK_BUILD=${M}M check-reqs_pkg_${EBUILD_PHASE} +} + +llvm_check_deps() { + has_version -r "sys-devel/llvm:${LLVM_SLOT}[${LLVM_TARGET_USEDEPS// /,}]" +} + +# Is LLVM being linked against libc++? +is_libcxx_linked() { + local code='#include <ciso646> +#if defined(_LIBCPP_VERSION) + HAVE_LIBCXX +#endif +' + local out=$($(tc-getCXX) ${CXXFLAGS} ${CPPFLAGS} -x c++ -E -P - <<<"${code}") || return 1 + [[ ${out} == *HAVE_LIBCXX* ]] +} + +pkg_pretend() { + pre_build_checks +} + +pkg_setup() { + pre_build_checks + python-any-r1_pkg_setup + + export LIBGIT2_NO_PKG_CONFIG=1 #749381 + if tc-is-cross-compiler; then + export PKG_CONFIG_ALLOW_CROSS=1 + export PKG_CONFIG_PATH="${ROOT}/usr/$(get_libdir)/pkgconfig" + export OPENSSL_INCLUDE_DIR="${ROOT}/usr/include" + export OPENSSL_LIB_DIR="${ROOT}/usr/$(get_libdir)" + + use system-bootstrap || die "USE=system-bootstrap is required when cross-compiling" + use system-llvm && die "USE=system-llvm not allowed when cross-compiling" + local cross_llvm_target="$(llvm_tuple_to_target "${CBUILD}")" + use "llvm_targets_${cross_llvm_target}" || \ + die "Must enable LLVM_TARGETS=${cross_llvm_target} matching CBUILD=${CBUILD} when cross-compiling" + fi + + use system-bootstrap && bootstrap_rust_version_check + + if use system-llvm; then + llvm-r1_pkg_setup + + local llvm_config="$(get_llvm_prefix "${LLVM_SLOT}")/bin/llvm-config" + export LLVM_LINK_SHARED=1 + export RUSTFLAGS="${RUSTFLAGS} -Lnative=$("${llvm_config}" --libdir)" + fi +} + +esetup_unwind_hack() { + # https://bugs.gentoo.org/870280 + # this is a hack needed to bootstrap with libgcc_s linked tarball on llvm-libunwind system. + # it should trigger for internal bootstrap or system-bootstrap with rust-bin. + # the whole idea is for stage0 to bootstrap with fake libgcc_s. + # final stage will receive -L${T}/lib but not -lgcc_s args, producing clean compiler. + local fakelib="${T}/fakelib" + mkdir -p "${fakelib}" || die + # we need both symlinks, one for cargo runtime, other for linker. + ln -s "${ESYSROOT}/usr/lib/libunwind.so" "${fakelib}/libgcc_s.so.1" || die + ln -s "${ESYSROOT}/usr/lib/libunwind.so" "${fakelib}/libgcc_s.so" || die + export LD_LIBRARY_PATH="${fakelib}" + export RUSTFLAGS+=" -L${fakelib}" + # this is a literally magic variable that gets through cargo cache, without it some + # crates ignore RUSTFLAGS. + # this variable can not contain leading space. + export MAGIC_EXTRA_RUSTFLAGS+="${MAGIC_EXTRA_RUSTFLAGS:+ }-L${fakelib}" +} + +src_prepare() { + # Clear vendor checksums for crates that we patched to bump libc. + # NOTE: refresh this on each bump. + #for i in addr2line-0.20.0 bstr cranelift-jit crossbeam-channel elasticlunr-rs handlebars icu_locid libffi \ + # terminal_size tracing-tree; do + # clear_vendor_checksums "${i}" + #done + + if ! use system-bootstrap; then + has_version sys-devel/gcc || esetup_unwind_hack + local rust_stage0_root="${WORKDIR}"/rust-stage0 + local rust_stage0="rust-${RUST_STAGE0_VERSION}-$(rust_abi "${CBUILD}")" + + "${WORKDIR}/${rust_stage0}"/install.sh --disable-ldconfig \ + --without=rust-docs-json-preview,rust-docs --destdir="${rust_stage0_root}" --prefix=/ || die + fi + + default +} + +src_configure() { + filter-lto # https://bugs.gentoo.org/862109 https://bugs.gentoo.org/866231 + + local rust_target="" rust_targets="" arch_cflags + + # Collect rust target names to compile standard libs for all ABIs. + for v in $(multilib_get_enabled_abi_pairs); do + rust_targets+=",\"$(rust_abi $(get_abi_CHOST ${v##*.}))\"" + done + if use wasm; then + rust_targets+=",\"wasm32-unknown-unknown\"" + if use system-llvm; then + # un-hardcode rust-lld linker for this target + # https://bugs.gentoo.org/715348 + sed -i '/linker:/ s/rust-lld/wasm-ld/' compiler/rustc_target/src/spec/base/wasm.rs || die + fi + fi + rust_targets="${rust_targets#,}" + + # cargo and rustdoc are mandatory and should always be included + local tools='"cargo","rustdoc", "rust-demangler"' + use clippy && tools+=',"clippy"' + use miri && tools+=',"miri"' + use rustfmt && tools+=',"rustfmt"' + use rust-analyzer && tools+=',"rust-analyzer"' + use rust-src && tools+=',"src"' + + local rust_stage0_root + if use system-bootstrap; then + local printsysroot + printsysroot="$(rustc --print sysroot || die "Can't determine rust's sysroot")" + rust_stage0_root="${printsysroot}" + else + rust_stage0_root="${WORKDIR}"/rust-stage0 + fi + # in case of prefix it will be already prefixed, as --print sysroot returns full path + [[ -d ${rust_stage0_root} ]] || die "${rust_stage0_root} is not a directory" + + rust_target="$(rust_abi)" + rust_build="$(rust_abi "${CBUILD}")" + rust_host="$(rust_abi "${CHOST}")" + + local cm_btype="$(usex debug DEBUG RELEASE)" + cat <<- _EOF_ > "${S}"/config.toml + changelog-seen = 2 + [llvm] + download-ci-llvm = false + optimize = $(toml_usex !debug) + release-debuginfo = $(toml_usex debug) + assertions = $(toml_usex debug) + ninja = true + targets = "${LLVM_TARGETS// /;}" + experimental-targets = "" + link-shared = $(toml_usex system-llvm) + $(if is_libcxx_linked; then + # https://bugs.gentoo.org/732632 + echo "use-libcxx = true" + echo "static-libstdcpp = false" + fi) + $(case "${rust_target}" in + i586-*-linux-*) + # https://github.com/rust-lang/rust/issues/93059 + echo 'cflags = "-fcf-protection=none"' + echo 'cxxflags = "-fcf-protection=none"' + echo 'ldflags = "-fcf-protection=none"' + ;; + *) + ;; + esac) + enable-warnings = false + [llvm.build-config] + CMAKE_VERBOSE_MAKEFILE = "ON" + $(if ! tc-is-cross-compiler; then + # When cross-compiling, LLVM is compiled twice, once for host and + # once for target. Unfortunately, this build configuration applies + # to both, which means any flags applicable to one target but not + # the other will break. Conditionally disable respecting user + # flags when cross-compiling. + echo "CMAKE_C_FLAGS_${cm_btype} = \"${CFLAGS}\"" + echo "CMAKE_CXX_FLAGS_${cm_btype} = \"${CXXFLAGS}\"" + echo "CMAKE_EXE_LINKER_FLAGS_${cm_btype} = \"${LDFLAGS}\"" + echo "CMAKE_MODULE_LINKER_FLAGS_${cm_btype} = \"${LDFLAGS}\"" + echo "CMAKE_SHARED_LINKER_FLAGS_${cm_btype} = \"${LDFLAGS}\"" + echo "CMAKE_STATIC_LINKER_FLAGS_${cm_btype} = \"${ARFLAGS}\"" + fi) + [build] + build-stage = 2 + test-stage = 2 + build = "${rust_build}" + host = ["${rust_host}"] + target = [${rust_targets}] + cargo = "${rust_stage0_root}/bin/cargo" + rustc = "${rust_stage0_root}/bin/rustc" + rustfmt = "${rust_stage0_root}/bin/rustfmt" + docs = $(toml_usex doc) + compiler-docs = false + submodules = false + python = "${EPYTHON}" + locked-deps = true + vendor = true + extended = true + tools = [${tools}] + verbose = 2 + sanitizers = false + profiler = true + cargo-native-static = false + [install] + prefix = "${EPREFIX}/usr/lib/${PN}/${PV}" + sysconfdir = "etc" + docdir = "share/doc/rust" + bindir = "bin" + libdir = "lib" + mandir = "share/man" + [rust] + # https://github.com/rust-lang/rust/issues/54872 + codegen-units-std = 1 + optimize = true + debug = $(toml_usex debug) + debug-assertions = $(toml_usex debug) + debug-assertions-std = $(toml_usex debug) + debuginfo-level = $(usex debug 2 0) + debuginfo-level-rustc = $(usex debug 2 0) + debuginfo-level-std = $(usex debug 2 0) + debuginfo-level-tools = $(usex debug 2 0) + debuginfo-level-tests = 0 + backtrace = true + incremental = false + $(if ! tc-is-cross-compiler; then + echo "default-linker = \"$(tc-getCC)\"" + fi) + parallel-compiler = $(toml_usex parallel-compiler) + channel = "$(usex nightly nightly stable)" + description = "gentoo" + rpath = false + verbose-tests = true + optimize-tests = $(toml_usex !debug) + codegen-tests = true + dist-src = false + remap-debuginfo = true + lld = $(usex system-llvm false $(toml_usex wasm)) + # only deny warnings if doc+wasm are NOT requested, documenting stage0 wasm std fails without it + # https://github.com/rust-lang/rust/issues/74976 + # https://github.com/rust-lang/rust/issues/76526 + deny-warnings = $(usex wasm $(usex doc false true) true) + backtrace-on-ice = true + jemalloc = false + lto = "$(usex lto fat off)" + [dist] + src-tarball = false + compression-formats = ["xz"] + compression-profile = "balanced" + _EOF_ + + for v in $(multilib_get_enabled_abi_pairs); do + rust_target=$(rust_abi $(get_abi_CHOST ${v##*.})) + arch_cflags="$(get_abi_CFLAGS ${v##*.})" + + export CFLAGS_${rust_target//-/_}="${arch_cflags}" + + cat <<- _EOF_ >> "${S}"/config.toml + [target.${rust_target}] + ar = "$(tc-getAR)" + cc = "$(tc-getCC)" + cxx = "$(tc-getCXX)" + linker = "$(tc-getCC)" + ranlib = "$(tc-getRANLIB)" + llvm-libunwind = "$(usex llvm-libunwind $(usex system-llvm system in-tree) no)" + _EOF_ + if use system-llvm; then + cat <<- _EOF_ >> "${S}"/config.toml + llvm-config = "$(get_llvm_prefix)/bin/llvm-config" + _EOF_ + fi + # by default librustc_target/spec/linux_musl_base.rs sets base.crt_static_default = true; + # but we patch it and set to false here as well + if use elibc_musl; then + cat <<- _EOF_ >> "${S}"/config.toml + crt-static = false + _EOF_ + fi + done + if use wasm; then + cat <<- _EOF_ >> "${S}"/config.toml + [target.wasm32-unknown-unknown] + linker = "$(usex system-llvm lld rust-lld)" + # wasm target does not have profiler_builtins https://bugs.gentoo.org/848483 + profiler = false + _EOF_ + fi + + if [[ -n ${I_KNOW_WHAT_I_AM_DOING_CROSS} ]]; then # whitespace intentionally shifted below + # experimental cross support + # discussion: https://bugs.gentoo.org/679878 + # TODO: c*flags, clang, system-llvm, cargo.eclass target support + # it would be much better if we could split out stdlib + # complilation to separate ebuild and abuse CATEGORY to + # just install to /usr/lib/rustlib/<target> + + # extra targets defined as a bash array + # spec format: <LLVM target>:<rust-target>:<CTARGET> + # best place would be /etc/portage/env/dev-lang/rust + # Example: + # RUST_CROSS_TARGETS=( + # "AArch64:aarch64-unknown-linux-gnu:aarch64-unknown-linux-gnu" + # ) + # no extra hand holding is done, no target transformations, all + # values are passed as-is with just basic checks, so it's up to user to supply correct values + # valid rust targets can be obtained with + # rustc --print target-list + # matching cross toolchain has to be installed + # matching LLVM_TARGET has to be enabled for both rust and llvm (if using system one) + # only gcc toolchains installed with crossdev are checked for now. + + # BUG: we can't pass host flags to cross compiler, so just filter for now + # BUG: this should be more fine-grained. + filter-flags '-mcpu=*' '-march=*' '-mtune=*' + + local cross_target_spec + for cross_target_spec in "${RUST_CROSS_TARGETS[@]}";do + # extracts first element form <LLVM target>:<rust-target>:<CTARGET> + local cross_llvm_target="${cross_target_spec%%:*}" + # extracts toolchain triples, <rust-target>:<CTARGET> + local cross_triples="${cross_target_spec#*:}" + # extracts first element after before : separator + local cross_rust_target="${cross_triples%%:*}" + # extracts last element after : separator + local cross_toolchain="${cross_triples##*:}" + use llvm_targets_${cross_llvm_target} || die "need llvm_targets_${cross_llvm_target} target enabled" + command -v ${cross_toolchain}-gcc > /dev/null 2>&1 || die "need ${cross_toolchain} cross toolchain" + + cat <<- _EOF_ >> "${S}"/config.toml + [target.${cross_rust_target}] + ar = "${cross_toolchain}-ar" + cc = "${cross_toolchain}-gcc" + cxx = "${cross_toolchain}-g++" + linker = "${cross_toolchain}-gcc" + ranlib = "${cross_toolchain}-ranlib" + _EOF_ + if use system-llvm; then + cat <<- _EOF_ >> "${S}"/config.toml + llvm-config = "$(get_llvm_prefix)/bin/llvm-config" + _EOF_ + fi + if [[ "${cross_toolchain}" == *-musl* ]]; then + cat <<- _EOF_ >> "${S}"/config.toml + musl-root = "$(${cross_toolchain}-gcc -print-sysroot)/usr" + _EOF_ + fi + + # append cross target to "normal" target list + # example 'target = ["powerpc64le-unknown-linux-gnu"]' + # becomes 'target = ["powerpc64le-unknown-linux-gnu","aarch64-unknown-linux-gnu"]' + + rust_targets="${rust_targets},\"${cross_rust_target}\"" + sed -i "/^target = \[/ s#\[.*\]#\[${rust_targets}\]#" config.toml || die + + ewarn + ewarn "Enabled ${cross_rust_target} rust target" + ewarn "Using ${cross_toolchain} cross toolchain" + ewarn + if ! has_version -b 'sys-devel/binutils[multitarget]' ; then + ewarn "'sys-devel/binutils[multitarget]' is not installed" + ewarn "'strip' will be unable to strip cross libraries" + ewarn "cross targets will be installed with full debug information" + ewarn "enable 'multitarget' USE flag for binutils to be able to strip object files" + ewarn + ewarn "Alternatively llvm-strip can be used, it supports stripping any target" + ewarn "define STRIP=\"llvm-strip\" to use it (experimental)" + ewarn + fi + done + fi # I_KNOW_WHAT_I_AM_DOING_CROSS + + einfo "Rust configured with the following flags:" + echo + echo RUSTFLAGS="\"${RUSTFLAGS}\"" + echo RUSTFLAGS_BOOTSTRAP="\"${RUSTFLAGS_BOOTSTRAP}\"" + echo RUSTFLAGS_NOT_BOOTSTRAP="\"${RUSTFLAGS_NOT_BOOTSTRAP}\"" + echo MAGIC_EXTRA_RUSTFLAGS="\"${MAGIC_EXTRA_RUSTFLAGS}\"" + env | grep "CARGO_TARGET_.*_RUSTFLAGS=" + env | grep "CFLAGS_.*" + echo + einfo "config.toml contents:" + cat "${S}"/config.toml || die + echo +} + +src_compile() { + RUST_BACKTRACE=1 "${EPYTHON}" ./x.py build -vvv --config="${S}"/config.toml -j$(makeopts_jobs) || die +} + +src_test() { + # https://rustc-dev-guide.rust-lang.org/tests/intro.html + + # those are basic and codegen tests. + local tests=( + codegen + codegen-units + compile-fail + incremental + mir-opt + pretty + run-make + ) + + # fails if llvm is not built with ALL targets. + # and known to fail with system llvm sometimes. + use system-llvm || tests+=( assembly ) + + # fragile/expensive/less important tests + # or tests that require extra builds + # TODO: instead of skipping, just make some nonfatal. + if [[ ${ERUST_RUN_EXTRA_TESTS:-no} != no ]]; then + tests+=( + rustdoc + rustdoc-js + rustdoc-js-std + rustdoc-ui + run-make-fulldeps + ui + ui-fulldeps + ) + fi + + local i failed=() + einfo "rust_src_test: enabled tests ${tests[@]/#/src/test/}" + for i in "${tests[@]}"; do + local t="src/test/${i}" + einfo "rust_src_test: running ${t}" + if ! RUST_BACKTRACE=1 "${EPYTHON}" ./x.py test -vv --config="${S}"/config.toml \ + -j$(makeopts_jobs) --no-doc --no-fail-fast "${t}" + then + failed+=( "${t}" ) + eerror "rust_src_test: ${t} failed" + fi + done + + if [[ ${#failed[@]} -ne 0 ]]; then + eerror "rust_src_test: failure summary: ${failed[@]}" + die "aborting due to test failures" + fi +} + +src_install() { + DESTDIR="${D}" "${EPYTHON}" ./x.py install -vv --config="${S}"/config.toml -j$(makeopts_jobs) || die + + # bug #689562, #689160 + rm -v "${ED}/usr/lib/${PN}/${PV}/etc/bash_completion.d/cargo" || die + rmdir -v "${ED}/usr/lib/${PN}/${PV}"/etc{/bash_completion.d,} || die + + local symlinks=( + cargo + rustc + rustdoc + rust-gdb + rust-gdbgui + rust-lldb + rust-demangler + ) + + use clippy && symlinks+=( clippy-driver cargo-clippy ) + use miri && symlinks+=( miri cargo-miri ) + use rustfmt && symlinks+=( rustfmt cargo-fmt ) + use rust-analyzer && symlinks+=( rust-analyzer ) + + einfo "installing eselect-rust symlinks and paths: ${symlinks[@]}" + local i + for i in "${symlinks[@]}"; do + # we need realpath on /usr/bin/* symlink return version-appended binary path. + # so /usr/bin/rustc should point to /usr/lib/rust/<ver>/bin/rustc-<ver> + # need to fix eselect-rust to remove this hack. + local ver_i="${i}-${PV}" + if [[ -f "${ED}/usr/lib/${PN}/${PV}/bin/${i}" ]]; then + einfo "Installing ${i} symlink" + ln -v "${ED}/usr/lib/${PN}/${PV}/bin/${i}" "${ED}/usr/lib/${PN}/${PV}/bin/${ver_i}" || die + else + ewarn "${i} symlink requested, but source file not found" + ewarn "please report this" + fi + dosym "../lib/${PN}/${PV}/bin/${ver_i}" "/usr/bin/${ver_i}" + done + + # symlinks to switch components to active rust in eselect + dosym "${PV}/lib" "/usr/lib/${PN}/lib-${PV}" + dosym "${PV}/libexec" "/usr/lib/${PN}/libexec-${PV}" + dosym "${PV}/share/man" "/usr/lib/${PN}/man-${PV}" + dosym "rust/${PV}/lib/rustlib" "/usr/lib/rustlib-${PV}" + dosym "../../lib/${PN}/${PV}/share/doc/rust" "/usr/share/doc/${P}" + + newenvd - "50${P}" <<-_EOF_ + LDPATH="${EPREFIX}/usr/lib/rust/lib-${PV}" + MANPATH="${EPREFIX}/usr/lib/rust/man-${PV}" + _EOF_ + + rm -rf "${ED}/usr/lib/${PN}/${PV}"/*.old || die + rm -rf "${ED}/usr/lib/${PN}/${PV}/bin"/*.old || die + rm -rf "${ED}/usr/lib/${PN}/${PV}/doc"/*.old || die + + # note: eselect-rust adds EROOT to all paths below + cat <<-_EOF_ > "${T}/provider-${P}" + /usr/bin/cargo + /usr/bin/rustdoc + /usr/bin/rust-demangler + /usr/bin/rust-gdb + /usr/bin/rust-gdbgui + /usr/bin/rust-lldb + /usr/lib/rustlib + /usr/lib/rust/lib + /usr/lib/rust/libexec + /usr/lib/rust/man + /usr/share/doc/rust + _EOF_ + + if use clippy; then + echo /usr/bin/clippy-driver >> "${T}/provider-${P}" + echo /usr/bin/cargo-clippy >> "${T}/provider-${P}" + fi + if use miri; then + echo /usr/bin/miri >> "${T}/provider-${P}" + echo /usr/bin/cargo-miri >> "${T}/provider-${P}" + fi + if use rustfmt; then + echo /usr/bin/rustfmt >> "${T}/provider-${P}" + echo /usr/bin/cargo-fmt >> "${T}/provider-${P}" + fi + if use rust-analyzer; then + echo /usr/bin/rust-analyzer >> "${T}/provider-${P}" + fi + + insinto /etc/env.d/rust + doins "${T}/provider-${P}" + + if use dist; then + insinto "/usr/lib/${PN}/${PV}/dist" + doins -r "${S}/build/dist/." + fi +} + +pkg_postinst() { + eselect rust update + + if has_version dev-debug/gdb || has_version dev-debug/lldb; then + elog "Rust installs a helper script for calling GDB and LLDB," + elog "for your convenience it is installed under /usr/bin/rust-{gdb,lldb}-${PV}." + fi + + if has_version app-editors/emacs; then + elog "install app-emacs/rust-mode to get emacs support for rust." + fi + + if has_version app-editors/gvim || has_version app-editors/vim; then + elog "install app-vim/rust-vim to get vim support for rust." + fi +} + +pkg_postrm() { + eselect rust cleanup +} diff --git a/dev-lang/rust/rust-1.77.1-r100.ebuild b/dev-lang/rust/rust-1.77.1-r100.ebuild new file mode 100644 index 000000000000..0088c87f6631 --- /dev/null +++ b/dev-lang/rust/rust-1.77.1-r100.ebuild @@ -0,0 +1,771 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +LLVM_COMPAT=( 17 ) +PYTHON_COMPAT=( python3_{10..12} ) + +inherit check-reqs estack flag-o-matic llvm-r1 multiprocessing \ + multilib multilib-build python-any-r1 rust-toolchain toolchain-funcs verify-sig + +if [[ ${PV} = *beta* ]]; then + betaver=${PV//*beta} + BETA_SNAPSHOT="${betaver:0:4}-${betaver:4:2}-${betaver:6:2}" + MY_P="rustc-beta" + SRC="${BETA_SNAPSHOT}/rustc-beta-src.tar.xz -> rustc-${PV}-src.tar.xz" +else + MY_P="rustc-${PV}" + SRC="${MY_P}-src.tar.xz" + KEYWORDS="amd64 arm arm64 ~loong ppc ppc64 ~riscv sparc x86" +fi +S="${WORKDIR}/${MY_P}-src" + +RUST_STAGE0_VERSION="1.$(($(ver_cut 2) - 1)).0" + +DESCRIPTION="Systems programming language from Mozilla" +HOMEPAGE="https://www.rust-lang.org/" + +SRC_URI=" + https://static.rust-lang.org/dist/${SRC} + verify-sig? ( https://static.rust-lang.org/dist/${SRC}.asc ) + !system-bootstrap? ( $(rust_all_arch_uris rust-${RUST_STAGE0_VERSION}) ) +" + +# keep in sync with llvm ebuild of the same version as bundled one. +ALL_LLVM_TARGETS=( AArch64 AMDGPU ARC ARM AVR BPF CSKY DirectX Hexagon Lanai + LoongArch M68k Mips MSP430 NVPTX PowerPC RISCV Sparc SPIRV SystemZ VE + WebAssembly X86 XCore Xtensa ) +ALL_LLVM_TARGETS=( "${ALL_LLVM_TARGETS[@]/#/llvm_targets_}" ) +LLVM_TARGET_USEDEPS=${ALL_LLVM_TARGETS[@]/%/(-)?} + +LICENSE="|| ( MIT Apache-2.0 ) BSD BSD-1 BSD-2 BSD-4" +SLOT="${PV}" + +IUSE="big-endian clippy cpu_flags_x86_sse2 debug dist doc llvm-libunwind lto miri nightly parallel-compiler rustfmt rust-analyzer rust-src system-bootstrap system-llvm test wasm ${ALL_LLVM_TARGETS[*]}" + +LLVM_DEPEND=() +# splitting usedeps needed to avoid CI/pkgcheck's UncheckableDep limitation +for _x in "${ALL_LLVM_TARGETS[@]}"; do + LLVM_DEPEND+=( " ${_x}? ( $(llvm_gen_dep "sys-devel/llvm:\${LLVM_SLOT}[${_x}]") )" ) +done +LLVM_DEPEND+=( " wasm? ( $(llvm_gen_dep 'sys-devel/lld:${LLVM_SLOT}') )" ) +LLVM_DEPEND+=( " $(llvm_gen_dep 'sys-devel/llvm:${LLVM_SLOT}')" ) + +# to bootstrap we need at least exactly previous version, or same. +# most of the time previous versions fail to bootstrap with newer +# for example 1.47.x, requires at least 1.46.x, 1.47.x is ok, +# but it fails to bootstrap with 1.48.x +# https://github.com/rust-lang/rust/blob/${PV}/src/stage0.json +RUST_DEP_PREV="$(ver_cut 1).$(($(ver_cut 2) - 1))*" +RUST_DEP_CURR="$(ver_cut 1).$(ver_cut 2)*" +BOOTSTRAP_DEPEND="|| + ( + =dev-lang/rust-"${RUST_DEP_PREV}" + =dev-lang/rust-bin-"${RUST_DEP_PREV}" + =dev-lang/rust-"${RUST_DEP_CURR}" + =dev-lang/rust-bin-"${RUST_DEP_CURR}" + ) +" + +BDEPEND="${PYTHON_DEPS} + app-eselect/eselect-rust + || ( + >=sys-devel/gcc-4.7 + >=sys-devel/clang-3.5 + ) + system-bootstrap? ( ${BOOTSTRAP_DEPEND} ) + !system-llvm? ( + >=dev-build/cmake-3.13.4 + app-alternatives/ninja + ) + test? ( dev-debug/gdb ) + verify-sig? ( sec-keys/openpgp-keys-rust ) +" + +DEPEND=" + >=app-arch/xz-utils-5.2 + net-misc/curl:=[http2,ssl] + sys-libs/zlib:= + dev-libs/openssl:0= + system-llvm? ( + ${LLVM_DEPEND} + llvm-libunwind? ( sys-libs/llvm-libunwind:= ) + ) + !system-llvm? ( + !llvm-libunwind? ( + elibc_musl? ( sys-libs/libunwind:= ) + ) + ) +" + +RDEPEND="${DEPEND} + app-eselect/eselect-rust + dev-lang/rust-common + sys-apps/lsb-release + !dev-lang/rust:stable/1.71.1 + !dev-lang/rust:stable/1.74.1 + !dev-lang/rust:stable/1.75.0 + !dev-lang/rust:stable/1.77.1 + !dev-lang/rust:stable/1.79.0 + !dev-lang/rust:stable/1.80.1 + !dev-lang/rust:stable/1.81.0 + !dev-lang/rust:stable/1.82.0 +" + +REQUIRED_USE="|| ( ${ALL_LLVM_TARGETS[*]} ) + miri? ( nightly ) + parallel-compiler? ( nightly ) + rust-analyzer? ( rust-src ) + test? ( ${ALL_LLVM_TARGETS[*]} ) + wasm? ( llvm_targets_WebAssembly ) + x86? ( cpu_flags_x86_sse2 ) +" + +# we don't use cmake.eclass, but can get a warning +CMAKE_WARN_UNUSED_CLI=no + +QA_FLAGS_IGNORED=" + usr/lib/${PN}/${PV}/bin/.* + usr/lib/${PN}/${PV}/libexec/.* + usr/lib/${PN}/${PV}/lib/lib.*.so + usr/lib/${PN}/${PV}/lib/rustlib/.*/bin/.* + usr/lib/${PN}/${PV}/lib/rustlib/.*/lib/lib.*.so +" + +QA_SONAME=" + usr/lib/${PN}/${PV}/lib/lib.*.so.* + usr/lib/${PN}/${PV}/lib/rustlib/.*/lib/lib.*.so +" + +QA_PRESTRIPPED=" + usr/lib/${PN}/${PV}/lib/rustlib/.*/bin/rust-llvm-dwp + usr/lib/${PN}/${PV}/lib/rustlib/.*/lib/self-contained/crtn.o +" + +# An rmeta file is custom binary format that contains the metadata for the crate. +# rmeta files do not support linking, since they do not contain compiled object files. +# so we can safely silence the warning for this QA check. +QA_EXECSTACK="usr/lib/${PN}/${PV}/lib/rustlib/*/lib*.rlib:lib.rmeta" + +# causes double bootstrap +RESTRICT="test" + +VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/rust.asc + +PATCHES=( + "${FILESDIR}"/1.75.0-musl-dynamic-linking.patch + "${FILESDIR}"/1.74.1-cross-compile-libz.patch + #"${FILESDIR}"/1.72.0-bump-libc-deps-to-0.2.146.patch # pending refresh + "${FILESDIR}"/1.70.0-ignore-broken-and-non-applicable-tests.patch + "${FILESDIR}"/1.67.0-doc-wasm.patch + "${FILESDIR}"/1.76.0-loong-code-model.patch # remove for >=1.78.0 +) + +clear_vendor_checksums() { + sed -i 's/\("files":{\)[^}]*/\1/' "vendor/${1}/.cargo-checksum.json" || die +} + +toml_usex() { + usex "${1}" true false +} + +bootstrap_rust_version_check() { + # never call from pkg_pretend. eselect-rust may be not installed yet. + [[ ${MERGE_TYPE} == binary ]] && return + local rustc_wanted="$(ver_cut 1).$(($(ver_cut 2) - 1))" + local rustc_toonew="$(ver_cut 1).$(($(ver_cut 2) + 1))" + local rustc_version=( $(eselect --brief --root="${BROOT}" rust show 2>/dev/null) ) + rustc_version=${rustc_version[0]#rust-bin-} + rustc_version=${rustc_version#rust-} + + [[ -z "${rustc_version}" ]] && die "Failed to determine rust version, check 'eselect rust' output" + + if ver_test "${rustc_version}" -lt "${rustc_wanted}" ; then + eerror "Rust >=${rustc_wanted} is required" + eerror "please run 'eselect rust' and set correct rust version" + die "selected rust version is too old" + elif ver_test "${rustc_version}" -ge "${rustc_toonew}" ; then + eerror "Rust <${rustc_toonew} is required" + eerror "please run 'eselect rust' and set correct rust version" + die "selected rust version is too new" + else + einfo "Using rust ${rustc_version} to build" + fi +} + +pre_build_checks() { + local M=8192 + # multiply requirements by 1.3 if we are doing x86-multilib + if use amd64; then + M=$(( $(usex abi_x86_32 13 10) * ${M} / 10 )) + fi + M=$(( $(usex clippy 128 0) + ${M} )) + M=$(( $(usex miri 128 0) + ${M} )) + M=$(( $(usex rustfmt 256 0) + ${M} )) + # add 2G if we compile llvm and 256M per llvm_target + if ! use system-llvm; then + M=$(( 2048 + ${M} )) + local ltarget + for ltarget in ${ALL_LLVM_TARGETS[@]}; do + M=$(( $(usex ${ltarget} 256 0) + ${M} )) + done + fi + M=$(( $(usex wasm 256 0) + ${M} )) + M=$(( $(usex debug 2 1) * ${M} )) + eshopts_push -s extglob + if is-flagq '-g?(gdb)?([1-9])'; then + M=$(( 15 * ${M} / 10 )) + fi + eshopts_pop + M=$(( $(usex system-bootstrap 0 1024) + ${M} )) + M=$(( $(usex doc 256 0) + ${M} )) + CHECKREQS_DISK_BUILD=${M}M check-reqs_pkg_${EBUILD_PHASE} +} + +llvm_check_deps() { + has_version -r "sys-devel/llvm:${LLVM_SLOT}[${LLVM_TARGET_USEDEPS// /,}]" +} + +# Is LLVM being linked against libc++? +is_libcxx_linked() { + local code='#include <ciso646> +#if defined(_LIBCPP_VERSION) + HAVE_LIBCXX +#endif +' + local out=$($(tc-getCXX) ${CXXFLAGS} ${CPPFLAGS} -x c++ -E -P - <<<"${code}") || return 1 + [[ ${out} == *HAVE_LIBCXX* ]] +} + +pkg_pretend() { + pre_build_checks +} + +pkg_setup() { + pre_build_checks + python-any-r1_pkg_setup + + export LIBGIT2_NO_PKG_CONFIG=1 #749381 + if tc-is-cross-compiler; then + export PKG_CONFIG_ALLOW_CROSS=1 + export PKG_CONFIG_PATH="${ROOT}/usr/$(get_libdir)/pkgconfig" + export OPENSSL_INCLUDE_DIR="${ROOT}/usr/include" + export OPENSSL_LIB_DIR="${ROOT}/usr/$(get_libdir)" + + use system-bootstrap || die "USE=system-bootstrap is required when cross-compiling" + use system-llvm && die "USE=system-llvm not allowed when cross-compiling" + local cross_llvm_target="$(llvm_tuple_to_target "${CBUILD}")" + use "llvm_targets_${cross_llvm_target}" || \ + die "Must enable LLVM_TARGETS=${cross_llvm_target} matching CBUILD=${CBUILD} when cross-compiling" + fi + + use system-bootstrap && bootstrap_rust_version_check + + if use system-llvm; then + llvm-r1_pkg_setup + + local llvm_config="$(get_llvm_prefix "${LLVM_SLOT}")/bin/llvm-config" + export LLVM_LINK_SHARED=1 + export RUSTFLAGS="${RUSTFLAGS} -Lnative=$("${llvm_config}" --libdir)" + fi +} + +esetup_unwind_hack() { + # https://bugs.gentoo.org/870280 + # this is a hack needed to bootstrap with libgcc_s linked tarball on llvm-libunwind system. + # it should trigger for internal bootstrap or system-bootstrap with rust-bin. + # the whole idea is for stage0 to bootstrap with fake libgcc_s. + # final stage will receive -L${T}/lib but not -lgcc_s args, producing clean compiler. + local fakelib="${T}/fakelib" + mkdir -p "${fakelib}" || die + # we need both symlinks, one for cargo runtime, other for linker. + ln -s "${ESYSROOT}/usr/lib/libunwind.so" "${fakelib}/libgcc_s.so.1" || die + ln -s "${ESYSROOT}/usr/lib/libunwind.so" "${fakelib}/libgcc_s.so" || die + export LD_LIBRARY_PATH="${fakelib}" + export RUSTFLAGS+=" -L${fakelib}" + # this is a literally magic variable that gets through cargo cache, without it some + # crates ignore RUSTFLAGS. + # this variable can not contain leading space. + export MAGIC_EXTRA_RUSTFLAGS+="${MAGIC_EXTRA_RUSTFLAGS:+ }-L${fakelib}" +} + +src_prepare() { + # Clear vendor checksums for crates that we patched to bump libc. + # NOTE: refresh this on each bump. + #for i in addr2line-0.20.0 bstr cranelift-jit crossbeam-channel elasticlunr-rs handlebars icu_locid libffi \ + # terminal_size tracing-tree; do + # clear_vendor_checksums "${i}" + #done + + if ! use system-bootstrap; then + has_version sys-devel/gcc || esetup_unwind_hack + local rust_stage0_root="${WORKDIR}"/rust-stage0 + local rust_stage0="rust-${RUST_STAGE0_VERSION}-$(rust_abi "${CBUILD}")" + + "${WORKDIR}/${rust_stage0}"/install.sh --disable-ldconfig \ + --without=rust-docs-json-preview,rust-docs --destdir="${rust_stage0_root}" --prefix=/ || die + fi + + default +} + +src_configure() { + filter-lto # https://bugs.gentoo.org/862109 https://bugs.gentoo.org/866231 + + local rust_target="" rust_targets="" arch_cflags + + # Collect rust target names to compile standard libs for all ABIs. + for v in $(multilib_get_enabled_abi_pairs); do + rust_targets+=",\"$(rust_abi $(get_abi_CHOST ${v##*.}))\"" + done + if use wasm; then + rust_targets+=",\"wasm32-unknown-unknown\"" + if use system-llvm; then + # un-hardcode rust-lld linker for this target + # https://bugs.gentoo.org/715348 + sed -i '/linker:/ s/rust-lld/wasm-ld/' compiler/rustc_target/src/spec/base/wasm.rs || die + fi + fi + rust_targets="${rust_targets#,}" + + # cargo and rustdoc are mandatory and should always be included + local tools='"cargo","rustdoc", "rust-demangler"' + use clippy && tools+=',"clippy"' + use miri && tools+=',"miri"' + use rustfmt && tools+=',"rustfmt"' + use rust-analyzer && tools+=',"rust-analyzer","rust-analyzer-proc-macro-srv"' + use rust-src && tools+=',"src"' + + local rust_stage0_root + if use system-bootstrap; then + local printsysroot + printsysroot="$(rustc --print sysroot || die "Can't determine rust's sysroot")" + rust_stage0_root="${printsysroot}" + else + rust_stage0_root="${WORKDIR}"/rust-stage0 + fi + # in case of prefix it will be already prefixed, as --print sysroot returns full path + [[ -d ${rust_stage0_root} ]] || die "${rust_stage0_root} is not a directory" + + rust_target="$(rust_abi)" + rust_build="$(rust_abi "${CBUILD}")" + rust_host="$(rust_abi "${CHOST}")" + + local cm_btype="$(usex debug DEBUG RELEASE)" + cat <<- _EOF_ > "${S}"/config.toml + changelog-seen = 2 + [llvm] + download-ci-llvm = false + optimize = $(toml_usex !debug) + release-debuginfo = $(toml_usex debug) + assertions = $(toml_usex debug) + ninja = true + targets = "${LLVM_TARGETS// /;}" + experimental-targets = "" + link-shared = $(toml_usex system-llvm) + $(if is_libcxx_linked; then + # https://bugs.gentoo.org/732632 + echo "use-libcxx = true" + echo "static-libstdcpp = false" + fi) + $(case "${rust_target}" in + i586-*-linux-*) + # https://github.com/rust-lang/rust/issues/93059 + echo 'cflags = "-fcf-protection=none"' + echo 'cxxflags = "-fcf-protection=none"' + echo 'ldflags = "-fcf-protection=none"' + ;; + *) + ;; + esac) + enable-warnings = false + [llvm.build-config] + CMAKE_VERBOSE_MAKEFILE = "ON" + $(if ! tc-is-cross-compiler; then + # When cross-compiling, LLVM is compiled twice, once for host and + # once for target. Unfortunately, this build configuration applies + # to both, which means any flags applicable to one target but not + # the other will break. Conditionally disable respecting user + # flags when cross-compiling. + echo "CMAKE_C_FLAGS_${cm_btype} = \"${CFLAGS}\"" + echo "CMAKE_CXX_FLAGS_${cm_btype} = \"${CXXFLAGS}\"" + echo "CMAKE_EXE_LINKER_FLAGS_${cm_btype} = \"${LDFLAGS}\"" + echo "CMAKE_MODULE_LINKER_FLAGS_${cm_btype} = \"${LDFLAGS}\"" + echo "CMAKE_SHARED_LINKER_FLAGS_${cm_btype} = \"${LDFLAGS}\"" + echo "CMAKE_STATIC_LINKER_FLAGS_${cm_btype} = \"${ARFLAGS}\"" + fi) + [build] + build-stage = 2 + test-stage = 2 + build = "${rust_build}" + host = ["${rust_host}"] + target = [${rust_targets}] + cargo = "${rust_stage0_root}/bin/cargo" + rustc = "${rust_stage0_root}/bin/rustc" + rustfmt = "${rust_stage0_root}/bin/rustfmt" + docs = $(toml_usex doc) + compiler-docs = false + submodules = false + python = "${EPYTHON}" + locked-deps = true + vendor = true + extended = true + tools = [${tools}] + verbose = 2 + sanitizers = false + profiler = true + cargo-native-static = false + [install] + prefix = "${EPREFIX}/usr/lib/${PN}/${PV}" + sysconfdir = "etc" + docdir = "share/doc/rust" + bindir = "bin" + libdir = "lib" + mandir = "share/man" + [rust] + # https://github.com/rust-lang/rust/issues/54872 + codegen-units-std = 1 + optimize = true + debug = $(toml_usex debug) + debug-assertions = $(toml_usex debug) + debug-assertions-std = $(toml_usex debug) + debuginfo-level = $(usex debug 2 0) + debuginfo-level-rustc = $(usex debug 2 0) + debuginfo-level-std = $(usex debug 2 0) + debuginfo-level-tools = $(usex debug 2 0) + debuginfo-level-tests = 0 + backtrace = true + incremental = false + $(if ! tc-is-cross-compiler; then + echo "default-linker = \"$(tc-getCC)\"" + fi) + parallel-compiler = $(toml_usex parallel-compiler) + channel = "$(usex nightly nightly stable)" + description = "gentoo" + rpath = false + verbose-tests = true + optimize-tests = $(toml_usex !debug) + codegen-tests = true + dist-src = false + remap-debuginfo = true + lld = $(usex system-llvm false $(toml_usex wasm)) + # only deny warnings if doc+wasm are NOT requested, documenting stage0 wasm std fails without it + # https://github.com/rust-lang/rust/issues/74976 + # https://github.com/rust-lang/rust/issues/76526 + deny-warnings = $(usex wasm $(usex doc false true) true) + backtrace-on-ice = true + jemalloc = false + # See https://github.com/rust-lang/rust/issues/121124 + lto = "$(usex lto thin off)" + [dist] + src-tarball = false + compression-formats = ["xz"] + compression-profile = "balanced" + _EOF_ + + for v in $(multilib_get_enabled_abi_pairs); do + rust_target=$(rust_abi $(get_abi_CHOST ${v##*.})) + arch_cflags="$(get_abi_CFLAGS ${v##*.})" + + export CFLAGS_${rust_target//-/_}="${arch_cflags}" + + cat <<- _EOF_ >> "${S}"/config.toml + [target.${rust_target}] + ar = "$(tc-getAR)" + cc = "$(tc-getCC)" + cxx = "$(tc-getCXX)" + linker = "$(tc-getCC)" + ranlib = "$(tc-getRANLIB)" + llvm-libunwind = "$(usex llvm-libunwind $(usex system-llvm system in-tree) no)" + _EOF_ + if use system-llvm; then + cat <<- _EOF_ >> "${S}"/config.toml + llvm-config = "$(get_llvm_prefix)/bin/llvm-config" + _EOF_ + fi + # by default librustc_target/spec/linux_musl_base.rs sets base.crt_static_default = true; + # but we patch it and set to false here as well + if use elibc_musl; then + cat <<- _EOF_ >> "${S}"/config.toml + crt-static = false + _EOF_ + fi + done + if use wasm; then + cat <<- _EOF_ >> "${S}"/config.toml + [target.wasm32-unknown-unknown] + linker = "$(usex system-llvm lld rust-lld)" + # wasm target does not have profiler_builtins https://bugs.gentoo.org/848483 + profiler = false + _EOF_ + fi + + if [[ -n ${I_KNOW_WHAT_I_AM_DOING_CROSS} ]]; then # whitespace intentionally shifted below + # experimental cross support + # discussion: https://bugs.gentoo.org/679878 + # TODO: c*flags, clang, system-llvm, cargo.eclass target support + # it would be much better if we could split out stdlib + # complilation to separate ebuild and abuse CATEGORY to + # just install to /usr/lib/rustlib/<target> + + # extra targets defined as a bash array + # spec format: <LLVM target>:<rust-target>:<CTARGET> + # best place would be /etc/portage/env/dev-lang/rust + # Example: + # RUST_CROSS_TARGETS=( + # "AArch64:aarch64-unknown-linux-gnu:aarch64-unknown-linux-gnu" + # ) + # no extra hand holding is done, no target transformations, all + # values are passed as-is with just basic checks, so it's up to user to supply correct values + # valid rust targets can be obtained with + # rustc --print target-list + # matching cross toolchain has to be installed + # matching LLVM_TARGET has to be enabled for both rust and llvm (if using system one) + # only gcc toolchains installed with crossdev are checked for now. + + # BUG: we can't pass host flags to cross compiler, so just filter for now + # BUG: this should be more fine-grained. + filter-flags '-mcpu=*' '-march=*' '-mtune=*' + + local cross_target_spec + for cross_target_spec in "${RUST_CROSS_TARGETS[@]}";do + # extracts first element form <LLVM target>:<rust-target>:<CTARGET> + local cross_llvm_target="${cross_target_spec%%:*}" + # extracts toolchain triples, <rust-target>:<CTARGET> + local cross_triples="${cross_target_spec#*:}" + # extracts first element after before : separator + local cross_rust_target="${cross_triples%%:*}" + # extracts last element after : separator + local cross_toolchain="${cross_triples##*:}" + use llvm_targets_${cross_llvm_target} || die "need llvm_targets_${cross_llvm_target} target enabled" + command -v ${cross_toolchain}-gcc > /dev/null 2>&1 || die "need ${cross_toolchain} cross toolchain" + + cat <<- _EOF_ >> "${S}"/config.toml + [target.${cross_rust_target}] + ar = "${cross_toolchain}-ar" + cc = "${cross_toolchain}-gcc" + cxx = "${cross_toolchain}-g++" + linker = "${cross_toolchain}-gcc" + ranlib = "${cross_toolchain}-ranlib" + _EOF_ + if use system-llvm; then + cat <<- _EOF_ >> "${S}"/config.toml + llvm-config = "$(get_llvm_prefix)/bin/llvm-config" + _EOF_ + fi + if [[ "${cross_toolchain}" == *-musl* ]]; then + cat <<- _EOF_ >> "${S}"/config.toml + musl-root = "$(${cross_toolchain}-gcc -print-sysroot)/usr" + _EOF_ + fi + + # append cross target to "normal" target list + # example 'target = ["powerpc64le-unknown-linux-gnu"]' + # becomes 'target = ["powerpc64le-unknown-linux-gnu","aarch64-unknown-linux-gnu"]' + + rust_targets="${rust_targets},\"${cross_rust_target}\"" + sed -i "/^target = \[/ s#\[.*\]#\[${rust_targets}\]#" config.toml || die + + ewarn + ewarn "Enabled ${cross_rust_target} rust target" + ewarn "Using ${cross_toolchain} cross toolchain" + ewarn + if ! has_version -b 'sys-devel/binutils[multitarget]' ; then + ewarn "'sys-devel/binutils[multitarget]' is not installed" + ewarn "'strip' will be unable to strip cross libraries" + ewarn "cross targets will be installed with full debug information" + ewarn "enable 'multitarget' USE flag for binutils to be able to strip object files" + ewarn + ewarn "Alternatively llvm-strip can be used, it supports stripping any target" + ewarn "define STRIP=\"llvm-strip\" to use it (experimental)" + ewarn + fi + done + fi # I_KNOW_WHAT_I_AM_DOING_CROSS + + einfo "Rust configured with the following flags:" + echo + echo RUSTFLAGS="\"${RUSTFLAGS}\"" + echo RUSTFLAGS_BOOTSTRAP="\"${RUSTFLAGS_BOOTSTRAP}\"" + echo RUSTFLAGS_NOT_BOOTSTRAP="\"${RUSTFLAGS_NOT_BOOTSTRAP}\"" + echo MAGIC_EXTRA_RUSTFLAGS="\"${MAGIC_EXTRA_RUSTFLAGS}\"" + env | grep "CARGO_TARGET_.*_RUSTFLAGS=" + env | grep "CFLAGS_.*" + echo + einfo "config.toml contents:" + cat "${S}"/config.toml || die + echo +} + +src_compile() { + RUST_BACKTRACE=1 "${EPYTHON}" ./x.py build -vvv --config="${S}"/config.toml -j$(makeopts_jobs) || die +} + +src_test() { + # https://rustc-dev-guide.rust-lang.org/tests/intro.html + + # those are basic and codegen tests. + local tests=( + codegen + codegen-units + compile-fail + incremental + mir-opt + pretty + run-make + ) + + # fails if llvm is not built with ALL targets. + # and known to fail with system llvm sometimes. + use system-llvm || tests+=( assembly ) + + # fragile/expensive/less important tests + # or tests that require extra builds + # TODO: instead of skipping, just make some nonfatal. + if [[ ${ERUST_RUN_EXTRA_TESTS:-no} != no ]]; then + tests+=( + rustdoc + rustdoc-js + rustdoc-js-std + rustdoc-ui + run-make-fulldeps + ui + ui-fulldeps + ) + fi + + local i failed=() + einfo "rust_src_test: enabled tests ${tests[@]/#/src/test/}" + for i in "${tests[@]}"; do + local t="src/test/${i}" + einfo "rust_src_test: running ${t}" + if ! RUST_BACKTRACE=1 "${EPYTHON}" ./x.py test -vv --config="${S}"/config.toml \ + -j$(makeopts_jobs) --no-doc --no-fail-fast "${t}" + then + failed+=( "${t}" ) + eerror "rust_src_test: ${t} failed" + fi + done + + if [[ ${#failed[@]} -ne 0 ]]; then + eerror "rust_src_test: failure summary: ${failed[@]}" + die "aborting due to test failures" + fi +} + +src_install() { + DESTDIR="${D}" "${EPYTHON}" ./x.py install -vv --config="${S}"/config.toml -j$(makeopts_jobs) || die + + # bug #689562, #689160 + rm -v "${ED}/usr/lib/${PN}/${PV}/etc/bash_completion.d/cargo" || die + rmdir -v "${ED}/usr/lib/${PN}/${PV}"/etc{/bash_completion.d,} || die + + local symlinks=( + cargo + rustc + rustdoc + rust-gdb + rust-gdbgui + rust-lldb + rust-demangler + ) + + use clippy && symlinks+=( clippy-driver cargo-clippy ) + use miri && symlinks+=( miri cargo-miri ) + use rustfmt && symlinks+=( rustfmt cargo-fmt ) + use rust-analyzer && symlinks+=( rust-analyzer ) + + einfo "installing eselect-rust symlinks and paths: ${symlinks[@]}" + local i + for i in "${symlinks[@]}"; do + # we need realpath on /usr/bin/* symlink return version-appended binary path. + # so /usr/bin/rustc should point to /usr/lib/rust/<ver>/bin/rustc-<ver> + # need to fix eselect-rust to remove this hack. + local ver_i="${i}-${PV}" + if [[ -f "${ED}/usr/lib/${PN}/${PV}/bin/${i}" ]]; then + einfo "Installing ${i} symlink" + ln -v "${ED}/usr/lib/${PN}/${PV}/bin/${i}" "${ED}/usr/lib/${PN}/${PV}/bin/${ver_i}" || die + else + ewarn "${i} symlink requested, but source file not found" + ewarn "please report this" + fi + dosym "../lib/${PN}/${PV}/bin/${ver_i}" "/usr/bin/${ver_i}" + done + + # symlinks to switch components to active rust in eselect + dosym "${PV}/lib" "/usr/lib/${PN}/lib-${PV}" + dosym "${PV}/libexec" "/usr/lib/${PN}/libexec-${PV}" + dosym "${PV}/share/man" "/usr/lib/${PN}/man-${PV}" + dosym "rust/${PV}/lib/rustlib" "/usr/lib/rustlib-${PV}" + dosym "../../lib/${PN}/${PV}/share/doc/rust" "/usr/share/doc/${P}" + + newenvd - "50${P}" <<-_EOF_ + LDPATH="${EPREFIX}/usr/lib/rust/lib-${PV}" + MANPATH="${EPREFIX}/usr/lib/rust/man-${PV}" + _EOF_ + + rm -rf "${ED}/usr/lib/${PN}/${PV}"/*.old || die + rm -rf "${ED}/usr/lib/${PN}/${PV}/bin"/*.old || die + rm -rf "${ED}/usr/lib/${PN}/${PV}/doc"/*.old || die + + # note: eselect-rust adds EROOT to all paths below + cat <<-_EOF_ > "${T}/provider-${P}" + /usr/bin/cargo + /usr/bin/rustdoc + /usr/bin/rust-demangler + /usr/bin/rust-gdb + /usr/bin/rust-gdbgui + /usr/bin/rust-lldb + /usr/lib/rustlib + /usr/lib/rust/lib + /usr/lib/rust/libexec + /usr/lib/rust/man + /usr/share/doc/rust + _EOF_ + + if use clippy; then + echo /usr/bin/clippy-driver >> "${T}/provider-${P}" + echo /usr/bin/cargo-clippy >> "${T}/provider-${P}" + fi + if use miri; then + echo /usr/bin/miri >> "${T}/provider-${P}" + echo /usr/bin/cargo-miri >> "${T}/provider-${P}" + fi + if use rustfmt; then + echo /usr/bin/rustfmt >> "${T}/provider-${P}" + echo /usr/bin/cargo-fmt >> "${T}/provider-${P}" + fi + if use rust-analyzer; then + echo /usr/bin/rust-analyzer >> "${T}/provider-${P}" + fi + + insinto /etc/env.d/rust + doins "${T}/provider-${P}" + + if use dist; then + insinto "/usr/lib/${PN}/${PV}/dist" + doins -r "${S}/build/dist/." + fi +} + +pkg_postinst() { + eselect rust update + + if has_version dev-debug/gdb || has_version dev-debug/lldb; then + elog "Rust installs a helper script for calling GDB and LLDB," + elog "for your convenience it is installed under /usr/bin/rust-{gdb,lldb}-${PV}." + fi + + if has_version app-editors/emacs; then + elog "install app-emacs/rust-mode to get emacs support for rust." + fi + + if has_version app-editors/gvim || has_version app-editors/vim; then + elog "install app-vim/rust-vim to get vim support for rust." + fi +} + +pkg_postrm() { + eselect rust cleanup +} diff --git a/dev-lang/rust/rust-1.79.0-r100.ebuild b/dev-lang/rust/rust-1.79.0-r100.ebuild new file mode 100644 index 000000000000..d33958ee42ba --- /dev/null +++ b/dev-lang/rust/rust-1.79.0-r100.ebuild @@ -0,0 +1,774 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +LLVM_COMPAT=( 18 ) +PYTHON_COMPAT=( python3_{10..13} ) + +inherit check-reqs estack flag-o-matic llvm-r1 multiprocessing \ + multilib multilib-build python-any-r1 rust-toolchain toolchain-funcs verify-sig + +if [[ ${PV} = *beta* ]]; then + betaver=${PV//*beta} + BETA_SNAPSHOT="${betaver:0:4}-${betaver:4:2}-${betaver:6:2}" + MY_P="rustc-beta" + SRC="${BETA_SNAPSHOT}/rustc-beta-src.tar.xz -> rustc-${PV}-src.tar.xz" +else + MY_P="rustc-${PV}" + SRC="${MY_P}-src.tar.xz" + KEYWORDS="amd64 arm arm64 ~loong ~mips ppc ppc64 ~riscv sparc x86" +fi + +RUST_STAGE0_VERSION="1.$(($(ver_cut 2) - 1)).0" + +DESCRIPTION="Systems programming language from Mozilla" +HOMEPAGE="https://www.rust-lang.org/" + +SRC_URI=" + https://static.rust-lang.org/dist/${SRC} + verify-sig? ( https://static.rust-lang.org/dist/${SRC}.asc ) + !system-bootstrap? ( $(rust_all_arch_uris rust-${RUST_STAGE0_VERSION}) ) +" +S="${WORKDIR}/${MY_P}-src" + +# keep in sync with llvm ebuild of the same version as bundled one. +ALL_LLVM_TARGETS=( AArch64 AMDGPU ARC ARM AVR BPF CSKY DirectX Hexagon Lanai + LoongArch M68k Mips MSP430 NVPTX PowerPC RISCV Sparc SPIRV SystemZ VE + WebAssembly X86 XCore Xtensa ) +ALL_LLVM_TARGETS=( "${ALL_LLVM_TARGETS[@]/#/llvm_targets_}" ) +LLVM_TARGET_USEDEPS=${ALL_LLVM_TARGETS[@]/%/(-)?} + +LICENSE="|| ( MIT Apache-2.0 ) BSD BSD-1 BSD-2 BSD-4" +SLOT="${PV}" + +IUSE="big-endian clippy cpu_flags_x86_sse2 debug dist doc llvm-libunwind lto miri nightly parallel-compiler rustfmt rust-analyzer rust-src system-bootstrap system-llvm test wasm ${ALL_LLVM_TARGETS[*]}" + +LLVM_DEPEND=() +# splitting usedeps needed to avoid CI/pkgcheck's UncheckableDep limitation +for _x in "${ALL_LLVM_TARGETS[@]}"; do + LLVM_DEPEND+=( " ${_x}? ( $(llvm_gen_dep "sys-devel/llvm:\${LLVM_SLOT}[${_x}]") )" ) +done +LLVM_DEPEND+=( " wasm? ( $(llvm_gen_dep 'sys-devel/lld:${LLVM_SLOT}') )" ) +LLVM_DEPEND+=( " $(llvm_gen_dep 'sys-devel/llvm:${LLVM_SLOT}')" ) + +# to bootstrap we need at least exactly previous version, or same. +# most of the time previous versions fail to bootstrap with newer +# for example 1.47.x, requires at least 1.46.x, 1.47.x is ok, +# but it fails to bootstrap with 1.48.x +# https://github.com/rust-lang/rust/blob/${PV}/src/stage0.json +RUST_DEP_PREV="$(ver_cut 1).$(($(ver_cut 2) - 1))*" +RUST_DEP_CURR="$(ver_cut 1).$(ver_cut 2)*" +BOOTSTRAP_DEPEND="|| + ( + =dev-lang/rust-"${RUST_DEP_PREV}" + =dev-lang/rust-bin-"${RUST_DEP_PREV}" + =dev-lang/rust-"${RUST_DEP_CURR}" + =dev-lang/rust-bin-"${RUST_DEP_CURR}" + ) +" + +BDEPEND="${PYTHON_DEPS} + app-eselect/eselect-rust + || ( + >=sys-devel/gcc-4.7 + >=sys-devel/clang-3.5 + ) + system-bootstrap? ( ${BOOTSTRAP_DEPEND} ) + !system-llvm? ( + >=dev-build/cmake-3.13.4 + app-alternatives/ninja + ) + test? ( dev-debug/gdb ) + verify-sig? ( sec-keys/openpgp-keys-rust ) +" + +DEPEND=" + >=app-arch/xz-utils-5.2 + net-misc/curl:=[http2,ssl] + sys-libs/zlib:= + dev-libs/openssl:0= + system-llvm? ( + ${LLVM_DEPEND} + llvm-libunwind? ( sys-libs/llvm-libunwind:= ) + ) + !system-llvm? ( + !llvm-libunwind? ( + elibc_musl? ( sys-libs/libunwind:= ) + ) + ) +" + +RDEPEND="${DEPEND} + app-eselect/eselect-rust + dev-lang/rust-common + sys-apps/lsb-release + !dev-lang/rust:stable/1.71.1 + !dev-lang/rust:stable/1.74.1 + !dev-lang/rust:stable/1.75.0 + !dev-lang/rust:stable/1.77.1 + !dev-lang/rust:stable/1.79.0 + !dev-lang/rust:stable/1.80.1 + !dev-lang/rust:stable/1.81.0 + !dev-lang/rust:stable/1.82.0 +" + +REQUIRED_USE="|| ( ${ALL_LLVM_TARGETS[*]} ) + miri? ( nightly ) + parallel-compiler? ( nightly ) + rust-analyzer? ( rust-src ) + test? ( ${ALL_LLVM_TARGETS[*]} ) + wasm? ( llvm_targets_WebAssembly ) + x86? ( cpu_flags_x86_sse2 ) +" + +# we don't use cmake.eclass, but can get a warning +CMAKE_WARN_UNUSED_CLI=no + +QA_FLAGS_IGNORED=" + usr/lib/${PN}/${PV}/bin/.* + usr/lib/${PN}/${PV}/libexec/.* + usr/lib/${PN}/${PV}/lib/lib.*.so + usr/lib/${PN}/${PV}/lib/rustlib/.*/bin/.* + usr/lib/${PN}/${PV}/lib/rustlib/.*/lib/lib.*.so +" + +QA_SONAME=" + usr/lib/${PN}/${PV}/lib/lib.*.so.* + usr/lib/${PN}/${PV}/lib/rustlib/.*/lib/lib.*.so +" + +QA_PRESTRIPPED=" + usr/lib/${PN}/${PV}/lib/rustlib/.*/bin/rust-llvm-dwp + usr/lib/${PN}/${PV}/lib/rustlib/.*/lib/self-contained/crtn.o +" + +# An rmeta file is custom binary format that contains the metadata for the crate. +# rmeta files do not support linking, since they do not contain compiled object files. +# so we can safely silence the warning for this QA check. +QA_EXECSTACK="usr/lib/${PN}/${PV}/lib/rustlib/*/lib*.rlib:lib.rmeta" + +# causes double bootstrap +RESTRICT="test" + +VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/rust.asc + +PATCHES=( + "${FILESDIR}"/1.78.0-musl-dynamic-linking.patch + "${FILESDIR}"/1.74.1-cross-compile-libz.patch + #"${FILESDIR}"/1.72.0-bump-libc-deps-to-0.2.146.patch # pending refresh + "${FILESDIR}"/1.78.0-ignore-broken-and-non-applicable-tests.patch + "${FILESDIR}"/1.67.0-doc-wasm.patch + "${FILESDIR}"/1.79.0-revert-8c40426.patch +) + +clear_vendor_checksums() { + sed -i 's/\("files":{\)[^}]*/\1/' "vendor/${1}/.cargo-checksum.json" || die +} + +toml_usex() { + usex "${1}" true false +} + +bootstrap_rust_version_check() { + # never call from pkg_pretend. eselect-rust may be not installed yet. + [[ ${MERGE_TYPE} == binary ]] && return + local rustc_wanted="$(ver_cut 1).$(($(ver_cut 2) - 1))" + local rustc_toonew="$(ver_cut 1).$(($(ver_cut 2) + 1))" + local rustc_version=( $(eselect --brief --root="${BROOT}" rust show 2>/dev/null) ) + rustc_version=${rustc_version[0]#rust-bin-} + rustc_version=${rustc_version#rust-} + + [[ -z "${rustc_version}" ]] && die "Failed to determine rust version, check 'eselect rust' output" + + if ver_test "${rustc_version}" -lt "${rustc_wanted}" ; then + eerror "Rust >=${rustc_wanted} is required" + eerror "please run 'eselect rust' and set correct rust version" + die "selected rust version is too old" + elif ver_test "${rustc_version}" -ge "${rustc_toonew}" ; then + eerror "Rust <${rustc_toonew} is required" + eerror "please run 'eselect rust' and set correct rust version" + die "selected rust version is too new" + else + einfo "Using rust ${rustc_version} to build" + fi +} + +pre_build_checks() { + local M=8192 + # multiply requirements by 1.3 if we are doing x86-multilib + if use amd64; then + M=$(( $(usex abi_x86_32 13 10) * ${M} / 10 )) + fi + M=$(( $(usex clippy 128 0) + ${M} )) + M=$(( $(usex miri 128 0) + ${M} )) + M=$(( $(usex rustfmt 256 0) + ${M} )) + # add 2G if we compile llvm and 256M per llvm_target + if ! use system-llvm; then + M=$(( 2048 + ${M} )) + local ltarget + for ltarget in ${ALL_LLVM_TARGETS[@]}; do + M=$(( $(usex ${ltarget} 256 0) + ${M} )) + done + fi + M=$(( $(usex wasm 256 0) + ${M} )) + M=$(( $(usex debug 2 1) * ${M} )) + eshopts_push -s extglob + if is-flagq '-g?(gdb)?([1-9])'; then + M=$(( 15 * ${M} / 10 )) + fi + eshopts_pop + M=$(( $(usex system-bootstrap 0 1024) + ${M} )) + M=$(( $(usex doc 256 0) + ${M} )) + CHECKREQS_DISK_BUILD=${M}M check-reqs_pkg_${EBUILD_PHASE} +} + +llvm_check_deps() { + has_version -r "sys-devel/llvm:${LLVM_SLOT}[${LLVM_TARGET_USEDEPS// /,}]" +} + +# Is LLVM being linked against libc++? +is_libcxx_linked() { + local code='#include <ciso646> +#if defined(_LIBCPP_VERSION) + HAVE_LIBCXX +#endif +' + local out=$($(tc-getCXX) ${CXXFLAGS} ${CPPFLAGS} -x c++ -E -P - <<<"${code}") || return 1 + [[ ${out} == *HAVE_LIBCXX* ]] +} + +pkg_pretend() { + pre_build_checks +} + +pkg_setup() { + pre_build_checks + python-any-r1_pkg_setup + + export LIBGIT2_NO_PKG_CONFIG=1 #749381 + if tc-is-cross-compiler; then + export PKG_CONFIG_ALLOW_CROSS=1 + export PKG_CONFIG_PATH="${ROOT}/usr/$(get_libdir)/pkgconfig" + export OPENSSL_INCLUDE_DIR="${ROOT}/usr/include" + export OPENSSL_LIB_DIR="${ROOT}/usr/$(get_libdir)" + + use system-bootstrap || die "USE=system-bootstrap is required when cross-compiling" + use system-llvm && die "USE=system-llvm not allowed when cross-compiling" + local cross_llvm_target="$(llvm_tuple_to_target "${CBUILD}")" + use "llvm_targets_${cross_llvm_target}" || \ + die "Must enable LLVM_TARGETS=${cross_llvm_target} matching CBUILD=${CBUILD} when cross-compiling" + fi + + use system-bootstrap && bootstrap_rust_version_check + + if use system-llvm; then + llvm-r1_pkg_setup + + local llvm_config="$(get_llvm_prefix "${LLVM_SLOT}")/bin/llvm-config" + export LLVM_LINK_SHARED=1 + export RUSTFLAGS="${RUSTFLAGS} -Lnative=$("${llvm_config}" --libdir)" + fi +} + +esetup_unwind_hack() { + # https://bugs.gentoo.org/870280 + # this is a hack needed to bootstrap with libgcc_s linked tarball on llvm-libunwind system. + # it should trigger for internal bootstrap or system-bootstrap with rust-bin. + # the whole idea is for stage0 to bootstrap with fake libgcc_s. + # final stage will receive -L${T}/lib but not -lgcc_s args, producing clean compiler. + local fakelib="${T}/fakelib" + mkdir -p "${fakelib}" || die + # we need both symlinks, one for cargo runtime, other for linker. + ln -s "${ESYSROOT}/usr/lib/libunwind.so" "${fakelib}/libgcc_s.so.1" || die + ln -s "${ESYSROOT}/usr/lib/libunwind.so" "${fakelib}/libgcc_s.so" || die + export LD_LIBRARY_PATH="${fakelib}" + export RUSTFLAGS+=" -L${fakelib}" + # this is a literally magic variable that gets through cargo cache, without it some + # crates ignore RUSTFLAGS. + # this variable can not contain leading space. + export MAGIC_EXTRA_RUSTFLAGS+="${MAGIC_EXTRA_RUSTFLAGS:+ }-L${fakelib}" +} + +src_prepare() { + # Clear vendor checksums for crates that we patched to bump libc. + # NOTE: refresh this on each bump. + #for i in addr2line-0.20.0 bstr cranelift-jit crossbeam-channel elasticlunr-rs handlebars icu_locid libffi \ + # terminal_size tracing-tree; do + # clear_vendor_checksums "${i}" + #done + + if ! use system-bootstrap; then + has_version sys-devel/gcc || esetup_unwind_hack + local rust_stage0_root="${WORKDIR}"/rust-stage0 + local rust_stage0="rust-${RUST_STAGE0_VERSION}-$(rust_abi "${CBUILD}")" + + "${WORKDIR}/${rust_stage0}"/install.sh --disable-ldconfig \ + --without=rust-docs-json-preview,rust-docs --destdir="${rust_stage0_root}" --prefix=/ || die + fi + + default +} + +src_configure() { + filter-lto # https://bugs.gentoo.org/862109 https://bugs.gentoo.org/866231 + + local rust_target="" rust_targets="" arch_cflags + + # Collect rust target names to compile standard libs for all ABIs. + for v in $(multilib_get_enabled_abi_pairs); do + rust_targets+=",\"$(rust_abi $(get_abi_CHOST ${v##*.}))\"" + done + if use wasm; then + rust_targets+=",\"wasm32-unknown-unknown\"" + if use system-llvm; then + # un-hardcode rust-lld linker for this target + # https://bugs.gentoo.org/715348 + sed -i '/linker:/ s/rust-lld/wasm-ld/' compiler/rustc_target/src/spec/base/wasm.rs || die + fi + fi + rust_targets="${rust_targets#,}" + + # cargo and rustdoc are mandatory and should always be included + local tools='"cargo","rustdoc", "rust-demangler"' + use clippy && tools+=',"clippy"' + use miri && tools+=',"miri"' + use rustfmt && tools+=',"rustfmt"' + use rust-analyzer && tools+=',"rust-analyzer","rust-analyzer-proc-macro-srv"' + use rust-src && tools+=',"src"' + + local rust_stage0_root + if use system-bootstrap; then + local printsysroot + printsysroot="$(rustc --print sysroot || die "Can't determine rust's sysroot")" + rust_stage0_root="${printsysroot}" + else + rust_stage0_root="${WORKDIR}"/rust-stage0 + fi + # in case of prefix it will be already prefixed, as --print sysroot returns full path + [[ -d ${rust_stage0_root} ]] || die "${rust_stage0_root} is not a directory" + + rust_target="$(rust_abi)" + rust_build="$(rust_abi "${CBUILD}")" + rust_host="$(rust_abi "${CHOST}")" + + local cm_btype="$(usex debug DEBUG RELEASE)" + cat <<- _EOF_ > "${S}"/config.toml + [llvm] + download-ci-llvm = false + optimize = $(toml_usex !debug) + release-debuginfo = $(toml_usex debug) + assertions = $(toml_usex debug) + ninja = true + targets = "${LLVM_TARGETS// /;}" + experimental-targets = "" + link-shared = $(toml_usex system-llvm) + $(if is_libcxx_linked; then + # https://bugs.gentoo.org/732632 + echo "use-libcxx = true" + echo "static-libstdcpp = false" + fi) + $(case "${rust_target}" in + i586-*-linux-*) + # https://github.com/rust-lang/rust/issues/93059 + echo 'cflags = "-fcf-protection=none"' + echo 'cxxflags = "-fcf-protection=none"' + echo 'ldflags = "-fcf-protection=none"' + ;; + *) + ;; + esac) + enable-warnings = false + [llvm.build-config] + CMAKE_VERBOSE_MAKEFILE = "ON" + $(if ! tc-is-cross-compiler; then + # When cross-compiling, LLVM is compiled twice, once for host and + # once for target. Unfortunately, this build configuration applies + # to both, which means any flags applicable to one target but not + # the other will break. Conditionally disable respecting user + # flags when cross-compiling. + echo "CMAKE_C_FLAGS_${cm_btype} = \"${CFLAGS}\"" + echo "CMAKE_CXX_FLAGS_${cm_btype} = \"${CXXFLAGS}\"" + echo "CMAKE_EXE_LINKER_FLAGS_${cm_btype} = \"${LDFLAGS}\"" + echo "CMAKE_MODULE_LINKER_FLAGS_${cm_btype} = \"${LDFLAGS}\"" + echo "CMAKE_SHARED_LINKER_FLAGS_${cm_btype} = \"${LDFLAGS}\"" + echo "CMAKE_STATIC_LINKER_FLAGS_${cm_btype} = \"${ARFLAGS}\"" + fi) + [build] + build-stage = 2 + test-stage = 2 + build = "${rust_build}" + host = ["${rust_host}"] + target = [${rust_targets}] + cargo = "${rust_stage0_root}/bin/cargo" + rustc = "${rust_stage0_root}/bin/rustc" + rustfmt = "${rust_stage0_root}/bin/rustfmt" + docs = $(toml_usex doc) + compiler-docs = false + submodules = false + python = "${EPYTHON}" + locked-deps = true + vendor = true + extended = true + tools = [${tools}] + verbose = 2 + sanitizers = false + profiler = true + cargo-native-static = false + [install] + prefix = "${EPREFIX}/usr/lib/${PN}/${PV}" + sysconfdir = "etc" + docdir = "share/doc/rust" + bindir = "bin" + libdir = "lib" + mandir = "share/man" + [rust] + # https://github.com/rust-lang/rust/issues/54872 + codegen-units-std = 1 + optimize = true + debug = $(toml_usex debug) + debug-assertions = $(toml_usex debug) + debug-assertions-std = $(toml_usex debug) + debuginfo-level = $(usex debug 2 0) + debuginfo-level-rustc = $(usex debug 2 0) + debuginfo-level-std = $(usex debug 2 0) + debuginfo-level-tools = $(usex debug 2 0) + debuginfo-level-tests = 0 + backtrace = true + incremental = false + $(if ! tc-is-cross-compiler; then + echo "default-linker = \"$(tc-getCC)\"" + fi) + parallel-compiler = $(toml_usex parallel-compiler) + channel = "$(usex nightly nightly stable)" + description = "gentoo" + rpath = false + verbose-tests = true + optimize-tests = $(toml_usex !debug) + codegen-tests = true + dist-src = false + remap-debuginfo = true + lld = $(usex system-llvm false $(toml_usex wasm)) + # only deny warnings if doc+wasm are NOT requested, documenting stage0 wasm std fails without it + # https://github.com/rust-lang/rust/issues/74976 + # https://github.com/rust-lang/rust/issues/76526 + deny-warnings = $(usex wasm $(usex doc false true) true) + backtrace-on-ice = true + jemalloc = false + # See https://github.com/rust-lang/rust/issues/121124 + lto = "$(usex lto thin off)" + [dist] + src-tarball = false + compression-formats = ["xz"] + compression-profile = "balanced" + _EOF_ + + for v in $(multilib_get_enabled_abi_pairs); do + rust_target=$(rust_abi $(get_abi_CHOST ${v##*.})) + arch_cflags="$(get_abi_CFLAGS ${v##*.})" + + export CFLAGS_${rust_target//-/_}="${arch_cflags}" + + cat <<- _EOF_ >> "${S}"/config.toml + [target.${rust_target}] + ar = "$(tc-getAR)" + cc = "$(tc-getCC)" + cxx = "$(tc-getCXX)" + linker = "$(tc-getCC)" + ranlib = "$(tc-getRANLIB)" + llvm-libunwind = "$(usex llvm-libunwind $(usex system-llvm system in-tree) no)" + _EOF_ + if use system-llvm; then + cat <<- _EOF_ >> "${S}"/config.toml + llvm-config = "$(get_llvm_prefix)/bin/llvm-config" + _EOF_ + fi + # by default librustc_target/spec/linux_musl_base.rs sets base.crt_static_default = true; + # but we patch it and set to false here as well + if use elibc_musl; then + cat <<- _EOF_ >> "${S}"/config.toml + crt-static = false + musl-root = "$($(tc-getCC) -print-sysroot)/usr" + _EOF_ + fi + done + if use wasm; then + wasm_target="wasm32-unknown-unknown" + export CFLAGS_${wasm_target//-/_}="$(filter-flags '-mcpu*' '-march*' '-mtune*'; echo "$CFLAGS")" + cat <<- _EOF_ >> "${S}"/config.toml + [target.wasm32-unknown-unknown] + linker = "$(usex system-llvm lld rust-lld)" + # wasm target does not have profiler_builtins https://bugs.gentoo.org/848483 + profiler = false + _EOF_ + fi + + if [[ -n ${I_KNOW_WHAT_I_AM_DOING_CROSS} ]]; then # whitespace intentionally shifted below + # experimental cross support + # discussion: https://bugs.gentoo.org/679878 + # TODO: c*flags, clang, system-llvm, cargo.eclass target support + # it would be much better if we could split out stdlib + # complilation to separate ebuild and abuse CATEGORY to + # just install to /usr/lib/rustlib/<target> + + # extra targets defined as a bash array + # spec format: <LLVM target>:<rust-target>:<CTARGET> + # best place would be /etc/portage/env/dev-lang/rust + # Example: + # RUST_CROSS_TARGETS=( + # "AArch64:aarch64-unknown-linux-gnu:aarch64-unknown-linux-gnu" + # ) + # no extra hand holding is done, no target transformations, all + # values are passed as-is with just basic checks, so it's up to user to supply correct values + # valid rust targets can be obtained with + # rustc --print target-list + # matching cross toolchain has to be installed + # matching LLVM_TARGET has to be enabled for both rust and llvm (if using system one) + # only gcc toolchains installed with crossdev are checked for now. + + # BUG: we can't pass host flags to cross compiler, so just filter for now + # BUG: this should be more fine-grained. + filter-flags '-mcpu=*' '-march=*' '-mtune=*' + + local cross_target_spec + for cross_target_spec in "${RUST_CROSS_TARGETS[@]}";do + # extracts first element form <LLVM target>:<rust-target>:<CTARGET> + local cross_llvm_target="${cross_target_spec%%:*}" + # extracts toolchain triples, <rust-target>:<CTARGET> + local cross_triples="${cross_target_spec#*:}" + # extracts first element after before : separator + local cross_rust_target="${cross_triples%%:*}" + # extracts last element after : separator + local cross_toolchain="${cross_triples##*:}" + use llvm_targets_${cross_llvm_target} || die "need llvm_targets_${cross_llvm_target} target enabled" + command -v ${cross_toolchain}-gcc > /dev/null 2>&1 || die "need ${cross_toolchain} cross toolchain" + + cat <<- _EOF_ >> "${S}"/config.toml + [target.${cross_rust_target}] + ar = "${cross_toolchain}-ar" + cc = "${cross_toolchain}-gcc" + cxx = "${cross_toolchain}-g++" + linker = "${cross_toolchain}-gcc" + ranlib = "${cross_toolchain}-ranlib" + _EOF_ + if use system-llvm; then + cat <<- _EOF_ >> "${S}"/config.toml + llvm-config = "$(get_llvm_prefix)/bin/llvm-config" + _EOF_ + fi + if [[ "${cross_toolchain}" == *-musl* ]]; then + cat <<- _EOF_ >> "${S}"/config.toml + musl-root = "$(${cross_toolchain}-gcc -print-sysroot)/usr" + _EOF_ + fi + + # append cross target to "normal" target list + # example 'target = ["powerpc64le-unknown-linux-gnu"]' + # becomes 'target = ["powerpc64le-unknown-linux-gnu","aarch64-unknown-linux-gnu"]' + + rust_targets="${rust_targets},\"${cross_rust_target}\"" + sed -i "/^target = \[/ s#\[.*\]#\[${rust_targets}\]#" config.toml || die + + ewarn + ewarn "Enabled ${cross_rust_target} rust target" + ewarn "Using ${cross_toolchain} cross toolchain" + ewarn + if ! has_version -b 'sys-devel/binutils[multitarget]' ; then + ewarn "'sys-devel/binutils[multitarget]' is not installed" + ewarn "'strip' will be unable to strip cross libraries" + ewarn "cross targets will be installed with full debug information" + ewarn "enable 'multitarget' USE flag for binutils to be able to strip object files" + ewarn + ewarn "Alternatively llvm-strip can be used, it supports stripping any target" + ewarn "define STRIP=\"llvm-strip\" to use it (experimental)" + ewarn + fi + done + fi # I_KNOW_WHAT_I_AM_DOING_CROSS + + einfo "Rust configured with the following flags:" + echo + echo RUSTFLAGS="\"${RUSTFLAGS}\"" + echo RUSTFLAGS_BOOTSTRAP="\"${RUSTFLAGS_BOOTSTRAP}\"" + echo RUSTFLAGS_NOT_BOOTSTRAP="\"${RUSTFLAGS_NOT_BOOTSTRAP}\"" + echo MAGIC_EXTRA_RUSTFLAGS="\"${MAGIC_EXTRA_RUSTFLAGS}\"" + env | grep "CARGO_TARGET_.*_RUSTFLAGS=" + env | grep "CFLAGS_.*" + echo + einfo "config.toml contents:" + cat "${S}"/config.toml || die + echo +} + +src_compile() { + RUST_BACKTRACE=1 "${EPYTHON}" ./x.py build -vvv --config="${S}"/config.toml -j$(makeopts_jobs) || die +} + +src_test() { + # https://rustc-dev-guide.rust-lang.org/tests/intro.html + + # those are basic and codegen tests. + local tests=( + codegen + codegen-units + compile-fail + incremental + mir-opt + pretty + run-make + ) + + # fails if llvm is not built with ALL targets. + # and known to fail with system llvm sometimes. + use system-llvm || tests+=( assembly ) + + # fragile/expensive/less important tests + # or tests that require extra builds + # TODO: instead of skipping, just make some nonfatal. + if [[ ${ERUST_RUN_EXTRA_TESTS:-no} != no ]]; then + tests+=( + rustdoc + rustdoc-js + rustdoc-js-std + rustdoc-ui + run-make-fulldeps + ui + ui-fulldeps + ) + fi + + local i failed=() + einfo "rust_src_test: enabled tests ${tests[@]/#/src/test/}" + for i in "${tests[@]}"; do + local t="src/test/${i}" + einfo "rust_src_test: running ${t}" + if ! RUST_BACKTRACE=1 "${EPYTHON}" ./x.py test -vv --config="${S}"/config.toml \ + -j$(makeopts_jobs) --no-doc --no-fail-fast "${t}" + then + failed+=( "${t}" ) + eerror "rust_src_test: ${t} failed" + fi + done + + if [[ ${#failed[@]} -ne 0 ]]; then + eerror "rust_src_test: failure summary: ${failed[@]}" + die "aborting due to test failures" + fi +} + +src_install() { + DESTDIR="${D}" "${EPYTHON}" ./x.py install -vv --config="${S}"/config.toml -j$(makeopts_jobs) || die + + # bug #689562, #689160 + rm -v "${ED}/usr/lib/${PN}/${PV}/etc/bash_completion.d/cargo" || die + rmdir -v "${ED}/usr/lib/${PN}/${PV}"/etc{/bash_completion.d,} || die + + local symlinks=( + cargo + rustc + rustdoc + rust-gdb + rust-gdbgui + rust-lldb + rust-demangler + ) + + use clippy && symlinks+=( clippy-driver cargo-clippy ) + use miri && symlinks+=( miri cargo-miri ) + use rustfmt && symlinks+=( rustfmt cargo-fmt ) + use rust-analyzer && symlinks+=( rust-analyzer ) + + einfo "installing eselect-rust symlinks and paths: ${symlinks[@]}" + local i + for i in "${symlinks[@]}"; do + # we need realpath on /usr/bin/* symlink return version-appended binary path. + # so /usr/bin/rustc should point to /usr/lib/rust/<ver>/bin/rustc-<ver> + # need to fix eselect-rust to remove this hack. + local ver_i="${i}-${PV}" + if [[ -f "${ED}/usr/lib/${PN}/${PV}/bin/${i}" ]]; then + einfo "Installing ${i} symlink" + ln -v "${ED}/usr/lib/${PN}/${PV}/bin/${i}" "${ED}/usr/lib/${PN}/${PV}/bin/${ver_i}" || die + else + ewarn "${i} symlink requested, but source file not found" + ewarn "please report this" + fi + dosym "../lib/${PN}/${PV}/bin/${ver_i}" "/usr/bin/${ver_i}" + done + + # symlinks to switch components to active rust in eselect + dosym "${PV}/lib" "/usr/lib/${PN}/lib-${PV}" + dosym "${PV}/libexec" "/usr/lib/${PN}/libexec-${PV}" + dosym "${PV}/share/man" "/usr/lib/${PN}/man-${PV}" + dosym "rust/${PV}/lib/rustlib" "/usr/lib/rustlib-${PV}" + dosym "../../lib/${PN}/${PV}/share/doc/rust" "/usr/share/doc/${P}" + + newenvd - "50${P}" <<-_EOF_ + LDPATH="${EPREFIX}/usr/lib/rust/lib-${PV}" + MANPATH="${EPREFIX}/usr/lib/rust/man-${PV}" + _EOF_ + + rm -rf "${ED}/usr/lib/${PN}/${PV}"/*.old || die + rm -rf "${ED}/usr/lib/${PN}/${PV}/bin"/*.old || die + rm -rf "${ED}/usr/lib/${PN}/${PV}/doc"/*.old || die + + # note: eselect-rust adds EROOT to all paths below + cat <<-_EOF_ > "${T}/provider-${P}" + /usr/bin/cargo + /usr/bin/rustdoc + /usr/bin/rust-demangler + /usr/bin/rust-gdb + /usr/bin/rust-gdbgui + /usr/bin/rust-lldb + /usr/lib/rustlib + /usr/lib/rust/lib + /usr/lib/rust/libexec + /usr/lib/rust/man + /usr/share/doc/rust + _EOF_ + + if use clippy; then + echo /usr/bin/clippy-driver >> "${T}/provider-${P}" + echo /usr/bin/cargo-clippy >> "${T}/provider-${P}" + fi + if use miri; then + echo /usr/bin/miri >> "${T}/provider-${P}" + echo /usr/bin/cargo-miri >> "${T}/provider-${P}" + fi + if use rustfmt; then + echo /usr/bin/rustfmt >> "${T}/provider-${P}" + echo /usr/bin/cargo-fmt >> "${T}/provider-${P}" + fi + if use rust-analyzer; then + echo /usr/bin/rust-analyzer >> "${T}/provider-${P}" + fi + + insinto /etc/env.d/rust + doins "${T}/provider-${P}" + + if use dist; then + "${EPYTHON}" ./x.py dist -vv --config="${S}"/config.toml -j$(makeopts_jobs) || die + insinto "/usr/lib/${PN}/${PV}/dist" + doins -r "${S}/build/dist/." + fi +} + +pkg_postinst() { + eselect rust update + + if has_version dev-debug/gdb || has_version dev-debug/lldb; then + elog "Rust installs a helper script for calling GDB and LLDB," + elog "for your convenience it is installed under /usr/bin/rust-{gdb,lldb}-${PV}." + fi + + if has_version app-editors/emacs; then + elog "install app-emacs/rust-mode to get emacs support for rust." + fi + + if has_version app-editors/gvim || has_version app-editors/vim; then + elog "install app-vim/rust-vim to get vim support for rust." + fi +} + +pkg_postrm() { + eselect rust cleanup +} diff --git a/dev-lang/rust/rust-1.80.1-r100.ebuild b/dev-lang/rust/rust-1.80.1-r100.ebuild new file mode 100644 index 000000000000..3ae140bf6924 --- /dev/null +++ b/dev-lang/rust/rust-1.80.1-r100.ebuild @@ -0,0 +1,773 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +LLVM_COMPAT=( 18 ) +PYTHON_COMPAT=( python3_{10..13} ) + +inherit check-reqs estack flag-o-matic llvm-r1 multiprocessing \ + multilib multilib-build python-any-r1 rust-toolchain toolchain-funcs verify-sig + +if [[ ${PV} = *beta* ]]; then + betaver=${PV//*beta} + BETA_SNAPSHOT="${betaver:0:4}-${betaver:4:2}-${betaver:6:2}" + MY_P="rustc-beta" + SRC="${BETA_SNAPSHOT}/rustc-beta-src.tar.xz -> rustc-${PV}-src.tar.xz" +else + MY_P="rustc-${PV}" + SRC="${MY_P}-src.tar.xz" + KEYWORDS="amd64 arm arm64 ~loong ~mips ppc ppc64 ~riscv sparc x86" +fi + +RUST_STAGE0_VERSION="1.$(($(ver_cut 2) - 1)).0" + +DESCRIPTION="Systems programming language from Mozilla" +HOMEPAGE="https://www.rust-lang.org/" + +SRC_URI=" + https://static.rust-lang.org/dist/${SRC} + verify-sig? ( https://static.rust-lang.org/dist/${SRC}.asc ) + !system-bootstrap? ( $(rust_all_arch_uris rust-${RUST_STAGE0_VERSION}) ) +" +S="${WORKDIR}/${MY_P}-src" + +# keep in sync with llvm ebuild of the same version as bundled one. +ALL_LLVM_TARGETS=( AArch64 AMDGPU ARC ARM AVR BPF CSKY DirectX Hexagon Lanai + LoongArch M68k Mips MSP430 NVPTX PowerPC RISCV Sparc SPIRV SystemZ VE + WebAssembly X86 XCore Xtensa ) +ALL_LLVM_TARGETS=( "${ALL_LLVM_TARGETS[@]/#/llvm_targets_}" ) +LLVM_TARGET_USEDEPS=${ALL_LLVM_TARGETS[@]/%/(-)?} + +LICENSE="|| ( MIT Apache-2.0 ) BSD BSD-1 BSD-2 BSD-4" +SLOT="${PV}" + +IUSE="big-endian clippy cpu_flags_x86_sse2 debug dist doc llvm-libunwind lto miri nightly parallel-compiler rustfmt rust-analyzer rust-src system-bootstrap system-llvm test wasm ${ALL_LLVM_TARGETS[*]}" + +LLVM_DEPEND=() +# splitting usedeps needed to avoid CI/pkgcheck's UncheckableDep limitation +for _x in "${ALL_LLVM_TARGETS[@]}"; do + LLVM_DEPEND+=( " ${_x}? ( $(llvm_gen_dep "sys-devel/llvm:\${LLVM_SLOT}[${_x}]") )" ) +done +LLVM_DEPEND+=( " wasm? ( $(llvm_gen_dep 'sys-devel/lld:${LLVM_SLOT}') )" ) +LLVM_DEPEND+=( " $(llvm_gen_dep 'sys-devel/llvm:${LLVM_SLOT}')" ) + +# to bootstrap we need at least exactly previous version, or same. +# most of the time previous versions fail to bootstrap with newer +# for example 1.47.x, requires at least 1.46.x, 1.47.x is ok, +# but it fails to bootstrap with 1.48.x +# https://github.com/rust-lang/rust/blob/${PV}/src/stage0.json +RUST_DEP_PREV="$(ver_cut 1).$(($(ver_cut 2) - 1))*" +RUST_DEP_CURR="$(ver_cut 1).$(ver_cut 2)*" +BOOTSTRAP_DEPEND="|| + ( + =dev-lang/rust-"${RUST_DEP_PREV}" + =dev-lang/rust-bin-"${RUST_DEP_PREV}" + =dev-lang/rust-"${RUST_DEP_CURR}" + =dev-lang/rust-bin-"${RUST_DEP_CURR}" + ) +" + +BDEPEND="${PYTHON_DEPS} + app-eselect/eselect-rust + || ( + >=sys-devel/gcc-4.7 + >=sys-devel/clang-3.5 + ) + system-bootstrap? ( ${BOOTSTRAP_DEPEND} ) + !system-llvm? ( + >=dev-build/cmake-3.13.4 + app-alternatives/ninja + ) + test? ( dev-debug/gdb ) + verify-sig? ( sec-keys/openpgp-keys-rust ) +" + +DEPEND=" + >=app-arch/xz-utils-5.2 + net-misc/curl:=[http2,ssl] + sys-libs/zlib:= + dev-libs/openssl:0= + system-llvm? ( + ${LLVM_DEPEND} + llvm-libunwind? ( sys-libs/llvm-libunwind:= ) + ) + !system-llvm? ( + !llvm-libunwind? ( + elibc_musl? ( sys-libs/libunwind:= ) + ) + ) +" + +RDEPEND="${DEPEND} + app-eselect/eselect-rust + dev-lang/rust-common + sys-apps/lsb-release + !dev-lang/rust:stable/1.71.1 + !dev-lang/rust:stable/1.74.1 + !dev-lang/rust:stable/1.75.0 + !dev-lang/rust:stable/1.77.1 + !dev-lang/rust:stable/1.79.0 + !dev-lang/rust:stable/1.80.1 + !dev-lang/rust:stable/1.81.0 + !dev-lang/rust:stable/1.82.0 +" + +REQUIRED_USE="|| ( ${ALL_LLVM_TARGETS[*]} ) + miri? ( nightly ) + parallel-compiler? ( nightly ) + rust-analyzer? ( rust-src ) + test? ( ${ALL_LLVM_TARGETS[*]} ) + wasm? ( llvm_targets_WebAssembly ) + x86? ( cpu_flags_x86_sse2 ) +" + +# we don't use cmake.eclass, but can get a warning +CMAKE_WARN_UNUSED_CLI=no + +QA_FLAGS_IGNORED=" + usr/lib/${PN}/${PV}/bin/.* + usr/lib/${PN}/${PV}/libexec/.* + usr/lib/${PN}/${PV}/lib/lib.*.so + usr/lib/${PN}/${PV}/lib/rustlib/.*/bin/.* + usr/lib/${PN}/${PV}/lib/rustlib/.*/lib/lib.*.so +" + +QA_SONAME=" + usr/lib/${PN}/${PV}/lib/lib.*.so.* + usr/lib/${PN}/${PV}/lib/rustlib/.*/lib/lib.*.so +" + +QA_PRESTRIPPED=" + usr/lib/${PN}/${PV}/lib/rustlib/.*/bin/rust-llvm-dwp + usr/lib/${PN}/${PV}/lib/rustlib/.*/lib/self-contained/crtn.o +" + +# An rmeta file is custom binary format that contains the metadata for the crate. +# rmeta files do not support linking, since they do not contain compiled object files. +# so we can safely silence the warning for this QA check. +QA_EXECSTACK="usr/lib/${PN}/${PV}/lib/rustlib/*/lib*.rlib:lib.rmeta" + +# causes double bootstrap +RESTRICT="test" + +VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/rust.asc + +PATCHES=( + "${FILESDIR}"/1.78.0-musl-dynamic-linking.patch + "${FILESDIR}"/1.74.1-cross-compile-libz.patch + #"${FILESDIR}"/1.72.0-bump-libc-deps-to-0.2.146.patch # pending refresh + "${FILESDIR}"/1.67.0-doc-wasm.patch + "${FILESDIR}"/1.79.0-revert-8c40426.patch +) + +clear_vendor_checksums() { + sed -i 's/\("files":{\)[^}]*/\1/' "vendor/${1}/.cargo-checksum.json" || die +} + +toml_usex() { + usex "${1}" true false +} + +bootstrap_rust_version_check() { + # never call from pkg_pretend. eselect-rust may be not installed yet. + [[ ${MERGE_TYPE} == binary ]] && return + local rustc_wanted="$(ver_cut 1).$(($(ver_cut 2) - 1))" + local rustc_toonew="$(ver_cut 1).$(($(ver_cut 2) + 1))" + local rustc_version=( $(eselect --brief --root="${BROOT}" rust show 2>/dev/null) ) + rustc_version=${rustc_version[0]#rust-bin-} + rustc_version=${rustc_version#rust-} + + [[ -z "${rustc_version}" ]] && die "Failed to determine rust version, check 'eselect rust' output" + + if ver_test "${rustc_version}" -lt "${rustc_wanted}" ; then + eerror "Rust >=${rustc_wanted} is required" + eerror "please run 'eselect rust' and set correct rust version" + die "selected rust version is too old" + elif ver_test "${rustc_version}" -ge "${rustc_toonew}" ; then + eerror "Rust <${rustc_toonew} is required" + eerror "please run 'eselect rust' and set correct rust version" + die "selected rust version is too new" + else + einfo "Using rust ${rustc_version} to build" + fi +} + +pre_build_checks() { + local M=8192 + # multiply requirements by 1.3 if we are doing x86-multilib + if use amd64; then + M=$(( $(usex abi_x86_32 13 10) * ${M} / 10 )) + fi + M=$(( $(usex clippy 128 0) + ${M} )) + M=$(( $(usex miri 128 0) + ${M} )) + M=$(( $(usex rustfmt 256 0) + ${M} )) + # add 2G if we compile llvm and 256M per llvm_target + if ! use system-llvm; then + M=$(( 2048 + ${M} )) + local ltarget + for ltarget in ${ALL_LLVM_TARGETS[@]}; do + M=$(( $(usex ${ltarget} 256 0) + ${M} )) + done + fi + M=$(( $(usex wasm 256 0) + ${M} )) + M=$(( $(usex debug 2 1) * ${M} )) + eshopts_push -s extglob + if is-flagq '-g?(gdb)?([1-9])'; then + M=$(( 15 * ${M} / 10 )) + fi + eshopts_pop + M=$(( $(usex system-bootstrap 0 1024) + ${M} )) + M=$(( $(usex doc 256 0) + ${M} )) + CHECKREQS_DISK_BUILD=${M}M check-reqs_pkg_${EBUILD_PHASE} +} + +llvm_check_deps() { + has_version -r "sys-devel/llvm:${LLVM_SLOT}[${LLVM_TARGET_USEDEPS// /,}]" +} + +# Is LLVM being linked against libc++? +is_libcxx_linked() { + local code='#include <ciso646> +#if defined(_LIBCPP_VERSION) + HAVE_LIBCXX +#endif +' + local out=$($(tc-getCXX) ${CXXFLAGS} ${CPPFLAGS} -x c++ -E -P - <<<"${code}") || return 1 + [[ ${out} == *HAVE_LIBCXX* ]] +} + +pkg_pretend() { + pre_build_checks +} + +pkg_setup() { + pre_build_checks + python-any-r1_pkg_setup + + export LIBGIT2_NO_PKG_CONFIG=1 #749381 + if tc-is-cross-compiler; then + export PKG_CONFIG_ALLOW_CROSS=1 + export PKG_CONFIG_PATH="${ROOT}/usr/$(get_libdir)/pkgconfig" + export OPENSSL_INCLUDE_DIR="${ROOT}/usr/include" + export OPENSSL_LIB_DIR="${ROOT}/usr/$(get_libdir)" + + use system-bootstrap || die "USE=system-bootstrap is required when cross-compiling" + use system-llvm && die "USE=system-llvm not allowed when cross-compiling" + local cross_llvm_target="$(llvm_tuple_to_target "${CBUILD}")" + use "llvm_targets_${cross_llvm_target}" || \ + die "Must enable LLVM_TARGETS=${cross_llvm_target} matching CBUILD=${CBUILD} when cross-compiling" + fi + + use system-bootstrap && bootstrap_rust_version_check + + if use system-llvm; then + llvm-r1_pkg_setup + + local llvm_config="$(get_llvm_prefix "${LLVM_SLOT}")/bin/llvm-config" + export LLVM_LINK_SHARED=1 + export RUSTFLAGS="${RUSTFLAGS} -Lnative=$("${llvm_config}" --libdir)" + fi +} + +esetup_unwind_hack() { + # https://bugs.gentoo.org/870280 + # this is a hack needed to bootstrap with libgcc_s linked tarball on llvm-libunwind system. + # it should trigger for internal bootstrap or system-bootstrap with rust-bin. + # the whole idea is for stage0 to bootstrap with fake libgcc_s. + # final stage will receive -L${T}/lib but not -lgcc_s args, producing clean compiler. + local fakelib="${T}/fakelib" + mkdir -p "${fakelib}" || die + # we need both symlinks, one for cargo runtime, other for linker. + ln -s "${ESYSROOT}/usr/lib/libunwind.so" "${fakelib}/libgcc_s.so.1" || die + ln -s "${ESYSROOT}/usr/lib/libunwind.so" "${fakelib}/libgcc_s.so" || die + export LD_LIBRARY_PATH="${fakelib}" + export RUSTFLAGS+=" -L${fakelib}" + # this is a literally magic variable that gets through cargo cache, without it some + # crates ignore RUSTFLAGS. + # this variable can not contain leading space. + export MAGIC_EXTRA_RUSTFLAGS+="${MAGIC_EXTRA_RUSTFLAGS:+ }-L${fakelib}" +} + +src_prepare() { + # Clear vendor checksums for crates that we patched to bump libc. + # NOTE: refresh this on each bump. + #for i in addr2line-0.20.0 bstr cranelift-jit crossbeam-channel elasticlunr-rs handlebars icu_locid libffi \ + # terminal_size tracing-tree; do + # clear_vendor_checksums "${i}" + #done + + if ! use system-bootstrap; then + has_version sys-devel/gcc || esetup_unwind_hack + local rust_stage0_root="${WORKDIR}"/rust-stage0 + local rust_stage0="rust-${RUST_STAGE0_VERSION}-$(rust_abi "${CBUILD}")" + + "${WORKDIR}/${rust_stage0}"/install.sh --disable-ldconfig \ + --without=rust-docs-json-preview,rust-docs --destdir="${rust_stage0_root}" --prefix=/ || die + fi + + default +} + +src_configure() { + filter-lto # https://bugs.gentoo.org/862109 https://bugs.gentoo.org/866231 + + local rust_target="" rust_targets="" arch_cflags + + # Collect rust target names to compile standard libs for all ABIs. + for v in $(multilib_get_enabled_abi_pairs); do + rust_targets+=",\"$(rust_abi $(get_abi_CHOST ${v##*.}))\"" + done + if use wasm; then + rust_targets+=",\"wasm32-unknown-unknown\"" + if use system-llvm; then + # un-hardcode rust-lld linker for this target + # https://bugs.gentoo.org/715348 + sed -i '/linker:/ s/rust-lld/wasm-ld/' compiler/rustc_target/src/spec/base/wasm.rs || die + fi + fi + rust_targets="${rust_targets#,}" + + # cargo and rustdoc are mandatory and should always be included + local tools='"cargo","rustdoc"' + use clippy && tools+=',"clippy"' + use miri && tools+=',"miri"' + use rustfmt && tools+=',"rustfmt"' + use rust-analyzer && tools+=',"rust-analyzer","rust-analyzer-proc-macro-srv"' + use rust-src && tools+=',"src"' + + local rust_stage0_root + if use system-bootstrap; then + local printsysroot + printsysroot="$(rustc --print sysroot || die "Can't determine rust's sysroot")" + rust_stage0_root="${printsysroot}" + else + rust_stage0_root="${WORKDIR}"/rust-stage0 + fi + # in case of prefix it will be already prefixed, as --print sysroot returns full path + [[ -d ${rust_stage0_root} ]] || die "${rust_stage0_root} is not a directory" + + rust_target="$(rust_abi)" + rust_build="$(rust_abi "${CBUILD}")" + rust_host="$(rust_abi "${CHOST}")" + + local cm_btype="$(usex debug DEBUG RELEASE)" + cat <<- _EOF_ > "${S}"/config.toml + [llvm] + download-ci-llvm = false + optimize = $(toml_usex !debug) + release-debuginfo = $(toml_usex debug) + assertions = $(toml_usex debug) + ninja = true + targets = "${LLVM_TARGETS// /;}" + experimental-targets = "" + link-shared = $(toml_usex system-llvm) + $(if is_libcxx_linked; then + # https://bugs.gentoo.org/732632 + echo "use-libcxx = true" + echo "static-libstdcpp = false" + fi) + $(case "${rust_target}" in + i586-*-linux-*) + # https://github.com/rust-lang/rust/issues/93059 + echo 'cflags = "-fcf-protection=none"' + echo 'cxxflags = "-fcf-protection=none"' + echo 'ldflags = "-fcf-protection=none"' + ;; + *) + ;; + esac) + enable-warnings = false + [llvm.build-config] + CMAKE_VERBOSE_MAKEFILE = "ON" + $(if ! tc-is-cross-compiler; then + # When cross-compiling, LLVM is compiled twice, once for host and + # once for target. Unfortunately, this build configuration applies + # to both, which means any flags applicable to one target but not + # the other will break. Conditionally disable respecting user + # flags when cross-compiling. + echo "CMAKE_C_FLAGS_${cm_btype} = \"${CFLAGS}\"" + echo "CMAKE_CXX_FLAGS_${cm_btype} = \"${CXXFLAGS}\"" + echo "CMAKE_EXE_LINKER_FLAGS_${cm_btype} = \"${LDFLAGS}\"" + echo "CMAKE_MODULE_LINKER_FLAGS_${cm_btype} = \"${LDFLAGS}\"" + echo "CMAKE_SHARED_LINKER_FLAGS_${cm_btype} = \"${LDFLAGS}\"" + echo "CMAKE_STATIC_LINKER_FLAGS_${cm_btype} = \"${ARFLAGS}\"" + fi) + [build] + build-stage = 2 + test-stage = 2 + build = "${rust_build}" + host = ["${rust_host}"] + target = [${rust_targets}] + cargo = "${rust_stage0_root}/bin/cargo" + rustc = "${rust_stage0_root}/bin/rustc" + rustfmt = "${rust_stage0_root}/bin/rustfmt" + docs = $(toml_usex doc) + compiler-docs = false + submodules = false + python = "${EPYTHON}" + locked-deps = true + vendor = true + extended = true + tools = [${tools}] + verbose = 2 + sanitizers = false + profiler = true + cargo-native-static = false + [install] + prefix = "${EPREFIX}/usr/lib/${PN}/${PV}" + sysconfdir = "etc" + docdir = "share/doc/rust" + bindir = "bin" + libdir = "lib" + mandir = "share/man" + [rust] + # https://github.com/rust-lang/rust/issues/54872 + codegen-units-std = 1 + optimize = true + debug = $(toml_usex debug) + debug-assertions = $(toml_usex debug) + debug-assertions-std = $(toml_usex debug) + debuginfo-level = $(usex debug 2 0) + debuginfo-level-rustc = $(usex debug 2 0) + debuginfo-level-std = $(usex debug 2 0) + debuginfo-level-tools = $(usex debug 2 0) + debuginfo-level-tests = 0 + backtrace = true + incremental = false + $(if ! tc-is-cross-compiler; then + echo "default-linker = \"$(tc-getCC)\"" + fi) + parallel-compiler = $(toml_usex parallel-compiler) + channel = "$(usex nightly nightly stable)" + description = "gentoo" + rpath = false + verbose-tests = true + optimize-tests = $(toml_usex !debug) + codegen-tests = true + dist-src = false + remap-debuginfo = true + lld = $(usex system-llvm false $(toml_usex wasm)) + # only deny warnings if doc+wasm are NOT requested, documenting stage0 wasm std fails without it + # https://github.com/rust-lang/rust/issues/74976 + # https://github.com/rust-lang/rust/issues/76526 + deny-warnings = $(usex wasm $(usex doc false true) true) + backtrace-on-ice = true + jemalloc = false + # See https://github.com/rust-lang/rust/issues/121124 + lto = "$(usex lto thin off)" + [dist] + src-tarball = false + compression-formats = ["xz"] + compression-profile = "balanced" + _EOF_ + + for v in $(multilib_get_enabled_abi_pairs); do + rust_target=$(rust_abi $(get_abi_CHOST ${v##*.})) + arch_cflags="$(get_abi_CFLAGS ${v##*.})" + + export CFLAGS_${rust_target//-/_}="${arch_cflags}" + + cat <<- _EOF_ >> "${S}"/config.toml + [target.${rust_target}] + ar = "$(tc-getAR)" + cc = "$(tc-getCC)" + cxx = "$(tc-getCXX)" + linker = "$(tc-getCC)" + ranlib = "$(tc-getRANLIB)" + llvm-libunwind = "$(usex llvm-libunwind $(usex system-llvm system in-tree) no)" + _EOF_ + if use system-llvm; then + cat <<- _EOF_ >> "${S}"/config.toml + llvm-config = "$(get_llvm_prefix)/bin/llvm-config" + _EOF_ + fi + # by default librustc_target/spec/linux_musl_base.rs sets base.crt_static_default = true; + # but we patch it and set to false here as well + if use elibc_musl; then + cat <<- _EOF_ >> "${S}"/config.toml + crt-static = false + musl-root = "$($(tc-getCC) -print-sysroot)/usr" + _EOF_ + fi + done + if use wasm; then + wasm_target="wasm32-unknown-unknown" + export CFLAGS_${wasm_target//-/_}="$(filter-flags '-mcpu*' '-march*' '-mtune*'; echo "$CFLAGS")" + cat <<- _EOF_ >> "${S}"/config.toml + [target.wasm32-unknown-unknown] + linker = "$(usex system-llvm lld rust-lld)" + # wasm target does not have profiler_builtins https://bugs.gentoo.org/848483 + profiler = false + _EOF_ + fi + + if [[ -n ${I_KNOW_WHAT_I_AM_DOING_CROSS} ]]; then # whitespace intentionally shifted below + # experimental cross support + # discussion: https://bugs.gentoo.org/679878 + # TODO: c*flags, clang, system-llvm, cargo.eclass target support + # it would be much better if we could split out stdlib + # complilation to separate ebuild and abuse CATEGORY to + # just install to /usr/lib/rustlib/<target> + + # extra targets defined as a bash array + # spec format: <LLVM target>:<rust-target>:<CTARGET> + # best place would be /etc/portage/env/dev-lang/rust + # Example: + # RUST_CROSS_TARGETS=( + # "AArch64:aarch64-unknown-linux-gnu:aarch64-unknown-linux-gnu" + # ) + # no extra hand holding is done, no target transformations, all + # values are passed as-is with just basic checks, so it's up to user to supply correct values + # valid rust targets can be obtained with + # rustc --print target-list + # matching cross toolchain has to be installed + # matching LLVM_TARGET has to be enabled for both rust and llvm (if using system one) + # only gcc toolchains installed with crossdev are checked for now. + + # BUG: we can't pass host flags to cross compiler, so just filter for now + # BUG: this should be more fine-grained. + filter-flags '-mcpu=*' '-march=*' '-mtune=*' + + local cross_target_spec + for cross_target_spec in "${RUST_CROSS_TARGETS[@]}";do + # extracts first element form <LLVM target>:<rust-target>:<CTARGET> + local cross_llvm_target="${cross_target_spec%%:*}" + # extracts toolchain triples, <rust-target>:<CTARGET> + local cross_triples="${cross_target_spec#*:}" + # extracts first element after before : separator + local cross_rust_target="${cross_triples%%:*}" + # extracts last element after : separator + local cross_toolchain="${cross_triples##*:}" + use llvm_targets_${cross_llvm_target} || die "need llvm_targets_${cross_llvm_target} target enabled" + command -v ${cross_toolchain}-gcc > /dev/null 2>&1 || die "need ${cross_toolchain} cross toolchain" + + cat <<- _EOF_ >> "${S}"/config.toml + [target.${cross_rust_target}] + ar = "${cross_toolchain}-ar" + cc = "${cross_toolchain}-gcc" + cxx = "${cross_toolchain}-g++" + linker = "${cross_toolchain}-gcc" + ranlib = "${cross_toolchain}-ranlib" + _EOF_ + if use system-llvm; then + cat <<- _EOF_ >> "${S}"/config.toml + llvm-config = "$(get_llvm_prefix)/bin/llvm-config" + _EOF_ + fi + if [[ "${cross_toolchain}" == *-musl* ]]; then + cat <<- _EOF_ >> "${S}"/config.toml + musl-root = "$(${cross_toolchain}-gcc -print-sysroot)/usr" + _EOF_ + fi + + # append cross target to "normal" target list + # example 'target = ["powerpc64le-unknown-linux-gnu"]' + # becomes 'target = ["powerpc64le-unknown-linux-gnu","aarch64-unknown-linux-gnu"]' + + rust_targets="${rust_targets},\"${cross_rust_target}\"" + sed -i "/^target = \[/ s#\[.*\]#\[${rust_targets}\]#" config.toml || die + + ewarn + ewarn "Enabled ${cross_rust_target} rust target" + ewarn "Using ${cross_toolchain} cross toolchain" + ewarn + if ! has_version -b 'sys-devel/binutils[multitarget]' ; then + ewarn "'sys-devel/binutils[multitarget]' is not installed" + ewarn "'strip' will be unable to strip cross libraries" + ewarn "cross targets will be installed with full debug information" + ewarn "enable 'multitarget' USE flag for binutils to be able to strip object files" + ewarn + ewarn "Alternatively llvm-strip can be used, it supports stripping any target" + ewarn "define STRIP=\"llvm-strip\" to use it (experimental)" + ewarn + fi + done + fi # I_KNOW_WHAT_I_AM_DOING_CROSS + + einfo "Rust configured with the following flags:" + echo + echo RUSTFLAGS="\"${RUSTFLAGS}\"" + echo RUSTFLAGS_BOOTSTRAP="\"${RUSTFLAGS_BOOTSTRAP}\"" + echo RUSTFLAGS_NOT_BOOTSTRAP="\"${RUSTFLAGS_NOT_BOOTSTRAP}\"" + echo MAGIC_EXTRA_RUSTFLAGS="\"${MAGIC_EXTRA_RUSTFLAGS}\"" + env | grep "CARGO_TARGET_.*_RUSTFLAGS=" + env | grep "CFLAGS_.*" + echo + einfo "config.toml contents:" + cat "${S}"/config.toml || die + echo +} + +src_compile() { + RUST_BACKTRACE=1 "${EPYTHON}" ./x.py build -vvv --config="${S}"/config.toml -j$(makeopts_jobs) || die +} + +src_test() { + # https://rustc-dev-guide.rust-lang.org/tests/intro.html + + # those are basic and codegen tests. + local tests=( + codegen + codegen-units + compile-fail + incremental + mir-opt + pretty + run-make + ) + + # fails if llvm is not built with ALL targets. + # and known to fail with system llvm sometimes. + use system-llvm || tests+=( assembly ) + + # fragile/expensive/less important tests + # or tests that require extra builds + # TODO: instead of skipping, just make some nonfatal. + if [[ ${ERUST_RUN_EXTRA_TESTS:-no} != no ]]; then + tests+=( + rustdoc + rustdoc-js + rustdoc-js-std + rustdoc-ui + run-make-fulldeps + ui + ui-fulldeps + ) + fi + + local i failed=() + einfo "rust_src_test: enabled tests ${tests[@]/#/src/test/}" + for i in "${tests[@]}"; do + local t="src/test/${i}" + einfo "rust_src_test: running ${t}" + if ! RUST_BACKTRACE=1 "${EPYTHON}" ./x.py test -vv --config="${S}"/config.toml \ + -j$(makeopts_jobs) --no-doc --no-fail-fast "${t}" + then + failed+=( "${t}" ) + eerror "rust_src_test: ${t} failed" + fi + done + + if [[ ${#failed[@]} -ne 0 ]]; then + eerror "rust_src_test: failure summary: ${failed[@]}" + die "aborting due to test failures" + fi +} + +src_install() { + DESTDIR="${D}" "${EPYTHON}" ./x.py install -vv --config="${S}"/config.toml -j$(makeopts_jobs) || die + + # bug #689562, #689160 + rm -v "${ED}/usr/lib/${PN}/${PV}/etc/bash_completion.d/cargo" || die + rmdir -v "${ED}/usr/lib/${PN}/${PV}"/etc{/bash_completion.d,} || die + + local symlinks=( + cargo + rustc + rustdoc + rust-gdb + rust-gdbgui + rust-lldb + rust-demangler + ) + + use clippy && symlinks+=( clippy-driver cargo-clippy ) + use miri && symlinks+=( miri cargo-miri ) + use rustfmt && symlinks+=( rustfmt cargo-fmt ) + use rust-analyzer && symlinks+=( rust-analyzer ) + + einfo "installing eselect-rust symlinks and paths: ${symlinks[@]}" + local i + for i in "${symlinks[@]}"; do + # we need realpath on /usr/bin/* symlink return version-appended binary path. + # so /usr/bin/rustc should point to /usr/lib/rust/<ver>/bin/rustc-<ver> + # need to fix eselect-rust to remove this hack. + local ver_i="${i}-${PV}" + if [[ -f "${ED}/usr/lib/${PN}/${PV}/bin/${i}" ]]; then + einfo "Installing ${i} symlink" + ln -v "${ED}/usr/lib/${PN}/${PV}/bin/${i}" "${ED}/usr/lib/${PN}/${PV}/bin/${ver_i}" || die + else + ewarn "${i} symlink requested, but source file not found" + ewarn "please report this" + fi + dosym "../lib/${PN}/${PV}/bin/${ver_i}" "/usr/bin/${ver_i}" + done + + # symlinks to switch components to active rust in eselect + dosym "${PV}/lib" "/usr/lib/${PN}/lib-${PV}" + dosym "${PV}/libexec" "/usr/lib/${PN}/libexec-${PV}" + dosym "${PV}/share/man" "/usr/lib/${PN}/man-${PV}" + dosym "rust/${PV}/lib/rustlib" "/usr/lib/rustlib-${PV}" + dosym "../../lib/${PN}/${PV}/share/doc/rust" "/usr/share/doc/${P}" + + newenvd - "50${P}" <<-_EOF_ + LDPATH="${EPREFIX}/usr/lib/rust/lib-${PV}" + MANPATH="${EPREFIX}/usr/lib/rust/man-${PV}" + _EOF_ + + rm -rf "${ED}/usr/lib/${PN}/${PV}"/*.old || die + rm -rf "${ED}/usr/lib/${PN}/${PV}/bin"/*.old || die + rm -rf "${ED}/usr/lib/${PN}/${PV}/doc"/*.old || die + + # note: eselect-rust adds EROOT to all paths below + cat <<-_EOF_ > "${T}/provider-${P}" + /usr/bin/cargo + /usr/bin/rustdoc + /usr/bin/rust-demangler + /usr/bin/rust-gdb + /usr/bin/rust-gdbgui + /usr/bin/rust-lldb + /usr/lib/rustlib + /usr/lib/rust/lib + /usr/lib/rust/libexec + /usr/lib/rust/man + /usr/share/doc/rust + _EOF_ + + if use clippy; then + echo /usr/bin/clippy-driver >> "${T}/provider-${P}" + echo /usr/bin/cargo-clippy >> "${T}/provider-${P}" + fi + if use miri; then + echo /usr/bin/miri >> "${T}/provider-${P}" + echo /usr/bin/cargo-miri >> "${T}/provider-${P}" + fi + if use rustfmt; then + echo /usr/bin/rustfmt >> "${T}/provider-${P}" + echo /usr/bin/cargo-fmt >> "${T}/provider-${P}" + fi + if use rust-analyzer; then + echo /usr/bin/rust-analyzer >> "${T}/provider-${P}" + fi + + insinto /etc/env.d/rust + doins "${T}/provider-${P}" + + if use dist; then + "${EPYTHON}" ./x.py dist -vv --config="${S}"/config.toml -j$(makeopts_jobs) || die + insinto "/usr/lib/${PN}/${PV}/dist" + doins -r "${S}/build/dist/." + fi +} + +pkg_postinst() { + eselect rust update + + if has_version dev-debug/gdb || has_version dev-debug/lldb; then + elog "Rust installs a helper script for calling GDB and LLDB," + elog "for your convenience it is installed under /usr/bin/rust-{gdb,lldb}-${PV}." + fi + + if has_version app-editors/emacs; then + elog "install app-emacs/rust-mode to get emacs support for rust." + fi + + if has_version app-editors/gvim || has_version app-editors/vim; then + elog "install app-vim/rust-vim to get vim support for rust." + fi +} + +pkg_postrm() { + eselect rust cleanup +} diff --git a/dev-lang/rust/rust-1.81.0-r100.ebuild b/dev-lang/rust/rust-1.81.0-r100.ebuild new file mode 100644 index 000000000000..a8b946c44d66 --- /dev/null +++ b/dev-lang/rust/rust-1.81.0-r100.ebuild @@ -0,0 +1,774 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +LLVM_COMPAT=( 18 ) +PYTHON_COMPAT=( python3_{10..13} ) + +inherit check-reqs estack flag-o-matic llvm-r1 multiprocessing optfeature \ + multilib multilib-build python-any-r1 rust-toolchain toolchain-funcs verify-sig + +if [[ ${PV} = *beta* ]]; then + betaver=${PV//*beta} + BETA_SNAPSHOT="${betaver:0:4}-${betaver:4:2}-${betaver:6:2}" + MY_P="rustc-beta" + SRC="${BETA_SNAPSHOT}/rustc-beta-src.tar.xz -> rustc-${PV}-src.tar.xz" +else + MY_P="rustc-${PV}" + SRC="${MY_P}-src.tar.xz" + KEYWORDS="amd64 arm arm64 ~loong ~mips ppc ppc64 ~riscv sparc x86" +fi + +RUST_STAGE0_VERSION="1.$(($(ver_cut 2) - 1)).1" + +DESCRIPTION="Systems programming language from Mozilla" +HOMEPAGE="https://www.rust-lang.org/" + +SRC_URI=" + https://static.rust-lang.org/dist/${SRC} + verify-sig? ( https://static.rust-lang.org/dist/${SRC}.asc ) + !system-bootstrap? ( $(rust_all_arch_uris rust-${RUST_STAGE0_VERSION}) ) +" +S="${WORKDIR}/${MY_P}-src" + +# keep in sync with llvm ebuild of the same version as bundled one. +ALL_LLVM_TARGETS=( AArch64 AMDGPU ARC ARM AVR BPF CSKY DirectX Hexagon Lanai + LoongArch M68k Mips MSP430 NVPTX PowerPC RISCV Sparc SPIRV SystemZ VE + WebAssembly X86 XCore Xtensa ) +ALL_LLVM_TARGETS=( "${ALL_LLVM_TARGETS[@]/#/llvm_targets_}" ) +LLVM_TARGET_USEDEPS=${ALL_LLVM_TARGETS[@]/%/(-)?} + +LICENSE="|| ( MIT Apache-2.0 ) BSD BSD-1 BSD-2 BSD-4" +SLOT="${PV}" + +IUSE="big-endian clippy cpu_flags_x86_sse2 debug dist doc llvm-libunwind lto miri nightly parallel-compiler rustfmt rust-analyzer rust-src system-bootstrap system-llvm test wasm ${ALL_LLVM_TARGETS[*]}" + +LLVM_DEPEND=() +# splitting usedeps needed to avoid CI/pkgcheck's UncheckableDep limitation +for _x in "${ALL_LLVM_TARGETS[@]}"; do + LLVM_DEPEND+=( " ${_x}? ( $(llvm_gen_dep "sys-devel/llvm:\${LLVM_SLOT}[${_x}]") )" ) +done +LLVM_DEPEND+=( " wasm? ( $(llvm_gen_dep 'sys-devel/lld:${LLVM_SLOT}') )" ) +LLVM_DEPEND+=( " $(llvm_gen_dep 'sys-devel/llvm:${LLVM_SLOT}')" ) + +# to bootstrap we need at least exactly previous version, or same. +# most of the time previous versions fail to bootstrap with newer +# for example 1.47.x, requires at least 1.46.x, 1.47.x is ok, +# but it fails to bootstrap with 1.48.x +# https://github.com/rust-lang/rust/blob/${PV}/src/stage0.json +RUST_DEP_PREV="$(ver_cut 1).$(($(ver_cut 2) - 1))*" +RUST_DEP_CURR="$(ver_cut 1).$(ver_cut 2)*" +BOOTSTRAP_DEPEND="|| + ( + =dev-lang/rust-"${RUST_DEP_PREV}" + =dev-lang/rust-bin-"${RUST_DEP_PREV}" + =dev-lang/rust-"${RUST_DEP_CURR}" + =dev-lang/rust-bin-"${RUST_DEP_CURR}" + ) +" + +BDEPEND="${PYTHON_DEPS} + app-eselect/eselect-rust + || ( + >=sys-devel/gcc-4.7 + >=sys-devel/clang-3.5 + ) + system-bootstrap? ( ${BOOTSTRAP_DEPEND} ) + !system-llvm? ( + >=dev-build/cmake-3.13.4 + app-alternatives/ninja + ) + test? ( dev-debug/gdb ) + verify-sig? ( sec-keys/openpgp-keys-rust ) +" + +DEPEND=" + >=app-arch/xz-utils-5.2 + net-misc/curl:=[http2,ssl] + sys-libs/zlib:= + dev-libs/openssl:0= + system-llvm? ( + ${LLVM_DEPEND} + llvm-libunwind? ( sys-libs/llvm-libunwind:= ) + ) + !system-llvm? ( + !llvm-libunwind? ( + elibc_musl? ( sys-libs/libunwind:= ) + ) + ) +" + +RDEPEND="${DEPEND} + app-eselect/eselect-rust + dev-lang/rust-common + sys-apps/lsb-release + !dev-lang/rust:stable/1.71.1 + !dev-lang/rust:stable/1.74.1 + !dev-lang/rust:stable/1.75.0 + !dev-lang/rust:stable/1.77.1 + !dev-lang/rust:stable/1.79.0 + !dev-lang/rust:stable/1.80.1 + !dev-lang/rust:stable/1.81.0 + !dev-lang/rust:stable/1.82.0 +" + +REQUIRED_USE="|| ( ${ALL_LLVM_TARGETS[*]} ) + miri? ( nightly ) + parallel-compiler? ( nightly ) + rust-analyzer? ( rust-src ) + test? ( ${ALL_LLVM_TARGETS[*]} ) + wasm? ( llvm_targets_WebAssembly ) + x86? ( cpu_flags_x86_sse2 ) +" + +# we don't use cmake.eclass, but can get a warning +CMAKE_WARN_UNUSED_CLI=no + +QA_FLAGS_IGNORED=" + usr/lib/${PN}/${PV}/bin/.* + usr/lib/${PN}/${PV}/libexec/.* + usr/lib/${PN}/${PV}/lib/lib.*.so + usr/lib/${PN}/${PV}/lib/rustlib/.*/bin/.* + usr/lib/${PN}/${PV}/lib/rustlib/.*/lib/lib.*.so +" + +QA_SONAME=" + usr/lib/${PN}/${PV}/lib/lib.*.so.* + usr/lib/${PN}/${PV}/lib/rustlib/.*/lib/lib.*.so +" + +QA_PRESTRIPPED=" + usr/lib/${PN}/${PV}/lib/rustlib/.*/bin/rust-llvm-dwp + usr/lib/${PN}/${PV}/lib/rustlib/.*/lib/self-contained/crtn.o +" + +# An rmeta file is custom binary format that contains the metadata for the crate. +# rmeta files do not support linking, since they do not contain compiled object files. +# so we can safely silence the warning for this QA check. +QA_EXECSTACK="usr/lib/${PN}/${PV}/lib/rustlib/*/lib*.rlib:lib.rmeta" + +# causes double bootstrap +RESTRICT="test" + +VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/rust.asc + +PATCHES=( + "${FILESDIR}"/1.78.0-musl-dynamic-linking.patch + "${FILESDIR}"/1.74.1-cross-compile-libz.patch + #"${FILESDIR}"/1.72.0-bump-libc-deps-to-0.2.146.patch # pending refresh + "${FILESDIR}"/1.67.0-doc-wasm.patch + "${FILESDIR}"/1.79.0-revert-8c40426.patch + "${FILESDIR}/1.81.0-backport-bug937164.patch" + "${FILESDIR}/1.81.0-backport-llvm-pr101761.patch" + "${FILESDIR}/1.81.0-backport-llvm-pr101766.patch" +) + +clear_vendor_checksums() { + sed -i 's/\("files":{\)[^}]*/\1/' "vendor/${1}/.cargo-checksum.json" || die +} + +toml_usex() { + usex "${1}" true false +} + +bootstrap_rust_version_check() { + # never call from pkg_pretend. eselect-rust may be not installed yet. + [[ ${MERGE_TYPE} == binary ]] && return + local rustc_wanted="$(ver_cut 1).$(($(ver_cut 2) - 1))" + local rustc_toonew="$(ver_cut 1).$(($(ver_cut 2) + 1))" + local rustc_version=( $(eselect --brief --root="${BROOT}" rust show 2>/dev/null) ) + rustc_version=${rustc_version[0]#rust-bin-} + rustc_version=${rustc_version#rust-} + + [[ -z "${rustc_version}" ]] && die "Failed to determine rust version, check 'eselect rust' output" + + if ver_test "${rustc_version}" -lt "${rustc_wanted}" ; then + eerror "Rust >=${rustc_wanted} is required" + eerror "please run 'eselect rust' and set correct rust version" + die "selected rust version is too old" + elif ver_test "${rustc_version}" -ge "${rustc_toonew}" ; then + eerror "Rust <${rustc_toonew} is required" + eerror "please run 'eselect rust' and set correct rust version" + die "selected rust version is too new" + else + einfo "Using rust ${rustc_version} to build" + fi +} + +pre_build_checks() { + local M=8192 + # multiply requirements by 1.3 if we are doing x86-multilib + if use amd64; then + M=$(( $(usex abi_x86_32 13 10) * ${M} / 10 )) + fi + M=$(( $(usex clippy 128 0) + ${M} )) + M=$(( $(usex miri 128 0) + ${M} )) + M=$(( $(usex rustfmt 256 0) + ${M} )) + # add 2G if we compile llvm and 256M per llvm_target + if ! use system-llvm; then + M=$(( 2048 + ${M} )) + local ltarget + for ltarget in ${ALL_LLVM_TARGETS[@]}; do + M=$(( $(usex ${ltarget} 256 0) + ${M} )) + done + fi + M=$(( $(usex wasm 256 0) + ${M} )) + M=$(( $(usex debug 2 1) * ${M} )) + eshopts_push -s extglob + if is-flagq '-g?(gdb)?([1-9])'; then + M=$(( 15 * ${M} / 10 )) + fi + eshopts_pop + M=$(( $(usex system-bootstrap 0 1024) + ${M} )) + M=$(( $(usex doc 256 0) + ${M} )) + CHECKREQS_DISK_BUILD=${M}M check-reqs_pkg_${EBUILD_PHASE} +} + +llvm_check_deps() { + has_version -r "sys-devel/llvm:${LLVM_SLOT}[${LLVM_TARGET_USEDEPS// /,}]" +} + +# Is LLVM being linked against libc++? +is_libcxx_linked() { + local code='#include <ciso646> +#if defined(_LIBCPP_VERSION) + HAVE_LIBCXX +#endif +' + local out=$($(tc-getCXX) ${CXXFLAGS} ${CPPFLAGS} -x c++ -E -P - <<<"${code}") || return 1 + [[ ${out} == *HAVE_LIBCXX* ]] +} + +pkg_pretend() { + pre_build_checks +} + +pkg_setup() { + pre_build_checks + python-any-r1_pkg_setup + + export LIBGIT2_NO_PKG_CONFIG=1 #749381 + if tc-is-cross-compiler; then + export PKG_CONFIG_ALLOW_CROSS=1 + export PKG_CONFIG_PATH="${ROOT}/usr/$(get_libdir)/pkgconfig" + export OPENSSL_INCLUDE_DIR="${ROOT}/usr/include" + export OPENSSL_LIB_DIR="${ROOT}/usr/$(get_libdir)" + + use system-bootstrap || die "USE=system-bootstrap is required when cross-compiling" + use system-llvm && die "USE=system-llvm not allowed when cross-compiling" + local cross_llvm_target="$(llvm_tuple_to_target "${CBUILD}")" + use "llvm_targets_${cross_llvm_target}" || \ + die "Must enable LLVM_TARGETS=${cross_llvm_target} matching CBUILD=${CBUILD} when cross-compiling" + fi + + use system-bootstrap && bootstrap_rust_version_check + + if use system-llvm; then + llvm-r1_pkg_setup + + local llvm_config="$(get_llvm_prefix "${LLVM_SLOT}")/bin/llvm-config" + export LLVM_LINK_SHARED=1 + export RUSTFLAGS="${RUSTFLAGS} -Lnative=$("${llvm_config}" --libdir)" + fi +} + +esetup_unwind_hack() { + # https://bugs.gentoo.org/870280 + # this is a hack needed to bootstrap with libgcc_s linked tarball on llvm-libunwind system. + # it should trigger for internal bootstrap or system-bootstrap with rust-bin. + # the whole idea is for stage0 to bootstrap with fake libgcc_s. + # final stage will receive -L${T}/lib but not -lgcc_s args, producing clean compiler. + local fakelib="${T}/fakelib" + mkdir -p "${fakelib}" || die + # we need both symlinks, one for cargo runtime, other for linker. + ln -s "${ESYSROOT}/usr/lib/libunwind.so" "${fakelib}/libgcc_s.so.1" || die + ln -s "${ESYSROOT}/usr/lib/libunwind.so" "${fakelib}/libgcc_s.so" || die + export LD_LIBRARY_PATH="${fakelib}" + export RUSTFLAGS+=" -L${fakelib}" + # this is a literally magic variable that gets through cargo cache, without it some + # crates ignore RUSTFLAGS. + # this variable can not contain leading space. + export MAGIC_EXTRA_RUSTFLAGS+="${MAGIC_EXTRA_RUSTFLAGS:+ }-L${fakelib}" +} + +src_prepare() { + # Clear vendor checksums for crates that we patched to bump libc. + # NOTE: refresh this on each bump. + #for i in addr2line-0.20.0 bstr cranelift-jit crossbeam-channel elasticlunr-rs handlebars icu_locid libffi \ + # terminal_size tracing-tree; do + # clear_vendor_checksums "${i}" + #done + + if ! use system-bootstrap; then + has_version sys-devel/gcc || esetup_unwind_hack + local rust_stage0_root="${WORKDIR}"/rust-stage0 + local rust_stage0="rust-${RUST_STAGE0_VERSION}-$(rust_abi "${CBUILD}")" + + "${WORKDIR}/${rust_stage0}"/install.sh --disable-ldconfig \ + --without=rust-docs-json-preview,rust-docs --destdir="${rust_stage0_root}" --prefix=/ || die + fi + + default +} + +src_configure() { + filter-lto # https://bugs.gentoo.org/862109 https://bugs.gentoo.org/866231 + + local rust_target="" rust_targets="" arch_cflags + + # Collect rust target names to compile standard libs for all ABIs. + for v in $(multilib_get_enabled_abi_pairs); do + rust_targets+=",\"$(rust_abi $(get_abi_CHOST ${v##*.}))\"" + done + if use wasm; then + rust_targets+=",\"wasm32-unknown-unknown\"" + if use system-llvm; then + # un-hardcode rust-lld linker for this target + # https://bugs.gentoo.org/715348 + sed -i '/linker:/ s/rust-lld/wasm-ld/' compiler/rustc_target/src/spec/base/wasm.rs || die + fi + fi + rust_targets="${rust_targets#,}" + + # cargo and rustdoc are mandatory and should always be included + local tools='"cargo","rustdoc"' + use clippy && tools+=',"clippy"' + use miri && tools+=',"miri"' + use rustfmt && tools+=',"rustfmt"' + use rust-analyzer && tools+=',"rust-analyzer","rust-analyzer-proc-macro-srv"' + use rust-src && tools+=',"src"' + + local rust_stage0_root + if use system-bootstrap; then + local printsysroot + printsysroot="$(rustc --print sysroot || die "Can't determine rust's sysroot")" + rust_stage0_root="${printsysroot}" + else + rust_stage0_root="${WORKDIR}"/rust-stage0 + fi + # in case of prefix it will be already prefixed, as --print sysroot returns full path + [[ -d ${rust_stage0_root} ]] || die "${rust_stage0_root} is not a directory" + + rust_target="$(rust_abi)" + rust_build="$(rust_abi "${CBUILD}")" + rust_host="$(rust_abi "${CHOST}")" + + local cm_btype="$(usex debug DEBUG RELEASE)" + cat <<- _EOF_ > "${S}"/config.toml + [llvm] + download-ci-llvm = false + optimize = $(toml_usex !debug) + release-debuginfo = $(toml_usex debug) + assertions = $(toml_usex debug) + ninja = true + targets = "${LLVM_TARGETS// /;}" + experimental-targets = "" + link-shared = $(toml_usex system-llvm) + $(if is_libcxx_linked; then + # https://bugs.gentoo.org/732632 + echo "use-libcxx = true" + echo "static-libstdcpp = false" + fi) + $(case "${rust_target}" in + i586-*-linux-*) + # https://github.com/rust-lang/rust/issues/93059 + echo 'cflags = "-fcf-protection=none"' + echo 'cxxflags = "-fcf-protection=none"' + echo 'ldflags = "-fcf-protection=none"' + ;; + *) + ;; + esac) + enable-warnings = false + [llvm.build-config] + CMAKE_VERBOSE_MAKEFILE = "ON" + $(if ! tc-is-cross-compiler; then + # When cross-compiling, LLVM is compiled twice, once for host and + # once for target. Unfortunately, this build configuration applies + # to both, which means any flags applicable to one target but not + # the other will break. Conditionally disable respecting user + # flags when cross-compiling. + echo "CMAKE_C_FLAGS_${cm_btype} = \"${CFLAGS}\"" + echo "CMAKE_CXX_FLAGS_${cm_btype} = \"${CXXFLAGS}\"" + echo "CMAKE_EXE_LINKER_FLAGS_${cm_btype} = \"${LDFLAGS}\"" + echo "CMAKE_MODULE_LINKER_FLAGS_${cm_btype} = \"${LDFLAGS}\"" + echo "CMAKE_SHARED_LINKER_FLAGS_${cm_btype} = \"${LDFLAGS}\"" + echo "CMAKE_STATIC_LINKER_FLAGS_${cm_btype} = \"${ARFLAGS}\"" + fi) + [build] + build-stage = 2 + test-stage = 2 + build = "${rust_build}" + host = ["${rust_host}"] + target = [${rust_targets}] + cargo = "${rust_stage0_root}/bin/cargo" + rustc = "${rust_stage0_root}/bin/rustc" + rustfmt = "${rust_stage0_root}/bin/rustfmt" + docs = $(toml_usex doc) + compiler-docs = false + submodules = false + python = "${EPYTHON}" + locked-deps = true + vendor = true + extended = true + tools = [${tools}] + verbose = 2 + sanitizers = false + profiler = true + cargo-native-static = false + [install] + prefix = "${EPREFIX}/usr/lib/${PN}/${PV}" + sysconfdir = "etc" + docdir = "share/doc/rust" + bindir = "bin" + libdir = "lib" + mandir = "share/man" + [rust] + # https://github.com/rust-lang/rust/issues/54872 + codegen-units-std = 1 + optimize = true + debug = $(toml_usex debug) + debug-assertions = $(toml_usex debug) + debug-assertions-std = $(toml_usex debug) + debuginfo-level = $(usex debug 2 0) + debuginfo-level-rustc = $(usex debug 2 0) + debuginfo-level-std = $(usex debug 2 0) + debuginfo-level-tools = $(usex debug 2 0) + debuginfo-level-tests = 0 + backtrace = true + incremental = false + $(if ! tc-is-cross-compiler; then + echo "default-linker = \"$(tc-getCC)\"" + fi) + parallel-compiler = $(toml_usex parallel-compiler) + channel = "$(usex nightly nightly stable)" + description = "gentoo" + rpath = false + verbose-tests = true + optimize-tests = $(toml_usex !debug) + codegen-tests = true + dist-src = false + remap-debuginfo = true + lld = $(usex system-llvm false $(toml_usex wasm)) + # only deny warnings if doc+wasm are NOT requested, documenting stage0 wasm std fails without it + # https://github.com/rust-lang/rust/issues/74976 + # https://github.com/rust-lang/rust/issues/76526 + deny-warnings = $(usex wasm $(usex doc false true) true) + backtrace-on-ice = true + jemalloc = false + # See https://github.com/rust-lang/rust/issues/121124 + lto = "$(usex lto thin off)" + [dist] + src-tarball = false + compression-formats = ["xz"] + compression-profile = "balanced" + _EOF_ + + for v in $(multilib_get_enabled_abi_pairs); do + rust_target=$(rust_abi $(get_abi_CHOST ${v##*.})) + arch_cflags="$(get_abi_CFLAGS ${v##*.})" + + export CFLAGS_${rust_target//-/_}="${arch_cflags}" + + cat <<- _EOF_ >> "${S}"/config.toml + [target.${rust_target}] + ar = "$(tc-getAR)" + cc = "$(tc-getCC)" + cxx = "$(tc-getCXX)" + linker = "$(tc-getCC)" + ranlib = "$(tc-getRANLIB)" + llvm-libunwind = "$(usex llvm-libunwind $(usex system-llvm system in-tree) no)" + _EOF_ + if use system-llvm; then + cat <<- _EOF_ >> "${S}"/config.toml + llvm-config = "$(get_llvm_prefix)/bin/llvm-config" + _EOF_ + fi + # by default librustc_target/spec/linux_musl_base.rs sets base.crt_static_default = true; + # but we patch it and set to false here as well + if use elibc_musl; then + cat <<- _EOF_ >> "${S}"/config.toml + crt-static = false + musl-root = "$($(tc-getCC) -print-sysroot)/usr" + _EOF_ + fi + done + if use wasm; then + wasm_target="wasm32-unknown-unknown" + export CFLAGS_${wasm_target//-/_}="$(filter-flags '-mcpu*' '-march*' '-mtune*'; echo "$CFLAGS")" + cat <<- _EOF_ >> "${S}"/config.toml + [target.wasm32-unknown-unknown] + linker = "$(usex system-llvm lld rust-lld)" + # wasm target does not have profiler_builtins https://bugs.gentoo.org/848483 + profiler = false + _EOF_ + fi + + if [[ -n ${I_KNOW_WHAT_I_AM_DOING_CROSS} ]]; then # whitespace intentionally shifted below + # experimental cross support + # discussion: https://bugs.gentoo.org/679878 + # TODO: c*flags, clang, system-llvm, cargo.eclass target support + # it would be much better if we could split out stdlib + # complilation to separate ebuild and abuse CATEGORY to + # just install to /usr/lib/rustlib/<target> + + # extra targets defined as a bash array + # spec format: <LLVM target>:<rust-target>:<CTARGET> + # best place would be /etc/portage/env/dev-lang/rust + # Example: + # RUST_CROSS_TARGETS=( + # "AArch64:aarch64-unknown-linux-gnu:aarch64-unknown-linux-gnu" + # ) + # no extra hand holding is done, no target transformations, all + # values are passed as-is with just basic checks, so it's up to user to supply correct values + # valid rust targets can be obtained with + # rustc --print target-list + # matching cross toolchain has to be installed + # matching LLVM_TARGET has to be enabled for both rust and llvm (if using system one) + # only gcc toolchains installed with crossdev are checked for now. + + # BUG: we can't pass host flags to cross compiler, so just filter for now + # BUG: this should be more fine-grained. + filter-flags '-mcpu=*' '-march=*' '-mtune=*' + + local cross_target_spec + for cross_target_spec in "${RUST_CROSS_TARGETS[@]}";do + # extracts first element form <LLVM target>:<rust-target>:<CTARGET> + local cross_llvm_target="${cross_target_spec%%:*}" + # extracts toolchain triples, <rust-target>:<CTARGET> + local cross_triples="${cross_target_spec#*:}" + # extracts first element after before : separator + local cross_rust_target="${cross_triples%%:*}" + # extracts last element after : separator + local cross_toolchain="${cross_triples##*:}" + use llvm_targets_${cross_llvm_target} || die "need llvm_targets_${cross_llvm_target} target enabled" + command -v ${cross_toolchain}-gcc > /dev/null 2>&1 || die "need ${cross_toolchain} cross toolchain" + + cat <<- _EOF_ >> "${S}"/config.toml + [target.${cross_rust_target}] + ar = "${cross_toolchain}-ar" + cc = "${cross_toolchain}-gcc" + cxx = "${cross_toolchain}-g++" + linker = "${cross_toolchain}-gcc" + ranlib = "${cross_toolchain}-ranlib" + _EOF_ + if use system-llvm; then + cat <<- _EOF_ >> "${S}"/config.toml + llvm-config = "$(get_llvm_prefix)/bin/llvm-config" + _EOF_ + fi + if [[ "${cross_toolchain}" == *-musl* ]]; then + cat <<- _EOF_ >> "${S}"/config.toml + musl-root = "$(${cross_toolchain}-gcc -print-sysroot)/usr" + _EOF_ + fi + + # append cross target to "normal" target list + # example 'target = ["powerpc64le-unknown-linux-gnu"]' + # becomes 'target = ["powerpc64le-unknown-linux-gnu","aarch64-unknown-linux-gnu"]' + + rust_targets="${rust_targets},\"${cross_rust_target}\"" + sed -i "/^target = \[/ s#\[.*\]#\[${rust_targets}\]#" config.toml || die + + ewarn + ewarn "Enabled ${cross_rust_target} rust target" + ewarn "Using ${cross_toolchain} cross toolchain" + ewarn + if ! has_version -b 'sys-devel/binutils[multitarget]' ; then + ewarn "'sys-devel/binutils[multitarget]' is not installed" + ewarn "'strip' will be unable to strip cross libraries" + ewarn "cross targets will be installed with full debug information" + ewarn "enable 'multitarget' USE flag for binutils to be able to strip object files" + ewarn + ewarn "Alternatively llvm-strip can be used, it supports stripping any target" + ewarn "define STRIP=\"llvm-strip\" to use it (experimental)" + ewarn + fi + done + fi # I_KNOW_WHAT_I_AM_DOING_CROSS + + einfo "Rust configured with the following flags:" + echo + echo RUSTFLAGS="\"${RUSTFLAGS}\"" + echo RUSTFLAGS_BOOTSTRAP="\"${RUSTFLAGS_BOOTSTRAP}\"" + echo RUSTFLAGS_NOT_BOOTSTRAP="\"${RUSTFLAGS_NOT_BOOTSTRAP}\"" + echo MAGIC_EXTRA_RUSTFLAGS="\"${MAGIC_EXTRA_RUSTFLAGS}\"" + env | grep "CARGO_TARGET_.*_RUSTFLAGS=" + env | grep "CFLAGS_.*" + echo + einfo "config.toml contents:" + cat "${S}"/config.toml || die + echo +} + +src_compile() { + RUST_BACKTRACE=1 "${EPYTHON}" ./x.py build -vvv --config="${S}"/config.toml -j$(makeopts_jobs) || die +} + +src_test() { + # https://rustc-dev-guide.rust-lang.org/tests/intro.html + + # those are basic and codegen tests. + local tests=( + codegen + codegen-units + compile-fail + incremental + mir-opt + pretty + run-make + ) + + # fails if llvm is not built with ALL targets. + # and known to fail with system llvm sometimes. + use system-llvm || tests+=( assembly ) + + # fragile/expensive/less important tests + # or tests that require extra builds + # TODO: instead of skipping, just make some nonfatal. + if [[ ${ERUST_RUN_EXTRA_TESTS:-no} != no ]]; then + tests+=( + rustdoc + rustdoc-js + rustdoc-js-std + rustdoc-ui + run-make-fulldeps + ui + ui-fulldeps + ) + fi + + local i failed=() + einfo "rust_src_test: enabled tests ${tests[@]/#/src/test/}" + for i in "${tests[@]}"; do + local t="src/test/${i}" + einfo "rust_src_test: running ${t}" + if ! RUST_BACKTRACE=1 "${EPYTHON}" ./x.py test -vv --config="${S}"/config.toml \ + -j$(makeopts_jobs) --no-doc --no-fail-fast "${t}" + then + failed+=( "${t}" ) + eerror "rust_src_test: ${t} failed" + fi + done + + if [[ ${#failed[@]} -ne 0 ]]; then + eerror "rust_src_test: failure summary: ${failed[@]}" + die "aborting due to test failures" + fi +} + +src_install() { + DESTDIR="${D}" "${EPYTHON}" ./x.py install -vv --config="${S}"/config.toml -j$(makeopts_jobs) || die + + # bug #689562, #689160 + rm -v "${ED}/usr/lib/${PN}/${PV}/etc/bash_completion.d/cargo" || die + rmdir -v "${ED}/usr/lib/${PN}/${PV}"/etc{/bash_completion.d,} || die + + local symlinks=( + cargo + rustc + rustdoc + rust-gdb + rust-gdbgui + rust-lldb + ) + + use clippy && symlinks+=( clippy-driver cargo-clippy ) + use miri && symlinks+=( miri cargo-miri ) + use rustfmt && symlinks+=( rustfmt cargo-fmt ) + use rust-analyzer && symlinks+=( rust-analyzer ) + + einfo "installing eselect-rust symlinks and paths: ${symlinks[@]}" + local i + for i in "${symlinks[@]}"; do + # we need realpath on /usr/bin/* symlink return version-appended binary path. + # so /usr/bin/rustc should point to /usr/lib/rust/<ver>/bin/rustc-<ver> + # need to fix eselect-rust to remove this hack. + local ver_i="${i}-${PV}" + if [[ -f "${ED}/usr/lib/${PN}/${PV}/bin/${i}" ]]; then + einfo "Installing ${i} symlink" + ln -v "${ED}/usr/lib/${PN}/${PV}/bin/${i}" "${ED}/usr/lib/${PN}/${PV}/bin/${ver_i}" || die + else + ewarn "${i} symlink requested, but source file not found" + ewarn "please report this" + fi + dosym "../lib/${PN}/${PV}/bin/${ver_i}" "/usr/bin/${ver_i}" + done + + # symlinks to switch components to active rust in eselect + dosym "${PV}/lib" "/usr/lib/${PN}/lib-${PV}" + dosym "${PV}/libexec" "/usr/lib/${PN}/libexec-${PV}" + dosym "${PV}/share/man" "/usr/lib/${PN}/man-${PV}" + dosym "rust/${PV}/lib/rustlib" "/usr/lib/rustlib-${PV}" + dosym "../../lib/${PN}/${PV}/share/doc/rust" "/usr/share/doc/${P}" + + newenvd - "50${P}" <<-_EOF_ + LDPATH="${EPREFIX}/usr/lib/rust/lib-${PV}" + MANPATH="${EPREFIX}/usr/lib/rust/man-${PV}" + _EOF_ + + rm -rf "${ED}/usr/lib/${PN}/${PV}"/*.old || die + rm -rf "${ED}/usr/lib/${PN}/${PV}/bin"/*.old || die + rm -rf "${ED}/usr/lib/${PN}/${PV}/doc"/*.old || die + + # note: eselect-rust adds EROOT to all paths below + cat <<-_EOF_ > "${T}/provider-${P}" + /usr/bin/cargo + /usr/bin/rustdoc + /usr/bin/rust-gdb + /usr/bin/rust-gdbgui + /usr/bin/rust-lldb + /usr/lib/rustlib + /usr/lib/rust/lib + /usr/lib/rust/libexec + /usr/lib/rust/man + /usr/share/doc/rust + _EOF_ + + if use clippy; then + echo /usr/bin/clippy-driver >> "${T}/provider-${P}" + echo /usr/bin/cargo-clippy >> "${T}/provider-${P}" + fi + if use miri; then + echo /usr/bin/miri >> "${T}/provider-${P}" + echo /usr/bin/cargo-miri >> "${T}/provider-${P}" + fi + if use rustfmt; then + echo /usr/bin/rustfmt >> "${T}/provider-${P}" + echo /usr/bin/cargo-fmt >> "${T}/provider-${P}" + fi + if use rust-analyzer; then + echo /usr/bin/rust-analyzer >> "${T}/provider-${P}" + fi + + insinto /etc/env.d/rust + doins "${T}/provider-${P}" + + if use dist; then + "${EPYTHON}" ./x.py dist -vv --config="${S}"/config.toml -j$(makeopts_jobs) || die + insinto "/usr/lib/${PN}/${PV}/dist" + doins -r "${S}/build/dist/." + fi +} + +pkg_postinst() { + eselect rust update + + if has_version dev-debug/gdb || has_version dev-debug/lldb; then + elog "Rust installs a helper script for calling GDB and LLDB," + elog "for your convenience it is installed under /usr/bin/rust-{gdb,lldb}-${PV}." + fi + + if has_version app-editors/emacs; then + optfeature "emacs support for rust" app-emacs/rust-mode + fi + + if has_version app-editors/gvim || has_version app-editors/vim; then + optfeature "vim support for rust" app-vim/rust-vim + fi +} + +pkg_postrm() { + eselect rust cleanup +} diff --git a/dev-lang/rust/rust-1.82.0-r100.ebuild b/dev-lang/rust/rust-1.82.0-r100.ebuild new file mode 100644 index 000000000000..fd370bf6309e --- /dev/null +++ b/dev-lang/rust/rust-1.82.0-r100.ebuild @@ -0,0 +1,781 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +LLVM_COMPAT=( 19 ) +PYTHON_COMPAT=( python3_{10..13} ) + +inherit check-reqs estack flag-o-matic llvm-r1 multiprocessing optfeature \ + multilib multilib-build python-any-r1 rust-toolchain toolchain-funcs verify-sig + +if [[ ${PV} = *beta* ]]; then + betaver=${PV//*beta} + BETA_SNAPSHOT="${betaver:0:4}-${betaver:4:2}-${betaver:6:2}" + MY_P="rustc-beta" + SRC="${BETA_SNAPSHOT}/rustc-beta-src.tar.xz -> rustc-${PV}-src.tar.xz" +else + MY_P="rustc-${PV}" + SRC="${MY_P}-src.tar.xz" + KEYWORDS="~amd64 ~arm ~arm64 ~loong ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86" +fi + +RUST_STAGE0_VERSION="1.$(($(ver_cut 2) - 1)).0" + +DESCRIPTION="Systems programming language from Mozilla" +HOMEPAGE="https://www.rust-lang.org/" + +SRC_URI=" + https://static.rust-lang.org/dist/${SRC} + verify-sig? ( https://static.rust-lang.org/dist/${SRC}.asc ) + !system-bootstrap? ( $(rust_all_arch_uris rust-${RUST_STAGE0_VERSION}) ) +" +S="${WORKDIR}/${MY_P}-src" + +# keep in sync with llvm ebuild of the same version as bundled one. +ALL_LLVM_TARGETS=( AArch64 AMDGPU ARC ARM AVR BPF CSKY DirectX Hexagon Lanai + LoongArch M68k Mips MSP430 NVPTX PowerPC RISCV Sparc SPIRV SystemZ VE + WebAssembly X86 XCore Xtensa ) +ALL_LLVM_TARGETS=( "${ALL_LLVM_TARGETS[@]/#/llvm_targets_}" ) +LLVM_TARGET_USEDEPS=${ALL_LLVM_TARGETS[@]/%/(-)?} + +LICENSE="|| ( MIT Apache-2.0 ) BSD BSD-1 BSD-2 BSD-4" +SLOT="${PV}" + +IUSE="big-endian clippy cpu_flags_x86_sse2 debug dist doc llvm-libunwind lto miri nightly parallel-compiler rustfmt rust-analyzer rust-src system-bootstrap system-llvm test wasm ${ALL_LLVM_TARGETS[*]}" + +LLVM_DEPEND=() +# splitting usedeps needed to avoid CI/pkgcheck's UncheckableDep limitation +for _x in "${ALL_LLVM_TARGETS[@]}"; do + LLVM_DEPEND+=( " ${_x}? ( $(llvm_gen_dep "sys-devel/llvm:\${LLVM_SLOT}[${_x}]") )" ) +done +LLVM_DEPEND+=( " wasm? ( $(llvm_gen_dep 'sys-devel/lld:${LLVM_SLOT}') )" ) +LLVM_DEPEND+=( " $(llvm_gen_dep 'sys-devel/llvm:${LLVM_SLOT}')" ) + +# to bootstrap we need at least exactly previous version, or same. +# most of the time previous versions fail to bootstrap with newer +# for example 1.47.x, requires at least 1.46.x, 1.47.x is ok, +# but it fails to bootstrap with 1.48.x +# https://github.com/rust-lang/rust/blob/${PV}/src/stage0.json +RUST_DEP_PREV="$(ver_cut 1).$(($(ver_cut 2) - 1))*" +RUST_DEP_CURR="$(ver_cut 1).$(ver_cut 2)*" +BOOTSTRAP_DEPEND="|| + ( + =dev-lang/rust-"${RUST_DEP_PREV}" + =dev-lang/rust-bin-"${RUST_DEP_PREV}" + =dev-lang/rust-"${RUST_DEP_CURR}" + =dev-lang/rust-bin-"${RUST_DEP_CURR}" + ) +" + +BDEPEND="${PYTHON_DEPS} + app-eselect/eselect-rust + || ( + >=sys-devel/gcc-4.7 + >=sys-devel/clang-3.5 + ) + system-bootstrap? ( ${BOOTSTRAP_DEPEND} ) + !system-llvm? ( + >=dev-build/cmake-3.13.4 + app-alternatives/ninja + ) + test? ( dev-debug/gdb ) + verify-sig? ( sec-keys/openpgp-keys-rust ) +" + +DEPEND=" + >=app-arch/xz-utils-5.2 + net-misc/curl:=[http2,ssl] + sys-libs/zlib:= + dev-libs/openssl:0= + system-llvm? ( + ${LLVM_DEPEND} + llvm-libunwind? ( sys-libs/llvm-libunwind:= ) + ) + !system-llvm? ( + !llvm-libunwind? ( + elibc_musl? ( sys-libs/libunwind:= ) + ) + ) +" + +RDEPEND="${DEPEND} + app-eselect/eselect-rust + dev-lang/rust-common + sys-apps/lsb-release + !dev-lang/rust:stable/1.71.1 + !dev-lang/rust:stable/1.74.1 + !dev-lang/rust:stable/1.75.0 + !dev-lang/rust:stable/1.77.1 + !dev-lang/rust:stable/1.79.0 + !dev-lang/rust:stable/1.80.1 + !dev-lang/rust:stable/1.81.0 + !dev-lang/rust:stable/1.82.0 +" + +REQUIRED_USE="|| ( ${ALL_LLVM_TARGETS[*]} ) + miri? ( nightly ) + parallel-compiler? ( nightly ) + rust-analyzer? ( rust-src ) + test? ( ${ALL_LLVM_TARGETS[*]} ) + wasm? ( llvm_targets_WebAssembly ) + x86? ( cpu_flags_x86_sse2 ) +" + +# we don't use cmake.eclass, but can get a warning +CMAKE_WARN_UNUSED_CLI=no + +QA_FLAGS_IGNORED=" + usr/lib/${PN}/${PV}/bin/.* + usr/lib/${PN}/${PV}/libexec/.* + usr/lib/${PN}/${PV}/lib/lib.*.so + usr/lib/${PN}/${PV}/lib/rustlib/.*/bin/.* + usr/lib/${PN}/${PV}/lib/rustlib/.*/lib/lib.*.so +" + +QA_SONAME=" + usr/lib/${PN}/${PV}/lib/lib.*.so.* + usr/lib/${PN}/${PV}/lib/rustlib/.*/lib/lib.*.so +" + +QA_PRESTRIPPED=" + usr/lib/${PN}/${PV}/lib/rustlib/.*/bin/rust-llvm-dwp + usr/lib/${PN}/${PV}/lib/rustlib/.*/lib/self-contained/crtn.o +" + +# An rmeta file is custom binary format that contains the metadata for the crate. +# rmeta files do not support linking, since they do not contain compiled object files. +# so we can safely silence the warning for this QA check. +QA_EXECSTACK="usr/lib/${PN}/${PV}/lib/rustlib/*/lib*.rlib:lib.rmeta" + +# causes double bootstrap +RESTRICT="test" + +VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/rust.asc + +PATCHES=( + "${FILESDIR}"/1.78.0-musl-dynamic-linking.patch + "${FILESDIR}"/1.74.1-cross-compile-libz.patch + #"${FILESDIR}"/1.72.0-bump-libc-deps-to-0.2.146.patch # pending refresh + "${FILESDIR}"/1.67.0-doc-wasm.patch + "${FILESDIR}"/1.79.0-revert-8c40426.patch +) + +clear_vendor_checksums() { + sed -i 's/\("files":{\)[^}]*/\1/' "vendor/${1}/.cargo-checksum.json" || die +} + +toml_usex() { + usex "${1}" true false +} + +bootstrap_rust_version_check() { + # never call from pkg_pretend. eselect-rust may be not installed yet. + [[ ${MERGE_TYPE} == binary ]] && return + local rustc_wanted="$(ver_cut 1).$(($(ver_cut 2) - 1))" + local rustc_toonew="$(ver_cut 1).$(($(ver_cut 2) + 1))" + local rustc_version=( $(eselect --brief --root="${BROOT}" rust show 2>/dev/null) ) + rustc_version=${rustc_version[0]#rust-bin-} + rustc_version=${rustc_version#rust-} + + [[ -z "${rustc_version}" ]] && die "Failed to determine rust version, check 'eselect rust' output" + + if ver_test "${rustc_version}" -lt "${rustc_wanted}" ; then + eerror "Rust >=${rustc_wanted} is required" + eerror "please run 'eselect rust' and set correct rust version" + die "selected rust version is too old" + elif ver_test "${rustc_version}" -ge "${rustc_toonew}" ; then + eerror "Rust <${rustc_toonew} is required" + eerror "please run 'eselect rust' and set correct rust version" + die "selected rust version is too new" + else + einfo "Using rust ${rustc_version} to build" + fi +} + +pre_build_checks() { + local M=8192 + # multiply requirements by 1.3 if we are doing x86-multilib + if use amd64; then + M=$(( $(usex abi_x86_32 13 10) * ${M} / 10 )) + fi + M=$(( $(usex clippy 128 0) + ${M} )) + M=$(( $(usex miri 128 0) + ${M} )) + M=$(( $(usex rustfmt 256 0) + ${M} )) + # add 2G if we compile llvm and 256M per llvm_target + if ! use system-llvm; then + M=$(( 2048 + ${M} )) + local ltarget + for ltarget in ${ALL_LLVM_TARGETS[@]}; do + M=$(( $(usex ${ltarget} 256 0) + ${M} )) + done + fi + M=$(( $(usex wasm 256 0) + ${M} )) + M=$(( $(usex debug 2 1) * ${M} )) + eshopts_push -s extglob + if is-flagq '-g?(gdb)?([1-9])'; then + M=$(( 15 * ${M} / 10 )) + fi + eshopts_pop + M=$(( $(usex system-bootstrap 0 1024) + ${M} )) + M=$(( $(usex doc 256 0) + ${M} )) + CHECKREQS_DISK_BUILD=${M}M check-reqs_pkg_${EBUILD_PHASE} +} + +llvm_check_deps() { + has_version -r "sys-devel/llvm:${LLVM_SLOT}[${LLVM_TARGET_USEDEPS// /,}]" +} + +# Is LLVM being linked against libc++? +is_libcxx_linked() { + local code='#include <ciso646> +#if defined(_LIBCPP_VERSION) + HAVE_LIBCXX +#endif +' + local out=$($(tc-getCXX) ${CXXFLAGS} ${CPPFLAGS} -x c++ -E -P - <<<"${code}") || return 1 + [[ ${out} == *HAVE_LIBCXX* ]] +} + +pkg_pretend() { + pre_build_checks +} + +pkg_setup() { + pre_build_checks + python-any-r1_pkg_setup + + export LIBGIT2_NO_PKG_CONFIG=1 #749381 + if tc-is-cross-compiler; then + export PKG_CONFIG_ALLOW_CROSS=1 + export PKG_CONFIG_PATH="${ROOT}/usr/$(get_libdir)/pkgconfig" + export OPENSSL_INCLUDE_DIR="${ROOT}/usr/include" + export OPENSSL_LIB_DIR="${ROOT}/usr/$(get_libdir)" + + use system-bootstrap || die "USE=system-bootstrap is required when cross-compiling" + use system-llvm && die "USE=system-llvm not allowed when cross-compiling" + local cross_llvm_target="$(llvm_tuple_to_target "${CBUILD}")" + use "llvm_targets_${cross_llvm_target}" || \ + die "Must enable LLVM_TARGETS=${cross_llvm_target} matching CBUILD=${CBUILD} when cross-compiling" + fi + + use system-bootstrap && bootstrap_rust_version_check + + if use system-llvm; then + llvm-r1_pkg_setup + + local llvm_config="$(get_llvm_prefix "${LLVM_SLOT}")/bin/llvm-config" + export LLVM_LINK_SHARED=1 + export RUSTFLAGS="${RUSTFLAGS} -Lnative=$("${llvm_config}" --libdir)" + fi +} + +esetup_unwind_hack() { + # https://bugs.gentoo.org/870280 + # this is a hack needed to bootstrap with libgcc_s linked tarball on llvm-libunwind system. + # it should trigger for internal bootstrap or system-bootstrap with rust-bin. + # the whole idea is for stage0 to bootstrap with fake libgcc_s. + # final stage will receive -L${T}/lib but not -lgcc_s args, producing clean compiler. + local fakelib="${T}/fakelib" + mkdir -p "${fakelib}" || die + # we need both symlinks, one for cargo runtime, other for linker. + ln -s "${ESYSROOT}/usr/lib/libunwind.so" "${fakelib}/libgcc_s.so.1" || die + ln -s "${ESYSROOT}/usr/lib/libunwind.so" "${fakelib}/libgcc_s.so" || die + export LD_LIBRARY_PATH="${fakelib}" + export RUSTFLAGS+=" -L${fakelib}" + # this is a literally magic variable that gets through cargo cache, without it some + # crates ignore RUSTFLAGS. + # this variable can not contain leading space. + export MAGIC_EXTRA_RUSTFLAGS+="${MAGIC_EXTRA_RUSTFLAGS:+ }-L${fakelib}" +} + +src_prepare() { + # Clear vendor checksums for crates that we patched to bump libc. + # NOTE: refresh this on each bump. + #for i in addr2line-0.20.0 bstr cranelift-jit crossbeam-channel elasticlunr-rs handlebars icu_locid libffi \ + # terminal_size tracing-tree; do + # clear_vendor_checksums "${i}" + #done + + # Rust baselines to Pentium4 on x86, this patch lowers the baseline to i586 when sse2 is not set. + if use x86; then + if ! use cpu_flags_x86_sse2; then + eapply "${FILESDIR}/1.82.0-i586-baseline.patch" + grep -rl cmd.args.push\(\"-march=i686\" . | xargs sed -i 's/march=i686/-march=i586/g' || die + fi + fi + + if ! use system-bootstrap; then + has_version sys-devel/gcc || esetup_unwind_hack + local rust_stage0_root="${WORKDIR}"/rust-stage0 + local rust_stage0="rust-${RUST_STAGE0_VERSION}-$(rust_abi "${CBUILD}")" + + "${WORKDIR}/${rust_stage0}"/install.sh --disable-ldconfig \ + --without=rust-docs-json-preview,rust-docs --destdir="${rust_stage0_root}" --prefix=/ || die + fi + + default +} + +src_configure() { + filter-lto # https://bugs.gentoo.org/862109 https://bugs.gentoo.org/866231 + + local rust_target="" rust_targets="" arch_cflags + + # Collect rust target names to compile standard libs for all ABIs. + for v in $(multilib_get_enabled_abi_pairs); do + rust_targets+=",\"$(rust_abi $(get_abi_CHOST ${v##*.}))\"" + done + if use wasm; then + rust_targets+=",\"wasm32-unknown-unknown\"" + if use system-llvm; then + # un-hardcode rust-lld linker for this target + # https://bugs.gentoo.org/715348 + sed -i '/linker:/ s/rust-lld/wasm-ld/' compiler/rustc_target/src/spec/base/wasm.rs || die + fi + fi + rust_targets="${rust_targets#,}" + + # cargo and rustdoc are mandatory and should always be included + local tools='"cargo","rustdoc"' + use clippy && tools+=',"clippy"' + use miri && tools+=',"miri"' + use rustfmt && tools+=',"rustfmt"' + use rust-analyzer && tools+=',"rust-analyzer","rust-analyzer-proc-macro-srv"' + use rust-src && tools+=',"src"' + + local rust_stage0_root + if use system-bootstrap; then + local printsysroot + printsysroot="$(rustc --print sysroot || die "Can't determine rust's sysroot")" + rust_stage0_root="${printsysroot}" + else + rust_stage0_root="${WORKDIR}"/rust-stage0 + fi + # in case of prefix it will be already prefixed, as --print sysroot returns full path + [[ -d ${rust_stage0_root} ]] || die "${rust_stage0_root} is not a directory" + + rust_target="$(rust_abi)" + rust_build="$(rust_abi "${CBUILD}")" + rust_host="$(rust_abi "${CHOST}")" + + local cm_btype="$(usex debug DEBUG RELEASE)" + cat <<- _EOF_ > "${S}"/config.toml + [llvm] + download-ci-llvm = false + optimize = $(toml_usex !debug) + release-debuginfo = $(toml_usex debug) + assertions = $(toml_usex debug) + ninja = true + targets = "${LLVM_TARGETS// /;}" + experimental-targets = "" + link-shared = $(toml_usex system-llvm) + $(if is_libcxx_linked; then + # https://bugs.gentoo.org/732632 + echo "use-libcxx = true" + echo "static-libstdcpp = false" + fi) + $(case "${rust_target}" in + i586-*-linux-*) + # https://github.com/rust-lang/rust/issues/93059 + echo 'cflags = "-fcf-protection=none"' + echo 'cxxflags = "-fcf-protection=none"' + echo 'ldflags = "-fcf-protection=none"' + ;; + *) + ;; + esac) + enable-warnings = false + [llvm.build-config] + CMAKE_VERBOSE_MAKEFILE = "ON" + $(if ! tc-is-cross-compiler; then + # When cross-compiling, LLVM is compiled twice, once for host and + # once for target. Unfortunately, this build configuration applies + # to both, which means any flags applicable to one target but not + # the other will break. Conditionally disable respecting user + # flags when cross-compiling. + echo "CMAKE_C_FLAGS_${cm_btype} = \"${CFLAGS}\"" + echo "CMAKE_CXX_FLAGS_${cm_btype} = \"${CXXFLAGS}\"" + echo "CMAKE_EXE_LINKER_FLAGS_${cm_btype} = \"${LDFLAGS}\"" + echo "CMAKE_MODULE_LINKER_FLAGS_${cm_btype} = \"${LDFLAGS}\"" + echo "CMAKE_SHARED_LINKER_FLAGS_${cm_btype} = \"${LDFLAGS}\"" + echo "CMAKE_STATIC_LINKER_FLAGS_${cm_btype} = \"${ARFLAGS}\"" + fi) + [build] + build-stage = 2 + test-stage = 2 + build = "${rust_build}" + host = ["${rust_host}"] + target = [${rust_targets}] + cargo = "${rust_stage0_root}/bin/cargo" + rustc = "${rust_stage0_root}/bin/rustc" + rustfmt = "${rust_stage0_root}/bin/rustfmt" + docs = $(toml_usex doc) + compiler-docs = false + submodules = false + python = "${EPYTHON}" + locked-deps = true + vendor = true + extended = true + tools = [${tools}] + verbose = 2 + sanitizers = false + profiler = true + cargo-native-static = false + [install] + prefix = "${EPREFIX}/usr/lib/${PN}/${PV}" + sysconfdir = "etc" + docdir = "share/doc/rust" + bindir = "bin" + libdir = "lib" + mandir = "share/man" + [rust] + # https://github.com/rust-lang/rust/issues/54872 + codegen-units-std = 1 + optimize = true + debug = $(toml_usex debug) + debug-assertions = $(toml_usex debug) + debug-assertions-std = $(toml_usex debug) + debuginfo-level = $(usex debug 2 0) + debuginfo-level-rustc = $(usex debug 2 0) + debuginfo-level-std = $(usex debug 2 0) + debuginfo-level-tools = $(usex debug 2 0) + debuginfo-level-tests = 0 + backtrace = true + incremental = false + $(if ! tc-is-cross-compiler; then + echo "default-linker = \"$(tc-getCC)\"" + fi) + parallel-compiler = $(toml_usex parallel-compiler) + channel = "$(usex nightly nightly stable)" + description = "gentoo" + rpath = false + verbose-tests = true + optimize-tests = $(toml_usex !debug) + codegen-tests = true + dist-src = false + remap-debuginfo = true + lld = $(usex system-llvm false $(toml_usex wasm)) + # only deny warnings if doc+wasm are NOT requested, documenting stage0 wasm std fails without it + # https://github.com/rust-lang/rust/issues/74976 + # https://github.com/rust-lang/rust/issues/76526 + deny-warnings = $(usex wasm $(usex doc false true) true) + backtrace-on-ice = true + jemalloc = false + # See https://github.com/rust-lang/rust/issues/121124 + lto = "$(usex lto thin off)" + [dist] + src-tarball = false + compression-formats = ["xz"] + compression-profile = "balanced" + _EOF_ + + for v in $(multilib_get_enabled_abi_pairs); do + rust_target=$(rust_abi $(get_abi_CHOST ${v##*.})) + arch_cflags="$(get_abi_CFLAGS ${v##*.})" + + export CFLAGS_${rust_target//-/_}="${arch_cflags}" + + cat <<- _EOF_ >> "${S}"/config.toml + [target.${rust_target}] + ar = "$(tc-getAR)" + cc = "$(tc-getCC)" + cxx = "$(tc-getCXX)" + linker = "$(tc-getCC)" + ranlib = "$(tc-getRANLIB)" + llvm-libunwind = "$(usex llvm-libunwind $(usex system-llvm system in-tree) no)" + _EOF_ + if use system-llvm; then + cat <<- _EOF_ >> "${S}"/config.toml + llvm-config = "$(get_llvm_prefix)/bin/llvm-config" + _EOF_ + fi + # by default librustc_target/spec/linux_musl_base.rs sets base.crt_static_default = true; + # but we patch it and set to false here as well + if use elibc_musl; then + cat <<- _EOF_ >> "${S}"/config.toml + crt-static = false + musl-root = "$($(tc-getCC) -print-sysroot)/usr" + _EOF_ + fi + done + if use wasm; then + wasm_target="wasm32-unknown-unknown" + export CFLAGS_${wasm_target//-/_}="$(filter-flags '-mcpu*' '-march*' '-mtune*'; echo "$CFLAGS")" + cat <<- _EOF_ >> "${S}"/config.toml + [target.wasm32-unknown-unknown] + linker = "$(usex system-llvm lld rust-lld)" + # wasm target does not have profiler_builtins https://bugs.gentoo.org/848483 + profiler = false + _EOF_ + fi + + if [[ -n ${I_KNOW_WHAT_I_AM_DOING_CROSS} ]]; then # whitespace intentionally shifted below + # experimental cross support + # discussion: https://bugs.gentoo.org/679878 + # TODO: c*flags, clang, system-llvm, cargo.eclass target support + # it would be much better if we could split out stdlib + # complilation to separate ebuild and abuse CATEGORY to + # just install to /usr/lib/rustlib/<target> + + # extra targets defined as a bash array + # spec format: <LLVM target>:<rust-target>:<CTARGET> + # best place would be /etc/portage/env/dev-lang/rust + # Example: + # RUST_CROSS_TARGETS=( + # "AArch64:aarch64-unknown-linux-gnu:aarch64-unknown-linux-gnu" + # ) + # no extra hand holding is done, no target transformations, all + # values are passed as-is with just basic checks, so it's up to user to supply correct values + # valid rust targets can be obtained with + # rustc --print target-list + # matching cross toolchain has to be installed + # matching LLVM_TARGET has to be enabled for both rust and llvm (if using system one) + # only gcc toolchains installed with crossdev are checked for now. + + # BUG: we can't pass host flags to cross compiler, so just filter for now + # BUG: this should be more fine-grained. + filter-flags '-mcpu=*' '-march=*' '-mtune=*' + + local cross_target_spec + for cross_target_spec in "${RUST_CROSS_TARGETS[@]}";do + # extracts first element form <LLVM target>:<rust-target>:<CTARGET> + local cross_llvm_target="${cross_target_spec%%:*}" + # extracts toolchain triples, <rust-target>:<CTARGET> + local cross_triples="${cross_target_spec#*:}" + # extracts first element after before : separator + local cross_rust_target="${cross_triples%%:*}" + # extracts last element after : separator + local cross_toolchain="${cross_triples##*:}" + use llvm_targets_${cross_llvm_target} || die "need llvm_targets_${cross_llvm_target} target enabled" + command -v ${cross_toolchain}-gcc > /dev/null 2>&1 || die "need ${cross_toolchain} cross toolchain" + + cat <<- _EOF_ >> "${S}"/config.toml + [target.${cross_rust_target}] + ar = "${cross_toolchain}-ar" + cc = "${cross_toolchain}-gcc" + cxx = "${cross_toolchain}-g++" + linker = "${cross_toolchain}-gcc" + ranlib = "${cross_toolchain}-ranlib" + _EOF_ + if use system-llvm; then + cat <<- _EOF_ >> "${S}"/config.toml + llvm-config = "$(get_llvm_prefix)/bin/llvm-config" + _EOF_ + fi + if [[ "${cross_toolchain}" == *-musl* ]]; then + cat <<- _EOF_ >> "${S}"/config.toml + musl-root = "$(${cross_toolchain}-gcc -print-sysroot)/usr" + _EOF_ + fi + + # append cross target to "normal" target list + # example 'target = ["powerpc64le-unknown-linux-gnu"]' + # becomes 'target = ["powerpc64le-unknown-linux-gnu","aarch64-unknown-linux-gnu"]' + + rust_targets="${rust_targets},\"${cross_rust_target}\"" + sed -i "/^target = \[/ s#\[.*\]#\[${rust_targets}\]#" config.toml || die + + ewarn + ewarn "Enabled ${cross_rust_target} rust target" + ewarn "Using ${cross_toolchain} cross toolchain" + ewarn + if ! has_version -b 'sys-devel/binutils[multitarget]' ; then + ewarn "'sys-devel/binutils[multitarget]' is not installed" + ewarn "'strip' will be unable to strip cross libraries" + ewarn "cross targets will be installed with full debug information" + ewarn "enable 'multitarget' USE flag for binutils to be able to strip object files" + ewarn + ewarn "Alternatively llvm-strip can be used, it supports stripping any target" + ewarn "define STRIP=\"llvm-strip\" to use it (experimental)" + ewarn + fi + done + fi # I_KNOW_WHAT_I_AM_DOING_CROSS + + einfo "Rust configured with the following flags:" + echo + echo RUSTFLAGS="\"${RUSTFLAGS}\"" + echo RUSTFLAGS_BOOTSTRAP="\"${RUSTFLAGS_BOOTSTRAP}\"" + echo RUSTFLAGS_NOT_BOOTSTRAP="\"${RUSTFLAGS_NOT_BOOTSTRAP}\"" + echo MAGIC_EXTRA_RUSTFLAGS="\"${MAGIC_EXTRA_RUSTFLAGS}\"" + env | grep "CARGO_TARGET_.*_RUSTFLAGS=" + env | grep "CFLAGS_.*" + echo + einfo "config.toml contents:" + cat "${S}"/config.toml || die + echo +} + +src_compile() { + RUST_BACKTRACE=1 "${EPYTHON}" ./x.py build -vvv --config="${S}"/config.toml -j$(makeopts_jobs) || die +} + +src_test() { + # https://rustc-dev-guide.rust-lang.org/tests/intro.html + + # those are basic and codegen tests. + local tests=( + codegen + codegen-units + compile-fail + incremental + mir-opt + pretty + run-make + ) + + # fails if llvm is not built with ALL targets. + # and known to fail with system llvm sometimes. + use system-llvm || tests+=( assembly ) + + # fragile/expensive/less important tests + # or tests that require extra builds + # TODO: instead of skipping, just make some nonfatal. + if [[ ${ERUST_RUN_EXTRA_TESTS:-no} != no ]]; then + tests+=( + rustdoc + rustdoc-js + rustdoc-js-std + rustdoc-ui + run-make-fulldeps + ui + ui-fulldeps + ) + fi + + local i failed=() + einfo "rust_src_test: enabled tests ${tests[@]/#/src/test/}" + for i in "${tests[@]}"; do + local t="src/test/${i}" + einfo "rust_src_test: running ${t}" + if ! RUST_BACKTRACE=1 "${EPYTHON}" ./x.py test -vv --config="${S}"/config.toml \ + -j$(makeopts_jobs) --no-doc --no-fail-fast "${t}" + then + failed+=( "${t}" ) + eerror "rust_src_test: ${t} failed" + fi + done + + if [[ ${#failed[@]} -ne 0 ]]; then + eerror "rust_src_test: failure summary: ${failed[@]}" + die "aborting due to test failures" + fi +} + +src_install() { + DESTDIR="${D}" "${EPYTHON}" ./x.py install -vv --config="${S}"/config.toml -j$(makeopts_jobs) || die + + docompress /usr/lib/${PN}/${PV}/share/man/ + + # bug #689562, #689160 + rm -v "${ED}/usr/lib/${PN}/${PV}/etc/bash_completion.d/cargo" || die + rmdir -v "${ED}/usr/lib/${PN}/${PV}"/etc{/bash_completion.d,} || die + + local symlinks=( + cargo + rustc + rustdoc + rust-gdb + rust-gdbgui + rust-lldb + ) + + use clippy && symlinks+=( clippy-driver cargo-clippy ) + use miri && symlinks+=( miri cargo-miri ) + use rustfmt && symlinks+=( rustfmt cargo-fmt ) + use rust-analyzer && symlinks+=( rust-analyzer ) + + einfo "installing eselect-rust symlinks and paths: ${symlinks[@]}" + local i + for i in "${symlinks[@]}"; do + # we need realpath on /usr/bin/* symlink return version-appended binary path. + # so /usr/bin/rustc should point to /usr/lib/rust/<ver>/bin/rustc-<ver> + # need to fix eselect-rust to remove this hack. + local ver_i="${i}-${PV}" + if [[ -f "${ED}/usr/lib/${PN}/${PV}/bin/${i}" ]]; then + einfo "Installing ${i} symlink" + ln -v "${ED}/usr/lib/${PN}/${PV}/bin/${i}" "${ED}/usr/lib/${PN}/${PV}/bin/${ver_i}" || die + else + ewarn "${i} symlink requested, but source file not found" + ewarn "please report this" + fi + dosym "../lib/${PN}/${PV}/bin/${ver_i}" "/usr/bin/${ver_i}" + done + + # symlinks to switch components to active rust in eselect + dosym "${PV}/lib" "/usr/lib/${PN}/lib-${PV}" + dosym "${PV}/libexec" "/usr/lib/${PN}/libexec-${PV}" + dosym "${PV}/share/man" "/usr/lib/${PN}/man-${PV}" + dosym "rust/${PV}/lib/rustlib" "/usr/lib/rustlib-${PV}" + dosym "../../lib/${PN}/${PV}/share/doc/rust" "/usr/share/doc/${P}" + + newenvd - "50${P}" <<-_EOF_ + LDPATH="${EPREFIX}/usr/lib/rust/lib-${PV}" + MANPATH="${EPREFIX}/usr/lib/rust/man-${PV}" + _EOF_ + + rm -rf "${ED}/usr/lib/${PN}/${PV}"/*.old || die + rm -rf "${ED}/usr/lib/${PN}/${PV}/bin"/*.old || die + rm -rf "${ED}/usr/lib/${PN}/${PV}/doc"/*.old || die + + # note: eselect-rust adds EROOT to all paths below + cat <<-_EOF_ > "${T}/provider-${P}" + /usr/bin/cargo + /usr/bin/rustdoc + /usr/bin/rust-gdb + /usr/bin/rust-gdbgui + /usr/bin/rust-lldb + /usr/lib/rustlib + /usr/lib/rust/lib + /usr/lib/rust/libexec + /usr/lib/rust/man + /usr/share/doc/rust + _EOF_ + + if use clippy; then + echo /usr/bin/clippy-driver >> "${T}/provider-${P}" + echo /usr/bin/cargo-clippy >> "${T}/provider-${P}" + fi + if use miri; then + echo /usr/bin/miri >> "${T}/provider-${P}" + echo /usr/bin/cargo-miri >> "${T}/provider-${P}" + fi + if use rustfmt; then + echo /usr/bin/rustfmt >> "${T}/provider-${P}" + echo /usr/bin/cargo-fmt >> "${T}/provider-${P}" + fi + if use rust-analyzer; then + echo /usr/bin/rust-analyzer >> "${T}/provider-${P}" + fi + + insinto /etc/env.d/rust + doins "${T}/provider-${P}" + + if use dist; then + "${EPYTHON}" ./x.py dist -vv --config="${S}"/config.toml -j$(makeopts_jobs) || die + insinto "/usr/lib/${PN}/${PV}/dist" + doins -r "${S}/build/dist/." + fi +} + +pkg_postinst() { + eselect rust update + + if has_version dev-debug/gdb || has_version dev-debug/lldb; then + elog "Rust installs a helper script for calling GDB and LLDB," + elog "for your convenience it is installed under /usr/bin/rust-{gdb,lldb}-${PV}." + fi + + if has_version app-editors/emacs; then + optfeature "emacs support for rust" app-emacs/rust-mode + fi + + if has_version app-editors/gvim || has_version app-editors/vim; then + optfeature "vim support for rust" app-vim/rust-vim + fi +} + +pkg_postrm() { + eselect rust cleanup +} diff --git a/dev-lang/spidermonkey/spidermonkey-102.15.0.ebuild b/dev-lang/spidermonkey/spidermonkey-102.15.0-r1.ebuild index b1ab05478ed6..bf9a67de35f8 100644 --- a/dev-lang/spidermonkey/spidermonkey-102.15.0.ebuild +++ b/dev-lang/spidermonkey/spidermonkey-102.15.0-r1.ebuild @@ -7,14 +7,16 @@ EAPI="8" FIREFOX_PATCHSET="firefox-102esr-patches-13.tar.xz" SPIDERMONKEY_PATCHSET="spidermonkey-102-patches-05j.tar.xz" -LLVM_MAX_SLOT=17 +LLVM_COMPAT=( 17 ) PYTHON_COMPAT=( python3_{10..11} ) PYTHON_REQ_USE="ssl,xml(+)" +RUST_NEEDS_LLVM=1 + WANT_AUTOCONF="2.1" -inherit autotools check-reqs flag-o-matic llvm multiprocessing prefix python-any-r1 toolchain-funcs +inherit autotools check-reqs flag-o-matic llvm-r1 multiprocessing prefix python-any-r1 rust toolchain-funcs MY_PN="mozjs" MY_PV="${PV/_pre*}" # Handle Gentoo pre-releases @@ -71,41 +73,13 @@ IUSE="clang cpu_flags_arm_neon debug +jit lto test" RESTRICT="!test? ( test )" BDEPEND="${PYTHON_DEPS} - || ( - ( - sys-devel/llvm:17 - clang? ( - sys-devel/clang:17 - sys-devel/lld:17 - virtual/rust:0/llvm-17 - ) - ) - ( - sys-devel/llvm:16 - clang? ( - sys-devel/clang:16 - sys-devel/lld:16 - virtual/rust:0/llvm-16 - ) - ) - ( - sys-devel/llvm:15 - clang? ( - sys-devel/clang:15 - virtual/rust:0/llvm-15 - lto? ( sys-devel/lld:15 ) - ) - ) - ( - sys-devel/llvm:14 - clang? ( - sys-devel/clang:14 - virtual/rust:0/llvm-14 - lto? ( sys-devel/lld:14 ) - ) + $(llvm_gen_dep ' + sys-devel/clang:${LLVM_SLOT} + sys-devel/llvm:${LLVM_SLOT} + clang? ( + sys-devel/lld:${LLVM_SLOT} ) - ) - !clang? ( virtual/rust ) + ') virtual/pkgconfig test? ( $(python_gen_any_dep 'dev-python/six[${PYTHON_USEDEP}]') @@ -130,11 +104,6 @@ llvm_check_deps() { return 1 fi - if ! has_version -b "virtual/rust:0/llvm-${LLVM_SLOT}" ; then - einfo "virtual/rust:0/llvm-${LLVM_SLOT} is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2 - return 1 - fi - if use lto ; then if ! has_version -b "sys-devel/lld:${LLVM_SLOT}" ; then einfo "sys-devel/lld:${LLVM_SLOT} is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2 @@ -172,7 +141,8 @@ pkg_setup() { check-reqs_pkg_setup - llvm_pkg_setup + llvm-r1_pkg_setup + rust_pkg_setup if use clang && use lto ; then local version_lld=$(ld.lld --version 2>/dev/null | awk '{ print $2 }') diff --git a/dev-lang/spidermonkey/spidermonkey-115.16.0.ebuild b/dev-lang/spidermonkey/spidermonkey-115.16.0-r1.ebuild index ec49a5bdada9..b1444fb6dae3 100644 --- a/dev-lang/spidermonkey/spidermonkey-115.16.0.ebuild +++ b/dev-lang/spidermonkey/spidermonkey-115.16.0-r1.ebuild @@ -7,14 +7,16 @@ EAPI="8" FIREFOX_PATCHSET="firefox-115esr-patches-13.tar.xz" SPIDERMONKEY_PATCHSET="spidermonkey-115-patches-02.tar.xz" -LLVM_MAX_SLOT=18 +LLVM_COMPAT=( 18 ) PYTHON_COMPAT=( python3_{10..12} ) PYTHON_REQ_USE="ncurses,ssl,xml(+)" +RUST_NEEDS_LLVM="1" + WANT_AUTOCONF="2.1" -inherit autotools check-reqs flag-o-matic llvm multiprocessing prefix python-any-r1 toolchain-funcs +inherit autotools check-reqs flag-o-matic llvm-r1 multiprocessing prefix python-any-r1 rust toolchain-funcs MY_PN="mozjs" MY_PV="${PV/_pre*}" # Handle Gentoo pre-releases @@ -72,47 +74,13 @@ RESTRICT="!test? ( test )" BDEPEND="${PYTHON_DEPS} virtual/pkgconfig - || ( - ( - sys-devel/llvm:18 - clang? ( - sys-devel/lld:18 - sys-devel/clang:18 - virtual/rust:0/llvm-18 - ) - ) - ( - sys-devel/llvm:17 - clang? ( - sys-devel/lld:17 - sys-devel/clang:17 - virtual/rust:0/llvm-17 - ) - ) - ( - sys-devel/llvm:16 - clang? ( - sys-devel/lld:16 - sys-devel/clang:16 - virtual/rust:0/llvm-16 - ) - ) - ( - sys-devel/llvm:15 - clang? ( - sys-devel/lld:15 - sys-devel/clang:15 - virtual/rust:0/llvm-15 - ) - ) - ) - !clang? ( virtual/rust ) - !elibc_glibc? ( - || ( - dev-lang/rust - <dev-lang/rust-bin-1.73 + $(llvm_gen_dep ' + sys-devel/clang:${LLVM_SLOT} + sys-devel/llvm:${LLVM_SLOT} + clang? ( + sys-devel/lld:${LLVM_SLOT} ) - ) + ') test? ( $(python_gen_any_dep 'dev-python/six[${PYTHON_USEDEP}]') )" @@ -136,11 +104,6 @@ llvm_check_deps() { return 1 fi - if ! has_version -b "virtual/rust:0/llvm-${LLVM_SLOT}" ; then - einfo "virtual/rust:0/llvm-${LLVM_SLOT} is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2 - return 1 - fi - if ! tc-ld-is-mold ; then if ! has_version -b "sys-devel/lld:${LLVM_SLOT}" ; then einfo "sys-devel/lld:${LLVM_SLOT} is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2 @@ -212,7 +175,8 @@ pkg_setup() { check-reqs_pkg_setup - llvm_pkg_setup + llvm-r1_pkg_setup + rust_pkg_setup if use clang && use lto && tc-ld-is-lld ; then local version_lld=$(ld.lld --version 2>/dev/null | awk '{ print $2 }') diff --git a/dev-lang/spidermonkey/spidermonkey-128.3.0.ebuild b/dev-lang/spidermonkey/spidermonkey-128.3.0-r1.ebuild index 77e9e3247dbd..9b70f62cf9c9 100644 --- a/dev-lang/spidermonkey/spidermonkey-128.3.0.ebuild +++ b/dev-lang/spidermonkey/spidermonkey-128.3.0-r1.ebuild @@ -11,9 +11,11 @@ LLVM_COMPAT=( 17 18 19 ) PYTHON_COMPAT=( python3_{10..12} ) PYTHON_REQ_USE="ncurses,ssl,xml(+)" +RUST_NEEDS_LLVM=1 + WANT_AUTOCONF="2.1" -inherit autotools check-reqs flag-o-matic llvm-r1 multiprocessing python-any-r1 toolchain-funcs +inherit autotools check-reqs flag-o-matic llvm-r1 multiprocessing python-any-r1 rust toolchain-funcs MY_PN="mozjs" MY_PV="${PV/_pre*}" @@ -73,11 +75,8 @@ BDEPEND="${PYTHON_DEPS} sys-devel/clang:${LLVM_SLOT} sys-devel/lld:${LLVM_SLOT} sys-devel/llvm:${LLVM_SLOT} - virtual/rust:0/llvm-${LLVM_SLOT} ) ') - !clang? ( virtual/rust ) - !elibc_glibc? ( dev-lang/rust ) >=dev-util/cbindgen-0.26.0 virtual/pkgconfig test? ( @@ -103,11 +102,6 @@ llvm_check_deps() { return 1 fi - if ! has_version -b "virtual/rust:0/llvm-${LLVM_SLOT}" ; then - einfo "virtual/rust:0/llvm-${LLVM_SLOT} is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2 - return 1 - fi - if ! tc-ld-is-mold ; then if ! has_version -b "sys-devel/lld:${LLVM_SLOT}" ; then einfo "sys-devel/lld:${LLVM_SLOT} is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2 @@ -189,6 +183,7 @@ pkg_setup() { check-reqs_pkg_setup llvm-r1_pkg_setup + rust_pkg_setup if use clang && use lto && tc-ld-is-lld ; then local version_lld=$(ld.lld --version 2>/dev/null | awk '{ print $2 }') diff --git a/dev-lang/spidermonkey/spidermonkey-128.4.0.ebuild b/dev-lang/spidermonkey/spidermonkey-128.4.0-r1.ebuild index 3915902d6caa..0bf52dabea6e 100644 --- a/dev-lang/spidermonkey/spidermonkey-128.4.0.ebuild +++ b/dev-lang/spidermonkey/spidermonkey-128.4.0-r1.ebuild @@ -13,7 +13,7 @@ PYTHON_REQ_USE="ncurses,ssl,xml(+)" WANT_AUTOCONF="2.1" -inherit autotools check-reqs flag-o-matic llvm-r1 multiprocessing python-any-r1 toolchain-funcs +inherit autotools check-reqs flag-o-matic llvm-r1 multiprocessing python-any-r1 rust toolchain-funcs MY_PN="mozjs" MY_PV="${PV/_pre*}" @@ -73,11 +73,8 @@ BDEPEND="${PYTHON_DEPS} sys-devel/clang:${LLVM_SLOT} sys-devel/lld:${LLVM_SLOT} sys-devel/llvm:${LLVM_SLOT} - virtual/rust:0/llvm-${LLVM_SLOT} ) ') - !clang? ( virtual/rust ) - !elibc_glibc? ( dev-lang/rust ) >=dev-util/cbindgen-0.26.0 virtual/pkgconfig test? ( @@ -103,11 +100,6 @@ llvm_check_deps() { return 1 fi - if ! has_version -b "virtual/rust:0/llvm-${LLVM_SLOT}" ; then - einfo "virtual/rust:0/llvm-${LLVM_SLOT} is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2 - return 1 - fi - if ! tc-ld-is-mold ; then if ! has_version -b "sys-devel/lld:${LLVM_SLOT}" ; then einfo "sys-devel/lld:${LLVM_SLOT} is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2 @@ -189,6 +181,7 @@ pkg_setup() { check-reqs_pkg_setup llvm-r1_pkg_setup + rust_pkg_setup if use clang && use lto && tc-ld-is-lld ; then local version_lld=$(ld.lld --version 2>/dev/null | awk '{ print $2 }') diff --git a/dev-libs/dynolog/dynolog-0.3.1_p20230126-r2.ebuild b/dev-libs/dynolog/dynolog-0.3.1_p20230126-r3.ebuild index ca74802f6de0..ca74802f6de0 100644 --- a/dev-libs/dynolog/dynolog-0.3.1_p20230126-r2.ebuild +++ b/dev-libs/dynolog/dynolog-0.3.1_p20230126-r3.ebuild diff --git a/dev-python/adblock/adblock-0.6.0.ebuild b/dev-python/adblock/adblock-0.6.0-r1.ebuild index 2204153a01f8..2204153a01f8 100644 --- a/dev-python/adblock/adblock-0.6.0.ebuild +++ b/dev-python/adblock/adblock-0.6.0-r1.ebuild diff --git a/dev-python/bcrypt/bcrypt-4.2.0-r2.ebuild b/dev-python/bcrypt/bcrypt-4.2.0-r3.ebuild index 01fd00db34ee..01fd00db34ee 100644 --- a/dev-python/bcrypt/bcrypt-4.2.0-r2.ebuild +++ b/dev-python/bcrypt/bcrypt-4.2.0-r3.ebuild diff --git a/dev-python/blake3/blake3-0.4.1.ebuild b/dev-python/blake3/blake3-0.4.1-r1.ebuild index 169408721d16..c09028b90ccb 100644 --- a/dev-python/blake3/blake3-0.4.1.ebuild +++ b/dev-python/blake3/blake3-0.4.1-r1.ebuild @@ -108,8 +108,13 @@ QA_FLAGS_IGNORED="usr/lib.*/py.*/site-packages/blake3/blake3.*.so" distutils_enable_tests pytest +pkg_setup() { + distutils-r1_pkg_setup + use rust && cargo_pkg_setup +} + src_unpack() { - cargo_src_unpack + use rust && cargo_src_unpack } src_prepare() { diff --git a/dev-python/cramjam/cramjam-2.8.3.ebuild b/dev-python/cramjam/cramjam-2.8.3-r1.ebuild index 73bb943dde59..73bb943dde59 100644 --- a/dev-python/cramjam/cramjam-2.8.3.ebuild +++ b/dev-python/cramjam/cramjam-2.8.3-r1.ebuild diff --git a/dev-python/cramjam/cramjam-2.8.4.ebuild b/dev-python/cramjam/cramjam-2.8.4-r1.ebuild index 800415fe85a3..800415fe85a3 100644 --- a/dev-python/cramjam/cramjam-2.8.4.ebuild +++ b/dev-python/cramjam/cramjam-2.8.4-r1.ebuild diff --git a/dev-python/cramjam/cramjam-2.9.0.ebuild b/dev-python/cramjam/cramjam-2.9.0-r1.ebuild index 54236d80d254..54236d80d254 100644 --- a/dev-python/cramjam/cramjam-2.9.0.ebuild +++ b/dev-python/cramjam/cramjam-2.9.0-r1.ebuild diff --git a/dev-python/cryptography/cryptography-43.0.3.ebuild b/dev-python/cryptography/cryptography-43.0.3-r1.ebuild index dde6f100fd31..d2d62f9acef7 100644 --- a/dev-python/cryptography/cryptography-43.0.3.ebuild +++ b/dev-python/cryptography/cryptography-43.0.3-r1.ebuild @@ -77,11 +77,9 @@ RDEPEND=" DEPEND=" ${RDEPEND} " -# XXX: Drop explicit >=virtual/rust-1.56.0 dep once that's the minimum in cargo.eclass -# and replace it with ${RUST_DEPEND} + BDEPEND=" dev-python/setuptools[${PYTHON_USEDEP}] - >=virtual/rust-1.56.0 test? ( dev-python/certifi[${PYTHON_USEDEP}] >=dev-python/hypothesis-1.11.4[${PYTHON_USEDEP}] diff --git a/dev-python/dulwich/dulwich-0.22.4.ebuild b/dev-python/dulwich/dulwich-0.22.4-r1.ebuild index ed4304223767..ed4304223767 100644 --- a/dev-python/dulwich/dulwich-0.22.4.ebuild +++ b/dev-python/dulwich/dulwich-0.22.4-r1.ebuild diff --git a/dev-python/jellyfish/jellyfish-1.1.0.ebuild b/dev-python/jellyfish/jellyfish-1.1.0-r1.ebuild index e3bcd852ea94..da3d699aea29 100644 --- a/dev-python/jellyfish/jellyfish-1.1.0.ebuild +++ b/dev-python/jellyfish/jellyfish-1.1.0-r1.ebuild @@ -74,6 +74,11 @@ distutils_enable_tests pytest export UNSAFE_PYO3_SKIP_VERSION_CHECK=1 +pkg_setup() { + distutils-r1_pkg_setup + cargo_src_prepare +} + python_test_all() { cargo_src_test } diff --git a/dev-python/libcst/libcst-1.5.0.ebuild b/dev-python/libcst/libcst-1.5.0-r1.ebuild index 2eb6ef190406..ef97ae4e765b 100644 --- a/dev-python/libcst/libcst-1.5.0.ebuild +++ b/dev-python/libcst/libcst-1.5.0-r1.ebuild @@ -160,6 +160,11 @@ distutils_enable_tests pytest QA_FLAGS_IGNORED="usr/lib/py.*/site-packages/libcst/native.*" +pkg_setup() { + distutils_r1_pkg_setup + rust_pkg_setup +} + python_test() { local EPYTEST_DESELECT=( # TODO diff --git a/dev-python/mitmproxy_wireguard/mitmproxy_wireguard-0.1.20.ebuild b/dev-python/mitmproxy_wireguard/mitmproxy_wireguard-0.1.20-r1.ebuild index 8b203a51a8e5..8b203a51a8e5 100644 --- a/dev-python/mitmproxy_wireguard/mitmproxy_wireguard-0.1.20.ebuild +++ b/dev-python/mitmproxy_wireguard/mitmproxy_wireguard-0.1.20-r1.ebuild diff --git a/dev-python/nh3/nh3-0.2.18.ebuild b/dev-python/nh3/nh3-0.2.18-r1.ebuild index 14e9c185d518..14e9c185d518 100644 --- a/dev-python/nh3/nh3-0.2.18.ebuild +++ b/dev-python/nh3/nh3-0.2.18-r1.ebuild diff --git a/dev-python/orjson/orjson-3.10.10.ebuild b/dev-python/orjson/orjson-3.10.10-r1.ebuild index cbc4ab2ab2b7..2b4112470abe 100644 --- a/dev-python/orjson/orjson-3.10.10.ebuild +++ b/dev-python/orjson/orjson-3.10.10-r1.ebuild @@ -45,6 +45,8 @@ CRATES=" xxhash-rust@0.8.12 " +RUST_MIN_VER="1.74.1" + inherit cargo distutils-r1 pypi DESCRIPTION="Fast, correct Python JSON library supporting dataclasses, datetimes, and numpy" @@ -65,7 +67,6 @@ SLOT="0" KEYWORDS="~amd64 ~arm ~arm64 ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" BDEPEND=" - >=virtual/rust-1.72 test? ( dev-python/arrow[${PYTHON_USEDEP}] dev-python/psutil[${PYTHON_USEDEP}] diff --git a/dev-python/orjson/orjson-3.10.11.ebuild b/dev-python/orjson/orjson-3.10.11-r1.ebuild index 5c03b8c36edb..3a501dfa5083 100644 --- a/dev-python/orjson/orjson-3.10.11.ebuild +++ b/dev-python/orjson/orjson-3.10.11-r1.ebuild @@ -45,6 +45,8 @@ CRATES=" xxhash-rust@0.8.12 " +RUST_MIN_VER="1.74.1" + inherit cargo distutils-r1 pypi DESCRIPTION="Fast, correct Python JSON library supporting dataclasses, datetimes, and numpy" @@ -65,7 +67,6 @@ SLOT="0" KEYWORDS="~amd64 ~arm ~arm64 ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" BDEPEND=" - >=virtual/rust-1.72 test? ( dev-python/arrow[${PYTHON_USEDEP}] dev-python/psutil[${PYTHON_USEDEP}] diff --git a/dev-python/orjson/orjson-3.10.7.ebuild b/dev-python/orjson/orjson-3.10.7-r1.ebuild index f19958a1c0bf..7a61a1451002 100644 --- a/dev-python/orjson/orjson-3.10.7.ebuild +++ b/dev-python/orjson/orjson-3.10.7-r1.ebuild @@ -49,6 +49,8 @@ CRATES=" xxhash-rust@0.8.12 " +RUST_MIN_VER="1.74.1" + inherit cargo distutils-r1 pypi DESCRIPTION="Fast, correct Python JSON library supporting dataclasses, datetimes, and numpy" @@ -69,7 +71,6 @@ SLOT="0" KEYWORDS="amd64 arm arm64 ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86" BDEPEND=" - >=virtual/rust-1.72 test? ( dev-python/arrow[${PYTHON_USEDEP}] dev-python/psutil[${PYTHON_USEDEP}] diff --git a/dev-python/orjson/orjson-3.10.9.ebuild b/dev-python/orjson/orjson-3.10.9-r1.ebuild index ed6c5c62af3c..738c33a18fb6 100644 --- a/dev-python/orjson/orjson-3.10.9.ebuild +++ b/dev-python/orjson/orjson-3.10.9-r1.ebuild @@ -45,6 +45,8 @@ CRATES=" xxhash-rust@0.8.12 " +RUST_MIN_VER="1.74.1" + inherit cargo distutils-r1 pypi DESCRIPTION="Fast, correct Python JSON library supporting dataclasses, datetimes, and numpy" @@ -65,7 +67,6 @@ SLOT="0" KEYWORDS="~amd64 ~arm ~arm64 ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" BDEPEND=" - >=virtual/rust-1.72 test? ( dev-python/arrow[${PYTHON_USEDEP}] dev-python/psutil[${PYTHON_USEDEP}] diff --git a/dev-python/pydantic-core/pydantic-core-2.23.4.ebuild b/dev-python/pydantic-core/pydantic-core-2.23.4-r1.ebuild index 861953aeca39..cfe9a3db749c 100644 --- a/dev-python/pydantic-core/pydantic-core-2.23.4.ebuild +++ b/dev-python/pydantic-core/pydantic-core-2.23.4-r1.ebuild @@ -130,7 +130,6 @@ RDEPEND=" >=dev-python/typing-extensions-4.7.1[${PYTHON_USEDEP}] " BDEPEND=" - >=virtual/rust-1.70.0 test? ( >=dev-python/dirty-equals-0.5.0[${PYTHON_USEDEP}] >=dev-python/hypothesis-6.63.0[${PYTHON_USEDEP}] diff --git a/dev-python/pydantic-core/pydantic-core-2.25.0.ebuild b/dev-python/pydantic-core/pydantic-core-2.25.0-r1.ebuild index 1a69812ffb66..eb5decd5dfc7 100644 --- a/dev-python/pydantic-core/pydantic-core-2.25.0.ebuild +++ b/dev-python/pydantic-core/pydantic-core-2.25.0-r1.ebuild @@ -130,7 +130,6 @@ RDEPEND=" >=dev-python/typing-extensions-4.7.1[${PYTHON_USEDEP}] " BDEPEND=" - >=virtual/rust-1.70.0 test? ( >=dev-python/dirty-equals-0.5.0[${PYTHON_USEDEP}] >=dev-python/hypothesis-6.63.0[${PYTHON_USEDEP}] diff --git a/dev-python/pydantic-core/pydantic-core-2.25.1.ebuild b/dev-python/pydantic-core/pydantic-core-2.25.1-r1.ebuild index 30937b9650bb..399c36f2970d 100644 --- a/dev-python/pydantic-core/pydantic-core-2.25.1.ebuild +++ b/dev-python/pydantic-core/pydantic-core-2.25.1-r1.ebuild @@ -130,7 +130,6 @@ RDEPEND=" >=dev-python/typing-extensions-4.7.1[${PYTHON_USEDEP}] " BDEPEND=" - >=virtual/rust-1.70.0 test? ( >=dev-python/dirty-equals-0.5.0[${PYTHON_USEDEP}] >=dev-python/hypothesis-6.63.0[${PYTHON_USEDEP}] diff --git a/dev-python/pydantic-core/pydantic-core-2.26.0.ebuild b/dev-python/pydantic-core/pydantic-core-2.26.0-r1.ebuild index 452195914fcb..35a5f2977d0d 100644 --- a/dev-python/pydantic-core/pydantic-core-2.26.0.ebuild +++ b/dev-python/pydantic-core/pydantic-core-2.26.0-r1.ebuild @@ -130,7 +130,6 @@ RDEPEND=" >=dev-python/typing-extensions-4.7.1[${PYTHON_USEDEP}] " BDEPEND=" - >=virtual/rust-1.70.0 test? ( >=dev-python/dirty-equals-0.5.0[${PYTHON_USEDEP}] >=dev-python/hypothesis-6.63.0[${PYTHON_USEDEP}] diff --git a/dev-python/pyproject-fmt-rust/pyproject-fmt-rust-1.1.3.ebuild b/dev-python/pyproject-fmt-rust/pyproject-fmt-rust-1.1.3-r1.ebuild index 8d2c176c570d..8d2c176c570d 100644 --- a/dev-python/pyproject-fmt-rust/pyproject-fmt-rust-1.1.3.ebuild +++ b/dev-python/pyproject-fmt-rust/pyproject-fmt-rust-1.1.3-r1.ebuild diff --git a/dev-python/pyproject-fmt-rust/pyproject-fmt-rust-1.1.6.ebuild b/dev-python/pyproject-fmt-rust/pyproject-fmt-rust-1.1.6-r1.ebuild index 3a270dc74904..3a270dc74904 100644 --- a/dev-python/pyproject-fmt-rust/pyproject-fmt-rust-1.1.6.ebuild +++ b/dev-python/pyproject-fmt-rust/pyproject-fmt-rust-1.1.6-r1.ebuild diff --git a/dev-python/pyproject-fmt-rust/pyproject-fmt-rust-1.2.1.ebuild b/dev-python/pyproject-fmt-rust/pyproject-fmt-rust-1.2.1-r1.ebuild index 8c854f82e476..8c854f82e476 100644 --- a/dev-python/pyproject-fmt-rust/pyproject-fmt-rust-1.2.1.ebuild +++ b/dev-python/pyproject-fmt-rust/pyproject-fmt-rust-1.2.1-r1.ebuild diff --git a/dev-python/pyproject-fmt/pyproject-fmt-2.4.2.ebuild b/dev-python/pyproject-fmt/pyproject-fmt-2.4.2-r1.ebuild index f1cc388d223d..f1cc388d223d 100644 --- a/dev-python/pyproject-fmt/pyproject-fmt-2.4.2.ebuild +++ b/dev-python/pyproject-fmt/pyproject-fmt-2.4.2-r1.ebuild diff --git a/dev-python/pyproject-fmt/pyproject-fmt-2.4.3.ebuild b/dev-python/pyproject-fmt/pyproject-fmt-2.4.3-r1.ebuild index f9fbd6066985..f9fbd6066985 100644 --- a/dev-python/pyproject-fmt/pyproject-fmt-2.4.3.ebuild +++ b/dev-python/pyproject-fmt/pyproject-fmt-2.4.3-r1.ebuild diff --git a/dev-python/pyproject-fmt/pyproject-fmt-2.5.0.ebuild b/dev-python/pyproject-fmt/pyproject-fmt-2.5.0-r1.ebuild index 377b7a43756d..377b7a43756d 100644 --- a/dev-python/pyproject-fmt/pyproject-fmt-2.5.0.ebuild +++ b/dev-python/pyproject-fmt/pyproject-fmt-2.5.0-r1.ebuild diff --git a/dev-python/qiskit/qiskit-1.2.4.ebuild b/dev-python/qiskit/qiskit-1.2.4-r1.ebuild index 4dd579104bf4..4dd579104bf4 100644 --- a/dev-python/qiskit/qiskit-1.2.4.ebuild +++ b/dev-python/qiskit/qiskit-1.2.4-r1.ebuild diff --git a/dev-python/qiskit/qiskit-1.3.0_rc1.ebuild b/dev-python/qiskit/qiskit-1.3.0_rc1-r1.ebuild index 86853089155e..86853089155e 100644 --- a/dev-python/qiskit/qiskit-1.3.0_rc1.ebuild +++ b/dev-python/qiskit/qiskit-1.3.0_rc1-r1.ebuild diff --git a/dev-python/regress/regress-2024.11.1.ebuild b/dev-python/regress/regress-2024.11.1-r1.ebuild index 7f155c521cdc..7f155c521cdc 100644 --- a/dev-python/regress/regress-2024.11.1.ebuild +++ b/dev-python/regress/regress-2024.11.1-r1.ebuild diff --git a/dev-python/regress/regress-2024.8.1.ebuild b/dev-python/regress/regress-2024.8.1-r1.ebuild index 108fba133b20..108fba133b20 100644 --- a/dev-python/regress/regress-2024.8.1.ebuild +++ b/dev-python/regress/regress-2024.8.1-r1.ebuild diff --git a/dev-python/rpds-py/rpds-py-0.19.1.ebuild b/dev-python/rpds-py/rpds-py-0.19.1-r1.ebuild index 28d2cfbee5ee..629949dd782e 100644 --- a/dev-python/rpds-py/rpds-py-0.19.1.ebuild +++ b/dev-python/rpds-py/rpds-py-0.19.1-r1.ebuild @@ -35,6 +35,8 @@ CRATES=" unindent@0.2.3 " +RUST_MIN_VER="1.77.1" + inherit cargo distutils-r1 pypi DESCRIPTION="Python bindings to Rust's persistent data structures (rpds)" @@ -52,10 +54,6 @@ LICENSE+=" Apache-2.0-with-LLVM-exceptions MIT MPL-2.0 Unicode-DFS-2016" SLOT="0" KEYWORDS="amd64 arm arm64 ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86" -BDEPEND=" - >=virtual/rust-1.76.0 -" - QA_FLAGS_IGNORED="usr/lib.*/py.*/site-packages/rpds/rpds.*.so" distutils_enable_tests pytest diff --git a/dev-python/rpds-py/rpds-py-0.20.1.ebuild b/dev-python/rpds-py/rpds-py-0.20.1-r1.ebuild index 86c8f68d545d..a7c044d8f8fd 100644 --- a/dev-python/rpds-py/rpds-py-0.20.1.ebuild +++ b/dev-python/rpds-py/rpds-py-0.20.1-r1.ebuild @@ -34,6 +34,8 @@ CRATES=" unindent@0.2.3 " +RUST_MIN_VER="1.77.1" + inherit cargo distutils-r1 pypi DESCRIPTION="Python bindings to Rust's persistent data structures (rpds)" @@ -51,10 +53,6 @@ LICENSE+=" Apache-2.0-with-LLVM-exceptions MIT MPL-2.0 Unicode-DFS-2016" SLOT="0" KEYWORDS="~amd64 ~arm ~arm64 ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" -BDEPEND=" - >=virtual/rust-1.76.0 -" - QA_FLAGS_IGNORED="usr/lib.*/py.*/site-packages/rpds/rpds.*.so" distutils_enable_tests pytest diff --git a/dev-python/rpds-py/rpds-py-0.21.0.ebuild b/dev-python/rpds-py/rpds-py-0.21.0-r1.ebuild index 36e0b76d46b8..593819cdcb35 100644 --- a/dev-python/rpds-py/rpds-py-0.21.0.ebuild +++ b/dev-python/rpds-py/rpds-py-0.21.0-r1.ebuild @@ -34,6 +34,8 @@ CRATES=" unindent@0.2.3 " +RUST_MIN_VER="1.77.1" + inherit cargo distutils-r1 pypi DESCRIPTION="Python bindings to Rust's persistent data structures (rpds)" @@ -51,10 +53,6 @@ LICENSE+=" Apache-2.0-with-LLVM-exceptions MIT MPL-2.0 Unicode-DFS-2016" SLOT="0" KEYWORDS="~amd64 ~arm ~arm64 ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" -BDEPEND=" - >=virtual/rust-1.76.0 -" - QA_FLAGS_IGNORED="usr/lib.*/py.*/site-packages/rpds/rpds.*.so" distutils_enable_tests pytest diff --git a/dev-python/rustworkx/rustworkx-0.14.2-r1.ebuild b/dev-python/rustworkx/rustworkx-0.14.2-r2.ebuild index 7f9ec72bc304..7f9ec72bc304 100644 --- a/dev-python/rustworkx/rustworkx-0.14.2-r1.ebuild +++ b/dev-python/rustworkx/rustworkx-0.14.2-r2.ebuild diff --git a/dev-python/rustworkx/rustworkx-0.15.0.ebuild b/dev-python/rustworkx/rustworkx-0.15.0-r1.ebuild index 2809ede475f2..2809ede475f2 100644 --- a/dev-python/rustworkx/rustworkx-0.15.0.ebuild +++ b/dev-python/rustworkx/rustworkx-0.15.0-r1.ebuild diff --git a/dev-python/rustworkx/rustworkx-0.15.1.ebuild b/dev-python/rustworkx/rustworkx-0.15.1-r1.ebuild index e152e322a49b..e152e322a49b 100644 --- a/dev-python/rustworkx/rustworkx-0.15.1.ebuild +++ b/dev-python/rustworkx/rustworkx-0.15.1-r1.ebuild diff --git a/dev-python/setuptools-rust/setuptools-rust-1.10.2.ebuild b/dev-python/setuptools-rust/setuptools-rust-1.10.2-r1.ebuild index 927ad25c0bb7..bd8b5b3cbb58 100644 --- a/dev-python/setuptools-rust/setuptools-rust-1.10.2.ebuild +++ b/dev-python/setuptools-rust/setuptools-rust-1.10.2-r1.ebuild @@ -121,7 +121,7 @@ IUSE="test" RESTRICT="!test? ( test )" RDEPEND=" - virtual/rust + ${RUST_DEPEND} <dev-python/semantic-version-3[${PYTHON_USEDEP}] >=dev-python/semantic-version-2.8.2[${PYTHON_USEDEP}] >=dev-python/setuptools-62.4[${PYTHON_USEDEP}] diff --git a/dev-python/sqlglot/sqlglot-25.29.0.ebuild b/dev-python/sqlglot/sqlglot-25.28.0-r1.ebuild index 456b6e98cfce..57b6841009e1 100644 --- a/dev-python/sqlglot/sqlglot-25.29.0.ebuild +++ b/dev-python/sqlglot/sqlglot-25.28.0-r1.ebuild @@ -81,6 +81,10 @@ distutils_enable_tests pytest QA_FLAGS_IGNORED="usr/lib.*/py.*/site-packages/sqlglotrs/sqlglotrs.*.so" +pkg_setup() { + use native-extensions && rust_pkg_setup +} + src_unpack() { cargo_src_unpack } diff --git a/dev-python/sqlglot/sqlglot-25.28.0.ebuild b/dev-python/sqlglot/sqlglot-25.29.0-r1.ebuild index 456b6e98cfce..57b6841009e1 100644 --- a/dev-python/sqlglot/sqlglot-25.28.0.ebuild +++ b/dev-python/sqlglot/sqlglot-25.29.0-r1.ebuild @@ -81,6 +81,10 @@ distutils_enable_tests pytest QA_FLAGS_IGNORED="usr/lib.*/py.*/site-packages/sqlglotrs/sqlglotrs.*.so" +pkg_setup() { + use native-extensions && rust_pkg_setup +} + src_unpack() { cargo_src_unpack } diff --git a/dev-python/uv/uv-0.4.30.ebuild b/dev-python/uv/uv-0.4.30-r1.ebuild index 8ce7f04ec3be..4d826c5cfb40 100644 --- a/dev-python/uv/uv-0.4.30.ebuild +++ b/dev-python/uv/uv-0.4.30-r1.ebuild @@ -15,6 +15,8 @@ declare -A GIT_CRATES=( [version-ranges]='https://github.com/astral-sh/pubgrub;95e1390399cdddee986b658be19587eb1fdb2d79;pubgrub-%commit%/version-ranges' ) +RUST_MIN_VER="1.80.1" + inherit cargo check-reqs CRATE_PV=${PV} @@ -60,7 +62,6 @@ RDEPEND=" ${DEPEND} " BDEPEND=" - >=virtual/rust-1.80 test? ( dev-lang/python:3.8 dev-lang/python:3.9 @@ -84,6 +85,7 @@ pkg_pretend() { pkg_setup() { check_space + rust_pkg_setup } src_prepare() { diff --git a/dev-python/uv/uv-0.5.0.ebuild b/dev-python/uv/uv-0.5.0-r1.ebuild index e67a3e7e521e..944b6b4eeafa 100644 --- a/dev-python/uv/uv-0.5.0.ebuild +++ b/dev-python/uv/uv-0.5.0-r1.ebuild @@ -15,6 +15,8 @@ declare -A GIT_CRATES=( [version-ranges]='https://github.com/astral-sh/pubgrub;95e1390399cdddee986b658be19587eb1fdb2d79;pubgrub-%commit%/version-ranges' ) +RUST_MIN_VER="1.80.1" + inherit cargo check-reqs CRATE_PV=${PV} @@ -60,7 +62,6 @@ RDEPEND=" ${DEPEND} " BDEPEND=" - >=virtual/rust-1.80 test? ( dev-lang/python:3.8 dev-lang/python:3.9 @@ -84,6 +85,7 @@ pkg_pretend() { pkg_setup() { check_space + rust_pkg_setup } src_prepare() { diff --git a/dev-python/watchfiles/watchfiles-0.23.0.ebuild b/dev-python/watchfiles/watchfiles-0.23.0-r1.ebuild index 7566d6a68321..7566d6a68321 100644 --- a/dev-python/watchfiles/watchfiles-0.23.0.ebuild +++ b/dev-python/watchfiles/watchfiles-0.23.0-r1.ebuild diff --git a/dev-python/watchfiles/watchfiles-0.24.0.ebuild b/dev-python/watchfiles/watchfiles-0.24.0-r1.ebuild index 5f1de831da87..5f1de831da87 100644 --- a/dev-python/watchfiles/watchfiles-0.24.0.ebuild +++ b/dev-python/watchfiles/watchfiles-0.24.0-r1.ebuild diff --git a/dev-util/bindgen/bindgen-0.68.1.ebuild b/dev-util/bindgen/bindgen-0.68.1-r1.ebuild index 23360f73eeba..9b9bbaeb26d3 100644 --- a/dev-util/bindgen/bindgen-0.68.1.ebuild +++ b/dev-util/bindgen/bindgen-0.68.1-r1.ebuild @@ -116,7 +116,7 @@ LICENSE+=" Apache-2.0 BSD ISC MIT Unicode-DFS-2016" SLOT="0" KEYWORDS="amd64 arm64 ~ppc64 ~riscv" -DEPEND="virtual/rust" +DEPEND="${RUST_DEPEND}" RDEPEND="${DEPEND} sys-devel/clang:*" diff --git a/dev-util/bindgen/bindgen-0.69.4.ebuild b/dev-util/bindgen/bindgen-0.69.4-r1.ebuild index 9e0b5b99c434..02f369060287 100644 --- a/dev-util/bindgen/bindgen-0.69.4.ebuild +++ b/dev-util/bindgen/bindgen-0.69.4-r1.ebuild @@ -114,7 +114,7 @@ LICENSE+=" Apache-2.0 BSD ISC MIT Unicode-DFS-2016" SLOT="0" KEYWORDS="amd64 arm64 ~ppc64 ~riscv" -DEPEND="virtual/rust" +DEPEND="${RUST_DEPEND}" RDEPEND="${DEPEND} sys-devel/clang:*" diff --git a/dev-util/bindgen/bindgen-0.70.1.ebuild b/dev-util/bindgen/bindgen-0.70.1-r1.ebuild index 33bc91925636..0f2fb05d05b7 100644 --- a/dev-util/bindgen/bindgen-0.70.1.ebuild +++ b/dev-util/bindgen/bindgen-0.70.1-r1.ebuild @@ -109,7 +109,7 @@ LICENSE+=" Apache-2.0 BSD ISC MIT Unicode-DFS-2016" SLOT="0" KEYWORDS="amd64 arm64 ~ppc64 ~riscv" -DEPEND="virtual/rust" +DEPEND="${RUST_DEPEND}" RDEPEND="${DEPEND} sys-devel/clang:*" diff --git a/dev-util/bingrep/bingrep-0.10.1-r1.ebuild b/dev-util/bingrep/bingrep-0.10.1-r1.ebuild new file mode 100644 index 000000000000..c83dca277b99 --- /dev/null +++ b/dev-util/bingrep/bingrep-0.10.1-r1.ebuild @@ -0,0 +1,114 @@ +# Copyright 2019-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +CRATES=" + aho-corasick@0.7.18 + anyhow@1.0.63 + atty@0.2.14 + autocfg@1.1.0 + bitflags@1.3.2 + bstr@0.2.17 + cfg-if@1.0.0 + clap@3.2.20 + clap_derive@3.2.18 + clap_lex@0.2.4 + cpp_demangle@0.3.5 + csv@1.1.6 + csv-core@0.1.10 + dirs-next@2.0.0 + dirs-sys-next@0.1.2 + encode_unicode@1.0.0 + env_logger@0.9.0 + fuchsia-cprng@0.1.1 + getrandom@0.2.7 + goblin@0.5.4 + hashbrown@0.12.3 + heck@0.4.0 + hermit-abi@0.1.19 + hexplay@0.2.1 + humantime@2.1.0 + indexmap@1.9.1 + itoa@0.4.8 + lazy_static@1.4.0 + libc@0.2.132 + log@0.4.17 + memchr@2.5.0 + memrange@0.1.3 + metagoblin@0.6.0 + once_cell@1.14.0 + os_str_bytes@6.3.0 + plain@0.2.3 + prettytable-rs@0.9.0 + proc-macro-error@1.0.4 + proc-macro-error-attr@1.0.4 + proc-macro2@1.0.43 + quote@1.0.21 + rand@0.3.23 + rand@0.4.6 + rand_core@0.3.1 + rand_core@0.4.2 + rdrand@0.4.0 + redox_syscall@0.2.16 + redox_users@0.4.3 + regex@1.6.0 + regex-automata@0.1.10 + regex-syntax@0.6.27 + rustc-demangle@0.1.21 + rustc-serialize@0.3.24 + rustversion@1.0.9 + ryu@1.0.11 + scroll@0.11.0 + scroll_derive@0.11.0 + serde@1.0.144 + strsim@0.10.0 + syn@1.0.99 + term@0.7.0 + termcolor@0.3.6 + termcolor@1.1.3 + terminal_size@0.1.17 + textwrap@0.15.0 + theban_interval_tree@0.7.1 + thiserror@1.0.33 + thiserror-impl@1.0.33 + time@0.1.44 + unicode-ident@1.0.3 + unicode-width@0.1.9 + version_check@0.9.4 + wasi@0.10.0+wasi-snapshot-preview1 + wasi@0.11.0+wasi-snapshot-preview1 + winapi@0.3.9 + winapi-i686-pc-windows-gnu@0.4.0 + winapi-util@0.1.5 + winapi-x86_64-pc-windows-gnu@0.4.0 + wincolor@0.1.6 +" + +# https://github.com/rust-lang/rust/issues/113152#issuecomment-1612578376 +RUST_MAX_VER="1.71.1" + +inherit cargo + +DESCRIPTION="Binary file analysis tool" +HOMEPAGE="https://github.com/m4b/bingrep" +SRC_URI="https://github.com/m4b/${PN}/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz + ${CARGO_CRATE_URIS}" + +LICENSE="Apache-2.0 BSD Boost-1.0 MIT Unicode-DFS-2016" + +SLOT="0" +KEYWORDS="~amd64 ~ppc64 ~x86" + +QA_FLAGS_IGNORED="usr/bin/bingrep" + +pkg_setup() { + rust_pkg_setup + # Requires nightly feature proc-macro2 + export RUSTC_BOOTSTRAP=1 +} + +src_install() { + cargo_src_install + einstalldocs +} diff --git a/dev-util/bingrep/bingrep-0.10.1.ebuild b/dev-util/bingrep/bingrep-0.10.1.ebuild deleted file mode 100644 index 008322659186..000000000000 --- a/dev-util/bingrep/bingrep-0.10.1.ebuild +++ /dev/null @@ -1,104 +0,0 @@ -# Copyright 2019-2022 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -CRATES=" - aho-corasick-0.7.18 - anyhow-1.0.63 - atty-0.2.14 - autocfg-1.1.0 - bitflags-1.3.2 - bstr-0.2.17 - cfg-if-1.0.0 - clap-3.2.20 - clap_derive-3.2.18 - clap_lex-0.2.4 - cpp_demangle-0.3.5 - csv-1.1.6 - csv-core-0.1.10 - dirs-next-2.0.0 - dirs-sys-next-0.1.2 - encode_unicode-1.0.0 - env_logger-0.9.0 - fuchsia-cprng-0.1.1 - getrandom-0.2.7 - goblin-0.5.4 - hashbrown-0.12.3 - heck-0.4.0 - hermit-abi-0.1.19 - hexplay-0.2.1 - humantime-2.1.0 - indexmap-1.9.1 - itoa-0.4.8 - lazy_static-1.4.0 - libc-0.2.132 - log-0.4.17 - memchr-2.5.0 - memrange-0.1.3 - metagoblin-0.6.0 - once_cell-1.14.0 - os_str_bytes-6.3.0 - plain-0.2.3 - prettytable-rs-0.9.0 - proc-macro-error-1.0.4 - proc-macro-error-attr-1.0.4 - proc-macro2-1.0.43 - quote-1.0.21 - rand-0.3.23 - rand-0.4.6 - rand_core-0.3.1 - rand_core-0.4.2 - rdrand-0.4.0 - redox_syscall-0.2.16 - redox_users-0.4.3 - regex-1.6.0 - regex-automata-0.1.10 - regex-syntax-0.6.27 - rustc-demangle-0.1.21 - rustc-serialize-0.3.24 - rustversion-1.0.9 - ryu-1.0.11 - scroll-0.11.0 - scroll_derive-0.11.0 - serde-1.0.144 - strsim-0.10.0 - syn-1.0.99 - term-0.7.0 - termcolor-0.3.6 - termcolor-1.1.3 - terminal_size-0.1.17 - textwrap-0.15.0 - theban_interval_tree-0.7.1 - thiserror-1.0.33 - thiserror-impl-1.0.33 - time-0.1.44 - unicode-ident-1.0.3 - unicode-width-0.1.9 - version_check-0.9.4 - wasi-0.10.0+wasi-snapshot-preview1 - wasi-0.11.0+wasi-snapshot-preview1 - winapi-0.3.9 - winapi-i686-pc-windows-gnu-0.4.0 - winapi-util-0.1.5 - winapi-x86_64-pc-windows-gnu-0.4.0 - wincolor-0.1.6 -" - -inherit cargo - -DESCRIPTION="Binary file analysis tool" -HOMEPAGE="https://github.com/m4b/bingrep" -SRC_URI="https://github.com/m4b/${PN}/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz - $(cargo_crate_uris)" - -LICENSE="MIT Apache-2.0 Apache-2.0-with-LLVM-exceptions BSD Boost-1.0 ISC MIT Unicode-DFS-2016 Unlicense" -SLOT="0" -KEYWORDS="~amd64 ~ppc64 ~x86" - -QA_FLAGS_IGNORED="usr/bin/bingrep" - -src_install() { - cargo_src_install - einstalldocs -} diff --git a/dev-util/bingrep/bingrep-0.11.0-r1.ebuild b/dev-util/bingrep/bingrep-0.11.0-r1.ebuild new file mode 100644 index 000000000000..0fd92e6bef06 --- /dev/null +++ b/dev-util/bingrep/bingrep-0.11.0-r1.ebuild @@ -0,0 +1,117 @@ +# Copyright 2019-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +CRATES=" + aho-corasick@0.7.20 + anyhow@1.0.69 + atty@0.2.14 + bitflags@1.3.2 + bstr@0.2.17 + cc@1.0.79 + cfg-if@1.0.0 + clap@4.1.4 + clap_derive@4.1.0 + clap_lex@0.3.1 + cpp_demangle@0.4.0 + csv@1.1.6 + csv-core@0.1.10 + dirs-next@2.0.0 + dirs-sys-next@0.1.2 + encode_unicode@1.0.0 + env_logger@0.10.0 + errno@0.2.8 + errno-dragonfly@0.1.2 + getrandom@0.2.8 + goblin@0.6.0 + heck@0.4.1 + hermit-abi@0.1.19 + hermit-abi@0.3.0 + hexplay@0.2.1 + humantime@2.1.0 + io-lifetimes@1.0.5 + is-terminal@0.4.3 + itoa@0.4.8 + lazy_static@1.4.0 + libc@0.2.139 + linux-raw-sys@0.1.4 + log@0.4.17 + memchr@2.5.0 + metagoblin@0.8.0 + once_cell@1.17.0 + os_str_bytes@6.4.1 + plain@0.2.3 + prettytable-rs@0.10.0 + proc-macro-error@1.0.4 + proc-macro-error-attr@1.0.4 + proc-macro2@1.0.51 + quote@1.0.23 + redox_syscall@0.2.16 + redox_users@0.4.3 + regex@1.7.1 + regex-automata@0.1.10 + regex-syntax@0.6.28 + rustc-demangle@0.1.21 + rustix@0.36.8 + rustversion@1.0.11 + ryu@1.0.12 + scroll@0.11.0 + scroll_derive@0.11.0 + serde@1.0.152 + strsim@0.10.0 + syn@1.0.107 + term@0.7.0 + termcolor@0.3.6 + termcolor@1.2.0 + terminal_size@0.2.3 + thiserror@1.0.38 + thiserror-impl@1.0.38 + unicode-ident@1.0.6 + unicode-width@0.1.10 + version_check@0.9.4 + wasi@0.11.0+wasi-snapshot-preview1 + winapi@0.3.9 + winapi-i686-pc-windows-gnu@0.4.0 + winapi-util@0.1.5 + winapi-x86_64-pc-windows-gnu@0.4.0 + wincolor@0.1.6 + windows-sys@0.42.0 + windows-sys@0.45.0 + windows-targets@0.42.1 + windows_aarch64_gnullvm@0.42.1 + windows_aarch64_msvc@0.42.1 + windows_i686_gnu@0.42.1 + windows_i686_msvc@0.42.1 + windows_x86_64_gnu@0.42.1 + windows_x86_64_gnullvm@0.42.1 + windows_x86_64_msvc@0.42.1 +" + +# https://github.com/rust-lang/rust/issues/113152#issuecomment-1612578376 +RUST_MAX_VER="1.71.1" + +inherit cargo + +DESCRIPTION="Binary file analysis tool" +HOMEPAGE="https://github.com/m4b/bingrep" +SRC_URI="https://github.com/m4b/${PN}/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz + ${CARGO_CRATE_URIS}" + +LICENSE="Apache-2.0 BSD Boost-1.0 MIT Unicode-DFS-2016" + +SLOT="0" +KEYWORDS="~amd64 ~ppc64 ~x86" + +QA_FLAGS_IGNORED="usr/bin/bingrep" + +pkg_setup() { + rust_pkg_setup + # Requires nightly feature proc-macro2 + export RUSTC_BOOTSTRAP=1 +} + +src_install() { + cargo_src_install + einstalldocs +} diff --git a/dev-util/bingrep/bingrep-0.11.0.ebuild b/dev-util/bingrep/bingrep-0.11.0.ebuild deleted file mode 100644 index 395ef46cd927..000000000000 --- a/dev-util/bingrep/bingrep-0.11.0.ebuild +++ /dev/null @@ -1,108 +0,0 @@ -# Copyright 2019-2023 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -CRATES=" - aho-corasick-0.7.20 - anyhow-1.0.69 - atty-0.2.14 - bitflags-1.3.2 - bstr-0.2.17 - cc-1.0.79 - cfg-if-1.0.0 - clap-4.1.4 - clap_derive-4.1.0 - clap_lex-0.3.1 - cpp_demangle-0.4.0 - csv-1.1.6 - csv-core-0.1.10 - dirs-next-2.0.0 - dirs-sys-next-0.1.2 - encode_unicode-1.0.0 - env_logger-0.10.0 - errno-0.2.8 - errno-dragonfly-0.1.2 - getrandom-0.2.8 - goblin-0.6.0 - heck-0.4.1 - hermit-abi-0.1.19 - hermit-abi-0.3.0 - hexplay-0.2.1 - humantime-2.1.0 - io-lifetimes-1.0.5 - is-terminal-0.4.3 - itoa-0.4.8 - lazy_static-1.4.0 - libc-0.2.139 - linux-raw-sys-0.1.4 - log-0.4.17 - memchr-2.5.0 - metagoblin-0.8.0 - once_cell-1.17.0 - os_str_bytes-6.4.1 - plain-0.2.3 - prettytable-rs-0.10.0 - proc-macro-error-1.0.4 - proc-macro-error-attr-1.0.4 - proc-macro2-1.0.51 - quote-1.0.23 - redox_syscall-0.2.16 - redox_users-0.4.3 - regex-1.7.1 - regex-automata-0.1.10 - regex-syntax-0.6.28 - rustc-demangle-0.1.21 - rustix-0.36.8 - rustversion-1.0.11 - ryu-1.0.12 - scroll-0.11.0 - scroll_derive-0.11.0 - serde-1.0.152 - strsim-0.10.0 - syn-1.0.107 - term-0.7.0 - termcolor-0.3.6 - termcolor-1.2.0 - terminal_size-0.2.3 - thiserror-1.0.38 - thiserror-impl-1.0.38 - unicode-ident-1.0.6 - unicode-width-0.1.10 - version_check-0.9.4 - wasi-0.11.0+wasi-snapshot-preview1 - winapi-0.3.9 - winapi-i686-pc-windows-gnu-0.4.0 - winapi-util-0.1.5 - winapi-x86_64-pc-windows-gnu-0.4.0 - wincolor-0.1.6 - windows-sys-0.42.0 - windows-sys-0.45.0 - windows-targets-0.42.1 - windows_aarch64_gnullvm-0.42.1 - windows_aarch64_msvc-0.42.1 - windows_i686_gnu-0.42.1 - windows_i686_msvc-0.42.1 - windows_x86_64_gnu-0.42.1 - windows_x86_64_gnullvm-0.42.1 - windows_x86_64_msvc-0.42.1 -" - -inherit cargo - -DESCRIPTION="Binary file analysis tool" -HOMEPAGE="https://github.com/m4b/bingrep" -SRC_URI="https://github.com/m4b/${PN}/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz - $(cargo_crate_uris)" - -LICENSE="Apache-2.0 BSD Boost-1.0 MIT Unicode-DFS-2016" - -SLOT="0" -KEYWORDS="~amd64 ~ppc64 ~x86" - -QA_FLAGS_IGNORED="usr/bin/bingrep" - -src_install() { - cargo_src_install - einstalldocs -} diff --git a/dev-util/bpftop/bpftop-0.2.3.ebuild b/dev-util/bpftop/bpftop-0.2.3-r1.ebuild index cd6267d43984..cd6267d43984 100644 --- a/dev-util/bpftop/bpftop-0.2.3.ebuild +++ b/dev-util/bpftop/bpftop-0.2.3-r1.ebuild diff --git a/dev-util/bpftop/bpftop-0.5.1.ebuild b/dev-util/bpftop/bpftop-0.5.1-r1.ebuild index 1104d45155a3..1104d45155a3 100644 --- a/dev-util/bpftop/bpftop-0.5.1.ebuild +++ b/dev-util/bpftop/bpftop-0.5.1-r1.ebuild diff --git a/dev-util/bugbite-cli/bugbite-cli-0.0.12.ebuild b/dev-util/bugbite-cli/bugbite-cli-0.0.12-r1.ebuild index c6f7e464be0b..b8f9a8d31389 100644 --- a/dev-util/bugbite-cli/bugbite-cli-0.0.12.ebuild +++ b/dev-util/bugbite-cli/bugbite-cli-0.0.12-r1.ebuild @@ -3,6 +3,8 @@ EAPI=8 +RUST_MIN_VER="1.79.0" + inherit cargo edo shell-completion DESCRIPTION="A command line tool for bug, issue, and ticket mangling" @@ -15,13 +17,13 @@ IUSE="static test" RESTRICT="!test? ( test ) " BDEPEND=" - >=virtual/rust-1.79 test? ( dev-util/cargo-nextest ) " QA_FLAGS_IGNORED="usr/bin/bite" pkg_setup() { + rust_pkg_setup if [[ ${MERGE_TYPE} != binary ]] && use static ; then local rust_target=$( rustc -vV 2>/dev/null | sed -n 's|^host: ||p' ) [[ -z ${rust_target} ]] && die "Failed to read host target from rustc!" @@ -35,7 +37,7 @@ src_configure() { } src_test() { - edo cargo nextest run $(usev !debug '--release') --color always --features test --tests ${static_stuff} + edo ${CARGO} nextest run $(usev !debug '--release') --color always --features test --tests ${static_stuff} } src_install() { diff --git a/dev-util/bugbite-cli/bugbite-cli-0.0.13.ebuild b/dev-util/bugbite-cli/bugbite-cli-0.0.13.ebuild index dacf74522b2c..d9c801ecf1fb 100644 --- a/dev-util/bugbite-cli/bugbite-cli-0.0.13.ebuild +++ b/dev-util/bugbite-cli/bugbite-cli-0.0.13.ebuild @@ -3,6 +3,8 @@ EAPI=8 +RUST_MIN_VER="1.80.1" + inherit cargo edo shell-completion DESCRIPTION="A command line tool for bug, issue, and ticket mangling" @@ -15,7 +17,6 @@ IUSE="openssl static test" RESTRICT="!test? ( test ) " BDEPEND=" - >=virtual/rust-1.80 openssl? ( !static? ( dev-libs/openssl:= ) static? ( dev-libs/openssl:=[static-libs] ) diff --git a/dev-util/cargo-audit/cargo-audit-0.20.1.ebuild b/dev-util/cargo-audit/cargo-audit-0.20.1-r1.ebuild index cb1193b7ee72..cb1193b7ee72 100644 --- a/dev-util/cargo-audit/cargo-audit-0.20.1.ebuild +++ b/dev-util/cargo-audit/cargo-audit-0.20.1-r1.ebuild diff --git a/dev-util/cargo-audit/cargo-audit-0.21.0.ebuild b/dev-util/cargo-audit/cargo-audit-0.21.0-r1.ebuild index 6fdfa5b0f742..6fdfa5b0f742 100644 --- a/dev-util/cargo-audit/cargo-audit-0.21.0.ebuild +++ b/dev-util/cargo-audit/cargo-audit-0.21.0-r1.ebuild diff --git a/dev-util/cargo-c/cargo-c-0.10.0.ebuild b/dev-util/cargo-c/cargo-c-0.10.0-r1.ebuild index badf600a45c9..b76e05e5b0fc 100644 --- a/dev-util/cargo-c/cargo-c-0.10.0.ebuild +++ b/dev-util/cargo-c/cargo-c-0.10.0-r1.ebuild @@ -344,6 +344,8 @@ CRATES=" zeroize@1.8.1 " +RUST_MIN_VER="1.79.0" + inherit cargo DESCRIPTION="Helper program to build and install c-like libraries" @@ -368,7 +370,6 @@ RDEPEND=">=dev-libs/libgit2-1.7:= net-misc/curl[ssl] sys-libs/zlib" DEPEND="${RDEPEND}" -BDEPEND=">=virtual/rust-1.77.0" QA_FLAGS_IGNORED="usr/bin/cargo-capi usr/bin/cargo-cbuild usr/bin/cargo-ctest usr/bin/cargo-cinstall" diff --git a/dev-util/cargo-c/cargo-c-0.10.4.ebuild b/dev-util/cargo-c/cargo-c-0.10.4-r1.ebuild index 3c153cbed608..b21bd5e2a82f 100644 --- a/dev-util/cargo-c/cargo-c-0.10.4.ebuild +++ b/dev-util/cargo-c/cargo-c-0.10.4-r1.ebuild @@ -345,6 +345,8 @@ CRATES=" zeroize@1.8.1 " +RUST_MIN_VER="1.79.0" + inherit cargo DESCRIPTION="Helper program to build and install c-like libraries" @@ -369,7 +371,6 @@ RDEPEND=">=dev-libs/libgit2-1.8.1:= net-misc/curl[ssl] sys-libs/zlib" DEPEND="${RDEPEND}" -BDEPEND=">=virtual/rust-1.79.0" QA_FLAGS_IGNORED="usr/bin/cargo-capi usr/bin/cargo-cbuild usr/bin/cargo-ctest usr/bin/cargo-cinstall" diff --git a/dev-util/cargo-c/cargo-c-0.10.5.ebuild b/dev-util/cargo-c/cargo-c-0.10.5-r1.ebuild index 7e38d52410f3..8680604e4f06 100644 --- a/dev-util/cargo-c/cargo-c-0.10.5.ebuild +++ b/dev-util/cargo-c/cargo-c-0.10.5-r1.ebuild @@ -350,6 +350,8 @@ CRATES=" zeroize@1.8.1 " +RUST_MIN_VER="1.80.1" + inherit cargo DESCRIPTION="Helper program to build and install c-like libraries" @@ -374,7 +376,6 @@ RDEPEND=">=dev-libs/libgit2-1.8.1:= net-misc/curl[ssl] sys-libs/zlib" DEPEND="${RDEPEND}" -BDEPEND=">=virtual/rust-1.80.0" QA_FLAGS_IGNORED="usr/bin/cargo-capi usr/bin/cargo-cbuild usr/bin/cargo-ctest usr/bin/cargo-cinstall" diff --git a/dev-util/cargo-c/cargo-c-0.9.14-r1.ebuild b/dev-util/cargo-c/cargo-c-0.9.14-r1.ebuild new file mode 100644 index 000000000000..096073063784 --- /dev/null +++ b/dev-util/cargo-c/cargo-c-0.9.14-r1.ebuild @@ -0,0 +1,204 @@ +# Copyright 2017-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +# Only bother defining this if the github tarball doesn't work! +# Otherwise just comment it out and things should Just Work (TM). +#MY_P="${P}+cargo-{CARGO_V}" + +CRATES=" + adler@1.0.2 + aho-corasick@0.7.19 + anyhow@1.0.66 + arrayvec@0.5.2 + atty@0.2.14 + autocfg@1.1.0 + bitflags@1.3.2 + bitmaps@2.1.0 + bstr@0.2.17 + bytes@1.2.1 + bytesize@1.1.0 + cargo@0.66.0 + cargo-platform@0.1.2 + cargo-util@0.2.2 + cbindgen@0.24.3 + cc@1.0.76 + cfg-if@1.0.0 + clap@3.2.23 + clap_derive@3.2.18 + clap_lex@0.2.4 + combine@4.6.6 + commoncrypto@0.2.0 + commoncrypto-sys@0.2.0 + core-foundation@0.9.3 + core-foundation-sys@0.8.3 + crates-io@0.34.0 + crc32fast@1.3.2 + crossbeam-utils@0.8.12 + crypto-hash@0.3.4 + curl@0.4.44 + curl-sys@0.4.59+curl-7.86.0 + either@1.8.0 + env_logger@0.9.3 + fastrand@1.8.0 + filetime@0.2.18 + flate2@1.0.24 + fnv@1.0.7 + foreign-types@0.3.2 + foreign-types-shared@0.1.1 + form_urlencoded@1.1.0 + fwdansi@1.1.0 + git2@0.15.0 + git2-curl@0.16.0 + glob@0.3.0 + globset@0.4.9 + hashbrown@0.12.3 + heck@0.4.0 + hermit-abi@0.1.19 + hex@0.3.2 + hex@0.4.3 + home@0.5.4 + humantime@2.1.0 + idna@0.3.0 + ignore@0.4.18 + im-rc@15.1.0 + indexmap@1.9.2 + instant@0.1.12 + itertools@0.10.5 + itoa@1.0.4 + jobserver@0.1.25 + kstring@2.0.0 + lazycell@1.3.0 + lazy_static@1.4.0 + libc@0.2.137 + libgit2-sys@0.14.0+1.5.0 + libnghttp2-sys@0.1.7+1.45.0 + libssh2-sys@0.2.23 + libz-sys@1.1.8 + log@0.4.17 + memchr@2.5.0 + miniz_oxide@0.5.4 + miow@0.3.7 + once_cell@1.16.0 + opener@0.5.0 + openssl@0.10.42 + openssl-macros@0.1.0 + openssl-probe@0.1.5 + openssl-src@111.24.0+1.1.1s + openssl-sys@0.9.77 + os_info@3.5.1 + os_str_bytes@6.4.1 + pathdiff@0.2.1 + percent-encoding@2.2.0 + pkg-config@0.3.26 + proc-macro2@1.0.47 + proc-macro-error@1.0.4 + proc-macro-error-attr@1.0.4 + quote@1.0.21 + rand_core@0.6.4 + rand_xoshiro@0.6.0 + redox_syscall@0.2.16 + regex@1.7.0 + regex-automata@0.1.10 + regex-syntax@0.6.28 + remove_dir_all@0.5.3 + rustc-workspace-hack@1.0.0 + rustfix@0.6.1 + ryu@1.0.11 + same-file@1.0.6 + schannel@0.1.20 + semver@1.0.14 + serde@1.0.147 + serde_derive@1.0.147 + serde_ignored@0.1.5 + serde_json@1.0.87 + shell-escape@0.1.5 + sized-chunks@0.6.5 + socket2@0.4.7 + static_assertions@1.1.0 + strip-ansi-escapes@0.1.1 + strsim@0.10.0 + syn@1.0.103 + tar@0.4.38 + tempfile@3.3.0 + termcolor@1.1.3 + textwrap@0.16.0 + thread_local@1.1.4 + tinyvec@1.6.0 + tinyvec_macros@0.1.0 + toml@0.5.9 + toml_edit@0.14.4 + typenum@1.15.0 + unicode-bidi@0.3.8 + unicode-ident@1.0.5 + unicode-normalization@0.1.22 + unicode-width@0.1.10 + unicode-xid@0.2.4 + url@2.3.1 + utf8parse@0.2.0 + vcpkg@0.2.15 + version_check@0.9.4 + vte@0.10.1 + vte_generate_state_changes@0.1.1 + walkdir@2.3.2 + winapi@0.3.9 + winapi-i686-pc-windows-gnu@0.4.0 + winapi-util@0.1.5 + winapi-x86_64-pc-windows-gnu@0.4.0 + windows_aarch64_gnullvm@0.42.0 + windows_aarch64_msvc@0.36.1 + windows_aarch64_msvc@0.42.0 + windows_i686_gnu@0.36.1 + windows_i686_gnu@0.42.0 + windows_i686_msvc@0.36.1 + windows_i686_msvc@0.42.0 + windows-sys@0.36.1 + windows-sys@0.42.0 + windows_x86_64_gnu@0.36.1 + windows_x86_64_gnu@0.42.0 + windows_x86_64_gnullvm@0.42.0 + windows_x86_64_msvc@0.36.1 + windows_x86_64_msvc@0.42.0 +" + +inherit cargo + +DESCRIPTION="Helper program to build and install c-like libraries" +HOMEPAGE="https://github.com/lu-zero/cargo-c" +if [[ -z ${MY_P} ]] ; then + SRC_URI="https://github.com/lu-zero/cargo-c/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz" +else + S="${WORKDIR}/${MY_P}" +fi + +SRC_URI+=" ${CARGO_CRATE_URIS}" + +LICENSE="0BSD Apache-2.0 Apache-2.0-with-LLVM-exceptions Boost-1.0 MIT MPL-2.0 Unlicense ZLIB" +SLOT="0" +KEYWORDS="amd64 arm arm64 ppc ppc64 ~riscv ~s390 sparc x86" + +RDEPEND="dev-libs/libgit2:= + dev-libs/openssl:= + net-libs/libssh2:= + net-misc/curl[ssl] + sys-libs/zlib" +DEPEND="${RDEPEND}" + +QA_FLAGS_IGNORED="usr/bin/cargo-capi usr/bin/cargo-cbuild usr/bin/cargo-ctest usr/bin/cargo-cinstall" + +src_unpack() { + cargo_src_unpack + + if [[ -n ${MY_P} ]] ; then + tar -xf "${DISTDIR}"/"${MY_P}.crate" -C "${WORKDIR}" || die + fi +} + +src_configure() { + # Some crates will auto-build and statically link C libraries(!) + # Tracker bug #709568 + export LIBSSH2_SYS_USE_PKG_CONFIG=1 + export LIBGIT2_SYS_USE_PKG_CONFIG=1 + export PKG_CONFIG_ALLOW_CROSS=1 +} diff --git a/dev-util/cargo-c/cargo-c-0.9.14.ebuild b/dev-util/cargo-c/cargo-c-0.9.14.ebuild deleted file mode 100644 index 7d18dcd56616..000000000000 --- a/dev-util/cargo-c/cargo-c-0.9.14.ebuild +++ /dev/null @@ -1,206 +0,0 @@ -# Copyright 2017-2023 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -# Only bother defining this if the github tarball doesn't work! -# Otherwise just comment it out and things should Just Work (TM). -#MY_P="${P}+cargo-{CARGO_V}" - -CRATES=" - ${MY_P} - adler-1.0.2 - aho-corasick-0.7.19 - anyhow-1.0.66 - arrayvec-0.5.2 - atty-0.2.14 - autocfg-1.1.0 - bitflags-1.3.2 - bitmaps-2.1.0 - bstr-0.2.17 - bytes-1.2.1 - bytesize-1.1.0 - cargo-0.66.0 - cargo-platform-0.1.2 - cargo-util-0.2.2 - cbindgen-0.24.3 - cc-1.0.76 - cfg-if-1.0.0 - clap-3.2.23 - clap_derive-3.2.18 - clap_lex-0.2.4 - combine-4.6.6 - commoncrypto-0.2.0 - commoncrypto-sys-0.2.0 - core-foundation-0.9.3 - core-foundation-sys-0.8.3 - crates-io-0.34.0 - crc32fast-1.3.2 - crossbeam-utils-0.8.12 - crypto-hash-0.3.4 - curl-0.4.44 - curl-sys-0.4.59+curl-7.86.0 - either-1.8.0 - env_logger-0.9.3 - fastrand-1.8.0 - filetime-0.2.18 - flate2-1.0.24 - fnv-1.0.7 - foreign-types-0.3.2 - foreign-types-shared-0.1.1 - form_urlencoded-1.1.0 - fwdansi-1.1.0 - git2-0.15.0 - git2-curl-0.16.0 - glob-0.3.0 - globset-0.4.9 - hashbrown-0.12.3 - heck-0.4.0 - hermit-abi-0.1.19 - hex-0.3.2 - hex-0.4.3 - home-0.5.4 - humantime-2.1.0 - idna-0.3.0 - ignore-0.4.18 - im-rc-15.1.0 - indexmap-1.9.2 - instant-0.1.12 - itertools-0.10.5 - itoa-1.0.4 - jobserver-0.1.25 - kstring-2.0.0 - lazycell-1.3.0 - lazy_static-1.4.0 - libc-0.2.137 - libgit2-sys-0.14.0+1.5.0 - libnghttp2-sys-0.1.7+1.45.0 - libssh2-sys-0.2.23 - libz-sys-1.1.8 - log-0.4.17 - memchr-2.5.0 - miniz_oxide-0.5.4 - miow-0.3.7 - once_cell-1.16.0 - opener-0.5.0 - openssl-0.10.42 - openssl-macros-0.1.0 - openssl-probe-0.1.5 - openssl-src-111.24.0+1.1.1s - openssl-sys-0.9.77 - os_info-3.5.1 - os_str_bytes-6.4.1 - pathdiff-0.2.1 - percent-encoding-2.2.0 - pkg-config-0.3.26 - proc-macro2-1.0.47 - proc-macro-error-1.0.4 - proc-macro-error-attr-1.0.4 - quote-1.0.21 - rand_core-0.6.4 - rand_xoshiro-0.6.0 - redox_syscall-0.2.16 - regex-1.7.0 - regex-automata-0.1.10 - regex-syntax-0.6.28 - remove_dir_all-0.5.3 - rustc-workspace-hack-1.0.0 - rustfix-0.6.1 - ryu-1.0.11 - same-file-1.0.6 - schannel-0.1.20 - semver-1.0.14 - serde-1.0.147 - serde_derive-1.0.147 - serde_ignored-0.1.5 - serde_json-1.0.87 - shell-escape-0.1.5 - sized-chunks-0.6.5 - socket2-0.4.7 - static_assertions-1.1.0 - strip-ansi-escapes-0.1.1 - strsim-0.10.0 - syn-1.0.103 - tar-0.4.38 - tempfile-3.3.0 - termcolor-1.1.3 - textwrap-0.16.0 - thread_local-1.1.4 - tinyvec-1.6.0 - tinyvec_macros-0.1.0 - toml-0.5.9 - toml_edit-0.14.4 - typenum-1.15.0 - unicode-bidi-0.3.8 - unicode-ident-1.0.5 - unicode-normalization-0.1.22 - unicode-width-0.1.10 - unicode-xid-0.2.4 - url-2.3.1 - utf8parse-0.2.0 - vcpkg-0.2.15 - version_check-0.9.4 - vte-0.10.1 - vte_generate_state_changes-0.1.1 - walkdir-2.3.2 - winapi-0.3.9 - winapi-i686-pc-windows-gnu-0.4.0 - winapi-util-0.1.5 - winapi-x86_64-pc-windows-gnu-0.4.0 - windows_aarch64_gnullvm-0.42.0 - windows_aarch64_msvc-0.36.1 - windows_aarch64_msvc-0.42.0 - windows_i686_gnu-0.36.1 - windows_i686_gnu-0.42.0 - windows_i686_msvc-0.36.1 - windows_i686_msvc-0.42.0 - windows-sys-0.36.1 - windows-sys-0.42.0 - windows_x86_64_gnu-0.36.1 - windows_x86_64_gnu-0.42.0 - windows_x86_64_gnullvm-0.42.0 - windows_x86_64_msvc-0.36.1 - windows_x86_64_msvc-0.42.0 -" - -inherit cargo - -DESCRIPTION="Helper program to build and install c-like libraries" -HOMEPAGE="https://github.com/lu-zero/cargo-c" -if [[ -z ${MY_P} ]] ; then - SRC_URI="https://github.com/lu-zero/cargo-c/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz" -else - S="${WORKDIR}/${MY_P}" -fi - -SRC_URI+=" $(cargo_crate_uris)" - -LICENSE="0BSD Apache-2.0 Apache-2.0-with-LLVM-exceptions Boost-1.0 MIT MPL-2.0 Unlicense ZLIB" -SLOT="0" -KEYWORDS="amd64 arm arm64 ppc ppc64 ~riscv ~s390 sparc x86" - -RDEPEND="dev-libs/libgit2:= - dev-libs/openssl:= - net-libs/libssh2:= - net-misc/curl[ssl] - sys-libs/zlib" -DEPEND="${RDEPEND}" -BDEPEND=">=virtual/rust-1.65.0" - -QA_FLAGS_IGNORED="usr/bin/cargo-capi usr/bin/cargo-cbuild usr/bin/cargo-ctest usr/bin/cargo-cinstall" - -src_unpack() { - cargo_src_unpack - - if [[ -n ${MY_P} ]] ; then - tar -xf "${DISTDIR}"/"${MY_P}.crate" -C "${WORKDIR}" || die - fi -} - -src_configure() { - # Some crates will auto-build and statically link C libraries(!) - # Tracker bug #709568 - export LIBSSH2_SYS_USE_PKG_CONFIG=1 - export LIBGIT2_SYS_USE_PKG_CONFIG=1 - export PKG_CONFIG_ALLOW_CROSS=1 -} diff --git a/dev-util/cargo-c/cargo-c-0.9.30.ebuild b/dev-util/cargo-c/cargo-c-0.9.30-r1.ebuild index 73b813f99c3e..f90eec93c99d 100644 --- a/dev-util/cargo-c/cargo-c-0.9.30.ebuild +++ b/dev-util/cargo-c/cargo-c-0.9.30-r1.ebuild @@ -336,6 +336,8 @@ CRATES=" zeroize@1.7.0 " +RUST_MIN_VER="1.74.1" + inherit cargo DESCRIPTION="Helper program to build and install c-like libraries" @@ -360,7 +362,6 @@ RDEPEND="dev-libs/libgit2:= net-misc/curl[ssl] sys-libs/zlib" DEPEND="${RDEPEND}" -BDEPEND=">=virtual/rust-1.74.0" QA_FLAGS_IGNORED="usr/bin/cargo-capi usr/bin/cargo-cbuild usr/bin/cargo-ctest usr/bin/cargo-cinstall" diff --git a/dev-util/cargo-c/cargo-c-0.9.31.ebuild b/dev-util/cargo-c/cargo-c-0.9.31-r1.ebuild index da84e83c95ec..2b6b8999a858 100644 --- a/dev-util/cargo-c/cargo-c-0.9.31.ebuild +++ b/dev-util/cargo-c/cargo-c-0.9.31-r1.ebuild @@ -338,6 +338,8 @@ CRATES=" zeroize@1.7.0 " +RUST_MIN_VER="1.75.0" + inherit cargo DESCRIPTION="Helper program to build and install c-like libraries" @@ -362,7 +364,6 @@ RDEPEND=">=dev-libs/libgit2-1.7:= net-misc/curl[ssl] sys-libs/zlib" DEPEND="${RDEPEND}" -BDEPEND=">=virtual/rust-1.75.0" QA_FLAGS_IGNORED="usr/bin/cargo-capi usr/bin/cargo-cbuild usr/bin/cargo-ctest usr/bin/cargo-cinstall" diff --git a/dev-util/cargo-c/cargo-c-0.9.32.ebuild b/dev-util/cargo-c/cargo-c-0.9.32-r1.ebuild index 0b979a700e99..133af9ec5bfb 100644 --- a/dev-util/cargo-c/cargo-c-0.9.32.ebuild +++ b/dev-util/cargo-c/cargo-c-0.9.32-r1.ebuild @@ -342,6 +342,8 @@ CRATES=" zeroize@1.7.0 " +RUST_MIN_VER="1.77.1" + inherit cargo DESCRIPTION="Helper program to build and install c-like libraries" @@ -366,7 +368,6 @@ RDEPEND=">=dev-libs/libgit2-1.7:= net-misc/curl[ssl] sys-libs/zlib" DEPEND="${RDEPEND}" -BDEPEND=">=virtual/rust-1.76.0" QA_FLAGS_IGNORED="usr/bin/cargo-capi usr/bin/cargo-cbuild usr/bin/cargo-ctest usr/bin/cargo-cinstall" diff --git a/dev-util/cargo-ebuild/cargo-ebuild-0.5.4-r1.ebuild b/dev-util/cargo-ebuild/cargo-ebuild-0.5.4-r2.ebuild index a2c1374def5e..990d4d5893a5 100644 --- a/dev-util/cargo-ebuild/cargo-ebuild-0.5.4-r1.ebuild +++ b/dev-util/cargo-ebuild/cargo-ebuild-0.5.4-r2.ebuild @@ -1,4 +1,4 @@ -# Copyright 2017-2023 Gentoo Authors +# Copyright 2017-2024 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 # Auto-Generated by cargo-ebuild 0.5.4-r1 @@ -134,6 +134,9 @@ CRATES=" winapi-x86_64-pc-windows-gnu@0.4.0 " +# https://github.com/rust-lang/rust/issues/113152#issuecomment-1612578376 +RUST_MAX_VER="1.71.1" + inherit cargo DESCRIPTION="Generates an ebuild for a package using the in-tree eclasses." @@ -156,7 +159,6 @@ DEPEND=" RDEPEND=" ${DEPEND} - virtual/rust " PATCHES=( @@ -165,6 +167,12 @@ PATCHES=( QA_FLAGS_IGNORED="usr/bin/cargo-ebuild" +pkg_setup() { + rust_pkg_setup + # Requires nightly feature proc-macro2 + export RUSTC_BOOTSTRAP=1 +} + src_configure() { export LIBGIT2_SYS_USE_PKG_CONFIG=1 LIBSSH2_SYS_USE_PKG_CONFIG=1 PKG_CONFIG_ALLOW_CROSS=1 cargo_src_configure diff --git a/dev-util/cargo-license/cargo-license-0.5.1-r1.ebuild b/dev-util/cargo-license/cargo-license-0.5.1-r1.ebuild new file mode 100644 index 000000000000..24b8d9a2828d --- /dev/null +++ b/dev-util/cargo-license/cargo-license-0.5.1-r1.ebuild @@ -0,0 +1,74 @@ +# Copyright 2019-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +CRATES=" + ansi_term@0.12.1 + anyhow@1.0.36 + atty@0.2.14 + autocfg@1.1.0 + bitflags@1.2.1 + bstr@0.2.14 + byteorder@1.3.4 + camino@1.1.1 + cargo-platform@0.1.2 + cargo_metadata@0.15.0 + clap@3.2.16 + clap_derive@3.2.15 + clap_lex@0.2.4 + csv@1.1.5 + csv-core@0.1.10 + getopts@0.2.21 + hashbrown@0.12.3 + heck@0.4.0 + hermit-abi@0.1.17 + indexmap@1.9.1 + itoa@0.4.7 + itoa@1.0.3 + lazy_static@1.4.0 + libc@0.2.81 + memchr@2.3.4 + once_cell@1.13.0 + os_str_bytes@6.2.0 + proc-macro-error@1.0.4 + proc-macro-error-attr@1.0.4 + proc-macro2@1.0.43 + quote@1.0.21 + regex-automata@0.1.9 + ryu@1.0.5 + semver@1.0.13 + serde@1.0.143 + serde_derive@1.0.143 + serde_json@1.0.83 + strsim@0.10.0 + syn@1.0.99 + termcolor@1.1.3 + textwrap@0.15.0 + toml@0.5.8 + unicode-ident@1.0.3 + unicode-width@0.1.8 + version_check@0.9.2 + winapi@0.3.9 + winapi-i686-pc-windows-gnu@0.4.0 + winapi-util@0.1.5 + winapi-x86_64-pc-windows-gnu@0.4.0 + cargo-license@0.5.1 +" + +inherit cargo + +DESCRIPTION="Cargo subcommand to see license of dependencies" +HOMEPAGE="https://github.com/onur/cargo-license" +SRC_URI="${CARGO_CRATE_URIS}" + +LICENSE="Apache-2.0 Boost-1.0 MIT Unicode-DFS-2016 Unlicense" +SLOT="0" +KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86" + +QA_FLAGS_IGNORED="/usr/bin/cargo-license" + +src_install() { + cargo_src_install + einstalldocs +} diff --git a/dev-util/cargo-license/cargo-license-0.5.1.ebuild b/dev-util/cargo-license/cargo-license-0.5.1.ebuild deleted file mode 100644 index 15e4f70c2838..000000000000 --- a/dev-util/cargo-license/cargo-license-0.5.1.ebuild +++ /dev/null @@ -1,74 +0,0 @@ -# Copyright 2019-2022 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -CRATES=" - ansi_term-0.12.1 - anyhow-1.0.36 - atty-0.2.14 - autocfg-1.1.0 - bitflags-1.2.1 - bstr-0.2.14 - byteorder-1.3.4 - camino-1.1.1 - cargo-platform-0.1.2 - cargo_metadata-0.15.0 - clap-3.2.16 - clap_derive-3.2.15 - clap_lex-0.2.4 - csv-1.1.5 - csv-core-0.1.10 - getopts-0.2.21 - hashbrown-0.12.3 - heck-0.4.0 - hermit-abi-0.1.17 - indexmap-1.9.1 - itoa-0.4.7 - itoa-1.0.3 - lazy_static-1.4.0 - libc-0.2.81 - memchr-2.3.4 - once_cell-1.13.0 - os_str_bytes-6.2.0 - proc-macro-error-1.0.4 - proc-macro-error-attr-1.0.4 - proc-macro2-1.0.43 - quote-1.0.21 - regex-automata-0.1.9 - ryu-1.0.5 - semver-1.0.13 - serde-1.0.143 - serde_derive-1.0.143 - serde_json-1.0.83 - strsim-0.10.0 - syn-1.0.99 - termcolor-1.1.3 - textwrap-0.15.0 - toml-0.5.8 - unicode-ident-1.0.3 - unicode-width-0.1.8 - version_check-0.9.2 - winapi-0.3.9 - winapi-i686-pc-windows-gnu-0.4.0 - winapi-util-0.1.5 - winapi-x86_64-pc-windows-gnu-0.4.0 - cargo-license-0.5.1 -" - -inherit cargo - -DESCRIPTION="Cargo subcommand to see license of dependencies" -HOMEPAGE="https://github.com/onur/cargo-license" -SRC_URI="$(cargo_crate_uris ${CRATES})" - -LICENSE="Apache-2.0 Boost-1.0 MIT Unicode-DFS-2016 Unlicense" -SLOT="0" -KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86" - -QA_FLAGS_IGNORED="/usr/bin/cargo-license" - -src_install() { - cargo_src_install - einstalldocs -} diff --git a/dev-util/cargo-license/cargo-license-0.6.1.ebuild b/dev-util/cargo-license/cargo-license-0.6.1-r1.ebuild index f49937088edc..f49937088edc 100644 --- a/dev-util/cargo-license/cargo-license-0.6.1.ebuild +++ b/dev-util/cargo-license/cargo-license-0.6.1-r1.ebuild diff --git a/dev-util/cargo-nextest/cargo-nextest-0.9.67.ebuild b/dev-util/cargo-nextest/cargo-nextest-0.9.67-r1.ebuild index 0c90986fb80b..0c90986fb80b 100644 --- a/dev-util/cargo-nextest/cargo-nextest-0.9.67.ebuild +++ b/dev-util/cargo-nextest/cargo-nextest-0.9.67-r1.ebuild diff --git a/dev-util/cargo-nextest/cargo-nextest-0.9.72.ebuild b/dev-util/cargo-nextest/cargo-nextest-0.9.72-r1.ebuild index 4ea6db5a1fdf..310cb6d9957b 100644 --- a/dev-util/cargo-nextest/cargo-nextest-0.9.72.ebuild +++ b/dev-util/cargo-nextest/cargo-nextest-0.9.72-r1.ebuild @@ -380,6 +380,8 @@ CRATES=" zstd@0.13.1 " +RUST_MIN_VER="1.74.1" + inherit cargo DESCRIPTION="Next-generation test runner for Rust" @@ -397,6 +399,4 @@ LICENSE+=" SLOT="0" KEYWORDS="~amd64 ~arm ~arm64 ~x86" -BDEPEND=">=virtual/rust-1.74" - QA_FLAGS_IGNORED="usr/bin/cargo-nextest" diff --git a/dev-util/cargo-tarpaulin/cargo-tarpaulin-0.30.0.ebuild b/dev-util/cargo-tarpaulin/cargo-tarpaulin-0.30.0-r1.ebuild index 1153394b410a..53bfa40db93a 100644 --- a/dev-util/cargo-tarpaulin/cargo-tarpaulin-0.30.0.ebuild +++ b/dev-util/cargo-tarpaulin/cargo-tarpaulin-0.30.0-r1.ebuild @@ -238,6 +238,8 @@ CRATES=" winreg@0.50.0 " +RUST_MIN_VER="1.76.0" + inherit cargo DESCRIPTION="Cargo-Tarpaulin is a tool to determine code coverage achieved via tests" @@ -254,10 +256,6 @@ LICENSE+=" Apache-2.0 BSD MIT Unicode-DFS-2016 ZLIB" SLOT="0" KEYWORDS="~amd64" -BDEPEND=" - >=virtual/rust-1.76 -" - QA_FLAGS_IGNORED="/usr/bin/cargo-tarpaulin" PATCHES=( diff --git a/dev-util/cbindgen/cbindgen-0.26.0.ebuild b/dev-util/cbindgen/cbindgen-0.26.0-r1.ebuild index b89c7d668af8..2619ec257605 100644 --- a/dev-util/cbindgen/cbindgen-0.26.0.ebuild +++ b/dev-util/cbindgen/cbindgen-0.26.0-r1.ebuild @@ -1,4 +1,4 @@ -# Copyright 2022-2023 Gentoo Authors +# Copyright 2022-2024 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 # Autogenerated by pycargoebuild 0.10 diff --git a/dev-util/cbindgen/cbindgen-0.27.0.ebuild b/dev-util/cbindgen/cbindgen-0.27.0-r1.ebuild index 8c5bac853d65..8c5bac853d65 100644 --- a/dev-util/cbindgen/cbindgen-0.27.0.ebuild +++ b/dev-util/cbindgen/cbindgen-0.27.0-r1.ebuild diff --git a/dev-util/difftastic/difftastic-0.60.0.ebuild b/dev-util/difftastic/difftastic-0.60.0-r1.ebuild index 40daceaccbec..40daceaccbec 100644 --- a/dev-util/difftastic/difftastic-0.60.0.ebuild +++ b/dev-util/difftastic/difftastic-0.60.0-r1.ebuild diff --git a/dev-util/difftastic/difftastic-0.61.0.ebuild b/dev-util/difftastic/difftastic-0.61.0-r1.ebuild index 4f9224cf6950..4f9224cf6950 100644 --- a/dev-util/difftastic/difftastic-0.61.0.ebuild +++ b/dev-util/difftastic/difftastic-0.61.0-r1.ebuild diff --git a/dev-util/elfshaker/Manifest b/dev-util/elfshaker/Manifest index fc2029bea3bc..bd5764962c9f 100644 --- a/dev-util/elfshaker/Manifest +++ b/dev-util/elfshaker/Manifest @@ -1,56 +1,49 @@ -DIST adler-1.0.2.crate 12778 BLAKE2B a1dc17786adae945ac09d3525e609ed944e6465690787bbb831a1b9d53793cba1989793d0a5606d5d23ee20d36457923d451b1b3530c9ec7072a487aa3e55bbd SHA512 7ab190d31890fc05b0b55d8e2c6527a505e06793d5496be0b3831e0513412f9ba97f8148f6f68ed0770fa9cd980a5092d885e058becf1d5506b7c74b82674aa1 -DIST ahash-0.7.6.crate 38030 BLAKE2B aca3661477fcd7822d6d10970151e05c28e1615f8cd7ddaac064b15102027e404b19b0f3f16dd76145048594ea1c22ae27dd08cc05c411efbae9ec7a1ef55ce9 SHA512 61354688b6fb096359faefb6f34be958cd2215d56b88c22c737d24183eaad433f811bc9e64f927e4852c87d2799c22fda82b55cfbef2ed6357ff74f0c4ffec68 +DIST adler2-2.0.0.crate 13529 BLAKE2B ec575b0bf12e321399ac3a1d59fce4ddbeabcc60cb3d7c2f362cce23eb29b4ea836451372d6d88552a4435ae29bb41d6230d55f625a4359eace680b9b771d0ad SHA512 12d12579ad617cf1a94cf95ab9d3f5db566c3b2de4bd5735eccd83c668fdad0eff134c996b73c46cbb9f932837682043878b8cc4764191625e9f93ccffcce423 +DIST ahash-0.7.8.crate 38550 BLAKE2B 0fd5f220c15bc0a1aa2e95d13477bcc832d992c6406f9da0994ae32419e440a6f7ef84c1a7a1242d5904dca5d91206602d943ca81b444f46d2eb91d55844baea SHA512 63677b2001d633ecabb36c08bd92e00b5fa71f24aed1c4601d12d846ea06aeaf093c37cfe1f6642147800caa6c749e9a202aa21f9ab4799efa379ad0d952a2ee +DIST android-tzdata-0.1.1.crate 7674 BLAKE2B 4385a4875aadaacd5284a9ca7d1bf8a7bf14bf8925d1563d52fbabacc3af2c1ea08bfcf77106f3648f4fa052ac295158a21e7a0131d31eb9aecd99ea4ba20055 SHA512 4294024c21ddd0090c42c8eedf708d40d917f55ad5a4cb7aa3e64cfb6551b6df60f2e36bc08620c1d2fc8c7ba7207411518ee5c8635f60ed8ad9efdd458a2077 DIST android_system_properties-0.1.5.crate 5243 BLAKE2B 86f68ec3bdabf8c6ec47881d794970f08a9eefc7417fc8a2bf4fe9faf9bdd2a2024a94adb0cbf96673409f5fbbd4d0111a1ac371339e7a90a277b6cd5003524e SHA512 b09f51339f9772c0e2e4241b36cf51573c6b96b19ffc1fbbc94b1c1d1d2fdfe8eac3134af54174a675ab05d18ef4f6bcb2c7fcc20114bbeef6e17e3692202191 DIST ansi_term-0.12.1.crate 24838 BLAKE2B f636772c34e2d68cda7b8d3b2b86abda074585a62bd2654812ce92384244655a9197fa66e6939e19a674c0148ca605313d83de262bb18c2339a8a4eb4438a791 SHA512 b840e28b3e7700689a69a39659b1e066560078dd4a58326b91a028915819e7af883399ee53e920db68fd974c58d35bb1ddf8d427af5937d5f696f57c4376b671 DIST atty-0.2.14.crate 5470 BLAKE2B 2db856a9e898a430258f059aeaf7c844a153293e8856d90ac81f7d91a888c89198768ad5cb09303c23241fe85c560a55148fa56a303651a82b0edb895616bfab SHA512 d7b6c4b9a0f898d91ddbc41a5ee45bbf45d1d269508c8cc87ee3e3990500e41e0ec387afb1f3bc7db55bedac396dd86c6509f4bf9e5148d809c3802edcc5e1d9 -DIST autocfg-1.1.0.crate 13272 BLAKE2B 7724055c337d562103f191f4e36cab469e578f0c51cc24d33624dea155d108a07578703766341fd6a4cc1ef52acda406e7dba1650d59115f18261281e5b40203 SHA512 df972c09abbdc0b6cb6bb55b1e29c7fed706ece38a62613d9e275bac46a19574a7f96f0152cccb0239efea04ee90083a146b58b15307696c4c81878cd12de28f -DIST base64-0.13.1.crate 61002 BLAKE2B 3b3a5b26e2ef18e9b4f1ede72b1bd160a1494751878e8441d463f8a514e6cb9ac859231536989e19fb1261fd864617fe31440df1b5855a0ec625521fc6fcef91 SHA512 1eb76aff9a84057f2ccb7082e9c57b015c2d71a28173089b02e7aacd09a7d311bedf0a943529611ada29f8d7b536d7ae4de256d98eee8450003a3a9a652bda4b +DIST autocfg-1.3.0.crate 16524 BLAKE2B 7d5a03853d6b4f0da08d8e139fb200da21e47fa7e50d1956270d0ff0cc496f660f8f800122c95eee9ba98d9210ab200c3010b782097483d12d6be4ac0df0e7c9 SHA512 a5570b955d57a7183ba148b335837dc5af24b202e80681027536d33fe2822509ba644fc70c29f018c893285ced2bf6774f44ca6c59f7c7e2226d5349cf7c3635 +DIST base64-0.22.1.crate 81597 BLAKE2B 6f216a560bd36e6e6b74e908344b457594cc768d9763070e269b56a14b150cbfc4b7f599d4c2a0a5f783638170ee132f0796fefb14fcac7fd73c58db0791007a SHA512 91cf2e4e7fc8815f9b8a86a7fa722a20eee3dc1dd57111b29e420de87ce7836bcdb1db01d3cafb9a977710ef63e7cc41b7772762323e68e0e832156858aace20 DIST bitflags-1.3.2.crate 23021 BLAKE2B eb990bb27b2bdeb66fd7212ce582cb36e1c616debbac85df642d0c82b25439e6bf9b1e811fac76b59e58ea3c1bbea6170d03a61e8f9a395e4334a0e2e2987eda SHA512 3c698f757b5cc62f815f9a1cce365c3d2dd88e4db71f331dff8bba86c2865f755b81cb4c9bfc59bd86b7643b0943f9e09a7c4f8ad75eb2ab0e714803d0129f62 -DIST bumpalo-3.12.0.crate 81604 BLAKE2B 2370094f0c23a3e9b75c8e523e54637189543d9df90ae7ddc349d316054d3d1abd1319e51cf1578f1630be0673fd7f65d130469b2729aa32617372e8bc5dd5f7 SHA512 37f2228f251340e82c27f2b34da2af6eb520077b3809331547cbe4887c0b4791b1a7d75a017decccef162cd02a088d504214b7a44b484a7d93eb6a278b329ee4 -DIST byteorder-1.4.3.crate 22512 BLAKE2B d39c546ba7346df315297fc53da4bfc77ecb1f38567ddb788549ee31cae2719a8bc0b7d1f1705abb3cff033aa57af004987d90748f5a31765273b3223a011c0d SHA512 8c8000eb8ecf40351c9ce36a3a8acd7a02f81786d1b11aab85adfeffa0f2267ed74df29b2ca5d1d38128484d1d3cad2b673aa0d0441dcd0620dfd3934bb888fa -DIST cc-1.0.78.crate 61375 BLAKE2B fd4765cf5ae0dc7018bc6b56298cd0fa9bf6fe23545e845670d98ce73baee55354e77c6d87cf047f10b074f3d742deca8b5631a250c69b347b4a1fc653965d43 SHA512 b85bec4c75cb1d1e252419052e9dd22b6892e54ea36195ff483a04f785b5b103e82b30b778459fd45324ffeb2463aa4f5696baeff2779c25ffe9f65eb99ae893 +DIST bumpalo-3.16.0.crate 85677 BLAKE2B 08da17b757931d2910e0299df53eb62731aa8c4ebd8915859b81d1982b331e7455dfac977c754e500a35ee07ba8eff00a61d2f62be99744e2ddbba06c1268f49 SHA512 a51b75c36f6794db444cab20eeb24f42a319080ecb486a56d254d6f873f3d188b5ccba11db30c068bd0c52c4322d4a3f5f5195c81c94b0bc04387030418835b1 +DIST byteorder-1.5.0.crate 23288 BLAKE2B 7f85a7948406844070a2c8202e0bd52f73b3dfc7c666a97046128044eb9352195afb80e2bf894c0742ad109e4473339de1365d09591de70dfec6c8c02a8e1453 SHA512 96caf981177f6ded9f27f025922cb94eb0cd9de5303bd91680099912d922092e77b7361efa70011e84f1595e443193e4f1b354443b9980c123f6ae573b236f7f +DIST cc-1.1.18.crate 83315 BLAKE2B a97d24ffdf44f80795f67f7721ed4d2524d92342bfb4ba39e00a1d3351945c904ba84cc7e245c637453e70d19b1584a400e8422e185d42c036ef44d3f2135663 SHA512 af525791c6ba731d688d3f5bf898c0ff86bbd81b127454d7f933491cea1e921d171cb819d04e460e759c6ae0f6da2188ede6bbe94c940c47c6d9d9f991925401 DIST cfg-if-1.0.0.crate 7934 BLAKE2B e99a5589c11d79d77a4537b34ce0a45d37b981c123b79b807cea836c89fc3926d693458893baca2882448d3d44e3f64e06141f6d916b748daa10b8cc1ae16d1b SHA512 0fb16a8882fd30e86b62c5143b1cb18ab564e84e75bd1f28fd12f24ffdc4a42e0d2e012a99abb606c12efe3c11061ff5bf8e24ab053e550ae083f7d90f6576ff -DIST chrono-0.4.23.crate 187259 BLAKE2B b4a7cfb8d1921d396c9e2bf350e6c61d04480a78c170d153e525ff581e8298936583744b6c59769774fdb8ad433269d01ad792f967da96e6c19d33460de937f9 SHA512 697a78ee83eaf38d83011bdf2086b3149b830d3d270e8414828b98ed2426063df43ac6eb4324f2dd694662afb86e6e4f005dee6116dfdd97adaebedefffd43fa +DIST chrono-0.4.38.crate 220559 BLAKE2B ab828bfeed56eb737a1797d5e1132cafe87a1e14bf7a1fe4a5098f50e6ceead50ca2e7f041cc2ff63d5f4e41e2853322f6c345bb31ff12a5b412e3e5202f5fea SHA512 858e47e3facebd5383e71898f26b27d92fe4a69027e2cc47da2af59975ead7767355e0b699f4228eabe76a3eff8b2519c7cecf8b60dc3fc60fbf9b28e2f3d4d9 DIST clap-2.34.0.crate 202210 BLAKE2B f383adf1d757ac4b68995132b33837686ce451f85a02a8d05d2c746da398510d05d46330f3efade063c3952aacb1754cdac73dd0afcae0df5340a89f9353aa1c SHA512 c648a761b9996a7e7464a538bb53621bae22090b846a42c3b729beca3363958ae67e3da9f93f58b10a10e043cadf7ff930388680d168646178c2824177832db8 -DIST codespan-reporting-0.11.1.crate 48963 BLAKE2B 39deb717a853ffbe3585e20a67fd7a75b62e2d796a66b5004876501fd7476acde9f126804f2ef6220ebab66821a3ccf058d544d689a2705eae44285f34b510cb SHA512 0869789f5c50d3523d3ee16a8fe64756498a13704efbe82bb0845eaa87c7b6b1d075b3b6b80567cd9fce6cb09c5179e9c07e485fd17ce56c8139ade0f8bc6844 -DIST core-foundation-sys-0.8.3.crate 17519 BLAKE2B 4ac3d9ab16753dd995abe82f158d460d0d22184ab55d260e73b20305cffe4e03427dabfe0c8be968b6c3ecd348be2e17154ded7c9bbd5a95334ff266fe83bbf7 SHA512 a3ba3184cef65dafe8318c4db7e59eb2749dcde7b2370ad20272b0735ded0032daf2de3fd0cf55eb48448a335f5b81e8e745f2a647f9a43bb85946ce714bfd82 -DIST crc32fast-1.3.2.crate 38661 BLAKE2B ce3762b03d24d5367d89738991c060f4b3af7840e0a7ac7fc17d01ed438caf964bbaefad0fc4d0c438dafa5a578429ddd353c71197f8b54b1ec441395f2f7ee0 SHA512 a683943e252afdb1b9d626a07533ed11cf7a63af603c19640056c5d2b9c884ad9aff33ac54c0853ffca2f6cf94b0730eae6c05abf3e53e55e709d180c8152357 -DIST crossbeam-utils-0.8.14.crate 42127 BLAKE2B 3e31e6371e46aba6697501a34e1b737680dcb692c0d1ba7cc1ce7025ec70ee69f7595e3abd90fb52c11e42cb43fa5fae6103f97add35cf87b0a68ea83213d0d0 SHA512 fa00a57c41c9daa152f8a6c6f4d3c77986de1aa21585984adf577e244c2f121db014ba2beb92241590e1cf78710e77d9a703ce4a4d44d8854bc3e60690151393 -DIST cxx-1.0.88.crate 682495 BLAKE2B f1f584dd961d6d0375d6ac7c0b25022997067c6fed76b9f3bc227fdff84209e1901ca902ddec54528621f46869b2b43a7c0f31a70642e5c234e413dc6ee760e8 SHA512 ace3368c9a97b0c74dffd90890c2060e8657476b87d138fbf1a65c5bc0682c1cc627597e564906eb40e80c7503c8ef970438b8bca045ec9c14baaec9970a1e1b -DIST cxx-build-1.0.88.crate 84429 BLAKE2B 67eaa7120368eccfbf7646170a6f7ecb69402d6814b314090905b85f0a81411524b9925b02c4114ed9c6d1d96d4a7c83d9630f56fab8e5b890ab51cf24a14e35 SHA512 54d10970348b8d0fe9c21d5c4435eebbcd0a058a996594564d8b3140d4b6023b691afece1f14c4dd7341061072301bc762aef580dd15cb9f5cebe778cc846e5b -DIST cxxbridge-flags-1.0.88.crate 5253 BLAKE2B 6eab1a58c966eb7b355a8781ca49b523e52f51d9b261cabe1c0df3c74a01174afa813e4947a54604760ba7a17d15288f06949258fea7af1b200e3bba97a72eb2 SHA512 fcd1231f38b0e5d84fba7c268f337c419665a269d08fe2752f8373e5152448d544e5fe0d08d6a7e769705450d07af22ec13e0040e80859fd02161527afd7a226 -DIST cxxbridge-macro-1.0.88.crate 59476 BLAKE2B 4c364d534d0d7fd789843e10633996148b31ad501084c1bf59233c97e30c38074c4344b213f32d5f946a51363ce7195360c01e8bb0893e93ab1f8e2cf31a3605 SHA512 7ced29b6a45abfa3649a2ff2cbb1801308f62e58c74e03fa74857329dfabd1c60bccfebf40ae0e041cb1cfdb6c7823157da924ff349c04afcfc78ce24e08e8d8 -DIST elfshaker-0.9.0_p20230918.tar.gz 123248 BLAKE2B 80e174a7b1598f7d0721f60a1814f031698fc001d184dca23412d610f823253cc126fcee52d16441ee31c974bcf8639b209635f145977b4721f701deb7a44551 SHA512 631d2b6592e712a4741d82139a9c6ca1505570f26c2c4d1e04b5af2a9d41996cb1e12541b4bc884bce0d9b5875232d24dc559a5baaed48fae7a9fbda86db0efc -DIST elfshaker-0.9.0_p20240122.tar.gz 136396 BLAKE2B c066ade3ea2e25e850237145659f4374062e075216c3fb358ac0cccf82edeb49717b31ba0d0fe6e95940ea18ce0384e00725d3e2748d61da69bbba74ed1f0aad SHA512 5017dcb13cf421902ea440951b9df03f5d3c5748ed6bead8bf5f3a1811421e14478ffbaa300b1c48b760677e3846c69ffb6a0e4b994d804c54b7937d964c30e2 -DIST flate2-1.0.25.crate 70210 BLAKE2B 992525ffeeb4433a222487cdfb0c3927ad77f914e1db94f612d80e81faef4a2c955c755c2b800251e3416d0b22726d5f7d7e432a81c3582c54b7de95ab7a324e SHA512 d81a463360ee2778f609ff297e04548120d1fda1f9e020fb2f429ea51189b8fe6cae57252fcd924d71fb65ad0f93ff7cdc7235913f8b78fa82925939cf884af7 -DIST form_urlencoded-1.1.0.crate 8734 BLAKE2B eaca73d73d16242f3fa3e38e23531c67c01404697bc7b7eb7c64fa04167dcb403a41818487fc46c5d9118842818472d549a2f5fcef5e4d962461e1c103d895d1 SHA512 9e245495dbf235b147e4216b313f2e6a96357d2782a66d71c08c2902c6a065701ca8ecdbb6b2035983a83c44cf36c921b5c71d63af0e02dd39bf5f8347117e11 +DIST core-foundation-sys-0.8.7.crate 37712 BLAKE2B 0e1dd99a5bbb0fe92f55181a37426f6e86445cb20e355f553b3162c88ccc075644461731a0cdcd93dcca65b6cef1de62b409afbd73ba3070a199ab8e7422dcfa SHA512 17492d5314db03abdb3b1998bf0c396ec8ed0f83bc978ae22d6026afdc86c50b58cbac073b3a0d97b92da7e98be11302faf1249d24313494bc058add4f4cb63a +DIST crc32fast-1.4.2.crate 38491 BLAKE2B aaa3acca66e5814a45f12a90ae09f6ff5fc14ca94c8539184dab6ed928abc68cd1d37e539c268c1effd50ab3af20de6038593fb9c6bd6a664785dac52f6939fd SHA512 c7608d33022062e217d3576f536ffbd51479855a5e5874529c71db2bf6a937ce04d814c39cf777309c38445393bf43cb9996161947e28738abd432f11beb7266 +DIST crossbeam-utils-0.8.20.crate 42487 BLAKE2B b50da06721cfbfff07825574feada8a28d3814edb218434288683eec31bddabe2ffbf7e5ef1281ee14a8a77c56db3b66f3c5ceabaea9c72317c1bd2cecda0c26 SHA512 7175eadf9fa7c526fa11ff87e40ff203f0e7a4bcec15cb972f924f3c7ff7cc20b6e2e8dbbc1ede142a0207cd2baa4f446deb25d825d28a54cbd25c263701bfaa +DIST elfshaker-0.9.0_p20240914.tar.gz 136875 BLAKE2B 10f6fdbd65614d74bcf4de68ff6d969c468590e8de47cf83aa12e701e68b11c6cd84dd31f14040655881da126d75047965050b3030138a00b55f8575633e3078 SHA512 f6d814a61a3ab268a614a406b77201ff4bbecc71f5a166d17b4ee0857e1d7980622a48ebae79090d54c89d6d5375123b24de84d181d4dcd8315371276867e2b9 +DIST flate2-1.0.33.crate 108838 BLAKE2B 9fd23b3b0a75c29f750c873f74de8565f0d8f3a574c7d28e11d15e6c3c4686c42ba98b5769a08c21f3b9c6ffe7140196c3e7001153ff5a046ee7af40f7f6d965 SHA512 59a871137518586f1d66810528595acad5ca763ec5acc100098a372194f55f33b48e59c0806fd237c644a6d797b5deb26c541fa871a1194ee3ac725da3b6d134 +DIST form_urlencoded-1.2.1.crate 8969 BLAKE2B 383d3a197b73fba199220b7708e16d770591ac16725faf4efc1a8c230c569c381870d4a11b8fba623e761e68f9d318630b22101d461e67dd26c67e13a73358a1 SHA512 c65104e2dc08fad572bb31f981700fd43dd29fcff42b01c7ccdbd3d4c23dec12360aed3f1b5fc4766fee386d418a65349b2941b8735f788cb0d35d631a6a8dd1 DIST fs2-0.4.3.crate 13138 BLAKE2B a8c53130014affc276544360425718c480fe6b6583675e15e8bf25dca0cd2752aeb0793135fce1bdc12bcfc0ef21fb7f6aa298981d61ac150300eb134c2014e0 SHA512 b83fefa9123f304e4813ec1dacbb1aee5dc0c94e1316cd7c8a434aa2a242c9c42523d2bd8232d78e6c84c4e172b5c46ef8605e93b54216a2d4496fdf885dcf50 DIST fuchsia-cprng-0.1.1.crate 2950 BLAKE2B 8519407ab5d1f04d03cc946a07050db4dd7bc70e03894e35b9e66910a3be11224084a86ba45103fdec845e94b7ba4defbd7c5217b035a0796c0c4a94b9562cd7 SHA512 ea9f5beb0dfcb023c22cfc2b37ce52dfcf3a2cbbed0f79ffffc332878858386805c65dce8469a431002367562d857a6c064e075688540c27fcb4056a110059d2 DIST gcc-0.3.55.crate 37262 BLAKE2B 3341dc7136c14fa822a67fdeb72f7ea50b1264823e695e189d69604b8b8cce898ee2d40d8a536d0f520f5e190576afde16afa5d9cbe0a2c4b8600cf50bbd1447 SHA512 b045b60cf65c1deae44e4f40d0f511dab05c82be5065390dfbdaf5b51ee2d0653c3a6d8d1e7606e4bb6d234adfd22a8c68bde724406f3edb4bb6366617d46a86 -DIST getrandom-0.2.8.crate 30553 BLAKE2B 30211bc6a8ceb5ba765cbf068405cfc08842b2521c5850647971f4cb4bc9a5b0a9195ccfbc1461de019eeb7744ee69f934922ff21677259d7b815800516df4dc SHA512 cd7aea29f79a33a0de2a52a0a82f2b57ea8f27908ccfe00a5f42248766df88b225023603ec56d6fc634ef9c1eb67ad0135c90d4c695f6f659db0767e7fda44c5 +DIST getrandom-0.2.15.crate 37163 BLAKE2B 7d534e799a4711d01c6553b8c9422dbf01e384a850fb0f7cd76e444628f2b96d28d0f5e8dae042f8081a2bf9340f57c558be50a6f22ed5fa6b0301a15898fb35 SHA512 04789a53d3f4a84862e1e8b2113641af67e471b468de1222470d5e6cef0015232463a2cf3c3518dc2a533b3983b175a7c8922da00665bcf71c1e4e279b67e6fb DIST hashbrown-0.12.3.crate 102968 BLAKE2B 492072f27eaec45abd2c5d7405c614c0c6a8221425e901bb6174bfa1688ee524408a618650126d6c683b7285b9bf0a21dcdbff7347e4d8f97bf7111defa1b7e5 SHA512 b3700fcd659a21a6b9b3777c18b37a83bf25542b4e8f2b963779a122f5d22e1742c064cfc03e649583e7dd5c6e90ca8407f8c51a0e8755f6a108682853022f76 DIST hermit-abi-0.1.19.crate 9979 BLAKE2B 801e8052b85341cca388ada9db4b06bb1bd7b64474185b2ad06c0256b9e597639bd3dd4ba0053ea010f922e53969a4ab47b90d451fd9b94c8f2324055d151ea1 SHA512 1c877fcd562b15d2de9c151fd6c5f3ea4bf48abcb799e6139a180ffad5d64b632f0000d5707bbd92ff23a0e5f349157b9e0f5be8b50f03680b0fa47315dbb78a -DIST hermit-abi-0.2.6.crate 13027 BLAKE2B 4df5306639511a5f69594e903f8ce62482cbbfbfe272a91a12f407483dbac4e87c2d7e5668cc06ca5c0fc149ca93a3152fe6ad4bb3b96cacf56a22cb635e5b7f SHA512 bad8442bb822a9c99f6536db16523c80f5139af6a139bcc359c03725c59ff935816e2ecc5c491dc362ac75ab2dff41ab1e9dd29431f5e9a109b60eb9b7a8dc28 +DIST hermit-abi-0.3.9.crate 16165 BLAKE2B b779f005bd4cb9ba9abe401a0a559a5bbcc44726ac37f53e9c8d1f7218389ec8b48f74d14666261bc4fba4fbe5558cfefae873c49a2312c8c8bd4010b8344064 SHA512 f3a5a51d834a6ad55480b53f7e9cdc73a512ab0cc6c246a6ab1e8bf8f9851a0c8a55982f5bba6cb57b5a03b54870e73b0bab0a79195764c308318394a3ea8045 DIST hex-0.4.3.crate 13299 BLAKE2B deab49bf3d97f6fd7c0a0855b50232422443b226362bc7a4a19e57c2e662fff2cb046d4c5bd7618ddd523045f3d8c78754508f862f9a8ca29ca9247da6d6ec79 SHA512 fd8ff33b68eea2d6f2c6b02a6d82a2807cbcdc209ca5a76e3e3e5d006917ee151f236b6d18e2646cc9a9674bcdda1d6ce6ee363a89cadd99bef00d0eea9989e6 -DIST iana-time-zone-0.1.53.crate 20176 BLAKE2B 842c3c2a9f5b753363668af5162edb6f2734a51fa6c6fc8bafc3981f5f287451258f5ab31d5ea6c2a1df75934233849bba8dde4ee5aa9fcc456fbafa93d8b51b SHA512 a3f899fe9ebc7501bd22e75b2df34c3b26ad5a53afbff4fa552672d0185d8a291736c48ac2fa76dab36a6621e689b5584a2d7bd0334055994bb21077765aa7cb -DIST iana-time-zone-haiku-0.1.1.crate 7200 BLAKE2B 9e748694423cadd6edebc1daef2aa4126904f5597202874d68066a15580cade77f48f1e6f2a77e17c7de0fae5204ef1262ad5b6f30bd95f4faec77748aa2ae0a SHA512 daa7570aaf5a07c990b07fdc2153b63d947598ed35aa9c35c4773772a6c67997143b120a18ff4c7c13474d296e81a92975ebf5b9aa9d204c1820e9629cb2e369 -DIST idna-0.3.0.crate 271128 BLAKE2B cf8a2c43760f03e94953c6692423a12f28fe763aabea8785b93cd247b3aedd2aeef2cd99978a027186290016ed924db39d19fe7d397da1ab570be9646bbb630a SHA512 9b7cee27811ee52ed9bb39fe82f724742eef2e5370642b6c756bd134c8cbc20bb6faa9f296053672dba8a66f7356a08b2ca99f176407b173e2d566d85d066441 -DIST jobserver-0.1.25.crate 21888 BLAKE2B 2ecd417446f9eb975119af4ec74c9b3463d061f5348ebca380f0ab9963ccce6dcea8c1671c7701f3f867c7e49d0ec130809a37bff466261a2fc75e80cc01d15c SHA512 0c014e7c72a070e3332463cfa6e9c9095d542a68f8631150bad0efa3706a2d6de0347bf7d1221cc3bc0f3d5f9840fe7188aad949559375403b929d43b4a524b7 -DIST js-sys-0.3.60.crate 79257 BLAKE2B 714facdab00d567d074de4a25b69487400c23194d0f58ca784159483f9e02289acadce084b1514d8816cc9e0597800de82a5298b071b7df19a24df93541f23c1 SHA512 543dfd444539fad27bafcbbf112366f53d4ccf4bc63f8bb17820d818c3e1804656697ed6268a793f383ddf6b6227f7e9b3a11fb6fbb24e10732fdbd971801665 -DIST lazy_static-1.4.0.crate 10443 BLAKE2B 25b2e61bbac48f0dcbc79c81d7bf01f2403d8269ecb6be3ea6147bd00f7a588df15a91f44dfc18ada19b21faa71de4637c7d493a8628cbecd0e547d74e616a23 SHA512 e124c0521ec7c950f3c4a066821918da7a9c6e711115d98009ae7c351928fdddead852e7596fea5937a9c30e4e4ce8eee7099b20248b5d6e3b2494b6a6d88cb8 -DIST libc-0.2.139.crate 638983 BLAKE2B e92b296cf8c916e10e859722ed75f4790401662ff7aa2fe8ed84ef9b94a00538768be33c272f0881e42da887c8c43e1fd44d061343386216492a76fe5d308598 SHA512 ff5fae517c49c382dee9b1d7479b65b0a818780453e5c00c416847d02f42186e2fcf19a8a8dc5e9cc2611300690c6ad324f9c0f0e8172e913a1b781fb7c0b5b4 -DIST link-cplusplus-1.0.8.crate 7674 BLAKE2B cbb93184d9deadd4912f6e03dfb7bb9d37f01b6d8d47dc9744724c848f297adb9cafb1599c2bbaffbff336f883e9a24c3cb4f11745ec4716a9a2c8cfa05f6305 SHA512 690afe063eb9726faa03443bfd01789a559aa10ded4bb3714ef7b13095005c817ad019fcc62b5f7b286c974a81e387ca3342d238e60ed7ab237c3628383a661e -DIST log-0.4.17.crate 38028 BLAKE2B b46be3719fc0a53e50b1f342762e188587e9f1ceb692c72473ce2663edfb8253742d30024e68c1444780ab7fc0e2d5b0601b8ea7228dc3405a9342a57548e605 SHA512 2477d88db42b1d92c30708d88823212e236f613b3465e85eb425f83f8d16fadfaf0352f06c2999a1852102edd2f6ffb10ecb539d8a3b6c48f552a25622ccffa2 -DIST miniz_oxide-0.6.2.crate 54536 BLAKE2B 8127ebec5a2cee1c2101d9533da573e01ef1a0fcb169bb0fb1419973ddd2e6953d8dfe85f9509a5d1226643ad290f0ee1479fc68f1788ade7ddf9633d90bfe1e SHA512 250782e214572acdd11df87c2788cd5f78e8388d9b285d0a850918219678e262e8b9905cc88728f5b70d13920ef9d19c43d243dad8fbcc18f8c8462662ce1419 -DIST num-integer-0.1.45.crate 22529 BLAKE2B 4da3e801f71ba8f92c692497e200bfc8d32183c94eaad91260683b09f4697c03175fec7cff5a9ff3782d5db5d514d74f22f7a61a102c0f0d2e67a7a4b4f29222 SHA512 731bdc09c3af7f9d8b171041f2957aa60facef93b06886000d8ba60d410aabbbee358d700bf31b2588b2e077464f290f24a0b712df7bb7f12972675b6c9bd735 -DIST num-traits-0.2.15.crate 49262 BLAKE2B 942ab170b2acce1cb40e6847f766bf810a79edd293d34f3a27864f464c16fe2b99fb13171ba429cc6d584248de879434beaadf1b231a4001b0e8389ed6c1be04 SHA512 5228498af0f15daeac3c9210f3e6e71cfaaeb30beea81dd37f8eb06b9592c8bf3226a47597cd8592ad4c513964a9a40f1ab2c33102ef3dfe3800d22c8d4528e8 -DIST num_cpus-1.15.0.crate 15680 BLAKE2B a4d98b29ad534de9bc262f58f615ec06bde5d5a2f5252f09b5a0a6ecb06a9daf9709ad9045eb08f7cb744d8a838854b9095aa73918e06624a84efbc11a9a5c1d SHA512 fd4772868def9460a6ee17ef6fc00b0bc74115eec891bb3fdb07ba5b5fe4057a2ac69eb31ba8beddbd3189c7be4545888e5724879f3a89132fbc9b32aa7bb10f -DIST once_cell-1.17.0.crate 32736 BLAKE2B 767fc8f362ce5ed7a9eafceb2f0764a2a1c7f4070e22d1e6e2498b3c841c5f761e77fb66a34b899a75d48f1563f6b9b73b90aa9431055d4e0269c47a1b043c1f SHA512 291d87380c0ea17fb3ffc9fdff8620d2ff55601c06ef65b2f0c54254fecd5b488645c6e94c6026b82071893f4d420491ff712399a782e14efa1e323e5c299c46 -DIST paste-1.0.11.crate 18349 BLAKE2B 02e3168fd03a4036bff486cd01bb7f7fa2c355cb6087c4b92c091e9e16d6d098fca1f142cf29fd0428fae9fc32bf96e84a0fd59ddb5f6bbbe155dcbfd1d41558 SHA512 136f7e840a20d18b6706929b0c440ea2d546d0931da91236e3b401e0dbaa74aea95510277620fbcba401f2ca7f56a315049a77ee16a4b228dcaf63f90bd2c9a8 -DIST percent-encoding-2.2.0.crate 10075 BLAKE2B 397e59acc3953868c709244b89a2e0db3304c0b574ecba761026b570a485f2cb5b0b2a0159586d1f342ec395ef02ace536da3bc1c72093e1cf93f8b37b26b0ec SHA512 890a5256d2b4290e12e04a02c3529f3a017faa2b6016a4dd0f08b36509f0b1107eacfcb4702024d6a21ff8852a11f263c1adc096b16ef8d12c45a734c087fe68 -DIST ppv-lite86-0.2.17.crate 22242 BLAKE2B 48c4a31a3b555fa37072c4de083580bb769747c7668748541af472778b5b58c3e7ab2b5e178760f542f973774f09910bdd4058ae5fb9d6b10c103eb76cfd0d3d SHA512 539d916e7e5869d832045c1aa88aec519bd000227f9b01d4dd0bfc9ffb640d5f5eb21b05eba718174773c97192a655ad3cb31b53ceb914dd19179a6699b3583a -DIST proc-macro2-1.0.50.crate 41667 BLAKE2B 6ee76c87013226881a0cb1221f449b052feaf1b92fa6f7a3aa82420ee1881713b8bb71ac6cebff67fad436f5c05b2a8f601a84ba361bc08a06b0b26aec0e11e7 SHA512 89ddaf9b994026519e5ddd618ffdca1fb39d31904a13229c1496dc862e2a259086ed9554821ff33f73adf6df45f446231217fa7e22922289fe6fbd71e06ddd2b -DIST quote-1.0.23.crate 28058 BLAKE2B 81c483fa26b36b5c4dbe85b386a74f5bfeaa854a99c0d678374507613da916a60e3f5b14d4a4d295e1c9ef0413fa1f16447df8f19a9db8cb0485b7a5c327fdc1 SHA512 3bce6846dda94d285de15771549099e60df39c8395c498b372c90a240f77df31d6d9048127913ec1c7ed8f3a189470ade1db2bede406bb00fa715ea641ec87c2 +DIST iana-time-zone-0.1.60.crate 27074 BLAKE2B 6f534056e220e2f721fc7c7f3ed24152eea7f07d1f4cb3609ca734ade32a2d6b18fd0164ed831170cdff192cbe48653b2c4eb0903fb6f157292b3b5bf47299bb SHA512 5619b994d3277f56e65322a7903e4c5e03928a87bdb72831cbef88788aaf5573b8460abc0a4d5488c5df7052bb978531d973dd66002b0ec4a3af468928c9b722 +DIST iana-time-zone-haiku-0.1.2.crate 7185 BLAKE2B 37fa14b589ff092377b9271c414d4e584c5a531f13f70ac48df26df3cc03353db635b4630ba192fc65b800cce11823e91b91f03dfad85e4bed55aa18398156cb SHA512 448224ecafa935472ff6f0aab7cb71f9dabdbe71569c4b94fcc65baea925ef48841577687c9a31106a1826c2105e8dd73c748e9d27fd002648e5b0ce838af6b2 +DIST idna-0.5.0.crate 271940 BLAKE2B 0b781c2e9bf717af429efb53bdfd18244f2b8c58e5111c3bd3bee50c8a01cc747513fe20db75c38b6b771d5845647bf6c1849ae6667766c9623e018c1f399a9b SHA512 bee6cfbfc99859b113aa8c7b487429a836dabc4e317980f132d28ff8333336f33480bf9f8b186a07115eff33024cd855bc85d346fce85e17c4132e886769c54c +DIST jobserver-0.1.32.crate 27549 BLAKE2B 5f6556788d10af992fafcb578ecfd2c81698eea31b636d3adb7544e12155796082623735c8b10ac4c04d891d1acc307fb4e4ac3f88b2006e181013006f51c8cb SHA512 d4528113dd5a5d4a3765d55599a07e0998c69c7d21a90d2872679755ec4bd7726e9721af9220c36e1179b153ad8a39214a422af63aea15eaafd7cefc828ddff4 +DIST js-sys-0.3.70.crate 53863 BLAKE2B 15e75a94a2b7c77ff18847f98f76a1442b6e5f66960f3375534440c382a255e6b16ba3cb8c5345365d2195f7598564bf856755988f1288eb1b0b964e26446e21 SHA512 5dff8e790447a475b3c0a7068f0bdf1cced5fb8be2d66c92cb6f6c799f9d807f9d3c498e4f42c67e16d83dd4bb3be70472ece20fc42c3a8c8d57615ac8d398d7 +DIST lazy_static-1.5.0.crate 14025 BLAKE2B df29e0e3d1c061815bdd608b41074436024dc407d454f32517705ab04b2fe06075e310086c5e4961df0b4885e91021589d0bca2c1cbe6f0aeffa3ff1b3fd4637 SHA512 6d2f9887cd7f34f019644e42f02f2bf0111accd73aeaa60973ba0b039b6774670debece1ea9a6978e923208ef5d3ab7326473ee3560c078817f0f7ab8ed0f65f +DIST libc-0.2.158.crate 751340 BLAKE2B a67318ab24bb86c4df682cdf846d51f5f0a69504567acff43cc6e724f2641521945dc75dddc10c1c265fda960cb28b528575b5d39ce321073844dbddbc77bdb8 SHA512 c2d90d58480cca3464db475d7c70cd66bc1492239d8183038b48def8f5d8a437a1e2a2f084cb2bd9456889221b10aa07981cd5e9bcbb6bea28a2bde3c76f1105 +DIST log-0.4.22.crate 44027 BLAKE2B 831dc5092db05123bf2e909eafa708339983edece9bc8cb802f0ab418d47ddc5045a72c1b58bc7c46ffa68080eebd0fd55d6e4f5b3d5ad3b0bc6b2ea0dcaace1 SHA512 bd7baa9c8a5523fd0864a53bcde955d484cacd782412b5b02c890b89dbf62137624da3a27337a310dd8f62bcc6606925a42bbd4ca161a3b7936ea4ff96bc0d71 +DIST miniz_oxide-0.8.0.crate 56343 BLAKE2B e4abcacab4c8698d0489faca8556faa7bff53d272ea0c80e2e7843dc0f6f9229b7d5b0a17ae210344722a379853e7f14212505ee05da4e60549081cf77717c1b SHA512 044b641ce6d98d1968c1ee0906f91963f9f524d6f3fdf3059708177a759e1d498c63e595d3a3f0f9f3210c45c828b9b70274134ba078b899d7fefc2bbddbeee6 +DIST num-traits-0.2.19.crate 51631 BLAKE2B 78637360cbf32d172510a62bd9442708af9730c0296a2bb4ebd200c08facd49bc31bf8ddd58967e0df7273a938832b620265d9f8f4d26ad16049bf6dac1cb4e5 SHA512 180018a5eceb45085e4e8d103ff21bb4d5079cea874c42a0ad4c76c99d275d434bbc1cc289f0cdec172866daa89dbfe0871410b2cc3407233fe1129786905956 +DIST num_cpus-1.16.0.crate 15713 BLAKE2B 11b432fc7c7496d48918f09ed0954e0f1d0845596301266321293b374392898853fb7c313a0b0fd9d22d9dbfe3ccc5cc1e38f38407c89b2e5906eb76caa6ad68 SHA512 a75863afc4a563e63c64d06471c7921615355d98011ea9497b1f1a7dac2bdfc876509136018e8062ac38575ccf476a196d1fd9231e09e90017333bbf2df4615d +DIST once_cell-1.19.0.crate 33046 BLAKE2B c14b374eaf4ac0f60acc2e02f7bba270a0e8e0a6978d749cd3cb0ab3eb26907e4fbea70dd5132982f90290381ed18ff8a87fd530f1415fabffac864f157ea380 SHA512 4154876afd34a699ee650d1a8a1c5ee5a25f0ebd9388b8bef2564e33629fae68f113d7507488c68abbe7ea1acf9bbc41813cbbf3ef3e464e3f3b9cc7a51d870c +DIST paste-1.0.15.crate 18374 BLAKE2B 69ee7def55e658a9aa72405bad62325e8d6021a4989fbf11c88d1bf05fbac520f7b04d467bc3c6eb45043a41119f65aceecc4a6a1418a9192d73f33134545062 SHA512 5026d3ec7141ec4e2517a0b1283912d0801e9356f77b703d954b379439b8d85e3886d42fb28f7835edaeeac465582da14233564fb010c71425a59c9e1cbd46b4 +DIST percent-encoding-2.3.1.crate 10235 BLAKE2B cf8e2fd7b359a05b7bdaf731f9ae84c7fe6f468a53482eb2db7f93dfdaab64ac812b3664899db260055a93449462e6d219c695942fc5b030517b197b4df9b95f SHA512 5951ea8315e52cf3acfbaa023cb9e13a136b114c54a7da0bd44619ae24cd2159d4a96469d7572a2fdabd94e19513a033387117d7ca81d0eb409fb383e4acda44 +DIST ppv-lite86-0.2.20.crate 22478 BLAKE2B 9d68dc36d8148047d571c0147ed29f586f3c6ac9394b56bd955c8ae5bb18f5a8da5369809f7b8c3199074e23660325158c32c62e1bf69a16cb1f5da2a01f5df0 SHA512 6d171f63b42296f7765732fce3af7ea05d0d81f1541ffb3ad86e81210715ef4afe5bc9e58926e97e757aea6ff96a8012c8411eac78be0fd080898318ed21d7d1 +DIST proc-macro2-1.0.86.crate 48958 BLAKE2B 4b89e07f23af8328dbb34fe2b3f1b202f1e6a3885a6269740a23359b41bb4099ac2484565d3b2b0936261689ca525785ac620c766997234fd8d0f409e80e5ea3 SHA512 1cdb7e22a35ae231d880c9420784c9acf97bda2db258b3d34aae5061dc1858449defe19a49e12c6a4173906aa72a4115059ac2db0fc760205fd2ab8b5b414434 +DIST quote-1.0.37.crate 28558 BLAKE2B a7d007a69e619f853af94333e1066bb767013312bd99f147b1b153611242bcfa9c76768b1ba47278589db309a9acd61a772c8ec3b567e48439bb9d831f9326d4 SHA512 c4ed21428c1f89cf22b85d80720a7869831a9c129d694617b0ce8c258278114ab98846f3f653abf736d1c86bc9224bbd695e9a7b06aa3adf292d02e1ef14cc05 DIST rand-0.3.23.crate 11318 BLAKE2B 5ad9b187fcdfc515c606a73bd1e9aa3215e367659c35a013c9d4d0f80f9832331dfb971ca370a627c0a2afe2b8860514740e00b1d7572e221a557b5570cff6ff SHA512 a4f46fb7dfe39677dfc112eeb56fb3c28cec4cdaaf95f336f2a494f0b2b30fdf22ceb9ea956f90e13c7ffe711a68aef9fc1a80d9a911d93221ae263c243fb2c3 DIST rand-0.4.6.crate 76401 BLAKE2B 5593ad2d7fb8214d917e2eb734f5eee548f48fd699c9fccc0de9c0c6ee49803a426492a25fda2ffcf844169e2bca00709d4dcd9ceede72a4667ec431f5502fda SHA512 a91c6da7188b426bf9cb832892ee2af87c4cd65fad505c34e9c63343da71efe8c0c67b75c405dca5345317b7940d1d0fc0b20be85afd6b3089203e5698d86f0a DIST rand-0.8.5.crate 87113 BLAKE2B 516f26bb2a969d0d79e957818133f35d2c0b4d9f1b401098ea23c5b80d27599e842b9298c0c5e46e2a6cb6953857bf8a9fb71ec9366c5ce6708cf17df14f179c SHA512 8b33a8988906ba5e2057a9a84bdd11f867a5536c22f5056eec59ed4ec4e3a6da2fd773da4c0510d343762e5a4ea0f007db4c4a7cef87a47f90e36c1a84d86fb2 @@ -59,49 +52,63 @@ DIST rand_core-0.3.1.crate 15483 BLAKE2B 2e09b3b3306514c29bd7588498e79be7353de65 DIST rand_core-0.4.2.crate 20243 BLAKE2B 22fee5e44127eee047ad8abcd9dd828befd0feee77ee9a0bcd4dd42174b1e650f2a19f1f3b39fde937e58c17afaabf7231e2aabf214c2eb22edf3f85b73f6eec SHA512 f7ae3b690e2cc1fbf2707ee04b752bc5472433f737ab581f9872f7c5660966bc6be45f0c5d2cd8771105df6d4a9d206c55f5cc6ffc1693b46e1ae03a2883b028 DIST rand_core-0.6.4.crate 22666 BLAKE2B 8b6b66d50aade877f2779c006f8038db450f808c66d73d79efa66c4178dc03db06f12201bf0e7930181c4b0f4030c49b20cce6eb7839763cf2217cad9710789a SHA512 36c67eb845aa2ccca49d6d680f28d418229bbc5a050729e487fe6b9f9f384fdd7b8d67fc6508b90b79ffb3c26688e72feceb3ecae57d3d7f59338aeb62296f79 DIST rdrand-0.4.0.crate 6456 BLAKE2B 330ee64d998a0358f95a3dce50b3e1bbda531a3b613db7e5ba4038a1cf7191b60be3a0f33416e05380c41040704ce52727928915e9d2f4565d39984d1c86fcd6 SHA512 6476275d124bee28747191471e8d8f321a3b1c148c1f2a7ece4175f5244a7de90afe5f99d2eba5244d886b92e38232398864bf90e6d434b09494533942c8d894 -DIST ring-0.16.20.crate 5082615 BLAKE2B 6011eb7148c2d2ab410e564a06604f4350e07ea030e4d7dcb30574b977f0b0c7e53e09f6e6dbb2d068cdf110262876c48dfaeeef1b691932a056fe149916d934 SHA512 d97d1b08eb796d4c107426ff2c015ab1f221612500c8a57fca8e3f064e8c0f5ae2a5e6071d013313cd9f4be8fed4ba03beae84bd446f56b2b2ca5d483c328191 -DIST rmp-0.8.11.crate 28829 BLAKE2B 42aeff1a8d4874f1cec8a19085e4f23ae33cebcfd024c28772c0cea36e096d5ff012e6063647f31b9e9c3ca311f1036566411675fe2f632dd9dc1d5d1f7f929c SHA512 27a499316542722a4d9fe4fa9cc005b6b5fa75dcf66686a5c08aa6130497b67511c0283419adb64fec09a51a563f4991f2039280d2e74f8ea4102afbe4977f38 +DIST ring-0.17.8.crate 4188554 BLAKE2B f531b15cc5cf88f2ef00b1708473a7e98a42dbbd026027ef2c42f2d8bdba0eb1665621fc98db618252f6a131bd54b1493987a0285bf2b9a22eba4c9409ee1cab SHA512 e4966409a4078ee43bfc9cc659d08ad28419effe2a729c8c275361a7fe0620a3c727009bcfb1d0bab265af2bc107b50c19d868a4e80da7a8bb55f97e8b214358 +DIST rmp-0.8.14.crate 29687 BLAKE2B 8467f30a5c015798bcd984297c9af33b5cea52b775e21d79322021c1232efadf3fcf9db86310a66a22cc84dcec2450da410d7308be6e723279279df98e922a4b SHA512 f83634cf6a9eb9a905b55039b59efea72b0f5fb88aa92fa008d9a867812d06d9dfeab8b4ced5047eec66568742e3d873ea35e57e66da36f67cd266be6b64e00e DIST rmp-serde-0.15.5.crate 28657 BLAKE2B bf2db6d713e8c105b337c06b97c5ba607d509fd0de1356c7b711eff47b77f5e5246a8d2b6c876f8db4baa9c0f308cbb5b447a2a5327734711701b9d8ea6f13e5 SHA512 d546e170452eb58fd684cd0b4c150b99005a39611f40cf2b6f2919822246d36206e94808569ff8249f14e50f17989b885ef6016477bab9d16be5a18a0c8428fa DIST rust-crypto-0.2.36.crate 857879 BLAKE2B c486a2e43eb9ac9d2558bb39a249dcd689e86eef51d9a7613a3964baa633cebec824d5a490254dc06eca7a5faa471126de92452d62c522a3dbf494b9940a13e1 SHA512 0fac026d8799ecde523f20e7b34b9486343e48b95e79cd76bb6c8bfaeaebed550e45d59d85d8a3a58595f10c02a4a5e55691da15c203a4336a9bdb5480cd2e90 DIST rustc-serialize-0.3.25.crate 46114 BLAKE2B 54feaa72c7cda8aa4d4de225a99b3e2c78fa3893eef47c7666b6503e183bfd830d9693676a274e0dbf1d2f650489c4ba924ebf8650c47d11d561ec8bf8e85a11 SHA512 d7023ab949a1bcb43b3458a7bf3f6a8903a5a8e43ad87e8c635f5b1a43c72a27052b96bd9f2e9e8da4a532b5a97674850e5a11537ef8a1b17ef44017c7be1be8 -DIST rustls-0.20.8.crate 270142 BLAKE2B 0d9563e302eac78871eb8346c72fde2a05618dc8a966198cb4d607b41930dd54487d9f4d9c8ebbdf943b4593d4cbb75543c3aea9dddc61a06500b4b322aa726f SHA512 4f56494987cd3a56f47dd07d31c7f73d262a4d003cf9cc11e0bce5fa85c87f18124b1c364186501736f0d40a1f193a24d5d73f37a491ff81ca8eff568559e547 +DIST rustls-0.23.13.crate 335735 BLAKE2B bb0539da0d213f84a91988c75352eef0f84496c7b6cce3f2bf8cce0539872c649245974f2b31cf0244e81c3e68d7077f23103f94f44d44f344458553ea72d4c0 SHA512 8c2c2ef5f7868ae50d2c8846d45461e4b787297ecaa157053db919e7ec2debbad320f0e3304f00e39d658160ba762ce47537b7a2c7eacd154d3860ff87c6acf4 +DIST rustls-pki-types-1.8.0.crate 29562 BLAKE2B 933e281d6f4725717c09699cbc73368b7212745df7900e9242dfb872edbf6908faf417b5684c843af8b37a198dc4104de279bec0d72d2c43581f837a62f67683 SHA512 f8a223b904c224e4aae9f06046280f3f9daacb50d1456f8ea2911cc7174a4b8317f86e4ea5431a29c0ad8dcef44bae53c20bc88ffd9dd72bf83161289bb65e04 +DIST rustls-webpki-0.102.8.crate 204327 BLAKE2B 8db832f181b46bdecc419e1433dd5550bc181cbffa1961aa90b2533f92696ebe15d71d742225bf806e2dc3a4ebb110d48bf62b0677089df1eede6d5a072c0a28 SHA512 8cdd5d07bb8d6c3f0d1d6663babc3b7ccbe8c9b1463870a3dd095c67f46addf4097a715da796c70f1891ebc1d045ae7d7c3a352400e8bfd6687e6cddfd33b1ba DIST same-file-1.0.6.crate 10183 BLAKE2B a320c8343e0b38078ba81c4f0159d886bf47764c74efe0d7cd2b3218426e8341b51e523c00a9e5fbc2ee1057618296bd70b576c68751bd55d6ddb352defaca15 SHA512 3ba35309742c8db63210d9ea78bff4ecd80471d69e6238eb96c7bf0673814f221e2d838fe6311bfc5a0e71b4a7ccba33e07859c0b9cff2171969ff08a4214a7c -DIST scratch-1.0.3.crate 8198 BLAKE2B 804af80d09da85a88221c7aed7740a25a327bece99eeda0d7adceb3e5111917b70fb4a4e4e39c83b041d57baad2e3582e877356d58386e05ccd65e0a5334f86d SHA512 8fb3c0d36adbcd915e3adad108e35665ddd6e5622b252833349f89448a620bac6eaf1c212ffc172ec015e5af46e5637901c3442083b17ed29a2bdd9c0c48d595 -DIST sct-0.7.0.crate 27502 BLAKE2B 93912044e47473d72d7415e01cbe2545f84d7d087e7a7fb210be7524d44f69daaa58edf487ea6f8e5f06cbe25ec02062b1b55978e7cb4761b8bfd79a32d4fcc7 SHA512 175d2a912e3f35dcb110991a066d7d9b0d47a0febe4e92ab7d92a27c886a7eb9abf203c9080b3e2cbda9bedbc816bd138476363c2a0c7367d3abc7e6bce83046 -DIST serde-1.0.152.crate 77091 BLAKE2B 89c01ce359042ebe6b1b64ea710580886f965a98e1d6085c58a75269a9b43401e2cace080c4c93ee51982855fb7e2f09fdefe9bd237bbf30c5537f3a4258283b SHA512 b47bd58fdc1a81d96cc0c9d14c8b19153b6689e893851975b1d7c7010c4448750e7fa09056dd4f13ed475a4aea2a3950952ff528832976919a6e78504a37bea7 -DIST serde_derive-1.0.152.crate 55586 BLAKE2B f133c6cdb87d435ea0c05144e685047fec22b93df7c61df4aa139358c2732326c98d0f62fda629da0f648aaacfc9d6f312813940238f45b359546dd435e7a516 SHA512 2f4dffb5671b4758f0b7dc0939f6b5cfe3b3ba02a53c62c75b5a0ec89d2db26bdd95f3e269d1fd4b07ec921bc0ca5f0741c26fdfcd25bd6532ac698c6c701e91 -DIST spin-0.5.2.crate 12004 BLAKE2B d67d9156ca6dbcf4022711cce797cd423a4977115abac4cafaa507aa2e1071b637275637a20934d4d0d6d2bf82c98c74a4506720326d1804952aa0fd5fc4895c SHA512 fc57f7906da2b7a298c5f89215e881e8827b4d9f934dbf138338e0ee30122d8459483be566268fa374b41d63d8dbf65d42e0b322535ba35c827d7edb2176f267 +DIST serde-1.0.210.crate 78338 BLAKE2B b3621d1313312177a346313e6e384fe9660f74eefb18e6cffa39fc2aadc0ab73be84b9037c59b716e5feafcd73f4f054f83e6d17d82746984b3064bf8d3ed338 SHA512 0d853ca51543ae8b4a0c70204ff4e559a4eec77af3d3bdcfc75c5905c80d4ffd1bd9eb8258ea4f6ecfbdd26477ecac7dd698d84d86759fa32e03a9cce02fa4ae +DIST serde_derive-1.0.210.crate 56020 BLAKE2B b346e574c99b6a8b12dfc29b20a4fd2daf8abfabd3714ccfde059a3a1f14a5628d4acf6a03f8076174fd28adfdb7cb9bbdb8ac0d4403aa2f43e917eed4b08028 SHA512 1c54d70a55007c00d3ff3d8c2096f4f9966431ba7bfd9195bcf41932de71b71c4ab934f9a8c5067cb56a042742cf0efab07377dbabf12feb1af6d20399de00b5 +DIST shlex-1.3.0.crate 18713 BLAKE2B 18800c364d3a628f1a3125097ea82fe6286550c2997235df0bf8483a3906aacabc81308cb239887d46ba2f457cc6f8acd5aca78316707eea5098cd5666aea67d SHA512 5c8cedbe666a14b8a0874defb9208146ce64579cde52ed483e4a794cac5dde6a24bf8d684404edff582f842e1fd4fa3fbeddbe074f191e4ec4aa517aa456fe8a +DIST spin-0.9.8.crate 38958 BLAKE2B 8648bf2e48fc618758e3de67f0a493bf3cd22a8d18666164b0d850ed7c0d73650f7b0af783019dd361116bd60c61d24895cdd2c579383cd2700de0e32a23cdae SHA512 b15ad66ba9b308937f34ea166b799676fa45c67224e10cb57530fe33d2a8317ff3e3db3223a3249fa2862cc141c964d2130d3f39910a86ac5ef8aaf8ff4bc6ee DIST strsim-0.8.0.crate 9309 BLAKE2B 40a8be506c43ee1ffe006ddc7dee98c3d418bdd205d57b78f5d1e4c9312feb57e1eaf952e02d92d4e0932db240c6fba45beb06ea8c4fc6de1cf1faa8b6a3a939 SHA512 1d55a8d946cd55f5f37d06aea536549ded95739fa58c0f2da285a0041154c181f663682bdcac643aa198b3e762d694a04f058db985c62ebe22b5c16327ba6d34 -DIST syn-1.0.107.crate 237539 BLAKE2B 5a65968806c72fedf69638661f827a0426b9e49c2f9a5e5208f986105f8facca2bdf241f92f74bde790e9a0dd68240d4827a345a939c087364360e19a5cbeff3 SHA512 58132adb76643521a6a9cbc0316431318ac25f8517bba3cbb98e7e28ed536f9e24f643e898fa21a2f74cc8c1aeafaecf9b4199b23048c7be8c0bab2fe3aa7623 -DIST termcolor-1.2.0.crate 17917 BLAKE2B 5ca7802b0bd29495bcd2deaddcdb4c3ff964073a373eaf39964a24ed91a48c5c33e192d676099e2837064df3149fdd73aba7d241e9aeaad9887bf1bcae9d38f0 SHA512 cf1896523353390b2f90b2a8bf30f47da5fc7c2daa635bd0cd8059bdc73feb243e46e4279562fe45d5726f2840833b1e967c7de19ffc0c853592d9f86c0c1be7 +DIST subtle-2.6.1.crate 14562 BLAKE2B 3cf4940b7a01f04715da1057f6a92b1043a6b86ab2ee7f9fee0337b680ff781201d330409460f6f90b3f81bb5fd4b563e17c762c6e824ba3b0af99e4ae7d66bd SHA512 f5946ebd9bcb8776ee3446abcbf4afb3cca5d8bd847cadda87e864333ac7ded537a3efa773e9648adf20ce4add2c1da85172cff88c1e1a3a6cb051401b00c6bd +DIST syn-2.0.77.crate 268784 BLAKE2B adf14ddc4b284ad78dae3c05be7e63a58a85a2ef16c1051b991aa278843ba7231f0da3cf2adc65eb95762d4c88b4e1440cb616c651d3bb568392bb036399304c SHA512 f8030332c3c4ab34fc1e86196eb0eeda9700e5438f2a339591a5968d8bdd3373b523dba4bd998bf578e4247e0019d999d4e9c6d062a1dedcafe18d27b6c9f6d4 DIST textwrap-0.11.0.crate 17322 BLAKE2B 257428908342774593bbd3528fcdae710712ff54e8a711393a24356d8ba0e16e466a4b20c05f942c48ca76b3b5b5aaa90ec202f782cad892caa8b71ccf124da6 SHA512 f5c0fe4f28ff1a3a0931e8e235b5157a45f67967985bcc752418c5ec3481fca44a8ae4800088889b37e8cd0533f53d3c456d5ffd19b767b3f83a87b49a2e209a DIST time-0.1.45.crate 28911 BLAKE2B d43e2431752881f6885d572017f461b304d07ee5ef0d8b4898e62b47c8154268839c3bf69b141159090cfc0d90bd0113d6084fe99ea1f2b1e20668528ce21112 SHA512 e643fb8649f3efdaa1b0b6abc6a140d55ac550a55cad99d0cce9415dc51e155fb1ea240953eeaba5dc47ec73c49ab7f2962af79c693436289de0eb3ff60985ee -DIST tinyvec-1.6.0.crate 45991 BLAKE2B e9699d4d80a78978f0ebfd049f5b33d7f23d401cf4f4439ccb168e8c0e322473ad0ea7e2ff0ff69e9aac3e5c4c9ae5a7102185533bfbf96dbe77b3526e700bc9 SHA512 e5acaf353c58c60ae5556130a934f1048abb79cf6668ae467d308bac44b689d8a9997227ea879f4b5fe50f29cde8761801b088d7149bcd063b973056c381921c -DIST tinyvec_macros-0.1.0.crate 1817 BLAKE2B a3d1966bf57c11afcd026269135a6189f149f905bb70b47537c0a7bcaef0bfc6c89bdcbdb0f6cb8e5255632855134631c683fc90606a254ec8ba818fd5ef0794 SHA512 d6afc83a3c70cde916a6ff599e2772588e4bbfa7a5b1c7e5c8aa0f4a8a5c9426182497a644e4a88194ece986d38fa64b6c8eda9eb1630441c8e65a8741a45873 -DIST unicode-bidi-0.3.10.crate 43530 BLAKE2B 2bd5ffea133793ed7588ea95b0848adea16e79fc3ce9a159c33c73929a1af90e0578c44980fe114aeec1d6424d294552bcbf4089e3c196c2ed3d0751d992c216 SHA512 70f81dcf3fb3ada1eb503cfda548e083cae6e7001dc445c0a481b8f467025f17dc26ac14e487edcdc2aba8b67f94a35eb4b5083a62d5b954dafca7b734edd3e3 -DIST unicode-ident-1.0.6.crate 42158 BLAKE2B 6e4ef61fcac69b4ccbf743a2c2f857a6ea9fcbac9b9890f5b7208cc0732c6892aa5889b3030e87c8c29ce4ce24ddb7adec6bcf47b7aefe9cb5d19f920f12cfbd SHA512 ee1dc78fe535f46bdaf3e19dd8dfc859bf3133d9271026cadf626a07ba586c39caca4e45d905156a6276cf852f9cebef196b2229c3ba4b5e2b26c956fd6cff86 -DIST unicode-normalization-0.1.22.crate 122604 BLAKE2B 3f3430b279cc0ce1595392c869442ce676ab097154c688779ebcf726e10c497df59be2cd7bb2f84f99499a9df0654760a10ac92224c17d74775aeebe291241e1 SHA512 a5810d5e9cd93dbb80e013997aa9d38e60834619483a6623eb2859ec5d59a5aec3fc4db123dc7f4e2fe9f2b8799cf6af48bdff22d69a00a23707240e8bf3bb3c -DIST unicode-width-0.1.10.crate 18968 BLAKE2B 6174e307fd3ee290d0a5d1d31233baaa5315cdb73f19b8580718e9f9eb04cfd3aeaeb474af1e50c4b9fecc6fc777937dedc527c9dc9ed14ccf42af099e591f31 SHA512 9836a8d489d18ea1ecfe1957ed6d5da7dce825e138cd1848aef093fa8d2eb83fcf01eabb1a2446df4f5ede4e67316e9e81b5d58b59d4e8c5d67870e8fa5dca3b -DIST untrusted-0.7.1.crate 7924 BLAKE2B e0152791e781a4805120e3437b7e0219db3aa0282af4faaf2cfb15718421ff26abc56021c546f6aebb411f5abd27020273ba0f785e012a4b0089e96c2db4faa6 SHA512 5ebe3266912e4e78fdfdd13f9fcc07e9cf489d19d5e9ff346486f47aa58a0aca35278d561612c49eb3cab5a6759ac974d3b92bfabc399e1bc0808428dc347be0 -DIST ureq-2.6.2.crate 105924 BLAKE2B b055cf00473a6d67d181fe6ffc9d960ee9c1ef4bc346f30466e9d8c129b82abc908344fe61957e6840b1d1cf302df12c94b0c74b49daf0e978173e36899f3c4f SHA512 712922b21d321932b6e4d8602903d92fac93549200cd10d66052f404e7734a5aab2ebfe78e14cc443df3320530454a6585aa8005fc39471cb1aa95e54dcb951c -DIST url-2.3.1.crate 72777 BLAKE2B 6ca0e537baf373b92269b2531945c1cdf360f1566cae4734dfb96f05a605e5c6c82e3192a1b9dde0ff22b92b87aba2d56e32a1bf17882b4de15efd7cdf52bc76 SHA512 8224010bef067574481e5d84100d944782d52b49db7c396ae2b4dfc145ed58769c15440d97a0fed4d2f9857592a8601417cc5b1bdea959c47a3e7a1f7182ed0d +DIST tinyvec-1.8.0.crate 46796 BLAKE2B 720d0e6d881855a36779e12f5ffa708d3a8b96e6d0de9056cb33c9b8ce0d408f99b22f5b2bb9d64bee72a011fef846dbebbea2ccd238d7b951eb5ef0c4866e05 SHA512 b7b32e38229645965900f80f298685f13e6d13e58cfd6945409a6643ca9c9adc2621456956d5998ab9dd91c2db4ae79638b156ca0d9c7c5505023fd9b28414df +DIST tinyvec_macros-0.1.1.crate 5865 BLAKE2B 2bf4f68ca11dc19c72232951605a4c809b34ff38ee365ee4f592a3c41360e23c9330cfba961e2692a0ad568fef4aaaac51c40808d491178cf7a0c4b5a1c5d484 SHA512 10008c7b3a3d50c94b9c370015b76ee082f5dfb6dcacf014dc2f2dbe92f903618d10d0202b21f48fcf98a94ae76fb712db55a5e8ad353645d378cf0e6ec74f7e +DIST unicode-bidi-0.3.15.crate 56811 BLAKE2B 1f1d372c86ec7444f13eb32baf13dfc8699b52156b265a2b53f40c0d771064876405451120fe54739a2679e6991caaf4f63e0644f03729cab814079fef4868c8 SHA512 7a21d5eb05ea8d691dfd54ce4cf7d3693d08067f7a88ef17b8c3044634f46411176b1bde1516c442577910b254007b247f5e40f9932eb601cd96cd574f9d9db8 +DIST unicode-ident-1.0.13.crate 43279 BLAKE2B b5e935020d1c9f3aa24f7d382f6b73d6510d654a61ce1c9c024e2e365bb817182e076139f370e822573531356fb78ff7499049b1f29aa1e2f4a2cc74a955b47b SHA512 5ba884f39debe9c8eb0b1d251ca713f7e2bc191d211707ed10cd81465487dbdca53914c19e131edfa1da15af132dc2c346260c3969c61e3747b63399ccb1cc51 +DIST unicode-normalization-0.1.23.crate 122649 BLAKE2B 22ea5ce3f5a2b371c3c8782321b1bbbee724db1e4d8c1d43af4e6bd8044b99307c227d93631d178d10fda445a941a485882ae0015a6e3d3c347e4bd465bbe1d9 SHA512 539f04010810d73fde7b0ab314faf813f3e7ecd2e51d7975281554b7cba4a8706e2b5523c4b7840568593652360ca59e9db0e1ce342e71c28db635ff55ffb0f5 +DIST unicode-width-0.1.13.crate 457228 BLAKE2B 757c4da5fa090369a26130b08440c2348f1cd1c0dfbb6770dd75b65eba797eaa65f5d683f0c2862cced06124d46a89b4825af0d990f6adc2df8709b8ef291665 SHA512 9781d6dab2c6343e8c28ec66b50cb4293261bb2114e122fa80ad2facdb23020f5b621c38030193b918669e58adf143808e5ab4c507c18beb6dc61e97b2e296f4 +DIST untrusted-0.9.0.crate 14447 BLAKE2B 8e9c3ae09435af0885bc4a6e3c8943805b48cfc00bdae228c7c43093254e1be15d7005d1026561ff369ec37865d8458203f421a9c89ae3db077f655449621aed SHA512 5929e4079c1c2ff933ae8d8f59a2ecc7a424e71a20d1b8821f75925af68bdf82604b024c008e5464b02e25ff093e561a352b685e755b3d0b27e4c30254689416 +DIST ureq-2.10.1.crate 113163 BLAKE2B aece4293775ee9bed49dfd7c1761fdee20c92322dedf70431b6214e8a40fd9f63e43d2846c1929135005c5260ffba4a388d779a2cb2808eb892b6b869f65fa08 SHA512 9944f0790b9c342a3584bb9217d0546dc4272b011bdaa47d22b42684dd7f655aad22750d395875c63e7c92d8d44ddf1ef610061b485f9600dfd79b4db5743656 +DIST url-2.5.2.crate 79704 BLAKE2B be3526298a8816fbd88385caf49c2d58aacc7dcbe2d9183478cf501c26fb5f22d7704ef1313ba6d355e849cbf8ab7980310c1aae85e253a2b28d59099e23af29 SHA512 2515903e41c0659cb226f9bb049ef80f2a49d1b609b6ac480e570a84e899088ffe3be4fb58f41a1fa7f5288eb5f97ab513f331aeb6d56979df783d48e2ace28a DIST vec_map-0.8.2.crate 14466 BLAKE2B 8f109fbff19604b82ea2aa61c952e2ce9b5597ccc8e1ef4e847648e2de08dece8c4debe92889edeccb8d393645fd0b62436b49d236ded7ad181c4a51239a9539 SHA512 4f1ef59bc2c437e79f1f84fe021bce5aa8ccd581f500f3d5776913d5f17d45b03ccee64f5bd03d47656318cfc9344a1f4311079d471fa409a8e4e94c143973f9 -DIST version_check-0.9.4.crate 14895 BLAKE2B fa1fa4008af165bfc1fdbe560488afd9d232cfafee94104fbcc4cbc52f234849bff9ddfa88109a1ac682f6d9c1d86b0459893d223f64e65adc08966aaf93dc89 SHA512 b172dc9a3759a4a683ffc39b9a40b03b9974b626a088217de87090466cef695226557c226cf3e469b2b25ee7297b7eb0d7719878cab42457f80146a81943c0c8 -DIST walkdir-2.3.2.crate 23516 BLAKE2B 473f2b51aafd6ac17e5c3da8d545d179b31486b3a65ab39fbd8bd7fbb2ebcc24bebf01781200a26a68f0b1cb464f5763a919aead3b03eba5a7e1be6efec5500b SHA512 6c44071354faf37720ec4117ded34c8d530489542ee107ac26a7a56ef4a882b9003e22e84f1d61f6078643521343e35aa1f7b57c838779e78e5937a667bf82da +DIST version_check-0.9.5.crate 15554 BLAKE2B 131e75cc287518831e142430e2a39b48e4275874f4473780d47a27552294097aa1cddb65c385583e1022478f940b495eb43c24a8b1617b8ac5a24af3340c0d72 SHA512 d11d5a2240ab0c67ea69db56561ce202201edeef9a8e5eda3d9ae7ab7bb5752d8f343fe7f6536d8383de8d55f9024efa84f66a0c21e69563b7a38c4a628014db +DIST walkdir-2.5.0.crate 23951 BLAKE2B a2d3a973f206e94699adec0263dd5e211347722cf3ab82536295019268b3125084da5dbcad818070bfdcb6a5de08da4eb483475bc225a829f58a1e3e040b5fba SHA512 da36a121dc6656942dc9cd9887fcf4f6eea7750354ef3f59c7c25d836e7afe06f33260b4d55d0d99421104ed4ce56ef2a1f0f4c3b713766fff90548c21793fad DIST wasi-0.10.0+wasi-snapshot-preview1.crate 26964 BLAKE2B 525db01649a5981ee82ad80a1a4bab9baffd235262452675619f36a1b454017a74593c53c129f8c30b865994bbe30ef19cebaad9d245ccf54b9b07ef70d5d8ec SHA512 88e2da617f50d9ebfb1e0c5857321fb86b5ee88ae8a8d199d3cc092e0f39688a2cb68503f7c6bb09dd6bc50a9a03597a1eb2e032150fbd0d0b8afa02ad771c88 DIST wasi-0.11.0+wasi-snapshot-preview1.crate 28131 BLAKE2B fe501889f25d65e2d032f885cc50c4f8bf7dd70fd5cbc438de349838370d8699e9627b0a4fc76030ea9fe6d508f41d0c9928a875fdbc47e73bfb17241cf7b155 SHA512 043500ab28cd9cb779475255da5d109ebab7fccca72b64873dc28d77bc5a157ba8d96b9e8f05223b5b36c7089bb7b4ba87657fc69bac16b78972f897294a865f -DIST wasm-bindgen-0.2.83.crate 169618 BLAKE2B f6158596c80a0385bee0a05bd9cf0b3beee83a7958efb40244956b4fec2c83baa1a1b4605eb604f313db3508a7911c78f645acbb19f6fc93eef27e9f7f0ac109 SHA512 ec93d1334417d0329e113d5f2da7f16c0f1209d71e5cbd21a2dc9278d877e70ca2327ff7863b40505504883ed51d6bf20dda98c22ef44011a47c604a7b44e82d -DIST wasm-bindgen-backend-0.2.83.crate 25620 BLAKE2B 3cbba20a2f5344c0ed2791de7b04ee294746606289ba83a9c139b53b56edf31eab8d3b3802cec309d5395e2404bbd75b7fab5d748a9961b36906fabeb0e66493 SHA512 dd1b65733e4d0a198d61a5287bb75db3e03ef738d2c2dcd3ce3e873c27d41c90cfcbb775ad40b2a546190db8d7213e5866f8e3f9913c28fe4b43a49054bfea44 -DIST wasm-bindgen-macro-0.2.83.crate 12075 BLAKE2B 3b358ba7c2a3563840f54f11170cde78044a8f087659daa7c784fa252f5dd4b7f6200eba425d95b568e50fd43c04c32a509994ddaf5248120feaa67586402150 SHA512 eb83e06f998e858cf25494c1d171984269e72db798147d4d1d8aeeb25ea7a35c5986b882011e131968621742ceecff976430856b4e8b7d7fd7f1237767cf01b4 -DIST wasm-bindgen-macro-support-0.2.83.crate 18530 BLAKE2B f305c9fc1f7bba5bee65a1c76fc2216c98aa306a072286e1ced048ab191f49e7e4436bf2f67d4c1fff558f59b2cef5e9b40e9e940268128ab1ebeb3c64696107 SHA512 804014c75ae5f8c1c7f0fad3f3209887fa346d74029e5f6e1830e44f7318719e65c4a643c71d87cf388f131fd370af40d536bbc15fc11c25b91cb785f56a908b -DIST wasm-bindgen-shared-0.2.83.crate 7194 BLAKE2B 4dd1cffea1edc98dcd4993bf6fdde8100fe00d1e97322ce8bc0bdefd0c659047c8c726e5da27b59fd7a6621c1e5385c18204e834c6c6fd1fb9de52f95b40e40d SHA512 2bfc1a068fa41a9ecacce7bda494fc0485c57ccb102c1d76c87a42e00ad30b944b0cb788642e8339d050a0e831ce8306844a77292ab9f79ed765b65cdb4765e7 -DIST web-sys-0.3.60.crate 700485 BLAKE2B 13942a583dd8462b0591a19759a41f41fb17d2356b3bcd78402e420fdf5726782e5b4ed211c3716a81c1cdf64ce9b8adecaa3fa22756a3ec84eb7c3e12e3018c SHA512 d883363f99300e2d50bc5bf198f0fb8d6c53e5a778217e340573560ac07db26a71c98419fa2ced32820472126d6f97ad5773ad082521be0a1c9a374af9d61df9 -DIST webpki-0.22.0.crate 58663 BLAKE2B 4fff91a8ce3d46a9daa9e39c50755f79574c91faddead2f6c879f6e9bc2189b76c4951cbc36e607e099ab8a870b422e1afcd4bcbecc14e96555c26c8cbefeb84 SHA512 7c2916d47f2232587e3ccaa8fefc8b576addaf84b55166011032e471f91ce54a79d2fca7fcc1144552c254f5baead708fba2b0ce76a1c34286838a8744b0f570 -DIST webpki-roots-0.22.6.crate 242386 BLAKE2B b7c4ca7b372effa1cab48d890e468a272e0bfb7109900c4077906d088e85448c058a6be420eca24ed42bc9c0a0f1922c08c5ae6b0cfd85aa71662a5f7157791a SHA512 00413a8354e2277f50c29851ed49a97f76bacb2017d61b10333981d15bcee13eceef8711e87d2aef1ed4f8a85763c6b1e7e21d61a57e7f689fe4aa6e67f4c140 +DIST wasm-bindgen-0.2.93.crate 43769 BLAKE2B e1abf981a042ebbc5c506975d5c2258942278fc000ac62aafe4221725fc52003c4032dc04a396e8fc8ec6712155e056ea9381a72070ee7c45b348ce470f52c7c SHA512 0c0a63b04b02b57fca78d2c0b885ea752ef1e8e4317c27dc84fd35843c9c396ae20557a1321c03a405b050f21895e6f25e95ddb56f3a3e8cec13928858ae8422 +DIST wasm-bindgen-backend-0.2.93.crate 30344 BLAKE2B d0b9f0cd0e6191dc3f57869023450952f2d73c0432fd4516522df5f63090de021f44f11ce7676fd2f87b31f6b236eb155b22b36eb80c3ccf3880f55ca23d4b0b SHA512 c67dad5fa26f78b233612cb6ebd44f48edd84253e46a2f5094e95da935185cf2a7be14d49247e8b8cd1d916721ed82ea44046080a40b2fe37ad88175a5f96597 +DIST wasm-bindgen-macro-0.2.93.crate 6822 BLAKE2B 3704c01b90ae900032e455a265b614d1057a7ed7b7eef1ebfdce75a7b0f0b97083211db562d1602160cf9e70843a1949be836465398787315d66ccf85fbe0801 SHA512 8b1a690bf4fc344728bae21a11c8ce4641d81b02e215d88a489f8155433d8e579ed367c96bc19a345b561f2ddb42afa44056b71e15dc935a4fe38fd7f937a632 +DIST wasm-bindgen-macro-support-0.2.93.crate 20642 BLAKE2B 3fef9d35c09e97317e8531f11c3cfcafc5cb58126ab7a96374cd5e2e3f8736ef016b4c0b3b16bcdc0bef686e9f07439f263c54dc980649e9963b12d0a6814ddc SHA512 9fe590636e229184a944acbb8472c03db0a48a9094cd9ee204c09cee6c5241194a9757f06b09e7c30ba9db1a2feca616cd1e7dc0e52c7f1c1560c50c9d3adbb8 +DIST wasm-bindgen-shared-0.2.93.crate 7527 BLAKE2B a2df995ba72d83beb3f347909c004d9693ee06cec62de248a1f96b0244c05dd8b62d46356f1b7eb0a29122517bc23270eb4eaf045e6cdbb7122089dc84829d9f SHA512 4e9271a746d3b3ea44bae472b7d9722edbcf262fdec2e03c18788d95b923c71c26f309e316ad3c621d5773311d6b1d5ad468cd7bdff015d162193b6effaf8420 +DIST webpki-roots-0.26.5.crate 258951 BLAKE2B 1d95e7462b7626bccae2655a9973edec1f5fa69a6319247c5a8e70198d2ae6290196d90476290395352360b1b9c9289e32f9ab4d80c337a4fe6ef05a9a80dfc5 SHA512 4c5423020f58d64989acd79098eba6f7f78a1870f28b0e2071bb14788fd67f8f60ba365668ba1f823f30bd2712eaf39a7697b7a40989768d1b697485ade74ba7 DIST winapi-0.3.9.crate 1200382 BLAKE2B cb5799749ccd935ea2d7068d953cecf19f543d9db7dc16ad4584bb7005373ada34937a3ced7225544d8bc765da599911c7a3190efefb3a25b7c1bb7123b4f673 SHA512 ff8b7b78065f3d8999ec03c725a0460ebc059771bf071c7a3df3f0ecd733edf3b0a2450024d4e24e1aedddaecd9038ce1376c0d8bbf45132068cf45cf4a53a97 DIST winapi-i686-pc-windows-gnu-0.4.0.crate 2918815 BLAKE2B 4d357e4d30f9552972170d65b9a5358b69c46a3e772fe05efc22f3d4ffc1caeeaad7aacdc7abd503a7ad0545f8bd7d22bf351dcb6df76f812fa4d45c34d65df0 SHA512 a672ccefd0730a8166fef1d4e39f9034d9ae426a3f5e28d1f4169fa5c5790767693f281d890e7804773b34acdb0ae1febac33cde8c50c0044a5a6152c7209ec2 -DIST winapi-util-0.1.5.crate 10164 BLAKE2B fc800aceae5249a858c806c3e969ef2545766099872d856ebee51c883d9acf1122278db9607d50ca53eac351502b700fd2463900932d342240f97f683d517963 SHA512 7baeb661f397c4693dfa001fdc774b323c51a7c55caad40f2de5112a1cefd1d6151e3df41fa4ee193460a5905917c83d2b1de5fa10b4bd014ad96690af95c0fd +DIST winapi-util-0.1.9.crate 12464 BLAKE2B 7fb9dd803fc2608c4e5bc75674472992d82da364f24c22072d5624d6ae6abc44abd3e3ea3c45a7558e045331f3d87572b306b4ab5de52c07ff3706e7f13c2a38 SHA512 c46b893f67ec6e36499b00736bb6b9421e0e2611e76784afa6da01d7ebd033df82f1be7cf8d871d541125d290983f98f26f759488ba9aface49efce8edd682e9 DIST winapi-x86_64-pc-windows-gnu-0.4.0.crate 2947998 BLAKE2B 2ad1ea8b5fa07d544e910ccba043ae925269b76b26c9da356305b34b86741dd8b9aff0b9ffe3d562db4fcd7d7c46a11ce9e3168b782b1d89ae6881742b7ede82 SHA512 4a654af6a5d649dc87e00497245096b35a2894ae66f155cb62389902c3b93ddcc5cf7d0d8b9dd97b291d2d80bc686af2298e80abef6ac69883f4a54e79712513 +DIST windows-core-0.52.0.crate 42154 BLAKE2B 9670bf02261b4ab2a24eff97dad11e305deac823cacfae286965b62b11bc035f19a55ca710eaa4359c8a4905433a94fe62a836b77ddd68f244ad6ac2c9657f58 SHA512 0c8f1c7e63c11bdcf1361150ecc83abbfba8da2c6d28523799bd286bf8aa1df61ffed19175e8cb3ef516a9afb6248b640c2101a2e0c09a99bfd7a18c6741bd36 +DIST windows-sys-0.52.0.crate 2576877 BLAKE2B 69d6b560ccfc8f679e2678663ba606060d71fa28efa82c8aef8cceaa2c63b06f2052764d60163964f939649a26bbec6361ee4b094555e941fae92070db566980 SHA512 24ee0df246c2b456a4987a9124786a28acd358768cc7d1305bccd81bc5bb8822b81a03fb18d35174a520b911c6d9b685f81a34ab319fee13da3b985273584f03 +DIST windows-sys-0.59.0.crate 2387323 BLAKE2B 3110c8cd2bc005f8c95cd038a8d574af648dc19788fe4485f977376f92e36b911b1a542d669a07ae9cd4ea72a884ab01ec78b8a2b5587456eb202452d1d8fa0d SHA512 d35e009e979633a1f3c8468cd038bd5c8c0381405165ce03497decd7d9edaaac485d704487e4a61d9aaf4e4d011b4248408912df6a0044d50e8457259867e061 +DIST windows-targets-0.52.6.crate 6403 BLAKE2B eb98d0a8daeed5fe76e7fa8edb2743e2a3e77dfb9c4ea68605a6ab10532cb7cfc43bc1cea0180869445bd940be762a40136500e26b84ca88b5e0c502004c7a4c SHA512 d6d2dbd96096c6c396dba141a9817e377c35877f3b2fe58b2553280c7cfcb1ed6ee75bd4d62c9b882662de67ddaf0c1049b91530d29c94dd709c230e08eb895f +DIST windows_aarch64_gnullvm-0.52.6.crate 435718 BLAKE2B 8b12ae02892cb69401329034bbca671d13bd268a112120b56b90504707cef89decfbd2560492844a9f0588fab62dc1476ab7e931126b939015d25a8cc91ca334 SHA512 f62b2d942bdb3a9353465b07d47b93de179bb706511aa497e4addd74cff95e689a9b633e7801ce786e73b5ae5f30b506b6faa199c5ab86eefdc1d94652df79c5 +DIST windows_aarch64_msvc-0.52.6.crate 832615 BLAKE2B adc8ff61b6dc96d39c92c7d4221ae6aa0575edfc016cfcd046067ca5d8fcfd56d10e8e227be1c038ce34684be22c7ccaf5f18cd5a7638d28fbff4ba15b48b90b SHA512 a3e21305ad0e6de38f5b5ed5d37ee5825b7521064163bcdf31d63341cd87983f54377865d2daf3bb480d2d0aa66d6f598fa09540ec1d71baea74569c86bd213b +DIST windows_i686_gnu-0.52.6.crate 880402 BLAKE2B 5aab8ee07132eccb7695807eb44811beeb0657aadfb672c54e99b6ae39c067ba9b93e38fc69bb5b9b14a9759f263ccd5e301597d2727d83b31b49a409b6bd405 SHA512 a1f6b5dd23d17ec3567bc9d11a4be6f35e196eee21ca342e9b88dbaa6a5f7c46e439c834b77e724f32ac22c0d81573746b3b513a6c944a221b92b2c76fe98822 +DIST windows_i686_gnullvm-0.52.6.crate 475940 BLAKE2B fec4fda8bb2bf319a501a22372fa642ae682e4dee3235b258a028190ee73220bfc55b3142f06249bb4579b17e5fde662bb2b121aefe18544653350d7d0fe7d8e SHA512 95f13af855d530acc0b856214478d4b11b8dbab3f8f79dd223d0b009790c0e46d096fc1773e0277997deb2d5b96c704f17f23c7df11411524629f75415dec99f +DIST windows_i686_msvc-0.52.6.crate 901163 BLAKE2B 99ed34e052db5ba77bab240ed5d38ce450be347a794d63ec39b719304c32722c9999b540ab40abe0216318900b7412970df99dfb36d1516a9517cae0c77d1bdc SHA512 ca97913ce202d73266cf55947b868bea7e964a4516b6a096a81aeab6a60ee73867171032ced35e3afccff741ddfb2def7468343b6eceb95253e4d4f349efbf96 +DIST windows_x86_64_gnu-0.52.6.crate 836363 BLAKE2B e2335829155cdbd4a55cc9f9babc237e14e32aab97f6f91afabcdf80d2aee37d6fb4b8669aaf433ff532c85dba59b3d366c7d41b61a2f29b96f960169c900687 SHA512 c4086bb0280042f2bef9b556283b67f8a5cacddd209e1c5fabec63decec6d4fd2d6a7071407973981b98ae0c0cf7034fc612f9e70dc6d3eed9acdec771ae31cb +DIST windows_x86_64_gnullvm-0.52.6.crate 435707 BLAKE2B ab77dccd06328cdb00175f41cdbc120594050a9678b7f9820444391fb50aada3911a91ea00f3a6db2b4fa1820fd23bc9a007dfbe65ad41417c26ee1137ef9b96 SHA512 67681f5859e249c56b0183181811f6212cc7008d6471dad78aecc7ebe3d027686b19210b8aa9014c554410f69f913d21ce2aca928eea905eab779bea26464cbd +DIST windows_x86_64_msvc-0.52.6.crate 832564 BLAKE2B 8e9a3044654c6de99a9153e7cacd575474e7a8a3d883c67b02132af5d3fc99d03cd5f7a4dd666a3947451d11218e6acc6eb5e2526f012481106cc13453839719 SHA512 21944cd8e3a481b514509e73ae3f62722fe7ed380d37ea0c25f8fbdeba79174dd52ff65d898838da5df4197894b74e00f45d47489418e978753b4e55c7e623e7 +DIST zerocopy-0.7.35.crate 152645 BLAKE2B 8f13123c9d9257ac5a5c6954d38c3510fa658624442f7e03cdcc6db5a0977d9f26bb4e277be172b7872ec365cf6e58ac742e5578636f7698f9f37093e9249d9a SHA512 17fcb31c029ae89c01e5bae5fb2bb46bd434120199a3dc2c7fe0012dbbcfe2a0bb38934c4a7d3a4920e3fe47c097403beee554fefa54b66cb390f8b1de638d3c +DIST zerocopy-derive-0.7.35.crate 37829 BLAKE2B badeb7fa5e0bfe93a6788d93fd297604ed31de526b121549300ead3c49d450f49265f499e2e7ce606dcce2b59dd01f7fa817b8fbb3f237475185c5b42f5299c4 SHA512 dbe23573b62a6267d7bc8c744320b75b2fbda03b908c1d175211f7394374fe182bce58021e25485c10671d726b2007f250565dfe53134d51c89293bb607e9feb +DIST zeroize-1.8.1.crate 20029 BLAKE2B 092eba034cd35ec47290020e0c2b213177ff5dbe14ab9e7f0b4ef3cb1ecbc42fbec2b951414e26ab00bc65aaddc2c93eddd5a1963b27c6cd613ac71c65d5cc24 SHA512 dd40ebe98b98fd742608d4066b5ab66caba94b2e679428fcaff9fe547d8cd6ff2360dc85d671ee9183e32fb79cb554d00d6aef9eb8f3d8ad0ec92d0435aa4ebe DIST zstd-0.9.2+zstd.1.5.1.crate 27538 BLAKE2B 72b8e30910f3221dfb0a13861f30c75cab701ae481120a20bff68e7d150a00bd07868b030c52493d076b30d68ddf2a9c2fcb1a084dfd0ee15ea1da8afa3ed7d3 SHA512 44bbcf78aa75ba77c797bcff5fe738c97ab444fbecceaf302a2f40ca74761bfa13d2a74bbeffa0d8822688eeabdbfb77cbf835a7b4854aef3b5aedc7f4cea571 DIST zstd-safe-4.1.3+zstd.1.5.1.crate 16677 BLAKE2B 0c5d74997bf72eb3bc47a314b07a90327cee7ce24a31f22eecf1cd9ab93cd8366359c7647e4f371a94f8932a0e08a05eea6b588fedc9a44226bbd5a7b03fc266 SHA512 e8387d866bd9cd2a4063780b36ec8b45a2c47a2103a1107ae045b17302dcd507d6740fb3681c0fdc786918fbae33b5b68e639308505de31b04b25ac43ba3b594 DIST zstd-sys-1.6.2+zstd.1.5.1.crate 718776 BLAKE2B 6f59f1ee4b886beb6d72872bc557ee90d4da4d97b5834b028b55ff2d0566da72a49a589fdfd1a84146793342249120420253e15998deb22f34eab3159f76fa96 SHA512 25b28da7cd4465be2ff909cc30c879db4c0fe3e91c1faa8e2e7d9483f8439286123570f09bfa5aea1754a4473aa6f6851180b000df2094b6b56aec9b3b5d6d30 diff --git a/dev-util/elfshaker/elfshaker-0.9.0_p20230918.ebuild b/dev-util/elfshaker/elfshaker-0.9.0_p20230918.ebuild deleted file mode 100644 index 9a2fcdfb2d8c..000000000000 --- a/dev-util/elfshaker/elfshaker-0.9.0_p20230918.ebuild +++ /dev/null @@ -1,137 +0,0 @@ -# Copyright 2023-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -# Autogenerated by pycargoebuild 0.10 - -EAPI=8 - -CRATES=" - adler@1.0.2 - ahash@0.7.6 - android_system_properties@0.1.5 - ansi_term@0.12.1 - atty@0.2.14 - autocfg@1.1.0 - base64@0.13.1 - bitflags@1.3.2 - bumpalo@3.12.0 - byteorder@1.4.3 - cc@1.0.78 - cfg-if@1.0.0 - chrono@0.4.23 - clap@2.34.0 - codespan-reporting@0.11.1 - core-foundation-sys@0.8.3 - crc32fast@1.3.2 - crossbeam-utils@0.8.14 - cxx-build@1.0.88 - cxx@1.0.88 - cxxbridge-flags@1.0.88 - cxxbridge-macro@1.0.88 - flate2@1.0.25 - form_urlencoded@1.1.0 - fs2@0.4.3 - fuchsia-cprng@0.1.1 - gcc@0.3.55 - getrandom@0.2.8 - hashbrown@0.12.3 - hermit-abi@0.1.19 - hermit-abi@0.2.6 - hex@0.4.3 - iana-time-zone-haiku@0.1.1 - iana-time-zone@0.1.53 - idna@0.3.0 - jobserver@0.1.25 - js-sys@0.3.60 - lazy_static@1.4.0 - libc@0.2.139 - link-cplusplus@1.0.8 - log@0.4.17 - miniz_oxide@0.6.2 - num-integer@0.1.45 - num-traits@0.2.15 - num_cpus@1.15.0 - once_cell@1.17.0 - paste@1.0.11 - percent-encoding@2.2.0 - ppv-lite86@0.2.17 - proc-macro2@1.0.50 - quote@1.0.23 - rand@0.3.23 - rand@0.4.6 - rand@0.8.5 - rand_chacha@0.3.1 - rand_core@0.3.1 - rand_core@0.4.2 - rand_core@0.6.4 - rdrand@0.4.0 - ring@0.16.20 - rmp-serde@0.15.5 - rmp@0.8.11 - rust-crypto@0.2.36 - rustc-serialize@0.3.25 - rustls@0.20.8 - same-file@1.0.6 - scratch@1.0.3 - sct@0.7.0 - serde@1.0.152 - serde_derive@1.0.152 - spin@0.5.2 - strsim@0.8.0 - syn@1.0.107 - termcolor@1.2.0 - textwrap@0.11.0 - time@0.1.45 - tinyvec@1.6.0 - tinyvec_macros@0.1.0 - unicode-bidi@0.3.10 - unicode-ident@1.0.6 - unicode-normalization@0.1.22 - unicode-width@0.1.10 - untrusted@0.7.1 - ureq@2.6.2 - url@2.3.1 - vec_map@0.8.2 - version_check@0.9.4 - walkdir@2.3.2 - wasi@0.10.0+wasi-snapshot-preview1 - wasi@0.11.0+wasi-snapshot-preview1 - wasm-bindgen-backend@0.2.83 - wasm-bindgen-macro-support@0.2.83 - wasm-bindgen-macro@0.2.83 - wasm-bindgen-shared@0.2.83 - wasm-bindgen@0.2.83 - web-sys@0.3.60 - webpki-roots@0.22.6 - webpki@0.22.0 - winapi-i686-pc-windows-gnu@0.4.0 - winapi-util@0.1.5 - winapi-x86_64-pc-windows-gnu@0.4.0 - winapi@0.3.9 - zstd-safe@4.1.3+zstd.1.5.1 - zstd-sys@1.6.2+zstd.1.5.1 - zstd@0.9.2+zstd.1.5.1 -" - -inherit cargo - -ELFSHAKER_COMMIT="9b65a536ed25d698311b7298332900c54967aa97" -DESCRIPTION="Stores binary objects efficiently" -HOMEPAGE="https://github.com/elfshaker/elfshaker" -SRC_URI=" - https://github.com/elfshaker/elfshaker/archive/${ELFSHAKER_COMMIT}.tar.gz -> ${P}.tar.gz - ${CARGO_CRATE_URIS} -" -S="${WORKDIR}"/${PN}-${ELFSHAKER_COMMIT} - -LICENSE="Apache-2.0" -# Dependent crate licenses -LICENSE+=" Apache-2.0 ISC MIT MPL-2.0 Unicode-DFS-2016" -SLOT="0" -KEYWORDS="~amd64" - -QA_FLAGS_IGNORED="usr/bin/elfshaker" - -PATCHES=( - "${FILESDIR}"/elfshaker-0.9.0_p20230918-update-rustc-serialize.patch -) diff --git a/dev-util/elfshaker/elfshaker-0.9.0_p20240122.ebuild b/dev-util/elfshaker/elfshaker-0.9.0_p20240122.ebuild deleted file mode 100644 index 4cbd38452777..000000000000 --- a/dev-util/elfshaker/elfshaker-0.9.0_p20240122.ebuild +++ /dev/null @@ -1,137 +0,0 @@ -# Copyright 2023-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -# Autogenerated by pycargoebuild 0.10 - -EAPI=8 - -CRATES=" - adler@1.0.2 - ahash@0.7.6 - android_system_properties@0.1.5 - ansi_term@0.12.1 - atty@0.2.14 - autocfg@1.1.0 - base64@0.13.1 - bitflags@1.3.2 - bumpalo@3.12.0 - byteorder@1.4.3 - cc@1.0.78 - cfg-if@1.0.0 - chrono@0.4.23 - clap@2.34.0 - codespan-reporting@0.11.1 - core-foundation-sys@0.8.3 - crc32fast@1.3.2 - crossbeam-utils@0.8.14 - cxx-build@1.0.88 - cxx@1.0.88 - cxxbridge-flags@1.0.88 - cxxbridge-macro@1.0.88 - flate2@1.0.25 - form_urlencoded@1.1.0 - fs2@0.4.3 - fuchsia-cprng@0.1.1 - gcc@0.3.55 - getrandom@0.2.8 - hashbrown@0.12.3 - hermit-abi@0.1.19 - hermit-abi@0.2.6 - hex@0.4.3 - iana-time-zone-haiku@0.1.1 - iana-time-zone@0.1.53 - idna@0.3.0 - jobserver@0.1.25 - js-sys@0.3.60 - lazy_static@1.4.0 - libc@0.2.139 - link-cplusplus@1.0.8 - log@0.4.17 - miniz_oxide@0.6.2 - num-integer@0.1.45 - num-traits@0.2.15 - num_cpus@1.15.0 - once_cell@1.17.0 - paste@1.0.11 - percent-encoding@2.2.0 - ppv-lite86@0.2.17 - proc-macro2@1.0.50 - quote@1.0.23 - rand@0.3.23 - rand@0.4.6 - rand@0.8.5 - rand_chacha@0.3.1 - rand_core@0.3.1 - rand_core@0.4.2 - rand_core@0.6.4 - rdrand@0.4.0 - ring@0.16.20 - rmp-serde@0.15.5 - rmp@0.8.11 - rust-crypto@0.2.36 - rustc-serialize@0.3.25 - rustls@0.20.8 - same-file@1.0.6 - scratch@1.0.3 - sct@0.7.0 - serde@1.0.152 - serde_derive@1.0.152 - spin@0.5.2 - strsim@0.8.0 - syn@1.0.107 - termcolor@1.2.0 - textwrap@0.11.0 - time@0.1.45 - tinyvec@1.6.0 - tinyvec_macros@0.1.0 - unicode-bidi@0.3.10 - unicode-ident@1.0.6 - unicode-normalization@0.1.22 - unicode-width@0.1.10 - untrusted@0.7.1 - ureq@2.6.2 - url@2.3.1 - vec_map@0.8.2 - version_check@0.9.4 - walkdir@2.3.2 - wasi@0.10.0+wasi-snapshot-preview1 - wasi@0.11.0+wasi-snapshot-preview1 - wasm-bindgen-backend@0.2.83 - wasm-bindgen-macro-support@0.2.83 - wasm-bindgen-macro@0.2.83 - wasm-bindgen-shared@0.2.83 - wasm-bindgen@0.2.83 - web-sys@0.3.60 - webpki-roots@0.22.6 - webpki@0.22.0 - winapi-i686-pc-windows-gnu@0.4.0 - winapi-util@0.1.5 - winapi-x86_64-pc-windows-gnu@0.4.0 - winapi@0.3.9 - zstd-safe@4.1.3+zstd.1.5.1 - zstd-sys@1.6.2+zstd.1.5.1 - zstd@0.9.2+zstd.1.5.1 -" - -inherit cargo - -ELFSHAKER_COMMIT="bf7097efb1e645f74f2c820741ad791f38cff38c" -DESCRIPTION="Stores binary objects efficiently" -HOMEPAGE="https://github.com/elfshaker/elfshaker" -SRC_URI=" - https://github.com/elfshaker/elfshaker/archive/${ELFSHAKER_COMMIT}.tar.gz -> ${P}.tar.gz - ${CARGO_CRATE_URIS} -" -S="${WORKDIR}"/${PN}-${ELFSHAKER_COMMIT} - -LICENSE="Apache-2.0" -# Dependent crate licenses -LICENSE+=" Apache-2.0 ISC MIT MPL-2.0 Unicode-DFS-2016" -SLOT="0" -KEYWORDS="~amd64" - -QA_FLAGS_IGNORED="usr/bin/elfshaker" - -PATCHES=( - "${FILESDIR}"/elfshaker-0.9.0_p20230918-update-rustc-serialize.patch -) diff --git a/dev-util/elfshaker/elfshaker-0.9.0_p20240914.ebuild b/dev-util/elfshaker/elfshaker-0.9.0_p20240914.ebuild new file mode 100644 index 000000000000..342836a7df7a --- /dev/null +++ b/dev-util/elfshaker/elfshaker-0.9.0_p20240914.ebuild @@ -0,0 +1,141 @@ +# Copyright 2023-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +# Autogenerated by pycargoebuild 0.10 + +EAPI=8 + +CRATES=" + adler2@2.0.0 + ahash@0.7.8 + android-tzdata@0.1.1 + android_system_properties@0.1.5 + ansi_term@0.12.1 + atty@0.2.14 + autocfg@1.3.0 + base64@0.22.1 + bitflags@1.3.2 + bumpalo@3.16.0 + byteorder@1.5.0 + cc@1.1.18 + cfg-if@1.0.0 + chrono@0.4.38 + clap@2.34.0 + core-foundation-sys@0.8.7 + crc32fast@1.4.2 + crossbeam-utils@0.8.20 + flate2@1.0.33 + form_urlencoded@1.2.1 + fs2@0.4.3 + fuchsia-cprng@0.1.1 + gcc@0.3.55 + getrandom@0.2.15 + hashbrown@0.12.3 + hermit-abi@0.1.19 + hermit-abi@0.3.9 + hex@0.4.3 + iana-time-zone-haiku@0.1.2 + iana-time-zone@0.1.60 + idna@0.5.0 + jobserver@0.1.32 + js-sys@0.3.70 + lazy_static@1.5.0 + libc@0.2.158 + log@0.4.22 + miniz_oxide@0.8.0 + num-traits@0.2.19 + num_cpus@1.16.0 + once_cell@1.19.0 + paste@1.0.15 + percent-encoding@2.3.1 + ppv-lite86@0.2.20 + proc-macro2@1.0.86 + quote@1.0.37 + rand@0.3.23 + rand@0.4.6 + rand@0.8.5 + rand_chacha@0.3.1 + rand_core@0.3.1 + rand_core@0.4.2 + rand_core@0.6.4 + rdrand@0.4.0 + ring@0.17.8 + rmp-serde@0.15.5 + rmp@0.8.14 + rust-crypto@0.2.36 + rustc-serialize@0.3.25 + rustls-pki-types@1.8.0 + rustls-webpki@0.102.8 + rustls@0.23.13 + same-file@1.0.6 + serde@1.0.210 + serde_derive@1.0.210 + shlex@1.3.0 + spin@0.9.8 + strsim@0.8.0 + subtle@2.6.1 + syn@2.0.77 + textwrap@0.11.0 + time@0.1.45 + tinyvec@1.8.0 + tinyvec_macros@0.1.1 + unicode-bidi@0.3.15 + unicode-ident@1.0.13 + unicode-normalization@0.1.23 + unicode-width@0.1.13 + untrusted@0.9.0 + ureq@2.10.1 + url@2.5.2 + vec_map@0.8.2 + version_check@0.9.5 + walkdir@2.5.0 + wasi@0.10.0+wasi-snapshot-preview1 + wasi@0.11.0+wasi-snapshot-preview1 + wasm-bindgen-backend@0.2.93 + wasm-bindgen-macro-support@0.2.93 + wasm-bindgen-macro@0.2.93 + wasm-bindgen-shared@0.2.93 + wasm-bindgen@0.2.93 + webpki-roots@0.26.5 + winapi-i686-pc-windows-gnu@0.4.0 + winapi-util@0.1.9 + winapi-x86_64-pc-windows-gnu@0.4.0 + winapi@0.3.9 + windows-core@0.52.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 + zerocopy-derive@0.7.35 + zerocopy@0.7.35 + zeroize@1.8.1 + zstd-safe@4.1.3+zstd.1.5.1 + zstd-sys@1.6.2+zstd.1.5.1 + zstd@0.9.2+zstd.1.5.1 +" + +inherit cargo + +ELFSHAKER_COMMIT="244b4cf57cd6fbfb8b615cc53df53d9d3dddfc9f" +DESCRIPTION="Stores binary objects efficiently" +HOMEPAGE="https://github.com/elfshaker/elfshaker" +SRC_URI=" + https://github.com/elfshaker/elfshaker/archive/${ELFSHAKER_COMMIT}.tar.gz -> ${P}.tar.gz + ${CARGO_CRATE_URIS} +" +S="${WORKDIR}"/${PN}-${ELFSHAKER_COMMIT} + +LICENSE="Apache-2.0" +# Dependent crate licenses +LICENSE+=" Apache-2.0 ISC MIT MPL-2.0 Unicode-DFS-2016" +SLOT="0" +KEYWORDS="~amd64" + +QA_FLAGS_IGNORED="usr/bin/elfshaker" diff --git a/dev-util/elfshaker/files/elfshaker-0.9.0_p20230918-update-rustc-serialize.patch b/dev-util/elfshaker/files/elfshaker-0.9.0_p20230918-update-rustc-serialize.patch deleted file mode 100644 index 619fcf9c2bf1..000000000000 --- a/dev-util/elfshaker/files/elfshaker-0.9.0_p20230918-update-rustc-serialize.patch +++ /dev/null @@ -1,16 +0,0 @@ -https://github.com/elfshaker/elfshaker/issues/129 -https://bugs.gentoo.org/926668 ---- a/Cargo.lock -+++ b/Cargo.lock -@@ -601,9 +601,9 @@ dependencies = [ - - [[package]] - name = "rustc-serialize" --version = "0.3.24" -+version = "0.3.25" - source = "registry+https://github.com/rust-lang/crates.io-index" --checksum = "dcf128d1287d2ea9d80910b5f1120d0b8eede3fbf1abe91c40d39ea7d51e6fda" -+checksum = "fe834bc780604f4674073badbad26d7219cadfb4a2275802db12cbae17498401" - - [[package]] - name = "rustls" diff --git a/dev-util/git-delta/git-delta-0.16.5.ebuild b/dev-util/git-delta/git-delta-0.16.5-r1.ebuild index 01d36f11f583..f6ccb8ad33b0 100644 --- a/dev-util/git-delta/git-delta-0.16.5.ebuild +++ b/dev-util/git-delta/git-delta-0.16.5-r1.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2023 Gentoo Authors +# Copyright 1999-2024 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 @@ -202,7 +202,9 @@ LICENSE+=" Apache-2.0 CC0-1.0 LGPL-3+ MIT Unicode-DFS-2016" SLOT="0" KEYWORDS="amd64 ~arm ~arm64 ~ppc64 ~riscv" -BDEPEND="virtual/pkgconfig" +BDEPEND=" + virtual/pkgconfig +" DEPEND=" dev-libs/libgit2:= dev-libs/oniguruma:= diff --git a/dev-util/git-delta/git-delta-0.17.0.ebuild b/dev-util/git-delta/git-delta-0.17.0-r1.ebuild index 9b0a9265a036..a47d6743c72d 100644 --- a/dev-util/git-delta/git-delta-0.17.0.ebuild +++ b/dev-util/git-delta/git-delta-0.17.0-r1.ebuild @@ -217,7 +217,9 @@ LICENSE+=" Apache-2.0 BSD LGPL-3+ MIT MPL-2.0 Unicode-DFS-2016" SLOT="0" KEYWORDS="amd64 ~arm ~arm64 ~ppc64 ~riscv" -BDEPEND="virtual/pkgconfig" +BDEPEND=" + virtual/pkgconfig +" DEPEND=" dev-libs/libgit2:0/1.7 dev-libs/oniguruma:= @@ -234,6 +236,7 @@ pkg_setup() { export LIBGIT2_NO_VENDOR=1 export PKG_CONFIG_ALLOW_CROSS=1 export RUSTONIG_SYSTEM_LIBONIG=1 + rust_pkg_setup } src_install() { diff --git a/dev-util/git-delta/git-delta-0.18.1.ebuild b/dev-util/git-delta/git-delta-0.18.1-r1.ebuild index 7d869731add4..37e91fd246ef 100644 --- a/dev-util/git-delta/git-delta-0.18.1.ebuild +++ b/dev-util/git-delta/git-delta-0.18.1-r1.ebuild @@ -238,7 +238,9 @@ LICENSE+=" Apache-2.0 BSD LGPL-3+ MIT MPL-2.0 Unicode-DFS-2016" SLOT="0" KEYWORDS="amd64 ~arm ~arm64 ~ppc64 ~riscv" -BDEPEND="virtual/pkgconfig" +BDEPEND=" + virtual/pkgconfig +" # dev-libs/libgit2:0/1.7 DEPEND=" dev-libs/oniguruma:= @@ -256,6 +258,7 @@ pkg_setup() { #export LIBGIT2_NO_VENDOR=1 export PKG_CONFIG_ALLOW_CROSS=1 export RUSTONIG_SYSTEM_LIBONIG=1 + rust_pkg_setup } src_install() { diff --git a/dev-util/git-delta/git-delta-0.18.2.ebuild b/dev-util/git-delta/git-delta-0.18.2-r1.ebuild index 5ac0636674e9..50d0e15aaab2 100644 --- a/dev-util/git-delta/git-delta-0.18.2.ebuild +++ b/dev-util/git-delta/git-delta-0.18.2-r1.ebuild @@ -238,7 +238,9 @@ LICENSE+=" Apache-2.0 BSD LGPL-3+ MIT MPL-2.0 Unicode-DFS-2016" SLOT="0" KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~riscv" -BDEPEND="virtual/pkgconfig" +BDEPEND=" + virtual/pkgconfig +" # dev-libs/libgit2:0/1.7 DEPEND=" dev-libs/oniguruma:= @@ -256,6 +258,7 @@ pkg_setup() { #export LIBGIT2_NO_VENDOR=1 export PKG_CONFIG_ALLOW_CROSS=1 export RUSTONIG_SYSTEM_LIBONIG=1 + rust_pkg_setup } src_install() { diff --git a/dev-util/gnome-builder/gnome-builder-44.2-r1.ebuild b/dev-util/gnome-builder/gnome-builder-44.2-r1.ebuild index 03de6261d441..ddbfa22cb95c 100644 --- a/dev-util/gnome-builder/gnome-builder-44.2-r1.ebuild +++ b/dev-util/gnome-builder/gnome-builder-44.2-r1.ebuild @@ -114,7 +114,7 @@ that are currently available with packages include: autocompletion support. * dev-debug/valgrind for integration with valgrind. * dev-build/meson for integration with the Meson build system. -* virtual/rust for integration with the Rust Cargo build system. +* dev-lang/rust{,-bin} for integration with the Rust Cargo build system. * dev-build/cmake for integration with the CMake build system. * net-libs/nodejs[npm] for integration with the NPM package system. ' @@ -272,7 +272,7 @@ pkg_postinst() { readme.gentoo_print_elog optfeature_header "Language support" - optfeature "Rust's Cargo build system" virtual/rust + optfeature "Rust's Cargo build system" dev-lang/rust dev-lang/rust-bin optfeature "CMake" dev-build/cmake optfeature "Java Maven build system" dev-java/maven-bin optfeature "Meson Build system" dev-build/meson diff --git a/dev-util/maturin/maturin-1.7.4.ebuild b/dev-util/maturin/maturin-1.7.4-r1.ebuild index df02c5f7c88d..6a734528a1e6 100644 --- a/dev-util/maturin/maturin-1.7.4.ebuild +++ b/dev-util/maturin/maturin-1.7.4-r1.ebuild @@ -436,6 +436,8 @@ CRATES_TEST=" " DISTUTILS_USE_PEP517=setuptools PYTHON_COMPAT=( pypy3 python3_{10..13} ) +RUST_MIN_VER="1.74.0" + inherit cargo distutils-r1 flag-o-matic shell-completion toolchain-funcs DESCRIPTION="Build and publish crates with pyo3, rust-cpython and cffi bindings" @@ -462,7 +464,6 @@ RDEPEND="$(python_gen_cond_dep 'dev-python/tomli[${PYTHON_USEDEP}]' 3.10)" DEPEND="ssl? ( dev-libs/openssl:= )" BDEPEND=" virtual/pkgconfig - >=virtual/rust-1.74 doc? ( app-text/mdbook ) test? ( ${RDEPEND} diff --git a/dev-util/pkgcruft/pkgcruft-0.0.2.ebuild b/dev-util/pkgcruft/pkgcruft-0.0.1-r1.ebuild index a14a39afdc5c..c4eb2eda15b1 100644 --- a/dev-util/pkgcruft/pkgcruft-0.0.2.ebuild +++ b/dev-util/pkgcruft/pkgcruft-0.0.1-r1.ebuild @@ -4,6 +4,7 @@ EAPI=8 CRATES=" " + inherit cargo edo toolchain-funcs DESCRIPTION="QA library and tools based on pkgcraft" @@ -32,7 +33,6 @@ RESTRICT="!test? ( test )" # clang needed for bindgen BDEPEND+=" sys-devel/clang - >=virtual/rust-1.76 test? ( dev-util/cargo-nextest ) " @@ -55,5 +55,5 @@ src_compile() { } src_test() { - edo cargo nextest run $(usev !debug '--release') --color always --all-features --tests + edo ${CARGO} nextest run $(usev !debug '--release') --color always --all-features --tests } diff --git a/dev-util/pkgcruft/pkgcruft-0.0.3.ebuild b/dev-util/pkgcruft/pkgcruft-0.0.2-r1.ebuild index a14a39afdc5c..7863fdc15c04 100644 --- a/dev-util/pkgcruft/pkgcruft-0.0.3.ebuild +++ b/dev-util/pkgcruft/pkgcruft-0.0.2-r1.ebuild @@ -4,6 +4,8 @@ EAPI=8 CRATES=" " +RUST_MIN_VER="1.76.0" + inherit cargo edo toolchain-funcs DESCRIPTION="QA library and tools based on pkgcraft" @@ -32,7 +34,6 @@ RESTRICT="!test? ( test )" # clang needed for bindgen BDEPEND+=" sys-devel/clang - >=virtual/rust-1.76 test? ( dev-util/cargo-nextest ) " @@ -55,5 +56,5 @@ src_compile() { } src_test() { - edo cargo nextest run $(usev !debug '--release') --color always --all-features --tests + edo ${CARGO} nextest run $(usev !debug '--release') --color always --all-features --tests } diff --git a/dev-util/pkgcruft/pkgcruft-0.0.1.ebuild b/dev-util/pkgcruft/pkgcruft-0.0.3-r1.ebuild index c2c6182cc283..79a063178dbe 100644 --- a/dev-util/pkgcruft/pkgcruft-0.0.1.ebuild +++ b/dev-util/pkgcruft/pkgcruft-0.0.3-r1.ebuild @@ -4,6 +4,8 @@ EAPI=8 CRATES=" " +RUST_MIN_VER="1.76.0" + inherit cargo edo toolchain-funcs DESCRIPTION="QA library and tools based on pkgcraft" @@ -32,7 +34,6 @@ RESTRICT="!test? ( test )" # clang needed for bindgen BDEPEND+=" sys-devel/clang - >=virtual/rust-1.71 test? ( dev-util/cargo-nextest ) " diff --git a/dev-util/pkgcruft/pkgcruft-9999.ebuild b/dev-util/pkgcruft/pkgcruft-9999.ebuild index a14a39afdc5c..79a063178dbe 100644 --- a/dev-util/pkgcruft/pkgcruft-9999.ebuild +++ b/dev-util/pkgcruft/pkgcruft-9999.ebuild @@ -4,6 +4,8 @@ EAPI=8 CRATES=" " +RUST_MIN_VER="1.76.0" + inherit cargo edo toolchain-funcs DESCRIPTION="QA library and tools based on pkgcraft" @@ -32,7 +34,6 @@ RESTRICT="!test? ( test )" # clang needed for bindgen BDEPEND+=" sys-devel/clang - >=virtual/rust-1.76 test? ( dev-util/cargo-nextest ) " diff --git a/dev-util/py-spy/Manifest b/dev-util/py-spy/Manifest index 8c3da92a5695..5607d7030ff5 100644 --- a/dev-util/py-spy/Manifest +++ b/dev-util/py-spy/Manifest @@ -1,141 +1,196 @@ -DIST addr2line-0.18.0.crate 33075 BLAKE2B b5d8b05b6b0487d9bb6b10be3ec67844a701d311b909a8c23e9fbce38b5502dda463b1350ecb6d8d5a855b22655fbb8dd4b6d0bb22d09c4edb3a2a7b60228456 SHA512 6948d768e86151c436e49b42485c0cda6ae2e1b832b14bf4327b2839758c5c592b432dc08bebd97591d744a419ae7da132cfa1e2becf8a98778534ed05d73b3c -DIST adler-1.0.2.crate 12778 BLAKE2B a1dc17786adae945ac09d3525e609ed944e6465690787bbb831a1b9d53793cba1989793d0a5606d5d23ee20d36457923d451b1b3530c9ec7072a487aa3e55bbd SHA512 7ab190d31890fc05b0b55d8e2c6527a505e06793d5496be0b3831e0513412f9ba97f8148f6f68ed0770fa9cd980a5092d885e058becf1d5506b7c74b82674aa1 -DIST ahash-0.7.6.crate 38030 BLAKE2B aca3661477fcd7822d6d10970151e05c28e1615f8cd7ddaac064b15102027e404b19b0f3f16dd76145048594ea1c22ae27dd08cc05c411efbae9ec7a1ef55ce9 SHA512 61354688b6fb096359faefb6f34be958cd2215d56b88c22c737d24183eaad433f811bc9e64f927e4852c87d2799c22fda82b55cfbef2ed6357ff74f0c4ffec68 -DIST aho-corasick-0.7.18.crate 112923 BLAKE2B 4f6947d1aacf89ccfab0592cdc55fa61ef09cea38231d3f758765dbce328a810c0b588be4ba96e81d64955379ee005722d22a7aec39caea6e72342245d7ca34f SHA512 7a23b16231a90d23ee60ad4c81bc225410599a4560d33d3a203138fc540c39cf1000100fed3aed40dcc371c3635656a3792545dca5dd1aefbde00d8774eebd00 -DIST ansi_term-0.12.1.crate 24838 BLAKE2B f636772c34e2d68cda7b8d3b2b86abda074585a62bd2654812ce92384244655a9197fa66e6939e19a674c0148ca605313d83de262bb18c2339a8a4eb4438a791 SHA512 b840e28b3e7700689a69a39659b1e066560078dd4a58326b91a028915819e7af883399ee53e920db68fd974c58d35bb1ddf8d427af5937d5f696f57c4376b671 -DIST anyhow-1.0.58.crate 43137 BLAKE2B 8e797dfab555d7076128851203ec1c6cb3c448bad52fe28c82b10518549971e6daaaca52d4a0dbb126549fd819706d6788e5322c6433ed71836c7f6051230b7a SHA512 78b21c51efd37e2be8f5672dc57f23ecd222d910604276da094754e06b86eb5a899d7ca7fb9f92566a13f70c116b05fed93d68a06320894d76a14a31e6c557b7 -DIST arrayvec-0.4.12.crate 26551 BLAKE2B 45514f09f0fd1fae7afb7dc812142ac8d88d1f4b81901db405c79dbeba2d29fea13ec22cb08a43433321931295a9f14456a300e814431b8fb14037d2f47529e9 SHA512 c03972056ab8fa30fc53fdc2bfc5e501f7644223998eccb73fdc2e737f7e25f4bb0e531f3eec38f7f3514760fb385fafd06c3d38531d13d92faf841820d4ed2b +DIST addr2line-0.24.2.crate 39015 BLAKE2B 57186d6b957542cd71a0aa19f1355dfaabe6efa19b853c42f306494728b03d1e3183efdb2d2c7734a3e2347cd83a985d004f50c097e06b7520bd152310532e9b SHA512 39cbec3c920ffc0f37584afb55e1cfe4f182e4415319a4e9bfe842360f102f7b9315f6171c0cf71ba0337123903e604096cd573fe98698a26c8eebc2376d965b +DIST adler2-2.0.0.crate 13529 BLAKE2B ec575b0bf12e321399ac3a1d59fce4ddbeabcc60cb3d7c2f362cce23eb29b4ea836451372d6d88552a4435ae29bb41d6230d55f625a4359eace680b9b771d0ad SHA512 12d12579ad617cf1a94cf95ab9d3f5db566c3b2de4bd5735eccd83c668fdad0eff134c996b73c46cbb9f932837682043878b8cc4764191625e9f93ccffcce423 +DIST ahash-0.8.11.crate 43607 BLAKE2B 7dff8e41798ba25df8c4827ff414a182bb25da4825f0119a74916fe775db5445b87be8fc87f7c7f98d3b5053e1d47546f98873de1a942d36e5f308a3fb7dd620 SHA512 47d211b2422de0b381dfe32229faa346406eb7a22dff867dc04c22389609a8671ce3218e662000c49891a06c259d82e0ff4413740f007729d80e097a6c3f0d9d +DIST aho-corasick-1.1.3.crate 183311 BLAKE2B 8dfcbba0b9d94e55eae739b16f5c6474baa43ee7854c5ca792f426a9f46fb0eece79cd493b804e51449181bcad338b96819fe977c02c9907654d713e26b9f830 SHA512 ba422a54688c4678fcf16e34fdf3ed06c333e6e3fc8b75af9272a215add494d43ebaef319021134b61327fd5d3572aec0dc655b714ffb3bc71ba3c265c9ebb69 +DIST android-tzdata-0.1.1.crate 7674 BLAKE2B 4385a4875aadaacd5284a9ca7d1bf8a7bf14bf8925d1563d52fbabacc3af2c1ea08bfcf77106f3648f4fa052ac295158a21e7a0131d31eb9aecd99ea4ba20055 SHA512 4294024c21ddd0090c42c8eedf708d40d917f55ad5a4cb7aa3e64cfb6551b6df60f2e36bc08620c1d2fc8c7ba7207411518ee5c8635f60ed8ad9efdd458a2077 +DIST android_system_properties-0.1.5.crate 5243 BLAKE2B 86f68ec3bdabf8c6ec47881d794970f08a9eefc7417fc8a2bf4fe9faf9bdd2a2024a94adb0cbf96673409f5fbbd4d0111a1ac371339e7a90a277b6cd5003524e SHA512 b09f51339f9772c0e2e4241b36cf51573c6b96b19ffc1fbbc94b1c1d1d2fdfe8eac3134af54174a675ab05d18ef4f6bcb2c7fcc20114bbeef6e17e3692202191 +DIST anstream-0.6.15.crate 29231 BLAKE2B cc4cf0f381c210fecc20b5796fe872b533419e5f957021b0c3be3cdc23fb84ce029fbef6f9b6f174a76ad713c07f0811145a70572de7c24cfab060fdd990f49a SHA512 1cb01a0293b4c9bcc010909707e71c464416d3ec6fc9789060b7aa9fe4cc04424fefa8013cc8765ccdae6dfd9a1c50a11f7b30b39a32c4aeaf525f28167ddb92 +DIST anstyle-1.0.8.crate 15771 BLAKE2B c039613e7de27cc990e5764810f9351754b160928a8954dc19041354cf9fef1422ed964237a5d39d16e4e9f8592ed52c523ccf36b0b5506f464d4f818f3332ff SHA512 3b867f73df0b2f69a0c7d5d6e62c7515045e053656afaa303e5aade8012e838cdf5d15d2c3d7c297db9e297d08ea69a9c8eed04b97922a83f56c58962c1c0b69 +DIST anstyle-parse-0.2.5.crate 22680 BLAKE2B 7473651b1eee08857a6ed1419d3d62ba4b9a9aa0d6657965ad9c67bddd793d825737d3804961716a89bdebed9879ac43b42c897cd229c6e7bd780859e1e3c247 SHA512 cd94ad0e88ad4547a660da1473bf4e6dfed805a066782124204143c7f754c12db719bd3a1774c299f1a035740bfc4830919da191bd14e0acede410f6dbd1e2ef +DIST anstyle-query-1.1.1.crate 9891 BLAKE2B c298114c1864a5233fb39c365e079a7f1f4ef23499dc330e5deb06f83f27bc727015befef79075c7e39952547f799b4135d7db287cf72dfc914191df784a4989 SHA512 1b2e888f025142a0d9b01314cf083831a2a45d8da737c1be3a6a9aa177e73e0d2ae7999fe7610dd450b7096115e8cf38c5da23723cebf1deaa7d3501d3dbd5ce +DIST anstyle-wincon-3.0.4.crate 12234 BLAKE2B 23294d6ed7715c55c8f796eb7b860450c57b22b57e32a5c75847f2e2bd68a52b33c24797db662aa5fd7e799b9644075c8c939d93b0cf8598b16ee80fc817b77f SHA512 24b3a9a44382609ad449425a657d4b42a792d4703c36e0953f09a03817759c266a2f0ff4ecc9e8b93ea8403df2badef1f1af6a6e50af56205176c41b13501ae6 +DIST anyhow-1.0.89.crate 47078 BLAKE2B fc824e72891bff0cc7aa3b538adfb9af7dc843ab6ed12b8b04eb70e62d32aae1decb9090621d3245dbe89841e73080d2d86973b4aee50873e798956da9b3faa6 SHA512 3c09317089ed78601a56c626700d12c0b49396e25fed9a9f05a2dbfbd6f91ad426c430633006a4043decd1f70a85c161c4f8dd7de0e4c00b82a169b89dda8da0 +DIST arrayvec-0.7.6.crate 31237 BLAKE2B b9d1df7e3ec47d434a2606fe9540e37e02351873b376a4e113b54461288e9ab20e02285eed5c4bc0f052ec4d6b3c804044413490ea706c31a852624b03bde7bb SHA512 b1f320746018a7f32340a833420089446ec5cefb7f299b4506eab7423d5db49f00b72d8aa8c6600f9159b9480d5eb3ce69407d93f5c9934147860c83e4d6eca8 DIST atty-0.2.14.crate 5470 BLAKE2B 2db856a9e898a430258f059aeaf7c844a153293e8856d90ac81f7d91a888c89198768ad5cb09303c23241fe85c560a55148fa56a303651a82b0edb895616bfab SHA512 d7b6c4b9a0f898d91ddbc41a5ee45bbf45d1d269508c8cc87ee3e3990500e41e0ec387afb1f3bc7db55bedac396dd86c6509f4bf9e5148d809c3802edcc5e1d9 -DIST autocfg-1.1.0.crate 13272 BLAKE2B 7724055c337d562103f191f4e36cab469e578f0c51cc24d33624dea155d108a07578703766341fd6a4cc1ef52acda406e7dba1650d59115f18261281e5b40203 SHA512 df972c09abbdc0b6cb6bb55b1e29c7fed706ece38a62613d9e275bac46a19574a7f96f0152cccb0239efea04ee90083a146b58b15307696c4c81878cd12de28f -DIST bindgen-0.59.2.crate 206267 BLAKE2B de66347fcf2d538879e49c85d2db80e86a70e27d3c84464b52a840476a31edae0cfa3e1afaba33ef0b7abadcb1e23a2fe1420e3254e0de1f6848b575a9c96620 SHA512 14c49879c7443191b877957a4fd405c7f10a1e8b70016d91bf5fe33861fc5d71982a1c685c190e4f7922cedb6c8aefadac3b0b68cbe5578da791a8da6bfedf44 +DIST autocfg-1.4.0.crate 17712 BLAKE2B 7f7300439899be03d001dd32b7e797bc4b9a58103081b6f7353c4b5897813cedf870b3fb1fa25d320a75326b334b44d8287e8603de34fc560d0b567143915cc6 SHA512 3b5e7c30bc73e105e4bfcab584c24fc4016db41fac9c356c6649fd841051704bbe8848e09546eb50d7c1f18ea8ce1cb72fbc268a620d5c609b3472114b5be73c +DIST bindgen-0.70.1.crate 226363 BLAKE2B 4c5b9d70d0aa95ec3dc4cc956b3b101043132054ef47017f1e7b51072dec1ad87885caaaa91ce5353f88332a6412c0377cf9490822357e78b5124ae9b3e9a6e5 SHA512 cf1c87ea7ab9ed4df953795f1aa77e6ae6d72e768de3b517300074501ce49db6a3def1f58b9d824b5727974cab84a48461e7d98086fc440dc73ad9cf173ad5ed DIST bitflags-1.3.2.crate 23021 BLAKE2B eb990bb27b2bdeb66fd7212ce582cb36e1c616debbac85df642d0c82b25439e6bf9b1e811fac76b59e58ea3c1bbea6170d03a61e8f9a395e4334a0e2e2987eda SHA512 3c698f757b5cc62f815f9a1cce365c3d2dd88e4db71f331dff8bba86c2865f755b81cb4c9bfc59bd86b7643b0943f9e09a7c4f8ad75eb2ab0e714803d0129f62 -DIST bytemuck-1.11.0.crate 37041 BLAKE2B 6b73ecde5bf10b1ac81ea97904285197dc550cbcac4649804c5c50cc32308a28064fd6f28bbcac44f2dd97d0719b7da4e15e981253612d54790802febf4bd732 SHA512 cb11396b35a3d783a1f44278b1372d51268089561e4e16c662dfb17cffb6645be4fd66e5532683bcc964451a65f4a9deeb72537d3d84da45491d4545f2c8435c -DIST cc-1.0.73.crate 57880 BLAKE2B be8d7a25a54afdd759844e76aec61526fc2bd5ca09480e6cdd3bdcf27e5f9d3a88dc16cbcbf54cd021470a7cc521e1ad468116c112bbd30752bac0d5486939ac SHA512 980f012b90c6410144f6de4995048337e09214f19603076db6d4edb88e9ef9ac9e8c6e25569f66c2be3a47e99298f5886dafc102e1a9122316179aa26bc1c985 +DIST bitflags-2.6.0.crate 45357 BLAKE2B 3a368bd2eb58c095b7b4a46680cc2d90a28e24b2e37c854bbf8647c861c4b8fb37eca827599673c5c7df763048149dd82123d1ede1f8a0e58a6bc23c8250f7e6 SHA512 f9bb3c48931ed7e7e05ec6d13305af5da6b6c18861ff307d7dc17c658f63972c87b70b0527287b3625c8592befc207cfe15550654995faf3862bb12a6d95bacf +DIST bumpalo-3.16.0.crate 85677 BLAKE2B 08da17b757931d2910e0299df53eb62731aa8c4ebd8915859b81d1982b331e7455dfac977c754e500a35ee07ba8eff00a61d2f62be99744e2ddbba06c1268f49 SHA512 a51b75c36f6794db444cab20eeb24f42a319080ecb486a56d254d6f873f3d188b5ccba11db30c068bd0c52c4322d4a3f5f5195c81c94b0bc04387030418835b1 +DIST bytemuck-1.19.0.crate 50363 BLAKE2B e3dc5d5285367a0e79976f4b96a5d1204c35ac33d822bc5d2e8bbb2d06d3e2c59ef63f1c1eefe12277cdce6c1730fafc0ba4583be193bf68f9a84d541ea7f55e SHA512 7f150a5b63a8aa2f59d1fae7cfc70d08a78a19ce4171352aeb3f252a5cae90f76b75d6517d6d6872d9b05254b16629b7fcffccc825d7813b40d95b4fcfb20174 +DIST byteorder-1.5.0.crate 23288 BLAKE2B 7f85a7948406844070a2c8202e0bd52f73b3dfc7c666a97046128044eb9352195afb80e2bf894c0742ad109e4473339de1365d09591de70dfec6c8c02a8e1453 SHA512 96caf981177f6ded9f27f025922cb94eb0cd9de5303bd91680099912d922092e77b7361efa70011e84f1595e443193e4f1b354443b9980c123f6ae573b236f7f +DIST cc-1.1.30.crate 84509 BLAKE2B 59d2fcc0d6bb9d7c97e4f27b49e88b3260f6b166804ac25f3b49eb368e6442193a36869d305554494357f206e3d1f70454a3b740e6b6a5b043c5cc0c82c0c57c SHA512 0a74e4753afd84883bec7a402fa6c3e80bee18f496fa0168fec96e1e468d2e873c54f2f536a013c83eceaf75b9fb6896810ffd0a738d9f94358fc5165d6f4394 DIST cexpr-0.6.0.crate 17966 BLAKE2B cb46f066eb1f4dbac00ec86dc3e562db7ee8ea5ff17d16a60004fa020405e455b8aeb3d001f669cb33d1b62525bfd04ec657ffca4ed44a83af4a5e75b2c820e3 SHA512 766bff7ca7f9bf0885aee6f014bcfc084e7fdfcd567a49443d5340acfe8f257db109de17b24588504fc35c53f2d4303e2d22da21f73669125cfca984950cf886 DIST cfg-if-1.0.0.crate 7934 BLAKE2B e99a5589c11d79d77a4537b34ce0a45d37b981c123b79b807cea836c89fc3926d693458893baca2882448d3d44e3f64e06141f6d916b748daa10b8cc1ae16d1b SHA512 0fb16a8882fd30e86b62c5143b1cb18ab564e84e75bd1f28fd12f24ffdc4a42e0d2e012a99abb606c12efe3c11061ff5bf8e24ab053e550ae083f7d90f6576ff -DIST chrono-0.4.19.crate 155663 BLAKE2B c92c273fb6475bbb2546dfb75eaa23321bc8f9a5fa8a7c652f527649b96ff8718fa932f52b500b02a4acae7837df5bdb14f69cb821d4962be2790dbd1d023a54 SHA512 a119349bfc2243a249f1d18b1ae548a04b30fecb75913a56f26d1ff8c0eb53097a2674d9141e2094018191cbbc1620843fbddaf52999824e077c1157f0907980 -DIST clang-sys-1.3.3.crate 37943 BLAKE2B 92ecba81573fc27de689752e7009514d0e51c4d09407d0345eee7a94f4713cfd01304b98370aa89d56a3b028912370f4967f8fda28ae9e3620fbb4af991da117 SHA512 fd922627ff66f9265aae30bf585bccab1efdea7f66b9fb95f45af0f316727bff7b791f36ef42010df5d8b3b474f36457fec03fdbb25c50cc8922c3b157387dc9 -DIST clap-2.34.0.crate 202210 BLAKE2B f383adf1d757ac4b68995132b33837686ce451f85a02a8d05d2c746da398510d05d46330f3efade063c3952aacb1754cdac73dd0afcae0df5340a89f9353aa1c SHA512 c648a761b9996a7e7464a538bb53621bae22090b846a42c3b729beca3363958ae67e3da9f93f58b10a10e043cadf7ff930388680d168646178c2824177832db8 -DIST clap-3.2.15.crate 213317 BLAKE2B 382e7effda5fad6d1edd4d6afc04cd35bb791e7fad0f2b24660073dfb2d2ddafc105b4a4d16265bcd21986a463e65170e12baac407cfee467839341f8fcb5f10 SHA512 0811a833f5ecc6ab1f29edfe2cdc42dd47a31f768bf04f6b51cf360122881a5eabf3886491f9ee6ef35492abad88d444e7ed75c08d6d360dd5ea4aea8312b62e -DIST clap_complete-3.2.3.crate 31481 BLAKE2B 1668b7b4d8a368b17d6fb2254a6db4228d1957ce5824a649b09bea1a9e303945ec3a4984541d494b32ecdd7037d6ad371866d531f600f3cab76e88db82d01c09 SHA512 52ac37202b088094414f8148d87cbb37de931c7514d43aef8fe8ce82406884bb8d2a287f03a6e4fda1db28a62e98decc46f6a8d007e5399317e7f2da07a45de1 -DIST clap_derive-3.2.15.crate 28218 BLAKE2B fab12b77b78edf58e3779c986d2c0b9f5e22a2c7d39ca5cfaf5210100a005a430157b4df19c726b68e3d55fd8ea825e4079fc01add760e43ba5903bf31e6cccc SHA512 75572a3215df81f6256fa520fdec95c2242a3ba17119e5b39292c8470195204322bb58b2b7b770622865e2345c1a4ebadf19bedf09f47b9958033d5506466d74 +DIST cfg_aliases-0.2.1.crate 6355 BLAKE2B a758d9c88527f0e6e7cfd6d4c83eda1bcb4d6e2438189fe08e8ecbcaa78d56afc5a4873f3b82bf7da96afd690b44cdf1e44466b6da0f37c358b340481017103e SHA512 74969d12d5d24002a29e08d52e30fbce014dd481a7c35ee0162e69333c5f2d7755f3b02439b31522e12444cf1ac8e65880ce33fe6778dac03757e362cbf8a72c +DIST chrono-0.4.38.crate 220559 BLAKE2B ab828bfeed56eb737a1797d5e1132cafe87a1e14bf7a1fe4a5098f50e6ceead50ca2e7f041cc2ff63d5f4e41e2853322f6c345bb31ff12a5b412e3e5202f5fea SHA512 858e47e3facebd5383e71898f26b27d92fe4a69027e2cc47da2af59975ead7767355e0b699f4228eabe76a3eff8b2519c7cecf8b60dc3fc60fbf9b28e2f3d4d9 +DIST clang-sys-1.8.1.crate 44009 BLAKE2B 9173de6dfbd3ef9d5d1fdc559700cd3a52f95cd77302063a97e8cf311a35825825e030b47f252c857853663ae8a16709e1f7bd0c608d67c2a74eb36ed588e778 SHA512 a68c426c20110fddb8bba07d6631517b0528fad45802e5a34a22561d7e6dad82dc5001387019a03f275e9a671b09ee0a06b6e86793c4fb4ec655700bb0f5e125 +DIST clap-3.2.25.crate 219403 BLAKE2B 75a8ee36c52e64cf0ac7ed5604d8a575c41c756a588bd418e6c1edccfb358350cdd831b4176f01b987fe7fa5901ca2bccee6b0f68ccba7dbe40baf85a5f3bdb4 SHA512 557c8932175d7ecd077b32b68904924e52dd46d04fd04ba36b3a9dfd7ab1dbe8c2128fecfd75d0388b21fca4aee55a941794181cc2910a4d4eb3c54e9c7e73ea +DIST clap-4.5.20.crate 56376 BLAKE2B 8efa9c3e171ef38c98a25c526f528629e7e72850c6ec27e7e89a212403ee90d7d005b00750769e4335423ecec1d86abb35c19b0bf7f2c063bc7c6a8bd59d6804 SHA512 e432a118a2ec15b273a404c3cb75bbe579b11034ba55def1823d4670c6553e3d8611074a24f50a0f4adc8bda184213b06106c44c68a19d267342c53e345351d4 +DIST clap_builder-4.5.20.crate 163812 BLAKE2B 689110f2e4f46e8c4c779b6c39cb5f5758c3a32ea5bbfa1faaa6642da7d650cac0827a3e5b503c5054a85e0e7dbf04e7c53d65991a45f3be90c75070cc9c200a SHA512 e914c8b6592f9d230b4f4290cf4b4d73d0160c12a1fa3976c74bad21ff16da532d6af792f0a33fa472166f1cd551291b5d1d71fe8b359040040418694ec52000 +DIST clap_complete-3.2.5.crate 31625 BLAKE2B c76baef63d773b81eb4d8d953da4a94769b618da45fb0f13fb9d6c6738b67ccdbd58ad2b5361bae99705fd2b7aadb520d6e7f4d258d872971e0e308a36900965 SHA512 c26d6c15a0ab44720cd7a5979dd4c66a9171082b99c04cda10fe4f6dd9a1405f8ca9022c344d03d7d2af7788bc28be033c9e2311f6879993901773176783f61e +DIST clap_derive-3.2.25.crate 28212 BLAKE2B 8782f6425ed46197c5e5293e2f06fd82b2d17ea3e89206580ef3c6853bed2e8c99ef2528a30276a8287215d7f5505a992dd43c59f26b2915757c8e2f20510843 SHA512 c98098bfedb8b681d72eaedb946d9867fd068d9be31137fe1fb5d821cd68afec48e7d2963adb2099aa760c702d5b75fb0ed45fc62b83d7f26edc8cecc03ea5d3 +DIST clap_derive-4.5.18.crate 30131 BLAKE2B ff962e52d8d8afcc9639365e27753c6c6943fd809ef89d9e555e8be5b2f13efa650bf1f9ae451f4c127c1529a0af1d892c3b02153b46deb912029b45983e01cb SHA512 035bb918bc7e9badd59341560f23e3a8a2e7cf945b6d8183f74052c4edfcbecf07c9ea6fce0ceef0b84c89a99d62b11760af39398897e4ee7dad0170a96cfefa DIST clap_lex-0.2.4.crate 9652 BLAKE2B 5120b508dedf52507068c0c369a45ddfbe0369e5c05b65bc5a78c422b2a4bf488f9ef1e0bed4e335450f2c08b80148eb5f7efed678039b5a94b5bd666385939f SHA512 6c05e5fd850befd45be9005af7252385f2304aa28a107413bbe329d97aea835f7acfd0bd169c99f69f466ab93d6e1c35d73a4e48343457a06fe2d6be5bedde0f -DIST console-0.15.1.crate 31674 BLAKE2B 4dedaa4c2bf5b533e4f1fb007d7fd1a2b7e37e901f09e1d8d43d0ca79c95eaecb1d238597b338a8da9a1de78efc4ed830a0e55e7e59f4066ff7494ecbb0d6eb6 SHA512 af00a4c8c7ffdd4e6f6c638b52dd4e829b90235b63256215ce04ffc9e3fec8384a032ca664fc4f00a912ce6b5db04990cdf7f60873fe657bf99e811525acc8c2 -DIST cpp_demangle-0.3.5.crate 75313 BLAKE2B efabaeafdd730bcd85d7e22fec3ec014c0f15f0ab7d7eb939c9abaad5edc51696d4cdf6551dc933e76596eb792cb214644bbc4fbc4ff373fcd37af8b18bd6a0b SHA512 ef59cba0cb54cd12232fcd96dc5734b5997ad6ecaf4e86d7f6cccf56c4c18a6cffaa1f6eca46a8889f5a0fb3ea1774495364b698cfd27caccf99fbbaa08d3378 -DIST crc32fast-1.3.2.crate 38661 BLAKE2B ce3762b03d24d5367d89738991c060f4b3af7840e0a7ac7fc17d01ed438caf964bbaefad0fc4d0c438dafa5a578429ddd353c71197f8b54b1ec441395f2f7ee0 SHA512 a683943e252afdb1b9d626a07533ed11cf7a63af603c19640056c5d2b9c884ad9aff33ac54c0853ffca2f6cf94b0730eae6c05abf3e53e55e709d180c8152357 -DIST crossbeam-channel-0.5.6.crate 90292 BLAKE2B 7da87ab15c384754d2493dd1a30e83550cd4b2b749b7f0c24de131f054e3a2e521e1bb4ba10094378c8f4c7bdf19218e35b10562c50b4ad1d2871bf6f821e488 SHA512 de6a42ffede95750a13e3b9af6ab26cbc498125860cd8e4d227c7361bd831e558254a48bdef5cf901585a915003071b0efa321f2011f282218c364780f62f44a -DIST crossbeam-utils-0.8.11.crate 40887 BLAKE2B 6cf3c4e28243515f06193ef746b18129f62832abde8153503571052f4965b38ce510b09d18e51e0f563bfc14818af13463d1e2d63716b98a91b55461f5186b25 SHA512 eeb19480ca1860953507606f6649756974f65a05883c695fa371ff6d80a9fd0b94872aad5168955b4771b38f50314364236cb39363bcafe9750b687ff92a5ed5 -DIST ctrlc-3.2.2.crate 12699 BLAKE2B 39d2e05a943280f3a62f3464bd77cad5f606ebf912c6430f4b49ec07a3cf2b1fb19ef5be5d589e931b9d79c5af882d51782b580d1a89a48bee221585c1212b1c SHA512 9536489c3b871685f20eabe7b8fa4a1a4db8e362e8e83b4b2fe244d98eb4da8f84737d26854505cbb53a311e6aab6327b0644689206a19dc5f7d3b88bac580d9 -DIST dashmap-5.3.4.crate 22826 BLAKE2B 65932f6ff7a60ae1eb309b8e75f31c4ec8beba09ccd2345b0c133237e3504833efa66d9f811aee123681034360112686c04dd47766537ffe300c0dd8ab86263b SHA512 95310bc2b9e4ab46acc056ed0be8e75bb6e27e6bdb2bf2e0917482cdc86e64e5fb9159307016895f25282771fe3a367731d0e2c68c6aa5435154945cda52b6df -DIST either-1.7.0.crate 15492 BLAKE2B 3ed1c5c27e7bd9453f83b82d3f57a4a73f965b1943a7a17d3de45ee35f62db53976ba9f2055ba28c555500cda528ff3a2d7ad6cd957540c91f512bd3adf9c5e6 SHA512 894bf3980def07848a2911734c02eb0c5c5d2ff3ab7656413d2acfd164d120a7c075e0a5f3fb95243b8bda0257a5f457117d5c6eafc146f3f6aaf6c6fbc4cf33 +DIST clap_lex-0.7.2.crate 12805 BLAKE2B 952bf3f3885ae7bedd0e8add236590da5fce72a7ccd88ebda063410aef337ce7ccdb5e5e929cb870bc993891610edc0197150a3aa82a62fadc4bbfd96324fcdf SHA512 a8726397e5372fca3389748efdfdbd016b6baedad5b4bd95f33e4e820d4f40e0b94c88b1918ded3678aecf23911028e2261837e73d58ba7fd6f091eb47267380 +DIST colorchoice-1.0.2.crate 7924 BLAKE2B a4027d5f870b4d9a718ac3f9d89ce04e2ed38406658c4a55ffaf39ed0cb1ce7e1c691eb56c66596b519ca82309e8ec7eebac65e69394cdd277f44f9b6280d560 SHA512 f34d5f66f84e90f473b6b9a62a61a59575e712d3e9b140324683f80af42d40c1d079701aa2ed651d0dd95a5ac8838e1f6f6c034e2adef79509d32357b8093117 +DIST console-0.15.8.crate 36364 BLAKE2B 467de2c2fbfe31688cea20b338558ae9671e50ba1fd07983d21f32d7eacb73e565ebdd6ec5e78b2ae04446f09615c70983c0ee534e25ca5a28fd1b408acfdf34 SHA512 b05e49ed145785e29631d481885788f0cc5574d4d7c4d90280dfedaee7f8c1515072c9c4cfe6bd2e017230cd228157222af7e7d41a9fce697cd1888095df4de9 +DIST core-foundation-sys-0.8.7.crate 37712 BLAKE2B 0e1dd99a5bbb0fe92f55181a37426f6e86445cb20e355f553b3162c88ccc075644461731a0cdcd93dcca65b6cef1de62b409afbd73ba3070a199ab8e7422dcfa SHA512 17492d5314db03abdb3b1998bf0c396ec8ed0f83bc978ae22d6026afdc86c50b58cbac073b3a0d97b92da7e98be11302faf1249d24313494bc058add4f4cb63a +DIST cpp_demangle-0.4.4.crate 79650 BLAKE2B b89175d834739b981be91fd480a8b4eab45a2d4a7264b60c73c0b114111a37d67acb5cb625bcaa46a4cc1bd9e17cb385426ceaba0fd4998446664e7a6b3888b4 SHA512 e51fe860f766e4413d51a8973e169d2d74f0a470b32f5494eb76a04ebe7f10b07dddff8d5251f96da39e897e89d9bfa5edcb392b578ee19ac1c06a748c228b19 +DIST crc32fast-1.4.2.crate 38491 BLAKE2B aaa3acca66e5814a45f12a90ae09f6ff5fc14ca94c8539184dab6ed928abc68cd1d37e539c268c1effd50ab3af20de6038593fb9c6bd6a664785dac52f6939fd SHA512 c7608d33022062e217d3576f536ffbd51479855a5e5874529c71db2bf6a937ce04d814c39cf777309c38445393bf43cb9996161947e28738abd432f11beb7266 +DIST crossbeam-channel-0.5.13.crate 91174 BLAKE2B 7a9aed6f4922c1d10e4ae12508a03dc7daca773adad6a317c4ea38e544d7c28c56a06623d958aec540fcaa86fa9051a1aaa2c859dadff72873f18f2f3a951449 SHA512 0f31223a7099f84e39e6b76b19cf26736e0c3907fffc2ed3eb0012c7984b1993570bf6d155eba5bfb82897ef0e4fc93b89096071410bbac256ca6be9a9568ff8 +DIST crossbeam-utils-0.8.20.crate 42487 BLAKE2B b50da06721cfbfff07825574feada8a28d3814edb218434288683eec31bddabe2ffbf7e5ef1281ee14a8a77c56db3b66f3c5ceabaea9c72317c1bd2cecda0c26 SHA512 7175eadf9fa7c526fa11ff87e40ff203f0e7a4bcec15cb972f924f3c7ff7cc20b6e2e8dbbc1ede142a0207cd2baa4f446deb25d825d28a54cbd25c263701bfaa +DIST ctrlc-3.4.5.crate 14592 BLAKE2B 189b026f4061b68848851dc694c71c6ecf87d6c6cdb4518a3aa215ac3d77739db43aa68e3c628e51dad99d7ad089ae6c66a6d03bd912ab9748a0793d09c2333b SHA512 3fca36deead46f3ca586f0a07ace804251d3c3e49a9a63e8c34546e2305d08158770304ebd0c9ad6ed499f811cbbee0b76ffee1858aae60852a61a19024db3e6 +DIST dashmap-6.1.0.crate 24828 BLAKE2B de8632e7e22132fb2464653cbf6d928d7f2abd8e7352a50e6fcbf6b522aaec67ab2a7618cdd34f0d48d0bdfbef026a1515d5ada98ac5b123fc7856246e392968 SHA512 03a727e41505e5e7068df8fb27fad6d348fc14f6b1609d7f606fba765fb92fec7fb42c6427bc11d057ad2ad52d1b44bcf5a802651765148941ba41fa75968cb0 +DIST either-1.13.0.crate 19169 BLAKE2B d6223c76421babf163a694aa513fe07adcf4cea329872c02f5af5956e89b2c353a899f5708e5a2924e5a92d871ba748490350ba30c17dcd78dd4379e229f6e11 SHA512 72e803079bae621d282136ab1e423ba71415bf12038b6f386f294cae68a67ad9ff16e4fdf4344eb3fee4418e853f9cac344c248f6befa3006d1c954668b36322 DIST encode_unicode-0.3.6.crate 45741 BLAKE2B e1e3792bc2bf9db7df33a516d0d755eef5eff1249aa9b2fd7f0dfcb155786c566fb619c9b2d73425a8625c8593988b117e9676c341f65e8795ddc838bf9881c4 SHA512 64193d6ac75f66d58ed864169b5d6228ede36dcf100614395e086bc8e847a3ddd287734d88e8ed50f38c679a99c80ec68449175a67d8ee03b02ec1cfa9d55e77 -DIST env_logger-0.9.0.crate 33573 BLAKE2B b9c22205ee60ba97da0d338e1d40dda989f0d766d9ebc60e610b53db882a803769fb3c093348c031183856e16a5a948342e09551953f0b98cd73437bec658bee SHA512 d7db85d2f7d16f7f97b6714e01e342ab6b784c799ef26ee322ec85fcee28a549b6e49a49200ff78eceacd0c682e941f8538a497e2a2a196040769c2365feb566 -DIST errno-0.2.8.crate 9276 BLAKE2B b73738deb47d1f76ec91ffd15558126d32312647b82677290725669edb01b8f34a503172fad6518ebf0ffb1633ef0afaf0750982b9384a9fb87833d31721c9a8 SHA512 1f513743224cd9a9b7e4caaf33dab075a4a79efa90c9f46c9edfb0c8600daccd3ad2677ba2116621e19fcf8be456954da5d611cbcea4b6f1410f7731828b50d1 -DIST errno-dragonfly-0.1.2.crate 1810 BLAKE2B 781fc26dce5c33d83b9a1fd9be2b2ce9ac2559aaa858957ba6777e143b1e44cdfee48e1b47e3c91a95075a51921d1a421d0b45eb3d8de827cf4dd0ad744a7d8c SHA512 f853f1e1b8dd0f359a8f9a0399b3384c1103cd090d96e2b2204f91a40d40a9eb99383d4aa6a11e5470c51557afacf452d4be2049600d4235d27f59870fa3b916 -DIST fallible-iterator-0.2.0.crate 18509 BLAKE2B 9630fcadb2f30fbd8a2a057eb992bf33c0aa2d163e6fbd43de9c8c350e3e932ebca79a6576b215e17a0566898f6e37aef806a643d20c16a6aa73ca515fcf30c0 SHA512 c558fea3fcf3a7756acc0b63d38f76dfe7eeed4dd9c12c46b7a7e8b8bea64d00e0cc115492e8b3a1a19e86e6083477dcf7d2d72ef960b44f24d61819a3077e79 -DIST fastrand-1.8.0.crate 11369 BLAKE2B 93e911ffcec559e30b2fefa44c4d74d1ffa9b8ef1904ace608b8576210bcd41a2b4c7adffc00cd3bb40996110d07316cf8068f4754a879c6cb47e3d41304d406 SHA512 82cbc2b29b97fa3fa2c9372d3e8c390586a7b39f6c7d8c45f9b779bdfdaa2e8a3b44bc7bfcb3367c18120726facc753c9827cf63a8fb4ddc2667509b16333cb1 -DIST flate2-1.0.24.crate 70191 BLAKE2B f5ff04557dd0a57151b4c704cce60622157be4c847fb0a42eeb5a9d531ba28d34b41632bc1b34d2f935ab576f152479f72877dc4e6b296edf125becc6e6d52b2 SHA512 8faf97c28dcc4553f4880295677b1269b4acbc6518d006913d32d7e319990c6631e10f1baf7199b96e03f6de95b9e2de04502522bb1eb45bc301a0fbb0bfc0c5 -DIST getrandom-0.2.7.crate 28854 BLAKE2B 30c054361c9b1d9f95bc505e27e98d8cbb685f37c91437948d9d26f22028e0797a7c704d88912c1648b3704bfe10623a8c5e130e81746c8f85848b831771db80 SHA512 01803e609848662ad8650cf451dfc2c37580da0b7b5e0d4cc764da6ded253cf49ae42a433b1c53e89773bde00c1ccc136394e58ed4548e7b5c0ca7e202e857e1 -DIST gimli-0.26.2.crate 717340 BLAKE2B 6460346625fad7ed202f387d45900867e785026e08efbf6542bb5c7b6ec2bc8ddfdaf825e872d2c339c3b72f8ddaba546efa94243a602bd8c9470c6e808a8f30 SHA512 10baa5fb5fe13eeab2ed9ac8e02ae7607b42df80b9f39b14027d052ac7f6f11e4dec451bd73c3640ff8ef174e280c1640110720b2bc4220229d27bbb31079029 -DIST glob-0.3.0.crate 18724 BLAKE2B 1f1dd380e7d668a0c2cff9134279ebda958b4bccdd4a65ff01f9665b45ec4cce8ffbd47eb46e52cf516c5fd5803561e6bcb60cdee21ddfbb8601a95d45500620 SHA512 87098ffdbc518442995c422120cef71f83069c8f88a1970ecec5105b0f284ddd92bcee929f5c230d5b90ae1ead7e1214c3eea26f4a8b26715a00c1ab8b09bc46 -DIST goblin-0.5.3.crate 158162 BLAKE2B 5138b382e5cbf2a56d6725e00a7e2dd8b34675a6766923775267348c4a2bd6edbaece964b19e69335417f16e16eeca5b438da2854e1b6c723d4e6add3852d972 SHA512 07ddd9344c2d521a05068b2d1af85b79c6d47f86f71306c3e31dcbf2f72592f8a70ff29b423910ed5211bdc54fabfd9a751582ef594a6dc794d7a3b4e3720c50 +DIST env_filter-0.1.2.crate 13327 BLAKE2B 96f888b30ec8b40032e588f8ac73e9fe23340af71d5ec69cd8b4dc2bcc272ecd64d1d3ab54bc57e7a71a44cbac497ee7ad3df52930dfe3c7ba7dd129df290b73 SHA512 b1f21a5d4aadfd940bde3e53935c04da48e48cd4f825cedaa83968a08244722aa4e92afb9fd2fdd228412754f040f7bb68f24e05c0bf9bf57783aec042808606 +DIST env_logger-0.10.2.crate 36402 BLAKE2B 34ef02d0f53fea474e7284fd7021ed3b44b11be2c0d0c9a66ace8792bac74d1a6b43997e0e7d043ef89e14903f6ab6d42c169bbb164f05cfe4e1688611639edb SHA512 c44131efb703eed984d8f4edcf18c77ef14036edf013e8bf445703c74a4386e4c3f4b55a272490da1ccb47a692ccde4670772c74d35c5723601c870416144b69 +DIST env_logger-0.11.5.crate 30683 BLAKE2B 9dd2b461be5c5cb3411ebba8bcdb53a78fff28c54fafd21a0f8c3fe578ebc3882ed5df63a5ef9adf62bce00fb6360de895457baf75fd2ed1a6730429478c32cc SHA512 e2ab1f117227ebf8840daaff971c2533830c0e481797cdcaa055a4506ffef78fc0830bfa13295275c604273d494278d43440b987132f97ed6bc1cf705e05cd8a +DIST equivalent-1.0.1.crate 6615 BLAKE2B 302d78069d9df05e78b53f0488a9e4eb98fa2bc1e21893dc8a0acf2234347ba7c4df4b9d6b380ae77d8ffb1074b9c790460fe2dae47318aa1c4fe4208244540a SHA512 b2bc60e804c1b02c461dcefcfd60fc37145af710d183ebe65f9a4d63f2b2072d23193f98dc550a9213c7fdc6a2a837af23b04a89294ebbb681a4aaf5d5031140 +DIST errno-0.3.9.crate 10690 BLAKE2B 8deb19cf0c830ff2adebb733ab961558cb4463f256604f9c76d5c5952f34a79b70dce47e28f68f459977ef34d4821ab5d0f7e79a7a110693700f80b49ba56651 SHA512 777fbac5730d420d58275ef63b7579997d8e6c72106d483ee1e3b1f1ce3977f1f66c56870a05acaa4cfacacb820eaf963e9c763748759cff3668fa2e6f89f04a +DIST fallible-iterator-0.3.0.crate 19639 BLAKE2B 58b8fe842fd6514fa4327eacc81b157a4a9bec4ad9b8e69248c0f0aa5610dbddb9c8a72e6e6ef9fb8216e8f79e6aab439e90d4d527e35634ab222347cbe39974 SHA512 c655918fcda5deb8ce792708509e4959139f113c1006dd41b94d7073ffc204512a22cdeeee05c87534db9c414da3f4eb716e1a26970646fcb1c139a14eb8a2fa +DIST fastrand-2.1.1.crate 14983 BLAKE2B a4535b1612b103376fe64d71a393f7bfc37668c574d9122ca90a631aeb91cf0895bb030e597b79a80a4a37ea4d514c4c0836332030bb10a60bd971573a6d6ee0 SHA512 9a51185132c1c89fc31af463c664e996f431e607ce96676b8301f28ff11a99661d18025dd460e3332e373af68d20017d96481719746fc3c5de742d08d63aba3e +DIST flate2-1.0.34.crate 109174 BLAKE2B 70fb087904e1e29243facbb9a01f05770581d91d49935290943797cf84c3d2b416a8f78b2c4f9277d86053f1bb79e858ab1d5bac427bacea9771fe1998ea498b SHA512 0526f2c7c061d57f5a39fec9726c547848f6bb36dfc977497c15fd42da6c300bcd332278c31e3acc0a72e897a7161f03deef61e95e072bf3cfe5b0302b5f98f9 +DIST getrandom-0.2.15.crate 37163 BLAKE2B 7d534e799a4711d01c6553b8c9422dbf01e384a850fb0f7cd76e444628f2b96d28d0f5e8dae042f8081a2bf9340f57c558be50a6f22ed5fa6b0301a15898fb35 SHA512 04789a53d3f4a84862e1e8b2113641af67e471b468de1222470d5e6cef0015232463a2cf3c3518dc2a533b3983b175a7c8922da00665bcf71c1e4e279b67e6fb +DIST gimli-0.31.1.crate 279515 BLAKE2B c8924ce351af5b8f96ef757a189f7a9be14533c024d496c62037cd4eda790b3f6282cd3013ba82ecc83082acab1b60ea80b83e0fd5f8eeb381fd7f9df88ce0ee SHA512 b9c8c11547dc7420fe936b9f32a4f5ccf3bb68d1d9f39dedffd40d631360f6e032e719d858668826f1099b8a262e8096aa7ae1f6d7d3d7aaf47934d832715949 +DIST glob-0.3.1.crate 18880 BLAKE2B dc89b3a664e810264dd7a01ad892e865ce35b504bfe5dba12d7ea8084da7de84feaa94c2208f1a1eefed90297e552636ad61ccebf6fc8cb4d01f27d605ad0a09 SHA512 29368160138bcb7ea5660f9f30c5711cfca8bc8ba836bbade3fbe8c424e7b4118daf27cffa677962e37e36f025fd2bb5a9c2aea865b0ff155cace455dfbb658b +DIST goblin-0.9.2.crate 191510 BLAKE2B a12c0aefbcd941688e895d093a85de35ec9533fca295c5139934d0ccbe5786f05380d057701c1c58d2b37c7fe9bd57a8209bf45bd856c2f350be02c89ed51588 SHA512 1802626a679bd2bf6be1fd69c179cbc837bfc307c2cfc2576ef91e1010ef172f1e72cd732efe0914bf345657e7da510664393133b40084017a2af99657ee3276 DIST hashbrown-0.12.3.crate 102968 BLAKE2B 492072f27eaec45abd2c5d7405c614c0c6a8221425e901bb6174bfa1688ee524408a618650126d6c683b7285b9bf0a21dcdbff7347e4d8f97bf7111defa1b7e5 SHA512 b3700fcd659a21a6b9b3777c18b37a83bf25542b4e8f2b963779a122f5d22e1742c064cfc03e649583e7dd5c6e90ca8407f8c51a0e8755f6a108682853022f76 -DIST heck-0.4.0.crate 11161 BLAKE2B 13b8bc39cf3ab90e71433e3c7b3e5f1c19404bec58dc4298dca05d94d5c14c2fc97350de737cb78aa45196b1241aa8f1ccf3a11ca309da5fe0f6a657673412b3 SHA512 33bdbf4ff9ecc4f4d74cf06590e056f4d96bf0d990d5381b9da5b65682b2495ed74e27b45419c2afa986c1f6200909d5175b137ae73ced5cc8ac869e4e1bce8f +DIST hashbrown-0.13.2.crate 105265 BLAKE2B e9ff7e6e753166ab3051a834df6f2da81a19ac6997ba269ab13a65e0abb9ce00839311785aefb451553284ad5ef3a0cda925dc2bc188d2a138a78578e530969c SHA512 21dae7a283326d21e16bb32ae0dd1481c4936939a32a06478a3351c2dec97941be532437b808e99ac40e7900a75433fe0efbd852158659a682461245e19d0e70 +DIST hashbrown-0.14.5.crate 141498 BLAKE2B 7d7f31b6377c901de12f78f0004a347e3e3b948b1336a54b6abd8dd2210db0ac415efcdded421a00723f16563a7b833b5d1db3cad5c12cac916e273bf3e588b3 SHA512 215ea860bd3de80e2dd2d4647c9dd31c0ac895ea7c08b87256dc11d36407e412ffefaebc6cdbec024057dd4f24b3762b4fe427be307e15d1e68ccfde89a99742 +DIST hashbrown-0.15.0.crate 136460 BLAKE2B a2bc34b9d2eb7ca52dad7bc59e9bbb38ff9f79925495e1645eda7c0587e86e0a3d0675f8c7f159c5a83dfb2832fee9788a7ba6914168b51c26f762e140bd05b2 SHA512 497310e0f8e256e931ae0e752f66eb3811d5d3b9254dacfe2a1227e8532dc23eac8cce7a3f0758fbe0e0fd8f08b7bb18b5f118dbbf4fdf575a31666283583111 +DIST heck-0.4.1.crate 11567 BLAKE2B 520aeea740cfa30b0cca12f73594ffa655f32959673b1c9caaca1ea0162e455546ae3033881394c0ba0516bcd5c9a997da02162e1585522d665813b9096eabd9 SHA512 8c80e959d2f10a2893f9a71994720f90747742bb5b61fc0a539eed3ea5679b140c48fd7f7690d7122cd6af5f7f20a19d412e3569fe741c6d31f6b2ce1e0b80e8 +DIST heck-0.5.0.crate 11517 BLAKE2B 5365ec43b2239a76b33a174f1a4292ece4147f9d382a68c6c60db78fdc8bad0afb1d51a65bcb25e96675372faa4ea37c318265030b0546ba51942f7c929e1835 SHA512 f044fc9c3d22466629fd8f772ec0555350fd611c0cfadca51d99a3d2f10e155f77c1091916c8a95a6b9b499f366c2e99a5fbf45b010f988bfb9b2501bf9f6a76 DIST hermit-abi-0.1.19.crate 9979 BLAKE2B 801e8052b85341cca388ada9db4b06bb1bd7b64474185b2ad06c0256b9e597639bd3dd4ba0053ea010f922e53969a4ab47b90d451fd9b94c8f2324055d151ea1 SHA512 1c877fcd562b15d2de9c151fd6c5f3ea4bf48abcb799e6139a180ffad5d64b632f0000d5707bbd92ff23a0e5f349157b9e0f5be8b50f03680b0fa47315dbb78a +DIST hermit-abi-0.3.9.crate 16165 BLAKE2B b779f005bd4cb9ba9abe401a0a559a5bbcc44726ac37f53e9c8d1f7218389ec8b48f74d14666261bc4fba4fbe5558cfefae873c49a2312c8c8bd4010b8344064 SHA512 f3a5a51d834a6ad55480b53f7e9cdc73a512ab0cc6c246a6ab1e8bf8f9851a0c8a55982f5bba6cb57b5a03b54870e73b0bab0a79195764c308318394a3ea8045 +DIST hermit-abi-0.4.0.crate 16310 BLAKE2B efcd1dee7bcd6d185cbe0051c7bc7e2776857ffcfd2adc3fb101febd7c1bd75994b7e4a4a0a59c5b4628cc2521b4c1f043e98a0c44935d0180e7499667690ab8 SHA512 b1a21f6d54598185a8e8c29565ffc2e1bc5da57cf1c9d87ba643d23d7c23d53e8ad36ee2f5c1ec8a504334b6f98b0f17a832ff37877c7b7f9238b196f4034e6f DIST humantime-2.1.0.crate 16749 BLAKE2B e2ae8325b037fb175b9200cc5c1944ce579056c6662cce307beb6701894552362a25e371aad65f8fb9384945b48815ca74bb8b544a32e0a5845b7edd30b918c9 SHA512 3bf29ddd1391d82897c22baa0ff3ed58ef6d6959859f1f8ed54d324caba5b6fb4422e56790511ce82f902cd11467f93c8ab7fc7b0e0bdb719308a4d0a446ae0c -DIST indexmap-1.9.1.crate 54114 BLAKE2B 71e4968c85d5b3fac550590658f9fed72c754a9443221fc804efb97bd39b5fca7f894ee67f8d2c330bf212eb8a6b5c85879cd813ed56e3fc43a54f0bb689af5a SHA512 7eac99056123332ad38ef32eb65235c810e8b4d051d9b0ddd5582348c9cd3b162d36defe8e46a532e2066562f224e37fae94b52b4649ee9cfac7673b76a2513e -DIST indicatif-0.16.2.crate 35057 BLAKE2B c2f3beb7ac4450c5aace863f33de7a4b474e93c5d34fa55acacf971c5e0918b4b72c1a970f15395a8256fdf8bbb78edc8f2a6fb85be4aa7dbcd13d1fc30ff55a SHA512 5f60358f1fe3ffc0ec97d1d8922a7a2645d7dc0affed1d49a9205becdb36756d6a03482ef00fc918231770f967f7fc523f7b8c3bf4c06f71a0a93549c46fdacd -DIST inferno-0.11.7.crate 93532 BLAKE2B e5af1be2f0c0de3314bdcfe35ff5c366a615ce6c31b40d0146613294c0c7128cfb018532c6450704bfb2a78ab1eef477518ded5ed88330f88b556999510ab048 SHA512 102def82a4f7c3cc5d61d8f07580199735c4b2f86f2744bb3bb08a911198393771d50363526bc5b583cc4b39d4aa45f9471effe62dd09d9cc7c75df7b14507a9 -DIST instant-0.1.12.crate 6128 BLAKE2B 728923f757c1ee4e4a7afb90e460eed81392068961240a538e5c6468e15a0b6491f590fb5f6cc46e6d78901ca232351f65abb9f2f230d8f4983c5e58c4011902 SHA512 fae494c00111c51c840f9dd6a10febe403e27ebb933dd16633a213e9c20f2bc11adeb431c71f8a6713bf88f270a010941e15d83df294e658791934f83a5d2407 -DIST itoa-0.4.8.crate 11926 BLAKE2B e5a648b490908d0ffa3a0832342ad11264eb4357939bb39aad014aed3938bb60e82703b7e31929a458525061e9bc40539d33753bdbd722a03b6804e57dd1f70c SHA512 6911d269ff3ed7350e4f0dcfc6e9e0d70e25833e1e7cfcc57d5b8aff1f47b8be4f2e9baf1b92e5517cff63492be489b6d29b48dd9bb642e428acaa431216b68e -DIST itoa-1.0.2.crate 11112 BLAKE2B e277db8e2f506d4d20b6888b609d9726d594e1cb2c9f21df60a8cf8dcbad1808d8c1bdb0b7857ce7734b92c0f23fb1ec56f8564e779f27eea953d0ffbfcd3f84 SHA512 44a732a102d60b58e72fe76c43a1d185fa12ff08d04eeacf03234368552f84d3de87a2ea0a6e7a56b8cfa74cb6f6697005afcee26f45afe0c2fc7dce5da3b593 -DIST lazy_static-1.4.0.crate 10443 BLAKE2B 25b2e61bbac48f0dcbc79c81d7bf01f2403d8269ecb6be3ea6147bd00f7a588df15a91f44dfc18ada19b21faa71de4637c7d493a8628cbecd0e547d74e616a23 SHA512 e124c0521ec7c950f3c4a066821918da7a9c6e711115d98009ae7c351928fdddead852e7596fea5937a9c30e4e4ce8eee7099b20248b5d6e3b2494b6a6d88cb8 -DIST lazycell-1.3.0.crate 12502 BLAKE2B dca2d3f46823a52dcf87b7d6103fc4f1f83bc5247ce361946ac2d9df239fb43ce4b418104503698dff0242480cd014996e77da4ae0a88f3cedbce4eb9d3c9ef8 SHA512 f9d627afc28b61e9687a3f72260eb013401fd64057647641ff2e763770d7380ab1d2d8cbb4a3c8818d53d504c618a3b46aaf701f72f4d7b25d226042824c2f8d -DIST libc-0.2.126.crate 590481 BLAKE2B 1000de6b9fa2b3ff025b961e504d6d20b401f37cdeda6710187d18ad2dfe8ec89142bba65486d7853f1796897b58f343c5a34dd6381a0d0794b615635ac31175 SHA512 9bbb17f64a7503819616a71076ebe8ee317daf07b17b9fff783a4459da0439aecee535c09e7185bf148b1993e6fc958d182a490fc9c9a7b9fb635429c491ca44 -DIST libloading-0.7.3.crate 27378 BLAKE2B da36353819cbbc85dbb3196585970b431eb5570140978fed8a6b5e46bec2560b373e20fc108b9520589bfd1f804eea57a524a0cb497620d4a8fd11030e9c4818 SHA512 58da6e73f86aa05132949939507a128188ec2e26e2245e23b1534d90673c9909c7d5220aa4aeab2c16249f7433b4d0f98f20c94b8b1f7434c7abadc8b8039ae9 -DIST libm-0.2.2.crate 113226 BLAKE2B 126ff68b4ccc7c4e3043095c84ef010bffdc1f76d3c0c871441d1ecaaa044534506844fd6accf145f94cfdbb611fbb1fb13ce976521911dcfe77d57c3c81463a SHA512 5aed180dec326ed9ee2fb90dfd94127ee5f75804f7ce7fa0ed5c7e1f0533215690553551da44c055f9ad47170ca32971467fb378f7328a3c22930832388eed75 -DIST libproc-0.10.0.crate 23128 BLAKE2B 1e0f2150289c81151efd7b6adf2e28d0d37bcd0123f31140fc1f60f3555a2abbc3b2243c23d15663e2336766f1ea273e15d73e90b3980e7de9a99a11396c7629 SHA512 c7931cf0a187b40f7669511ac18bb7fe8a7f20c67055a1ec6031e587ca9d3a25484234314fcfc7cba8d60aa98f9eefec5bae3ecf0e014a03e9814c8a33dd4315 -DIST libproc-0.12.0.crate 22816 BLAKE2B f12822fda5867bf2f3df732fd67faca0fed5beffceb284f8c6cb95ea14f3f3b672d1271dfffd1f3c2690c08b1cb24ae24cbbb82e64441fc51767ca2661c7cd0e SHA512 8694734c36728d4dbdf4666a3a8445e493b92dd32ceb4e41e131b89fe39e1ed96fc8b4e478585c2250f8a71c9d1c4ce45ba3bd74af3efca66c618ddc2440580d -DIST lock_api-0.4.7.crate 25371 BLAKE2B 9ed08433ffa70af60193dcf307287991a3154f0ef16b485f32a6c83e64962661a6e08ef83a6b217d6cbf5bd964c0638d8ed86b290087677c1fb3218321c4bbf8 SHA512 b1a5227fd131edaa70e017f7ddb43af8b4efa58488007b898ca1dfc818a3a441b732b7adbf1270e72a68ee5d2a99a5d48f33b2bca8e2cf78694953d20d27636d -DIST log-0.4.17.crate 38028 BLAKE2B b46be3719fc0a53e50b1f342762e188587e9f1ceb692c72473ce2663edfb8253742d30024e68c1444780ab7fc0e2d5b0601b8ea7228dc3405a9342a57548e605 SHA512 2477d88db42b1d92c30708d88823212e236f613b3465e85eb425f83f8d16fadfaf0352f06c2999a1852102edd2f6ffb10ecb539d8a3b6c48f552a25622ccffa2 -DIST lru-0.7.8.crate 12623 BLAKE2B d831330a8529a3f4272ffdb5234c9ed7804c11e70a0a94ea592a29c8c2ec39b66d4c5f62d55a0053f6b687c4d3dc4eb31219caa376e5330b4945fcdf7f646fe6 SHA512 75188a6118398870ccb39da113a41e9f791180c22eb3655f3a3dbbad444bc6873406e96f3fead814c154ee97e4a4da14f9848919ec9daeacb7dd2ce808e23ceb +DIST iana-time-zone-0.1.61.crate 27685 BLAKE2B 2091f0bdbfae3f63ff846e27136d9779a2d65f85cef899ea3ab0ff7c987329e6a584cf49c57de566f08e0277bd4981ac3db30ea0cec6a6757ed50d96e2c6583f SHA512 d16c67f435606334042c3a286350db46ff3409f142c0782509b136150b4069aafff0dc5c2ecfb7519dd8d105b9a2e6649df2a7bec33ee3966dc94034c9d5a1c4 +DIST iana-time-zone-haiku-0.1.2.crate 7185 BLAKE2B 37fa14b589ff092377b9271c414d4e584c5a531f13f70ac48df26df3cc03353db635b4630ba192fc65b800cce11823e91b91f03dfad85e4bed55aa18398156cb SHA512 448224ecafa935472ff6f0aab7cb71f9dabdbe71569c4b94fcc65baea925ef48841577687c9a31106a1826c2105e8dd73c748e9d27fd002648e5b0ce838af6b2 +DIST indexmap-1.9.3.crate 54653 BLAKE2B 7bc1768589e74020dc15d3dd064009edaaef39b7aeb682d0ca8e49944e3f020b9c04d64feb102e88b22feb40863479dfaf4722d6a77b5d19e7ca553f4bf64c1b SHA512 2aa8069eb07a814c8fa3e11296c9f032ef60963520d7786ad20cca5cb7e73b8f76d97722a994d65295bb713020aadce5008cd3df5e99d8bd968ef1979f910a37 +DIST indexmap-2.6.0.crate 85204 BLAKE2B 420a3cceedab93e5023b476f9b6b93e57057238425d4095de59eb9490c2a088193873e643dcad2f739e34e5798baa9a18939424cac1afc5fc7b93ae496ba188c SHA512 c870348691f5acf97e7bff25c805e60f2e9db9e3ee7b3b939b7be45b6bcfaadee9880e6ad27adbbe2545865193655b5fa9de18487b7a1d030017b2fca48616ca +DIST indicatif-0.17.8.crate 64869 BLAKE2B c534020b2c7b25bb07cdd0fd4414fc817506647cf5b8e2081c22be58857d5adb170082a3756004c69187619fc5625f8b9a1904566dc51c621838e09ecda5b43e SHA512 487e73445c5c7d3c16d6f93a3d9767f41b37d2832e56851154f8b69e678ab7d9ab04eba225a6bcf8b48842ae0db0249b060e998e29a252dedf8afacdc88b1aaf +DIST inferno-0.11.21.crate 102615 BLAKE2B dfd841e838ae7e4bec2c9346a8c755f1d0964d7d494b6af0629a4426ca3ad7ff39d19fe68c9739a6884bb6470ce8ee7a499f6f794c73a8aa5741e005a2f34d26 SHA512 5d4821ea21cdc8d2bb8298d982a461ed3927b456714738dc459d762e60f5178281b6d1a9eaf8da2f925df0b6be4885912eb48e21c8a27ac3486d9706f71ff941 +DIST instant-0.1.13.crate 6305 BLAKE2B 83a2c479e21e789ca9795f66116ebc55481a42afb21f4c0ec0551edf07781901a28978667e92b01355b43e0e1a7ffcd3cc37b5501a7521da78f4f352e586c9fd SHA512 b7839431e8920c4c0841d0974eede75fc50f2bb7a9475664bd2c4ff6c558a10084e1c025e5be977c3364ae9112c365c0a6f480cb9b35ee4130ca2beebcf650a9 +DIST io-lifetimes-1.0.11.crate 37346 BLAKE2B 7f278b7378a8569d3552c9b6d4be06d7908e05d77cdb964267f0b621ec4975a42fb6e48fc030a75ad5865681adf32ff747943ac559ab4ad73331a6611a1b10c6 SHA512 30c6e5ce6f5beabe0d7bee4f4522884d1316cf7d9b8d093ba0f952995997be3d0f10e1e77b9c20b7fe2b65429de0d2ec89bb35e939455795205206a3154ed544 +DIST is-terminal-0.4.13.crate 7665 BLAKE2B 47a024e135ca4931a04a8dc8151f999f816ab50c924f17321af4295dd84fd51bf98ff057de967e646a461c1cc9ffbfd7ae245a9021b3a77f3812f43707b44aa2 SHA512 ea5b18dbfc965b96a27086eabc070747fdc557a6a9acd06203164e846c2f390c4bebedb29211ec008e060dc80b10f53de6d6cdc822d4f51a543057736fe33448 +DIST is_terminal_polyfill-1.70.1.crate 7492 BLAKE2B fa663f858ab8e5fd56202d731b572bfdd4ab0e8262100424e27360a9ffd2820182bc57d6718a305ef82d04c3798111841c0d9f9dcfe219765c0f63edb560dc1e SHA512 4730fa09401cb4e69c92b38b2b43afd74699c61f5bd7b37605efbc0c08ca7a1318d43e4a844e46e0f84f83f42432f01e33771be2b18eb5977702ab9f894837e1 +DIST itertools-0.13.0.crate 146261 BLAKE2B b23d59a87f80d24925bc868c0ac7abb6b9d05aad5ca08833634ef760ce228a1b753062ec4bd22237d0e74727edecd7ba3df9789cee896345b69780d7de66866c SHA512 c6cb8f93a93b6ac1a2cbb3033e66fc81a39f83be773b734bea3311332b96bc71bbb518aae3e6b40cb537590c23de1ca4964361c336795c3985bde63232d410c4 +DIST itoa-1.0.11.crate 10563 BLAKE2B 94da07e0f7f2535d0b1491b3a3c64905274b315ffd35ec8e9a3e36e26cd7211733b462eefb5208963e388345f65be9694804c344a6132b2b595b0bc716c0b328 SHA512 7e22dffac34c9c9f432daef395e0ec710ed658164bc9cd9fc6445c9f984c912a10bac556214a026bcddbe27a3197b35b0c87d6709fd605062637d086b2d20311 +DIST js-sys-0.3.72.crate 54096 BLAKE2B 76c1044b7684ccfbc06c6d43541fc39552c058fda5ccdcb7154c930d03f5260706ed42b36b305e56c5a0eb0dcee27180d3df3fbde92f3b7ba5104b0709f5714e SHA512 5a83d711a02bead2d9c05aaf8a7e3f351307b3219f4f6697bf190d9a9b36bcc10fd33ce0a334e4f3e251d52fc7411020a3631d0874097e9b519e839b713e1c42 +DIST lazy_static-1.5.0.crate 14025 BLAKE2B df29e0e3d1c061815bdd608b41074436024dc407d454f32517705ab04b2fe06075e310086c5e4961df0b4885e91021589d0bca2c1cbe6f0aeffa3ff1b3fd4637 SHA512 6d2f9887cd7f34f019644e42f02f2bf0111accd73aeaa60973ba0b039b6774670debece1ea9a6978e923208ef5d3ab7326473ee3560c078817f0f7ab8ed0f65f +DIST libc-0.2.159.crate 755366 BLAKE2B 70f46eb6228b4a8958dfbee00cdfa3c7d218f30d66c8591f4ccc9c5d8eda411d83ce9450552384ac4bc29deb2869561a2111dd157c9f228f617baf8f6b537bc4 SHA512 c803939ceea5ad9bdfdd122726c7a5f12ffd8b0cb66cf0bc62c9670e1e5904a504def388c1e043c520f4ece484addf6dac465aebd58578aa6b79995077bbdf9f +DIST libloading-0.8.5.crate 28902 BLAKE2B a0fca8f8876092e874964b3dcbaacd417451704fc1d687669a95a0b9df22ccda73a754118ac0bd706a7c7d86e4eceb2ad012e20e341d71548b34ea8d629bbfdf SHA512 f332884fa75cf210460f4678d45091345b23469c09301614c476e95bc54163afd6d4f098a34f9e0d529fa1ec63892395b50957598070ff327743e4c3b0871074 +DIST libm-0.2.8.crate 113450 BLAKE2B fc4a55ecc0d4a558b9014b58861341887679c696af6b6539c7cdb70c033c63219b24f6f30cb8d9b335d15e3af42be6f3a6bd719e189667ca0c43ac818730b674 SHA512 753df71bb2c838abbac360db2e4400c2d931185ecff993da51a979870f2c3f7ac017380fadee4622102fb4b37ebcc1960b0cbd295afc9cd1cb3307524e1f39c5 +DIST libproc-0.14.10.crate 75452 BLAKE2B 3abd30e7c41c292f47ad76985e98dc72eeb0065673b88f36d22550b108fee58f1232835e23d413488516df99d1ec8d9105e029c34e5366b66de62dbe71b69a12 SHA512 ca0bfd7b6ea838c8ea268e0da84ecfaaede40e4fbc4b15174c0cce2fd8e80a4c72b487ab0f6b11948a959822c475e67532560b21a52d34af3ed15c2f594ebf0a +DIST linux-raw-sys-0.3.8.crate 1013776 BLAKE2B 375b29d2cc700e95d94ea8dc304cb711562952742f65c9664e33560a3da862aba74f2ad2ee66b1dface8cd5371ea9cbbc452ea953a6b6c656ade7d938b7d2ff2 SHA512 cb0e5c54870dacfa513ad05f7a84e9e90dc1a42f55685fe3e252fd25cffa4b875f1b65eaf4ad132ef0a19e6677c7763b360d71ff0060fe6ce5198f38b9956375 +DIST linux-raw-sys-0.4.14.crate 1826665 BLAKE2B 804af73daf396bb20da14f831f26ce06325181de14f0c277350bd22d21789f2bdd663a964cc0e7c5cbd2e084285d02a401a6bfbb3e8a8f079c120f9488b56f99 SHA512 28149660bd975ede05624af3582d5c78f498239f5d89713c2c32f5372fc16f4ca024dec35f81ea973a2cf986098890395dbda06ac6cf4ee29df3f9a0e11eaea7 +DIST lock_api-0.4.12.crate 27591 BLAKE2B 4504d146a114d8f8e1fe9ae70b993c713cbfe884dd69c61c54dec978733b95a853c3e5af26f237e48ebb4ee9dbebfce0f6c06067f74a3d122e92f5ace40e22d7 SHA512 525d971f495449bbd02eb70fcd84d4aab05ca582142144a5f314f9aa67ad4c5b4c98dc919a416d0ed2e555063eab037a441d671d56b633f2cb75dfab5d99bcf7 +DIST log-0.4.22.crate 44027 BLAKE2B 831dc5092db05123bf2e909eafa708339983edece9bc8cb802f0ab418d47ddc5045a72c1b58bc7c46ffa68080eebd0fd55d6e4f5b3d5ad3b0bc6b2ea0dcaace1 SHA512 bd7baa9c8a5523fd0864a53bcde955d484cacd782412b5b02c890b89dbf62137624da3a27337a310dd8f62bcc6606925a42bbd4ca161a3b7936ea4ff96bc0d71 +DIST lru-0.10.1.crate 14160 BLAKE2B d3b5dce69a158c070fcee2f8f539c48ef697afb1202611ea22cdefffc519e96890b1c0030f7535a097110031b4ea34937b9956acb002cdf44699cb1be827214a SHA512 f863ce63065c220d5260a1c9c00d9286562df52408ed92e035ffb490f67482b7e7ac020c8c514eada19cc69f282a2ecbc241a8fd3f96603c3328cf39a6af6708 DIST mach-0.3.2.crate 19611 BLAKE2B 683aba7d140a3697933835efe4e2e5a6a107f0a6122ce4533bd9079c0de4346dd1a817abeca4372a44a85406a424af9deff87496e79359df4c8d9ff89daab7e9 SHA512 73622b37915f3445a57cbac5eb378bfee61f5a2383c0dd8bd7c29b5e46447405ebaeb706f3a3274e5afe37b0506afaf1511836cb8897d9d480a3abd41f18fa26 -DIST mach2-0.4.1.crate 19723 BLAKE2B 8212c6e85c0ab8a6dde8f1a3776e8250bcce79cd525eb4ae00db926afdedeff6d84ff687156bf481460d56aec62c818feb7e3940c7ccf428bdcc7d216f6914d9 SHA512 eacdaa1f04602c9c0b6107a8c0493b597a81802c52a14ac66a0a46db172b3da40733af8637e8221608f62e160ced0e877906d9a79e56c586d5e0dc47f60a8c51 +DIST mach2-0.4.2.crate 21889 BLAKE2B 137db92691ea6647ca19257abf90402344cc3a8508fe6f8760a02fbe6f56d5341a025fd9e5ef92ea355feff9f36ed6926bf70c79edc17977b65e935ad5f36959 SHA512 5338254f5b9833d41957715898ab4bc52585f99bc8f8fef3ebe526ea36d8a5cbd191aa07a218ebb6f71b7487418223e4279977294b4a6494aee8d01f34cf447b DIST mach_o_sys-0.1.1.crate 80279 BLAKE2B ed379132f648b01c1608268ea329e48910ef43d5d50838068df6fa21f3f83c66a25e7031b50caacf3485c507d919e5eb7a6d162b77db55fe160f496fbb496a18 SHA512 52b097bc4e0d7dbd21e9450de9e7074df3356039cce4382be60510073087f3e18666d4a8f026972a8fd8137daac34d170687a714983b8b6bdf24daadf3ff9d5e -DIST memchr-2.5.0.crate 65812 BLAKE2B 57966413a1f933dcb2d2d4ccb29c247070f65a83299b2a9f5aa83f5a48a5c5f1c4c7c632fa63bd19f9508e9291e7258db2f16e2813a56fd84e0856f70f1e67ab SHA512 444a163b484c233e78c0e2e4d51f01ce2da93d7d29f516a95e4b0866b20bdfd3f34137653abed53eb70387991ee3e2b5937d8d4360a85bbcb50a93005a75defa -DIST memmap-0.7.0.crate 15214 BLAKE2B 44a5bde9b85b2c378fd4c6ebfaa322ef8d0076472d6c7322f7aa95b8aba3514fd5212b4429eb369d30d0327377e36c626de474ea5e1f764bd4fae595680a04f8 SHA512 3a7c7f963111c2afeaa0381aaa6a57f0f57600392693ee1807d54771bc058ea0f86ac6e8afbe858e45f9f17b685430bf256dba1126b8074ace3aafc07bc14bfa +DIST memchr-2.7.4.crate 96670 BLAKE2B da38114beca670467c3e1fbf4e415af6f22d52e3223715d52e181babb89b872b46511563985bcc16d7ff4e82f812c6e83ad904b0fe2501b14445119dfa8240e6 SHA512 8d0e8b9c30208897d4b1b920f1bdcccd0c2b75d92a06abe4a1b2407938768abb6487d63de56c6a80419798fe69517210643dfaf11f5f5540185f0eccf220adb2 +DIST memmap2-0.9.4.crate 32752 BLAKE2B 1b21af908061e6fe09484ce5f84d31ed1751301dffb6439512b38c53f9f090cef7541b591b968d0207c6d8351ee4d5949007caef7832ce130ffda1b3716b5454 SHA512 8bba078dba73253e8ee88f0bd2202dcd2afd0b7b800d08af8af593b882cb4acff7e297a3f299e253f5adf103893fc390dcd73e882a2e7d93ca96099fc2eace4a DIST minimal-lexical-0.2.1.crate 94841 BLAKE2B e6b8919b80d938d0b98d60d4f5f29ce43d77ebfcf8b18bde08909141915c6ef4f0d07a543538d4f3ba8527a9f55926d4a8e83473248469d087e80b274d701d61 SHA512 385fab51884bdcc7b0f2728a219ab164d0dc8efe42160b918f2c09f79ecf853fb12bda006d11e649f097bae1499dcd41ddf2a8784ee7d178cf2c28059e46078c -DIST miniz_oxide-0.5.3.crate 53452 BLAKE2B ae99baa01c493b5eb779595be0d77a064c4624397676d3a023cc2a54941b0b3e7c80492ac47c8a28d78ec36e2f04aebe5af79f0e714380061c5e0139b9dfd9fb SHA512 cc2971ee2a2e891cdb05c1942f533b11a557199421910266ec2e4848a16dfe6882f1c08843035443935d695882720402356b4df4a50ed131a8f5fcc0591a72c5 -DIST nix-0.24.2.crate 264176 BLAKE2B 2da44a51beba8549a558730567f6ea36ab0da81053dac10db637beb3901ce7c32b6efebba519af37068fa32270186d733ef55661b58621eb7e946fb16690cd6c SHA512 9502f899868466165d898b1dee676188e9761cbf7ad7be21e231d6d5c993f109b48edf06b659f547712ccec2d648dcdb689626845ecce22965aad2dfd7ed75ff -DIST nodrop-0.1.14.crate 7667 BLAKE2B 83aa728540908d2d2d9f82c18282d9a9d74ea01b5b836d83cd3f03d225ddbef9fd3fd13460895d744158af74fccf13b7edcd5bb1bc127c696e613de673e25863 SHA512 f583ef6104aa087e13c66a183d451d4cf350560476ca959ce4e0e8308db26ac9f31166c25aca3d50ccd972266d7595d89767655504566a4131a54607e8ed9376 -DIST nom-7.1.1.crate 115818 BLAKE2B 1ec3df3d9a7527f26618a9b6b976ca8ad5176d711dc7e6163dafb1ec214a55345e952439b4c98b2ac371c9a67c7ffdc3213d1081b62b699b36af68207fa8b320 SHA512 1456efdbda4f5b3da6c8580721acf101ed7d779619ee0190c1df103244e405a8ffa0c3889901a2d8beeab0ab84074ed4c7cec5330c7cc2a5a3c30e36a2530be8 -DIST num-format-0.4.0.crate 59791 BLAKE2B bf3a1016876fa2459fddf4c0d9270b22ab9e1de8997f8db562e79de386b0284a06c54afb0334b6603e7533f3dba9e9d46588fb386ab17df84e459f1f138e2846 SHA512 20f6a02dff0759f5e4cf7aea7e877a6ccb088b81f4c30dcee2b565ee91f8f2d25d9c1c65f5e823f5c7f2d9a36851396865ee1a6ec9264352b8ab3481783dbd4c -DIST num-integer-0.1.45.crate 22529 BLAKE2B 4da3e801f71ba8f92c692497e200bfc8d32183c94eaad91260683b09f4697c03175fec7cff5a9ff3782d5db5d514d74f22f7a61a102c0f0d2e67a7a4b4f29222 SHA512 731bdc09c3af7f9d8b171041f2957aa60facef93b06886000d8ba60d410aabbbee358d700bf31b2588b2e077464f290f24a0b712df7bb7f12972675b6c9bd735 -DIST num-traits-0.2.15.crate 49262 BLAKE2B 942ab170b2acce1cb40e6847f766bf810a79edd293d34f3a27864f464c16fe2b99fb13171ba429cc6d584248de879434beaadf1b231a4001b0e8389ed6c1be04 SHA512 5228498af0f15daeac3c9210f3e6e71cfaaeb30beea81dd37f8eb06b9592c8bf3226a47597cd8592ad4c513964a9a40f1ab2c33102ef3dfe3800d22c8d4528e8 -DIST num_cpus-1.13.1.crate 14752 BLAKE2B 27490aeee349d944c29e50b44e9a84371030459353a9316ffaa0245ce499df4424e39c25a81be59cd0f9a19c3214c78bdc7a84b632059282be476d8f918c44d6 SHA512 91ffe0ec792228621d6c2d5cc544ef4744203d19fc9c86e0aad2610038c43aca0448b6c27d82979417a0f6c939ea73523303a44c28df0d1c1b8d09814d5306d9 +DIST miniz_oxide-0.8.0.crate 56343 BLAKE2B e4abcacab4c8698d0489faca8556faa7bff53d272ea0c80e2e7843dc0f6f9229b7d5b0a17ae210344722a379853e7f14212505ee05da4e60549081cf77717c1b SHA512 044b641ce6d98d1968c1ee0906f91963f9f524d6f3fdf3059708177a759e1d498c63e595d3a3f0f9f3210c45c828b9b70274134ba078b899d7fefc2bbddbeee6 +DIST nix-0.26.4.crate 279099 BLAKE2B 41debf1f21427ad6c25c6cd26b7867feb8ba46366028c4b74073307e902e526543f536fc0a66db2cdc5a52fbbf9166a6a4843aba57e5e5caada3d914286ddd60 SHA512 cc68ff8e3e8ea8635c6fd4c0a866cf42121aa3e25165666ef3b97b5b2c1d9273cba6f689e80eb812b55b5ee513390924a926d95fce45de0a74b98764dd1fa27d +DIST nix-0.29.0.crate 318248 BLAKE2B 3a13a88375a359cf77b28d7f77f47f178bd31ef74b7627b6701bc6fc601024706be4e9ac1a076c7cba26b64d3bac4de17aab45fe3c045aa7a36e2d9232e872ca SHA512 86c05084aa0e6238f8d48df0f5ce6e6d7661b589f4f3fbdad43387c59c0d6afafea4badf25d31db1611615de19a0b9ef18ce614846b79a47cad4e2c9367dbe7f +DIST nom-7.1.3.crate 117570 BLAKE2B 5643b67990b7305e101b16b8cd27c447e162a7adc6d0dfac00920b0cb50fea98c9d4edca63c34f6845cba05f8d0acb407cf3045cf64a4cb28e53c8b6bc9090cf SHA512 1ffce08dde299bc0e0367ad59c7b6a83e23decfa11115ee076ab91ec53cdd9ef37e4c2103c96eff23a7b6b8b5c3f67c83ce1917928c7d4c6462083bdfa0c9cad +DIST num-format-0.4.4.crate 61509 BLAKE2B 6d00df67a83adfb39a1068ed49e03daa9dd9cee6adab714ca0971c520f90a31ea8ebc736c0123b3bec9a84857454ab6f2b281f9da773a40068c252f224e65212 SHA512 4bfffce4b0b24a49cf3b8617bba0213769c9bbbdf111801915c2c6b524a8c54ae728b2e8f0901d367ec1d5a4129e9d76597f5df1c3bfd65459a02b0dcc84eedc +DIST num-traits-0.2.19.crate 51631 BLAKE2B 78637360cbf32d172510a62bd9442708af9730c0296a2bb4ebd200c08facd49bc31bf8ddd58967e0df7273a938832b620265d9f8f4d26ad16049bf6dac1cb4e5 SHA512 180018a5eceb45085e4e8d103ff21bb4d5079cea874c42a0ad4c76c99d275d434bbc1cc289f0cdec172866daa89dbfe0871410b2cc3407233fe1129786905956 DIST number_prefix-0.4.0.crate 6922 BLAKE2B 81bd3b588c788e6865104e5ce87119b5e0c5a526042963d52cd582ff23c2f8c9f32b4c445ef0397fc402b6d047e031d8e2c67ac97e191bde22e17662eec3a554 SHA512 a43b668d7314218b86ca7451daa9dfef71f6c9f6616bc34c12d94ae6030f182bcca9da83905cb46f3d49d0aa81385a787e92e4f3ae239658067adc249f8174df -DIST object-0.29.0.crate 237723 BLAKE2B fd579be961df0d3185682348f1d9cc0fb4dde3daf9a3c5d89b16a5f03f3084f1755d1b077f8a7bd14b2bb296b3bb95e9fd85f58380bd52fe9aa885e19c1b176f SHA512 fb69ed164b9d766b2eb268b3492134ba9ca6b4358eb61712773c44c5c0676ce04e3e0c749f947658ee1423dce5e11237f6b6c0320f2d32bd6979cae141273dc2 -DIST once_cell-1.13.0.crate 31726 BLAKE2B 76519b97e04fbfd555c2ae034bd8a95525bbfdecffb7a3fc0fa7081a721b8243faa1269bd409d01a16a62186bddcba341ba13c167e8165b7b011f57aa393c715 SHA512 20a72f8741e6edc2b7f54eee822fdbea1b1c0120d3621059f61eca2d5adbcf044a474b5142871d37a3c0f90495224ec8fbb3b90e62660b66fde3a4d3a5add303 -DIST os_str_bytes-6.2.0.crate 21037 BLAKE2B 0ba546e68579a9221a84a66a6be0ddb5a27d78b70ca307bd514648e2a39a60265f85082f47c07ad64801c865ef613cce5f3b65e828bd594ac45fc6b00e0828d3 SHA512 aecfd7ad0433ffe532d72c6c269eefb7e7097cc1acdfe91511ecdaa7ad4db5d97026268bd216c70bf4fe17f23bc02b1fbbe95a28b8fedda3f812b3ce78723c75 -DIST parking_lot_core-0.9.3.crate 32256 BLAKE2B 79a1924a983b948a5c2b0c074452a7b2b61abda973d3bc8040d9153d34b378f0ee330e36aa813f49544319c479665d6328be71481f2e1e41bc94abb9bfbd12a0 SHA512 fa30db0fc73b268ab8395adb8bda35d12dc15363b247a95b7c4bb848ff9b8dbfb971a20f320b4feff3317d5b533c59b62152e4c652c1809a422c5671310b30df -DIST peeking_take_while-0.1.2.crate 6697 BLAKE2B 31571604d00872900abcb677a483da93654de523bbdb0331c326dc9a3e531f246e571bebcb983e79dc46e33ed6dd32b978be509841ec0d9f1e7209c06289c22a SHA512 7bf8721987c3e2e1986683dd897746592a909382f02b840b777effec7d8b0a864c1a83b03c73d555e359f22c423168a54b75448a7e7b996b739527ce8c88b721 +DIST object-0.36.5.crate 327435 BLAKE2B 1ffbb8ba57024a7273217edb1db76eff03e0689f81ba27b0aef0a622972e7f6acdbdc480384b50d603dee6c38c960fd25125a313264187aa0e429aa839198dd4 SHA512 b85375ab3660a8a0c57833c28c4dc665dc0664857e1eb3cd472a61b9ec8c16c470b16475545c2c311fc23cb3c43755967f93feac12c7bfad013cfed5f879e355 +DIST once_cell-1.20.2.crate 33394 BLAKE2B 79dd394fcf1637adfef28b4159ec653c8b71d2bda0e0e36a940c04e3d87698f039dc30c97f26648ecf0d9742962f1f0a117568f7c705a8a3fc167085b0ca3e80 SHA512 bc6005bdab7a154c01e2203fb553a68695727475a9a882cf906d49c054ce886ad92cb491d380b6b9fe71a81b2fd690ce91c9a6cf8dfa8508470ac9acfc8a31c8 +DIST os_str_bytes-6.6.1.crate 27643 BLAKE2B 8440a196a3d3d9c3a584562b6c2a1033f5606998e8851f8ccaeababe58022a42e65510e12ebdbcc7b24d0fcdcf111d68bf00d89b8665ad5cee49180db853789d SHA512 977c0fe9891c021914153d6a081c3789018fcd1830224f5c6768d0c75ac8ac4919638bb0a41949710fd5e699b162d9290a5379cc6251535a127e212f5b86932d +DIST parking_lot_core-0.9.10.crate 32406 BLAKE2B 25339d028579eb45a957ae5fdbac00288b1472d784c0aa7fa2953fcf9279c750d243ce69744993ee8cbe6899633e71e0a54ffc11e39247755685107f2f8dea54 SHA512 4f30fb60ded274d3154ffb00f6f50ac284b6fb97daebc1a2ac897ce97fa8e2ec6ff30cbdadf3b7419617a410fa7525f30ef5e580334e07d4420f4c0200a57389 DIST plain-0.2.3.crate 10664 BLAKE2B b0ea38fcf6d4f4e3ff91d572b5639f01eac4f19b2c451d27bca49d994a07c6f46118cd58a1b86b3d2a61b7ac9e17e8236f1cc98414738d8c86086d37e0fe4d35 SHA512 6909e4b4b4a0a49e6a226d7393b121ec04beb8a13b1652c23337eb09b3c2e5f202b53a7663dfe7828dcb32c3d18135b514e9a982967c188e127a63b6cbeda252 -DIST ppv-lite86-0.2.16.crate 22245 BLAKE2B 03cba61af42dc3a78ab8f6b03d833c028b7ed737e101b1952467a1e19706bdce6c758eca4ec7d575b2f61daa47cb25fa1d74039b2adb0dbf949b66b7aff3f10a SHA512 264b916f7d1bb6f1c0c0d3cc45f40b72b638abc7174416b49241c3663fe500409509ef6c8241a24515a21a20288c2ba508035b6b37972e4ae7ad02ad19118b74 +DIST portable-atomic-1.9.0.crate 166365 BLAKE2B 9abc31364770923847dac16f532452bc8783a5068c0f757f79122bc5b68863b58c0acfa12d28836188413c2f0b61d494cb53fa07a57e199ecd4910a2534c5bb3 SHA512 1431a4c092f6a0cb50bcc78488d603c8ba8f4ee697f77fdcfcce7002fcb371f52a321089422c76564fbf3277c48e30f889565747951c60360d95a6917bb6adeb +DIST ppv-lite86-0.2.20.crate 22478 BLAKE2B 9d68dc36d8148047d571c0147ed29f586f3c6ac9394b56bd955c8ae5bb18f5a8da5369809f7b8c3199074e23660325158c32c62e1bf69a16cb1f5da2a01f5df0 SHA512 6d171f63b42296f7765732fce3af7ea05d0d81f1541ffb3ad86e81210715ef4afe5bc9e58926e97e757aea6ff96a8012c8411eac78be0fd080898318ed21d7d1 +DIST prettyplease-0.2.22.crate 58169 BLAKE2B 74b78f69b167d253643780b007726afde3a272c68b334b2b610d14bca1a2b02ece1b92f793341990a401b71357a858c4c9bf6c0bf965c61bc22a0a2cce84903e SHA512 bd3a3ed1395fb1e2eaff6231a9c54ce68ddd4be2cc30a6a871e32c943f7201b5c0956b16b3c478872daa521b92424060012d90be9bb45199e19e0b65860e7c18 DIST proc-macro-error-1.0.4.crate 25293 BLAKE2B ef918c5efaf2545ab38787c8d0c07315af00431139e4dff66346bf798e3a429f91d12a79776c150412fdda0b158a72badd5e1044ac4d6917f8482d4b5a7110b7 SHA512 8a47bc9d3e24e9561d1e384d8f5a633284c2cf9b5e6733c5f9d1dbfe1870ccc8e2152482852e50b551cecb68e009148585b910ffb0508a7b4875598eaf8657db DIST proc-macro-error-attr-1.0.4.crate 7971 BLAKE2B 98e2925881c2be186e22c2c439697e91d43f807eb61a5d13e3b0b4321ed50a74f3d699942c04b89b6fea0f156bb5d19ebcf22f9cd4b98a7e6917c437600ed823 SHA512 2606afa9ec78d7dad4500c98d3a5ecbd02c6b53ab829c742bed7f57b322a95238ab4e01cf268746815f1424fd9b02eddfa30e72f98c66106f57765f3d3116495 -DIST proc-macro2-1.0.42.crate 41464 BLAKE2B 8734bf01e8490cf208e873710a19d06631ec326aeacc244be568c689eb7e214fa298ffded01643c1e92ebd04fca866e383d0ad254e04f2e8d961c2e449aaa41a SHA512 fbf005ed4e94d6cbcd7467ccc3f0a1a59982d8bacfd379112bba6bf411905c95213666b061c1d38315962f79b640244d5a1f81ae92ceb0d77fe128610227798c -DIST proc-maps-0.2.1.crate 31276 BLAKE2B 763517492daa8995bb61d6f47289b45e7c1cdad88fd2401e4b448b2456fe5f089c1061ad008bcc1ae775681c1a847ddc5416a6b9b76a824825b6dd361498af19 SHA512 b2d942062f96726fa5f6995bdca15f10ae7bca5ad03184d47d0664fa8e25314e4178121cc45630e555f590d08a82c64bc64c5ea66b8e7f40c3bc1a7a15468cbd -DIST py-spy-0.3.14.gh.tar.gz 974513 BLAKE2B 6457a066ccced920f23d6494db4b2093c316d3eb769e92f00a443341d8f337c4088f61d577f72234f2713a4e7be297e0a072f3759f13d533d1a1f9cb3aa7e4e2 SHA512 f079b002248a033eac3b93723fd267e6cbdb415ac3172ace0d14eb9cd87a1e4adf471eeec641f9644abe8a4fab43b48db7440b4b1242ea18e02bcc574104d303 -DIST quick-xml-0.23.0.crate 160655 BLAKE2B 0968988e58f0d6d37fdf73c9684ced8abf6a3aaf2f0941eacc96876237575358567c51b4ccb8a0d4864c6af02d59ea87c2e70b4ed201a537d3d634783c6b1f18 SHA512 9f2cea83e81e7f5de8a5ccd883c9d83cebf9169ffeba5a7355aca9925c7d2bb2216f0803203b91709dea292f89111bfe1e9ae6d34e84741473df5b00a3b21340 -DIST quote-1.0.20.crate 28160 BLAKE2B db257025f64817b1b58eecb8e64e63f1782d8a7fcb42ed6c3364254ec5a26705e49ce0637c880b0355b99a77473ce3083caae2cfabbd1a1a7e4fc826bae2cb7c SHA512 d12f4a425273b99ae655da11fcf5dad2609e20ad3e7d85cde08c7d09f444a5c7a3505470bad2d48b1ba8ea59ebf38ab87aa1052e47ec414acfc05dcb07d438be +DIST proc-macro2-1.0.88.crate 49219 BLAKE2B 793001e2fb15fc6572060ec05276b185b94894f597fbea90663c77f28a67427f93e655fb40d9e52e028ce3e78ec5fec67f0ce12b09dc308a028a7350c7b4699f SHA512 6aea3482742a2a59aacc3efa4a48f6cef0dbd7ca6aee6aadaadf9fa15ef353430a3a2ae21d15319c1464a48cc70f30e5f9f6d5da5597a380cdfb27d533388d37 +DIST proc-maps-0.4.0.crate 32888 BLAKE2B 331afc2ce82bbb0429ca04ee2f8f29ec3018a79b4ae74acd66bde05085a50a32a6190240e94b6a40288fc20a777a8da780bd52f93f3ce2616387c2bccbf7fa8b SHA512 08ce29fe72a28ca92ede86145dab23ee45e896d4ad141e97abe1f700369ad2ecd0f90a8e815159fc3c6d883cbdf1e66ec5827b91bf001381724b741069185301 +DIST py-spy-0.4.0.gh.tar.gz 1054901 BLAKE2B ad411974cc1cb7e48ce7ef562315945c950e41cfb72bdddd501a67a181214e884b1be84aba126cb54093707f67ad68cec9da98d129d92453794c4410b329308c SHA512 2ad691fb6c9e98ef3807830f2936dcd484253b275e336efebd6191326d4803d7d3f9db62934604ae01fcfcfef97c667ea47c092d03cd232c85d6d2d0295a2b2f +DIST py-spy-testdata-0.1.0.crate 1153917 BLAKE2B c28ec4fcc3046a175d0cc14d0f2229f40a3bc4dd8f6f7bdbd3022f946118f4aca08203356bccbcdffe80100e492e7324dea7fe676c49e194188277eb8ea04bf5 SHA512 994b98d05e90100fdbab7224154a0ad8fd9cdaca4c1fe0ce146916c21260e31d91d3ef1838deaac140a510c1ef0e29e3abbda33d61036014b92bfbdd49be22ce +DIST quick-xml-0.26.0.crate 116260 BLAKE2B 791eacda72e95b7a16009e6ffe0d4ca6a9ad64ac6be5e3a44f793b16d3bd752b5c58795af559617f55c9f516cb439ec2127f255ff9c99f98825cd646cf66835b SHA512 357bf6a70fd822accdaa1a9d86402234da1725c7e9392c64b9dfe92f1f26f39a5b1302462b7ba14bd39a54f7c8e6baa65bbe30aa147e240f8e82997b97a2ce56 +DIST quote-1.0.37.crate 28558 BLAKE2B a7d007a69e619f853af94333e1066bb767013312bd99f147b1b153611242bcfa9c76768b1ba47278589db309a9acd61a772c8ec3b567e48439bb9d831f9326d4 SHA512 c4ed21428c1f89cf22b85d80720a7869831a9c129d694617b0ce8c258278114ab98846f3f653abf736d1c86bc9224bbd695e9a7b06aa3adf292d02e1ef14cc05 DIST rand-0.8.5.crate 87113 BLAKE2B 516f26bb2a969d0d79e957818133f35d2c0b4d9f1b401098ea23c5b80d27599e842b9298c0c5e46e2a6cb6953857bf8a9fb71ec9366c5ce6708cf17df14f179c SHA512 8b33a8988906ba5e2057a9a84bdd11f867a5536c22f5056eec59ed4ec4e3a6da2fd773da4c0510d343762e5a4ea0f007db4c4a7cef87a47f90e36c1a84d86fb2 DIST rand_chacha-0.3.1.crate 15251 BLAKE2B 645771b2c3e274f085e0837a20306b1d59f6e9032fba8eb38a6d1b30180d15e2f89ffa2a162bf6358da41e030098242d81e71dab4321980d0a4f6ddfc2974ce3 SHA512 8198c580b1b9b0429758ffa49cd8138fa3ce724f0dcf73c767ea7e55611d6a2e4c7cad9950896510def500ce4062b594386c947ac3d89425b4e5c9b04d0b8075 -DIST rand_core-0.6.3.crate 21938 BLAKE2B 7c73e2da6d423c68dbbca31f6528bdb3f42fa39b30d0951ca7058e05ce16ef09ef5e047697b33ec17720314f934512c0907aeb892df93d63abd8b63eda2b50a7 SHA512 0fc31f96ca8ebba8c179367de01458e909265e1d627ec0c5620be7c8e83d2f9570471d6ec2cb2bc4bc531505b02fc31f1165708cc1357906791c87123b06ee87 +DIST rand_core-0.6.4.crate 22666 BLAKE2B 8b6b66d50aade877f2779c006f8038db450f808c66d73d79efa66c4178dc03db06f12201bf0e7930181c4b0f4030c49b20cce6eb7839763cf2217cad9710789a SHA512 36c67eb845aa2ccca49d6d680f28d418229bbc5a050729e487fe6b9f9f384fdd7b8d67fc6508b90b79ffb3c26688e72feceb3ecae57d3d7f59338aeb62296f79 DIST rand_distr-0.4.3.crate 58255 BLAKE2B c93a4db62e1c27bde51c77423e15674c4bafd04a63424ee8b8863e4eb27e56f774136949edc8b05ff4189dfab1f0dffc92855706f4a612be897523e7712ee830 SHA512 e5209a78b8ca1af97ac6c6add858ee6d91e67c1edd124bb297f787d37218a5f1afd570252da2eb25738b8d77482df4e93aa1eb3c4a8165f90219410dba495cda -DIST read-process-memory-0.1.4.crate 8880 BLAKE2B 8ea5accbbf2260e4c30664a0e48b85a48f20f09ff59d8c9dfa7cff1b94df24526357bcc54839ad272a0b49760e3492decdc9eb1d2d60f136789de05f6c106357 SHA512 7f7d9a3b6480d3463e5d6da93ffbb4de2c0788f58186d277078a967cb6002255b4978e651606de8e72a4b9ed9d434d4717c0bd5353a581c67bb9a29abe7f605e -DIST redox_syscall-0.2.16.crate 24012 BLAKE2B 9497a52044458b1435ea16e86ee072e379b6b11ee31602ea72d6b6072a4a99426f409c2e58108a4e9c36dc193fa49c83951e71f4fd4e158eafff18c594dc01ad SHA512 63b5d876baaf99f5cf737679bc6ac7a9e3d8a41aa93f5c59416ce7e3841e2513bff678773553cfe62fb452707f82acc384ea63aec932a31bf94679cd1caddd27 -DIST regex-1.6.0.crate 239329 BLAKE2B 646405e681ce572ebe2dc51a3339f0f8204143f9b2b8f8e74a4c80379c43c3581363ad347610a384d5ee831cf1425f74ddd944a658b1da2461e8068c5521af69 SHA512 b4861c9cc13d6fb224f67057fd3522f04576591b3d7ae0d3581dce42ca2b2bff96860cf2a7f4dfab00e46a1d29e6473f6723c4aeb02e34ed6d5f205b66f07876 -DIST regex-syntax-0.6.27.crate 297300 BLAKE2B 4ca1a2e23d04e29c5925085ea4ab7ebcc398dfe135eacaab1e686aa8be43a110a28e8bec05a6910183f9a6bb1fd0d635fcb1a60b5a6a03fed4d2cf937a542a5a SHA512 5cc705a5dda08cbdb4dbcf3fa98763cadcda13d9c3ba407b35f3e88d77935efc2704bb40b3fb5aad7dfbad0df43bcb4c4cad9732defb954e2228a0739f7c37c6 -DIST remoteprocess-0.4.10.crate 48457 BLAKE2B ee3effbcd9e9ab85703b1042839b28eada9b4e9712b9c94301d37ce8eaec122fb7d32d7ed4a74b861202efa1eb5e24c37d35fb52e8413dc9496249a6876b4ecd SHA512 ac8a1733525ea8dab3df21d6c0767ab39b6d3aab2725467603a0e9a5389ece4c9b41ccb332995c5a923cc352d5ae71a8af04a16dadf1e0f2a9ea42e38f078f81 -DIST remove_dir_all-0.5.3.crate 9184 BLAKE2B ab7ef94e0230ddc9b363f038254a180881bbc20eb04a254f97e6f71ed491c99ba1c88f5e85632d450243882a4a0df63f3b8b183bc1fbca9caf30ec23d577b1d7 SHA512 50417d6d8a33912193a1ed37eb72b47431b12ae65d2780cdb7080c3d141e63819da13751c3fb737685cea322f70b36d413389c3dc01aa12b4dce615aefed0e2c -DIST rgb-0.8.33.crate 16261 BLAKE2B 208e85e812051fec9a12a6c37edf1c4e2442fb283f49858dcf2c154272bf274eee2492e8349cdd64d0cb2cd9d13bd2e8513f447b1e95f193c1e861b43c316438 SHA512 e9f8ac0eb598e1b917604d2fd9ea14bbef65345397d88296583f7ae0e5b3e231cf8fcc592ad1d7a402d96b8e478c0e9e872ab36cb8ab4e2239469d227dd05fbf -DIST rustc-demangle-0.1.21.crate 27920 BLAKE2B 73ada923b9b293c5a9893f86fda0586139afbb7d56894cabbd70612d1fb0330a9e491d5143fe3498a0c8d3e1a3f8e63c14b20865926e4c831915592486ae32d0 SHA512 4031b26863a726cc6d3398b48682e0f0f9e5665abf20a5d35343a904ebd7c0d3752dcdd3a049b2bfa3e2a303214dc39a2980700bcc64464f7029be3c7f34727c +DIST read-process-memory-0.1.6.crate 9093 BLAKE2B ed75e6a1af3da2da84f394818953b7192c2bb4e059958b06589ff9d67c57485753f2f266cbf3118622379f8b77604d7343d34698c790fcff34e9fddb45766daa SHA512 b98b2628794d2a363f85fb690f6f8ade7be4944308b287fb1fac6a3363df93fad5436489d35ef818f27c9066a82ba4089b6d6ea3ada6c2d7d25b1cfac09f9c9a +DIST redox_syscall-0.5.7.crate 26249 BLAKE2B 97f848b130403686404dc193415e5060c32585aa3638b825b4775e54d9a058695b86457ae9e3cc0240bcac27ab4c05dd6b488bdc1c797faecd236c6e477fbc3f SHA512 e9f2d254279a4063089436b699ecca766a997a72718d132a9b35f7c8c8fc82c4b5e25fd8f3e6cbd17920fec484140db520c262376ed1c74f847929b7f43fb97e +DIST regex-1.11.0.crate 254059 BLAKE2B 9450e54b522c3f12e4f1d814025c3037f8373b9e1feaf2028756b573335cb7f22400b0925e3ceb0716d72aeb19b02b4bcf70b0b435a0252d0d52a7028d95308c SHA512 16c066664ae87497f9880a52222301fb0d44053ae2d6861ea21dc59cab82bd1ab8ac407f9e77228a21a586ee745b02f9eb10e7b9b30df2f3aad73633270bf73d +DIST regex-automata-0.4.8.crate 617784 BLAKE2B 7535c79f6ddf1b1225e21171921594dcf32fc3afd47519d2067b2047b19070cb7e6fdfd1563b884fec6f91dd568522fc95d85bf095c11f8c02daeac128c45020 SHA512 278e3e2ab230ed5fa7d4837e8ea879fae68ebf35c2da5cc3a67f46b7d593abbcf71e6326a0cf34e38edc0f3f2166ff42a4fcc17a400d9604429aa5b4be075a3f +DIST regex-syntax-0.8.5.crate 357541 BLAKE2B fc6d125f7a8574c37d81c75cbfd447cbcff736f2d9991b19814ffc1a414ebc5b76e84fb8fd36c983b38e8e391d165cdd9047832b0d9100f0e1ba7085484b7db5 SHA512 549d8d130fea9ec0d5806126f57f31d433f50e9328c5532ad417c44bb5488ec0d20acb0983dbe54dabaa0b453cbea4533cf7baac7144df119e8f78dfe55c5ab8 +DIST remoteprocess-0.5.0.crate 55339 BLAKE2B 97bea2181b37284d9ff34077c671532337e4b0f77c9856b8ac22385abbe31eb5ba8413a28d98525e87ac8229d0641b95fb76d2267074218dc15146b40c84cef0 SHA512 e12ee374b91dcc1c320700ded44bb466a05df953fb2c68b74741f2403ef0fcc265cfd3925b088e23871e2f45e68fd26b67c020c656294532df204de7082d0d68 +DIST rgb-0.8.50.crate 21980 BLAKE2B 9a1b50f41e335e558d7404b342c81b5d9862a256456ade25bbe46dc18592170a9c7e8ce388901a5453e4d14ef24231ea2bf2d684f62c3051d79fd0bb85a87359 SHA512 cfbbaea59d5ba440c2c7e781771885a23e7f86c0c255e060010e04b55b8228242a5d566f2247753fbd4e339249add996d607271fa3dd90025324d413c6506550 +DIST rustc-demangle-0.1.24.crate 29047 BLAKE2B 8248b014eedb26cdc0b748544ba91b9aae9c992a6f93b4d3ac256b78f691d572f8885a3575492ea556698a241d2759743968293079ca02bb6a5f318b0ed66dd4 SHA512 eb897c35300b87766e6105917a907fca1c5b1f7691fc03c6c1aaf38075ac883a73d1eb54a245d13ba59c7b0f0333d6543e23fc1b1c542fbbd5c750a84660b9e8 DIST rustc-hash-1.1.0.crate 9331 BLAKE2B 16ac56622897f47a06b661fb59a196b08d48e782ab87549c8bd5c6fe92f374c9bfd44dcb36588512bd9b6125c2fd79a12d648aaa308fd9694bcca3a7c1b49ac9 SHA512 84e673ea9b046f7b989d47f2c4505557fbd5de991e6fc9f56a03605d40e0b4ba5427cd566954890153cc033ccbec6c984306634571935bfe0d4cdfbe56f39544 -DIST ryu-1.0.10.crate 48485 BLAKE2B cbc0ab4e0b2031f4ca3a34914bd61395d14706d42e2414757aa23a67530d549382d61b630159c92a169d1dd3315951b0071ff18349d2b090ae262de536aa29e2 SHA512 1bd0af71a20715251dd42596df6e7677e44f712bbb40b0d9544109c1b2478a7bd2c9393535f0d4f3bfe2d1b75b3a2b899044051715a7da7d165d6d586e0775f2 -DIST scopeguard-1.1.0.crate 11470 BLAKE2B f774eb90b7d3ffb2efba47518e9d1dead4017ab4b38a4bd74914daa84a5af4bf9eb63da0496e3924499d79cd0439c37447aeda4a21226f95645bddcd6becfabe SHA512 368fa5726df8f42b599993681579a9ffd0196480ee3cd0f9f671e8493f3bedd1e1779bdf2beb329e77e0005fa09b816e3385f309490c0f2781568db275d4d17d -DIST scroll-0.11.0.crate 27354 BLAKE2B 21c885468642a77d6871ccf2bb748972f33c8abd504b2c0232bad9ec21228c3ecc9bc267b44898fc1dc5ab3ec494a8c6e01dfc5bee0dbe93117231de9f056b37 SHA512 84a9b1eb8a10c2bb14b718984ebdbac4a02620a65d6ced24f5346a762d92cc22a69fd204de1ed97044076d098a5ff9b7e20f7f00deca2b1302eb0910934265af -DIST scroll_derive-0.11.0.crate 5615 BLAKE2B 83b8b5d68b7496cf49f16b7a1450ff5927b9b9afa887fca80d2763e88f1be3fc4650e18a74944521867f4d920ec040bd91e7133132d97692cee4b93b9900fb1c SHA512 71cea55a78cceaea15147eb71f463c4a3cc6137a499a7712b61e1c3a340e72f5dd438e49433ba9e73e5a3e9d23515a0e81b2abd2ce1f426aabf1930f7d251ff4 -DIST serde-1.0.140.crate 76408 BLAKE2B cd89def1aef2c850c62e8efd8ed03da9e725a0e80c78de1a8b053d8a9c7d089509b9e5855b2c8b7f383cd58167125b91b9d243a6e11bb2e9fd6cb68403187311 SHA512 cdccc3ce607b327785821d8a4bf088b78380a622aa32efe7b1cf6f7554a03f7a407f500fae733bfeb170093e08ced50e81d7009ed502d1e5b4f021609fcb750b -DIST serde_derive-1.0.140.crate 54851 BLAKE2B a4a104c6a143e4f5951bb94d3ed8cd4c882a4508d786ad802db4de4c84fe932bdcd45d7882f75e5e4c4ff8cafca4188e39d62d71b65ff6ac0bb14ced9f73781e SHA512 209d66ad4cd11d899aba6554cebd517fcf1a8621c9bc0103cef51558f954d1995bd16fe6fc09ca5a242820ae4764ca774fbcfd99b07ecaf609d680fab66e2aeb -DIST serde_json-1.0.82.crate 144514 BLAKE2B dd4b5ee1b93f04be09b1c204f8484091d608acc3966ed4c8252a1d46003dd154666e2731e761828dda4123da5c45bda653f453454c5c7c11977aef05bd0e9e9a SHA512 39e4cb0d8b22c9beae6decb87b9692581698c6309b2e9fd78e5e199a200da563e7459d34435b7890e274e13357195392cab69d73d3ee2ff537c1667de32f92c3 -DIST shlex-1.1.0.crate 5199 BLAKE2B 325536bab9c9707566a099a161e7bc8448c7369cd9d7b2f144ed71543d551038ef1fd764376491e8076ccdcc928b5c4e177764a68584267a91386b8d542264c3 SHA512 e51892298dd79dc7cf04d7e6f0a03e4850a57b15cd75e6e3b56e2a0b15d4cb85ee8afcc14e3727d193c8b91baec8c2864a9c800834ee4d18a1be584f17591752 -DIST smallvec-1.9.0.crate 28396 BLAKE2B b04100f0a8db9e7c34a425e665242772c9857c5a4c5f34468a3f1b14f669d5cd21de2d54dc5295a22f52032370e8e989fc61cea3f4e6574ccca5be639c645e74 SHA512 e7158393d4257564eeb8fa53a630fdfc13edb33f3c555e41606edcfdbe9189e5c59c25d255dd21d02d4abad1ab2931e21744ec6c2f91ad4db66f87e748a45e56 +DIST rustix-0.37.27.crate 324534 BLAKE2B 65fc8317c5aa86236b2099104b6841a7d35d4567977218f5e59a85d199aee7d6b9f0278083d93f575b31d77ef8685576b7cba06ce8da6e96a164af30c854ace3 SHA512 e1c648cf11379509b732b9e9ed88ebd36006d8e73755528a09aed4f46df08e23a705696c5e6ff7ea0e4382513edb487f9859a8f1673150d60d70c698216fec3e +DIST rustix-0.38.37.crate 371243 BLAKE2B bceaa4861747208f1f2b68f8924c7247648d88deb200e97d8ed17c5cbf9c934488065f0ee7e4406bc96e8709b292ee1fe15beb346bff57b5f05af36174420a0c SHA512 6c0ad1be1fcf1b74f670b2c7599ba68c2ce834c760ff7486674d190ae0d552165b0c2abdc35b13eee8c0333a904c67f5dd1efa742c20fd3735c7ccdf2a439619 +DIST ruzstd-0.7.2.crate 65802 BLAKE2B 874b89fda07ed4513e308abe4548278ce5005e0775804bcbabdcfc91ba41dafa41eca946575cd2c56508ad7930cacd40587909d33171514bac10e18f6d24122a SHA512 a129deb9496cafe7429edef3d22d90510a67a0ab8e89011c4c9e38b7ffa76dd3f885cf70ad40179cf2165cc7f1f97234f1795e37f4c6aceb438fe5bbe3aeee8c +DIST ryu-1.0.18.crate 47713 BLAKE2B 409cdf4b4e77685394018371e91ad6fdb175ac57e1df9f902871f13208515e5a2ab1daa226fc1e7291278e64448332845be4cc9409bce3b2f3daed409259e104 SHA512 a9b2beac778ec47e6be303148d7512ee681bd2361f6e4ac6db32c8b4baf86a8c5eb5b0d02eacd6131ae88c7b5105c57018c3050676e0b3dd1ed9c4d2fd650e84 +DIST scopeguard-1.2.0.crate 11619 BLAKE2B 8b7e9ed6cefef9ee55407fb9690d57a2a98bb93e5105aeebdb475a52485e9e185255249e1dce8f83cd80534e7402d485aac3efa7e8493b13135de27550cd4bc4 SHA512 6247719a15fe1e4e2d179127b9a934bd2f99367724f41175ed9522f58824b6bc69b35002eae66b35880375ff61d77ac43ddaa78cbde7160a35183a1da32d3fbb +DIST scroll-0.12.0.crate 24145 BLAKE2B 93f070ad4d0656b6cbbbca78d27269e8fd5895c515bcfd51152bf5ce2756d43ff0bf13dd63201f4f1207feb993bfa853c9567a298a040369dc6be91324570deb SHA512 475a9b3f09d4164a7192c9d2fbc209354b9442e669c3cb318bd3f31d1a407aa328543bfe315c12ddd962bf8518ac378476d6b5677ecea170e6d507c70c4ca935 +DIST scroll_derive-0.12.0.crate 4693 BLAKE2B 957aa96820cf40ea49562dbc12a419c7b8b06bd94a759aa5494f4ea4fa08a5f154a7dba8acc3d8bd41c1a2f259bfdd2d3f4b4dfd3dabfc30fffa021b4aee4930 SHA512 db2ede0f6d16783915f5f155174fc0cb700cd054a0ec54fddeb899f74da4dc2ad5acd6f0784701f93a95a42cb04c82e7a7de9680ba0fdaf4dbc51a2358610bc2 +DIST serde-1.0.210.crate 78338 BLAKE2B b3621d1313312177a346313e6e384fe9660f74eefb18e6cffa39fc2aadc0ab73be84b9037c59b716e5feafcd73f4f054f83e6d17d82746984b3064bf8d3ed338 SHA512 0d853ca51543ae8b4a0c70204ff4e559a4eec77af3d3bdcfc75c5905c80d4ffd1bd9eb8258ea4f6ecfbdd26477ecac7dd698d84d86759fa32e03a9cce02fa4ae +DIST serde_derive-1.0.210.crate 56020 BLAKE2B b346e574c99b6a8b12dfc29b20a4fd2daf8abfabd3714ccfde059a3a1f14a5628d4acf6a03f8076174fd28adfdb7cb9bbdb8ac0d4403aa2f43e917eed4b08028 SHA512 1c54d70a55007c00d3ff3d8c2096f4f9966431ba7bfd9195bcf41932de71b71c4ab934f9a8c5067cb56a042742cf0efab07377dbabf12feb1af6d20399de00b5 +DIST serde_json-1.0.128.crate 149520 BLAKE2B 246eb865f64a0f161b79f3d4f783dbadbc930c4a19edb6c0fe8f0c6145c7c47be4b692d3e084b1b500820ece8e94214820978cf898926dd805bd431fb411bbc9 SHA512 9e6290d3a6a971b3c37bbc97097b8179e64c655779b43c7b75303a35ef7030f5401b3a5f62cbc95a7bd5f42ecbefb0b469234d78a76c8c1597726d8e08908a7d +DIST shlex-1.3.0.crate 18713 BLAKE2B 18800c364d3a628f1a3125097ea82fe6286550c2997235df0bf8483a3906aacabc81308cb239887d46ba2f457cc6f8acd5aca78316707eea5098cd5666aea67d SHA512 5c8cedbe666a14b8a0874defb9208146ce64579cde52ed483e4a794cac5dde6a24bf8d684404edff582f842e1fd4fa3fbeddbe074f191e4ec4aa517aa456fe8a +DIST smallvec-1.13.2.crate 35216 BLAKE2B 31a268aad595c06cdb078577a97b089dbea156a0df307a3e6aaaf4861bd9a680c5b11921da9dbdb1bcfe17d58c0cbede1ffe6bba3aef59b384fb1b9703c62d27 SHA512 a97c758b668e40ad9eb572e65feeae4954e09200a04ab92e26a13b48894381cd3a3d2571070c4b7a5e181182e1ede9688f990650342ec69ecfe1a264d234c679 DIST stable_deref_trait-1.2.0.crate 8054 BLAKE2B 287a65c3e5b47213544a43e57c60a54add60b4c2e3c8d042407d860cc950ba7ca01a2e67ce56aed6744992b61ec1f9aed3321e3d88482e33129548b7d51df205 SHA512 a13cfb22723f1f2cf089b2d07d657846f50c37bc0438d1a76096bea30214cad226b7a422c21f9e191ce87071da8a141d61882aedf9e0203a5fffdfda86a5fb03 +DIST static_assertions-1.1.0.crate 18480 BLAKE2B 358dd5ac413d06f62da0388e2016c5fcb8ec68fd7dceb0dbbcb97665c032b7509b7e083c20701648b6a9174485f117c02682ae4bde7ef037e80a85cdf6a0c86e SHA512 46d0e35f77941dee6f60f574c130472248063dc38494c1c4f84f7c048244cc2a58a86fe17c0990e3f0f01406b75ed385a13d00058612b27cf0e867c8d31c92ee DIST str_stack-0.1.0.crate 7977 BLAKE2B 14cd6049e5e0601b0b63a1c0838c1fd0e67ec78920bc76608d4e0e0e28581c7670f9de23fe1340b7450fc6debc26322c6c173d51f1cff605165412053563c42a SHA512 8d910f07cfc699262a8204888a62f01c991bc1fed01b35b34359b62a5f1f8ec21781b623ee246679fa5d726b23bd5381cb697408fa4fd37d3e25e1ac8a7f4c07 DIST strsim-0.10.0.crate 11355 BLAKE2B bcb25ad0a7284e24e4f17ebe0ccb621bdc4118e499b50b094d98aa7e8fcc0b96716c9953c3516ce7ea78309d41d424892ded595259696a5bbffdcb07802b5c2f SHA512 78b318532addfcf5c1ccc1e14539e258aab9d3cd893cc45d82342549bde838c177d90f13c560671f8f32929af47d0b467db35e6876bd7697d8b3f9e055aeeac1 -DIST strsim-0.8.0.crate 9309 BLAKE2B 40a8be506c43ee1ffe006ddc7dee98c3d418bdd205d57b78f5d1e4c9312feb57e1eaf952e02d92d4e0932db240c6fba45beb06ea8c4fc6de1cf1faa8b6a3a939 SHA512 1d55a8d946cd55f5f37d06aea536549ded95739fa58c0f2da285a0041154c181f663682bdcac643aa198b3e762d694a04f058db985c62ebe22b5c16327ba6d34 -DIST syn-1.0.98.crate 235451 BLAKE2B 0667c24d7f6b9bf4c0a5f45fb51c903303a87c72d445ad824e05ab98a158f9beda0d00721144c486335b6a830db47fe57a34831cff6995f478c969c4d0a039dc SHA512 fe5dda742e085e14b6aea5617d3f9dd19ffd46009f34b119c0d74ec693042f641e594f75ff027dbfa38f3d5149a94eb6187248ee9d09d41dab9cc2cfc18fab18 -DIST tempfile-3.3.0.crate 27578 BLAKE2B e98c5ed4c59b6ff411e89ad4eb529bbe15264d6744edca8675c89bfb4397fbbb8da60bbc582da24bf9953afd9bb17cdb22654d933468697e9fa9e9903e6a7c77 SHA512 ba6faafb2dd56d694efe424752099a2efb50316afc0a4db9fdb7620ae3f1a31dfbb2a7b41724878cb977fa11f7568a406bd3b6a4f7cfc0b88b86b2cc616b953e -DIST termcolor-1.1.3.crate 17242 BLAKE2B 5aef69c0004081bd3cc4d531d13d63627cc02313868c0faab62358d13abfa7b4ba82f142c2801d25a6ae46ecbc8b7bdbeaa21c9105ea3b8950ab6a38cdb88513 SHA512 5838fcbfd70f300cb4b62aab50565db52074c56b152ccc8ac1173e4676c0d5a636271bf5a645a77da6e1d4edbf0091af2cd4dd6d73b85c3d198c760898c06f3a -DIST terminal_size-0.1.17.crate 9141 BLAKE2B 048d8e8e9dad08aecde12323681d428b9182afb737136cd6699e13d231f7882091c9167cb10a08e5151df912421a6f89132645627e42ccc73d07553cadb1c8cd SHA512 96ec1bc8abd597f01ae59da567036d5d40b422764a4da662e2030c3ef4ce80a983c8b6a4ef1f34d88e649e0b1ea27b206d56a31924bcd2d31ff7e5a2e96d4201 +DIST strsim-0.11.1.crate 14266 BLAKE2B 252a9ede4241b165525486aa8855dece37af77f5b28e0e1858c4a5d2047db9fa958328db10989234aad69463ab51b2303785ec056c63ea8c95bf95e111ddabf2 SHA512 0cebe0155a92640e56db9a599ae62078cbb32e1d2da8bfa67ed0e8f410a7558dfcf7b3c2720ff5913282e291ecf076aed9fe9bf84c8d44e814a642b1bed3335c +DIST syn-1.0.109.crate 237611 BLAKE2B e827445d00c79a8eeb91eacde472f1987addd6ce9e1df95d7abf6446a77ff4173a8006845f3ae71c1da47193cfb72e0ead9a6d6bad2573be12c17e90735d9ad9 SHA512 12816b9e8cf984024b2fbce9f0ae14cf94d4d2c06f08cc54fb793ce78770bb4cc1288eb7df0ba5e8e937756e1e8e295c53fe07a0c5dde1ea8ddba03b6203b37d +DIST syn-2.0.79.crate 268981 BLAKE2B 2bf4bde1890ce4ee91fbacca81bd298d15f0111fedb27b9cf8d675dc2489f46026c1804f9e4e24afbd0718539820096cd5c4ed2c2da02e598370dbfd2b18c293 SHA512 1ee073fa3428c031e53bff8ff305bcd6b37ac142bee3955dcdb44fec1c77c733eb78760c8bfb30b83fc3dacdad8a384e2b6f9f31a89c4cc300359e33457fd433 +DIST tempfile-3.13.0.crate 34910 BLAKE2B 736378935088ccd8b540997c0554444c3752a74c9a4bd82cfcb700a9b22f572d0f2b3e61252064d4a631b57783199cfb42309e518826346a83fb5adb44843c49 SHA512 68701bee80309cd8dfa96c237b2344f26bd03702d2fc2e1a253820c98654c85d802aee1e0fc856f6372159a92ecbf624f78c8146f34a0cf924f5b56284915f85 +DIST termcolor-1.4.1.crate 18773 BLAKE2B 34676efbde8e242415857d6d40a287ae3459678d8222f5144faefb8c84d635686f640e79588d98635c8f25b7628ec6663a01b16e1e462705b5cba7e8b8e61f44 SHA512 b66aad157c4fa2985f764321d157dfb1f0325fd633811870db7919b5579bf7bc19fefe99e1c706cdfa67504c37dc2ca3d283e11d1bb516edcfaf1eb7747a778a +DIST terminal_size-0.2.6.crate 10585 BLAKE2B 8696b9046c717eec8bf7246346af84a5d0cb740ac6e1335a4d8c20476628f4c0dd7c6106cde33513681466e9701d4b05d73f22a3bd2dfabc4d22045a69d31345 SHA512 95f38bc00f8c5e1a6913bb2a0a7c46d96e02a4f3234af1623ad3d7be41eae677e77f1b5d5d005d1e9d778fcc6c87196f67a51ab37caab5b4d299da79c85d06ed DIST termios-0.3.3.crate 17103 BLAKE2B 855b1115d02dcb275ea772dec3db383f9a6f84c14876ac037a5e3bbd1e71e26d3adc64e41521145093256acbea56c28b6c14f7e3e2bc9fda37e7cea113abe214 SHA512 3d4cacdaa8bbbd9083a050e723c93510829210f5ca8eb806e661a3a1e3c8aee33565142c5df34fca74aad0d26319525ee70ca6faf3f55a29427423d37fda43ff -DIST textwrap-0.11.0.crate 17322 BLAKE2B 257428908342774593bbd3528fcdae710712ff54e8a711393a24356d8ba0e16e466a4b20c05f942c48ca76b3b5b5aaa90ec202f782cad892caa8b71ccf124da6 SHA512 f5c0fe4f28ff1a3a0931e8e235b5157a45f67967985bcc752418c5ec3481fca44a8ae4800088889b37e8cd0533f53d3c456d5ffd19b767b3f83a87b49a2e209a -DIST textwrap-0.15.0.crate 52998 BLAKE2B f6c3057ea6ffde88dd9824cd3159d398316d9d21f327d2af59239ff84d79f893a9d0e96dfbd883aab6c64b631dc99457018e38baf14d40789f02d633425ded86 SHA512 f44271c542c22f17a4e3a459255f95e6c02d999f7d6bc8414d3973fd4ac9353aa4ef436932a45340738126905463d776902715feaa9329371f8a14f14b5a7bfd -DIST time-0.1.44.crate 28885 BLAKE2B 5e2ca11af9da0847239a086330d0cd00fcb5b63862f9dfec46f72a065bb35ec2236a21ee1c56bf65e3117105e7815cafe67e3725b8575373e875dfcea401d967 SHA512 736a38637be0193a06fa35d42b4873b04a0a35d84cd2af85b7f653a1b67b95078577134bb187b777730e73cce67f437b45ff5c72b8e3f1f8e2ed3420ea0324cf -DIST unicode-ident-1.0.2.crate 34951 BLAKE2B f03f7a040142785675a800672bb363dcf7aae266eebf50425436100249442f27b18837f9e297d93b59a9254c349e13222f8af892a9c0fbf2bac676df8a1b0e1e SHA512 60d78668b762eb842c15ee554c0c1175393702c805f1a874957d49104e9152ad2d0316966553fb14cb520aa858a84da223bf426d55e4ac23de3324a3bebc301c -DIST unicode-width-0.1.9.crate 16745 BLAKE2B 38d4b92e47a284d6881a8073089be59a73d82b91efe5522f55be977f95f479890b6c02cd519544729f1b1e62eb21bcfff8c5f5382917f953603b760e39cf1ea7 SHA512 0f5ec46c57e3b5e50cb8430c89db8d9c129e80ca11a9c398b5312bfe95001e19ca3efbfeb01c3ac09c4ce7e26c6ee1f352f7e114ecef78cefd68c54d2d50f5f4 -DIST vec_map-0.8.2.crate 14466 BLAKE2B 8f109fbff19604b82ea2aa61c952e2ce9b5597ccc8e1ef4e847648e2de08dece8c4debe92889edeccb8d393645fd0b62436b49d236ded7ad181c4a51239a9539 SHA512 4f1ef59bc2c437e79f1f84fe021bce5aa8ccd581f500f3d5776913d5f17d45b03ccee64f5bd03d47656318cfc9344a1f4311079d471fa409a8e4e94c143973f9 -DIST version_check-0.9.4.crate 14895 BLAKE2B fa1fa4008af165bfc1fdbe560488afd9d232cfafee94104fbcc4cbc52f234849bff9ddfa88109a1ac682f6d9c1d86b0459893d223f64e65adc08966aaf93dc89 SHA512 b172dc9a3759a4a683ffc39b9a40b03b9974b626a088217de87090466cef695226557c226cf3e469b2b25ee7297b7eb0d7719878cab42457f80146a81943c0c8 -DIST wasi-0.10.0+wasi-snapshot-preview1.crate 26964 BLAKE2B 525db01649a5981ee82ad80a1a4bab9baffd235262452675619f36a1b454017a74593c53c129f8c30b865994bbe30ef19cebaad9d245ccf54b9b07ef70d5d8ec SHA512 88e2da617f50d9ebfb1e0c5857321fb86b5ee88ae8a8d199d3cc092e0f39688a2cb68503f7c6bb09dd6bc50a9a03597a1eb2e032150fbd0d0b8afa02ad771c88 +DIST textwrap-0.16.1.crate 56012 BLAKE2B 9b5a7c76eca64d089f4fab7095f2d35624527ca223e53b03cc807c6bfe913a99b55197b973a3102e3e5c4055bcd6ab580a0c9d67657180b61435bd6eb7631211 SHA512 3a8d2036c8e4b88866d68b8066a2991756f6bd4ac5c726e63fdffbc894fbdc03bf8b6e0ece4b96684c8e1facb6413190768d51a8539094efe47977c120d31f1b +DIST twox-hash-1.6.3.crate 21842 BLAKE2B 67c261b2b0a93293717a4e2e07dc11df2abde09da6fe713b9d04917ace73de1b59b8d4fd9449ab46cb7cf496fad1e440effdfa1fae6f5cae4ca78af8cd019c42 SHA512 f7ce63e6e5ca79ce9330caf40b32578a5d2088c5d8ed371604268760d6e212d447d9e3a95378378a283024155bccdaea47597902c488a94c5d5f79770baec8fc +DIST typed-arena-2.0.2.crate 11848 BLAKE2B 1d2821519c959b8e5f32942fb106f836a9aa753a43058cad6898588f8e0d9abcbe7a94a91ec8d30c62e59833563df48229c6aeec8bf7a396de20895e39571d11 SHA512 33f43488ff63ab763e4330d124e3290ece41e50ab78b6f12dae3a2be4d7f5bdf6ec876ab3b1f8cd81874e335fc41f3a2254994f250d3d6aba682fce557a6a399 +DIST unicode-ident-1.0.13.crate 43279 BLAKE2B b5e935020d1c9f3aa24f7d382f6b73d6510d654a61ce1c9c024e2e365bb817182e076139f370e822573531356fb78ff7499049b1f29aa1e2f4a2cc74a955b47b SHA512 5ba884f39debe9c8eb0b1d251ca713f7e2bc191d211707ed10cd81465487dbdca53914c19e131edfa1da15af132dc2c346260c3969c61e3747b63399ccb1cc51 +DIST unicode-width-0.1.14.crate 271615 BLAKE2B dd2e1504caedecb5d37c397ba05446d3d762b8b6833a8032ebbc213e324d53d89db5e96ed2f7223096e5754d800b39a54105906effc88d9437d7acb9e7beb81e SHA512 3c58a18776aa82cc13c761789a47901616cd98a30356f93d7eb05ae457314209d0a66213e2bbfa5eb8b59be6beacf62438234ce8daafa31b128dbf7d5d6fcadb +DIST utf8parse-0.2.2.crate 13499 BLAKE2B 095b5d219ab8ff04c06fd6303e03d913ae36a57845f0b2ca3217a40e31a54cb0fb5ecedbde165d28f5f60f1553d8252986d7098fa83befc84a7cb20bf3b76144 SHA512 f3dbf78fe924f1dc3cf9498b6e43fb10174699463f31091a7a8136d8f31ec84fc00e80e3d8551b7e86257e8b3573cfddb56fc0de797fdb2cde0e962a8f239266 +DIST version_check-0.9.5.crate 15554 BLAKE2B 131e75cc287518831e142430e2a39b48e4275874f4473780d47a27552294097aa1cddb65c385583e1022478f940b495eb43c24a8b1617b8ac5a24af3340c0d72 SHA512 d11d5a2240ab0c67ea69db56561ce202201edeef9a8e5eda3d9ae7ab7bb5752d8f343fe7f6536d8383de8d55f9024efa84f66a0c21e69563b7a38c4a628014db DIST wasi-0.11.0+wasi-snapshot-preview1.crate 28131 BLAKE2B fe501889f25d65e2d032f885cc50c4f8bf7dd70fd5cbc438de349838370d8699e9627b0a4fc76030ea9fe6d508f41d0c9928a875fdbc47e73bfb17241cf7b155 SHA512 043500ab28cd9cb779475255da5d109ebab7fccca72b64873dc28d77bc5a157ba8d96b9e8f05223b5b36c7089bb7b4ba87657fc69bac16b78972f897294a865f -DIST which-4.2.5.crate 9326 BLAKE2B 8aea79157007f2326d21083e1eba387611233a19f39368904cf2b0e9b6f09b4fdf6dc469cff83373912bec6e2aeec191d217b0b1e720ee0db1848b6f64d37054 SHA512 2b2b44773b568946799035e5b90c1f0c304b399f4d330c1e063323f631f56ddc6c5d8a9d026d987cb39c801ccbfb614450064030fc19e1de34ab6a495f053395 +DIST wasm-bindgen-0.2.95.crate 43894 BLAKE2B f14fa63110c62d3bd51c947f31ee96b11812fa60d6adb9cf1907f99c011bd43ab8e14b437fe8b6357cde37124769080b3bd20a2a947fafe3bfd6cccdb875b5a2 SHA512 5a303a6e9bc71030371d6a60a04064b148423d89b6d5de4232b24ff5205175c5236812209eccfc60d8f82a876d3b745ae76ebcb30811eaa6f39701c9a84e1251 +DIST wasm-bindgen-backend-0.2.95.crate 30487 BLAKE2B f199e3392e964c4b0e6a7b2e3ccbbdc458973b4aae4193ce36ee0ac18d595230be9ea6708caa439d70aa92a7b924f51928059984f560e5dad20d41eaf06616dd SHA512 1bea648ca248cf13383b297917a5c315da9e4830a8c49cd3ba23392566725cceae818b4e7e60ad85360c9073c2e557fa36452a2cbc8e05b60318feda7404026e +DIST wasm-bindgen-macro-0.2.95.crate 6938 BLAKE2B 672509ff595fae86492dad98a4480f28d74a51fc8156ce7f96928b148f3af7f0f45ca9560b72148c6ad2d45ddfbbf3dbe39e2c94603ef92a925ac5503d939d2f SHA512 1f52188932e20145cb23d527a733fb5fe211813826c6b5ec04277e376127b700aea181efa5f60e34d120f10652066fbdf001952024017cccc7af728a3c8e41d9 +DIST wasm-bindgen-macro-support-0.2.95.crate 21331 BLAKE2B a1f71b727736b7166af5a9ad739da33f07ac3d7a190a27621f8a9821530f9bed78a6c437d194f9609bef91ebea0ed9ce1738eea0a9800344b8af9ce7df868da0 SHA512 f45d78831c37401a417c837281d1705b84eae5db430630a9caf544ce5d92f1ddd945baa3bccf26f4c58170e3cbea035174d8b60f906d2757b152e1d090baea58 +DIST wasm-bindgen-shared-0.2.95.crate 7649 BLAKE2B c18f531c6094b49af3b2beea93914d16b0054a707011890f9054f4cb313ed6b433e3f73c7b42accbd1fa59d1f14c2db5ab0f0a82cde107b9cf437fad8b4cd7bd SHA512 3ce689a4c845765bd6e1f84b94948df3ef84560d98d830a15c1932a2ab1942ec91465db65cbf14a045526cf003218aa5c3209dd06e8ee8a39815757f56356099 DIST winapi-0.3.9.crate 1200382 BLAKE2B cb5799749ccd935ea2d7068d953cecf19f543d9db7dc16ad4584bb7005373ada34937a3ced7225544d8bc765da599911c7a3190efefb3a25b7c1bb7123b4f673 SHA512 ff8b7b78065f3d8999ec03c725a0460ebc059771bf071c7a3df3f0ecd733edf3b0a2450024d4e24e1aedddaecd9038ce1376c0d8bbf45132068cf45cf4a53a97 DIST winapi-i686-pc-windows-gnu-0.4.0.crate 2918815 BLAKE2B 4d357e4d30f9552972170d65b9a5358b69c46a3e772fe05efc22f3d4ffc1caeeaad7aacdc7abd503a7ad0545f8bd7d22bf351dcb6df76f812fa4d45c34d65df0 SHA512 a672ccefd0730a8166fef1d4e39f9034d9ae426a3f5e28d1f4169fa5c5790767693f281d890e7804773b34acdb0ae1febac33cde8c50c0044a5a6152c7209ec2 -DIST winapi-util-0.1.5.crate 10164 BLAKE2B fc800aceae5249a858c806c3e969ef2545766099872d856ebee51c883d9acf1122278db9607d50ca53eac351502b700fd2463900932d342240f97f683d517963 SHA512 7baeb661f397c4693dfa001fdc774b323c51a7c55caad40f2de5112a1cefd1d6151e3df41fa4ee193460a5905917c83d2b1de5fa10b4bd014ad96690af95c0fd +DIST winapi-util-0.1.9.crate 12464 BLAKE2B 7fb9dd803fc2608c4e5bc75674472992d82da364f24c22072d5624d6ae6abc44abd3e3ea3c45a7558e045331f3d87572b306b4ab5de52c07ff3706e7f13c2a38 SHA512 c46b893f67ec6e36499b00736bb6b9421e0e2611e76784afa6da01d7ebd033df82f1be7cf8d871d541125d290983f98f26f759488ba9aface49efce8edd682e9 DIST winapi-x86_64-pc-windows-gnu-0.4.0.crate 2947998 BLAKE2B 2ad1ea8b5fa07d544e910ccba043ae925269b76b26c9da356305b34b86741dd8b9aff0b9ffe3d562db4fcd7d7c46a11ce9e3168b782b1d89ae6881742b7ede82 SHA512 4a654af6a5d649dc87e00497245096b35a2894ae66f155cb62389902c3b93ddcc5cf7d0d8b9dd97b291d2d80bc686af2298e80abef6ac69883f4a54e79712513 -DIST windows-sys-0.36.1.crate 3347053 BLAKE2B 818f7812bd9a55a4e95b3d461fa5fcc14569a159882f950d20fd5a6b7d2a2841f082c0bccaab657f5830549e6286a37d9f8fdf825a42403f543b51e35b2d20d4 SHA512 80973e461bef3be0d0d0c13d02b2129aeb0d0700768d637544315654126f101b39f980738035fe325bd96f549493a2245bd7b82511f833efa7bbcb2f62266001 -DIST windows_aarch64_msvc-0.36.1.crate 661960 BLAKE2B d503150a05c4aa6ec376d1094ad24a7a4b3579d8f60cae65f4a98adfe830dd776c8996d5c3acfbfca1a69598475b918b5de2a162e3253b0b28cd6aa17de2dc13 SHA512 d0c352c78caec9c71bbaa1a688baab8f39a33c903c0492b19398c76e08194183e254ecd3a8b24af3e7e5e1d9d97373dcbab54499236829898a4fd153cfde2ccf -DIST windows_i686_gnu-0.36.1.crate 818115 BLAKE2B fdb78cf88e1049d1ed6c474f870dfd1ff37b48bc24726d754cfec5b3e77075162f291f93aa709c07c9fa38ccb21a6c31cb5149dabc2cc8ad8a85c03408384a0b SHA512 e2c60e6639beb879472a06ed4462667eb4a78385df6bcde1ca579af759cf2b4ac70e84f7dd7b736e7fbd1b129061555671fed4b83bcd81a6083cc013963194a5 -DIST windows_i686_msvc-0.36.1.crate 724575 BLAKE2B cf964bec007d8432e2009644cf7f89ea7d910ccf9512c067b7bf5c6c825208ce4a36e9864c0cbca137f523983eb46e58e4bd01054cecd7ac7126d2ba9f67ac0c SHA512 02bb1507981229422498ce29f6c777d5e412358040128f84b09d948ccddf0461b078a0a20cc7f6ab7da8595121bb369453ae9ea1f0506aab715662e8c631e737 -DIST windows_x86_64_gnu-0.36.1.crate 790934 BLAKE2B 9dec5d966bdc89efbc81989acca242d519f51676ec37487df2bfacd6bfbc5a8de2871be72c5b96a073a899c666e3a39aa60d493e7df39fa90efe869fb744a332 SHA512 598b69e4f2cd3d68f910d526a66dadb465ff30a8c261c9a4455aa1c5b952d23c04f8edaa063cd16fb43564c116a13f06d607f3a0a9c7495054b8bfe1c04d1865 -DIST windows_x86_64_msvc-0.36.1.crate 661999 BLAKE2B 4cf967f10d4ce148bac967598168752d1996b4ddf5278a8fca53360566c37c1a014bfb4dfdc0ae2d96e01196c42eb4906ea80d8e9dd23b9e9f3163631c9e253e SHA512 89c22ed51a74f531662d80ae0fa5e0215728db1e6caf3c13eaeba95a93548b43c00b8474f52553ac866ac83c203b6c22dc44fbc870e882a4c9c97ba54b87c631 +DIST windows-core-0.52.0.crate 42154 BLAKE2B 9670bf02261b4ab2a24eff97dad11e305deac823cacfae286965b62b11bc035f19a55ca710eaa4359c8a4905433a94fe62a836b77ddd68f244ad6ac2c9657f58 SHA512 0c8f1c7e63c11bdcf1361150ecc83abbfba8da2c6d28523799bd286bf8aa1df61ffed19175e8cb3ef516a9afb6248b640c2101a2e0c09a99bfd7a18c6741bd36 +DIST windows-sys-0.48.0.crate 2628884 BLAKE2B 551e900de4f67187ef034b60df9fd0e0d8f82a3100ef28e1eabd543ac129d882dc86ffcc1714071aba09e4cb2ae2d2f07ace1a32b99fd989ce525cf05991edab SHA512 bdf534bcf3face31e9ebe11427a911a53f89f4ff5eaea8cccd094e139bfe14b2aec602b1cab1df774794d999477439d9adc6b627a8e33c20334fc348ba2c47ed +DIST windows-sys-0.52.0.crate 2576877 BLAKE2B 69d6b560ccfc8f679e2678663ba606060d71fa28efa82c8aef8cceaa2c63b06f2052764d60163964f939649a26bbec6361ee4b094555e941fae92070db566980 SHA512 24ee0df246c2b456a4987a9124786a28acd358768cc7d1305bccd81bc5bb8822b81a03fb18d35174a520b911c6d9b685f81a34ab319fee13da3b985273584f03 +DIST windows-sys-0.59.0.crate 2387323 BLAKE2B 3110c8cd2bc005f8c95cd038a8d574af648dc19788fe4485f977376f92e36b911b1a542d669a07ae9cd4ea72a884ab01ec78b8a2b5587456eb202452d1d8fa0d SHA512 d35e009e979633a1f3c8468cd038bd5c8c0381405165ce03497decd7d9edaaac485d704487e4a61d9aaf4e4d011b4248408912df6a0044d50e8457259867e061 +DIST windows-targets-0.48.5.crate 6904 BLAKE2B 7396bb210f37bd51da86f39fca3425c8f6610721d5c4e94f9fafa0a8a8046303b3fcc6979146bcfaa32f4406d242a0455f6cbb220f84c6ff84650e755acf5223 SHA512 e079eeef255a046be7f8e6a31c14f7b230254ebcf05eed2944827bb3d2a0dc30940d87593cf544d5e7ef35f6312b99430efcfb01421d91b02bb9c4bef7d98709 +DIST windows-targets-0.52.6.crate 6403 BLAKE2B eb98d0a8daeed5fe76e7fa8edb2743e2a3e77dfb9c4ea68605a6ab10532cb7cfc43bc1cea0180869445bd940be762a40136500e26b84ca88b5e0c502004c7a4c SHA512 d6d2dbd96096c6c396dba141a9817e377c35877f3b2fe58b2553280c7cfcb1ed6ee75bd4d62c9b882662de67ddaf0c1049b91530d29c94dd709c230e08eb895f +DIST windows_aarch64_gnullvm-0.48.5.crate 418492 BLAKE2B 5c6f7d73ad05740f0bac304ed1ef9b2ea63b0d6ca8f875552ae299a0b73b1557e8fe996f1c2b69be9f2df350c9288690f49ee62239a2896991364331d6c55462 SHA512 20158d31454488f6053d3ad7b97d7fc6eae6cf37e4ba0e50c28bd29b368505eed64199ae31104d5f97b66846be54e5ed25c0ad31ea850819205c573a31ac0996 +DIST windows_aarch64_gnullvm-0.52.6.crate 435718 BLAKE2B 8b12ae02892cb69401329034bbca671d13bd268a112120b56b90504707cef89decfbd2560492844a9f0588fab62dc1476ab7e931126b939015d25a8cc91ca334 SHA512 f62b2d942bdb3a9353465b07d47b93de179bb706511aa497e4addd74cff95e689a9b633e7801ce786e73b5ae5f30b506b6faa199c5ab86eefdc1d94652df79c5 +DIST windows_aarch64_msvc-0.48.5.crate 798483 BLAKE2B 60c466d6536426425a34b5ca20da97c8127ebeb4fb9b1363911165bada484f8913fcd50e90410b5661e0c27dbfe8f4eeaa62fb17d1f3566bfc82b6255e11619b SHA512 223f016c6f1a44dbc5c8a8428b39438f75380ea06951b7c26ed0877b19d79410c6fde5e4c7f2c839b6e76159131f39a1230e0e3a208dfc425ba9117e3665c4ff +DIST windows_aarch64_msvc-0.52.6.crate 832615 BLAKE2B adc8ff61b6dc96d39c92c7d4221ae6aa0575edfc016cfcd046067ca5d8fcfd56d10e8e227be1c038ce34684be22c7ccaf5f18cd5a7638d28fbff4ba15b48b90b SHA512 a3e21305ad0e6de38f5b5ed5d37ee5825b7521064163bcdf31d63341cd87983f54377865d2daf3bb480d2d0aa66d6f598fa09540ec1d71baea74569c86bd213b +DIST windows_i686_gnu-0.48.5.crate 844891 BLAKE2B fdc37cd74a4982056bf22fdb7b84e1c55dc838f3cb19ff3648730a77e673ef4ecc0380b3e4277bb8df2fcfa25f57b69014713d9e3ed27c28e19b25b3ea2ab774 SHA512 931ba5c1e4eb8ae73248e00d9611298d1c4b4b0dae719fdeb9243930cd420a103a7bc2738e0a4887c42c8f25728d6c5d64ad141dc092bc3f1d0f35dbe37d303a +DIST windows_i686_gnu-0.52.6.crate 880402 BLAKE2B 5aab8ee07132eccb7695807eb44811beeb0657aadfb672c54e99b6ae39c067ba9b93e38fc69bb5b9b14a9759f263ccd5e301597d2727d83b31b49a409b6bd405 SHA512 a1f6b5dd23d17ec3567bc9d11a4be6f35e196eee21ca342e9b88dbaa6a5f7c46e439c834b77e724f32ac22c0d81573746b3b513a6c944a221b92b2c76fe98822 +DIST windows_i686_gnullvm-0.52.6.crate 475940 BLAKE2B fec4fda8bb2bf319a501a22372fa642ae682e4dee3235b258a028190ee73220bfc55b3142f06249bb4579b17e5fde662bb2b121aefe18544653350d7d0fe7d8e SHA512 95f13af855d530acc0b856214478d4b11b8dbab3f8f79dd223d0b009790c0e46d096fc1773e0277997deb2d5b96c704f17f23c7df11411524629f75415dec99f +DIST windows_i686_msvc-0.48.5.crate 864300 BLAKE2B 3d3ea8be55e2d6ced0eeda18abe1dffb925a1a78f456d683e4450d9f2fd287ad2e8494d65b2b770c677a12b3a60d10f0435e16c61880e3867c3657fd44892442 SHA512 70e2fb4fdb006a4cbd43ab2c7e940b277a15fb1790dfa2d1fc1f1fd18bead4886f6dc046e44326603e4894d988578917b8932aba5d9a6a4cc8424911cad9dc7e +DIST windows_i686_msvc-0.52.6.crate 901163 BLAKE2B 99ed34e052db5ba77bab240ed5d38ce450be347a794d63ec39b719304c32722c9999b540ab40abe0216318900b7412970df99dfb36d1516a9517cae0c77d1bdc SHA512 ca97913ce202d73266cf55947b868bea7e964a4516b6a096a81aeab6a60ee73867171032ced35e3afccff741ddfb2def7468343b6eceb95253e4d4f349efbf96 +DIST windows_x86_64_gnu-0.48.5.crate 801619 BLAKE2B aa7e7e6a6ff9f9553ada3a0a39a9aa798e9d995a8eef36e0b6fdb2a0db93ddecee5548970575271fe43aec74797a420d0ee231d503b5bad1bd999059261e0e33 SHA512 1d6056fae430b3d042bdff3c6217c76be4b8b9f5dada9bad06beaac2db7d7ab9b0a82e44f498ec88e61afa73e99f56d84d445dc3847732b9ce5d947e08485f74 +DIST windows_x86_64_gnu-0.52.6.crate 836363 BLAKE2B e2335829155cdbd4a55cc9f9babc237e14e32aab97f6f91afabcdf80d2aee37d6fb4b8669aaf433ff532c85dba59b3d366c7d41b61a2f29b96f960169c900687 SHA512 c4086bb0280042f2bef9b556283b67f8a5cacddd209e1c5fabec63decec6d4fd2d6a7071407973981b98ae0c0cf7034fc612f9e70dc6d3eed9acdec771ae31cb +DIST windows_x86_64_gnullvm-0.48.5.crate 418486 BLAKE2B 12a2199d434617c1df1a839e9f435620ad64b40c579f6d0c3677553ad7a48e5765d12c266b04946402e15c92cff2e4ac4979ce2130750ef426e2672119680284 SHA512 c016d5b5e73832b61ff67929d92fa8c16e154656294357266ad29ce1f44db4ca2d2935dba31a6b571187dc838b1d22f1e3b41fefffd1d719a338439adf1646aa +DIST windows_x86_64_gnullvm-0.52.6.crate 435707 BLAKE2B ab77dccd06328cdb00175f41cdbc120594050a9678b7f9820444391fb50aada3911a91ea00f3a6db2b4fa1820fd23bc9a007dfbe65ad41417c26ee1137ef9b96 SHA512 67681f5859e249c56b0183181811f6212cc7008d6471dad78aecc7ebe3d027686b19210b8aa9014c554410f69f913d21ce2aca928eea905eab779bea26464cbd +DIST windows_x86_64_msvc-0.48.5.crate 798412 BLAKE2B 8abc0721e2fb337fe17c91d278947d36122d9045b839ba0cf3e690202d242265b676f23cc301da5f9d98c56ca4ecb76f7d6f072ee71bf986a1deca87020b90e5 SHA512 fa1c5cd14ca2ff0082e2504cf59d317dc4dc6f7138d35c12f95d4476a9c13d8b7f5537d0ee251eee7c99411ad31b22263171b7fbd391daa5d3ea3488ceaa61a0 +DIST windows_x86_64_msvc-0.52.6.crate 832564 BLAKE2B 8e9a3044654c6de99a9153e7cacd575474e7a8a3d883c67b02132af5d3fc99d03cd5f7a4dd666a3947451d11218e6acc6eb5e2526f012481106cc13453839719 SHA512 21944cd8e3a481b514509e73ae3f62722fe7ed380d37ea0c25f8fbdeba79174dd52ff65d898838da5df4197894b74e00f45d47489418e978753b4e55c7e623e7 +DIST zerocopy-0.7.35.crate 152645 BLAKE2B 8f13123c9d9257ac5a5c6954d38c3510fa658624442f7e03cdcc6db5a0977d9f26bb4e277be172b7872ec365cf6e58ac742e5578636f7698f9f37093e9249d9a SHA512 17fcb31c029ae89c01e5bae5fb2bb46bd434120199a3dc2c7fe0012dbbcfe2a0bb38934c4a7d3a4920e3fe47c097403beee554fefa54b66cb390f8b1de638d3c +DIST zerocopy-derive-0.7.35.crate 37829 BLAKE2B badeb7fa5e0bfe93a6788d93fd297604ed31de526b121549300ead3c49d450f49265f499e2e7ce606dcce2b59dd01f7fa817b8fbb3f237475185c5b42f5299c4 SHA512 dbe23573b62a6267d7bc8c744320b75b2fbda03b908c1d175211f7394374fe182bce58021e25485c10671d726b2007f250565dfe53134d51c89293bb607e9feb diff --git a/dev-util/py-spy/py-spy-0.3.14.ebuild b/dev-util/py-spy/py-spy-0.3.14.ebuild deleted file mode 100644 index 65e358cfa93e..000000000000 --- a/dev-util/py-spy/py-spy-0.3.14.ebuild +++ /dev/null @@ -1,172 +0,0 @@ -# Copyright 2023 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -# Autogenerated by pycargoebuild 0.6.2 - -EAPI=8 - -CRATES=" - addr2line-0.18.0 - adler-1.0.2 - ahash-0.7.6 - aho-corasick-0.7.18 - ansi_term-0.12.1 - anyhow-1.0.58 - arrayvec-0.4.12 - atty-0.2.14 - autocfg-1.1.0 - bindgen-0.59.2 - bitflags-1.3.2 - bytemuck-1.11.0 - cc-1.0.73 - cexpr-0.6.0 - cfg-if-1.0.0 - chrono-0.4.19 - clang-sys-1.3.3 - clap-2.34.0 - clap-3.2.15 - clap_complete-3.2.3 - clap_derive-3.2.15 - clap_lex-0.2.4 - console-0.15.1 - cpp_demangle-0.3.5 - crc32fast-1.3.2 - crossbeam-channel-0.5.6 - crossbeam-utils-0.8.11 - ctrlc-3.2.2 - dashmap-5.3.4 - either-1.7.0 - encode_unicode-0.3.6 - env_logger-0.9.0 - errno-0.2.8 - errno-dragonfly-0.1.2 - fallible-iterator-0.2.0 - fastrand-1.8.0 - flate2-1.0.24 - getrandom-0.2.7 - gimli-0.26.2 - glob-0.3.0 - goblin-0.5.3 - hashbrown-0.12.3 - heck-0.4.0 - hermit-abi-0.1.19 - humantime-2.1.0 - indexmap-1.9.1 - indicatif-0.16.2 - inferno-0.11.7 - instant-0.1.12 - itoa-0.4.8 - itoa-1.0.2 - lazy_static-1.4.0 - lazycell-1.3.0 - libc-0.2.126 - libloading-0.7.3 - libm-0.2.2 - libproc-0.10.0 - libproc-0.12.0 - lock_api-0.4.7 - log-0.4.17 - lru-0.7.8 - mach-0.3.2 - mach2-0.4.1 - mach_o_sys-0.1.1 - memchr-2.5.0 - memmap-0.7.0 - minimal-lexical-0.2.1 - miniz_oxide-0.5.3 - nix-0.24.2 - nodrop-0.1.14 - nom-7.1.1 - num-format-0.4.0 - num-integer-0.1.45 - num-traits-0.2.15 - num_cpus-1.13.1 - number_prefix-0.4.0 - object-0.29.0 - once_cell-1.13.0 - os_str_bytes-6.2.0 - parking_lot_core-0.9.3 - peeking_take_while-0.1.2 - plain-0.2.3 - ppv-lite86-0.2.16 - proc-macro-error-1.0.4 - proc-macro-error-attr-1.0.4 - proc-macro2-1.0.42 - proc-maps-0.2.1 - quick-xml-0.23.0 - quote-1.0.20 - rand-0.8.5 - rand_chacha-0.3.1 - rand_core-0.6.3 - rand_distr-0.4.3 - read-process-memory-0.1.4 - redox_syscall-0.2.16 - regex-1.6.0 - regex-syntax-0.6.27 - remoteprocess-0.4.10 - remove_dir_all-0.5.3 - rgb-0.8.33 - rustc-demangle-0.1.21 - rustc-hash-1.1.0 - ryu-1.0.10 - scopeguard-1.1.0 - scroll-0.11.0 - scroll_derive-0.11.0 - serde-1.0.140 - serde_derive-1.0.140 - serde_json-1.0.82 - shlex-1.1.0 - smallvec-1.9.0 - stable_deref_trait-1.2.0 - str_stack-0.1.0 - strsim-0.10.0 - strsim-0.8.0 - syn-1.0.98 - tempfile-3.3.0 - termcolor-1.1.3 - terminal_size-0.1.17 - termios-0.3.3 - textwrap-0.11.0 - textwrap-0.15.0 - time-0.1.44 - unicode-ident-1.0.2 - unicode-width-0.1.9 - vec_map-0.8.2 - version_check-0.9.4 - wasi-0.10.0+wasi-snapshot-preview1 - wasi-0.11.0+wasi-snapshot-preview1 - which-4.2.5 - winapi-0.3.9 - winapi-i686-pc-windows-gnu-0.4.0 - winapi-util-0.1.5 - winapi-x86_64-pc-windows-gnu-0.4.0 - windows-sys-0.36.1 - windows_aarch64_msvc-0.36.1 - windows_i686_gnu-0.36.1 - windows_i686_msvc-0.36.1 - windows_x86_64_gnu-0.36.1 - windows_x86_64_msvc-0.36.1 -" - -inherit cargo - -DESCRIPTION="Sampling profiler for Python programs" -HOMEPAGE="https://github.com/benfred/py-spy" -SRC_URI=" - https://github.com/benfred/py-spy/archive/refs/tags/v${PV}.tar.gz -> ${P}.gh.tar.gz - $(cargo_crate_uris) -" - -LICENSE="MIT" -# Dependent crate licenses -LICENSE+=" Apache-2.0 BSD-2 BSD CDDL ISC MIT Unicode-DFS-2016" -SLOT="0" -KEYWORDS="~amd64 ~arm64" -# python_data_access::tests::test_copy_string fails -RESTRICT="test" - -# Really does need libunwind, not llvm-libunwind, as needs e.g. -ptrace. -DEPEND="sys-libs/libunwind:=" -RDEPEND="${DEPEND}" - -QA_FLAGS_IGNORED="usr/bin/py-spy" diff --git a/dev-util/py-spy/py-spy-0.4.0.ebuild b/dev-util/py-spy/py-spy-0.4.0.ebuild new file mode 100644 index 000000000000..52842f0a7779 --- /dev/null +++ b/dev-util/py-spy/py-spy-0.4.0.ebuild @@ -0,0 +1,227 @@ +# Copyright 2023-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +# Autogenerated by pycargoebuild 0.6.2 + +EAPI=8 + +CRATES=" + addr2line@0.24.2 + adler2@2.0.0 + ahash@0.8.11 + aho-corasick@1.1.3 + android-tzdata@0.1.1 + android_system_properties@0.1.5 + anstream@0.6.15 + anstyle-parse@0.2.5 + anstyle-query@1.1.1 + anstyle-wincon@3.0.4 + anstyle@1.0.8 + anyhow@1.0.89 + arrayvec@0.7.6 + atty@0.2.14 + autocfg@1.4.0 + bindgen@0.70.1 + bitflags@1.3.2 + bitflags@2.6.0 + bumpalo@3.16.0 + bytemuck@1.19.0 + byteorder@1.5.0 + cc@1.1.30 + cexpr@0.6.0 + cfg-if@1.0.0 + cfg_aliases@0.2.1 + chrono@0.4.38 + clang-sys@1.8.1 + clap@3.2.25 + clap@4.5.20 + clap_builder@4.5.20 + clap_complete@3.2.5 + clap_derive@3.2.25 + clap_derive@4.5.18 + clap_lex@0.2.4 + clap_lex@0.7.2 + colorchoice@1.0.2 + console@0.15.8 + core-foundation-sys@0.8.7 + cpp_demangle@0.4.4 + crc32fast@1.4.2 + crossbeam-channel@0.5.13 + crossbeam-utils@0.8.20 + ctrlc@3.4.5 + dashmap@6.1.0 + either@1.13.0 + encode_unicode@0.3.6 + env_filter@0.1.2 + env_logger@0.10.2 + env_logger@0.11.5 + equivalent@1.0.1 + errno@0.3.9 + fallible-iterator@0.3.0 + fastrand@2.1.1 + flate2@1.0.34 + getrandom@0.2.15 + gimli@0.31.1 + glob@0.3.1 + goblin@0.9.2 + hashbrown@0.12.3 + hashbrown@0.13.2 + hashbrown@0.14.5 + hashbrown@0.15.0 + heck@0.4.1 + heck@0.5.0 + hermit-abi@0.1.19 + hermit-abi@0.3.9 + hermit-abi@0.4.0 + humantime@2.1.0 + iana-time-zone-haiku@0.1.2 + iana-time-zone@0.1.61 + indexmap@1.9.3 + indexmap@2.6.0 + indicatif@0.17.8 + inferno@0.11.21 + instant@0.1.13 + io-lifetimes@1.0.11 + is-terminal@0.4.13 + is_terminal_polyfill@1.70.1 + itertools@0.13.0 + itoa@1.0.11 + js-sys@0.3.72 + lazy_static@1.5.0 + libc@0.2.159 + libloading@0.8.5 + libm@0.2.8 + libproc@0.14.10 + linux-raw-sys@0.3.8 + linux-raw-sys@0.4.14 + lock_api@0.4.12 + log@0.4.22 + lru@0.10.1 + mach2@0.4.2 + mach@0.3.2 + mach_o_sys@0.1.1 + memchr@2.7.4 + memmap2@0.9.4 + minimal-lexical@0.2.1 + miniz_oxide@0.8.0 + nix@0.26.4 + nix@0.29.0 + nom@7.1.3 + num-format@0.4.4 + num-traits@0.2.19 + number_prefix@0.4.0 + object@0.36.5 + once_cell@1.20.2 + os_str_bytes@6.6.1 + parking_lot_core@0.9.10 + plain@0.2.3 + portable-atomic@1.9.0 + ppv-lite86@0.2.20 + prettyplease@0.2.22 + proc-macro-error-attr@1.0.4 + proc-macro-error@1.0.4 + proc-macro2@1.0.88 + proc-maps@0.4.0 + py-spy-testdata@0.1.0 + quick-xml@0.26.0 + quote@1.0.37 + rand@0.8.5 + rand_chacha@0.3.1 + rand_core@0.6.4 + rand_distr@0.4.3 + read-process-memory@0.1.6 + redox_syscall@0.5.7 + regex-automata@0.4.8 + regex-syntax@0.8.5 + regex@1.11.0 + remoteprocess@0.5.0 + rgb@0.8.50 + rustc-demangle@0.1.24 + rustc-hash@1.1.0 + rustix@0.37.27 + rustix@0.38.37 + ruzstd@0.7.2 + ryu@1.0.18 + scopeguard@1.2.0 + scroll@0.12.0 + scroll_derive@0.12.0 + serde@1.0.210 + serde_derive@1.0.210 + serde_json@1.0.128 + shlex@1.3.0 + smallvec@1.13.2 + stable_deref_trait@1.2.0 + static_assertions@1.1.0 + str_stack@0.1.0 + strsim@0.10.0 + strsim@0.11.1 + syn@1.0.109 + syn@2.0.79 + tempfile@3.13.0 + termcolor@1.4.1 + terminal_size@0.2.6 + termios@0.3.3 + textwrap@0.16.1 + twox-hash@1.6.3 + typed-arena@2.0.2 + unicode-ident@1.0.13 + unicode-width@0.1.14 + utf8parse@0.2.2 + version_check@0.9.5 + wasi@0.11.0+wasi-snapshot-preview1 + wasm-bindgen-backend@0.2.95 + wasm-bindgen-macro-support@0.2.95 + wasm-bindgen-macro@0.2.95 + wasm-bindgen-shared@0.2.95 + wasm-bindgen@0.2.95 + winapi-i686-pc-windows-gnu@0.4.0 + winapi-util@0.1.9 + winapi-x86_64-pc-windows-gnu@0.4.0 + winapi@0.3.9 + windows-core@0.52.0 + windows-sys@0.48.0 + windows-sys@0.52.0 + windows-sys@0.59.0 + windows-targets@0.48.5 + windows-targets@0.52.6 + windows_aarch64_gnullvm@0.48.5 + windows_aarch64_gnullvm@0.52.6 + windows_aarch64_msvc@0.48.5 + windows_aarch64_msvc@0.52.6 + windows_i686_gnu@0.48.5 + windows_i686_gnu@0.52.6 + windows_i686_gnullvm@0.52.6 + windows_i686_msvc@0.48.5 + windows_i686_msvc@0.52.6 + windows_x86_64_gnu@0.48.5 + windows_x86_64_gnu@0.52.6 + windows_x86_64_gnullvm@0.48.5 + windows_x86_64_gnullvm@0.52.6 + windows_x86_64_msvc@0.48.5 + windows_x86_64_msvc@0.52.6 + zerocopy-derive@0.7.35 + zerocopy@0.7.35 +" + +inherit cargo + +DESCRIPTION="Sampling profiler for Python programs" +HOMEPAGE="https://github.com/benfred/py-spy" +SRC_URI=" + https://github.com/benfred/py-spy/archive/refs/tags/v${PV}.tar.gz -> ${P}.gh.tar.gz + ${CARGO_CRATE_URIS} +" + +LICENSE="MIT" +# Dependent crate licenses +LICENSE+=" Apache-2.0 BSD-2 BSD CDDL ISC MIT Unicode-DFS-2016" +SLOT="0" +KEYWORDS="~amd64 ~arm64" +# python_data_access::tests::test_copy_string fails +RESTRICT="test" + +# Really does need libunwind, not llvm-libunwind, as needs e.g. -ptrace. +DEPEND="sys-libs/libunwind:=" +RDEPEND="${DEPEND}" + +QA_FLAGS_IGNORED="usr/bin/py-spy" diff --git a/dev-util/rinstall/rinstall-0.2.0-r1.ebuild b/dev-util/rinstall/rinstall-0.2.0-r1.ebuild new file mode 100644 index 000000000000..972f4681ac1e --- /dev/null +++ b/dev-util/rinstall/rinstall-0.2.0-r1.ebuild @@ -0,0 +1,108 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +CRATES=" + addr2line@0.17.0 + adler@1.0.2 + arrayref@0.3.6 + arrayvec@0.7.2 + atty@0.2.14 + autocfg@1.1.0 + backtrace@0.3.65 + bitflags@1.3.2 + blake3@1.3.1 + block-buffer@0.10.2 + camino@1.0.8 + cc@1.0.73 + cfg-if@1.0.0 + clap@3.1.18 + clap_complete@3.1.4 + clap_derive@3.1.18 + clap_lex@0.2.0 + clap_mangen@0.1.6 + color-eyre@0.6.1 + colored@2.0.0 + constant_time_eq@0.1.5 + crypto-common@0.1.3 + digest@0.10.3 + dirs@4.0.0 + dirs-sys@0.3.7 + eyre@0.6.8 + generic-array@0.14.5 + getrandom@0.2.6 + gimli@0.26.1 + hashbrown@0.11.2 + heck@0.4.0 + hermit-abi@0.1.19 + indenter@0.3.3 + indexmap@1.8.1 + json@0.12.4 + lazy_static@1.4.0 + libc@0.2.125 + linked-hash-map@0.5.4 + log@0.4.17 + memchr@2.5.0 + miniz_oxide@0.5.1 + object@0.28.4 + once_cell@1.10.0 + os_str_bytes@6.0.0 + owo-colors@3.4.0 + proc-macro-error@1.0.4 + proc-macro-error-attr@1.0.4 + proc-macro2@1.0.38 + quote@1.0.18 + redox_syscall@0.2.13 + redox_users@0.4.3 + roff@0.2.1 + rustc-demangle@0.1.21 + ryu@1.0.9 + same-file@1.0.6 + semver@1.0.9 + serde@1.0.137 + serde_derive@1.0.137 + serde_yaml@0.8.24 + strsim@0.10.0 + subtle@2.4.1 + syn@1.0.94 + termcolor@1.1.3 + terminal_size@0.1.17 + textwrap@0.15.0 + thiserror@1.0.31 + thiserror-impl@1.0.31 + typenum@1.15.0 + unicode-xid@0.2.3 + version_check@0.9.4 + void@1.0.2 + walkdir@2.3.2 + wasi@0.10.2+wasi-snapshot-preview1 + winapi@0.3.9 + winapi-i686-pc-windows-gnu@0.4.0 + winapi-util@0.1.5 + winapi-x86_64-pc-windows-gnu@0.4.0 + xdg@2.4.1 + yaml-rust@0.4.5 +" + +inherit cargo + +DESCRIPTION="Utility for declarative installation of programs" +HOMEPAGE="https://github.com/DanySpin97/rinstall" +SRC_URI=" + https://github.com/DanySpin97/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz + ${CARGO_CRATE_URIS} +" + +LICENSE="GPL-3" +SLOT="0" +KEYWORDS="amd64" +RESTRICT="mirror" + +QA_FLAGS_IGNORED="usr/bin/rinstall" + +src_install() { + cargo_src_install + + einstalldocs +} diff --git a/dev-util/rinstall/rinstall-0.2.0.ebuild b/dev-util/rinstall/rinstall-0.2.0.ebuild deleted file mode 100644 index 355b1ca102b9..000000000000 --- a/dev-util/rinstall/rinstall-0.2.0.ebuild +++ /dev/null @@ -1,108 +0,0 @@ -# Copyright 1999-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -CRATES=" -addr2line@0.17.0 -adler@1.0.2 -arrayref@0.3.6 -arrayvec@0.7.2 -atty@0.2.14 -autocfg@1.1.0 -backtrace@0.3.65 -bitflags@1.3.2 -blake3@1.3.1 -block-buffer@0.10.2 -camino@1.0.8 -cc@1.0.73 -cfg-if@1.0.0 -clap@3.1.18 -clap_complete@3.1.4 -clap_derive@3.1.18 -clap_lex@0.2.0 -clap_mangen@0.1.6 -color-eyre@0.6.1 -colored@2.0.0 -constant_time_eq@0.1.5 -crypto-common@0.1.3 -digest@0.10.3 -dirs@4.0.0 -dirs-sys@0.3.7 -eyre@0.6.8 -generic-array@0.14.5 -getrandom@0.2.6 -gimli@0.26.1 -hashbrown@0.11.2 -heck@0.4.0 -hermit-abi@0.1.19 -indenter@0.3.3 -indexmap@1.8.1 -json@0.12.4 -lazy_static@1.4.0 -libc@0.2.125 -linked-hash-map@0.5.4 -log@0.4.17 -memchr@2.5.0 -miniz_oxide@0.5.1 -object@0.28.4 -once_cell@1.10.0 -os_str_bytes@6.0.0 -owo-colors@3.4.0 -proc-macro-error@1.0.4 -proc-macro-error-attr@1.0.4 -proc-macro2@1.0.38 -quote@1.0.18 -redox_syscall@0.2.13 -redox_users@0.4.3 -roff@0.2.1 -rustc-demangle@0.1.21 -ryu@1.0.9 -same-file@1.0.6 -semver@1.0.9 -serde@1.0.137 -serde_derive@1.0.137 -serde_yaml@0.8.24 -strsim@0.10.0 -subtle@2.4.1 -syn@1.0.94 -termcolor@1.1.3 -terminal_size@0.1.17 -textwrap@0.15.0 -thiserror@1.0.31 -thiserror-impl@1.0.31 -typenum@1.15.0 -unicode-xid@0.2.3 -version_check@0.9.4 -void@1.0.2 -walkdir@2.3.2 -wasi@0.10.2+wasi-snapshot-preview1 -winapi@0.3.9 -winapi-i686-pc-windows-gnu@0.4.0 -winapi-util@0.1.5 -winapi-x86_64-pc-windows-gnu@0.4.0 -xdg@2.4.1 -yaml-rust@0.4.5 -" - -inherit cargo - -DESCRIPTION="Utility for declarative installation of programs" -HOMEPAGE="https://github.com/DanySpin97/rinstall" -SRC_URI=" - https://github.com/DanySpin97/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz - ${CARGO_CRATE_URIS} -" - -LICENSE="GPL-3" -SLOT="0" -KEYWORDS="amd64" -RESTRICT="mirror" - -QA_FLAGS_IGNORED="usr/bin/rinstall" - -src_install() { - cargo_src_install - - einstalldocs -} diff --git a/dev-util/ruff/ruff-0.7.0.ebuild b/dev-util/ruff/ruff-0.7.0-r1.ebuild index 4be849fad74b..8b26a5b54473 100644 --- a/dev-util/ruff/ruff-0.7.0.ebuild +++ b/dev-util/ruff/ruff-0.7.0-r1.ebuild @@ -393,6 +393,8 @@ declare -A GIT_CRATES=( [salsa]='https://github.com/salsa-rs/salsa;b14be5c0392f4c55eca60b92e457a35549372382;salsa-%commit%' ) +RUST_MIN_VER="1.76.0" + inherit shell-completion cargo DESCRIPTION="An extremely fast Python linter, written in Rust" @@ -427,9 +429,6 @@ LICENSE+=" SLOT="0" KEYWORDS="~amd64 ~loong ~riscv" -BDEPEND=" - >=virtual/rust-1.76 -" RDEPEND=" !elibc_musl? ( !elibc_Darwin? ( !elibc_bionic? ( dev-libs/jemalloc:= ) ) ) app-arch/zstd diff --git a/dev-util/ruff/ruff-0.7.1.ebuild b/dev-util/ruff/ruff-0.7.1-r1.ebuild index 2aa4d4baf989..62627c321b9e 100644 --- a/dev-util/ruff/ruff-0.7.1.ebuild +++ b/dev-util/ruff/ruff-0.7.1-r1.ebuild @@ -392,6 +392,8 @@ declare -A GIT_CRATES=( [salsa]='https://github.com/salsa-rs/salsa;254c749b02cde2fd29852a7463a33e800b771758;salsa-%commit%' ) +RUST_MIN_VER="1.76.0" + inherit shell-completion cargo DESCRIPTION="An extremely fast Python linter, written in Rust" @@ -422,9 +424,6 @@ LICENSE+=" SLOT="0" KEYWORDS="~amd64 ~arm64 ~loong ~riscv" -BDEPEND=" - >=virtual/rust-1.76 -" RDEPEND=" !elibc_musl? ( !elibc_Darwin? ( !elibc_bionic? ( dev-libs/jemalloc:= ) ) ) app-arch/zstd diff --git a/dev-util/ruff/ruff-0.7.2.ebuild b/dev-util/ruff/ruff-0.7.2-r1.ebuild index cd6b3ea4c24a..0a5129c2757f 100644 --- a/dev-util/ruff/ruff-0.7.2.ebuild +++ b/dev-util/ruff/ruff-0.7.2-r1.ebuild @@ -392,6 +392,8 @@ declare -A GIT_CRATES=( [salsa]='https://github.com/salsa-rs/salsa;254c749b02cde2fd29852a7463a33e800b771758;salsa-%commit%' ) +RUST_MIN_VER="1.76.0" + inherit shell-completion cargo DESCRIPTION="An extremely fast Python linter, written in Rust" @@ -422,9 +424,6 @@ LICENSE+=" SLOT="0" KEYWORDS="~amd64 ~arm64 ~loong ~riscv" -BDEPEND=" - >=virtual/rust-1.76 -" RDEPEND=" !elibc_musl? ( !elibc_Darwin? ( !elibc_bionic? ( dev-libs/jemalloc:= ) ) ) app-arch/zstd diff --git a/dev-util/rustup/rustup-1.27.0.ebuild b/dev-util/rustup/rustup-1.27.0-r1.ebuild index 7a13cc3a534b..955f561e70f4 100644 --- a/dev-util/rustup/rustup-1.27.0.ebuild +++ b/dev-util/rustup/rustup-1.27.0-r1.ebuild @@ -35,7 +35,6 @@ DEPEND=" dev-libs/openssl:0= " RDEPEND="${DEPEND}" -BDEPEND="virtual/rust" # rust does not use *FLAGS from make.conf, silence portage warning QA_FLAGS_IGNORED="usr/bin/rustup-init" diff --git a/dev-util/rustup/rustup-1.27.1.ebuild b/dev-util/rustup/rustup-1.27.1-r1.ebuild index b7b6c9366d6b..b7b6c9366d6b 100644 --- a/dev-util/rustup/rustup-1.27.1.ebuild +++ b/dev-util/rustup/rustup-1.27.1-r1.ebuild diff --git a/dev-util/rustup/rustup-9999.ebuild b/dev-util/rustup/rustup-9999.ebuild index d521a1122823..e44aa837b280 100644 --- a/dev-util/rustup/rustup-9999.ebuild +++ b/dev-util/rustup/rustup-9999.ebuild @@ -33,7 +33,6 @@ DEPEND=" dev-libs/openssl:0= " RDEPEND="${DEPEND}" -BDEPEND="virtual/rust" # rust does not use *FLAGS from make.conf, silence portage warning QA_FLAGS_IGNORED="usr/bin/rustup-init" diff --git a/dev-util/sccache/sccache-0.5.4-r1.ebuild b/dev-util/sccache/sccache-0.5.4-r2.ebuild index 97207cbb5aeb..cb475537b793 100644 --- a/dev-util/sccache/sccache-0.5.4-r1.ebuild +++ b/dev-util/sccache/sccache-0.5.4-r2.ebuild @@ -387,6 +387,9 @@ CRATES=" zstd@0.12.3+zstd.1.5.2 " +# https://github.com/rust-lang/rust/issues/113152#issuecomment-1612578376 +RUST_MAX_VER="1.71.1" + inherit cargo optfeature systemd DESCRIPTION="ccache/distcc like tool with support for rust and cloud storage" @@ -416,7 +419,6 @@ REQUIRED_USE="s3? ( simple-s3 )" BDEPEND=" virtual/pkgconfig - >=virtual/rust-1.65 " DEPEND=" app-arch/zstd @@ -431,6 +433,12 @@ RDEPEND=" QA_FLAGS_IGNORED="usr/bin/sccache*" +pkg_setup() { + rust_pkg_setup + # proc_macro_span_shrink is unstable + export RUSTC_BOOTSTRAP=1 +} + src_unpack() { if [[ "${PV}" == *9999* ]]; then git-r3_src_unpack diff --git a/dev-util/sccache/sccache-9999.ebuild b/dev-util/sccache/sccache-9999.ebuild index ebb46ec79d8d..575eaa6011e4 100644 --- a/dev-util/sccache/sccache-9999.ebuild +++ b/dev-util/sccache/sccache-9999.ebuild @@ -37,7 +37,6 @@ REQUIRED_USE="s3? ( simple-s3 )" BDEPEND=" virtual/pkgconfig - >=virtual/rust-1.65 " DEPEND=" app-arch/zstd diff --git a/dev-util/selenium-manager/selenium-manager-4.25.0.ebuild b/dev-util/selenium-manager/selenium-manager-4.25.0-r1.ebuild index 1e46fdad2294..1e46fdad2294 100644 --- a/dev-util/selenium-manager/selenium-manager-4.25.0.ebuild +++ b/dev-util/selenium-manager/selenium-manager-4.25.0-r1.ebuild diff --git a/dev-util/selenium-manager/selenium-manager-4.26.0.ebuild b/dev-util/selenium-manager/selenium-manager-4.26.0-r1.ebuild index 0a35cc52101b..0a35cc52101b 100644 --- a/dev-util/selenium-manager/selenium-manager-4.26.0.ebuild +++ b/dev-util/selenium-manager/selenium-manager-4.26.0-r1.ebuild diff --git a/dev-util/tree-sitter-cli/tree-sitter-cli-0.22.6.ebuild b/dev-util/tree-sitter-cli/tree-sitter-cli-0.22.6-r1.ebuild index bd4053e831df..bd4053e831df 100644 --- a/dev-util/tree-sitter-cli/tree-sitter-cli-0.22.6.ebuild +++ b/dev-util/tree-sitter-cli/tree-sitter-cli-0.22.6-r1.ebuild diff --git a/dev-util/tree-sitter-cli/tree-sitter-cli-0.23.0.ebuild b/dev-util/tree-sitter-cli/tree-sitter-cli-0.23.0-r1.ebuild index b2788d6bac28..b2788d6bac28 100644 --- a/dev-util/tree-sitter-cli/tree-sitter-cli-0.23.0.ebuild +++ b/dev-util/tree-sitter-cli/tree-sitter-cli-0.23.0-r1.ebuild diff --git a/dev-util/tree-sitter-cli/tree-sitter-cli-0.23.2.ebuild b/dev-util/tree-sitter-cli/tree-sitter-cli-0.23.2-r1.ebuild index 1fe76acc30bb..1fe76acc30bb 100644 --- a/dev-util/tree-sitter-cli/tree-sitter-cli-0.23.2.ebuild +++ b/dev-util/tree-sitter-cli/tree-sitter-cli-0.23.2-r1.ebuild diff --git a/dev-util/tree-sitter-cli/tree-sitter-cli-0.24.3.ebuild b/dev-util/tree-sitter-cli/tree-sitter-cli-0.24.3-r1.ebuild index bca1cd9e7bcc..bca1cd9e7bcc 100644 --- a/dev-util/tree-sitter-cli/tree-sitter-cli-0.24.3.ebuild +++ b/dev-util/tree-sitter-cli/tree-sitter-cli-0.24.3-r1.ebuild diff --git a/dev-util/wachy/wachy-0.1.0_alpha6-r1.ebuild b/dev-util/wachy/wachy-0.1.0_alpha6-r2.ebuild index fba545be9ca7..fba545be9ca7 100644 --- a/dev-util/wachy/wachy-0.1.0_alpha6-r1.ebuild +++ b/dev-util/wachy/wachy-0.1.0_alpha6-r2.ebuild diff --git a/dev-util/wasmer/wasmer-0.11.0.ebuild b/dev-util/wasmer/wasmer-0.11.0.ebuild index 1f3d09da84f3..39cd6a7aee90 100644 --- a/dev-util/wasmer/wasmer-0.11.0.ebuild +++ b/dev-util/wasmer/wasmer-0.11.0.ebuild @@ -181,7 +181,6 @@ KEYWORDS="~amd64" BDEPEND=" dev-build/cmake - >=virtual/rust-1.37.0 " src_prepare() { diff --git a/dev-util/watchman/watchman-2023.06.19.00.ebuild b/dev-util/watchman/watchman-2023.06.19.00-r1.ebuild index 9b399e090d42..21cf39c9d5d0 100644 --- a/dev-util/watchman/watchman-2023.06.19.00.ebuild +++ b/dev-util/watchman/watchman-2023.06.19.00-r1.ebuild @@ -126,6 +126,9 @@ DISTUTILS_EXT=1 DISTUTILS_USE_PEP517=setuptools PYTHON_COMPAT=( python3_{10..12} ) +# stdsimd +RUST_MAX_VER="1.77.1" + inherit cargo cmake distutils-r1 tmpfiles DESCRIPTION="A file watching service" diff --git a/dev-vcs/breezy/breezy-3.3.5.ebuild b/dev-vcs/breezy/breezy-3.3.5-r1.ebuild index 215f1f5ffa2c..215f1f5ffa2c 100644 --- a/dev-vcs/breezy/breezy-3.3.5.ebuild +++ b/dev-vcs/breezy/breezy-3.3.5-r1.ebuild diff --git a/dev-vcs/breezy/breezy-3.3.7-r1.ebuild b/dev-vcs/breezy/breezy-3.3.7-r2.ebuild index 695dc3e7e9a0..695dc3e7e9a0 100644 --- a/dev-vcs/breezy/breezy-3.3.7-r1.ebuild +++ b/dev-vcs/breezy/breezy-3.3.7-r2.ebuild diff --git a/dev-vcs/git-absorb/git-absorb-0.6.15.ebuild b/dev-vcs/git-absorb/git-absorb-0.6.15-r1.ebuild index c3b68e62d3d7..c3b68e62d3d7 100644 --- a/dev-vcs/git-absorb/git-absorb-0.6.15.ebuild +++ b/dev-vcs/git-absorb/git-absorb-0.6.15-r1.ebuild diff --git a/dev-vcs/mercurial/mercurial-6.5.3-r1.ebuild b/dev-vcs/mercurial/mercurial-6.5.3-r2.ebuild index ef5aaf4ea840..969e0594fd27 100644 --- a/dev-vcs/mercurial/mercurial-6.5.3-r1.ebuild +++ b/dev-vcs/mercurial/mercurial-6.5.3-r2.ebuild @@ -161,12 +161,15 @@ CRATES=" zstd-sys-2.0.7+zstd.1.5.4 " +# for stdsimd +RUST_MAX_VER=1.77.1 + inherit bash-completion-r1 cargo elisp-common distutils-r1 flag-o-matic multiprocessing DESCRIPTION="Scalable distributed SCM" HOMEPAGE="https://www.mercurial-scm.org/" SRC_URI="https://www.mercurial-scm.org/release/${P}.tar.gz - rust? ( $(cargo_crate_uris ${CRATES}) )" + rust? ( ${CARGO_CRATE_URIS} )" LICENSE="GPL-2+ rust? ( 0BSD Apache-2.0 Apache-2.0-with-LLVM-exceptions BSD MIT MPL-2.0 PSF-2 Unicode-DFS-2016 Unlicense ZLIB )" diff --git a/dev-vcs/mercurial/mercurial-6.6.2-r1.ebuild b/dev-vcs/mercurial/mercurial-6.6.2-r2.ebuild index 08e2955bc986..9ee1dc0cfb34 100644 --- a/dev-vcs/mercurial/mercurial-6.6.2-r1.ebuild +++ b/dev-vcs/mercurial/mercurial-6.6.2-r2.ebuild @@ -170,6 +170,9 @@ CRATES=" zstd-sys@2.0.7+zstd.1.5.4 " +# for stdsimd +RUST_MAX_VER=1.77.1 + inherit bash-completion-r1 cargo elisp-common distutils-r1 flag-o-matic multiprocessing DESCRIPTION="Scalable distributed SCM" diff --git a/dev-vcs/mercurial/mercurial-6.7.4-r1.ebuild b/dev-vcs/mercurial/mercurial-6.7.4-r2.ebuild index 564e460089e9..f68c7388f014 100644 --- a/dev-vcs/mercurial/mercurial-6.7.4-r1.ebuild +++ b/dev-vcs/mercurial/mercurial-6.7.4-r2.ebuild @@ -181,6 +181,9 @@ CRATES=" zstd-sys@2.0.7+zstd.1.5.4 " +# for stdsimd +RUST_MAX_VER=1.77.1 + inherit bash-completion-r1 cargo elisp-common distutils-r1 flag-o-matic multiprocessing DESCRIPTION="Scalable distributed SCM" diff --git a/dev-vcs/mercurial/mercurial-6.8.1.ebuild b/dev-vcs/mercurial/mercurial-6.8.1-r1.ebuild index f0b887149ad7..2e09a308c5df 100644 --- a/dev-vcs/mercurial/mercurial-6.8.1.ebuild +++ b/dev-vcs/mercurial/mercurial-6.8.1-r1.ebuild @@ -201,6 +201,9 @@ CRATES=" zstd-sys@2.0.7+zstd.1.5.4 " +# for stdsimd +RUST_MAX_VER=1.77.1 + inherit bash-completion-r1 cargo elisp-common distutils-r1 flag-o-matic multiprocessing DESCRIPTION="Scalable distributed SCM" diff --git a/dev-vcs/mercurial/mercurial-9999.ebuild b/dev-vcs/mercurial/mercurial-9999.ebuild index 45093fbe0880..3d26e755559c 100644 --- a/dev-vcs/mercurial/mercurial-9999.ebuild +++ b/dev-vcs/mercurial/mercurial-9999.ebuild @@ -9,6 +9,9 @@ DISTUTILS_EXT=1 PYTHON_COMPAT=( python3_{10..12} ) PYTHON_REQ_USE="threads(+)" +# for stdsimd +RUST_MAX_VER=1.77.1 + inherit bash-completion-r1 cargo elisp-common distutils-r1 mercurial flag-o-matic multiprocessing DESCRIPTION="Scalable distributed SCM" diff --git a/dev-vcs/stgit/stgit-2.4.11.ebuild b/dev-vcs/stgit/stgit-2.4.11-r1.ebuild index 4ad2d8e33b6a..4ad2d8e33b6a 100644 --- a/dev-vcs/stgit/stgit-2.4.11.ebuild +++ b/dev-vcs/stgit/stgit-2.4.11-r1.ebuild diff --git a/dev-vcs/stgit/stgit-2.4.12.ebuild b/dev-vcs/stgit/stgit-2.4.12-r1.ebuild index 84fa72cec8d1..84fa72cec8d1 100644 --- a/dev-vcs/stgit/stgit-2.4.12.ebuild +++ b/dev-vcs/stgit/stgit-2.4.12-r1.ebuild diff --git a/dev-vcs/stgit/stgit-2.4.6.ebuild b/dev-vcs/stgit/stgit-2.4.6-r1.ebuild index e815ddb4c129..e815ddb4c129 100644 --- a/dev-vcs/stgit/stgit-2.4.6.ebuild +++ b/dev-vcs/stgit/stgit-2.4.6-r1.ebuild diff --git a/eclass/cargo.eclass b/eclass/cargo.eclass index 499fe5498c96..855692b72ec7 100644 --- a/eclass/cargo.eclass +++ b/eclass/cargo.eclass @@ -8,6 +8,7 @@ # Doug Goldstein <cardoe@gentoo.org> # Georgy Yakovlev <gyakovlev@gentoo.org> # @SUPPORTED_EAPIS: 8 +# @PROVIDES: rust # @BLURB: common functions and variables for cargo builds case ${EAPI} in @@ -18,25 +19,36 @@ esac if [[ -z ${_CARGO_ECLASS} ]]; then _CARGO_ECLASS=1 -# check and document RUST_DEPEND and options we need below in case conditions. +if [[ -n ${RUST_NEEDS_LLVM} ]]; then + if [[ -z ${_LLVM_R1_ECLASS} ]]; then + die "Please inherit llvm-r1.eclass before cargo.eclass when using RUST_NEEDS_LLVM" + fi +fi + +if [[ -n ${CARGO_OPTIONAL} ]]; then + RUST_OPTIONAL=1 +fi + +# Either the lowest slot supported by rust.eclass _or_ +# reference the changelog for a particular feature requirement # https://github.com/rust-lang/cargo/blob/master/CHANGELOG.md -RUST_DEPEND="virtual/rust" +_CARGO_ECLASS_RUST_MIN_VER="1.71.1" case ${EAPI} in 8) - # 1.39 added --workspace - # 1.46 added --target dir - # 1.48 added term.progress config option - # 1.51 added split-debuginfo profile option - # 1.52 may need setting RUSTC_BOOTSTRAP envvar for some crates - # 1.53 added cargo update --offline, can be used to update vulnerable crates from pre-fetched registry without editing toml - RUST_DEPEND=">=virtual/rust-1.53" + if [[ -n ${RUST_MIN_VER} ]]; then + # This is _very_ unlikely given that we leverage the rust eclass but just in case cargo requires a newer version + # than the oldest in-tree in future. + if ver_test "${RUST_MIN_VER}" -lt "${_CARGO_ECLASS_RUST_MIN_VER}"; then + die "RUST_MIN_VERSION must be at least ${_CARGO_ECLASS_RUST_MIN_VER}" + fi + else + RUST_MIN_VER="${_CARGO_ECLASS_RUST_MIN_VER}" + fi ;; esac -inherit flag-o-matic multiprocessing rust-toolchain toolchain-funcs - -[[ ! ${CARGO_OPTIONAL} ]] && BDEPEND="${RUST_DEPEND}" +inherit flag-o-matic multiprocessing rust rust-toolchain toolchain-funcs IUSE="${IUSE} debug" @@ -107,9 +119,8 @@ ECARGO_VENDOR="${ECARGO_HOME}/gentoo" # be considered optional. No dependencies will be added and no phase # functions will be exported. # -# If you enable CARGO_OPTIONAL, you have to set BDEPEND on virtual/rust -# for your package and call at least cargo_gen_config manually before using -# other src_functions or cargo_env of this eclass. +# If you enable CARGO_OPTIONAL call at least cargo_gen_config manually +# before using other src_functions or cargo_env of this eclass. # Note that cargo_gen_config is automatically called by cargo_src_unpack. # @ECLASS_VARIABLE: myfeatures @@ -129,6 +140,11 @@ ECARGO_VENDOR="${ECARGO_HOME}/gentoo" # } # @CODE +# @ECLASS_VARIABLE: ECARGO_HOME +# @OUTPUT_VARIABLE +# @DESCRIPTION: +# Location of the cargo home directory. + # @ECLASS_VARIABLE: ECARGO_REGISTRY_DIR # @USER_VARIABLE # @DEFAULT_UNSET @@ -148,6 +164,11 @@ ECARGO_VENDOR="${ECARGO_HOME}/gentoo" # cargo_live_src_unpack. # Inherits value of EVCS_OFFLINE if not set explicitly. +# @ECLASS_VARIABLE: ECARGO_VENDOR +# @OUTPUT_VARIABLE +# @DESCRIPTION: +# Location of the cargo vendor directory. + # @ECLASS_VARIABLE: EVCS_UMASK # @USER_VARIABLE # @DEFAULT_UNSET @@ -531,6 +552,8 @@ cargo_src_configure() { # take affect due to Cargo limitations, so add these to your ebuild's RUSTFLAGS # if they seem important. cargo_env() { + debug-print-function ${FUNCNAME} "$@" + [[ ${_CARGO_GEN_CONFIG_HAS_RUN} ]] || \ die "FATAL: please call cargo_gen_config before using ${FUNCNAME}" @@ -604,7 +627,7 @@ cargo_env() { cargo_src_compile() { debug-print-function ${FUNCNAME} "$@" - set -- cargo build $(usex debug "" --release) ${ECARGO_ARGS[@]} "$@" + set -- ${CARGO} build $(usex debug "" --release) ${ECARGO_ARGS[@]} "$@" einfo "${@}" cargo_env "${@}" || die "cargo build failed" } @@ -618,7 +641,7 @@ cargo_src_compile() { cargo_src_install() { debug-print-function ${FUNCNAME} "$@" - set -- cargo install $(has --path ${@} || echo --path ./) \ + set -- ${CARGO} install $(has --path ${@} || echo --path ./) \ --root "${ED}/usr" \ ${GIT_CRATES[@]:+--frozen} \ $(usex debug --debug "") \ @@ -636,7 +659,7 @@ cargo_src_install() { cargo_src_test() { debug-print-function ${FUNCNAME} "$@" - set -- cargo test $(usex debug "" --release) ${ECARGO_ARGS[@]} "$@" + set -- ${CARGO} test $(usex debug "" --release) ${ECARGO_ARGS[@]} "$@" einfo "${@}" cargo_env "${@}" || die "cargo test failed" } diff --git a/eclass/rust.eclass b/eclass/rust.eclass new file mode 100644 index 000000000000..12ef4b90a7ac --- /dev/null +++ b/eclass/rust.eclass @@ -0,0 +1,464 @@ +# Copyright 2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +# @ECLASS: rust.eclass +# @MAINTAINER: +# Matt Jolly <kangie@gentoo.org> +# @AUTHOR: +# Matt Jolly <kangie@gentoo.org> +# @SUPPORTED_EAPIS: 8 +# @BLURB: Utility functions to build against slotted Rust +# @DESCRIPTION: +# An eclass to reliably depend on a Rust or Rust/LLVM combination for +# a given Rust slot. To use the eclass: +# +# 1. If required, set RUST_{MAX,MIN}_SLOT to the range of supported slots. +# 2. If rust is optional, set RUST_OPTIONAL to a non-empty value then +# appropriately gate ${RUST_DEPEND} +# 3. Use rust_pkg_setup, get_rust_prefix or RUST_SLOT. + +# Example use for a package supporting Rust 1.72.0 to 1.82.0: +# @CODE +# +# RUST_MAX_VER="1.82.0" +# RUST_MIN_VER="1.72.0" +# +# inherit meson rust +# +# # only if you need to define one explicitly +# pkg_setup() { +# rust_pkg_setup +# do-something-else +# } +# @CODE +# +# Example for a package needing Rust w/ a specific target: +# @CODE +# RUST_USEDEP='clippy,${MULTILIB_USEDEP}' +# +# inherit multilib-minimal meson rust +# +# @CODE + +case ${EAPI} in + 8) ;; + *) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;; +esac + +if [[ -z ${_RUST_ECLASS} ]]; then +_RUST_ECLASS=1 + +if [[ -n ${RUST_NEEDS_LLVM} ]]; then + if [[ -z ${_LLVM_R1_ECLASS} ]]; then + die "Please inherit llvm-r1.eclass before rust.eclass when using RUST_NEEDS_LLVM" + fi +fi + +# == internal control knobs == + +# @ECLASS_VARIABLE: _RUST_LLVM_MAP +# @INTERNAL +# @DESCRIPTION: +# Definitive list of Rust slots and the associated LLVM slot, newest first. +declare -A -g -r _RUST_LLVM_MAP=( + ["1.82.0"]=19 + ["1.81.0"]=18 + ["1.80.1"]=18 + ["1.79.0"]=18 + ["1.77.1"]=17 + ["1.75.0"]=17 + ["1.74.1"]=17 + ["1.71.1"]=16 +) + +# @ECLASS_VARIABLE: _RUST_SLOTS_ORDERED +# @INTERNAL +# @DESCRIPTION: +# Array of Rust slots, newest first. +# While _RUST_LLVM_MAP stores useful info about the relationship between Rust and LLVM slots, +# this array is used to store the Rust slots in a more convenient order for iteration. +declare -a -g -r _RUST_SLOTS_ORDERED=( + "1.82.0" + "1.81.0" + "1.80.1" + "1.79.0" + "1.77.1" + "1.75.0" + "1.74.1" + "1.71.1" +) + +# == control variables == + +# @ECLASS_VARIABLE: RUST_MAX_VER +# @DEFAULT_UNSET +# @DESCRIPTION: +# Highest Rust slot supported by the package. Needs to be set before +# rust_pkg_setup is called. If unset, no upper bound is assumed. + +# @ECLASS_VARIABLE: RUST_MIN_VER +# @DEFAULT_UNSET +# @DESCRIPTION: +# Lowest Rust slot supported by the package. Needs to be set before +# rust_pkg_setup is called. If unset, no lower bound is assumed. + +# @eclass-variable: RUST_NEEDS_LLVM +# @DEFAULT_UNSET +# @DESCRIPTION: +# If set to a non-empty value generate a llvm_slot_${llvm_slot}? gated +# dependency block for rust slots in LLVM_COMPAT. This is useful for +# packages that need a tight coupling between Rust and LLVM but don't +# really care _which_ version of Rust is selected. Combine with +# RUST_MAX_VER and RUST_MIN_VER to limit the range of Rust versions +# that are acceptable. Will `die` if llvm-r1 is not inherited or +# an invalid combination of RUST and LLVM slots is detected; this probably +# means that a LLVM slot in LLVM_COMPAT has had all of its Rust slots filtered. + +# @ECLASS_VARIABLE: RUST_DEPEND +# @OUTPUT_VARIABLE +# @DESCRIPTION: +# This is an eclass-generated Rust dependency string, filtered by +# RUST_MAX_VER and RUST_MIN_VER. If RUST_NEEDS_LLVM is set, this +# is gropeda and gated by an appropriate `llvm_slot_x` USE for all +# implementations listed in LLVM_COMPAT. + +# @ECLASS_VARIABLE: RUST_OPTIONAL +# @DEFAULT_UNSET +# @DESCRIPTION: +# If set to a non-empty value, the Rust dependency will not be added +# to BDEPEND. This is useful for where packages need to gate rust behind +# certain USE themselves. + +# @ECLASS_VARIABLE: RUST_USEDEP +# @DEFAULT_UNSET +# @DESCRIPTION: +# Additional USE-dependencies to be added to the Rust dependency. +# This is useful for packages that need to depend on specific Rust +# features, like clippy or rustfmt. The variable is expanded before +# being used in the Rust dependency. + +# == global metadata == + +_rust_set_globals() { + debug-print-function ${FUNCNAME} "$@" + + # If RUST_MIN_VER is older than our oldest slot we'll just set it to that + # internally so we don't have to worry about it later. + if ! ver_test "${_RUST_SLOTS_ORDERED[-1]}" -gt "${RUST_MIN_VER:-0}"; then + RUST_MIN_VER="${_RUST_SLOTS_ORDERED[-1]}" + fi + + # and if it falls between slots we'll set it to the next highest slot + # We can skip this we match a slot exactly. + if ! [[ "${_RUST_SLOTS_ORDERED[@]}" == *"${RUST_MIN_VER}"* ]]; then + local i + for (( i=${#_RUST_SLOTS_ORDERED[@]}-1 ; i>=0 ; i-- )); do + if ver_test "${_RUST_SLOTS_ORDERED[$i]}" -gt "${RUST_MIN_VER}"; then + RUST_MIN_VER="${_RUST_SLOTS_ORDERED[$i]}" + break + fi + done + fi + + if [[ -n "${RUST_MAX_VER}" && -n "${RUST_MIN_VER}" ]]; then + if ! ver_test "${RUST_MAX_VER}" -ge "${RUST_MIN_VER}"; then + die "RUST_MAX_VER must not be older than RUST_MIN_VER" + fi + fi + + local slot + # Try to keep this in order of newest to oldest + for slot in "${_RUST_SLOTS_ORDERED[@]}"; do + if ver_test "${slot}" -le "${RUST_MAX_VER:-9999}" && \ + ver_test "${slot}" -ge "${RUST_MIN_VER:-0}"; then + _RUST_SLOTS+=( "${slot}" ) + fi + done + + _RUST_SLOTS=( "${_RUST_SLOTS[@]}" ) + + # We may have been passed a variable like ${MULTILIB_USEDEP}; expand it. + if [[ -n "${RUST_USEDEP}" ]]; then + eval $(echo RUST_USEDEP="${RUST_USEDEP}") + [[ -z "${RUST_USEDEP}" ]] && die "When evaluated, RUST_USEDEP is empty" + fi + + readonly _RUST_SLOTS + + local rust_dep=() + local llvm_slot + local rust_slot + local usedep + + # If we're not using LLVM, we can just generate a simple Rust dependency + if [[ -z "${RUST_NEEDS_LLVM}" ]]; then + rust_dep=( "|| (" ) + for slot in "${_RUST_SLOTS[@]}"; do + usedep="${RUST_USEDEP+[${RUST_USEDEP}]}" + rust_dep+=( + "dev-lang/rust:${slot}${usedep}" + "dev-lang/rust-bin:${slot}${usedep}" + ) + done + rust_dep+=( ")" ) + RUST_DEPEND="${rust_dep[*]}" + else + for llvm_slot in "${LLVM_COMPAT[@]}"; do + # Quick sanity check to make sure that the llvm slot is valid for Rust. + if [[ "${_RUST_LLVM_MAP[@]}" == *"${llvm_slot}"* ]]; then + # We're working a bit backwards here; iterate over _RUST_LLVM_MAP, check the + # LLVM slot, and if it matches add this to a new array because it may (and likely will) + # match multiple Rust slots. We already filtered Rust max/min slots. + # We always have a usedep for the LLVM slot, append `,RUST_USEDEP` if it's set + usedep="[llvm_slot_${llvm_slot}${RUST_USEDEP+,${RUST_USEDEP}}]" + local slot_dep_content=() + for rust_slot in "${_RUST_SLOTS[@]}"; do + if [[ "${_RUST_LLVM_MAP[${rust_slot}]}" == "${llvm_slot}" ]]; then + slot_dep_content+=( + "dev-lang/rust:${rust_slot}${usedep}" + "dev-lang/rust-bin:${rust_slot}${usedep}" + ) + fi + done + if [ ${#slot_dep_content[@]} -ne 0 ]; then + rust_dep+=( "llvm_slot_${llvm_slot}? ( || ( ${slot_dep_content[*]} ) )" ) + else + die "${FUNCNAME}: no Rust slots found for LLVM slot ${llvm_slot}" + fi + fi + done + RUST_DEPEND="${rust_dep[*]}" + fi + + readonly RUST_DEPEND + if [[ -z ${RUST_OPTIONAL} ]]; then + BDEPEND="${RUST_DEPEND}" + fi +} +_rust_set_globals +unset -f _rust_set_globals + +# == ebuild helpers == + +# @FUNCTION: get_rust_slot +# @USAGE: [-b|-d] +# @DESCRIPTION: +# Find the newest Rust install that is acceptable for the package, +# and print its version number (i.e. SLOT) and type (source or bin[ary]). +# +# If -b is specified, the checks are performed relative to BROOT, +# and BROOT-path is returned. +# +# If -d is specified, the checks are performed relative to ESYSROOT, +# and ESYSROOT-path is returned. -d is the default. +# +# If RUST_M{AX,IN}_SLOT is non-zero, then only Rust versions that +# are not newer or older than the specified slot(s) will be considered. +# Otherwise, all Rust versions are be considered acceptable. +# +# If the `rust_check_deps()` function is defined within the ebuild, it +# will be called to verify whether a particular slot is accepable. +# Within the function scope, RUST_SLOT and LLVM_SLOT will be defined. +# +# The function should return a true status if the slot is acceptable, +# false otherwise. If rust_check_deps() is not defined, the function +# defaults to checking whether a suitable Rust package is installed. +get_rust_slot() { + debug-print-function ${FUNCNAME} "$@" + + local hv_switch=-d + while [[ ${1} == -* ]]; do + case ${1} in + -b|-d) hv_switch="${1}";; + *) break;; + esac + shift + done + + local max_slot + if [[ -z "${RUST_MAX_VER}" ]]; then + max_slot= + else + max_slot="${RUST_MAX_VER}" + fi + local slot + local llvm_slot + + if [[ -n "${RUST_NEEDS_LLVM}" ]]; then + local unique_slots=() + local llvm_r1_slot + # Associative array keys are unique, so let's use that to our advantage + for llvm_slot in "${_RUST_LLVM_MAP[@]}"; do + unique_slots["${llvm_slot}"]="1" + done + for llvm_slot in "${!unique_slots[@]}"; do + if [[ "${LLVM_COMPAT[@]}" == *"${llvm_slot}"* ]]; then + # We can check for the USE + use "llvm_slot_${llvm_slot}" && llvm_r1_slot="${llvm_slot}" + else + continue + fi + done + if [[ -z "${llvm_r1_slot}" ]]; then + die "${FUNCNAME}: no LLVM slot found" + fi + fi + + # iterate over known slots, newest first + for slot in "${_RUST_SLOTS_ORDERED[@]}"; do + llvm_slot="${_RUST_LLVM_MAP[${slot}]}" + # skip higher slots + if [[ -n "${max_slot}" ]]; then + if ver_test "${slot}" -eq "${max_slot}"; then + max_slot= + elif ver_test "${slot}" -gt "${max_slot}"; then + continue + fi + fi + + # If we're in LLVM mode we can skip any slots that don't match the selected USE + if [[ -n "${RUST_NEEDS_LLVM}" ]]; then + if [[ "${llvm_slot}" != "${llvm_r1_slot}" ]]; then + continue + fi + fi + + if declare -f rust_check_deps >/dev/null; then + local RUST_SLOT="${slot}" + local LLVM_SLOT="${_RUST_LLVM_MAP[${slot}]}" + rust_check_deps && return + else + local rust_usedep="${RUST_USEDEP+[${RUST_USEDEP}]}" + # When checking for installed packages prefer the non `-bin` package + # if effort was put into building it we should use it. + local rust_pkgs=( + "dev-lang/rust:${slot}${rust_usedep}" + "dev-lang/rust-bin:${slot}${rust_usedep}" + ) + local _pkg + for _pkg in "${rust_pkgs[@]}" + do + if has_version "${hv_switch}" "${_pkg}"; then + echo "${slot}" + if [[ "${_pkg}" == "dev-lang/rust:${slot}${rust_usedep}" ]]; then + echo source + else + echo binary + fi + return + fi + done + fi + + # We want to process the slot before escaping the loop if we've hit the minimum slot + if ver_test "${slot}" -eq "${RUST_MIN_VER}"; then + break + fi + + done + + # max_slot should have been unset in the iteration + if [[ -n "${max_slot}" ]]; then + die "${FUNCNAME}: invalid max_slot=${max_slot}" + fi + + die "No Rust slot${1:+ <= ${1}} satisfying the package's dependencies found installed!" +} + +# @FUNCTION: get_rust_path +# @USAGE: prefix slot rust_type +# @DESCRIPTION: +# Given argument of slot and rust_type, return an appropriate path +# for the Rust install. The rust_type should be either "source" +# or "binary". If the rust_type is not one of these, the function +# will die. +get_rust_path() { + debug-print-function ${FUNCNAME} "$@" + + local prefix="${1}" + local slot="${2}" + local rust_type="${3}" + + if [[ ${#} -ne 3 ]]; then + die "${FUNCNAME}: invalid number of arguments" + fi + + if [[ "${rust_type}" != "source" && "${rust_type}" != "binary" ]]; then + die "${FUNCNAME}: invalid rust_type=${rust_type}" + fi + + if [[ "${rust_type}" == "source" ]]; then + echo "${prefix}/usr/lib/rust/${slot}/" + else + echo "${prefix}opt/rust-bin-${slot}/" + fi +} + +# @FUNCTION: get_rust_prefix +# @USAGE: [-b|-d] +# @DESCRIPTION: +# Find the newest Rust install that is acceptable for the package, +# and print an absolute path to it. If both -bin and regular Rust +# are installed, the regular Rust is preferred. +# +# The options and behavior are the same as get_rust_slot. +get_rust_prefix() { + debug-print-function ${FUNCNAME} "$@" + + local prefix=${BROOT} + [[ ${1} == -d ]] && prefix=${ESYSROOT} + + local slot rust_type + { read -r slot; read -r rust_type; } <<< $(get_rust_slot) + echo $(get_rust_path "${prefix}" "${slot}" "${rust_type}") +} + +# @FUNCTION: rust_prepend_path +# @USAGE: <slot> <type> +# @DESCRIPTION: +# Prepend the path to the specified Rust to PATH and re-export it. +rust_prepend_path() { + debug-print-function ${FUNCNAME} "$@" + + [[ ${#} -ne 2 ]] && die "Usage: ${FUNCNAME} <slot> <type>" + local slot="${1}" + local type="${2}" + export PATH="$(get_rust_path "${BROOT}" "${slot}" "${type}")/bin:${PATH}" +} + +# @FUNCTION: rust_pkg_setup +# @DESCRIPTION: +# Prepend the appropriate executable directory for the newest +# acceptable Rust slot to the PATH. If used with LLVM, an appropriate +# `llvm_pkg_setup` call should be made in addition to this function. +# For path determination logic, please see the get_rust_prefix documentation. +# +# The highest acceptable Rust slot can be set in RUST_MAX_VER variable. +# If it is unset or empty, any slot is acceptable. +# +# The lowest acceptable Rust slot can be set in RUST_MIN_VER variable. +# If it is unset or empty, any slot is acceptable. +# +# `CARGO` and `RUSTC` variables are set for the selected slot and exported. +# +# The PATH manipulation is only done for source builds. The function +# is a no-op when installing a binary package. +# +# If any other behavior is desired, the contents of the function +# should be inlined into the ebuild and modified as necessary. +rust_pkg_setup() { + debug-print-function ${FUNCNAME} "$@" + + if [[ ${MERGE_TYPE} != binary ]]; then + { read -r RUST_SLOT; read -r RUST_TYPE; } <<< $(get_rust_slot) + rust_prepend_path "${RUST_SLOT}" "${RUST_TYPE}" + CARGO="$(get_rust_prefix)bin/cargo" + RUSTC="$(get_rust_prefix)bin/rustc" + export CARGO RUSTC + einfo "Using Rust ${RUST_SLOT} (${RUST_TYPE})" + fi +} + +fi + +EXPORT_FUNCTIONS pkg_setup diff --git a/eclass/toolchain.eclass b/eclass/toolchain.eclass index b25c5dcf0929..6e3a974f373e 100644 --- a/eclass/toolchain.eclass +++ b/eclass/toolchain.eclass @@ -14,6 +14,8 @@ if [[ -z ${_TOOLCHAIN_ECLASS} ]]; then _TOOLCHAIN_ECLASS=1 +RUST_OPTIONAL="1" + case ${EAPI} in 7|8) ;; *) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;; @@ -22,7 +24,7 @@ esac DESCRIPTION="The GNU Compiler Collection" HOMEPAGE="https://gcc.gnu.org/" -inherit edo flag-o-matic gnuconfig libtool multilib pax-utils toolchain-funcs prefix +inherit edo flag-o-matic gnuconfig libtool multilib pax-utils rust toolchain-funcs prefix [[ -n ${TOOLCHAIN_HAS_TESTS} ]] && inherit python-any-r1 @@ -427,7 +429,7 @@ fi if tc_has_feature rust && tc_version_is_at_least 14.0.0_pre20230421 ; then # This was added upstream in r14-9968-g3e1e73fc995844 as a temporary measure. # See https://inbox.sourceware.org/gcc/34fec7ea-8762-4cac-a1c8-ff54e20e31ed@embecosm.com/ - BDEPEND+=" rust? ( virtual/rust )" + BDEPEND+=" rust? ( ${RUST_DEPEND} )" fi PDEPEND=">=sys-devel/gcc-config-2.11" diff --git a/games-board/jja/jja-0.9.1.ebuild b/games-board/jja/jja-0.9.1-r1.ebuild index c5d106105a70..9eb7556c9e84 100644 --- a/games-board/jja/jja-0.9.1.ebuild +++ b/games-board/jja/jja-0.9.1-r1.ebuild @@ -246,7 +246,7 @@ CRATES=" LLVM_COMPAT=( {16..18} ) -inherit cargo llvm-r1 +inherit llvm-r1 cargo DESCRIPTION="swiss army knife for chess file formats" HOMEPAGE="https://git.sr.ht/~alip/jja" diff --git a/games-emulation/rmg/rmg-0.6.6.ebuild b/games-emulation/rmg/rmg-0.6.5-r1.ebuild index 6ca37bec7198..48350becfcc2 100644 --- a/games-emulation/rmg/rmg-0.6.6.ebuild +++ b/games-emulation/rmg/rmg-0.6.5-r1.ebuild @@ -71,7 +71,7 @@ RDEPEND="${DEPEND}" BDEPEND=" virtual/pkgconfig dynarec? ( dev-lang/nasm ) - rust-plugin? ( virtual/rust ) + rust-plugin? ( ${RUST_DEPEND} ) " PATCHES=( @@ -80,6 +80,7 @@ PATCHES=( pkg_setup() { QA_FLAGS_IGNORED="/usr/$(get_libdir)/RMG/Plugin/Input/libmupen64plus_input_gca.so" + rust_pkg_setup } src_unpack() { diff --git a/games-emulation/rmg/rmg-0.6.5.ebuild b/games-emulation/rmg/rmg-0.6.6-r1.ebuild index 6ca37bec7198..eed49326ebd4 100644 --- a/games-emulation/rmg/rmg-0.6.5.ebuild +++ b/games-emulation/rmg/rmg-0.6.6-r1.ebuild @@ -71,7 +71,7 @@ RDEPEND="${DEPEND}" BDEPEND=" virtual/pkgconfig dynarec? ( dev-lang/nasm ) - rust-plugin? ( virtual/rust ) + rust-plugin? ( ${RUST_DEPEND} ) " PATCHES=( @@ -80,6 +80,7 @@ PATCHES=( pkg_setup() { QA_FLAGS_IGNORED="/usr/$(get_libdir)/RMG/Plugin/Input/libmupen64plus_input_gca.so" + use rust-plugin && rust_pkg_setup } src_unpack() { diff --git a/games-emulation/rmg/rmg-9999.ebuild b/games-emulation/rmg/rmg-9999.ebuild index 6ca37bec7198..48350becfcc2 100644 --- a/games-emulation/rmg/rmg-9999.ebuild +++ b/games-emulation/rmg/rmg-9999.ebuild @@ -71,7 +71,7 @@ RDEPEND="${DEPEND}" BDEPEND=" virtual/pkgconfig dynarec? ( dev-lang/nasm ) - rust-plugin? ( virtual/rust ) + rust-plugin? ( ${RUST_DEPEND} ) " PATCHES=( @@ -80,6 +80,7 @@ PATCHES=( pkg_setup() { QA_FLAGS_IGNORED="/usr/$(get_libdir)/RMG/Plugin/Input/libmupen64plus_input_gca.so" + rust_pkg_setup } src_unpack() { diff --git a/games-puzzle/syzygy/syzygy-1.0.2.ebuild b/games-puzzle/syzygy/syzygy-1.0.2-r1.ebuild index c4b802feffd0..e40eb73ed926 100644 --- a/games-puzzle/syzygy/syzygy-1.0.2.ebuild +++ b/games-puzzle/syzygy/syzygy-1.0.2-r1.ebuild @@ -59,7 +59,6 @@ KEYWORDS="~amd64" RDEPEND="media-libs/libsdl2[sound,video]" DEPEND="${RDEPEND}" -BDEPEND=">=virtual/rust-1.60" QA_FLAGS_IGNORED="usr/bin/${PN}" diff --git a/games-rpg/rpg-cli/rpg-cli-1.2.0.ebuild b/games-rpg/rpg-cli/rpg-cli-1.2.0-r1.ebuild index c648c2412b5e..c648c2412b5e 100644 --- a/games-rpg/rpg-cli/rpg-cli-1.2.0.ebuild +++ b/games-rpg/rpg-cli/rpg-cli-1.2.0-r1.ebuild diff --git a/games-strategy/0ad/0ad-0.0.26_alpha-r1.ebuild b/games-strategy/0ad/0ad-0.0.26_alpha-r2.ebuild index e910f14e5bd2..3f85989916d2 100644 --- a/games-strategy/0ad/0ad-0.0.26_alpha-r1.ebuild +++ b/games-strategy/0ad/0ad-0.0.26_alpha-r2.ebuild @@ -6,7 +6,9 @@ EAPI=8 WX_GTK_VER="3.0-gtk3" # In alpha26 bundled spidermonkey-78.6.0 does not build with python 3.11. PYTHON_COMPAT=( python3_10 ) -inherit desktop flag-o-matic toolchain-funcs multiprocessing python-any-r1 wxwidgets xdg + +# rust is for bundled SpiderMonkey. +inherit desktop flag-o-matic toolchain-funcs multiprocessing python-any-r1 rust wxwidgets xdg DESCRIPTION="A free, real-time strategy game" HOMEPAGE="https://play0ad.com/" @@ -53,13 +55,11 @@ CHECKREQS_DISK_USR="3500M" # 3555340 KiB (3.3 GiB) # build and/or startup issues. QA_PRESTRIPPED="/usr/lib64/0ad/libCollada.so /usr/bin/0ad" -# virtual/rust is for bundled SpiderMonkey. # Build-time Python dependency is for SM, too. BDEPEND=" ${PYTHON_DEPS} >=dev-util/premake-5.0.0_alpha12:5 virtual/pkgconfig - virtual/rust test? ( dev-lang/perl ) " @@ -110,6 +110,7 @@ pkg_setup() { use editor && setup-wxwidgets python-any-r1_pkg_setup + rust_pkg_setup } src_unpack() { diff --git a/games-strategy/ja2-stracciatella/ja2-stracciatella-0.21.0-r1.ebuild b/games-strategy/ja2-stracciatella/ja2-stracciatella-0.21.0-r1.ebuild new file mode 100644 index 000000000000..f296653e14c9 --- /dev/null +++ b/games-strategy/ja2-stracciatella/ja2-stracciatella-0.21.0-r1.ebuild @@ -0,0 +1,278 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +CRATES=" + addr2line@0.17.0 + adler@1.0.2 + ahash@0.7.6 + aho-corasick@0.7.18 + ansi_term@0.11.0 + anyhow@1.0.69 + ascii@0.9.3 + atty@0.2.14 + autocfg@1.1.0 + backtrace@0.3.65 + base64@0.13.1 + bit-set@0.5.3 + bit-vec@0.6.3 + bitflags@1.3.2 + block-buffer@0.10.3 + bytecount@0.6.3 + byteorder@1.4.3 + bytes@1.4.0 + caseless@0.2.1 + cbindgen@0.20.0 + cc@1.0.73 + cesu8@1.1.0 + cfg-if@1.0.0 + clap@2.33.4 + combine@3.8.1 + combine@4.6.4 + crossbeam-channel@0.5.4 + crossbeam-deque@0.8.1 + crossbeam-epoch@0.9.8 + crossbeam-utils@0.8.8 + crypto-common@0.1.6 + cty@0.2.2 + deunicode@0.4.3 + digest@0.10.6 + dirs@4.0.0 + dirs-sys@0.3.7 + dunce@1.0.2 + either@1.6.1 + error-chain@0.12.4 + fancy-regex@0.8.0 + fastrand@1.7.0 + form_urlencoded@1.1.0 + fraction@0.10.0 + generic-array@0.14.5 + getopts@0.2.21 + getrandom@0.2.6 + gimli@0.26.1 + hashbrown@0.12.3 + heck@0.3.3 + hermit-abi@0.1.19 + hex@0.4.3 + idna@0.3.0 + indexmap@1.9.2 + instant@0.1.12 + iso8601@0.4.2 + itoa@1.0.1 + jni@0.14.0 + jni@0.19.0 + jni-sys@0.3.0 + json_comments@0.2.1 + jsonschema@0.16.0 + lazy_static@1.4.0 + libc@0.2.124 + lock_api@0.4.9 + log@0.4.16 + lru@0.8.1 + md-5@0.10.5 + memchr@2.4.1 + memoffset@0.6.5 + minimal-lexical@0.2.1 + miniz_oxide@0.5.1 + ndk@0.7.0 + ndk-sys@0.4.1+23.1.7779620 + nom@7.1.3 + num@0.2.1 + num-bigint@0.2.6 + num-cmp@0.1.0 + num-complex@0.2.4 + num-integer@0.1.45 + num-iter@0.1.43 + num-rational@0.2.4 + num-traits@0.2.15 + num_cpus@1.13.1 + num_enum@0.5.7 + num_enum_derive@0.5.7 + num_threads@0.1.6 + object@0.28.3 + once_cell@1.10.0 + parking_lot@0.12.1 + parking_lot_core@0.9.7 + percent-encoding@2.2.0 + proc-macro-crate@1.1.3 + proc-macro2@1.0.51 + quote@1.0.18 + raw-window-handle@0.5.0 + rayon@1.6.1 + rayon-core@1.10.2 + redox_syscall@0.2.13 + redox_users@0.4.3 + regex@1.7.1 + regex-syntax@0.6.28 + remove_dir_all@0.5.3 + rustc-demangle@0.1.21 + ryu@1.0.9 + same-file@1.0.6 + scopeguard@1.1.0 + send_wrapper@0.6.0 + serde@1.0.152 + serde_derive@1.0.152 + serde_json@1.0.93 + serde_yaml@0.9.17 + simplelog@0.12.0 + slug@0.1.4 + smallvec@1.10.0 + strsim@0.8.0 + syn@1.0.107 + tempfile@3.3.0 + termcolor@1.1.3 + textwrap@0.11.0 + thiserror@1.0.30 + thiserror-impl@1.0.30 + time@0.3.15 + time-macros@0.2.4 + tinyvec@1.6.0 + tinyvec_macros@0.1.1 + toml@0.5.9 + typenum@1.15.0 + unicode-bidi@0.3.10 + unicode-ident@1.0.6 + unicode-normalization@0.1.19 + unicode-segmentation@1.10.1 + unicode-width@0.1.9 + unreachable@1.0.0 + unsafe-libyaml@0.2.5 + url@2.3.1 + uuid@0.8.2 + vec_map@0.8.2 + version_check@0.9.4 + void@1.0.2 + walkdir@2.3.2 + wasi@0.10.2+wasi-snapshot-preview1 + winapi@0.3.9 + winapi-i686-pc-windows-gnu@0.4.0 + winapi-util@0.1.5 + winapi-x86_64-pc-windows-gnu@0.4.0 + windows-sys@0.45.0 + windows-targets@0.42.1 + windows_aarch64_gnullvm@0.42.1 + windows_aarch64_msvc@0.42.1 + windows_i686_gnu@0.42.1 + windows_i686_msvc@0.42.1 + windows_x86_64_gnu@0.42.1 + windows_x86_64_gnullvm@0.42.1 + windows_x86_64_msvc@0.42.1 +" + +# See dependencies/lib-lua/CMakeLists.txt +LUA_COMPAT=( lua5-3 ) + +# proc_macro-span_shrink; update proc-macro2 crate +RUST_MAX_VER="1.71.1" + +inherit cargo cmake flag-o-matic lua-single xdg + +DESCRIPTION="An improved, cross-platform, stable Jagged Alliance 2 runtime" +HOMEPAGE="https://github.com/ja2-stracciatella/" +SRC_URI=" + https://github.com/ja2-stracciatella/ja2-stracciatella/archive/v${PV}.tar.gz -> ${P}.tar.gz + editor? ( https://github.com/ja2-stracciatella/free-ja2-resources/releases/download/v1/editor.slf -> ${P}-editor.slf ) +" +SRC_URI+=" $(cargo_crate_uris ${CARGO_CRATES_URIS})" + +LICENSE="public-domain SFI-SCLA" +SLOT="0" +KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86" +IUSE="cdinstall editor ru-gold test" +# ./ja2 -unittest can't find save files +RESTRICT="!test? ( test ) test" +REQUIRED_USE="${LUA_REQUIRED_USE}" + +DEPEND=" + ${LUA_DEPS} + >=dev-cpp/magic_enum-0.9.5 + >=dev-cpp/sol2-3.3.0 + >=dev-cpp/string-theory-3.1 + >=dev-games/libsmacker-1.1.1 + >=dev-libs/miniaudio-0.11.11 + >=dev-libs/rapidjson-1.1.0 + media-libs/libsdl2[X,sound,video] + >=x11-libs/fltk-1.3.5[opengl] +" +RDEPEND=" + ${DEPEND} + cdinstall? ( games-strategy/ja2-stracciatella-data ) +" + +PATCHES=( + "${FILESDIR}"/${PN}-0.20.0-lua-cmake.patch +) + +pkg_setup() { + lua-single_pkg_setup + rust_pkg_setup +} + +src_prepare() { + cmake_src_prepare +} + +src_configure() { + # -Werror=odr + # https://bugs.gentoo.org/916965 + # https://github.com/ja2-stracciatella/ja2-stracciatella/issues/1963 + filter-lto + + local mycmakeargs=( + -DUSE_SCCACHE=OFF + + -DLOCAL_GTEST_LIB=OFF + -DLOCAL_FLTK_LIB=OFF + + -DLOCAL_LUA_LIB=OFF + -DLUA_VERSION="${ELUA#lua}" + + -DLOCAL_MAGICENUM_LIB=OFF + -DLOCAL_MINIAUDIO_LIB=OFF + -DLOCAL_RAPIDJSON_LIB=OFF + -DLOCAL_SDL_LIB=OFF + -DLOCAL_SOL_LIB=OFF + -DLOCAL_STRING_THEORY_LIB=OFF + + -DWITH_MAGICENUM=OFF + -DWITH_RUST_BINARIES=OFF + -DWITH_UNITTESTS=$(usex test) + + -DBUILD_LAUNCHER=OFF + + -DINSTALL_LIB_DIR="${EPREFIX}/usr/$(get_libdir)" + -DEXTRA_DATA_DIR="${EPREFIX}/usr/share/ja2" + -DMINIAUDIO_INCLUDE_DIR="${EPREFIX}/usr/include/miniaudio" + -DMAGICENUM_INCLUDE_DIR="${EPREFIX}/usr/include" + ) + + cargo_gen_config + cmake_src_configure +} + +src_install() { + if use editor; then + insinto /usr/share/ja2 + doins "${DISTDIR}/${P}-editor.slf" + dosym "${P}-editor.slf" "/usr/share/ja2/editor.slf" + fi + + cmake_src_install +} + +src_test() { + "${BUILD_DIR}"/ja2 -unittests || die +} + +pkg_postinst() { + if ! use cdinstall ; then + elog "You need to copy all files from the Data directory of" + elog "Jagged Alliance 2 installation to" + elog "e.g. /opt/ja2/data and set game_dir in .ja2/ja2.json" + elog "accordingly." + elog "Make sure the filenames are lowercase." + fi + + xdg_pkg_postinst +} diff --git a/games-strategy/ja2-stracciatella/ja2-stracciatella-0.21.0.ebuild b/games-strategy/ja2-stracciatella/ja2-stracciatella-0.21.0.ebuild deleted file mode 100644 index 52c5e077966c..000000000000 --- a/games-strategy/ja2-stracciatella/ja2-stracciatella-0.21.0.ebuild +++ /dev/null @@ -1,271 +0,0 @@ -# Copyright 1999-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -CRATES=" -addr2line@0.17.0 -adler@1.0.2 -ahash@0.7.6 -aho-corasick@0.7.18 -ansi_term@0.11.0 -anyhow@1.0.69 -ascii@0.9.3 -atty@0.2.14 -autocfg@1.1.0 -backtrace@0.3.65 -base64@0.13.1 -bit-set@0.5.3 -bit-vec@0.6.3 -bitflags@1.3.2 -block-buffer@0.10.3 -bytecount@0.6.3 -byteorder@1.4.3 -bytes@1.4.0 -caseless@0.2.1 -cbindgen@0.20.0 -cc@1.0.73 -cesu8@1.1.0 -cfg-if@1.0.0 -clap@2.33.4 -combine@3.8.1 -combine@4.6.4 -crossbeam-channel@0.5.4 -crossbeam-deque@0.8.1 -crossbeam-epoch@0.9.8 -crossbeam-utils@0.8.8 -crypto-common@0.1.6 -cty@0.2.2 -deunicode@0.4.3 -digest@0.10.6 -dirs@4.0.0 -dirs-sys@0.3.7 -dunce@1.0.2 -either@1.6.1 -error-chain@0.12.4 -fancy-regex@0.8.0 -fastrand@1.7.0 -form_urlencoded@1.1.0 -fraction@0.10.0 -generic-array@0.14.5 -getopts@0.2.21 -getrandom@0.2.6 -gimli@0.26.1 -hashbrown@0.12.3 -heck@0.3.3 -hermit-abi@0.1.19 -hex@0.4.3 -idna@0.3.0 -indexmap@1.9.2 -instant@0.1.12 -iso8601@0.4.2 -itoa@1.0.1 -jni@0.14.0 -jni@0.19.0 -jni-sys@0.3.0 -json_comments@0.2.1 -jsonschema@0.16.0 -lazy_static@1.4.0 -libc@0.2.124 -lock_api@0.4.9 -log@0.4.16 -lru@0.8.1 -md-5@0.10.5 -memchr@2.4.1 -memoffset@0.6.5 -minimal-lexical@0.2.1 -miniz_oxide@0.5.1 -ndk@0.7.0 -ndk-sys@0.4.1+23.1.7779620 -nom@7.1.3 -num@0.2.1 -num-bigint@0.2.6 -num-cmp@0.1.0 -num-complex@0.2.4 -num-integer@0.1.45 -num-iter@0.1.43 -num-rational@0.2.4 -num-traits@0.2.15 -num_cpus@1.13.1 -num_enum@0.5.7 -num_enum_derive@0.5.7 -num_threads@0.1.6 -object@0.28.3 -once_cell@1.10.0 -parking_lot@0.12.1 -parking_lot_core@0.9.7 -percent-encoding@2.2.0 -proc-macro-crate@1.1.3 -proc-macro2@1.0.51 -quote@1.0.18 -raw-window-handle@0.5.0 -rayon@1.6.1 -rayon-core@1.10.2 -redox_syscall@0.2.13 -redox_users@0.4.3 -regex@1.7.1 -regex-syntax@0.6.28 -remove_dir_all@0.5.3 -rustc-demangle@0.1.21 -ryu@1.0.9 -same-file@1.0.6 -scopeguard@1.1.0 -send_wrapper@0.6.0 -serde@1.0.152 -serde_derive@1.0.152 -serde_json@1.0.93 -serde_yaml@0.9.17 -simplelog@0.12.0 -slug@0.1.4 -smallvec@1.10.0 -strsim@0.8.0 -syn@1.0.107 -tempfile@3.3.0 -termcolor@1.1.3 -textwrap@0.11.0 -thiserror@1.0.30 -thiserror-impl@1.0.30 -time@0.3.15 -time-macros@0.2.4 -tinyvec@1.6.0 -tinyvec_macros@0.1.1 -toml@0.5.9 -typenum@1.15.0 -unicode-bidi@0.3.10 -unicode-ident@1.0.6 -unicode-normalization@0.1.19 -unicode-segmentation@1.10.1 -unicode-width@0.1.9 -unreachable@1.0.0 -unsafe-libyaml@0.2.5 -url@2.3.1 -uuid@0.8.2 -vec_map@0.8.2 -version_check@0.9.4 -void@1.0.2 -walkdir@2.3.2 -wasi@0.10.2+wasi-snapshot-preview1 -winapi@0.3.9 -winapi-i686-pc-windows-gnu@0.4.0 -winapi-util@0.1.5 -winapi-x86_64-pc-windows-gnu@0.4.0 -windows-sys@0.45.0 -windows-targets@0.42.1 -windows_aarch64_gnullvm@0.42.1 -windows_aarch64_msvc@0.42.1 -windows_i686_gnu@0.42.1 -windows_i686_msvc@0.42.1 -windows_x86_64_gnu@0.42.1 -windows_x86_64_gnullvm@0.42.1 -windows_x86_64_msvc@0.42.1 -" - -# See dependencies/lib-lua/CMakeLists.txt -LUA_COMPAT=( lua5-3 ) - -inherit cargo cmake flag-o-matic lua-single xdg - -DESCRIPTION="An improved, cross-platform, stable Jagged Alliance 2 runtime" -HOMEPAGE="https://github.com/ja2-stracciatella/" -SRC_URI=" - https://github.com/ja2-stracciatella/ja2-stracciatella/archive/v${PV}.tar.gz -> ${P}.tar.gz - editor? ( https://github.com/ja2-stracciatella/free-ja2-resources/releases/download/v1/editor.slf -> ${P}-editor.slf ) -" -SRC_URI+=" $(cargo_crate_uris ${CARGO_CRATES_URIS})" - -LICENSE="public-domain SFI-SCLA" -SLOT="0" -KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86" -IUSE="cdinstall editor ru-gold test" -# ./ja2 -unittest can't find save files -RESTRICT="!test? ( test ) test" -REQUIRED_USE="${LUA_REQUIRED_USE}" - -DEPEND=" - ${LUA_DEPS} - >=dev-cpp/magic_enum-0.9.5 - >=dev-cpp/sol2-3.3.0 - >=dev-cpp/string-theory-3.1 - >=dev-games/libsmacker-1.1.1 - >=dev-libs/miniaudio-0.11.11 - >=dev-libs/rapidjson-1.1.0 - media-libs/libsdl2[X,sound,video] - >=x11-libs/fltk-1.3.5[opengl] - >=virtual/rust-1.40.0 -" -RDEPEND=" - ${DEPEND} - cdinstall? ( games-strategy/ja2-stracciatella-data ) -" - -PATCHES=( - "${FILESDIR}"/${PN}-0.20.0-lua-cmake.patch -) - -src_prepare() { - cmake_src_prepare -} - -src_configure() { - # -Werror=odr - # https://bugs.gentoo.org/916965 - # https://github.com/ja2-stracciatella/ja2-stracciatella/issues/1963 - filter-lto - - local mycmakeargs=( - -DUSE_SCCACHE=OFF - - -DLOCAL_GTEST_LIB=OFF - -DLOCAL_FLTK_LIB=OFF - - -DLOCAL_LUA_LIB=OFF - -DLUA_VERSION="${ELUA#lua}" - - -DLOCAL_MAGICENUM_LIB=OFF - -DLOCAL_MINIAUDIO_LIB=OFF - -DLOCAL_RAPIDJSON_LIB=OFF - -DLOCAL_SDL_LIB=OFF - -DLOCAL_SOL_LIB=OFF - -DLOCAL_STRING_THEORY_LIB=OFF - - -DWITH_MAGICENUM=OFF - -DWITH_RUST_BINARIES=OFF - -DWITH_UNITTESTS=$(usex test) - - -DBUILD_LAUNCHER=OFF - - -DINSTALL_LIB_DIR="${EPREFIX}/usr/$(get_libdir)" - -DEXTRA_DATA_DIR="${EPREFIX}/usr/share/ja2" - -DMINIAUDIO_INCLUDE_DIR="${EPREFIX}/usr/include/miniaudio" - -DMAGICENUM_INCLUDE_DIR="${EPREFIX}/usr/include" - ) - - cargo_gen_config - cmake_src_configure -} - -src_install() { - if use editor; then - insinto /usr/share/ja2 - doins "${DISTDIR}/${P}-editor.slf" - dosym "${P}-editor.slf" "/usr/share/ja2/editor.slf" - fi - - cmake_src_install -} - -src_test() { - "${BUILD_DIR}"/ja2 -unittests || die -} - -pkg_postinst() { - if ! use cdinstall ; then - elog "You need to copy all files from the Data directory of" - elog "Jagged Alliance 2 installation to" - elog "e.g. /opt/ja2/data and set game_dir in .ja2/ja2.json" - elog "accordingly." - elog "Make sure the filenames are lowercase." - fi - - xdg_pkg_postinst -} diff --git a/gnome-base/librsvg/librsvg-2.57.3.ebuild b/gnome-base/librsvg/librsvg-2.57.3-r1.ebuild index f58cadb63b5c..f6643f2a0d2d 100644 --- a/gnome-base/librsvg/librsvg-2.57.3.ebuild +++ b/gnome-base/librsvg/librsvg-2.57.3-r1.ebuild @@ -277,7 +277,10 @@ CRATES=" yeslogic-fontconfig-sys@4.0.1 " -inherit cargo gnome2 multilib-minimal python-any-r1 rust-toolchain vala +RUST_MAX_VER="1.79.0" +RUST_USEDEP='${MULTILIB_USEDEP}' + +inherit multilib-minimal cargo gnome2 python-any-r1 rust-toolchain vala DESCRIPTION="Scalable Vector Graphics (SVG) rendering library" HOMEPAGE="https://wiki.gnome.org/Projects/LibRsvg https://gitlab.gnome.org/GNOME/librsvg" @@ -312,7 +315,6 @@ RDEPEND=" " DEPEND="${RDEPEND}" BDEPEND=" - >=virtual/rust-1.70.0[${MULTILIB_USEDEP}] x11-libs/gdk-pixbuf ${PYTHON_DEPS} $(python_gen_any_dep 'dev-python/docutils[${PYTHON_USEDEP}]') diff --git a/gnome-base/librsvg/librsvg-2.58.2.ebuild b/gnome-base/librsvg/librsvg-2.58.2-r1.ebuild index fadc212ccc81..68c84dd678aa 100644 --- a/gnome-base/librsvg/librsvg-2.58.2.ebuild +++ b/gnome-base/librsvg/librsvg-2.58.2-r1.ebuild @@ -288,7 +288,11 @@ CRATES=" zune-inflate@0.2.54 " -inherit cargo gnome2 multilib-minimal python-any-r1 rust-toolchain vala +RUST_MAX_VER="1.79.0" +RUST_MIN_VER="1.71.1" +RUST_USEDEP='${MULTILIB_USEDEP}' + +inherit multilib-minimal cargo gnome2 python-any-r1 rust-toolchain vala DESCRIPTION="Scalable Vector Graphics (SVG) rendering library" HOMEPAGE="https://wiki.gnome.org/Projects/LibRsvg https://gitlab.gnome.org/GNOME/librsvg" @@ -323,7 +327,6 @@ RDEPEND=" " DEPEND="${RDEPEND}" BDEPEND=" - >=virtual/rust-1.70.0[${MULTILIB_USEDEP}] x11-libs/gdk-pixbuf ${PYTHON_DEPS} $(python_gen_any_dep 'dev-python/docutils[${PYTHON_USEDEP}]') @@ -341,6 +344,11 @@ QA_FLAGS_IGNORED=" usr/lib.*/librsvg.* " +pkg_setup() { + rust_pkg_setup + python-any-r1_pkg_setup +} + src_prepare() { use vala && vala_setup gnome2_src_prepare diff --git a/gui-apps/railway/railway-2.7.0.ebuild b/gui-apps/railway/railway-2.7.0-r1.ebuild index 7f1010dba14b..601860ec2028 100644 --- a/gui-apps/railway/railway-2.7.0.ebuild +++ b/gui-apps/railway/railway-2.7.0-r1.ebuild @@ -3,8 +3,6 @@ EAPI=8 -inherit gnome2-utils xdg-utils - CRATES=" addr2line@0.22.0 adler@1.0.2 @@ -216,7 +214,7 @@ CRATES=" winnow@0.6.14 " -inherit cargo meson +inherit cargo gnome2-utils meson xdg-utils DESCRIPTION="Travel with all your train information in one place" HOMEPAGE=" diff --git a/gui-apps/tuigreet/tuigreet-0.8.0-r1.ebuild b/gui-apps/tuigreet/tuigreet-0.8.0-r1.ebuild deleted file mode 100644 index 9e4917b0483e..000000000000 --- a/gui-apps/tuigreet/tuigreet-0.8.0-r1.ebuild +++ /dev/null @@ -1,164 +0,0 @@ -# Copyright 2022 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -CRATES=" - ahash-0.7.6 - aho-corasick-0.7.18 - async-trait-0.1.53 - autocfg-1.1.0 - bitflags-1.3.2 - block-0.1.6 - block-buffer-0.9.0 - bytes-1.1.0 - cassowary-0.3.0 - cfg-if-1.0.0 - chrono-0.4.19 - cpufeatures-0.2.2 - crossterm-0.23.2 - crossterm_winapi-0.9.0 - dashmap-5.3.3 - digest-0.9.0 - dlv-list-0.3.0 - find-crate-0.6.3 - fluent-0.16.0 - fluent-bundle-0.15.2 - fluent-langneg-0.13.0 - fluent-syntax-0.11.0 - futures-0.3.21 - futures-channel-0.3.21 - futures-core-0.3.21 - futures-executor-0.3.21 - futures-io-0.3.21 - futures-macro-0.3.21 - futures-sink-0.3.21 - futures-task-0.3.21 - futures-util-0.3.21 - generic-array-0.14.5 - getopts-0.2.21 - getrandom-0.2.6 - greetd_ipc-0.8.0 - hashbrown-0.12.1 - hermit-abi-0.1.19 - i18n-config-0.4.2 - i18n-embed-0.13.4 - i18n-embed-fl-0.6.4 - i18n-embed-impl-0.8.0 - intl-memoizer-0.5.1 - intl_pluralrules-7.0.1 - itoa-1.0.1 - lazy_static-1.4.0 - libc-0.2.125 - locale_config-0.3.0 - lock_api-0.4.7 - log-0.4.17 - malloc_buf-0.0.6 - memchr-2.5.0 - memoffset-0.6.5 - mio-0.8.3 - nix-0.24.1 - num-integer-0.1.45 - num-traits-0.2.15 - num_cpus-1.13.1 - objc-0.2.7 - objc-foundation-0.1.1 - objc_id-0.1.1 - once_cell-1.10.0 - opaque-debug-0.3.0 - ordered-multimap-0.4.3 - parking_lot-0.12.0 - parking_lot_core-0.9.3 - pin-project-lite-0.2.9 - pin-utils-0.1.0 - proc-macro-error-1.0.4 - proc-macro-error-attr-1.0.4 - proc-macro2-1.0.38 - pure-rust-locales-0.5.6 - quote-1.0.18 - redox_syscall-0.2.13 - regex-1.5.5 - regex-syntax-0.6.25 - rust-embed-6.4.0 - rust-embed-impl-6.2.0 - rust-embed-utils-7.2.0 - rust-ini-0.18.0 - rustc-hash-1.1.0 - ryu-1.0.9 - same-file-1.0.6 - scopeguard-1.1.0 - self_cell-0.10.2 - serde-1.0.137 - serde_derive-1.0.137 - serde_json-1.0.81 - sha2-0.9.9 - signal-hook-0.3.13 - signal-hook-mio-0.2.3 - signal-hook-registry-1.4.0 - slab-0.4.6 - smallvec-1.8.0 - smart-default-0.6.0 - smawk-0.3.1 - socket2-0.4.5 - strsim-0.10.0 - syn-1.0.92 - textwrap-0.15.0 - thiserror-1.0.31 - thiserror-impl-1.0.31 - time-0.1.43 - tinystr-0.3.4 - tokio-1.18.2 - tokio-macros-1.7.0 - toml-0.5.9 - tui-0.18.0 - type-map-0.4.0 - typenum-1.15.0 - unic-langid-0.9.0 - unic-langid-impl-0.9.0 - unicode-linebreak-0.1.2 - unicode-segmentation-1.9.0 - unicode-width-0.1.9 - unicode-xid-0.2.3 - version_check-0.9.4 - walkdir-2.3.2 - wasi-0.10.2+wasi-snapshot-preview1 - wasi-0.11.0+wasi-snapshot-preview1 - winapi-0.3.9 - winapi-i686-pc-windows-gnu-0.4.0 - winapi-util-0.1.5 - winapi-x86_64-pc-windows-gnu-0.4.0 - windows-sys-0.36.1 - windows_aarch64_msvc-0.36.1 - windows_i686_gnu-0.36.1 - windows_i686_msvc-0.36.1 - windows_x86_64_gnu-0.36.1 - windows_x86_64_msvc-0.36.1 - zeroize-1.5.5 -" - -inherit cargo - -DESCRIPTION="TUI greeter for greetd login manager" -HOMEPAGE="https://github.com/apognu/tuigreet" - -SRC_URI="https://github.com/apognu/tuigreet/archive/${PV}.tar.gz -> ${P}.tar.gz - $(cargo_crate_uris)" - -QA_FLAGS_IGNORED="usr/bin/tuigreet" - -LICENSE="Apache-2.0 Boost-1.0 GPL-3 MIT" -SLOT="0" -KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv" - -RDEPEND="acct-group/greetd - acct-user/greetd - gui-libs/greetd" -DEPEND="${RDEPEND}" - -src_install() { - dodir /var/cache/${PN} - fowners greetd:greetd /var/cache/${PN} - keepdir /var/cache/${PN} - - cargo_src_install -} diff --git a/gui-apps/tuigreet/tuigreet-0.8.0-r2.ebuild b/gui-apps/tuigreet/tuigreet-0.8.0-r2.ebuild new file mode 100644 index 000000000000..ef7c6cdeb8d3 --- /dev/null +++ b/gui-apps/tuigreet/tuigreet-0.8.0-r2.ebuild @@ -0,0 +1,164 @@ +# Copyright 2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +CRATES=" + ahash@0.7.6 + aho-corasick@0.7.18 + async-trait@0.1.53 + autocfg@1.1.0 + bitflags@1.3.2 + block@0.1.6 + block-buffer@0.9.0 + bytes@1.1.0 + cassowary@0.3.0 + cfg-if@1.0.0 + chrono@0.4.19 + cpufeatures@0.2.2 + crossterm@0.23.2 + crossterm_winapi@0.9.0 + dashmap@5.3.3 + digest@0.9.0 + dlv-list@0.3.0 + find-crate@0.6.3 + fluent@0.16.0 + fluent-bundle@0.15.2 + fluent-langneg@0.13.0 + fluent-syntax@0.11.0 + futures@0.3.21 + futures-channel@0.3.21 + futures-core@0.3.21 + futures-executor@0.3.21 + futures-io@0.3.21 + futures-macro@0.3.21 + futures-sink@0.3.21 + futures-task@0.3.21 + futures-util@0.3.21 + generic-array@0.14.5 + getopts@0.2.21 + getrandom@0.2.6 + greetd_ipc@0.8.0 + hashbrown@0.12.1 + hermit-abi@0.1.19 + i18n-config@0.4.2 + i18n-embed@0.13.4 + i18n-embed-fl@0.6.4 + i18n-embed-impl@0.8.0 + intl-memoizer@0.5.1 + intl_pluralrules@7.0.1 + itoa@1.0.1 + lazy_static@1.4.0 + libc@0.2.125 + locale_config@0.3.0 + lock_api@0.4.7 + log@0.4.17 + malloc_buf@0.0.6 + memchr@2.5.0 + memoffset@0.6.5 + mio@0.8.3 + nix@0.24.1 + num-integer@0.1.45 + num-traits@0.2.15 + num_cpus@1.13.1 + objc@0.2.7 + objc-foundation@0.1.1 + objc_id@0.1.1 + once_cell@1.10.0 + opaque-debug@0.3.0 + ordered-multimap@0.4.3 + parking_lot@0.12.0 + parking_lot_core@0.9.3 + pin-project-lite@0.2.9 + pin-utils@0.1.0 + proc-macro-error@1.0.4 + proc-macro-error-attr@1.0.4 + proc-macro2@1.0.38 + pure-rust-locales@0.5.6 + quote@1.0.18 + redox_syscall@0.2.13 + regex@1.5.5 + regex-syntax@0.6.25 + rust-embed@6.4.0 + rust-embed-impl@6.2.0 + rust-embed-utils@7.2.0 + rust-ini@0.18.0 + rustc-hash@1.1.0 + ryu@1.0.9 + same-file@1.0.6 + scopeguard@1.1.0 + self_cell@0.10.2 + serde@1.0.137 + serde_derive@1.0.137 + serde_json@1.0.81 + sha2@0.9.9 + signal-hook@0.3.13 + signal-hook-mio@0.2.3 + signal-hook-registry@1.4.0 + slab@0.4.6 + smallvec@1.8.0 + smart-default@0.6.0 + smawk@0.3.1 + socket2@0.4.5 + strsim@0.10.0 + syn@1.0.92 + textwrap@0.15.0 + thiserror@1.0.31 + thiserror-impl@1.0.31 + time@0.1.43 + tinystr@0.3.4 + tokio@1.18.2 + tokio-macros@1.7.0 + toml@0.5.9 + tui@0.18.0 + type-map@0.4.0 + typenum@1.15.0 + unic-langid@0.9.0 + unic-langid-impl@0.9.0 + unicode-linebreak@0.1.2 + unicode-segmentation@1.9.0 + unicode-width@0.1.9 + unicode-xid@0.2.3 + version_check@0.9.4 + walkdir@2.3.2 + wasi@0.10.2+wasi-snapshot-preview1 + wasi@0.11.0+wasi-snapshot-preview1 + winapi@0.3.9 + winapi-i686-pc-windows-gnu@0.4.0 + winapi-util@0.1.5 + winapi-x86_64-pc-windows-gnu@0.4.0 + windows-sys@0.36.1 + windows_aarch64_msvc@0.36.1 + windows_i686_gnu@0.36.1 + windows_i686_msvc@0.36.1 + windows_x86_64_gnu@0.36.1 + windows_x86_64_msvc@0.36.1 + zeroize@1.5.5 +" + +inherit cargo + +DESCRIPTION="TUI greeter for greetd login manager" +HOMEPAGE="https://github.com/apognu/tuigreet" + +SRC_URI="https://github.com/apognu/tuigreet/archive/${PV}.tar.gz -> ${P}.tar.gz + ${CARGO_CRATE_URIS}" + +QA_FLAGS_IGNORED="usr/bin/tuigreet" + +LICENSE="Apache-2.0 Boost-1.0 GPL-3 MIT" +SLOT="0" +KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv" + +RDEPEND="acct-group/greetd + acct-user/greetd + gui-libs/greetd" +DEPEND="${RDEPEND}" + +src_install() { + dodir /var/cache/${PN} + fowners greetd:greetd /var/cache/${PN} + keepdir /var/cache/${PN} + + cargo_src_install +} diff --git a/gui-apps/tuigreet/tuigreet-0.9.1.ebuild b/gui-apps/tuigreet/tuigreet-0.9.1-r1.ebuild index 2cbd0920f10e..2cbd0920f10e 100644 --- a/gui-apps/tuigreet/tuigreet-0.9.1.ebuild +++ b/gui-apps/tuigreet/tuigreet-0.9.1-r1.ebuild diff --git a/gui-libs/greetd/greetd-0.10.0.ebuild b/gui-libs/greetd/greetd-0.10.0-r1.ebuild index 8a47ffe77707..8a47ffe77707 100644 --- a/gui-libs/greetd/greetd-0.10.0.ebuild +++ b/gui-libs/greetd/greetd-0.10.0-r1.ebuild diff --git a/gui-libs/greetd/greetd-0.10.3.ebuild b/gui-libs/greetd/greetd-0.10.3-r1.ebuild index 30f9a98e47b8..30f9a98e47b8 100644 --- a/gui-libs/greetd/greetd-0.10.3.ebuild +++ b/gui-libs/greetd/greetd-0.10.3-r1.ebuild diff --git a/mail-client/thunderbird/thunderbird-128.3.1.ebuild b/mail-client/thunderbird/thunderbird-128.3.1-r1.ebuild index 898f5c3f9182..ab065c036d7e 100644 --- a/mail-client/thunderbird/thunderbird-128.3.1.ebuild +++ b/mail-client/thunderbird/thunderbird-128.3.1-r1.ebuild @@ -10,6 +10,9 @@ LLVM_COMPAT=( 17 18 ) PYTHON_COMPAT=( python3_{10..12} ) PYTHON_REQ_USE="ncurses,sqlite,ssl" +RUST_MIN_VER="1.77.1" +RUST_NEEDS_LLVM=1 + WANT_AUTOCONF="2.1" VIRTUALX_REQUIRED="manual" @@ -39,7 +42,10 @@ MOZ_PV_DISTFILES="${MOZ_PV}${MOZ_PV_SUFFIX}" MOZ_P_DISTFILES="${MOZ_PN}-${MOZ_PV_DISTFILES}" inherit autotools check-reqs desktop flag-o-matic gnome2-utils linux-info llvm-r1 multiprocessing \ - optfeature pax-utils python-any-r1 toolchain-funcs virtualx xdg + optfeature pax-utils python-any-r1 rust toolchain-funcs virtualx xdg + +DESCRIPTION="Thunderbird Mail Client" +HOMEPAGE="https://www.thunderbird.net/" MOZ_SRC_BASE_URI="https://archive.mozilla.org/pub/${MOZ_PN}/releases/${MOZ_PV}" @@ -53,14 +59,11 @@ PATCH_URIS=( SRC_URI="${MOZ_SRC_BASE_URI}/source/${MOZ_P}.source.tar.xz -> ${MOZ_P_DISTFILES}.source.tar.xz ${PATCH_URIS[@]}" +S="${WORKDIR}/${PN}-${PV%_*}" -DESCRIPTION="Thunderbird Mail Client" -HOMEPAGE="https://www.thunderbird.net/" - -KEYWORDS="amd64 ~arm64 ~ppc64 ~x86" - -SLOT="0" LICENSE="MPL-2.0 GPL-2 LGPL-2.1" +SLOT="0" +KEYWORDS="amd64 ~arm64 ~ppc64 ~x86" IUSE="+clang +dbus debug eme-free hardened hwaccel jack libproxy lto pgo pulseaudio sndio selinux" IUSE+=" +system-av1 +system-harfbuzz +system-icu +system-jpeg +system-libevent +system-libvpx" @@ -85,7 +88,6 @@ BDEPEND="${PYTHON_DEPS} sys-devel/llvm:${LLVM_SLOT} clang? ( sys-devel/lld:${LLVM_SLOT} - virtual/rust:0/llvm-${LLVM_SLOT} pgo? ( sys-libs/compiler-rt-sanitizers:${LLVM_SLOT}[profile] ) ) ') @@ -95,7 +97,6 @@ BDEPEND="${PYTHON_DEPS} >=dev-util/cbindgen-0.26.0 net-libs/nodejs virtual/pkgconfig - !clang? ( >=virtual/rust-1.76 ) !elibc_glibc? ( dev-lang/rust ) amd64? ( >=dev-lang/nasm-2.14 ) x86? ( >=dev-lang/nasm-2.14 ) @@ -190,8 +191,6 @@ DEPEND="${COMMON_DEPEND} x11-libs/libSM )" -S="${WORKDIR}/${PN}-${PV%_*}" - llvm_check_deps() { if ! has_version -b "sys-devel/clang:${LLVM_SLOT}" ; then einfo "sys-devel/clang:${LLVM_SLOT} is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2 @@ -204,11 +203,6 @@ llvm_check_deps() { return 1 fi - if ! has_version -b "virtual/rust:0/llvm-${LLVM_SLOT}" ; then - einfo "virtual/rust:0/llvm-${LLVM_SLOT} is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2 - return 1 - fi - if use pgo ; then if ! has_version -b "=sys-libs/compiler-rt-sanitizers-${LLVM_SLOT}*[profile]" ; then einfo "=sys-libs/compiler-rt-sanitizers-${LLVM_SLOT}*[profile] is missing!" >&2 @@ -420,6 +414,7 @@ pkg_setup() { check-reqs_pkg_setup llvm-r1_pkg_setup + rust_pkg_setup if use clang && use lto && tc-ld-is-lld ; then local version_lld=$(ld.lld --version 2>/dev/null | awk '{ print $2 }') diff --git a/mail-client/thunderbird/thunderbird-128.3.3.ebuild b/mail-client/thunderbird/thunderbird-128.3.3-r1.ebuild index 2bfc08ccbbce..bfe021469cbd 100644 --- a/mail-client/thunderbird/thunderbird-128.3.3.ebuild +++ b/mail-client/thunderbird/thunderbird-128.3.3-r1.ebuild @@ -10,6 +10,9 @@ LLVM_COMPAT=( 17 18 ) PYTHON_COMPAT=( python3_{10..12} ) PYTHON_REQ_USE="ncurses,sqlite,ssl" +RUST_MIN_VER="1.77.1" +RUST_NEEDS_LLVM=1 + WANT_AUTOCONF="2.1" VIRTUALX_REQUIRED="manual" @@ -39,7 +42,10 @@ MOZ_PV_DISTFILES="${MOZ_PV}${MOZ_PV_SUFFIX}" MOZ_P_DISTFILES="${MOZ_PN}-${MOZ_PV_DISTFILES}" inherit autotools check-reqs desktop flag-o-matic gnome2-utils linux-info llvm-r1 multiprocessing \ - optfeature pax-utils python-any-r1 toolchain-funcs virtualx xdg + optfeature pax-utils python-any-r1 rust toolchain-funcs virtualx xdg + +DESCRIPTION="Thunderbird Mail Client" +HOMEPAGE="https://www.thunderbird.net/" MOZ_SRC_BASE_URI="https://archive.mozilla.org/pub/${MOZ_PN}/releases/${MOZ_PV}" @@ -53,14 +59,11 @@ PATCH_URIS=( SRC_URI="${MOZ_SRC_BASE_URI}/source/${MOZ_P}.source.tar.xz -> ${MOZ_P_DISTFILES}.source.tar.xz ${PATCH_URIS[@]}" +S="${WORKDIR}/${PN}-${PV%_*}" -DESCRIPTION="Thunderbird Mail Client" -HOMEPAGE="https://www.thunderbird.net/" - -KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86" - -SLOT="0" LICENSE="MPL-2.0 GPL-2 LGPL-2.1" +SLOT="0" +KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86" IUSE="+clang +dbus debug eme-free hardened hwaccel jack libproxy lto pgo pulseaudio sndio selinux" IUSE+=" +system-av1 +system-harfbuzz +system-icu +system-jpeg +system-libevent +system-libvpx" @@ -85,7 +88,6 @@ BDEPEND="${PYTHON_DEPS} sys-devel/llvm:${LLVM_SLOT} clang? ( sys-devel/lld:${LLVM_SLOT} - virtual/rust:0/llvm-${LLVM_SLOT} pgo? ( sys-libs/compiler-rt-sanitizers:${LLVM_SLOT}[profile] ) ) ') @@ -95,7 +97,6 @@ BDEPEND="${PYTHON_DEPS} >=dev-util/cbindgen-0.26.0 net-libs/nodejs virtual/pkgconfig - !clang? ( >=virtual/rust-1.76 ) !elibc_glibc? ( dev-lang/rust ) amd64? ( >=dev-lang/nasm-2.14 ) x86? ( >=dev-lang/nasm-2.14 ) @@ -190,8 +191,6 @@ DEPEND="${COMMON_DEPEND} x11-libs/libSM )" -S="${WORKDIR}/${PN}-${PV%_*}" - llvm_check_deps() { if ! has_version -b "sys-devel/clang:${LLVM_SLOT}" ; then einfo "sys-devel/clang:${LLVM_SLOT} is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2 @@ -204,11 +203,6 @@ llvm_check_deps() { return 1 fi - if ! has_version -b "virtual/rust:0/llvm-${LLVM_SLOT}" ; then - einfo "virtual/rust:0/llvm-${LLVM_SLOT} is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2 - return 1 - fi - if use pgo ; then if ! has_version -b "=sys-libs/compiler-rt-sanitizers-${LLVM_SLOT}*[profile]" ; then einfo "=sys-libs/compiler-rt-sanitizers-${LLVM_SLOT}*[profile] is missing!" >&2 @@ -420,6 +414,7 @@ pkg_setup() { check-reqs_pkg_setup llvm-r1_pkg_setup + rust_pkg_setup if use clang && use lto && tc-ld-is-lld ; then local version_lld=$(ld.lld --version 2>/dev/null | awk '{ print $2 }') diff --git a/mail-client/thunderbird/thunderbird-128.4.0.ebuild b/mail-client/thunderbird/thunderbird-128.4.0-r1.ebuild index ad9e924d2f96..e1d9aa0ef03a 100644 --- a/mail-client/thunderbird/thunderbird-128.4.0.ebuild +++ b/mail-client/thunderbird/thunderbird-128.4.0-r1.ebuild @@ -10,6 +10,9 @@ LLVM_COMPAT=( 17 18 19 ) PYTHON_COMPAT=( python3_{10..12} ) PYTHON_REQ_USE="ncurses,sqlite,ssl" +RUST_MIN_VER="1.77.1" +RUST_NEEDS_LLVM=1 + WANT_AUTOCONF="2.1" VIRTUALX_REQUIRED="manual" @@ -39,7 +42,10 @@ MOZ_PV_DISTFILES="${MOZ_PV}${MOZ_PV_SUFFIX}" MOZ_P_DISTFILES="${MOZ_PN}-${MOZ_PV_DISTFILES}" inherit autotools check-reqs desktop flag-o-matic gnome2-utils linux-info llvm-r1 multiprocessing \ - optfeature pax-utils python-any-r1 toolchain-funcs virtualx xdg + optfeature pax-utils python-any-r1 rust toolchain-funcs virtualx xdg + +DESCRIPTION="Thunderbird Mail Client" +HOMEPAGE="https://www.thunderbird.net/" MOZ_SRC_BASE_URI="https://archive.mozilla.org/pub/${MOZ_PN}/releases/${MOZ_PV}" @@ -53,14 +59,11 @@ PATCH_URIS=( SRC_URI="${MOZ_SRC_BASE_URI}/source/${MOZ_P}.source.tar.xz -> ${MOZ_P_DISTFILES}.source.tar.xz ${PATCH_URIS[@]}" +S="${WORKDIR}/${PN}-${PV%_*}" -DESCRIPTION="Thunderbird Mail Client" -HOMEPAGE="https://www.thunderbird.net/" - -KEYWORDS="amd64 ~arm64 ~ppc64 ~x86" - -SLOT="0" LICENSE="MPL-2.0 GPL-2 LGPL-2.1" +SLOT="0" +KEYWORDS="amd64 ~arm64 ~ppc64 ~x86" IUSE="clang +dbus debug eme-free hardened hwaccel jack libproxy lto pgo pulseaudio sndio selinux" IUSE+=" +system-av1 +system-harfbuzz +system-icu +system-jpeg +system-libevent +system-libvpx" @@ -85,7 +88,6 @@ BDEPEND="${PYTHON_DEPS} sys-devel/llvm:${LLVM_SLOT} clang? ( sys-devel/lld:${LLVM_SLOT} - virtual/rust:0/llvm-${LLVM_SLOT} pgo? ( sys-libs/compiler-rt-sanitizers:${LLVM_SLOT}[profile] ) ) ') @@ -95,7 +97,6 @@ BDEPEND="${PYTHON_DEPS} >=dev-util/cbindgen-0.26.0 net-libs/nodejs virtual/pkgconfig - !clang? ( >=virtual/rust-1.76 ) !elibc_glibc? ( dev-lang/rust ) amd64? ( >=dev-lang/nasm-2.14 ) x86? ( >=dev-lang/nasm-2.14 ) @@ -190,8 +191,6 @@ DEPEND="${COMMON_DEPEND} x11-libs/libSM )" -S="${WORKDIR}/${PN}-${PV%_*}" - llvm_check_deps() { if ! has_version -b "sys-devel/clang:${LLVM_SLOT}" ; then einfo "sys-devel/clang:${LLVM_SLOT} is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2 @@ -204,11 +203,6 @@ llvm_check_deps() { return 1 fi - if ! has_version -b "virtual/rust:0/llvm-${LLVM_SLOT}" ; then - einfo "virtual/rust:0/llvm-${LLVM_SLOT} is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2 - return 1 - fi - if use pgo ; then if ! has_version -b "=sys-libs/compiler-rt-sanitizers-${LLVM_SLOT}*[profile]" ; then einfo "=sys-libs/compiler-rt-sanitizers-${LLVM_SLOT}*[profile] is missing!" >&2 @@ -420,6 +414,7 @@ pkg_setup() { check-reqs_pkg_setup llvm-r1_pkg_setup + rust_pkg_setup if use clang && use lto && tc-ld-is-lld ; then local version_lld=$(ld.lld --version 2>/dev/null | awk '{ print $2 }') diff --git a/mail-client/thunderbird/thunderbird-128.4.2.ebuild b/mail-client/thunderbird/thunderbird-128.4.2-r1.ebuild index bb3afcf18575..89b4020b4939 100644 --- a/mail-client/thunderbird/thunderbird-128.4.2.ebuild +++ b/mail-client/thunderbird/thunderbird-128.4.2-r1.ebuild @@ -10,6 +10,9 @@ LLVM_COMPAT=( 17 18 19 ) PYTHON_COMPAT=( python3_{10..12} ) PYTHON_REQ_USE="ncurses,sqlite,ssl" +RUST_MIN_VER="1.77.1" +RUST_NEEDS_LLVM=1 + WANT_AUTOCONF="2.1" VIRTUALX_REQUIRED="manual" @@ -39,7 +42,10 @@ MOZ_PV_DISTFILES="${MOZ_PV}${MOZ_PV_SUFFIX}" MOZ_P_DISTFILES="${MOZ_PN}-${MOZ_PV_DISTFILES}" inherit autotools check-reqs desktop flag-o-matic gnome2-utils linux-info llvm-r1 multiprocessing \ - optfeature pax-utils python-any-r1 toolchain-funcs virtualx xdg + optfeature pax-utils python-any-r1 rust toolchain-funcs virtualx xdg + +DESCRIPTION="Thunderbird Mail Client" +HOMEPAGE="https://www.thunderbird.net/" MOZ_SRC_BASE_URI="https://archive.mozilla.org/pub/${MOZ_PN}/releases/${MOZ_PV}" @@ -53,14 +59,11 @@ PATCH_URIS=( SRC_URI="${MOZ_SRC_BASE_URI}/source/${MOZ_P}.source.tar.xz -> ${MOZ_P_DISTFILES}.source.tar.xz ${PATCH_URIS[@]}" +S="${WORKDIR}/${PN}-${PV%_*}" -DESCRIPTION="Thunderbird Mail Client" -HOMEPAGE="https://www.thunderbird.net/" - -KEYWORDS="amd64 ~arm64 ~ppc64 ~x86" - -SLOT="0" LICENSE="MPL-2.0 GPL-2 LGPL-2.1" +SLOT="0" +KEYWORDS="amd64 ~arm64 ~ppc64 ~x86" IUSE="clang +dbus debug eme-free hardened hwaccel jack libproxy lto pgo pulseaudio sndio selinux" IUSE+=" +system-av1 +system-harfbuzz +system-icu +system-jpeg +system-libevent +system-libvpx" @@ -85,7 +88,6 @@ BDEPEND="${PYTHON_DEPS} sys-devel/llvm:${LLVM_SLOT} clang? ( sys-devel/lld:${LLVM_SLOT} - virtual/rust:0/llvm-${LLVM_SLOT} pgo? ( sys-libs/compiler-rt-sanitizers:${LLVM_SLOT}[profile] ) ) ') @@ -95,8 +97,6 @@ BDEPEND="${PYTHON_DEPS} >=dev-util/cbindgen-0.26.0 net-libs/nodejs virtual/pkgconfig - !clang? ( >=virtual/rust-1.76 ) - !elibc_glibc? ( dev-lang/rust ) amd64? ( >=dev-lang/nasm-2.14 ) x86? ( >=dev-lang/nasm-2.14 ) pgo? ( @@ -190,8 +190,6 @@ DEPEND="${COMMON_DEPEND} x11-libs/libSM )" -S="${WORKDIR}/${PN}-${PV%_*}" - llvm_check_deps() { if ! has_version -b "sys-devel/clang:${LLVM_SLOT}" ; then einfo "sys-devel/clang:${LLVM_SLOT} is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2 @@ -204,11 +202,6 @@ llvm_check_deps() { return 1 fi - if ! has_version -b "virtual/rust:0/llvm-${LLVM_SLOT}" ; then - einfo "virtual/rust:0/llvm-${LLVM_SLOT} is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2 - return 1 - fi - if use pgo ; then if ! has_version -b "=sys-libs/compiler-rt-sanitizers-${LLVM_SLOT}*[profile]" ; then einfo "=sys-libs/compiler-rt-sanitizers-${LLVM_SLOT}*[profile] is missing!" >&2 @@ -420,6 +413,7 @@ pkg_setup() { check-reqs_pkg_setup llvm-r1_pkg_setup + rust_pkg_setup if use clang && use lto && tc-ld-is-lld ; then local version_lld=$(ld.lld --version 2>/dev/null | awk '{ print $2 }') diff --git a/media-gfx/darktable/darktable-4.6.0.ebuild b/media-gfx/darktable/darktable-4.6.0.ebuild index 860bbe9e07a7..1271ff136222 100644 --- a/media-gfx/darktable/darktable-4.6.0.ebuild +++ b/media-gfx/darktable/darktable-4.6.0.ebuild @@ -47,7 +47,7 @@ RESTRICT="!test? ( test )" # in BDEPEND. This has not been done *on purpose*, for the following reason: # - darktable can also be built with sys-devel/clang so we'd have to have that, as an alternative, # in BDEPEND too -# - there are at least two darktable dependencies (media-libs/mesa and virtual/rust) which +# - there are at least two darktable dependencies (media-libs/mesa and dev-lang/rust) which # by default pull in sys-devel/clang # - as a result of the above, for most gcc users adding the above to BDEPEND is a no-op # (and curiously enough, empirical observations suggest current versions of Portage are diff --git a/media-gfx/darktable/darktable-4.6.1.ebuild b/media-gfx/darktable/darktable-4.6.1.ebuild index 43f3c82865fb..9bbb75a3f2c2 100644 --- a/media-gfx/darktable/darktable-4.6.1.ebuild +++ b/media-gfx/darktable/darktable-4.6.1.ebuild @@ -47,7 +47,7 @@ RESTRICT="!test? ( test )" # in BDEPEND. This has not been done *on purpose*, for the following reason: # - darktable can also be built with sys-devel/clang so we'd have to have that, as an alternative, # in BDEPEND too -# - there are at least two darktable dependencies (media-libs/mesa and virtual/rust) which +# - there are at least two darktable dependencies (media-libs/mesa and dev-lang/rust) which # by default pull in sys-devel/clang # - as a result of the above, for most gcc users adding the above to BDEPEND is a no-op # (and curiously enough, empirical observations suggest current versions of Portage are diff --git a/media-gfx/darktable/darktable-4.8.0.ebuild b/media-gfx/darktable/darktable-4.8.0.ebuild index b3eeef397175..0fe2792ac25b 100644 --- a/media-gfx/darktable/darktable-4.8.0.ebuild +++ b/media-gfx/darktable/darktable-4.8.0.ebuild @@ -47,7 +47,7 @@ RESTRICT="!test? ( test )" # in BDEPEND. This has not been done *on purpose*, for the following reason: # - darktable can also be built with sys-devel/clang so we'd have to have that, as an alternative, # in BDEPEND too -# - there are at least two darktable dependencies (media-libs/mesa and virtual/rust) which +# - there are at least two darktable dependencies (media-libs/mesa and dev-lang/rust) which # by default pull in sys-devel/clang # - as a result of the above, for most gcc users adding the above to BDEPEND is a no-op # (and curiously enough, empirical observations suggest current versions of Portage are diff --git a/media-gfx/fotema/fotema-1.14.2-r1.ebuild b/media-gfx/fotema/fotema-1.14.2-r2.ebuild index 34219ad68ea2..34219ad68ea2 100644 --- a/media-gfx/fotema/fotema-1.14.2-r1.ebuild +++ b/media-gfx/fotema/fotema-1.14.2-r2.ebuild diff --git a/media-gfx/fotema/fotema-1.14.3.ebuild b/media-gfx/fotema/fotema-1.14.3-r1.ebuild index 34219ad68ea2..34219ad68ea2 100644 --- a/media-gfx/fotema/fotema-1.14.3.ebuild +++ b/media-gfx/fotema/fotema-1.14.3-r1.ebuild diff --git a/media-gfx/fotema/fotema-1.14.4.ebuild b/media-gfx/fotema/fotema-1.14.4-r1.ebuild index 34219ad68ea2..34219ad68ea2 100644 --- a/media-gfx/fotema/fotema-1.14.4.ebuild +++ b/media-gfx/fotema/fotema-1.14.4-r1.ebuild diff --git a/media-gfx/libimagequant/libimagequant-4.2.2.ebuild b/media-gfx/libimagequant/libimagequant-4.2.2-r1.ebuild index 5a96622a9881..33b4d2ef906f 100644 --- a/media-gfx/libimagequant/libimagequant-4.2.2.ebuild +++ b/media-gfx/libimagequant/libimagequant-4.2.2-r1.ebuild @@ -57,7 +57,6 @@ KEYWORDS="amd64 arm arm64 ~loong ppc ppc64 ~s390 sparc" BDEPEND=" >=dev-util/cargo-c-0.9.11 - >=virtual/rust-1.60 " QA_FLAGS_IGNORED="usr/lib.*/libimagequant.so.*" diff --git a/media-gfx/libimagequant/libimagequant-4.3.0.ebuild b/media-gfx/libimagequant/libimagequant-4.3.0-r1.ebuild index 55609484950f..710c7dc0634f 100644 --- a/media-gfx/libimagequant/libimagequant-4.3.0.ebuild +++ b/media-gfx/libimagequant/libimagequant-4.3.0-r1.ebuild @@ -23,7 +23,6 @@ KEYWORDS="amd64 ~arm ~arm64 ~loong ppc ppc64 ~s390 sparc" BDEPEND=" >=dev-util/cargo-c-0.9.14 - >=virtual/rust-1.64 " QA_FLAGS_IGNORED="usr/lib.*/libimagequant.so.*" diff --git a/media-gfx/oxipng/oxipng-8.0.0-r1.ebuild b/media-gfx/oxipng/oxipng-8.0.0-r1.ebuild new file mode 100644 index 000000000000..40831163d730 --- /dev/null +++ b/media-gfx/oxipng/oxipng-8.0.0-r1.ebuild @@ -0,0 +1,117 @@ +# Copyright 2022-2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +# Auto-Generated by cargo-ebuild 0.5.3-dev + +EAPI=8 + +CRATES=" + adler@1.0.2 + adler32@1.2.0 + atty@0.2.14 + autocfg@1.1.0 + bitflags@1.3.2 + bitvec@1.0.1 + bytemuck@1.12.3 + byteorder@1.4.3 + cc@1.0.78 + cfg-if@1.0.0 + clap@3.2.23 + clap_lex@0.2.4 + color_quant@1.1.0 + crc@3.0.0 + crc-catalog@2.1.0 + crc32fast@1.3.2 + crossbeam-channel@0.5.6 + crossbeam-deque@0.8.2 + crossbeam-epoch@0.9.13 + crossbeam-utils@0.8.14 + either@1.8.0 + filetime@0.2.19 + flate2@1.0.25 + funty@2.0.0 + glob@0.3.0 + hashbrown@0.12.3 + hermit-abi@0.1.19 + hermit-abi@0.2.6 + image@0.24.5 + indexmap@1.9.2 + iter-read@0.3.1 + itertools@0.10.5 + libc@0.2.139 + libdeflate-sys@0.11.0 + libdeflater@0.11.0 + log@0.4.17 + memoffset@0.7.1 + miniz_oxide@0.6.2 + num-integer@0.1.45 + num-rational@0.4.1 + num-traits@0.2.15 + num_cpus@1.15.0 + once_cell@1.16.0 + os_str_bytes@6.4.1 + png@0.17.7 + radium@0.7.0 + rayon@1.6.1 + rayon-core@1.10.1 + redox_syscall@0.2.16 + rgb@0.8.34 + rustc-hash@1.1.0 + rustc_version@0.4.0 + scopeguard@1.1.0 + semver@1.0.16 + stderrlog@0.5.4 + strsim@0.10.0 + tap@1.0.1 + termcolor@1.1.3 + textwrap@0.16.0 + thread_local@1.1.4 + typed-arena@2.0.1 + wild@2.1.0 + winapi@0.3.9 + winapi-i686-pc-windows-gnu@0.4.0 + winapi-util@0.1.5 + winapi-x86_64-pc-windows-gnu@0.4.0 + windows-sys@0.42.0 + windows_aarch64_gnullvm@0.42.0 + windows_aarch64_msvc@0.42.0 + windows_i686_gnu@0.42.0 + windows_i686_msvc@0.42.0 + windows_x86_64_gnu@0.42.0 + windows_x86_64_gnullvm@0.42.0 + windows_x86_64_msvc@0.42.0 + wyz@0.5.1 + zopfli@0.7.1 +" + +inherit cargo flag-o-matic + +DESCRIPTION="Multithreaded lossless PNG compression optimizer written in Rust" +HOMEPAGE="https://github.com/shssoichiro/oxipng" +SRC_URI="https://github.com/shssoichiro/oxipng/archive/v${PV}.tar.gz -> ${P}.tar.gz + ${CARGO_CRATE_URIS} +" + +LICENSE=" + || ( 0BSD Apache-2.0 MIT ) + Apache-2.0 + || ( Apache-2.0 MIT ) + || ( Apache-2.0 MIT ZLIB ) + MIT + || ( MIT Unlicense ) + ZLIB +" +SLOT="0" +KEYWORDS="amd64 arm64 ~riscv ~x86" + +QA_FLAGS_IGNORED="usr/bin/oxipng" + +src_configure() { + filter-lto # 860063 file format not recognized with cloudflare-zlib-sys +} + +src_install() { + cargo_src_install + + dodoc CHANGELOG.md README.md +} diff --git a/media-gfx/oxipng/oxipng-8.0.0.ebuild b/media-gfx/oxipng/oxipng-8.0.0.ebuild deleted file mode 100644 index c94033fde23f..000000000000 --- a/media-gfx/oxipng/oxipng-8.0.0.ebuild +++ /dev/null @@ -1,118 +0,0 @@ -# Copyright 2022-2023 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -# Auto-Generated by cargo-ebuild 0.5.3-dev - -EAPI=8 - -CRATES=" - adler-1.0.2 - adler32-1.2.0 - atty-0.2.14 - autocfg-1.1.0 - bitflags-1.3.2 - bitvec-1.0.1 - bytemuck-1.12.3 - byteorder-1.4.3 - cc-1.0.78 - cfg-if-1.0.0 - clap-3.2.23 - clap_lex-0.2.4 - color_quant-1.1.0 - crc-3.0.0 - crc-catalog-2.1.0 - crc32fast-1.3.2 - crossbeam-channel-0.5.6 - crossbeam-deque-0.8.2 - crossbeam-epoch-0.9.13 - crossbeam-utils-0.8.14 - either-1.8.0 - filetime-0.2.19 - flate2-1.0.25 - funty-2.0.0 - glob-0.3.0 - hashbrown-0.12.3 - hermit-abi-0.1.19 - hermit-abi-0.2.6 - image-0.24.5 - indexmap-1.9.2 - iter-read-0.3.1 - itertools-0.10.5 - libc-0.2.139 - libdeflate-sys-0.11.0 - libdeflater-0.11.0 - log-0.4.17 - memoffset-0.7.1 - miniz_oxide-0.6.2 - num-integer-0.1.45 - num-rational-0.4.1 - num-traits-0.2.15 - num_cpus-1.15.0 - once_cell-1.16.0 - os_str_bytes-6.4.1 - png-0.17.7 - radium-0.7.0 - rayon-1.6.1 - rayon-core-1.10.1 - redox_syscall-0.2.16 - rgb-0.8.34 - rustc-hash-1.1.0 - rustc_version-0.4.0 - scopeguard-1.1.0 - semver-1.0.16 - stderrlog-0.5.4 - strsim-0.10.0 - tap-1.0.1 - termcolor-1.1.3 - textwrap-0.16.0 - thread_local-1.1.4 - typed-arena-2.0.1 - wild-2.1.0 - winapi-0.3.9 - winapi-i686-pc-windows-gnu-0.4.0 - winapi-util-0.1.5 - winapi-x86_64-pc-windows-gnu-0.4.0 - windows-sys-0.42.0 - windows_aarch64_gnullvm-0.42.0 - windows_aarch64_msvc-0.42.0 - windows_i686_gnu-0.42.0 - windows_i686_msvc-0.42.0 - windows_x86_64_gnu-0.42.0 - windows_x86_64_gnullvm-0.42.0 - windows_x86_64_msvc-0.42.0 - wyz-0.5.1 - zopfli-0.7.1 -" - -inherit cargo flag-o-matic - -DESCRIPTION="Multithreaded lossless PNG compression optimizer written in Rust" -HOMEPAGE="https://github.com/shssoichiro/oxipng" -SRC_URI="https://github.com/shssoichiro/oxipng/archive/v${PV}.tar.gz -> ${P}.tar.gz" -SRC_URI+=" $(cargo_crate_uris ${CRATES})" - -LICENSE=" - || ( 0BSD Apache-2.0 MIT ) - Apache-2.0 - || ( Apache-2.0 MIT ) - || ( Apache-2.0 MIT ZLIB ) - MIT - || ( MIT Unlicense ) - ZLIB -" -SLOT="0" -KEYWORDS="amd64 arm64 ~riscv ~x86" - -BDEPEND=">=virtual/rust-1.61.0" - -QA_FLAGS_IGNORED="usr/bin/oxipng" - -src_configure() { - filter-lto # 860063 file format not recognized with cloudflare-zlib-sys -} - -src_install() { - cargo_src_install - - dodoc CHANGELOG.md README.md -} diff --git a/media-gfx/oxipng/oxipng-9.0.0.ebuild b/media-gfx/oxipng/oxipng-9.0.0-r1.ebuild index dc57177ddd22..f94d2b560cd1 100644 --- a/media-gfx/oxipng/oxipng-9.0.0.ebuild +++ b/media-gfx/oxipng/oxipng-9.0.0-r1.ebuild @@ -109,8 +109,6 @@ LICENSE=" SLOT="0" KEYWORDS="amd64 ~arm64 ~riscv ~x86" -BDEPEND=">=virtual/rust-1.66.0" - QA_FLAGS_IGNORED="usr/bin/${PN}" src_install() { diff --git a/media-gfx/oxipng/oxipng-9.1.2.ebuild b/media-gfx/oxipng/oxipng-9.1.2-r1.ebuild index 8504fd85f18f..3b199b4f6e39 100644 --- a/media-gfx/oxipng/oxipng-9.1.2.ebuild +++ b/media-gfx/oxipng/oxipng-9.1.2-r1.ebuild @@ -90,6 +90,8 @@ CRATES=" zopfli@0.8.0 " +RUST_MIN_VER="1.74.0" + inherit cargo DESCRIPTION="Multithreaded lossless PNG compression optimizer written in Rust" @@ -106,8 +108,6 @@ LICENSE=" SLOT="0" KEYWORDS="amd64 ~arm64 ~riscv ~x86" -BDEPEND=">=virtual/rust-1.74.0" - # rust does not use *FLAGS from make.conf, silence portage warning # update with proper path to binaries this crate installs, omit leading / QA_FLAGS_IGNORED="usr/bin/${PN}" diff --git a/media-libs/glycin-loaders/glycin-loaders-1.1.0.ebuild b/media-libs/glycin-loaders/glycin-loaders-1.1.0-r1.ebuild index 0775282f7108..0775282f7108 100644 --- a/media-libs/glycin-loaders/glycin-loaders-1.1.0.ebuild +++ b/media-libs/glycin-loaders/glycin-loaders-1.1.0-r1.ebuild diff --git a/media-libs/glycin-loaders/glycin-loaders-1.1.1.ebuild b/media-libs/glycin-loaders/glycin-loaders-1.1.1-r1.ebuild index 0775282f7108..0775282f7108 100644 --- a/media-libs/glycin-loaders/glycin-loaders-1.1.1.ebuild +++ b/media-libs/glycin-loaders/glycin-loaders-1.1.1-r1.ebuild diff --git a/media-libs/libdovi/libdovi-3.3.1.ebuild b/media-libs/libdovi/libdovi-3.3.1-r1.ebuild index c8d73ea5f7ba..ec94f2d7d11b 100644 --- a/media-libs/libdovi/libdovi-3.3.1.ebuild +++ b/media-libs/libdovi/libdovi-3.3.1-r1.ebuild @@ -89,7 +89,10 @@ CRATES=" windows_x86_64_msvc@0.52.6 wyz@0.5.1 " -inherit cargo edo multilib-minimal rust-toolchain + +RUST_USEDEP='${MULTILIB_USEDEP}' + +inherit multilib-minimal cargo edo rust-toolchain DESCRIPTION="Dolby Vision metadata parsing and writing" HOMEPAGE="https://github.com/quietvoid/dovi_tool/" diff --git a/media-libs/libopenraw/libopenraw-0.3.7.ebuild b/media-libs/libopenraw/libopenraw-0.3.7-r1.ebuild index cbe9f9abf592..4825810f5604 100644 --- a/media-libs/libopenraw/libopenraw-0.3.7.ebuild +++ b/media-libs/libopenraw/libopenraw-0.3.7-r1.ebuild @@ -4,6 +4,9 @@ EAPI=8 CRATES=" " +# for stdsimd +RUST_MAX_VER=1.77.1 + inherit autotools cargo gnome2-utils DESCRIPTION="RAW image formats decoding library" diff --git a/media-libs/mesa/mesa-24.1.7.ebuild b/media-libs/mesa/mesa-24.1.7-r1.ebuild index af5ee095a972..5d4171f71288 100644 --- a/media-libs/mesa/mesa-24.1.7.ebuild +++ b/media-libs/mesa/mesa-24.1.7-r1.ebuild @@ -20,6 +20,9 @@ CRATES=" paste@1.0.14 " +RUST_MIN_VER="1.74.1" +RUST_OPTIONAL=1 + inherit cargo DESCRIPTION="OpenGL-like graphic library for Linux" @@ -154,7 +157,7 @@ DEPEND="${RDEPEND} BDEPEND=" ${PYTHON_DEPS} opencl? ( - >=virtual/rust-1.62.0 + ${RUST_DEPEND} >=dev-util/bindgen-0.58.0 ) >=dev-build/meson-1.4.1 @@ -175,7 +178,7 @@ BDEPEND=" video_cards_nvk? ( >=dev-util/bindgen-0.68.1 >=dev-util/cbindgen-0.26.0 - >=virtual/rust-1.74.1 + ${RUST_DEPEND} ) ) wayland? ( dev-util/wayland-scanner ) @@ -291,6 +294,10 @@ pkg_setup() { use llvm && llvm-r1_pkg_setup python-any-r1_pkg_setup + + if use opencl || use vulkan; then + rust_pkg_setup + fi } src_prepare() { diff --git a/media-libs/mesa/mesa-24.2.3.ebuild b/media-libs/mesa/mesa-24.2.3-r1.ebuild index a58a2652340e..d45bd4b23536 100644 --- a/media-libs/mesa/mesa-24.2.3.ebuild +++ b/media-libs/mesa/mesa-24.2.3-r1.ebuild @@ -20,6 +20,9 @@ CRATES=" paste@1.0.14 " +RUST_MIN_VER="1.74.1" +RUST_OPTIONAL=1 + inherit cargo DESCRIPTION="OpenGL-like graphic library for Linux" @@ -156,7 +159,7 @@ DEPEND="${RDEPEND} BDEPEND=" ${PYTHON_DEPS} opencl? ( - >=virtual/rust-1.62.0 + ${RUST_DEPEND} >=dev-util/bindgen-0.58.0 ) >=dev-build/meson-1.4.1 @@ -178,7 +181,7 @@ BDEPEND=" video_cards_nvk? ( >=dev-util/bindgen-0.68.1 >=dev-util/cbindgen-0.26.0 - >=virtual/rust-1.74.1 + ${RUST_DEPEND} ) ) wayland? ( dev-util/wayland-scanner ) @@ -295,6 +298,10 @@ pkg_setup() { use llvm && llvm-r1_pkg_setup python-any-r1_pkg_setup + + if use opencl || use vulkan; then + rust_pkg_setup + fi } src_prepare() { diff --git a/media-libs/mesa/mesa-24.2.4.ebuild b/media-libs/mesa/mesa-24.2.4-r1.ebuild index a58a2652340e..d45bd4b23536 100644 --- a/media-libs/mesa/mesa-24.2.4.ebuild +++ b/media-libs/mesa/mesa-24.2.4-r1.ebuild @@ -20,6 +20,9 @@ CRATES=" paste@1.0.14 " +RUST_MIN_VER="1.74.1" +RUST_OPTIONAL=1 + inherit cargo DESCRIPTION="OpenGL-like graphic library for Linux" @@ -156,7 +159,7 @@ DEPEND="${RDEPEND} BDEPEND=" ${PYTHON_DEPS} opencl? ( - >=virtual/rust-1.62.0 + ${RUST_DEPEND} >=dev-util/bindgen-0.58.0 ) >=dev-build/meson-1.4.1 @@ -178,7 +181,7 @@ BDEPEND=" video_cards_nvk? ( >=dev-util/bindgen-0.68.1 >=dev-util/cbindgen-0.26.0 - >=virtual/rust-1.74.1 + ${RUST_DEPEND} ) ) wayland? ( dev-util/wayland-scanner ) @@ -295,6 +298,10 @@ pkg_setup() { use llvm && llvm-r1_pkg_setup python-any-r1_pkg_setup + + if use opencl || use vulkan; then + rust_pkg_setup + fi } src_prepare() { diff --git a/media-libs/mesa/mesa-24.2.5.ebuild b/media-libs/mesa/mesa-24.2.5-r1.ebuild index a58a2652340e..d45bd4b23536 100644 --- a/media-libs/mesa/mesa-24.2.5.ebuild +++ b/media-libs/mesa/mesa-24.2.5-r1.ebuild @@ -20,6 +20,9 @@ CRATES=" paste@1.0.14 " +RUST_MIN_VER="1.74.1" +RUST_OPTIONAL=1 + inherit cargo DESCRIPTION="OpenGL-like graphic library for Linux" @@ -156,7 +159,7 @@ DEPEND="${RDEPEND} BDEPEND=" ${PYTHON_DEPS} opencl? ( - >=virtual/rust-1.62.0 + ${RUST_DEPEND} >=dev-util/bindgen-0.58.0 ) >=dev-build/meson-1.4.1 @@ -178,7 +181,7 @@ BDEPEND=" video_cards_nvk? ( >=dev-util/bindgen-0.68.1 >=dev-util/cbindgen-0.26.0 - >=virtual/rust-1.74.1 + ${RUST_DEPEND} ) ) wayland? ( dev-util/wayland-scanner ) @@ -295,6 +298,10 @@ pkg_setup() { use llvm && llvm-r1_pkg_setup python-any-r1_pkg_setup + + if use opencl || use vulkan; then + rust_pkg_setup + fi } src_prepare() { diff --git a/media-libs/mesa/mesa-24.2.6.ebuild b/media-libs/mesa/mesa-24.2.6-r1.ebuild index a58a2652340e..d45bd4b23536 100644 --- a/media-libs/mesa/mesa-24.2.6.ebuild +++ b/media-libs/mesa/mesa-24.2.6-r1.ebuild @@ -20,6 +20,9 @@ CRATES=" paste@1.0.14 " +RUST_MIN_VER="1.74.1" +RUST_OPTIONAL=1 + inherit cargo DESCRIPTION="OpenGL-like graphic library for Linux" @@ -156,7 +159,7 @@ DEPEND="${RDEPEND} BDEPEND=" ${PYTHON_DEPS} opencl? ( - >=virtual/rust-1.62.0 + ${RUST_DEPEND} >=dev-util/bindgen-0.58.0 ) >=dev-build/meson-1.4.1 @@ -178,7 +181,7 @@ BDEPEND=" video_cards_nvk? ( >=dev-util/bindgen-0.68.1 >=dev-util/cbindgen-0.26.0 - >=virtual/rust-1.74.1 + ${RUST_DEPEND} ) ) wayland? ( dev-util/wayland-scanner ) @@ -295,6 +298,10 @@ pkg_setup() { use llvm && llvm-r1_pkg_setup python-any-r1_pkg_setup + + if use opencl || use vulkan; then + rust_pkg_setup + fi } src_prepare() { diff --git a/media-libs/mesa/mesa-9999.ebuild b/media-libs/mesa/mesa-9999.ebuild index e6207cf1ea28..f78c0c4a32e4 100644 --- a/media-libs/mesa/mesa-9999.ebuild +++ b/media-libs/mesa/mesa-9999.ebuild @@ -20,6 +20,9 @@ CRATES=" paste@1.0.14 " +RUST_MIN_VER="1.74.1" +RUST_OPTIONAL=1 + inherit cargo DESCRIPTION="OpenGL-like graphic library for Linux" @@ -155,7 +158,7 @@ DEPEND="${RDEPEND} BDEPEND=" ${PYTHON_DEPS} opencl? ( - >=virtual/rust-1.62.0 + ${RUST_DEPEND} >=dev-util/bindgen-0.58.0 ) >=dev-build/meson-1.4.1 @@ -177,7 +180,7 @@ BDEPEND=" video_cards_nvk? ( >=dev-util/bindgen-0.68.1 >=dev-util/cbindgen-0.26.0 - >=virtual/rust-1.74.1 + ${RUST_DEPEND} ) ) wayland? ( dev-util/wayland-scanner ) @@ -294,6 +297,13 @@ pkg_setup() { use llvm && llvm-r1_pkg_setup python-any-r1_pkg_setup + + if use opencl || use vulkan; then + rust_pkg_setup + fi + if use opencl || use vulkan; then + rust_pkg_setup + fi } src_prepare() { diff --git a/media-sound/helvum/helvum-0.4.1-r1.ebuild b/media-sound/helvum/helvum-0.4.1-r1.ebuild index 62afda3e4583..4105dfcddf13 100644 --- a/media-sound/helvum/helvum-0.4.1-r1.ebuild +++ b/media-sound/helvum/helvum-0.4.1-r1.ebuild @@ -108,7 +108,7 @@ CRATES=" LLVM_COMPAT=( {16..18} ) -inherit cargo desktop llvm-r1 xdg +inherit llvm-r1 cargo desktop xdg DESCRIPTION="A GTK patchbay for pipewire" HOMEPAGE="https://gitlab.freedesktop.org/pipewire/helvum" @@ -131,7 +131,6 @@ BDEPEND=" $(llvm_gen_dep ' sys-devel/clang:${LLVM_SLOT}= sys-devel/llvm:${LLVM_SLOT}= - virtual/rust:0/llvm-${LLVM_SLOT} ') virtual/pkgconfig " @@ -148,6 +147,11 @@ RDEPEND="${DEPEND}" QA_FLAGS_IGNORED="usr/bin/${PN}" +pkg_setup() { + llvm-r1_pkg_setup + rust_pkg_setup +} + src_install() { cargo_src_install diff --git a/media-sound/helvum/helvum-0.5.1-r3.ebuild b/media-sound/helvum/helvum-0.5.1-r3.ebuild index d43c13272c0f..c82f7a102563 100644 --- a/media-sound/helvum/helvum-0.5.1-r3.ebuild +++ b/media-sound/helvum/helvum-0.5.1-r3.ebuild @@ -111,7 +111,7 @@ CRATES=" LLVM_COMPAT=( {16..18} ) -inherit cargo desktop llvm-r1 xdg +inherit llvm-r1 cargo desktop xdg DESCRIPTION="A GTK patchbay for pipewire" HOMEPAGE="https://gitlab.freedesktop.org/pipewire/helvum" @@ -135,7 +135,6 @@ BDEPEND=" $(llvm_gen_dep ' sys-devel/clang:${LLVM_SLOT}= sys-devel/llvm:${LLVM_SLOT}= - virtual/rust:0/llvm-${LLVM_SLOT} ') virtual/pkgconfig " @@ -153,6 +152,11 @@ RDEPEND="${DEPEND}" QA_FLAGS_IGNORED="usr/bin/${PN}" +pkg_setup() { + llvm-r1_pkg_setup + rust_pkg_setup +} + src_install() { cargo_src_install diff --git a/media-sound/ncspot/ncspot-1.1.2.ebuild b/media-sound/ncspot/ncspot-1.1.2-r1.ebuild index a860b34aca6b..35a515a6839f 100644 --- a/media-sound/ncspot/ncspot-1.1.2.ebuild +++ b/media-sound/ncspot/ncspot-1.1.2-r1.ebuild @@ -533,6 +533,11 @@ BDEPEND="${PYTHON_DEPS} QA_FLAGS_IGNORED="/usr/bin/ncspot" +pkg_setup() { + python-any-r1_pkg_setup + rust_pkg_setup +} + src_configure() { local myfeaturesdef="" diff --git a/media-sound/ncspot/ncspot-1.2.0.ebuild b/media-sound/ncspot/ncspot-1.2.0-r1.ebuild index f461b2a76eb4..f461b2a76eb4 100644 --- a/media-sound/ncspot/ncspot-1.2.0.ebuild +++ b/media-sound/ncspot/ncspot-1.2.0-r1.ebuild diff --git a/media-sound/ncspot/ncspot-1.2.1.ebuild b/media-sound/ncspot/ncspot-1.2.1-r1.ebuild index ce56d901f746..ce56d901f746 100644 --- a/media-sound/ncspot/ncspot-1.2.1.ebuild +++ b/media-sound/ncspot/ncspot-1.2.1-r1.ebuild diff --git a/media-sound/rescrobbled/rescrobbled-0.7.1.ebuild b/media-sound/rescrobbled/rescrobbled-0.7.1-r1.ebuild index 690a968b2706..2330b9732ea7 100644 --- a/media-sound/rescrobbled/rescrobbled-0.7.1.ebuild +++ b/media-sound/rescrobbled/rescrobbled-0.7.1-r1.ebuild @@ -128,7 +128,7 @@ inherit cargo systemd DESCRIPTION="MPRIS music scrobbler daemon" HOMEPAGE="https://github.com/InputUsername/rescrobbled" SRC_URI="https://github.com/InputUsername/rescrobbled/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz - $(cargo_crate_uris)" + ${CARGO_CRATE_URIS}" LICENSE="GPL-3" # Dependent crate licenses diff --git a/media-video/rav1e/rav1e-0.6.6-r1.ebuild b/media-video/rav1e/rav1e-0.6.6-r1.ebuild new file mode 100644 index 000000000000..47b94206729a --- /dev/null +++ b/media-video/rav1e/rav1e-0.6.6-r1.ebuild @@ -0,0 +1,306 @@ +# Copyright 2023-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +# Autogenerated by pycargoebuild 0.6.2 + +EAPI=8 + +CRATES=" + addr2line@0.19.0 + adler@1.0.2 + aho-corasick@1.0.1 + anes@0.1.6 + anyhow@1.0.71 + aom-sys@0.3.2 + arbitrary@0.4.7 + arg_enum_proc_macro@0.3.2 + arrayvec@0.7.2 + assert_cmd@2.0.8 + atty@0.2.14 + autocfg@1.1.0 + av-metrics@0.9.0 + av1-grain@0.2.2 + backtrace@0.3.67 + bindgen@0.61.0 + bitflags@1.3.2 + bitstream-io@1.6.0 + bstr@1.4.0 + built@0.5.2 + bumpalo@3.12.2 + bytemuck@1.13.1 + byteorder@1.4.3 + cargo-lock@8.0.3 + cast@0.3.0 + cc@1.0.79 + cexpr@0.6.0 + cfg-expr@0.15.1 + cfg-if@1.0.0 + ciborium@0.2.1 + ciborium-io@0.2.1 + ciborium-ll@0.2.1 + clang-sys@1.6.1 + clap@3.2.25 + clap@4.0.32 + clap_complete@4.0.7 + clap_derive@4.0.21 + clap_lex@0.2.4 + clap_lex@0.3.0 + cmake@0.1.50 + color_quant@1.1.0 + console@0.15.5 + crc32fast@1.3.2 + criterion@0.4.0 + criterion-plot@0.5.0 + crossbeam@0.8.2 + crossbeam-channel@0.5.8 + crossbeam-deque@0.8.3 + crossbeam-epoch@0.9.14 + crossbeam-queue@0.3.8 + crossbeam-utils@0.8.15 + ctor@0.1.26 + dav1d-sys@0.7.1 + diff@0.1.13 + difflib@0.4.0 + doc-comment@0.3.3 + either@1.8.1 + encode_unicode@0.3.6 + env_logger@0.8.4 + errno@0.3.1 + errno-dragonfly@0.1.2 + fdeflate@0.3.0 + fern@0.6.2 + flate2@1.0.26 + float-cmp@0.9.0 + form_urlencoded@1.1.0 + getrandom@0.2.9 + gimli@0.27.2 + git2@0.15.0 + glob@0.3.1 + half@1.8.2 + hashbrown@0.12.3 + heck@0.4.1 + hermit-abi@0.1.19 + hermit-abi@0.2.6 + hermit-abi@0.3.1 + idna@0.3.0 + image@0.24.6 + indexmap@1.9.3 + interpolate_name@0.2.3 + io-lifetimes@1.0.10 + is-terminal@0.4.7 + itertools@0.10.5 + itertools@0.8.2 + itoa@1.0.6 + jobserver@0.1.26 + js-sys@0.3.63 + lab@0.11.0 + lazy_static@1.4.0 + lazycell@1.3.0 + libc@0.2.144 + libfuzzer-sys@0.3.5 + libgit2-sys@0.14.2+1.5.1 + libloading@0.7.4 + libz-sys@1.1.9 + linux-raw-sys@0.3.7 + log@0.4.17 + maybe-rayon@0.1.1 + memchr@2.5.0 + memoffset@0.8.0 + minimal-lexical@0.2.1 + miniz_oxide@0.6.2 + miniz_oxide@0.7.1 + nasm-rs@0.2.5 + new_debug_unreachable@1.0.4 + nom@7.1.3 + noop_proc_macro@0.3.0 + normalize-line-endings@0.3.0 + num-bigint@0.4.3 + num-derive@0.3.3 + num-integer@0.1.45 + num-rational@0.4.1 + num-traits@0.2.15 + num_cpus@1.15.0 + object@0.30.3 + once_cell@1.17.1 + oorandom@11.1.3 + os_str_bytes@6.5.0 + output_vt100@0.1.3 + paste@1.0.12 + peeking_take_while@0.1.2 + percent-encoding@2.2.0 + pkg-config@0.3.27 + plotters@0.3.4 + plotters-backend@0.3.4 + plotters-svg@0.3.3 + png@0.17.8 + ppv-lite86@0.2.17 + predicates@2.1.5 + predicates-core@1.0.5 + predicates-tree@1.0.7 + pretty_assertions@1.3.0 + proc-macro-error@1.0.4 + proc-macro-error-attr@1.0.4 + proc-macro2@1.0.57 + quickcheck@1.0.3 + quickcheck_macros@1.0.0 + quote@1.0.27 + rand@0.8.5 + rand_chacha@0.3.1 + rand_core@0.6.4 + rayon@1.7.0 + rayon-core@1.11.0 + regex@1.8.1 + regex-automata@0.1.10 + regex-syntax@0.7.1 + rust_hawktracer@0.7.0 + rust_hawktracer_normal_macro@0.4.1 + rust_hawktracer_proc_macro@0.4.1 + rust_hawktracer_sys@0.4.2 + rustc-demangle@0.1.23 + rustc-hash@1.1.0 + rustc_version@0.4.0 + rustix@0.37.19 + ryu@1.0.13 + same-file@1.0.6 + scan_fmt@0.2.6 + scopeguard@1.1.0 + semver@1.0.17 + serde@1.0.163 + serde-big-array@0.4.1 + serde_derive@1.0.163 + serde_json@1.0.96 + serde_spanned@0.6.1 + shlex@1.1.0 + signal-hook@0.3.15 + signal-hook-registry@1.4.1 + simd-adler32@0.3.5 + simd_helpers@0.1.0 + smallvec@1.10.0 + syn@1.0.109 + syn@2.0.16 + system-deps@6.1.0 + target-lexicon@0.12.7 + termcolor@1.2.0 + terminal_size@0.2.6 + termtree@0.4.1 + textwrap@0.16.0 + thiserror@1.0.40 + thiserror-impl@1.0.40 + tinytemplate@1.2.1 + tinyvec@1.6.0 + tinyvec_macros@0.1.1 + toml@0.5.11 + toml@0.7.3 + toml_datetime@0.6.1 + toml_edit@0.19.8 + unicode-bidi@0.3.13 + unicode-ident@1.0.8 + unicode-normalization@0.1.22 + unicode-width@0.1.10 + url@2.3.1 + v_frame@0.3.3 + vcpkg@0.2.15 + version-compare@0.1.1 + version_check@0.9.4 + wait-timeout@0.2.0 + walkdir@2.3.3 + wasi@0.11.0+wasi-snapshot-preview1 + wasm-bindgen@0.2.86 + wasm-bindgen-backend@0.2.86 + wasm-bindgen-macro@0.2.86 + wasm-bindgen-macro-support@0.2.86 + wasm-bindgen-shared@0.2.86 + web-sys@0.3.63 + which@4.4.0 + winapi@0.3.9 + winapi-i686-pc-windows-gnu@0.4.0 + winapi-util@0.1.5 + winapi-x86_64-pc-windows-gnu@0.4.0 + windows-sys@0.42.0 + windows-sys@0.48.0 + windows-targets@0.48.0 + windows_aarch64_gnullvm@0.42.2 + windows_aarch64_gnullvm@0.48.0 + windows_aarch64_msvc@0.42.2 + windows_aarch64_msvc@0.48.0 + windows_i686_gnu@0.42.2 + windows_i686_gnu@0.48.0 + windows_i686_msvc@0.42.2 + windows_i686_msvc@0.48.0 + windows_x86_64_gnu@0.42.2 + windows_x86_64_gnu@0.48.0 + windows_x86_64_gnullvm@0.42.2 + windows_x86_64_gnullvm@0.48.0 + windows_x86_64_msvc@0.42.2 + windows_x86_64_msvc@0.48.0 + winnow@0.4.1 + y4m@0.8.0 + yansi@0.5.1 +" + +inherit cargo + +DESCRIPTION="The fastest and safest AV1 encoder" +HOMEPAGE="https://github.com/xiph/rav1e/" +if [[ ${PV} == *9999 ]] ; then + EGIT_REPO_URI="https://github.com/xiph/rav1e.git" + inherit git-r3 +else + SRC_URI="https://github.com/xiph/rav1e/archive/v${PV}.tar.gz -> ${P}.tar.gz + ${CARGO_CRATE_URIS}" + KEYWORDS="amd64 arm arm64 ~loong ppc64 ~riscv x86" +fi + +LICENSE="BSD-2" +# Dependent crate licenses +LICENSE+=" + Apache-2.0 Apache-2.0-with-LLVM-exceptions BSD-2 BSD ISC MIT + Unicode-DFS-2016 +" +SLOT="0" +IUSE="+capi" + +ASM_DEP=">=dev-lang/nasm-2.15" +BDEPEND=" + amd64? ( ${ASM_DEP} ) + capi? ( >=dev-util/cargo-c-0.6.3 ) +" + +# Rust +QA_FLAGS_IGNORED="usr/lib.*/librav1e.* usr/bin/rav1e" + +src_unpack() { + if [[ ${PV} == *9999* ]]; then + git-r3_src_unpack + cargo_live_src_unpack + else + default + cargo_src_unpack + fi +} + +src_compile() { + cargo_src_compile + + if use capi; then + local args=$(usev !debug --release) + cargo cbuild ${args} --target-dir="capi" \ + --prefix="/usr" --libdir="/usr/$(get_libdir)" \ + --library-type=cdylib \ + || die "cargo cbuild failed" + fi +} + +src_install() { + export CARGO_HOME="${ECARGO_HOME}" + local args=$(usev debug --debug) + + if use capi; then + cargo cinstall ${args} --target-dir="capi" \ + --prefix="/usr" --libdir="/usr/$(get_libdir)" --destdir="${ED}" \ + --library-type=cdylib \ + || die "cargo cinstall failed" + fi + + cargo_src_install +} diff --git a/media-video/rav1e/rav1e-0.6.6.ebuild b/media-video/rav1e/rav1e-0.6.6.ebuild deleted file mode 100644 index 7de235fa58a7..000000000000 --- a/media-video/rav1e/rav1e-0.6.6.ebuild +++ /dev/null @@ -1,307 +0,0 @@ -# Copyright 2023-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -# Autogenerated by pycargoebuild 0.6.2 - -EAPI=8 - -CRATES=" - addr2line-0.19.0 - adler-1.0.2 - aho-corasick-1.0.1 - anes-0.1.6 - anyhow-1.0.71 - aom-sys-0.3.2 - arbitrary-0.4.7 - arg_enum_proc_macro-0.3.2 - arrayvec-0.7.2 - assert_cmd-2.0.8 - atty-0.2.14 - autocfg-1.1.0 - av-metrics-0.9.0 - av1-grain-0.2.2 - backtrace-0.3.67 - bindgen-0.61.0 - bitflags-1.3.2 - bitstream-io-1.6.0 - bstr-1.4.0 - built-0.5.2 - bumpalo-3.12.2 - bytemuck-1.13.1 - byteorder-1.4.3 - cargo-lock-8.0.3 - cast-0.3.0 - cc-1.0.79 - cexpr-0.6.0 - cfg-expr-0.15.1 - cfg-if-1.0.0 - ciborium-0.2.1 - ciborium-io-0.2.1 - ciborium-ll-0.2.1 - clang-sys-1.6.1 - clap-3.2.25 - clap-4.0.32 - clap_complete-4.0.7 - clap_derive-4.0.21 - clap_lex-0.2.4 - clap_lex-0.3.0 - cmake-0.1.50 - color_quant-1.1.0 - console-0.15.5 - crc32fast-1.3.2 - criterion-0.4.0 - criterion-plot-0.5.0 - crossbeam-0.8.2 - crossbeam-channel-0.5.8 - crossbeam-deque-0.8.3 - crossbeam-epoch-0.9.14 - crossbeam-queue-0.3.8 - crossbeam-utils-0.8.15 - ctor-0.1.26 - dav1d-sys-0.7.1 - diff-0.1.13 - difflib-0.4.0 - doc-comment-0.3.3 - either-1.8.1 - encode_unicode-0.3.6 - env_logger-0.8.4 - errno-0.3.1 - errno-dragonfly-0.1.2 - fdeflate-0.3.0 - fern-0.6.2 - flate2-1.0.26 - float-cmp-0.9.0 - form_urlencoded-1.1.0 - getrandom-0.2.9 - gimli-0.27.2 - git2-0.15.0 - glob-0.3.1 - half-1.8.2 - hashbrown-0.12.3 - heck-0.4.1 - hermit-abi-0.1.19 - hermit-abi-0.2.6 - hermit-abi-0.3.1 - idna-0.3.0 - image-0.24.6 - indexmap-1.9.3 - interpolate_name-0.2.3 - io-lifetimes-1.0.10 - is-terminal-0.4.7 - itertools-0.10.5 - itertools-0.8.2 - itoa-1.0.6 - jobserver-0.1.26 - js-sys-0.3.63 - lab-0.11.0 - lazy_static-1.4.0 - lazycell-1.3.0 - libc-0.2.144 - libfuzzer-sys-0.3.5 - libgit2-sys-0.14.2+1.5.1 - libloading-0.7.4 - libz-sys-1.1.9 - linux-raw-sys-0.3.7 - log-0.4.17 - maybe-rayon-0.1.1 - memchr-2.5.0 - memoffset-0.8.0 - minimal-lexical-0.2.1 - miniz_oxide-0.6.2 - miniz_oxide-0.7.1 - nasm-rs-0.2.5 - new_debug_unreachable-1.0.4 - nom-7.1.3 - noop_proc_macro-0.3.0 - normalize-line-endings-0.3.0 - num-bigint-0.4.3 - num-derive-0.3.3 - num-integer-0.1.45 - num-rational-0.4.1 - num-traits-0.2.15 - num_cpus-1.15.0 - object-0.30.3 - once_cell-1.17.1 - oorandom-11.1.3 - os_str_bytes-6.5.0 - output_vt100-0.1.3 - paste-1.0.12 - peeking_take_while-0.1.2 - percent-encoding-2.2.0 - pkg-config-0.3.27 - plotters-0.3.4 - plotters-backend-0.3.4 - plotters-svg-0.3.3 - png-0.17.8 - ppv-lite86-0.2.17 - predicates-2.1.5 - predicates-core-1.0.5 - predicates-tree-1.0.7 - pretty_assertions-1.3.0 - proc-macro-error-1.0.4 - proc-macro-error-attr-1.0.4 - proc-macro2-1.0.57 - quickcheck-1.0.3 - quickcheck_macros-1.0.0 - quote-1.0.27 - rand-0.8.5 - rand_chacha-0.3.1 - rand_core-0.6.4 - rayon-1.7.0 - rayon-core-1.11.0 - regex-1.8.1 - regex-automata-0.1.10 - regex-syntax-0.7.1 - rust_hawktracer-0.7.0 - rust_hawktracer_normal_macro-0.4.1 - rust_hawktracer_proc_macro-0.4.1 - rust_hawktracer_sys-0.4.2 - rustc-demangle-0.1.23 - rustc-hash-1.1.0 - rustc_version-0.4.0 - rustix-0.37.19 - ryu-1.0.13 - same-file-1.0.6 - scan_fmt-0.2.6 - scopeguard-1.1.0 - semver-1.0.17 - serde-1.0.163 - serde-big-array-0.4.1 - serde_derive-1.0.163 - serde_json-1.0.96 - serde_spanned-0.6.1 - shlex-1.1.0 - signal-hook-0.3.15 - signal-hook-registry-1.4.1 - simd-adler32-0.3.5 - simd_helpers-0.1.0 - smallvec-1.10.0 - syn-1.0.109 - syn-2.0.16 - system-deps-6.1.0 - target-lexicon-0.12.7 - termcolor-1.2.0 - terminal_size-0.2.6 - termtree-0.4.1 - textwrap-0.16.0 - thiserror-1.0.40 - thiserror-impl-1.0.40 - tinytemplate-1.2.1 - tinyvec-1.6.0 - tinyvec_macros-0.1.1 - toml-0.5.11 - toml-0.7.3 - toml_datetime-0.6.1 - toml_edit-0.19.8 - unicode-bidi-0.3.13 - unicode-ident-1.0.8 - unicode-normalization-0.1.22 - unicode-width-0.1.10 - url-2.3.1 - v_frame-0.3.3 - vcpkg-0.2.15 - version-compare-0.1.1 - version_check-0.9.4 - wait-timeout-0.2.0 - walkdir-2.3.3 - wasi-0.11.0+wasi-snapshot-preview1 - wasm-bindgen-0.2.86 - wasm-bindgen-backend-0.2.86 - wasm-bindgen-macro-0.2.86 - wasm-bindgen-macro-support-0.2.86 - wasm-bindgen-shared-0.2.86 - web-sys-0.3.63 - which-4.4.0 - winapi-0.3.9 - winapi-i686-pc-windows-gnu-0.4.0 - winapi-util-0.1.5 - winapi-x86_64-pc-windows-gnu-0.4.0 - windows-sys-0.42.0 - windows-sys-0.48.0 - windows-targets-0.48.0 - windows_aarch64_gnullvm-0.42.2 - windows_aarch64_gnullvm-0.48.0 - windows_aarch64_msvc-0.42.2 - windows_aarch64_msvc-0.48.0 - windows_i686_gnu-0.42.2 - windows_i686_gnu-0.48.0 - windows_i686_msvc-0.42.2 - windows_i686_msvc-0.48.0 - windows_x86_64_gnu-0.42.2 - windows_x86_64_gnu-0.48.0 - windows_x86_64_gnullvm-0.42.2 - windows_x86_64_gnullvm-0.48.0 - windows_x86_64_msvc-0.42.2 - windows_x86_64_msvc-0.48.0 - winnow-0.4.1 - y4m-0.8.0 - yansi-0.5.1 -" - -inherit cargo - -DESCRIPTION="The fastest and safest AV1 encoder" -HOMEPAGE="https://github.com/xiph/rav1e/" -if [[ ${PV} == *9999 ]] ; then - EGIT_REPO_URI="https://github.com/xiph/rav1e.git" - inherit git-r3 -else - SRC_URI="https://github.com/xiph/rav1e/archive/v${PV}.tar.gz -> ${P}.tar.gz - $(cargo_crate_uris ${CRATES})" - KEYWORDS="amd64 arm arm64 ~loong ppc64 ~riscv x86" -fi - -LICENSE="BSD-2" -# Dependent crate licenses -LICENSE+=" - Apache-2.0 Apache-2.0-with-LLVM-exceptions BSD-2 BSD ISC MIT - Unicode-DFS-2016 -" -SLOT="0" -IUSE="+capi" - -ASM_DEP=">=dev-lang/nasm-2.15" -BDEPEND=" - >=virtual/rust-1.65.0 - amd64? ( ${ASM_DEP} ) - capi? ( >=dev-util/cargo-c-0.6.3 ) -" - -# Rust -QA_FLAGS_IGNORED="usr/lib.*/librav1e.* usr/bin/rav1e" - -src_unpack() { - if [[ ${PV} == *9999* ]]; then - git-r3_src_unpack - cargo_live_src_unpack - else - default - cargo_src_unpack - fi -} - -src_compile() { - cargo_src_compile - - if use capi; then - local args=$(usev !debug --release) - cargo cbuild ${args} --target-dir="capi" \ - --prefix="/usr" --libdir="/usr/$(get_libdir)" \ - --library-type=cdylib \ - || die "cargo cbuild failed" - fi -} - -src_install() { - export CARGO_HOME="${ECARGO_HOME}" - local args=$(usev debug --debug) - - if use capi; then - cargo cinstall ${args} --target-dir="capi" \ - --prefix="/usr" --libdir="/usr/$(get_libdir)" --destdir="${ED}" \ - --library-type=cdylib \ - || die "cargo cinstall failed" - fi - - cargo_src_install -} diff --git a/media-video/rav1e/rav1e-0.7.1.ebuild b/media-video/rav1e/rav1e-0.7.1-r1.ebuild index 23fc76363178..e6606d8a4078 100644 --- a/media-video/rav1e/rav1e-0.7.1.ebuild +++ b/media-video/rav1e/rav1e-0.7.1-r1.ebuild @@ -261,7 +261,6 @@ IUSE="+capi" ASM_DEP=">=dev-lang/nasm-2.15" BDEPEND=" - >=virtual/rust-1.70.0 amd64? ( ${ASM_DEP} ) capi? ( >=dev-util/cargo-c-0.6.3 ) " diff --git a/media-video/rav1e/rav1e-9999.ebuild b/media-video/rav1e/rav1e-9999.ebuild index 6e51df483cb6..3cd6190b455f 100644 --- a/media-video/rav1e/rav1e-9999.ebuild +++ b/media-video/rav1e/rav1e-9999.ebuild @@ -261,7 +261,6 @@ IUSE="+capi" ASM_DEP=">=dev-lang/nasm-2.15" BDEPEND=" - >=virtual/rust-1.70.0 amd64? ( ${ASM_DEP} ) capi? ( >=dev-util/cargo-c-0.6.3 ) " diff --git a/net-analyzer/suricata/suricata-7.0.5.ebuild b/net-analyzer/suricata/suricata-7.0.5-r1.ebuild index d6d60eada0b0..8fc26ccd0baf 100644 --- a/net-analyzer/suricata/suricata-7.0.5.ebuild +++ b/net-analyzer/suricata/suricata-7.0.5-r1.ebuild @@ -6,7 +6,7 @@ EAPI=8 LUA_COMPAT=( lua5-1 luajit ) PYTHON_COMPAT=( python3_{10..12} ) -inherit autotools flag-o-matic linux-info lua-single python-single-r1 systemd tmpfiles verify-sig +inherit autotools flag-o-matic linux-info lua-single python-single-r1 rust systemd tmpfiles verify-sig DESCRIPTION="High performance Network IDS, IPS and Network Security Monitoring engine" HOMEPAGE="https://suricata.io/" @@ -55,7 +55,7 @@ RDEPEND="${PYTHON_DEPS} redis? ( dev-libs/hiredis:= )" DEPEND="${RDEPEND} >=dev-build/autoconf-2.69-r5 - virtual/rust" +" BDEPEND="verify-sig? ( >=sec-keys/openpgp-keys-oisf-20200807 )" PATCHES=( @@ -85,6 +85,11 @@ pkg_pretend() { fi } +pkg_setup() { + python_single-r1_pkg_setup + rust_pkg_setup +} + src_prepare() { default sed -ie 's/docdir =.*/docdir = ${datarootdir}\/doc\/'${PF}'\//' "${S}/doc/Makefile.am" || die diff --git a/net-analyzer/trippy/trippy-0.10.0.ebuild b/net-analyzer/trippy/trippy-0.10.0-r1.ebuild index bfddd7c17757..bfddd7c17757 100644 --- a/net-analyzer/trippy/trippy-0.10.0.ebuild +++ b/net-analyzer/trippy/trippy-0.10.0-r1.ebuild diff --git a/net-analyzer/trippy/trippy-0.11.0.ebuild b/net-analyzer/trippy/trippy-0.11.0-r1.ebuild index 14437cb268f3..14437cb268f3 100644 --- a/net-analyzer/trippy/trippy-0.11.0.ebuild +++ b/net-analyzer/trippy/trippy-0.11.0-r1.ebuild diff --git a/net-analyzer/trippy/trippy-0.9.0.ebuild b/net-analyzer/trippy/trippy-0.9.0-r1.ebuild index e1dfbdbbc957..e1dfbdbbc957 100644 --- a/net-analyzer/trippy/trippy-0.9.0.ebuild +++ b/net-analyzer/trippy/trippy-0.9.0-r1.ebuild diff --git a/net-dns/pdns-recursor/pdns-recursor-5.0.9.ebuild b/net-dns/pdns-recursor/pdns-recursor-5.0.9-r1.ebuild index e244974c1501..d4ade41512cd 100644 --- a/net-dns/pdns-recursor/pdns-recursor-5.0.9.ebuild +++ b/net-dns/pdns-recursor/pdns-recursor-5.0.9-r1.ebuild @@ -77,6 +77,7 @@ pkg_setup() { filter-flags -ftree-vectorize append-lfs-flags append-cppflags -D_TIME_BITS=64 + rust_pkg_setup } src_configure() { diff --git a/net-dns/pdns-recursor/pdns-recursor-5.1.3.ebuild b/net-dns/pdns-recursor/pdns-recursor-5.1.2-r1.ebuild index b6e990955b2c..e02040bf9ecb 100644 --- a/net-dns/pdns-recursor/pdns-recursor-5.1.3.ebuild +++ b/net-dns/pdns-recursor/pdns-recursor-5.1.2-r1.ebuild @@ -85,6 +85,7 @@ pkg_setup() { filter-flags -ftree-vectorize append-lfs-flags append-cppflags -D_TIME_BITS=64 + rust_pkg_setup } src_configure() { diff --git a/net-dns/pdns-recursor/pdns-recursor-5.1.2.ebuild b/net-dns/pdns-recursor/pdns-recursor-5.1.3-r1.ebuild index b6e990955b2c..e02040bf9ecb 100644 --- a/net-dns/pdns-recursor/pdns-recursor-5.1.2.ebuild +++ b/net-dns/pdns-recursor/pdns-recursor-5.1.3-r1.ebuild @@ -85,6 +85,7 @@ pkg_setup() { filter-flags -ftree-vectorize append-lfs-flags append-cppflags -D_TIME_BITS=64 + rust_pkg_setup } src_configure() { diff --git a/net-im/fractal/fractal-8.ebuild b/net-im/fractal/fractal-8-r1.ebuild index cba92e4c81d5..9b7c1e94bbdf 100644 --- a/net-im/fractal/fractal-8.ebuild +++ b/net-im/fractal/fractal-8-r1.ebuild @@ -27,6 +27,10 @@ declare -A GIT_CRATES=( [ruma]='https://github.com/matrix-org/ruma;4d3d8b46fd519012e4585ccf00dbea1eb602c028;ruma-%commit%/crates/ruma' ) +# https://github.com/rust-lang/rust/issues/131944 +RUST_MAX_VER="1.81.1" +RUST_MIN_VER="1.79.0" + inherit cargo gnome2-utils meson MY_P=${P/_/.} @@ -80,7 +84,6 @@ RDEPEND=" # clang needed by bindgen BDEPEND=" sys-devel/clang - >=virtual/rust-1.79.0 " # Rust diff --git a/net-im/synapse/synapse-1.114.0-r2.ebuild b/net-im/synapse/synapse-1.114.0-r3.ebuild index b310112b701f..b310112b701f 100644 --- a/net-im/synapse/synapse-1.114.0-r2.ebuild +++ b/net-im/synapse/synapse-1.114.0-r3.ebuild diff --git a/net-im/synapse/synapse-1.116.0-r3.ebuild b/net-im/synapse/synapse-1.116.0-r5.ebuild index 0ef0a5485af9..0ef0a5485af9 100644 --- a/net-im/synapse/synapse-1.116.0-r3.ebuild +++ b/net-im/synapse/synapse-1.116.0-r5.ebuild diff --git a/net-im/synapse/synapse-1.117.0.ebuild b/net-im/synapse/synapse-1.117.0-r1.ebuild index 978cf20a6966..978cf20a6966 100644 --- a/net-im/synapse/synapse-1.117.0.ebuild +++ b/net-im/synapse/synapse-1.117.0-r1.ebuild diff --git a/net-im/synapse/synapse-1.118.0.ebuild b/net-im/synapse/synapse-1.118.0-r1.ebuild index 978cf20a6966..978cf20a6966 100644 --- a/net-im/synapse/synapse-1.118.0.ebuild +++ b/net-im/synapse/synapse-1.118.0-r1.ebuild diff --git a/net-libs/quiche/quiche-0.22.0.ebuild b/net-libs/quiche/quiche-0.22.0-r1.ebuild index 7a39592d3b3c..e0713e1e6bf9 100644 --- a/net-libs/quiche/quiche-0.22.0.ebuild +++ b/net-libs/quiche/quiche-0.22.0-r1.ebuild @@ -195,7 +195,9 @@ windows-targets@0.52.5 ws2_32-sys@0.2.1 " -inherit cargo cmake flag-o-matic rust-toolchain multilib-minimal +RUST_USEDEP='${MULTILIB_USEDEP}' + +inherit multilib-minimal cargo cmake flag-o-matic rust-toolchain DESCRIPTION="Implementation of the QUIC transport protocol and HTTP/3" HOMEPAGE="https://github.com/cloudflare/quiche" @@ -225,7 +227,6 @@ IUSE="" DOCS=( COPYING README.md ) BDEPEND=" - >=virtual/rust-1.66.0[${MULTILIB_USEDEP}] dev-build/cmake " DEPEND="" diff --git a/net-libs/quiche/quiche-9999.ebuild b/net-libs/quiche/quiche-9999.ebuild index 85a385a6452c..675f686c72be 100644 --- a/net-libs/quiche/quiche-9999.ebuild +++ b/net-libs/quiche/quiche-9999.ebuild @@ -195,6 +195,10 @@ windows-targets@0.52.5 ws2_32-sys@0.2.1 " +RUST_USEDEP='${MULTILIB_USEDEP}' + +inherit multilib-minimal cargo cmake flag-o-matic rust-toolchain + inherit cargo cmake flag-o-matic rust-toolchain multilib-minimal DESCRIPTION="Implementation of the QUIC transport protocol and HTTP/3" @@ -225,7 +229,6 @@ IUSE="" DOCS=( COPYING README.md ) BDEPEND=" - >=virtual/rust-1.66.0[${MULTILIB_USEDEP}] dev-build/cmake " DEPEND="" diff --git a/net-libs/rustls-ffi/rustls-ffi-0.10.0-r1.ebuild b/net-libs/rustls-ffi/rustls-ffi-0.10.0-r2.ebuild index db915dbc209b..18f86b56864e 100644 --- a/net-libs/rustls-ffi/rustls-ffi-0.10.0-r1.ebuild +++ b/net-libs/rustls-ffi/rustls-ffi-0.10.0-r2.ebuild @@ -4,46 +4,46 @@ EAPI=8 CRATES=" - autocfg-1.1.0 - base64-0.13.1 - bumpalo-3.12.0 - cc-1.0.79 - cfg-if-1.0.0 - hashbrown-0.12.3 - indexmap-1.9.3 - js-sys-0.3.61 - libc-0.2.140 - log-0.4.17 - memchr-2.5.0 - num_enum-0.5.11 - num_enum_derive-0.5.11 - once_cell-1.17.1 - proc-macro-crate-1.3.1 - proc-macro2-1.0.55 - quote-1.0.26 - ring-0.16.20 - rustls-0.21.0 - rustls-pemfile-0.2.1 - rustls-webpki-0.100.1 - rustversion-1.0.12 - sct-0.7.0 - spin-0.5.2 - syn-1.0.109 - toml_datetime-0.6.1 - toml_edit-0.19.8 - unicode-ident-1.0.8 - untrusted-0.7.1 - wasm-bindgen-0.2.84 - wasm-bindgen-backend-0.2.84 - wasm-bindgen-macro-0.2.84 - wasm-bindgen-macro-support-0.2.84 - wasm-bindgen-shared-0.2.84 - web-sys-0.3.61 - webpki-0.22.0 - winapi-0.3.9 - winapi-i686-pc-windows-gnu-0.4.0 - winapi-x86_64-pc-windows-gnu-0.4.0 - winnow-0.4.1 + autocfg@1.1.0 + base64@0.13.1 + bumpalo@3.12.0 + cc@1.0.79 + cfg-if@1.0.0 + hashbrown@0.12.3 + indexmap@1.9.3 + js-sys@0.3.61 + libc@0.2.140 + log@0.4.17 + memchr@2.5.0 + num_enum@0.5.11 + num_enum_derive@0.5.11 + once_cell@1.17.1 + proc-macro-crate@1.3.1 + proc-macro2@1.0.55 + quote@1.0.26 + ring@0.16.20 + rustls@0.21.0 + rustls-pemfile@0.2.1 + rustls-webpki@0.100.1 + rustversion@1.0.12 + sct@0.7.0 + spin@0.5.2 + syn@1.0.109 + toml_datetime@0.6.1 + toml_edit@0.19.8 + unicode-ident@1.0.8 + untrusted@0.7.1 + wasm-bindgen@0.2.84 + wasm-bindgen-backend@0.2.84 + wasm-bindgen-macro@0.2.84 + wasm-bindgen-macro-support@0.2.84 + wasm-bindgen-shared@0.2.84 + web-sys@0.3.61 + webpki@0.22.0 + winapi@0.3.9 + winapi-i686-pc-windows-gnu@0.4.0 + winapi-x86_64-pc-windows-gnu@0.4.0 + winnow@0.4.1 " inherit cargo flag-o-matic multilib-minimal rust-toolchain @@ -51,7 +51,7 @@ inherit cargo flag-o-matic multilib-minimal rust-toolchain DESCRIPTION="C-to-rustls bindings" HOMEPAGE="https://github.com/rustls/rustls-ffi" SRC_URI="https://github.com/rustls/rustls-ffi/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz" -SRC_URI+=" $(cargo_crate_uris)" +SRC_URI+=" ${CARGO_CRATE_URIS}" # From cargo-ebuild (note that webpki is also just ISC) LICENSE="|| ( MIT Apache-2.0 ) BSD Boost-1.0 ISC MIT MPL-2.0 Unicode-DFS-2016" @@ -67,7 +67,7 @@ BDEPEND="dev-util/cargo-c" QA_FLAGS_IGNORED="usr/lib.*/librustls.*" PATCHES=( - "${FILESDIR}"/${PN}-0.10.0-cargo-c.patch + "${FILESDIR}"/${PN}@0.10.0-cargo-c.patch ) src_prepare() { diff --git a/net-libs/rustls-ffi/rustls-ffi-0.12.1-r2.ebuild b/net-libs/rustls-ffi/rustls-ffi-0.12.1-r3.ebuild index 962808494628..82a1a8b3fff4 100644 --- a/net-libs/rustls-ffi/rustls-ffi-0.12.1-r2.ebuild +++ b/net-libs/rustls-ffi/rustls-ffi-0.12.1-r3.ebuild @@ -57,7 +57,7 @@ BDEPEND="dev-util/cargo-c" QA_FLAGS_IGNORED="usr/lib.*/librustls.*" PATCHES=( - "${FILESDIR}"/${PN}-0.12.1-no-rust-nightly.patch + "${FILESDIR}"/${PN}@0.12.1-no-rust-nightly.patch ) src_prepare() { diff --git a/net-libs/rustls-ffi/rustls-ffi-0.12.2.ebuild b/net-libs/rustls-ffi/rustls-ffi-0.12.2-r1.ebuild index a09c7412e487..a09c7412e487 100644 --- a/net-libs/rustls-ffi/rustls-ffi-0.12.2.ebuild +++ b/net-libs/rustls-ffi/rustls-ffi-0.12.2-r1.ebuild diff --git a/net-libs/rustls-ffi/rustls-ffi-0.13.0.ebuild b/net-libs/rustls-ffi/rustls-ffi-0.13.0-r1.ebuild index 4f144686f120..4f144686f120 100644 --- a/net-libs/rustls-ffi/rustls-ffi-0.13.0.ebuild +++ b/net-libs/rustls-ffi/rustls-ffi-0.13.0-r1.ebuild diff --git a/net-libs/rustls-ffi/rustls-ffi-0.9.1-r1.ebuild b/net-libs/rustls-ffi/rustls-ffi-0.9.1-r2.ebuild index bf9f34bba51c..f2d00ea05c4a 100644 --- a/net-libs/rustls-ffi/rustls-ffi-0.9.1-r1.ebuild +++ b/net-libs/rustls-ffi/rustls-ffi-0.9.1-r2.ebuild @@ -4,66 +4,66 @@ EAPI=8 CRATES=" - ansi_term-0.12.1 - atty-0.2.14 - autocfg-1.1.0 - base64-0.13.1 - bitflags-1.3.2 - bumpalo-3.11.1 - cbindgen-0.19.0 - cc-1.0.77 - cfg-if-1.0.0 - clap-2.34.0 - fastrand-1.8.0 - hashbrown-0.12.3 - heck-0.3.3 - hermit-abi-0.1.19 - indexmap-1.9.2 - instant-0.1.12 - itoa-1.0.4 - js-sys-0.3.60 - libc-0.2.138 - log-0.4.17 - num_enum-0.5.7 - num_enum_derive-0.5.7 - once_cell-1.16.0 - proc-macro-crate-1.2.1 - proc-macro2-1.0.47 - quote-1.0.21 - redox_syscall-0.2.16 - remove_dir_all-0.5.3 - ring-0.16.20 - rustls-0.20.4 - rustls-pemfile-0.2.1 - rustversion-1.0.9 - ryu-1.0.11 - sct-0.7.0 - serde-1.0.149 - serde_derive-1.0.149 - serde_json-1.0.89 - spin-0.5.2 - strsim-0.8.0 - syn-1.0.105 - tempfile-3.3.0 - textwrap-0.11.0 - thiserror-1.0.37 - thiserror-impl-1.0.37 - toml-0.5.9 - unicode-ident-1.0.5 - unicode-segmentation-1.10.0 - unicode-width-0.1.10 - untrusted-0.7.1 - vec_map-0.8.2 - wasm-bindgen-0.2.83 - wasm-bindgen-backend-0.2.83 - wasm-bindgen-macro-0.2.83 - wasm-bindgen-macro-support-0.2.83 - wasm-bindgen-shared-0.2.83 - web-sys-0.3.60 - webpki-0.22.0 - winapi-0.3.9 - winapi-i686-pc-windows-gnu-0.4.0 - winapi-x86_64-pc-windows-gnu-0.4.0 + ansi_term@0.12.1 + atty@0.2.14 + autocfg@1.1.0 + base64@0.13.1 + bitflags@1.3.2 + bumpalo@3.11.1 + cbindgen@0.19.0 + cc@1.0.77 + cfg-if@1.0.0 + clap@2.34.0 + fastrand@1.8.0 + hashbrown@0.12.3 + heck@0.3.3 + hermit-abi@0.1.19 + indexmap@1.9.2 + instant@0.1.12 + itoa@1.0.4 + js-sys@0.3.60 + libc@0.2.138 + log@0.4.17 + num_enum@0.5.7 + num_enum_derive@0.5.7 + once_cell@1.16.0 + proc-macro-crate@1.2.1 + proc-macro2@1.0.47 + quote@1.0.21 + redox_syscall@0.2.16 + remove_dir_all@0.5.3 + ring@0.16.20 + rustls@0.20.4 + rustls-pemfile@0.2.1 + rustversion@1.0.9 + ryu@1.0.11 + sct@0.7.0 + serde@1.0.149 + serde_derive@1.0.149 + serde_json@1.0.89 + spin@0.5.2 + strsim@0.8.0 + syn@1.0.105 + tempfile@3.3.0 + textwrap@0.11.0 + thiserror@1.0.37 + thiserror-impl@1.0.37 + toml@0.5.9 + unicode-ident@1.0.5 + unicode-segmentation@1.10.0 + unicode-width@0.1.10 + untrusted@0.7.1 + vec_map@0.8.2 + wasm-bindgen@0.2.83 + wasm-bindgen-backend@0.2.83 + wasm-bindgen-macro@0.2.83 + wasm-bindgen-macro-support@0.2.83 + wasm-bindgen-shared@0.2.83 + web-sys@0.3.60 + webpki@0.22.0 + winapi@0.3.9 + winapi-i686-pc-windows-gnu@0.4.0 + winapi-x86_64-pc-windows-gnu@0.4.0 " inherit cargo flag-o-matic multilib-minimal rust-toolchain @@ -71,7 +71,7 @@ inherit cargo flag-o-matic multilib-minimal rust-toolchain DESCRIPTION="C-to-rustls bindings" HOMEPAGE="https://github.com/rustls/rustls-ffi" SRC_URI="https://github.com/rustls/rustls-ffi/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz" -SRC_URI+=" $(cargo_crate_uris)" +SRC_URI+=" ${CARGO_CRATE_URIS}" # From cargo-ebuild (note that webpki is also just ISC) LICENSE="|| ( MIT Apache-2.0 ) BSD Boost-1.0 ISC MIT MPL-2.0 Unicode-DFS-2016" @@ -85,8 +85,8 @@ BDEPEND="dev-util/cargo-c" QA_FLAGS_IGNORED="usr/lib.*/librustls.*" PATCHES=( - "${FILESDIR}"/${PN}-0.9.1-cargo-c.patch - "${FILESDIR}"/${PN}-0.9.1-tests-32-bit.patch + "${FILESDIR}"/${PN}@0.9.1-cargo-c.patch + "${FILESDIR}"/${PN}@0.9.1-tests-32-bit.patch ) src_prepare() { diff --git a/net-misc/asahi-btsync/asahi-btsync-0.2.0.ebuild b/net-misc/asahi-btsync/asahi-btsync-0.2.0-r1.ebuild index 38625d6d5889..e28ae111043a 100644 --- a/net-misc/asahi-btsync/asahi-btsync-0.2.0.ebuild +++ b/net-misc/asahi-btsync/asahi-btsync-0.2.0-r1.ebuild @@ -69,6 +69,9 @@ CRATES=" windows_x86_64_msvc@0.52.0 " +# stdsimd +RUST_MAX_VER=1.77.1 + inherit cargo linux-info # Releases are not tagged @@ -89,10 +92,15 @@ LICENSE+=" MIT Unicode-DFS-2016 ZLIB" SLOT="0" KEYWORDS="~arm64" +pkg_setup() { + linux-info_pkg_setup + rust_pkg_setup +} + pkg_pretend() { if use kernel_linux; then linux_config_exists || die "No suitable kernel configuration could be found" CONFIG_EXTRA="~MTD_SPI_NOR" check_extra_config fi -} + } diff --git a/net-misc/asahi-wifisync/asahi-wifisync-0.2.0.ebuild b/net-misc/asahi-wifisync/asahi-wifisync-0.2.0-r1.ebuild index 4ab24a1b1b1e..cde1356d1786 100644 --- a/net-misc/asahi-wifisync/asahi-wifisync-0.2.0.ebuild +++ b/net-misc/asahi-wifisync/asahi-wifisync-0.2.0-r1.ebuild @@ -69,6 +69,9 @@ CRATES=" windows_x86_64_msvc@0.52.0 " +# stdsimd +RUST_MAX_VER=1.77.1 + inherit cargo linux-info # Releases are not tagged @@ -89,6 +92,11 @@ LICENSE+=" MIT Unicode-DFS-2016 ZLIB" SLOT="0" KEYWORDS="~arm64" +pkg_setup() { + linux-info_pkg_setup + rust_pkg_setup +} + pkg_pretend() { if use kernel_linux; then linux_config_exists || die "No suitable kernel configuration could be found" diff --git a/net-misc/geckodriver/geckodriver-0.35.0.ebuild b/net-misc/geckodriver/geckodriver-0.35.0-r1.ebuild index 53a9994179ab..1f881c9a5b31 100644 --- a/net-misc/geckodriver/geckodriver-0.35.0.ebuild +++ b/net-misc/geckodriver/geckodriver-0.35.0-r1.ebuild @@ -240,6 +240,7 @@ RDEPEND="!www-client/firefox[geckodriver(-)]" pkg_setup() { QA_FLAGS_IGNORED="/usr/$(get_libdir)/firefox/geckodriver" + rust_pkg_setup } src_prepare() { diff --git a/net-misc/hurl/hurl-4.1.0.ebuild b/net-misc/hurl/hurl-4.1.0-r1.ebuild index 856d7cca73a5..856d7cca73a5 100644 --- a/net-misc/hurl/hurl-4.1.0.ebuild +++ b/net-misc/hurl/hurl-4.1.0-r1.ebuild diff --git a/net-misc/hurl/hurl-5.0.1.ebuild b/net-misc/hurl/hurl-5.0.1-r1.ebuild index 8715ac33605a..8715ac33605a 100644 --- a/net-misc/hurl/hurl-5.0.1.ebuild +++ b/net-misc/hurl/hurl-5.0.1-r1.ebuild diff --git a/net-misc/websocat/websocat-1.12.0.ebuild b/net-misc/websocat/websocat-1.12.0-r1.ebuild index 52fc47b607b2..95fa03089c59 100644 --- a/net-misc/websocat/websocat-1.12.0.ebuild +++ b/net-misc/websocat/websocat-1.12.0-r1.ebuild @@ -31,7 +31,6 @@ RDEPEND=" ) " DEPEND=" - ${RUST_DEPEND} ${RDEPEND} " QA_FLAGS_IGNORED="/usr/bin/websocat" diff --git a/net-misc/websocat/websocat-1.13.0.ebuild b/net-misc/websocat/websocat-1.13.0-r1.ebuild index e42ad159e087..cb5f4a415b7e 100644 --- a/net-misc/websocat/websocat-1.13.0.ebuild +++ b/net-misc/websocat/websocat-1.13.0-r1.ebuild @@ -29,7 +29,6 @@ RDEPEND=" ) " DEPEND=" - ${RUST_DEPEND} ${RDEPEND} " QA_FLAGS_IGNORED="/usr/bin/websocat" diff --git a/net-misc/zerotier/zerotier-1.14.1.ebuild b/net-misc/zerotier/zerotier-1.14.1-r1.ebuild index f6f30f150077..ce8818618cac 100644 --- a/net-misc/zerotier/zerotier-1.14.1.ebuild +++ b/net-misc/zerotier/zerotier-1.14.1-r1.ebuild @@ -380,6 +380,8 @@ declare -A GIT_CRATES=( [temporal-sdk]='https://github.com/temporalio/sdk-core;a8150d5c7c3fc1bfd5a941fd315abff1556cd9dc;sdk-core-%commit%/sdk' ) +RUST_OPTIONAL=1 + inherit cargo systemd toolchain-funcs DESCRIPTION="A software-based managed Ethernet switch for planet Earth" @@ -407,7 +409,7 @@ RDEPEND=" DEPEND="${RDEPEND}" BDEPEND=" sso? ( - virtual/rust + ${RUST_DEPEND} ) " diff --git a/net-misc/zerotier/zerotier-1.14.2.ebuild b/net-misc/zerotier/zerotier-1.14.2-r1.ebuild index 16179d08188e..8125b3a115da 100644 --- a/net-misc/zerotier/zerotier-1.14.2.ebuild +++ b/net-misc/zerotier/zerotier-1.14.2-r1.ebuild @@ -381,6 +381,8 @@ declare -A GIT_CRATES=( [temporal-sdk]='https://github.com/temporalio/sdk-core;730aadcc02767ae630e88f8f8c788a85d6bc81e6;sdk-core-%commit%/sdk' ) +RUST_OPTIONAL=1 + inherit cargo systemd toolchain-funcs DESCRIPTION="A software-based managed Ethernet switch for planet Earth" @@ -408,7 +410,7 @@ RDEPEND=" DEPEND="${RDEPEND}" BDEPEND=" sso? ( - virtual/rust + ${RUST_DEPEND} ) " diff --git a/net-nds/389-ds-base/389-ds-base-3.0.2.ebuild b/net-nds/389-ds-base/389-ds-base-3.0.2-r1.ebuild index 5a5199ac853f..cb81c3d6e77f 100644 --- a/net-nds/389-ds-base/389-ds-base-3.0.2.ebuild +++ b/net-nds/389-ds-base/389-ds-base-3.0.2-r1.ebuild @@ -112,6 +112,8 @@ PYTHON_COMPAT=( python3_{10..12} ) DISTUTILS_SINGLE_IMPL=1 DISTUTILS_USE_PEP517=setuptools +RUST_MAX_VER="1.77.1" + inherit autotools cargo distutils-r1 readme.gentoo-r1 systemd tmpfiles DESCRIPTION="389 Directory Server (core libraries and daemons)" @@ -166,7 +168,6 @@ DEPEND=" BDEPEND=">=dev-build/autoconf-2.69-r5 virtual/pkgconfig - >=virtual/rust-1.70 ${PYTHON_DEPS} $(python_gen_cond_dep ' dev-python/argparse-manpage[${PYTHON_USEDEP}] @@ -202,10 +203,16 @@ RDEPEND="${DEPEND} PATCHES=( "${FILESDIR}/${PN}-db-gentoo.patch" + "${FILESDIR}/${PN}-3.0.2-fix-rust-in-configure.patch" ) distutils_enable_tests pytest +pkg_setup() { + python-single-r1_pkg_setup + rust_pkg_setup +} + src_prepare() { # https://github.com/389ds/389-ds-base/issues/4292 if use !systemd; then diff --git a/net-nds/389-ds-base/files/389-ds-base-3.0.2-fix-rust-in-configure.patch b/net-nds/389-ds-base/files/389-ds-base-3.0.2-fix-rust-in-configure.patch new file mode 100644 index 000000000000..fef1496e52af --- /dev/null +++ b/net-nds/389-ds-base/files/389-ds-base-3.0.2-fix-rust-in-configure.patch @@ -0,0 +1,34 @@ +From 28d4871c5844b41d63a5cbc093b4453c98d5427e Mon Sep 17 00:00:00 2001 +From: Matt Jolly <kangie@gentoo.org> +Date: Thu, 7 Nov 2024 20:08:44 +1000 +Subject: [PATCH] Fix rust in configure + +RUSTC and CARGO are standard variables that are often used to indicate +the desired implementation to build systems. + +Prefix existing usage of these variables with `HAS_` so that this +does not just break +--- a/configure.ac ++++ b/configure.ac +@@ -95,10 +95,10 @@ AS_IF([test "$enable_rust_offline" = yes], + [rust_vendor_sources=""]) + AC_SUBST([rust_vendor_sources]) + if test "$enable_rust_offline" = yes; then +- AC_CHECK_PROG(CARGO, [cargo], [yes], [no]) +- AC_CHECK_PROG(RUSTC, [rustc], [yes], [no]) ++ AC_CHECK_PROG(HAS_CARGO, [cargo], [yes], [no]) ++ AC_CHECK_PROG(HAS_RUSTC, [rustc], [yes], [no]) + +- AS_IF([test "$CARGO" != "yes" -o "$RUSTC" != "yes"], [ ++ AS_IF([test "$HAS_CARGO" != "yes" -o "$HAS_RUSTC" != "yes"], [ + AC_MSG_FAILURE("Rust based plugins cannot be built cargo=$CARGO rustc=$RUSTC") + ]) + fi +@@ -944,4 +944,3 @@ AC_CONFIG_FILES([Makefile rpm/389-ds-base.spec ]) + AC_CONFIG_FILES([.cargo/config]) + + AC_OUTPUT +- +-- +2.47.0 + diff --git a/net-news/newsboat/newsboat-2.30.1-r1.ebuild b/net-news/newsboat/newsboat-2.30.1-r1.ebuild new file mode 100644 index 000000000000..bb2748631b77 --- /dev/null +++ b/net-news/newsboat/newsboat-2.30.1-r1.ebuild @@ -0,0 +1,174 @@ +# Copyright 2017-2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +CRATES=" + addr2line@0.17.0 + adler@1.0.2 + aho-corasick@0.7.19 + android_system_properties@0.1.5 + autocfg@1.1.0 + backtrace@0.3.66 + bitflags@1.3.2 + bit-set@0.5.3 + bit-vec@0.6.3 + block@0.1.6 + bumpalo@3.11.0 + byteorder@1.4.3 + cc@1.0.73 + cfg-if@1.0.0 + chrono@0.4.23 + codespan-reporting@0.11.1 + core-foundation-sys@0.8.3 + curl-sys-0.4.59+curl@7.86.0 + cxx@1.0.85 + cxxbridge-flags@1.0.85 + cxxbridge-macro@1.0.85 + cxx-build@1.0.85 + dirs@4.0.0 + dirs-sys@0.3.7 + fastrand@1.8.0 + fnv@1.0.7 + form_urlencoded@1.1.0 + getrandom@0.2.7 + gettext-rs@0.7.0 + gettext-sys@0.21.3 + gimli@0.26.2 + iana-time-zone@0.1.50 + idna@0.3.0 + instant@0.1.12 + js-sys@0.3.60 + lazy_static@1.4.0 + lexopt@0.2.1 + libc@0.2.139 + libz-sys@1.1.8 + link-cplusplus@1.0.7 + locale_config@0.3.0 + log@0.4.17 + malloc_buf@0.0.6 + md5@0.7.0 + memchr@2.5.0 + minimal-lexical@0.2.1 + miniz_oxide@0.5.4 + natord@1.0.9 + nom@7.1.1 + num-integer@0.1.45 + num-traits@0.2.15 + objc@0.2.7 + objc-foundation@0.1.1 + objc_id@0.1.1 + object@0.29.0 + once_cell@1.16.0 + percent-encoding@2.2.0 + pkg-config@0.3.25 + ppv-lite86@0.2.16 + proc-macro2@1.0.44 + proptest@1.0.0 + quick-error@1.2.3 + quick-error@2.0.1 + quote@1.0.21 + rand@0.8.5 + rand_chacha@0.3.1 + rand_core@0.6.4 + rand_xorshift@0.3.0 + redox_syscall@0.2.16 + redox_users@0.4.3 + regex@1.6.0 + regex-syntax@0.6.27 + remove_dir_all@0.5.3 + rustc-demangle@0.1.21 + rusty-fork@0.3.0 + scratch@1.0.2 + section_testing@0.0.5 + syn@1.0.100 + temp-dir@0.1.11 + tempfile@3.3.0 + termcolor@1.1.3 + thiserror@1.0.36 + thiserror-impl@1.0.36 + tinyvec@1.6.0 + tinyvec_macros@0.1.0 + unicode-bidi@0.3.8 + unicode-ident@1.0.4 + unicode-normalization@0.1.22 + unicode-width@0.1.10 + url@2.3.1 + vcpkg@0.2.15 + wait-timeout@0.2.0 + wasi@0.11.0+wasi-snapshot-preview1 + wasm-bindgen@0.2.83 + wasm-bindgen-backend@0.2.83 + wasm-bindgen-macro@0.2.83 + wasm-bindgen-macro-support@0.2.83 + wasm-bindgen-shared@0.2.83 + winapi@0.3.9 + winapi-i686-pc-windows-gnu@0.4.0 + winapi-util@0.1.5 + winapi-x86_64-pc-windows-gnu@0.4.0 + xdg@2.4.1 +" + +inherit flag-o-matic toolchain-funcs cargo + +DESCRIPTION="An RSS/Atom feed reader for text terminals" +HOMEPAGE="https://newsboat.org/ https://github.com/newsboat/newsboat" +SRC_URI=" + https://newsboat.org/releases/${PV}/${P}.tar.xz + ${CARGO_CRATE_URIS} +" + +LICENSE="Apache-2.0 Apache-2.0-with-LLVM-exceptions Boost-1.0 BSD MIT Unlicense ZLIB" +SLOT="0" +KEYWORDS="amd64 ~arm ~arm64 ~ppc64 x86" + +RDEPEND=" + >=dev-db/sqlite-3.5:3 + >=dev-libs/json-c-0.11:= + >=dev-libs/stfl-0.21 + >=net-misc/curl-7.21.6 + dev-libs/libxml2 + dev-libs/openssl:= + sys-libs/ncurses:=[unicode(+)] + sys-libs/zlib +" +DEPEND="${RDEPEND} + sys-devel/gettext +" +BDEPEND=" + app-alternatives/awk + >=dev-ruby/asciidoctor-1.5.3 + virtual/pkgconfig +" + +PATCHES=( + "${FILESDIR}"/${P}-gcc-13.patch +) + +src_prepare() { + default + + sed -i \ + -e "s/WARNFLAGS=-Werror -Wall/WARNFLAGS=-Wall/" \ + -e "s/BARE_CXXFLAGS=-std=c++11 -O2 -ggdb/BARE_CXXFLAGS=-std=c++11/" \ + Makefile || die +} + +src_configure() { + filter-lto # bug #877657 + ./config.sh || die +} + +src_compile() { + export CARGO_HOME="${ECARGO_HOME}" + emake prefix="/usr" CC="$(tc-getCC)" CXX="$(tc-getCXX)" AR="$(tc-getAR)" RANLIB="$(tc-getRANLIB)" +} + +src_test() { + emake CC="${tc-getCC}" CXX="$(tc-getCXX)" AR="$(tc-getAR)" RANLIB="$(tc-getRANLIB)" check || die +} + +src_install() { + emake DESTDIR="${D}" prefix="/usr" docdir="/usr/share/doc/${PF}" install + einstalldocs +} diff --git a/net-news/newsboat/newsboat-2.30.1.ebuild b/net-news/newsboat/newsboat-2.30.1.ebuild deleted file mode 100644 index 894a2fb34e88..000000000000 --- a/net-news/newsboat/newsboat-2.30.1.ebuild +++ /dev/null @@ -1,175 +0,0 @@ -# Copyright 2017-2023 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -CRATES=" -addr2line-0.17.0 -adler-1.0.2 -aho-corasick-0.7.19 -android_system_properties-0.1.5 -autocfg-1.1.0 -backtrace-0.3.66 -bitflags-1.3.2 -bit-set-0.5.3 -bit-vec-0.6.3 -block-0.1.6 -bumpalo-3.11.0 -byteorder-1.4.3 -cc-1.0.73 -cfg-if-1.0.0 -chrono-0.4.23 -codespan-reporting-0.11.1 -core-foundation-sys-0.8.3 -curl-sys-0.4.59+curl-7.86.0 -cxx-1.0.85 -cxxbridge-flags-1.0.85 -cxxbridge-macro-1.0.85 -cxx-build-1.0.85 -dirs-4.0.0 -dirs-sys-0.3.7 -fastrand-1.8.0 -fnv-1.0.7 -form_urlencoded-1.1.0 -getrandom-0.2.7 -gettext-rs-0.7.0 -gettext-sys-0.21.3 -gimli-0.26.2 -iana-time-zone-0.1.50 -idna-0.3.0 -instant-0.1.12 -js-sys-0.3.60 -lazy_static-1.4.0 -lexopt-0.2.1 -libc-0.2.139 -libz-sys-1.1.8 -link-cplusplus-1.0.7 -locale_config-0.3.0 -log-0.4.17 -malloc_buf-0.0.6 -md5-0.7.0 -memchr-2.5.0 -minimal-lexical-0.2.1 -miniz_oxide-0.5.4 -natord-1.0.9 -nom-7.1.1 -num-integer-0.1.45 -num-traits-0.2.15 -objc-0.2.7 -objc-foundation-0.1.1 -objc_id-0.1.1 -object-0.29.0 -once_cell-1.16.0 -percent-encoding-2.2.0 -pkg-config-0.3.25 -ppv-lite86-0.2.16 -proc-macro2-1.0.44 -proptest-1.0.0 -quick-error-1.2.3 -quick-error-2.0.1 -quote-1.0.21 -rand-0.8.5 -rand_chacha-0.3.1 -rand_core-0.6.4 -rand_xorshift-0.3.0 -redox_syscall-0.2.16 -redox_users-0.4.3 -regex-1.6.0 -regex-syntax-0.6.27 -remove_dir_all-0.5.3 -rustc-demangle-0.1.21 -rusty-fork-0.3.0 -scratch-1.0.2 -section_testing-0.0.5 -syn-1.0.100 -temp-dir-0.1.11 -tempfile-3.3.0 -termcolor-1.1.3 -thiserror-1.0.36 -thiserror-impl-1.0.36 -tinyvec-1.6.0 -tinyvec_macros-0.1.0 -unicode-bidi-0.3.8 -unicode-ident-1.0.4 -unicode-normalization-0.1.22 -unicode-width-0.1.10 -url-2.3.1 -vcpkg-0.2.15 -wait-timeout-0.2.0 -wasi-0.11.0+wasi-snapshot-preview1 -wasm-bindgen-0.2.83 -wasm-bindgen-backend-0.2.83 -wasm-bindgen-macro-0.2.83 -wasm-bindgen-macro-support-0.2.83 -wasm-bindgen-shared-0.2.83 -winapi-0.3.9 -winapi-i686-pc-windows-gnu-0.4.0 -winapi-util-0.1.5 -winapi-x86_64-pc-windows-gnu-0.4.0 -xdg-2.4.1 -" - -inherit flag-o-matic toolchain-funcs cargo - -DESCRIPTION="An RSS/Atom feed reader for text terminals" -HOMEPAGE="https://newsboat.org/ https://github.com/newsboat/newsboat" -SRC_URI=" - https://newsboat.org/releases/${PV}/${P}.tar.xz - $(cargo_crate_uris ${CRATES}) -" - -LICENSE="Apache-2.0 Apache-2.0-with-LLVM-exceptions Boost-1.0 BSD MIT Unlicense ZLIB" -SLOT="0" -KEYWORDS="amd64 ~arm ~arm64 ~ppc64 x86" - -RDEPEND=" - >=dev-db/sqlite-3.5:3 - >=dev-libs/json-c-0.11:= - >=dev-libs/stfl-0.21 - >=net-misc/curl-7.21.6 - dev-libs/libxml2 - dev-libs/openssl:= - sys-libs/ncurses:=[unicode(+)] - sys-libs/zlib -" -DEPEND="${RDEPEND} - sys-devel/gettext -" -BDEPEND=" - app-alternatives/awk - >=dev-ruby/asciidoctor-1.5.3 - virtual/pkgconfig - >=virtual/rust-1.62.0 -" - -PATCHES=( - "${FILESDIR}"/${P}-gcc-13.patch -) - -src_prepare() { - default - - sed -i \ - -e "s/WARNFLAGS=-Werror -Wall/WARNFLAGS=-Wall/" \ - -e "s/BARE_CXXFLAGS=-std=c++11 -O2 -ggdb/BARE_CXXFLAGS=-std=c++11/" \ - Makefile || die -} - -src_configure() { - filter-lto # bug #877657 - ./config.sh || die -} - -src_compile() { - export CARGO_HOME="${ECARGO_HOME}" - emake prefix="/usr" CC="$(tc-getCC)" CXX="$(tc-getCXX)" AR="$(tc-getAR)" RANLIB="$(tc-getRANLIB)" -} - -src_test() { - emake CC="${tc-getCC}" CXX="$(tc-getCXX)" AR="$(tc-getAR)" RANLIB="$(tc-getRANLIB)" check || die -} - -src_install() { - emake DESTDIR="${D}" prefix="/usr" docdir="/usr/share/doc/${PF}" install - einstalldocs -} diff --git a/net-news/newsboat/newsboat-2.34.ebuild b/net-news/newsboat/newsboat-2.34-r1.ebuild index 00ce79f68b8e..cec9141d479a 100644 --- a/net-news/newsboat/newsboat-2.34.ebuild +++ b/net-news/newsboat/newsboat-2.34-r1.ebuild @@ -121,6 +121,8 @@ CRATES=" xdg@2.5.2 " +RUST_MIN_VER="1.74.1" + inherit cargo flag-o-matic toolchain-funcs xdg DESCRIPTION="An RSS/Atom feed reader for text terminals" @@ -163,7 +165,6 @@ BDEPEND=" app-alternatives/awk sys-devel/gettext virtual/pkgconfig - >=virtual/rust-1.74.0 " src_prepare() { diff --git a/net-p2p/arti/arti-1.2.6.ebuild b/net-p2p/arti/arti-1.2.6-r1.ebuild index 0504b0193b9b..0504b0193b9b 100644 --- a/net-p2p/arti/arti-1.2.6.ebuild +++ b/net-p2p/arti/arti-1.2.6-r1.ebuild diff --git a/net-p2p/arti/arti-1.2.7.ebuild b/net-p2p/arti/arti-1.2.7-r1.ebuild index 8e9690f4332a..8e9690f4332a 100644 --- a/net-p2p/arti/arti-1.2.7.ebuild +++ b/net-p2p/arti/arti-1.2.7-r1.ebuild diff --git a/net-vpn/vpncloud/vpncloud-2.3.0-r1.ebuild b/net-vpn/vpncloud/vpncloud-2.3.0-r2.ebuild index 63d0bc271fcb..63d0bc271fcb 100644 --- a/net-vpn/vpncloud/vpncloud-2.3.0-r1.ebuild +++ b/net-vpn/vpncloud/vpncloud-2.3.0-r2.ebuild diff --git a/profiles/arch/mips/package.use.mask b/profiles/arch/mips/package.use.mask index fa77510aa188..9dffa1399424 100644 --- a/profiles/arch/mips/package.use.mask +++ b/profiles/arch/mips/package.use.mask @@ -1,6 +1,10 @@ # Copyright 1999-2024 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 +# Matt Jolly <kangie@gentoo.org> (2024-11-03) +# Requires llvm 16 which is not keyworded +=dev-lang/rust-1.71.1-r100 system-llvm + # Felix Janda <felix.janda@posteo.de> (2024-10-20) # requires dev-libs/libcss and net-libs/libdom to be keyworded www-client/elinks libcss diff --git a/profiles/features/wd40/README b/profiles/features/wd40/README index 1e90063187fc..abe7317db018 100644 --- a/profiles/features/wd40/README +++ b/profiles/features/wd40/README @@ -1,3 +1,3 @@ This is a common profile for architectures and subarchitectures that do not -support Rust (do not have a working virtual/rust). It serves as a common place +support Rust (do not have a working Rust). It serves as a common place to mask the packages requiring Rust and the USE flags pulling them. diff --git a/profiles/features/wd40/package.use.mask b/profiles/features/wd40/package.use.mask index e979d08d8575..582010e4e3ef 100644 --- a/profiles/features/wd40/package.use.mask +++ b/profiles/features/wd40/package.use.mask @@ -239,7 +239,7 @@ x11-misc/xscreensaver gdm >=media-libs/libheif-1.10.0 rav1e # Cédric Krier <cedk@gentoo.org> (2020-11-10) -# virtual/rust has no ${arch} keyword +# Rust has no ${arch} keyword dev-vcs/mercurial rust # Joonas Niilola <juippis@gentoo.org> (2020-10-02) @@ -253,7 +253,7 @@ media-libs/gd avif net-libs/webkit-gtk avif # Mart Raudsepp <leio@gentoo.org> (2020-08-02) -# ${arch} has no virtual/rust support, needed by newer gnome-base/librsvg, et al +# ${arch} has no Rust support, needed by newer gnome-base/librsvg, et al >=media-gfx/eog-3.33.1 svg # Thomas Deutschmann <whissi@gentoo.org> (2018-10-12) diff --git a/profiles/package.mask b/profiles/package.mask index 268e282ef5ba..756e586620fa 100644 --- a/profiles/package.mask +++ b/profiles/package.mask @@ -33,6 +33,42 @@ #--- END OF EXAMPLES --- +# Matt Jolly <kangie@gentoo.org> (2024-11-09) +# The legacy Rust ebuilds are no longer maintained and have been +# replaced by the new slotted Rust. Removal in 30 days. +=dev-lang/rust-1.71.1 +=dev-lang/rust-1.74.1 +=dev-lang/rust-1.75.0-r1 +=dev-lang/rust-1.77.1 +=dev-lang/rust-1.79.0 +=dev-lang/rust-1.80.1 +=dev-lang/rust-1.81.0 +=dev-lang/rust-1.82.0 +=dev-lang/rust-bin-1.71.1 +=dev-lang/rust-bin-1.74.1 +=dev-lang/rust-bin-1.75.0 +=dev-lang/rust-bin-1.77.1 +=dev-lang/rust-bin-1.79.0 +=dev-lang/rust-bin-1.80.1 +=dev-lang/rust-bin-1.81.0 +=dev-lang/rust-bin-1.82.0 +=virtual/rust-1.71.1-r2 +=virtual/rust-1.74.1-r1 +=virtual/rust-1.75.0-r1 +=virtual/rust-1.77.1 +=virtual/rust-1.79.0 +=virtual/rust-1.80.1 +=virtual/rust-1.81.0-r1 +=virtual/rust-1.82.0 + +# Matt Jolly <kangie@gentoo.org> (2024-11-09) +# Does not build with any rust version in the tree. Removal in 30 days. +=dev-lang/starlark-rust-0.8.0 + +# Matt Jolly <kangie@gentoo.org> (2024-11-09) +# Does not build with any rust version in the tree. Removal in 30 days. +=dev-util/wasmer-0.11.0 + # Hans de Graaff <graaff@gentoo.org> (2024-11-08) # Obsolete slot. Use a newer slot instead. Removal on 2024-12-08. dev-ruby/faker:2 diff --git a/sci-calculators/xsv/xsv-0.13.0-r1.ebuild b/sci-calculators/xsv/xsv-0.13.0-r1.ebuild index d5d9399c3aa6..727f733f5d23 100644 --- a/sci-calculators/xsv/xsv-0.13.0-r1.ebuild +++ b/sci-calculators/xsv/xsv-0.13.0-r1.ebuild @@ -62,8 +62,6 @@ LICENSE="|| ( MIT Unlicense ) Apache-2.0 Boost-1.0 MIT Unlicense" SLOT="0" KEYWORDS="amd64" -BDEPEND="${RUST_DEPEND}" - QA_FLAGS_IGNORED="usr/bin/${PN}" src_prepare() { diff --git a/sci-libs/safetensors/safetensors-0.4.3.ebuild b/sci-libs/safetensors/safetensors-0.4.3-r1.ebuild index fd009b581914..fd009b581914 100644 --- a/sci-libs/safetensors/safetensors-0.4.3.ebuild +++ b/sci-libs/safetensors/safetensors-0.4.3-r1.ebuild diff --git a/sci-libs/safetensors/safetensors-0.4.5.ebuild b/sci-libs/safetensors/safetensors-0.4.5-r1.ebuild index 637f93e00be0..637f93e00be0 100644 --- a/sci-libs/safetensors/safetensors-0.4.5.ebuild +++ b/sci-libs/safetensors/safetensors-0.4.5-r1.ebuild diff --git a/sci-libs/tokenizers/tokenizers-0.20.1.ebuild b/sci-libs/tokenizers/tokenizers-0.20.1-r1.ebuild index f5e839834cd8..e5255c274cb5 100644 --- a/sci-libs/tokenizers/tokenizers-0.20.1.ebuild +++ b/sci-libs/tokenizers/tokenizers-0.20.1-r1.ebuild @@ -297,6 +297,11 @@ src_unpack() { cargo_src_unpack } +pkg_setup() { + python-single-r1_pkg_setup + rust_pkg_setup +} + src_prepare() { default cd bindings/python diff --git a/sys-apps/amdgpu_top/amdgpu_top-0.7.0.ebuild b/sys-apps/amdgpu_top/amdgpu_top-0.7.0-r1.ebuild index 1387d046786c..a034f5667aa6 100644 --- a/sys-apps/amdgpu_top/amdgpu_top-0.7.0.ebuild +++ b/sys-apps/amdgpu_top/amdgpu_top-0.7.0-r1.ebuild @@ -364,6 +364,9 @@ declare -A GIT_CRATES=( [libdrm_amdgpu_sys]='https://github.com/Umio-Yasuno/libdrm-amdgpu-sys-rs;6852a973c639385988ce0454b59dddcf40ebcd2f;libdrm-amdgpu-sys-rs-%commit%' ) +# Box Time T 1.80 stuff +RUST_MAX_VER="1.79.0" + inherit desktop cargo DESCRIPTION="Tool to displays AMDGPU usage." diff --git a/sys-apps/amdgpu_top/amdgpu_top-0.9.1.ebuild b/sys-apps/amdgpu_top/amdgpu_top-0.9.1-r1.ebuild index c8949104ff02..c8949104ff02 100644 --- a/sys-apps/amdgpu_top/amdgpu_top-0.9.1.ebuild +++ b/sys-apps/amdgpu_top/amdgpu_top-0.9.1-r1.ebuild diff --git a/sys-apps/asahi-bless/asahi-bless-0.3.0.ebuild b/sys-apps/asahi-bless/asahi-bless-0.3.0-r1.ebuild index 7cb997d40f69..c9a4d40bfb75 100644 --- a/sys-apps/asahi-bless/asahi-bless-0.3.0.ebuild +++ b/sys-apps/asahi-bless/asahi-bless-0.3.0-r1.ebuild @@ -89,6 +89,11 @@ LICENSE+=" MIT Unicode-DFS-2016 ZLIB" SLOT="0" KEYWORDS="~arm64" +pkg_setup() { + linux-info_pkg_setup + rust_pkg_setup +} + pkg_pretend() { if use kernel_linux; then linux_config_exists || die "No suitable kernel configuration could be found" diff --git a/sys-apps/asahi-nvram/asahi-nvram-0.2.1.ebuild b/sys-apps/asahi-nvram/asahi-nvram-0.2.1-r1.ebuild index 99e80c6bc1bd..e901a4943328 100644 --- a/sys-apps/asahi-nvram/asahi-nvram-0.2.1.ebuild +++ b/sys-apps/asahi-nvram/asahi-nvram-0.2.1-r1.ebuild @@ -89,6 +89,11 @@ LICENSE+=" MIT Unicode-DFS-2016 ZLIB" SLOT="0" KEYWORDS="~arm64" +pkg_setup() { + linux-info_pkg_setup + rust_pkg_setup +} + pkg_pretend() { if use kernel_linux; then linux_config_exists || die "No suitable kernel configuration could be found" diff --git a/sys-apps/asahi-startup-disk/asahi-startup-disk-0.1.3.ebuild b/sys-apps/asahi-startup-disk/asahi-startup-disk-0.1.3-r1.ebuild index 021770dd5ac2..021770dd5ac2 100644 --- a/sys-apps/asahi-startup-disk/asahi-startup-disk-0.1.3.ebuild +++ b/sys-apps/asahi-startup-disk/asahi-startup-disk-0.1.3-r1.ebuild diff --git a/sys-apps/bat/bat-0.23.0-r1.ebuild b/sys-apps/bat/bat-0.23.0-r2.ebuild index 0a4601f4acbf..0a4601f4acbf 100644 --- a/sys-apps/bat/bat-0.23.0-r1.ebuild +++ b/sys-apps/bat/bat-0.23.0-r2.ebuild diff --git a/sys-apps/bat/bat-0.24.0-r1.ebuild b/sys-apps/bat/bat-0.24.0-r2.ebuild index 19f0e337f7a3..19f0e337f7a3 100644 --- a/sys-apps/bat/bat-0.24.0-r1.ebuild +++ b/sys-apps/bat/bat-0.24.0-r2.ebuild diff --git a/sys-apps/cyme/cyme-2.0.0.ebuild b/sys-apps/cyme/cyme-2.0.0-r1.ebuild index 253de8e929b4..253de8e929b4 100644 --- a/sys-apps/cyme/cyme-2.0.0.ebuild +++ b/sys-apps/cyme/cyme-2.0.0-r1.ebuild diff --git a/sys-apps/cyme/cyme-2.1.0.ebuild b/sys-apps/cyme/cyme-2.1.0-r1.ebuild index 916284d52d4c..916284d52d4c 100644 --- a/sys-apps/cyme/cyme-2.1.0.ebuild +++ b/sys-apps/cyme/cyme-2.1.0-r1.ebuild diff --git a/sys-apps/eza/eza-0.18.16.ebuild b/sys-apps/eza/eza-0.18.16-r1.ebuild index f8a9cd311cc1..254b0371aec5 100644 --- a/sys-apps/eza/eza-0.18.16.ebuild +++ b/sys-apps/eza/eza-0.18.16-r1.ebuild @@ -208,7 +208,6 @@ IUSE="+git" DEPEND="git? ( >=dev-libs/libgit2-1.7.0:= )" RDEPEND="${DEPEND}" -BDEPEND=">=virtual/rust-1.70.0" QA_FLAGS_IGNORED="usr/bin/${PN}" diff --git a/sys-apps/eza/eza-0.19.0.ebuild b/sys-apps/eza/eza-0.19.0-r1.ebuild index 6ad5bd48c0fa..608385c2d834 100644 --- a/sys-apps/eza/eza-0.19.0.ebuild +++ b/sys-apps/eza/eza-0.19.0-r1.ebuild @@ -209,7 +209,6 @@ IUSE="+git" DEPEND="git? ( >=dev-libs/libgit2-1.8.1:= )" RDEPEND="${DEPEND}" -BDEPEND=">=virtual/rust-1.70.0" QA_FLAGS_IGNORED="usr/bin/${PN}" diff --git a/sys-apps/eza/eza-0.19.2.ebuild b/sys-apps/eza/eza-0.19.2-r1.ebuild index 7c748f4db104..5cae0cd643de 100644 --- a/sys-apps/eza/eza-0.19.2.ebuild +++ b/sys-apps/eza/eza-0.19.2-r1.ebuild @@ -221,7 +221,6 @@ IUSE="+git" DEPEND="git? ( >=dev-libs/libgit2-1.8.1:= )" RDEPEND="${DEPEND}" -BDEPEND=">=virtual/rust-1.70.0" QA_FLAGS_IGNORED="usr/bin/${PN}" diff --git a/sys-apps/eza/eza-0.20.0.ebuild b/sys-apps/eza/eza-0.20.0-r1.ebuild index 6fcea33029cc..1d56ac890116 100644 --- a/sys-apps/eza/eza-0.20.0.ebuild +++ b/sys-apps/eza/eza-0.20.0-r1.ebuild @@ -229,7 +229,6 @@ IUSE="+git" DEPEND="git? ( >=dev-libs/libgit2-1.8.1:= )" RDEPEND="${DEPEND}" -BDEPEND=">=virtual/rust-1.70.0" QA_FLAGS_IGNORED="usr/bin/${PN}" diff --git a/sys-apps/fd/fd-10.2.0.ebuild b/sys-apps/fd/fd-10.2.0-r1.ebuild index 7aebdb798a90..0435d37a069f 100644 --- a/sys-apps/fd/fd-10.2.0.ebuild +++ b/sys-apps/fd/fd-10.2.0-r1.ebuild @@ -119,6 +119,8 @@ CRATES=" windows_x86_64_msvc@0.52.6 " +RUST_MIN_VER="1.79.0" + inherit bash-completion-r1 cargo DESCRIPTION="Alternative to find that provides sensible defaults for 80% of the use cases" @@ -141,9 +143,6 @@ DEPEND=" RDEPEND=" ${DEPEND} " -BDEPEND=" - >=virtual/rust-1.77.2 -" QA_FLAGS_IGNORED="/usr/bin/fd" diff --git a/sys-apps/ipmi-fan-control/ipmi-fan-control-0.4.0-r1.ebuild b/sys-apps/ipmi-fan-control/ipmi-fan-control-0.4.0-r1.ebuild new file mode 100644 index 000000000000..9a64306f99e0 --- /dev/null +++ b/sys-apps/ipmi-fan-control/ipmi-fan-control-0.4.0-r1.ebuild @@ -0,0 +1,161 @@ +# Copyright 2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +CRATES=" + aho-corasick@0.7.19 + atty@0.2.14 + autocfg@1.1.0 + bindgen@0.60.1 + bitflags@1.3.2 + bytes@1.2.1 + cexpr@0.6.0 + cfg-if@1.0.0 + clang-sys@1.3.3 + clap@3.2.22 + clap_derive@3.2.18 + clap_lex@0.2.4 + either@1.8.0 + env_logger@0.9.1 + futures@0.3.24 + futures-channel@0.3.24 + futures-core@0.3.24 + futures-executor@0.3.24 + futures-io@0.3.24 + futures-macro@0.3.24 + futures-sink@0.3.24 + futures-task@0.3.24 + futures-util@0.3.24 + getrandom@0.2.7 + glob@0.3.0 + hashbrown@0.12.3 + heck@0.4.0 + hermit-abi@0.1.19 + humantime@2.1.0 + indexmap@1.9.1 + itoa@1.0.3 + lazy_static@1.4.0 + lazycell@1.3.0 + libc@0.2.132 + libloading@0.7.3 + lock_api@0.4.8 + log@0.4.17 + memchr@2.5.0 + minimal-lexical@0.2.1 + mio@0.8.4 + nom@7.1.1 + num_cpus@1.13.1 + once_cell@1.14.0 + os_str_bytes@6.3.0 + parking_lot@0.12.1 + parking_lot_core@0.9.3 + peeking_take_while@0.1.2 + pin-project-lite@0.2.9 + pin-utils@0.1.0 + pkg-config@0.3.25 + ppv-lite86@0.2.16 + proc-macro-error@1.0.4 + proc-macro-error-attr@1.0.4 + proc-macro2@1.0.43 + quote@1.0.21 + rand@0.8.5 + rand_chacha@0.3.1 + rand_core@0.6.4 + redox_syscall@0.2.16 + regex@1.6.0 + regex-syntax@0.6.27 + retry@2.0.0 + rustc-hash@1.1.0 + ryu@1.0.11 + scopeguard@1.1.0 + serde@1.0.144 + serde_derive@1.0.144 + serde_json@1.0.85 + shlex@1.1.0 + signal-hook-registry@1.4.0 + slab@0.4.7 + smallvec@1.9.0 + socket2@0.4.7 + strsim@0.10.0 + syn@1.0.99 + termcolor@1.1.3 + textwrap@0.15.1 + thiserror@1.0.35 + thiserror-impl@1.0.35 + tokio@1.21.1 + tokio-macros@1.8.0 + tokio-stream@0.1.10 + toml@0.5.9 + unicode-ident@1.0.4 + version_check@0.9.4 + wasi@0.11.0+wasi-snapshot-preview1 + which@4.3.0 + winapi@0.3.9 + winapi-i686-pc-windows-gnu@0.4.0 + winapi-util@0.1.5 + winapi-x86_64-pc-windows-gnu@0.4.0 + windows-sys@0.36.1 + windows_aarch64_msvc@0.36.1 + windows_i686_gnu@0.36.1 + windows_i686_msvc@0.36.1 + windows_x86_64_gnu@0.36.1 + windows_x86_64_msvc@0.36.1 +" + +inherit cargo optfeature systemd + +DESCRIPTION="SuperMicro IPMI fan control daemon" +HOMEPAGE="https://github.com/chenxiaolong/ipmi-fan-control" + +if [[ ${PV} == 9999 ]] ; then + inherit git-r3 + EGIT_REPO_URI="https://github.com/chenxiaolong/${PN}" +else + SRC_URI="https://github.com/chenxiaolong/${PN}/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz + ${CARGO_CRATE_URIS}" + # supported boards are x86_64 only, do not keyword elsewhere + # technically it could run on remote host and issue commands via ipmitool lanplus, but that's very edgy case + KEYWORDS="-* ~amd64" +fi + +LICENSE="Apache-2.0 Apache-2.0-with-LLVM-exceptions BSD Boost-1.0 GPL-3+ ISC MIT Unicode-DFS-2016 Unlicense" +SLOT="0" + +BDEPEND=" + sys-devel/clang + virtual/pkgconfig +" + +RDEPEND="sys-libs/freeipmi" +DEPEND="${RDEPEND}" + +QA_FLAGS_IGNORED="usr/bin/${PN}" + +src_unpack() { + if [[ ${PV} == 9999 ]]; then + git-r3_src_unpack + cargo_live_src_unpack + else + cargo_src_unpack + fi +} + +src_install() { + cargo_src_install + + sed -i \ + -e "s|@BINDIR@|${EPREFIX}/usr/bin|" \ + -e "s|@SYSCONFDIR@|${EPREFIX}/etc|" \ + dist/ipmi-fan-control.service.in || die + + # TODO: add openrc service + systemd_newunit dist/ipmi-fan-control.service.in ipmi-fan-control.service + + insinto /etc + newins config.sample.toml "${PN}".toml +} + +pkg_postinst() { + optfeature "S.M.A.R.T. drive temperature support" sys-apps/smartmontools +} diff --git a/sys-apps/ipmi-fan-control/ipmi-fan-control-0.4.0.ebuild b/sys-apps/ipmi-fan-control/ipmi-fan-control-0.4.0.ebuild deleted file mode 100644 index d5ac89808170..000000000000 --- a/sys-apps/ipmi-fan-control/ipmi-fan-control-0.4.0.ebuild +++ /dev/null @@ -1,161 +0,0 @@ -# Copyright 2022 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -CRATES=" - aho-corasick-0.7.19 - atty-0.2.14 - autocfg-1.1.0 - bindgen-0.60.1 - bitflags-1.3.2 - bytes-1.2.1 - cexpr-0.6.0 - cfg-if-1.0.0 - clang-sys-1.3.3 - clap-3.2.22 - clap_derive-3.2.18 - clap_lex-0.2.4 - either-1.8.0 - env_logger-0.9.1 - futures-0.3.24 - futures-channel-0.3.24 - futures-core-0.3.24 - futures-executor-0.3.24 - futures-io-0.3.24 - futures-macro-0.3.24 - futures-sink-0.3.24 - futures-task-0.3.24 - futures-util-0.3.24 - getrandom-0.2.7 - glob-0.3.0 - hashbrown-0.12.3 - heck-0.4.0 - hermit-abi-0.1.19 - humantime-2.1.0 - indexmap-1.9.1 - itoa-1.0.3 - lazy_static-1.4.0 - lazycell-1.3.0 - libc-0.2.132 - libloading-0.7.3 - lock_api-0.4.8 - log-0.4.17 - memchr-2.5.0 - minimal-lexical-0.2.1 - mio-0.8.4 - nom-7.1.1 - num_cpus-1.13.1 - once_cell-1.14.0 - os_str_bytes-6.3.0 - parking_lot-0.12.1 - parking_lot_core-0.9.3 - peeking_take_while-0.1.2 - pin-project-lite-0.2.9 - pin-utils-0.1.0 - pkg-config-0.3.25 - ppv-lite86-0.2.16 - proc-macro-error-1.0.4 - proc-macro-error-attr-1.0.4 - proc-macro2-1.0.43 - quote-1.0.21 - rand-0.8.5 - rand_chacha-0.3.1 - rand_core-0.6.4 - redox_syscall-0.2.16 - regex-1.6.0 - regex-syntax-0.6.27 - retry-2.0.0 - rustc-hash-1.1.0 - ryu-1.0.11 - scopeguard-1.1.0 - serde-1.0.144 - serde_derive-1.0.144 - serde_json-1.0.85 - shlex-1.1.0 - signal-hook-registry-1.4.0 - slab-0.4.7 - smallvec-1.9.0 - socket2-0.4.7 - strsim-0.10.0 - syn-1.0.99 - termcolor-1.1.3 - textwrap-0.15.1 - thiserror-1.0.35 - thiserror-impl-1.0.35 - tokio-1.21.1 - tokio-macros-1.8.0 - tokio-stream-0.1.10 - toml-0.5.9 - unicode-ident-1.0.4 - version_check-0.9.4 - wasi-0.11.0+wasi-snapshot-preview1 - which-4.3.0 - winapi-0.3.9 - winapi-i686-pc-windows-gnu-0.4.0 - winapi-util-0.1.5 - winapi-x86_64-pc-windows-gnu-0.4.0 - windows-sys-0.36.1 - windows_aarch64_msvc-0.36.1 - windows_i686_gnu-0.36.1 - windows_i686_msvc-0.36.1 - windows_x86_64_gnu-0.36.1 - windows_x86_64_msvc-0.36.1 -" - -inherit cargo optfeature systemd - -DESCRIPTION="SuperMicro IPMI fan control daemon" -HOMEPAGE="https://github.com/chenxiaolong/ipmi-fan-control" - -if [[ ${PV} == 9999 ]] ; then - inherit git-r3 - EGIT_REPO_URI="https://github.com/chenxiaolong/${PN}" -else - SRC_URI="https://github.com/chenxiaolong/${PN}/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz - $(cargo_crate_uris)" - # supported boards are x86_64 only, do not keyword elsewhere - # technically it could run on remote host and issue commands via ipmitool lanplus, but that's very edgy case - KEYWORDS="-* ~amd64" -fi - -LICENSE="Apache-2.0 Apache-2.0-with-LLVM-exceptions BSD Boost-1.0 GPL-3+ ISC MIT Unicode-DFS-2016 Unlicense" -SLOT="0" - -BDEPEND=" - sys-devel/clang - virtual/pkgconfig -" - -RDEPEND="sys-libs/freeipmi" -DEPEND="${RDEPEND}" - -QA_FLAGS_IGNORED="usr/bin/${PN}" - -src_unpack() { - if [[ ${PV} == 9999 ]]; then - git-r3_src_unpack - cargo_live_src_unpack - else - cargo_src_unpack - fi -} - -src_install() { - cargo_src_install - - sed -i \ - -e "s|@BINDIR@|${EPREFIX}/usr/bin|" \ - -e "s|@SYSCONFDIR@|${EPREFIX}/etc|" \ - dist/ipmi-fan-control.service.in || die - - # TODO: add openrc service - systemd_newunit dist/ipmi-fan-control.service.in ipmi-fan-control.service - - insinto /etc - newins config.sample.toml "${PN}".toml -} - -pkg_postinst() { - optfeature "S.M.A.R.T. drive temperature support" sys-apps/smartmontools -} diff --git a/sys-apps/ipmi-fan-control/ipmi-fan-control-9999.ebuild b/sys-apps/ipmi-fan-control/ipmi-fan-control-9999.ebuild index 9edc0bc051d8..b54b1009b6a3 100644 --- a/sys-apps/ipmi-fan-control/ipmi-fan-control-9999.ebuild +++ b/sys-apps/ipmi-fan-control/ipmi-fan-control-9999.ebuild @@ -16,7 +16,7 @@ if [[ ${PV} == 9999 ]] ; then EGIT_REPO_URI="https://github.com/chenxiaolong/${PN}" else SRC_URI="https://github.com/chenxiaolong/${PN}/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz - $(cargo_crate_uris)" + ${CARGO_CRATE_URIS}" # supported boards are x86_64 only, do not keyword elsewhere # technically it could run on remote host and issue commands via ipmitool lanplus, but that's very edgy case KEYWORDS="-* ~amd64" diff --git a/sys-apps/lsd/lsd-1.1.3.ebuild b/sys-apps/lsd/lsd-1.1.3-r1.ebuild index c152363a432b..c152363a432b 100644 --- a/sys-apps/lsd/lsd-1.1.3.ebuild +++ b/sys-apps/lsd/lsd-1.1.3-r1.ebuild diff --git a/sys-apps/pkgcraft-tools/pkgcraft-tools-0.0.15.ebuild b/sys-apps/pkgcraft-tools/pkgcraft-tools-0.0.14-r1.ebuild index e12a623430f6..6ae730a05105 100644 --- a/sys-apps/pkgcraft-tools/pkgcraft-tools-0.0.15.ebuild +++ b/sys-apps/pkgcraft-tools/pkgcraft-tools-0.0.14-r1.ebuild @@ -4,7 +4,8 @@ EAPI=8 CRATES=" " -LLVM_COMPAT=( {17..18} ) +LLVM_COMPAT=( 17 ) + inherit edo cargo llvm-r1 DESCRIPTION="pkgcraft-based tools for Gentoo" @@ -35,10 +36,14 @@ BDEPEND=" $(llvm_gen_dep ' sys-devel/clang:${LLVM_SLOT} ') - >=virtual/rust-1.76 test? ( dev-util/cargo-nextest ) " +pkg_setup() { + llvm-r1_pkg_setup + rust_pkg_setup +} + src_unpack() { if [[ ${PV} == 9999 ]] ; then git-r3_src_unpack @@ -49,5 +54,5 @@ src_unpack() { } src_test() { - edo cargo nextest run $(usev !debug '--release') --color always --all-features --tests + edo ${CARGO} nextest run $(usev !debug '--release') --color always --all-features --tests } diff --git a/sys-apps/pkgcraft-tools/pkgcraft-tools-0.0.16.ebuild b/sys-apps/pkgcraft-tools/pkgcraft-tools-0.0.15-r1.ebuild index e12a623430f6..4dd6b1e8e90e 100644 --- a/sys-apps/pkgcraft-tools/pkgcraft-tools-0.0.16.ebuild +++ b/sys-apps/pkgcraft-tools/pkgcraft-tools-0.0.15-r1.ebuild @@ -5,7 +5,9 @@ EAPI=8 CRATES=" " LLVM_COMPAT=( {17..18} ) -inherit edo cargo llvm-r1 +RUST_MIN_VER="1.77.1" + +inherit edo llvm-r1 cargo DESCRIPTION="pkgcraft-based tools for Gentoo" HOMEPAGE="https://pkgcraft.github.io/" @@ -35,10 +37,14 @@ BDEPEND=" $(llvm_gen_dep ' sys-devel/clang:${LLVM_SLOT} ') - >=virtual/rust-1.76 test? ( dev-util/cargo-nextest ) " +pkg_setup() { + llvm-r1_pkg_setup + rust_pkg_setup +} + src_unpack() { if [[ ${PV} == 9999 ]] ; then git-r3_src_unpack @@ -49,5 +55,5 @@ src_unpack() { } src_test() { - edo cargo nextest run $(usev !debug '--release') --color always --all-features --tests + edo ${CARGO} nextest run $(usev !debug '--release') --color always --all-features --tests } diff --git a/sys-apps/pkgcraft-tools/pkgcraft-tools-0.0.14.ebuild b/sys-apps/pkgcraft-tools/pkgcraft-tools-0.0.16-r1.ebuild index fa06a1993399..4dd6b1e8e90e 100644 --- a/sys-apps/pkgcraft-tools/pkgcraft-tools-0.0.14.ebuild +++ b/sys-apps/pkgcraft-tools/pkgcraft-tools-0.0.16-r1.ebuild @@ -4,8 +4,10 @@ EAPI=8 CRATES=" " -LLVM_MAX_SLOT=17 -inherit edo cargo llvm +LLVM_COMPAT=( {17..18} ) +RUST_MIN_VER="1.77.1" + +inherit edo llvm-r1 cargo DESCRIPTION="pkgcraft-based tools for Gentoo" HOMEPAGE="https://pkgcraft.github.io/" @@ -32,13 +34,15 @@ QA_FLAGS_IGNORED="usr/bin/pk" # Clang needed for bindgen BDEPEND=" - <sys-devel/clang-$((${LLVM_MAX_SLOT} + 1)) - >=virtual/rust-1.71 + $(llvm_gen_dep ' + sys-devel/clang:${LLVM_SLOT} + ') test? ( dev-util/cargo-nextest ) " -llvm_check_deps() { - has_version -b "sys-devel/clang:${LLVM_SLOT}" +pkg_setup() { + llvm-r1_pkg_setup + rust_pkg_setup } src_unpack() { @@ -51,5 +55,5 @@ src_unpack() { } src_test() { - edo cargo nextest run $(usev !debug '--release') --color always --all-features --tests + edo ${CARGO} nextest run $(usev !debug '--release') --color always --all-features --tests } diff --git a/sys-apps/pkgcraft-tools/pkgcraft-tools-9999.ebuild b/sys-apps/pkgcraft-tools/pkgcraft-tools-9999.ebuild index e12a623430f6..3739b1a925c3 100644 --- a/sys-apps/pkgcraft-tools/pkgcraft-tools-9999.ebuild +++ b/sys-apps/pkgcraft-tools/pkgcraft-tools-9999.ebuild @@ -5,7 +5,9 @@ EAPI=8 CRATES=" " LLVM_COMPAT=( {17..18} ) -inherit edo cargo llvm-r1 +RUST_MIN_VER="1.77.1" + +inherit edo llvm-r1 cargo DESCRIPTION="pkgcraft-based tools for Gentoo" HOMEPAGE="https://pkgcraft.github.io/" @@ -35,10 +37,14 @@ BDEPEND=" $(llvm_gen_dep ' sys-devel/clang:${LLVM_SLOT} ') - >=virtual/rust-1.76 test? ( dev-util/cargo-nextest ) " +pkg_setup() { + llvm-r1_pkg_setup + rust_pkg_setup +} + src_unpack() { if [[ ${PV} == 9999 ]] ; then git-r3_src_unpack diff --git a/sys-apps/ripgrep/ripgrep-14.1.1.ebuild b/sys-apps/ripgrep/ripgrep-14.1.1-r1.ebuild index 85eb70fa4749..3b365db8e3c0 100644 --- a/sys-apps/ripgrep/ripgrep-14.1.1.ebuild +++ b/sys-apps/ripgrep/ripgrep-14.1.1-r1.ebuild @@ -57,6 +57,8 @@ CRATES=" windows_x86_64_msvc@0.52.6 " +RUST_MIN_VER="1.74.1" + inherit cargo bash-completion-r1 DESCRIPTION="Search tool that combines the usability of ag with the raw speed of grep" @@ -79,7 +81,6 @@ IUSE="+pcre" RDEPEND="pcre? ( dev-libs/libpcre2:= )" DEPEND="${RDEPEND}" BDEPEND=" - >=virtual/rust-1.72 virtual/pkgconfig " diff --git a/sys-apps/systemctl-tui/systemctl-tui-0.3.4.ebuild b/sys-apps/systemctl-tui/systemctl-tui-0.3.4-r1.ebuild index 5d4095fe4bfe..5d4095fe4bfe 100644 --- a/sys-apps/systemctl-tui/systemctl-tui-0.3.4.ebuild +++ b/sys-apps/systemctl-tui/systemctl-tui-0.3.4-r1.ebuild diff --git a/sys-apps/uutils-coreutils/uutils-coreutils-0.0.25.ebuild b/sys-apps/uutils-coreutils/uutils-coreutils-0.0.25-r1.ebuild index 54d71a2f8c9c..48add188ba43 100644 --- a/sys-apps/uutils-coreutils/uutils-coreutils-0.0.25.ebuild +++ b/sys-apps/uutils-coreutils/uutils-coreutils-0.0.25-r1.ebuild @@ -320,7 +320,6 @@ DEPEND=" " RDEPEND="${DEPEND}" BDEPEND=" - >=virtual/rust-1.70.0 test? ( dev-util/cargo-nextest ) " diff --git a/sys-apps/uutils-coreutils/uutils-coreutils-0.0.27.ebuild b/sys-apps/uutils-coreutils/uutils-coreutils-0.0.27-r1.ebuild index 81d874fa698b..983444b96327 100644 --- a/sys-apps/uutils-coreutils/uutils-coreutils-0.0.27.ebuild +++ b/sys-apps/uutils-coreutils/uutils-coreutils-0.0.27-r1.ebuild @@ -350,7 +350,6 @@ DEPEND=" " RDEPEND="${DEPEND}" BDEPEND=" - >=virtual/rust-1.70.0 test? ( dev-util/cargo-nextest ) " diff --git a/sys-apps/uutils-coreutils/uutils-coreutils-9999.ebuild b/sys-apps/uutils-coreutils/uutils-coreutils-9999.ebuild index 81d874fa698b..983444b96327 100644 --- a/sys-apps/uutils-coreutils/uutils-coreutils-9999.ebuild +++ b/sys-apps/uutils-coreutils/uutils-coreutils-9999.ebuild @@ -350,7 +350,6 @@ DEPEND=" " RDEPEND="${DEPEND}" BDEPEND=" - >=virtual/rust-1.70.0 test? ( dev-util/cargo-nextest ) " diff --git a/sys-apps/uutils-findutils/uutils-findutils-0.4.2-r1.ebuild b/sys-apps/uutils-findutils/uutils-findutils-0.4.2-r1.ebuild index c31dd891b770..c4c8d32c12b0 100644 --- a/sys-apps/uutils-findutils/uutils-findutils-0.4.2-r1.ebuild +++ b/sys-apps/uutils-findutils/uutils-findutils-0.4.2-r1.ebuild @@ -176,8 +176,9 @@ declare -A GIT_CRATES=( [onig_sys]="https://github.com/rust-onig/rust-onig;fa90c0e97e90a056af89f183b23cd417b59ee6a2;rust-onig-%commit%/onig_sys" ) -LLVM_MAX_SLOT=17 -inherit cargo llvm +LLVM_COMPAT=( 17 ) + +inherit cargo llvm-r1 DESCRIPTION="GNU findutils rewritten in Rust" HOMEPAGE="https://uutils.github.io/findutils/ https://github.com/uutils/findutils" @@ -208,8 +209,9 @@ fi RDEPEND=">=dev-libs/oniguruma-6.9.9:=" DEPEND="${RDEPEND}" BDEPEND=" - <sys-devel/clang-$((LLVM_MAX_SLOT + 1)) - >=virtual/rust-1.56.0 + $(llvm_gen_dep ' + sys-devel/clang:${LLVM_SLOT} + ') " QA_FLAGS_IGNORED=".*" @@ -218,6 +220,11 @@ PATCHES=( "${WORKDIR}"/${PN}-0.4.2-update-crates.patch ) +pkg_setup() { + llvm-r1_pkg_setup + rust_pkg_setup +} + src_unpack() { if [[ ${PV} == 9999 ]] ; then git-r3_src_unpack diff --git a/sys-apps/uutils-findutils/uutils-findutils-0.5.0.ebuild b/sys-apps/uutils-findutils/uutils-findutils-0.5.0-r1.ebuild index 68631a51d6bf..6c03da24e81d 100644 --- a/sys-apps/uutils-findutils/uutils-findutils-0.5.0.ebuild +++ b/sys-apps/uutils-findutils/uutils-findutils-0.5.0-r1.ebuild @@ -166,11 +166,15 @@ BDEPEND=" $(llvm_gen_dep ' sys-devel/clang:${LLVM_SLOT} ') - >=virtual/rust-1.70 " QA_FLAGS_IGNORED=".*" +pkg_setup() { + llvm-r1_pkg_setup + rust_pkg_setup +} + src_unpack() { if [[ ${PV} == 9999 ]] ; then git-r3_src_unpack diff --git a/sys-apps/uutils-findutils/uutils-findutils-9999.ebuild b/sys-apps/uutils-findutils/uutils-findutils-9999.ebuild index 68631a51d6bf..f8a83a5773bb 100644 --- a/sys-apps/uutils-findutils/uutils-findutils-9999.ebuild +++ b/sys-apps/uutils-findutils/uutils-findutils-9999.ebuild @@ -133,7 +133,7 @@ CRATES=" " LLVM_COMPAT=( {17..18} ) -inherit cargo llvm-r1 +inherit llvm-r1 cargo DESCRIPTION="GNU findutils rewritten in Rust" HOMEPAGE="https://uutils.github.io/findutils/ https://github.com/uutils/findutils" @@ -166,7 +166,6 @@ BDEPEND=" $(llvm_gen_dep ' sys-devel/clang:${LLVM_SLOT} ') - >=virtual/rust-1.70 " QA_FLAGS_IGNORED=".*" diff --git a/sys-apps/zram-generator/zram-generator-1.1.2.ebuild b/sys-apps/zram-generator/zram-generator-1.1.2-r1.ebuild index e9c8dc4ca9ff..3d422cd75d43 100644 --- a/sys-apps/zram-generator/zram-generator-1.1.2.ebuild +++ b/sys-apps/zram-generator/zram-generator-1.1.2-r1.ebuild @@ -4,44 +4,44 @@ EAPI=8 CRATES=" - ahash-0.4.7 - anyhow-1.0.45 - autocfg-1.0.1 - bitflags-1.2.1 - cc-1.0.72 - cfg-if-1.0.0 - clap-2.33.3 - ctor-0.1.21 - dlv-list-0.2.3 - fasteval-0.2.4 - fs_extra-1.2.0 - getrandom-0.2.3 - hashbrown-0.9.1 - libc-0.2.107 - liboverdrop-0.0.2 - log-0.4.14 - memoffset-0.6.4 - nix-0.22.2 - ordered-multimap-0.3.1 - ppv-lite86-0.2.15 - proc-macro2-1.0.32 - quote-1.0.10 - rand-0.8.4 - rand_chacha-0.3.1 - rand_core-0.6.3 - rand_hc-0.3.1 - redox_syscall-0.2.10 - remove_dir_all-0.5.3 - rust-ini-0.17.0 - syn-1.0.81 - tempfile-3.2.0 - textwrap-0.11.0 - unicode-width-0.1.9 - unicode-xid-0.2.2 - wasi-0.10.2+wasi-snapshot-preview1 - winapi-0.3.9 - winapi-i686-pc-windows-gnu-0.4.0 - winapi-x86_64-pc-windows-gnu-0.4.0 + ahash@0.4.7 + anyhow@1.0.45 + autocfg@1.0.1 + bitflags@1.2.1 + cc@1.0.72 + cfg-if@1.0.0 + clap@2.33.3 + ctor@0.1.21 + dlv-list@0.2.3 + fasteval@0.2.4 + fs_extra@1.2.0 + getrandom@0.2.3 + hashbrown@0.9.1 + libc@0.2.107 + liboverdrop@0.0.2 + log@0.4.14 + memoffset@0.6.4 + nix@0.22.2 + ordered-multimap@0.3.1 + ppv-lite86@0.2.15 + proc-macro2@1.0.32 + quote@1.0.10 + rand@0.8.4 + rand_chacha@0.3.1 + rand_core@0.6.3 + rand_hc@0.3.1 + redox_syscall@0.2.10 + remove_dir_all@0.5.3 + rust-ini@0.17.0 + syn@1.0.81 + tempfile@3.2.0 + textwrap@0.11.0 + unicode-width@0.1.9 + unicode-xid@0.2.2 + wasi@0.10.2+wasi-snapshot-preview1 + winapi@0.3.9 + winapi-i686-pc-windows-gnu@0.4.0 + winapi-x86_64-pc-windows-gnu@0.4.0 " inherit cargo systemd toolchain-funcs @@ -49,16 +49,17 @@ inherit cargo systemd toolchain-funcs DESCRIPTION="Systemd unit generator for zram swap devices" HOMEPAGE="https://github.com/systemd/zram-generator" SRC_URI="https://github.com/systemd/zram-generator/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz - $(cargo_crate_uris ${CRATES})" + ${CARGO_CRATE_URIS}" LICENSE="Apache-2.0 Apache-2.0-with-LLVM-exceptions MIT" SLOT="0" KEYWORDS="amd64 ~arm64 ~ppc64 ~riscv" IUSE="+man" -BDEPEND="virtual/rust +BDEPEND=" virtual/pkgconfig - man? ( app-text/ronn-ng )" + man? ( app-text/ronn-ng ) +" QA_FLAGS_IGNORED="lib/systemd/system-generators/zram-generator" diff --git a/sys-block/dust/dust-1.1.1.ebuild b/sys-block/dust/dust-1.1.1-r1.ebuild index 4fea455abe5e..4fea455abe5e 100644 --- a/sys-block/dust/dust-1.1.1.ebuild +++ b/sys-block/dust/dust-1.1.1-r1.ebuild diff --git a/sys-block/thin-provisioning-tools/thin-provisioning-tools-1.0.10.ebuild b/sys-block/thin-provisioning-tools/thin-provisioning-tools-1.0.10-r1.ebuild index 6907ab3f3bb5..6907ab3f3bb5 100644 --- a/sys-block/thin-provisioning-tools/thin-provisioning-tools-1.0.10.ebuild +++ b/sys-block/thin-provisioning-tools/thin-provisioning-tools-1.0.10-r1.ebuild diff --git a/sys-block/thin-provisioning-tools/thin-provisioning-tools-1.0.13.ebuild b/sys-block/thin-provisioning-tools/thin-provisioning-tools-1.0.13-r1.ebuild index a8c7690f5066..a8c7690f5066 100644 --- a/sys-block/thin-provisioning-tools/thin-provisioning-tools-1.0.13.ebuild +++ b/sys-block/thin-provisioning-tools/thin-provisioning-tools-1.0.13-r1.ebuild diff --git a/sys-block/thin-provisioning-tools/thin-provisioning-tools-1.0.14.ebuild b/sys-block/thin-provisioning-tools/thin-provisioning-tools-1.0.14-r1.ebuild index c3920bb0d0ec..b7d67783148e 100644 --- a/sys-block/thin-provisioning-tools/thin-provisioning-tools-1.0.14.ebuild +++ b/sys-block/thin-provisioning-tools/thin-provisioning-tools-1.0.14-r1.ebuild @@ -149,7 +149,7 @@ declare -A GIT_CRATES=( LLVM_COMPAT=( {17..18} ) -inherit cargo llvm-r1 +inherit llvm-r1 cargo DESCRIPTION="A suite of tools for thin provisioning on Linux" HOMEPAGE="https://github.com/jthornber/thin-provisioning-tools" diff --git a/sys-block/thin-provisioning-tools/thin-provisioning-tools-1.1.0-r1.ebuild b/sys-block/thin-provisioning-tools/thin-provisioning-tools-1.1.0-r2.ebuild index 198b0bb7c620..226c8272ce46 100644 --- a/sys-block/thin-provisioning-tools/thin-provisioning-tools-1.1.0-r1.ebuild +++ b/sys-block/thin-provisioning-tools/thin-provisioning-tools-1.1.0-r2.ebuild @@ -150,7 +150,7 @@ declare -A GIT_CRATES=( LLVM_COMPAT=( {17..18} ) -inherit cargo llvm-r1 +inherit llvm-r1 cargo DESCRIPTION="A suite of tools for thin provisioning on Linux" HOMEPAGE="https://github.com/jthornber/thin-provisioning-tools" diff --git a/sys-devel/gcc/gcc-8.5.0-r1.ebuild b/sys-devel/gcc/gcc-8.5.0-r2.ebuild index c1ae8df40177..bb2c7eb73ab8 100644 --- a/sys-devel/gcc/gcc-8.5.0-r1.ebuild +++ b/sys-devel/gcc/gcc-8.5.0-r2.ebuild @@ -1,7 +1,7 @@ # Copyright 1999-2024 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 -EAPI="7" +EAPI="8" TOOLCHAIN_PATCH_SUFFIX="xz" TOOLCHAIN_PATCH_DEV="sam" diff --git a/sys-fs/bcachefs-tools/bcachefs-tools-1.11.0.ebuild b/sys-fs/bcachefs-tools/bcachefs-tools-1.11.0-r1.ebuild index 566129b51e44..a15809aa8729 100644 --- a/sys-fs/bcachefs-tools/bcachefs-tools-1.11.0.ebuild +++ b/sys-fs/bcachefs-tools/bcachefs-tools-1.11.0-r1.ebuild @@ -99,7 +99,7 @@ CRATES=" LLVM_COMPAT=( {16..18} ) PYTHON_COMPAT=( python3_{10..13} ) -inherit cargo flag-o-matic llvm-r1 python-any-r1 shell-completion toolchain-funcs unpacker +inherit llvm-r1 cargo flag-o-matic python-any-r1 shell-completion toolchain-funcs unpacker DESCRIPTION="Tools for bcachefs" HOMEPAGE="https://bcachefs.org/" @@ -145,7 +145,6 @@ BDEPEND=" ') elibc_musl? ( >=sys-libs/musl-1.2.5 ) virtual/pkgconfig - virtual/rust " QA_FLAGS_IGNORED="/sbin/bcachefs" diff --git a/sys-fs/bcachefs-tools/bcachefs-tools-1.13.0.ebuild b/sys-fs/bcachefs-tools/bcachefs-tools-1.13.0-r1.ebuild index 004251f02079..da8e0cb0bcd2 100644 --- a/sys-fs/bcachefs-tools/bcachefs-tools-1.13.0.ebuild +++ b/sys-fs/bcachefs-tools/bcachefs-tools-1.13.0-r1.ebuild @@ -90,7 +90,8 @@ CRATES=" LLVM_COMPAT=( {16..18} ) PYTHON_COMPAT=( python3_{10..13} ) VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/kentoverstreet.asc -inherit cargo flag-o-matic llvm-r1 python-any-r1 shell-completion toolchain-funcs unpacker verify-sig + +inherit llvm-r1 cargo flag-o-matic python-any-r1 shell-completion toolchain-funcs unpacker verify-sig DESCRIPTION="Tools for bcachefs" HOMEPAGE="https://bcachefs.org/" @@ -137,7 +138,6 @@ BDEPEND=" ') elibc_musl? ( >=sys-libs/musl-1.2.5 ) virtual/pkgconfig - virtual/rust verify-sig? ( >=sec-keys/openpgp-keys-kentoverstreet-20241012 ) " diff --git a/sys-fs/bcachefs-tools/bcachefs-tools-1.7.0.ebuild b/sys-fs/bcachefs-tools/bcachefs-tools-1.7.0-r1.ebuild index ca3cca9c03ae..413ed976120b 100644 --- a/sys-fs/bcachefs-tools/bcachefs-tools-1.7.0.ebuild +++ b/sys-fs/bcachefs-tools/bcachefs-tools-1.7.0-r1.ebuild @@ -95,7 +95,7 @@ CRATES=" LLVM_COMPAT=( {16..18} ) PYTHON_COMPAT=( python3_{10..12} ) -inherit cargo flag-o-matic llvm-r1 multiprocessing python-any-r1 shell-completion toolchain-funcs unpacker +inherit llvm-r1 cargo flag-o-matic multiprocessing python-any-r1 shell-completion toolchain-funcs unpacker DESCRIPTION="Tools for bcachefs" HOMEPAGE="https://bcachefs.org/" @@ -144,7 +144,6 @@ BDEPEND=" sys-devel/clang:${LLVM_SLOT} ') virtual/pkgconfig - virtual/rust " QA_FLAGS_IGNORED="/sbin/bcachefs" diff --git a/sys-fs/bcachefs-tools/bcachefs-tools-1.9.4.ebuild b/sys-fs/bcachefs-tools/bcachefs-tools-1.9.4-r1.ebuild index 7e5aa241533f..7a9612a910b2 100644 --- a/sys-fs/bcachefs-tools/bcachefs-tools-1.9.4.ebuild +++ b/sys-fs/bcachefs-tools/bcachefs-tools-1.9.4-r1.ebuild @@ -102,7 +102,7 @@ CRATES=" LLVM_COMPAT=( {16..18} ) PYTHON_COMPAT=( python3_{10..13} ) -inherit cargo flag-o-matic llvm-r1 multiprocessing python-any-r1 shell-completion toolchain-funcs unpacker +inherit llvm-r1 cargo flag-o-matic multiprocessing python-any-r1 shell-completion toolchain-funcs unpacker DESCRIPTION="Tools for bcachefs" HOMEPAGE="https://bcachefs.org/" @@ -151,7 +151,6 @@ BDEPEND=" sys-devel/clang:${LLVM_SLOT} ') virtual/pkgconfig - virtual/rust " QA_FLAGS_IGNORED="/sbin/bcachefs" diff --git a/sys-fs/bcachefs-tools/bcachefs-tools-9999.ebuild b/sys-fs/bcachefs-tools/bcachefs-tools-9999.ebuild index 0d04e49d8739..1c31662fbd04 100644 --- a/sys-fs/bcachefs-tools/bcachefs-tools-9999.ebuild +++ b/sys-fs/bcachefs-tools/bcachefs-tools-9999.ebuild @@ -137,7 +137,6 @@ BDEPEND=" ') elibc_musl? ( >=sys-libs/musl-1.2.5 ) virtual/pkgconfig - virtual/rust verify-sig? ( >=sec-keys/openpgp-keys-kentoverstreet-20241012 ) " diff --git a/sys-kernel/scx/scx-1.0.5-r1.ebuild b/sys-kernel/scx/scx-1.0.5-r2.ebuild index 6956284d3b74..b2528d6fa81e 100644 --- a/sys-kernel/scx/scx-1.0.5-r1.ebuild +++ b/sys-kernel/scx/scx-1.0.5-r2.ebuild @@ -294,7 +294,9 @@ CRATES=" zvariant_utils@2.1.0 " -inherit linux-info cargo rust-toolchain llvm-r1 meson +RUST_MIN_VER="1.74.1" + +inherit llvm-r1 cargo linux-info meson rust-toolchain DESCRIPTION="sched_ext schedulers and tools" HOMEPAGE="https://github.com/sched-ext/scx" @@ -329,7 +331,6 @@ BDEPEND=" $(llvm_gen_dep ' sys-devel/clang:${LLVM_SLOT}=[llvm_targets_BPF(-)] ') - >=virtual/rust-1.72 " CONFIG_CHECK=" @@ -345,6 +346,7 @@ CONFIG_CHECK=" pkg_setup() { linux-info_pkg_setup llvm-r1_pkg_setup + rust_pkg_setup } src_prepare() { diff --git a/sys-kernel/scx/scx-1.0.6.ebuild b/sys-kernel/scx/scx-1.0.6-r1.ebuild index 9d15161ace1f..4b40f8f109f9 100644 --- a/sys-kernel/scx/scx-1.0.6.ebuild +++ b/sys-kernel/scx/scx-1.0.6-r1.ebuild @@ -298,7 +298,9 @@ CRATES=" zvariant_utils@2.1.0 " -inherit linux-info cargo rust-toolchain llvm-r1 meson +RUST_MIN_VER="1.74.1" + +inherit llvm-r1 linux-info cargo rust-toolchain meson DESCRIPTION="sched_ext schedulers and tools" HOMEPAGE="https://github.com/sched-ext/scx" @@ -333,7 +335,6 @@ BDEPEND=" $(llvm_gen_dep ' sys-devel/clang:${LLVM_SLOT}=[llvm_targets_BPF(-)] ') - >=virtual/rust-1.72 " CONFIG_CHECK=" @@ -349,6 +350,7 @@ CONFIG_CHECK=" pkg_setup() { linux-info_pkg_setup llvm-r1_pkg_setup + rust_pkg_setup } src_prepare() { diff --git a/sys-libs/pkgcraft/pkgcraft-0.0.15.ebuild b/sys-libs/pkgcraft/pkgcraft-0.0.14-r1.ebuild index a964805ae71c..07b4580ff296 100644 --- a/sys-libs/pkgcraft/pkgcraft-0.0.15.ebuild +++ b/sys-libs/pkgcraft/pkgcraft-0.0.14-r1.ebuild @@ -4,6 +4,7 @@ EAPI=8 CRATES=" " + inherit edo cargo toolchain-funcs DESCRIPTION="C library for pkgcraft" @@ -35,7 +36,6 @@ RESTRICT="!test? ( test )" BDEPEND+=" dev-util/cargo-c sys-devel/clang - >=virtual/rust-1.76 " QA_FLAGS_IGNORED="usr/lib.*/libpkgcraft.so.*" diff --git a/sys-libs/pkgcraft/pkgcraft-0.0.14.ebuild b/sys-libs/pkgcraft/pkgcraft-0.0.15-r1.ebuild index 5745de4a1c9f..c34dff61599f 100644 --- a/sys-libs/pkgcraft/pkgcraft-0.0.14.ebuild +++ b/sys-libs/pkgcraft/pkgcraft-0.0.15-r1.ebuild @@ -4,6 +4,8 @@ EAPI=8 CRATES=" " +RUST_MIN_VER="1.77.1" + inherit edo cargo toolchain-funcs DESCRIPTION="C library for pkgcraft" @@ -35,7 +37,6 @@ RESTRICT="!test? ( test )" BDEPEND+=" dev-util/cargo-c sys-devel/clang - >=virtual/rust-1.71 " QA_FLAGS_IGNORED="usr/lib.*/libpkgcraft.so.*" diff --git a/sys-libs/pkgcraft/pkgcraft-0.0.16.ebuild b/sys-libs/pkgcraft/pkgcraft-0.0.16-r1.ebuild index a964805ae71c..0fe19eb425da 100644 --- a/sys-libs/pkgcraft/pkgcraft-0.0.16.ebuild +++ b/sys-libs/pkgcraft/pkgcraft-0.0.16-r1.ebuild @@ -4,6 +4,9 @@ EAPI=8 CRATES=" " + +RUST_MIN_VER="1.77.1" + inherit edo cargo toolchain-funcs DESCRIPTION="C library for pkgcraft" @@ -35,7 +38,6 @@ RESTRICT="!test? ( test )" BDEPEND+=" dev-util/cargo-c sys-devel/clang - >=virtual/rust-1.76 " QA_FLAGS_IGNORED="usr/lib.*/libpkgcraft.so.*" diff --git a/sys-libs/pkgcraft/pkgcraft-9999.ebuild b/sys-libs/pkgcraft/pkgcraft-9999.ebuild index a964805ae71c..024776672574 100644 --- a/sys-libs/pkgcraft/pkgcraft-9999.ebuild +++ b/sys-libs/pkgcraft/pkgcraft-9999.ebuild @@ -35,7 +35,6 @@ RESTRICT="!test? ( test )" BDEPEND+=" dev-util/cargo-c sys-devel/clang - >=virtual/rust-1.76 " QA_FLAGS_IGNORED="usr/lib.*/libpkgcraft.so.*" diff --git a/sys-power/wluma/wluma-4.3.0-r2.ebuild b/sys-power/wluma/wluma-4.3.0-r3.ebuild index 1956879e63c8..1956879e63c8 100644 --- a/sys-power/wluma/wluma-4.3.0-r2.ebuild +++ b/sys-power/wluma/wluma-4.3.0-r3.ebuild diff --git a/sys-power/wluma/wluma-4.4.0-r1.ebuild b/sys-power/wluma/wluma-4.4.0-r2.ebuild index dbaaedafd98b..dbaaedafd98b 100644 --- a/sys-power/wluma/wluma-4.4.0-r1.ebuild +++ b/sys-power/wluma/wluma-4.4.0-r2.ebuild diff --git a/sys-process/below/below-0.8.1.ebuild b/sys-process/below/below-0.8.1-r1.ebuild index 78c379679c21..95c1f45c601e 100644 --- a/sys-process/below/below-0.8.1.ebuild +++ b/sys-process/below/below-0.8.1-r1.ebuild @@ -294,6 +294,8 @@ CRATES=" zstd@0.13.0 " +RUST_USEDEP="rustfmt" + inherit cargo systemd DESCRIPTION="An interactive tool to view and record historical system data" @@ -313,7 +315,6 @@ KEYWORDS="amd64 ~ppc64" BDEPEND=" sys-devel/clang virtual/pkgconfig - >=virtual/rust-1.56[rustfmt] " RDEPEND=" virtual/libelf diff --git a/sys-process/bottom/bottom-0.10.1.ebuild b/sys-process/bottom/bottom-0.10.1-r1.ebuild index 338d07e9e117..338d07e9e117 100644 --- a/sys-process/bottom/bottom-0.10.1.ebuild +++ b/sys-process/bottom/bottom-0.10.1-r1.ebuild diff --git a/sys-process/bottom/bottom-0.10.2.ebuild b/sys-process/bottom/bottom-0.10.2-r1.ebuild index abd96a27fc25..abd96a27fc25 100644 --- a/sys-process/bottom/bottom-0.10.2.ebuild +++ b/sys-process/bottom/bottom-0.10.2-r1.ebuild diff --git a/sys-process/procs/procs-0.14.5.ebuild b/sys-process/procs/procs-0.14.5-r1.ebuild index 5447e7e7fc4c..8d16de417fa8 100644 --- a/sys-process/procs/procs-0.14.5.ebuild +++ b/sys-process/procs/procs-0.14.5-r1.ebuild @@ -286,6 +286,8 @@ CRATES=" xattr@1.2.0 " +RUST_MIN_VER="1.74.1" + inherit bash-completion-r1 cargo DESCRIPTION="Modern replacement for ps" @@ -301,8 +303,6 @@ LICENSE+=" Apache-2.0 BSD ISC MIT MPL-2.0 Unicode-DFS-2016" SLOT="0" KEYWORDS="~amd64" -BDEPEND=">=virtual/rust-1.70" - QA_FLAGS_IGNORED="usr/bin/procs" src_install() { diff --git a/sys-process/procs/procs-0.14.6.ebuild b/sys-process/procs/procs-0.14.6-r1.ebuild index cf8301a9d24c..b36f1a0b3945 100644 --- a/sys-process/procs/procs-0.14.6.ebuild +++ b/sys-process/procs/procs-0.14.6-r1.ebuild @@ -293,6 +293,8 @@ CRATES=" xattr@1.3.1 " +RUST_MIN_VER="1.74.1" + inherit bash-completion-r1 cargo DESCRIPTION="Modern replacement for ps" @@ -308,8 +310,6 @@ LICENSE+=" Apache-2.0 BSD ISC MIT MPL-2.0 Unicode-DFS-2016" SLOT="0" KEYWORDS="~amd64 ~ppc64" -BDEPEND=">=virtual/rust-1.74" - QA_FLAGS_IGNORED="usr/bin/procs" src_install() { diff --git a/www-apps/nextcloud-notify_push/nextcloud-notify_push-0.7.0.ebuild b/www-apps/nextcloud-notify_push/nextcloud-notify_push-0.7.0-r1.ebuild index d5f61873f5fb..d5f61873f5fb 100644 --- a/www-apps/nextcloud-notify_push/nextcloud-notify_push-0.7.0.ebuild +++ b/www-apps/nextcloud-notify_push/nextcloud-notify_push-0.7.0-r1.ebuild diff --git a/www-client/chromium/chromium-129.0.6668.100.ebuild b/www-client/chromium/chromium-129.0.6668.100-r1.ebuild index 0e199853bf36..e4fa73268149 100644 --- a/www-client/chromium/chromium-129.0.6668.100.ebuild +++ b/www-client/chromium/chromium-129.0.6668.100-r1.ebuild @@ -25,7 +25,6 @@ EAPI=8 # no reason not to. Todo: Re-enable USE=system-ffmpeg. GN_MIN_VER=0.2165 -RUST_MIN_VER=1.78.0 # chromium-tools/get-chromium-toolchain-strings.sh GOOGLE_CLANG_VER=llvmorg-20-init-1009-g7088a5ed-10 GOOGLE_RUST_VER=595316b4006932405a63862d8fe65f71a6356293-5 @@ -38,15 +37,15 @@ CHROMIUM_LANGS="af am ar bg bn ca cs da de el en-GB es es-419 et fa fi fil fr gu hi hr hu id it ja kn ko lt lv ml mr ms nb nl pl pt-BR pt-PT ro ru sk sl sr sv sw ta te th tr uk ur vi zh-CN zh-TW" -# While prerelease llvm is actually used in the google build, until we have a -# sane way to select 'rust built with this llvm slot' that isn't stable and testing -# subslots we will have to restrict LLVM_COMPAT to stable and testing keywords. LLVM_COMPAT=( {17..18} ) PYTHON_COMPAT=( python3_{11..13} ) PYTHON_REQ_USE="xml(+)" +RUST_MIN_VER=1.78.0 +RUST_NEEDS_LLVM=1 +RUST_OPTIONAL=1 -inherit check-reqs chromium-2 desktop flag-o-matic llvm-utils ninja-utils pax-utils -inherit python-any-r1 qmake-utils readme.gentoo-r1 systemd toolchain-funcs virtualx xdg-utils +inherit check-reqs chromium-2 desktop flag-o-matic llvm-r1 ninja-utils pax-utils +inherit python-any-r1 qmake-utils readme.gentoo-r1 rust systemd toolchain-funcs virtualx xdg-utils DESCRIPTION="Open-source version of Google Chrome web browser" HOMEPAGE="https://www.chromium.org/" @@ -182,29 +181,6 @@ DEPEND="${COMMON_DEPEND} ) " -depend_clang_llvm_version() { - echo "sys-devel/clang:$1" - echo "sys-devel/llvm:$1" - echo "=sys-devel/lld-$1*" - echo "virtual/rust:0/llvm-${1}[profiler(-)]" - echo "pgo? ( sys-libs/compiler-rt-sanitizers:${1}[profile] )" -} - -# Parse LLVM_COMPAT and generate a usedep for each version -depend_clang_llvm_versions() { - if [[ ${#LLVM_COMPAT[@]} -eq 0 ]]; then - depend_clang_llvm_version ${#LLVM_COMPAT[0]} - else - echo "|| (" - for (( i=${#LLVM_COMPAT[@]}-1 ; i>=0 ; i-- )); do - echo "(" - depend_clang_llvm_version ${LLVM_COMPAT[i]} - echo ")" - done - echo ")" - fi -} - BDEPEND=" ${COMMON_SNAPSHOT_DEPEND} ${PYTHON_DEPS} @@ -217,7 +193,12 @@ BDEPEND=" qt6? ( dev-qt/qtbase:6 ) ) system-toolchain? ( - $(depend_clang_llvm_versions) + $(llvm_gen_dep " + sys-devel/clang:\${LLVM_SLOT} + sys-devel/llvm:\${LLVM_SLOT} + sys-devel/lld:\${LLVM_SLOT} + ") + ${RUST_DEPEND} pgo? ( >=dev-python/selenium-3.141.0 >=dev-util/web_page_replay_go-20220314 @@ -313,47 +294,6 @@ pkg_pretend() { fi } -# Chromium should build with any version of clang that we support -# but we may need to pick the "best" one for a build (highest installed, -# rust is built against it, etc.) -# Check each slot in LLVM_COMPAT to see if clang/llvm/lld are available -# and output the _highest_ slot that is actually available on a system. -chromium_pick_llvm_slot() { - # LLVM_COMPAT is always going to be oldest to newest (or one value) - # let's flip it and check from newest to oldest and return the first one we find. - local slot - for (( i=${#LLVM_COMPAT[@]}-1 ; i>=0 ; i-- )); do - slot=${LLVM_COMPAT[i]} - if has_version "sys-devel/clang:${slot}" && \ - has_version "sys-devel/llvm:${slot}" && \ - has_version "sys-devel/lld:${slot}" && \ - has_version "virtual/rust:0/llvm-${slot}" && \ - ( ! use pgo || has_version "sys-libs/compiler-rt-sanitizers:${slot}" ) ; then - - echo "${slot}" - return - fi - done - - die_msg=" -No suitable clang/llvm/lld slot found. -Slots checked: ${LLVM_COMPAT[*]}. -" - die "${die_msg}" -} - -# We need the rust version in src_configure and pkg_setup -chromium_extract_rust_version() { - [[ ${MERGE_TYPE} == binary ]] && return - local rustc_version=( $(eselect --brief rust show 2>/dev/null) ) - rustc_version=${rustc_version[0]#rust-bin-} - rustc_version=${rustc_version#rust-} - - [[ -z "${rustc_version}" ]] && die "Failed to determine rust version, check 'eselect rust' output" - - echo $rustc_version -} - pkg_setup() { if [[ ${MERGE_TYPE} != binary ]]; then # The pre_build_checks are all about compilation resources, no need to run it for a binpkg @@ -361,10 +301,7 @@ pkg_setup() { if use system-toolchain; then # The linux:unbundle toolchain in GN grabs CC, CXX, CPP (etc) from the environment - # We'll set these to clang here then use llvm-utils functions to very explicitly set these - # to a sane value. # This is effectively the 'force-clang' path if GCC support is re-added. - # TODO: check if the user has already selected a specific impl via make.conf and respect that. if ! tc-is-lto && use official; then einfo "USE=official selected and LTO not detected." einfo "It is _highly_ recommended that LTO be enabled for performance reasons" @@ -378,8 +315,7 @@ pkg_setup() { die "Please switch to a different linker." fi - LLVM_SLOT=$(chromium_pick_llvm_slot) - export LLVM_SLOT # used in src_configure for rust-y business + # We're forcing clang here; user choice is respected via llvm_slot_x USE AR=llvm-ar CPP="${CHOST}-clang++ -E" NM=llvm-nm @@ -391,45 +327,8 @@ pkg_setup() { CPP="${CBUILD}-clang++ -E" fi - # The llvm-r1_pkg_setup we have at home. - # We prepend the path _first_ to explicitly use the selected slot. - llvm_prepend_path "${LLVM_SLOT}" - - llvm_fix_clang_version CC CPP CXX - llvm_fix_tool_path ADDR2LINE AR AS LD NM OBJCOPY OBJDUMP RANLIB - llvm_fix_tool_path READELF STRINGS STRIP - - # Set LLVM_CONFIG to help Meson (bug #907965) but only do it - # for empty ESYSROOT (as a proxy for "are we cross-compiling?"). - if [[ -z ${ESYSROOT} ]] ; then - llvm_fix_tool_path LLVM_CONFIG - fi - - einfo "Using LLVM/Clang slot ${LLVM_SLOT} to build" - - local rustc_ver=$(chromium_extract_rust_version) - if ver_test "${rustc_ver}" -lt "${RUST_MIN_VER}"; then - eerror "Rust >=${RUST_MIN_VER} is required to build Chromium" - eerror "The currently selected version is ${rustc_ver}" - eerror "Please run \`eselect rust\` and select an appropriate Rust." - die "Selected Rust version is too old" - else - einfo "Using Rust ${rustc_ver} to build" - fi - - # Chromium requires the Rust profiler library while setting up its build environment. - # Since a standard Rust comes with the profiler, instead of patching it out (build/rust/std/BUILD.gn#L103) - # we'll just do a sanity check on the selected slot. - # The -bin always contains profiler support, so we only need to check for the non-bin version. - if [[ "$(eselect --brief rust show 2>/dev/null)" != *"bin"* ]]; then - local rust_lib_path="${EPREFIX}$(rustc --print target-libdir)" - local profiler_lib=$(find "${rust_lib_path}" -name "libprofiler_builtins-*.rlib" -print -quit) - if [[ -z "${profiler_lib}" ]]; then - eerror "Rust ${rustc_ver} is missing the profiler library." - eerror "ebuild dependency resolution should have ensured that a Rust with the profiler was installed." - die "Please \`eselect\` a Rust slot that has the profiler." - fi - fi + llvm-r1_pkg_setup + rust_pkg_setup fi # Users should never hit this, it's purely a development convenience @@ -886,23 +785,15 @@ chromium_configure() { # rust_bindgen_root = directory with `bin/bindgen` beneath it. myconf_gn+=" rust_bindgen_root=\"${EPREFIX}/usr/\"" - # from get_llvm_prefix - local prefix=${ESYSROOT} - [[ ${1} == -b ]] && prefix=${BROOT} - myconf_gn+=" bindgen_libclang_path=\"${prefix}/usr/lib/llvm/${LLVM_SLOT}/$(get_libdir)\"" + myconf_gn+=" bindgen_libclang_path=\"$(get_llvm_prefix)/$(get_libdir)\"" # We don't need to set 'clang_base_bath' for anything in our build # and it defaults to the google toolchain location. Instead provide a location # to where system clang lives sot that bindgen can find system headers (e.g. stddef.h) myconf_gn+=" clang_base_path=\"${EPREFIX}/usr/lib/clang/${LLVM_SLOT}/\"" # We need to provide this to GN in both the path to rust _and_ the version - local rustc_ver=$(chromium_extract_rust_version) - if [[ "$(eselect --brief rust show 2>/dev/null)" == *"bin"* ]]; then - myconf_gn+=" rust_sysroot_absolute=\"${EPREFIX}/opt/rust-bin-${rustc_ver}/\"" - else - myconf_gn+=" rust_sysroot_absolute=\"${EPREFIX}/usr/lib/rust/${rustc_ver}/\"" - fi - myconf_gn+=" rustc_version=\"${rustc_ver}\"" + myconf_gn+=" rust_sysroot_absolute=\"$(get_rust_prefix)\"" + myconf_gn+=" rustc_version=\"${RUST_SLOT}\"" fi # GN needs explicit config for Debug/Release as opposed to inferring it from build directory. diff --git a/www-client/chromium/chromium-130.0.6723.116.ebuild b/www-client/chromium/chromium-130.0.6723.116-r1.ebuild index b8702db794c7..1ffd8810c364 100644 --- a/www-client/chromium/chromium-130.0.6723.116.ebuild +++ b/www-client/chromium/chromium-130.0.6723.116-r1.ebuild @@ -9,9 +9,7 @@ EAPI=8 # Use 132 as a base for new official tarballs. GN_MIN_VER=0.2165 -RUST_MIN_VER=1.78.0 # chromium-tools/get-chromium-toolchain-strings.py -TEST_FONT=f26f29c9d3bfae588207bbc9762de8d142e58935c62a86f67332819b15203b35 VIRTUALX_REQUIRED="pgo" @@ -19,20 +17,19 @@ CHROMIUM_LANGS="af am ar bg bn ca cs da de el en-GB es es-419 et fa fi fil fr gu hi hr hu id it ja kn ko lt lv ml mr ms nb nl pl pt-BR pt-PT ro ru sk sl sr sv sw ta te th tr uk ur vi zh-CN zh-TW" -# While prerelease llvm is actually used in the google build, until we have a -# sane way to select 'rust built with this llvm slot' that isn't stable and testing -# subslots we will have to restrict LLVM_COMPAT to stable and testing keywords. -# Requires 18.1.8 or 19.1.1 (or newer) for ppc64 LLVM_COMPAT=( 18 19 ) +RUST_NEEDS_LLVM="yes please" PYTHON_COMPAT=( python3_{11..13} ) PYTHON_REQ_USE="xml(+)" +RUST_MIN_VER=1.78.0 -inherit check-reqs chromium-2 desktop flag-o-matic llvm-utils multiprocessing ninja-utils pax-utils -inherit python-any-r1 qmake-utils readme.gentoo-r1 systemd toolchain-funcs virtualx xdg-utils +inherit check-reqs chromium-2 desktop flag-o-matic llvm-r1 multiprocessing ninja-utils pax-utils +inherit python-any-r1 qmake-utils readme.gentoo-r1 rust systemd toolchain-funcs virtualx xdg-utils DESCRIPTION="Open-source version of Google Chrome web browser" HOMEPAGE="https://www.chromium.org/" PPC64_HASH="a85b64f07b489b8c6fdb13ecf79c16c56c560fc6" +TEST_FONT=f26f29c9d3bfae588207bbc9762de8d142e58935c62a86f67332819b15203b35 PATCH_V="${PV%%\.*}-2" SRC_URI="https://chromium-tarballs.distfiles.gentoo.org/${P}.tar.xz -> ${P}-gentoo.tar.xz https://gitlab.com/Matt.Jolly/chromium-patches/-/archive/${PATCH_V}/chromium-patches-${PATCH_V}.tar.bz2 @@ -53,6 +50,7 @@ if [[ ${SLOT} != "0/dev" ]]; then KEYWORDS="~amd64 ~arm64 ~ppc64" fi + IUSE_SYSTEM_LIBS="+system-harfbuzz +system-icu +system-png +system-zstd" IUSE="+X ${IUSE_SYSTEM_LIBS} bindist cups debug ffmpeg-chromium gtk4 +hangouts headless kerberos +official pax-kernel pgo +proprietary-codecs pulseaudio" IUSE+=" qt5 qt6 +screencast selinux test +vaapi +wayland +widevine cpu_flags_ppc_vsx3" @@ -167,29 +165,6 @@ DEPEND="${COMMON_DEPEND} ) " -depend_clang_llvm_version() { - echo "sys-devel/clang:$1" - echo "sys-devel/llvm:$1" - echo "=sys-devel/lld-$1*" - echo "virtual/rust:0/llvm-${1}[profiler(-)]" - echo "pgo? ( sys-libs/compiler-rt-sanitizers:${1}[profile] )" -} - -# Parse LLVM_COMPAT and generate a usedep for each version -depend_clang_llvm_versions() { - if [[ ${#LLVM_COMPAT[@]} -eq 0 ]]; then - depend_clang_llvm_version ${#LLVM_COMPAT[0]} - else - echo "|| (" - for (( i=${#LLVM_COMPAT[@]}-1 ; i>=0 ; i-- )); do - echo "(" - depend_clang_llvm_version ${LLVM_COMPAT[i]} - echo ")" - done - echo ")" - fi -} - BDEPEND=" ${COMMON_SNAPSHOT_DEPEND} ${PYTHON_DEPS} @@ -201,7 +176,11 @@ BDEPEND=" qt5? ( dev-qt/qtcore:5 ) qt6? ( dev-qt/qtbase:6 ) ) - $(depend_clang_llvm_versions) + $(llvm_gen_dep " + sys-devel/clang:\${LLVM_SLOT} + sys-devel/llvm:\${LLVM_SLOT} + sys-devel/lld:\${LLVM_SLOT} + ") pgo? ( >=dev-python/selenium-3.141.0 >=dev-util/web_page_replay_go-20220314 @@ -296,57 +275,13 @@ pkg_pretend() { fi } -# Chromium should build with any version of clang that we support -# but we may need to pick the "best" one for a build (highest installed, -# rust is built against it, etc.) -# Check each slot in LLVM_COMPAT to see if clang/llvm/lld are available -# and output the _highest_ slot that is actually available on a system. -chromium_pick_llvm_slot() { - # LLVM_COMPAT is always going to be oldest to newest (or one value) - # let's flip it and check from newest to oldest and return the first one we find. - local slot - for (( i=${#LLVM_COMPAT[@]}-1 ; i>=0 ; i-- )); do - slot=${LLVM_COMPAT[i]} - if has_version "sys-devel/clang:${slot}" && \ - has_version "sys-devel/llvm:${slot}" && \ - has_version "sys-devel/lld:${slot}" && \ - has_version "virtual/rust:0/llvm-${slot}" && \ - ( ! use pgo || has_version "sys-libs/compiler-rt-sanitizers:${slot}" ) ; then - - echo "${slot}" - return - fi - done - - die_msg=" -No suitable clang/llvm/lld slot found. -Slots checked: ${LLVM_COMPAT[*]}. -" - die "${die_msg}" -} - -# We need the rust version in src_configure and pkg_setup -chromium_extract_rust_version() { - [[ ${MERGE_TYPE} == binary ]] && return - local rustc_version=( $(eselect --brief rust show 2>/dev/null) ) - rustc_version=${rustc_version[0]#rust-bin-} - rustc_version=${rustc_version#rust-} - - [[ -z "${rustc_version}" ]] && die "Failed to determine rust version, check 'eselect rust' output" - - echo $rustc_version -} - pkg_setup() { if [[ ${MERGE_TYPE} != binary ]]; then # The pre_build_checks are all about compilation resources, no need to run it for a binpkg pre_build_checks # The linux:unbundle toolchain in GN grabs CC, CXX, CPP (etc) from the environment - # We'll set these to clang here then use llvm-utils functions to very explicitly set these - # to a sane value. # This is effectively the 'force-clang' path if GCC support is re-added. - # TODO: check if the user has already selected a specific impl via make.conf and respect that. use_lto="false" if tc-is-lto; then use_lto="true" @@ -374,8 +309,7 @@ pkg_setup() { die "Please switch to a different linker." fi - LLVM_SLOT=$(chromium_pick_llvm_slot) - export LLVM_SLOT # used in src_configure for rust-y business + # We're forcing Clang here. User choice is respected via llvm_slot_# USE flags. AR=llvm-ar CPP="${CHOST}-clang++ -E" NM=llvm-nm @@ -387,52 +321,16 @@ pkg_setup() { CPP="${CBUILD}-clang++ -E" fi - # The llvm-r1_pkg_setup we have at home. - # We prepend the path _first_ to explicitly use the selected slot. - llvm_prepend_path "${LLVM_SLOT}" - - llvm_fix_clang_version CC CPP CXX - llvm_fix_tool_path ADDR2LINE AR AS LD NM OBJCOPY OBJDUMP RANLIB - llvm_fix_tool_path READELF STRINGS STRIP - - # Set LLVM_CONFIG to help Meson (bug #907965) but only do it - # for empty ESYSROOT (as a proxy for "are we cross-compiling?"). - if [[ -z ${ESYSROOT} ]] ; then - llvm_fix_tool_path LLVM_CONFIG - fi + llvm-r1_pkg_setup + rust_pkg_setup einfo "Using LLVM/Clang slot ${LLVM_SLOT} to build" - - rustc_ver=$(chromium_extract_rust_version) - if ver_test "${rustc_ver}" -lt "${RUST_MIN_VER}"; then - eerror "Rust >=${RUST_MIN_VER} is required to build Chromium" - eerror "The currently selected version is ${rustc_ver}" - eerror "Please run \`eselect rust\` and select an appropriate Rust." - die "Selected Rust version is too old" - else - einfo "Using Rust ${rustc_ver} to build" - fi - - export rustc_ver # used in src_configure, may as well avoid calling it again + einfo "Using Rust slot ${RUST_SLOT}, ${RUST_TYPE} to build" # I hate doing this but upstream Rust have yet to come up with a better solution for # us poor packagers. Required for Split LTO units, which are required for CFI. export RUSTC_BOOTSTRAP=1 - # Chromium requires the Rust profiler library while setting up its build environment. - # Since a standard Rust comes with the profiler, instead of patching it out (build/rust/std/BUILD.gn#L103) - # we'll just do a sanity check on the selected slot. - # The -bin always contains profiler support, so we only need to check for the non-bin version. - if [[ "$(eselect --brief rust show 2>/dev/null)" != *"bin"* ]]; then - local rust_lib_path="${EPREFIX}$(rustc --print target-libdir)" - local profiler_lib=$(find "${rust_lib_path}" -name "libprofiler_builtins-*.rlib" -print -quit) - if [[ -z "${profiler_lib}" ]]; then - eerror "Rust ${rustc_ver} is missing the profiler library." - eerror "ebuild dependency resolution should have ensured that a Rust with the profiler was installed." - die "Please \`eselect\` a Rust slot that has the profiler." - fi - fi - # Users should never hit this, it's purely a development convenience if ver_test $(gn --version || die) -lt ${GN_MIN_VER}; then die "dev-build/gn >= ${GN_MIN_VER} is required to build this Chromium" @@ -443,7 +341,7 @@ pkg_setup() { } src_unpack() { - unpack ${P}-gentoo.tar.xz + unpack ${P}.tar.xz unpack chromium-patches-${PATCH_V}.tar.bz2 use pgo && unpack chromium-profiler-0.2.tar @@ -452,11 +350,10 @@ src_unpack() { # A new testdata tarball is available for each release; but testfonts tend to remain stable # for the duration of a release. # This unpacks directly into/over ${WORKDIR}/${P} so we can just use `unpack`. - unpack ${P}-testdata-gentoo.tar.xz + unpack ${P}-testdata.tar.xz # This just contains a bunch of font files that need to be unpacked (or moved) to the correct location. local testfonts_dir="${WORKDIR}/${P}/third_party/test_fonts" - local testfonts_tar="${DISTDIR}/${PN}-testfonts-${TEST_FONT:0:10}.tar.gz" - tar xf "${testfonts_tar}" -C "${testfonts_dir}" || die "Failed to unpack testfonts" + tar xf "${DISTDIR}/${P%%\.*}-testfonts.tar.gz" -C "${testfonts_dir}" || die "Failed to unpack testfonts" fi if use ppc64; then @@ -928,22 +825,15 @@ chromium_configure() { # rust_bindgen_root = directory with `bin/bindgen` beneath it. myconf_gn+=" rust_bindgen_root=\"${EPREFIX}/usr/\"" - # from get_llvm_prefix - local prefix=${ESYSROOT} - [[ ${1} == -b ]] && prefix=${BROOT} - myconf_gn+=" bindgen_libclang_path=\"${prefix}/usr/lib/llvm/${LLVM_SLOT}/$(get_libdir)\"" + myconf_gn+=" bindgen_libclang_path=\"$(get_llvm_prefix)/$(get_libdir)\"" # We don't need to set 'clang_base_bath' for anything in our build # and it defaults to the google toolchain location. Instead provide a location # to where system clang lives sot that bindgen can find system headers (e.g. stddef.h) myconf_gn+=" clang_base_path=\"${EPREFIX}/usr/lib/clang/${LLVM_SLOT}/\"" # We need to provide this to GN in both the path to rust _and_ the version - if [[ "$(eselect --brief rust show 2>/dev/null)" == *"bin"* ]]; then - myconf_gn+=" rust_sysroot_absolute=\"${EPREFIX}/opt/rust-bin-${rustc_ver}/\"" - else - myconf_gn+=" rust_sysroot_absolute=\"${EPREFIX}/usr/lib/rust/${rustc_ver}/\"" - fi - myconf_gn+=" rustc_version=\"${rustc_ver}\"" + myconf_gn+=" rust_sysroot_absolute=\"$(get_rust_prefix)\"" + myconf_gn+=" rustc_version=\"${RUST_SLOT}\"" # GN needs explicit config for Debug/Release as opposed to inferring it from build directory. myconf_gn+=" is_debug=false" @@ -1340,35 +1230,7 @@ src_test() { StringPieceTest.OutOfBoundsDeath ThreadPoolEnvironmentConfig.CanUseBackgroundPriorityForWorker ValuesUtilTest.FilePath - # Gentoo-specific - AlternateTestParams/PartitionAllocDeathTest.RepeatedAllocReturnNullDirect/0 - AlternateTestParams/PartitionAllocDeathTest.RepeatedAllocReturnNullDirect/1 - AlternateTestParams/PartitionAllocDeathTest.RepeatedAllocReturnNullDirect/2 - AlternateTestParams/PartitionAllocDeathTest.RepeatedAllocReturnNullDirect/3 - AlternateTestParams/PartitionAllocDeathTest.RepeatedReallocReturnNullDirect/0 - AlternateTestParams/PartitionAllocDeathTest.RepeatedReallocReturnNullDirect/1 - AlternateTestParams/PartitionAllocDeathTest.RepeatedReallocReturnNullDirect/2 - AlternateTestParams/PartitionAllocDeathTest.RepeatedReallocReturnNullDirect/3 - CharacterEncodingTest.GetCanonicalEncodingNameByAliasName - CheckExitCodeAfterSignalHandlerDeathTest.CheckSIGFPE - CheckExitCodeAfterSignalHandlerDeathTest.CheckSIGILL - CheckExitCodeAfterSignalHandlerDeathTest.CheckSIGSEGV - CheckExitCodeAfterSignalHandlerDeathTest.CheckSIGSEGVNonCanonicalAddress - FilePathTest.FromUTF8Unsafe_And_AsUTF8Unsafe - ICUStringConversionsTest.ConvertToUtf8AndNormalize - NumberFormattingTest.FormatPercent - PathServiceTest.CheckedGetFailure - PlatformThreadTest.CanChangeThreadType - StackCanary.ChangingStackCanaryCrashesOnReturn - StackTraceDeathTest.StackDumpSignalHandlerIsMallocFree - SysStrings.SysNativeMBAndWide - SysStrings.SysNativeMBToWide - SysStrings.SysWideToNativeMB - TestLauncherTools.TruncateSnippetFocusedMatchesFatalMessagesTest - ToolsSanityTest.BadVirtualCallNull - ToolsSanityTest.BadVirtualCallWrongType ) - local test_filter="-$(IFS=:; printf '%s' "${skip_tests[*]}")" # test-launcher-bot-mode enables parallelism and plain output ./out/Release/base_unittests --test-launcher-bot-mode \ diff --git a/www-client/chromium/chromium-130.0.6723.91.ebuild b/www-client/chromium/chromium-130.0.6723.91-r1.ebuild index ed4c82004d6a..ca59fb8a697e 100644 --- a/www-client/chromium/chromium-130.0.6723.91.ebuild +++ b/www-client/chromium/chromium-130.0.6723.91-r1.ebuild @@ -9,9 +9,7 @@ EAPI=8 # Use 132 as a base for new official tarballs. GN_MIN_VER=0.2165 -RUST_MIN_VER=1.78.0 # chromium-tools/get-chromium-toolchain-strings.py -TEST_FONT=f26f29c9d3bfae588207bbc9762de8d142e58935c62a86f67332819b15203b35 VIRTUALX_REQUIRED="pgo" @@ -19,20 +17,19 @@ CHROMIUM_LANGS="af am ar bg bn ca cs da de el en-GB es es-419 et fa fi fil fr gu hi hr hu id it ja kn ko lt lv ml mr ms nb nl pl pt-BR pt-PT ro ru sk sl sr sv sw ta te th tr uk ur vi zh-CN zh-TW" -# While prerelease llvm is actually used in the google build, until we have a -# sane way to select 'rust built with this llvm slot' that isn't stable and testing -# subslots we will have to restrict LLVM_COMPAT to stable and testing keywords. -# Requires 18.1.8 or 19.1.1 (or newer) for ppc64 LLVM_COMPAT=( 18 19 ) +RUST_NEEDS_LLVM="yes please" PYTHON_COMPAT=( python3_{11..13} ) PYTHON_REQ_USE="xml(+)" +RUST_MIN_VER=1.78.0 -inherit check-reqs chromium-2 desktop flag-o-matic llvm-utils multiprocessing ninja-utils pax-utils -inherit python-any-r1 qmake-utils readme.gentoo-r1 systemd toolchain-funcs virtualx xdg-utils +inherit check-reqs chromium-2 desktop flag-o-matic llvm-r1 multiprocessing ninja-utils pax-utils +inherit python-any-r1 qmake-utils readme.gentoo-r1 rust systemd toolchain-funcs virtualx xdg-utils DESCRIPTION="Open-source version of Google Chrome web browser" HOMEPAGE="https://www.chromium.org/" PPC64_HASH="a85b64f07b489b8c6fdb13ecf79c16c56c560fc6" +TEST_FONT=f26f29c9d3bfae588207bbc9762de8d142e58935c62a86f67332819b15203b35 PATCH_V="${PV%%\.*}-2" SRC_URI="https://chromium-tarballs.distfiles.gentoo.org/${P}.tar.xz https://gitlab.com/Matt.Jolly/chromium-patches/-/archive/${PATCH_V}/chromium-patches-${PATCH_V}.tar.bz2 @@ -53,6 +50,7 @@ if [[ ${SLOT} != "0/dev" ]]; then KEYWORDS="~amd64 ~arm64 ~ppc64" fi + IUSE_SYSTEM_LIBS="+system-harfbuzz +system-icu +system-png +system-zstd" IUSE="+X ${IUSE_SYSTEM_LIBS} bindist cups debug ffmpeg-chromium gtk4 +hangouts headless kerberos +official pax-kernel pgo +proprietary-codecs pulseaudio" IUSE+=" qt5 qt6 +screencast selinux test +vaapi +wayland +widevine cpu_flags_ppc_vsx3" @@ -167,29 +165,6 @@ DEPEND="${COMMON_DEPEND} ) " -depend_clang_llvm_version() { - echo "sys-devel/clang:$1" - echo "sys-devel/llvm:$1" - echo "=sys-devel/lld-$1*" - echo "virtual/rust:0/llvm-${1}[profiler(-)]" - echo "pgo? ( sys-libs/compiler-rt-sanitizers:${1}[profile] )" -} - -# Parse LLVM_COMPAT and generate a usedep for each version -depend_clang_llvm_versions() { - if [[ ${#LLVM_COMPAT[@]} -eq 0 ]]; then - depend_clang_llvm_version ${#LLVM_COMPAT[0]} - else - echo "|| (" - for (( i=${#LLVM_COMPAT[@]}-1 ; i>=0 ; i-- )); do - echo "(" - depend_clang_llvm_version ${LLVM_COMPAT[i]} - echo ")" - done - echo ")" - fi -} - BDEPEND=" ${COMMON_SNAPSHOT_DEPEND} ${PYTHON_DEPS} @@ -201,7 +176,11 @@ BDEPEND=" qt5? ( dev-qt/qtcore:5 ) qt6? ( dev-qt/qtbase:6 ) ) - $(depend_clang_llvm_versions) + $(llvm_gen_dep " + sys-devel/clang:\${LLVM_SLOT} + sys-devel/llvm:\${LLVM_SLOT} + sys-devel/lld:\${LLVM_SLOT} + ") pgo? ( >=dev-python/selenium-3.141.0 >=dev-util/web_page_replay_go-20220314 @@ -296,57 +275,13 @@ pkg_pretend() { fi } -# Chromium should build with any version of clang that we support -# but we may need to pick the "best" one for a build (highest installed, -# rust is built against it, etc.) -# Check each slot in LLVM_COMPAT to see if clang/llvm/lld are available -# and output the _highest_ slot that is actually available on a system. -chromium_pick_llvm_slot() { - # LLVM_COMPAT is always going to be oldest to newest (or one value) - # let's flip it and check from newest to oldest and return the first one we find. - local slot - for (( i=${#LLVM_COMPAT[@]}-1 ; i>=0 ; i-- )); do - slot=${LLVM_COMPAT[i]} - if has_version "sys-devel/clang:${slot}" && \ - has_version "sys-devel/llvm:${slot}" && \ - has_version "sys-devel/lld:${slot}" && \ - has_version "virtual/rust:0/llvm-${slot}" && \ - ( ! use pgo || has_version "sys-libs/compiler-rt-sanitizers:${slot}" ) ; then - - echo "${slot}" - return - fi - done - - die_msg=" -No suitable clang/llvm/lld slot found. -Slots checked: ${LLVM_COMPAT[*]}. -" - die "${die_msg}" -} - -# We need the rust version in src_configure and pkg_setup -chromium_extract_rust_version() { - [[ ${MERGE_TYPE} == binary ]] && return - local rustc_version=( $(eselect --brief rust show 2>/dev/null) ) - rustc_version=${rustc_version[0]#rust-bin-} - rustc_version=${rustc_version#rust-} - - [[ -z "${rustc_version}" ]] && die "Failed to determine rust version, check 'eselect rust' output" - - echo $rustc_version -} - pkg_setup() { if [[ ${MERGE_TYPE} != binary ]]; then # The pre_build_checks are all about compilation resources, no need to run it for a binpkg pre_build_checks # The linux:unbundle toolchain in GN grabs CC, CXX, CPP (etc) from the environment - # We'll set these to clang here then use llvm-utils functions to very explicitly set these - # to a sane value. # This is effectively the 'force-clang' path if GCC support is re-added. - # TODO: check if the user has already selected a specific impl via make.conf and respect that. use_lto="false" if tc-is-lto; then use_lto="true" @@ -374,8 +309,7 @@ pkg_setup() { die "Please switch to a different linker." fi - LLVM_SLOT=$(chromium_pick_llvm_slot) - export LLVM_SLOT # used in src_configure for rust-y business + # We're forcing Clang here. User choice is respected via llvm_slot_# USE flags. AR=llvm-ar CPP="${CHOST}-clang++ -E" NM=llvm-nm @@ -387,53 +321,16 @@ pkg_setup() { CPP="${CBUILD}-clang++ -E" fi - # The llvm-r1_pkg_setup we have at home. - # We prepend the path _first_ to explicitly use the selected slot. - llvm_prepend_path "${LLVM_SLOT}" - - llvm_fix_clang_version CC CPP CXX - llvm_fix_tool_path ADDR2LINE AR AS LD NM OBJCOPY OBJDUMP RANLIB - llvm_fix_tool_path READELF STRINGS STRIP - - # Set LLVM_CONFIG to help Meson (bug #907965) but only do it - # for empty ESYSROOT (as a proxy for "are we cross-compiling?"). - if [[ -z ${ESYSROOT} ]] ; then - llvm_fix_tool_path LLVM_CONFIG - fi + llvm-r1_pkg_setup + rust_pkg_setup einfo "Using LLVM/Clang slot ${LLVM_SLOT} to build" - - rustc_ver=$(chromium_extract_rust_version) - if ver_test "${rustc_ver}" -lt "${RUST_MIN_VER}"; then - eerror "Rust >=${RUST_MIN_VER} is required to build Chromium" - eerror "The currently selected version is ${rustc_ver}" - eerror "Please run \`eselect rust\` and select an appropriate Rust." - die "Selected Rust version is too old" - else - einfo "Using Rust ${rustc_ver} to build" - fi - - export rustc_ver # used in src_configure, may as well avoid calling it again + einfo "Using Rust slot ${RUST_SLOT}, ${RUST_TYPE} to build" # I hate doing this but upstream Rust have yet to come up with a better solution for # us poor packagers. Required for Split LTO units, which are required for CFI. export RUSTC_BOOTSTRAP=1 - # Chromium requires the Rust profiler library while setting up its build environment. - # Since a standard Rust comes with the profiler, instead of patching it out (build/rust/std/BUILD.gn#L103) - # we'll just do a sanity check on the selected slot. - # The -bin always contains profiler support, so we only need to check for the non-bin version. - if [[ "$(eselect --brief rust show 2>/dev/null)" != *"bin"* ]]; then - local rust_lib_path="${EPREFIX}$(rustc --print target-libdir)" - local profiler_lib=$(find "${rust_lib_path}" -name "libprofiler_builtins-*.rlib" -print -quit) - if [[ -z "${profiler_lib}" ]]; then - eerror "Rust ${rustc_ver} is missing the profiler library." - eerror "ebuild dependency resolution should have ensured that a Rust with the profiler was installed." - die "Please \`eselect\` a Rust slot that has the profiler." - fi - fi - - # Users should never hit this, it's purely a development convenience if ver_test $(gn --version || die) -lt ${GN_MIN_VER}; then die "dev-build/gn >= ${GN_MIN_VER} is required to build this Chromium" @@ -928,23 +825,15 @@ chromium_configure() { # rust_bindgen_root = directory with `bin/bindgen` beneath it. myconf_gn+=" rust_bindgen_root=\"${EPREFIX}/usr/\"" - # from get_llvm_prefix - local prefix=${ESYSROOT} - [[ ${1} == -b ]] && prefix=${BROOT} - myconf_gn+=" bindgen_libclang_path=\"${prefix}/usr/lib/llvm/${LLVM_SLOT}/$(get_libdir)\"" + myconf_gn+=" bindgen_libclang_path=\"$(get_llvm_prefix)/$(get_libdir)\"" # We don't need to set 'clang_base_bath' for anything in our build # and it defaults to the google toolchain location. Instead provide a location # to where system clang lives sot that bindgen can find system headers (e.g. stddef.h) myconf_gn+=" clang_base_path=\"${EPREFIX}/usr/lib/clang/${LLVM_SLOT}/\"" # We need to provide this to GN in both the path to rust _and_ the version - if [[ "$(eselect --brief rust show 2>/dev/null)" == *"bin"* ]]; then - myconf_gn+=" rust_sysroot_absolute=\"${EPREFIX}/opt/rust-bin-${rustc_ver}/\"" - else - myconf_gn+=" rust_sysroot_absolute=\"${EPREFIX}/usr/lib/rust/${rustc_ver}/\"" - fi - myconf_gn+=" rustc_version=\"${rustc_ver}\"" - + myconf_gn+=" rust_sysroot_absolute=\"$(get_rust_prefix)\"" + myconf_gn+=" rustc_version=\"${RUST_SLOT}\"" # GN needs explicit config for Debug/Release as opposed to inferring it from build directory. myconf_gn+=" is_debug=false" diff --git a/www-client/chromium/chromium-131.0.6753.0.ebuild b/www-client/chromium/chromium-131.0.6753.0-r1.ebuild index b9fbbe6b9e34..082a394cd0a8 100644 --- a/www-client/chromium/chromium-131.0.6753.0.ebuild +++ b/www-client/chromium/chromium-131.0.6753.0-r1.ebuild @@ -39,15 +39,12 @@ CHROMIUM_LANGS="af am ar bg bn ca cs da de el en-GB es es-419 et fa fi fil fr gu hi hr hu id it ja kn ko lt lv ml mr ms nb nl pl pt-BR pt-PT ro ru sk sl sr sv sw ta te th tr uk ur vi zh-CN zh-TW" -# While prerelease llvm is actually used in the google build, until we have a -# sane way to select 'rust built with this llvm slot' that isn't stable and testing -# subslots we will have to restrict LLVM_COMPAT to stable and testing keywords. LLVM_COMPAT=( 17 18 ) PYTHON_COMPAT=( python3_{11..13} ) PYTHON_REQ_USE="xml(+)" -inherit check-reqs chromium-2 desktop flag-o-matic llvm-utils ninja-utils pax-utils -inherit python-any-r1 qmake-utils readme.gentoo-r1 systemd toolchain-funcs virtualx xdg-utils +inherit check-reqs chromium-2 desktop flag-o-matic llvm-r1 ninja-utils pax-utils +inherit python-any-r1 qmake-utils readme.gentoo-r1 rust systemd toolchain-funcs virtualx xdg-utils DESCRIPTION="Open-source version of Google Chrome web browser" HOMEPAGE="https://www.chromium.org/" @@ -72,9 +69,7 @@ SRC_URI="https://commondatastorage.googleapis.com/chromium-browser-official/${P} LICENSE="BSD" SLOT="0/dev" # Dev exists mostly to give devs some breathing room for beta/stable releases; it shouldn't be keyworded but adventurous users can select it. -if [[ ${SLOT} == "0/dev" ]]; then - KEYWORDS="" -else +if [[ ${SLOT} != "0/dev" ]]; then KEYWORDS="~amd64 ~arm64" fi @@ -189,29 +184,6 @@ DEPEND="${COMMON_DEPEND} ) " -depend_clang_llvm_version() { - echo "sys-devel/clang:$1" - echo "sys-devel/llvm:$1" - echo "=sys-devel/lld-$1*" - echo "virtual/rust:0/llvm-${1}[profiler(-)]" - echo "pgo? ( sys-libs/compiler-rt-sanitizers:${1}[profile] )" -} - -# Parse LLVM_COMPAT and generate a usedep for each version -depend_clang_llvm_versions() { - if [[ ${#LLVM_COMPAT[@]} -eq 0 ]]; then - depend_clang_llvm_version ${#LLVM_COMPAT[0]} - else - echo "|| (" - for (( i=${#LLVM_COMPAT[@]}-1 ; i>=0 ; i-- )); do - echo "(" - depend_clang_llvm_version ${LLVM_COMPAT[i]} - echo ")" - done - echo ")" - fi -} - BDEPEND=" ${COMMON_SNAPSHOT_DEPEND} ${PYTHON_DEPS} @@ -224,7 +196,7 @@ BDEPEND=" qt6? ( dev-qt/qtbase:6 ) ) system-toolchain? ( - $(depend_clang_llvm_versions) + $() pgo? ( >=dev-python/selenium-3.141.0 >=dev-util/web_page_replay_go-20220314 @@ -320,47 +292,6 @@ pkg_pretend() { fi } -# Chromium should build with any version of clang that we support -# but we may need to pick the "best" one for a build (highest installed, -# rust is built against it, etc.) -# Check each slot in LLVM_COMPAT to see if clang/llvm/lld are available -# and output the _highest_ slot that is actually available on a system. -chromium_pick_llvm_slot() { - # LLVM_COMPAT is always going to be oldest to newest (or one value) - # let's flip it and check from newest to oldest and return the first one we find. - local slot - for (( i=${#LLVM_COMPAT[@]}-1 ; i>=0 ; i-- )); do - slot=${LLVM_COMPAT[i]} - if has_version "sys-devel/clang:${slot}" && \ - has_version "sys-devel/llvm:${slot}" && \ - has_version "sys-devel/lld:${slot}" && \ - has_version "virtual/rust:0/llvm-${slot}" && \ - ( ! use pgo || has_version "sys-libs/compiler-rt-sanitizers:${slot}" ) ; then - - echo "${slot}" - return - fi - done - - die_msg=" -No suitable clang/llvm/lld slot found. -Slots checked: ${LLVM_COMPAT[*]}. -" - die "${die_msg}" -} - -# We need the rust version in src_configure and pkg_setup -chromium_extract_rust_version() { - [[ ${MERGE_TYPE} == binary ]] && return - local rustc_version=( $(eselect --brief rust show 2>/dev/null) ) - rustc_version=${rustc_version[0]#rust-bin-} - rustc_version=${rustc_version#rust-} - - [[ -z "${rustc_version}" ]] && die "Failed to determine rust version, check 'eselect rust' output" - - echo $rustc_version -} - pkg_setup() { if [[ ${MERGE_TYPE} != binary ]]; then # The pre_build_checks are all about compilation resources, no need to run it for a binpkg @@ -396,8 +327,6 @@ pkg_setup() { die "Please switch to a different linker." fi - LLVM_SLOT=$(chromium_pick_llvm_slot) - export LLVM_SLOT # used in src_configure for rust-y business AR=llvm-ar CPP="${CHOST}-clang++ -E" NM=llvm-nm @@ -409,49 +338,12 @@ pkg_setup() { CPP="${CBUILD}-clang++ -E" fi - # The llvm-r1_pkg_setup we have at home. - # We prepend the path _first_ to explicitly use the selected slot. - llvm_prepend_path "${LLVM_SLOT}" - - llvm_fix_clang_version CC CPP CXX - llvm_fix_tool_path ADDR2LINE AR AS LD NM OBJCOPY OBJDUMP RANLIB - llvm_fix_tool_path READELF STRINGS STRIP - - # Set LLVM_CONFIG to help Meson (bug #907965) but only do it - # for empty ESYSROOT (as a proxy for "are we cross-compiling?"). - if [[ -z ${ESYSROOT} ]] ; then - llvm_fix_tool_path LLVM_CONFIG - fi - - einfo "Using LLVM/Clang slot ${LLVM_SLOT} to build" - - local rustc_ver=$(chromium_extract_rust_version) - if ver_test "${rustc_ver}" -lt "${RUST_MIN_VER}"; then - eerror "Rust >=${RUST_MIN_VER} is required to build Chromium" - eerror "The currently selected version is ${rustc_ver}" - eerror "Please run \`eselect rust\` and select an appropriate Rust." - die "Selected Rust version is too old" - else - einfo "Using Rust ${rustc_ver} to build" - fi + llvm-r1_pkg_setup + rust_pkg_setup # I hate doing this but upstream Rust have yet to come up with a better solution for # us poor packagers. Required for Split LTO units, which are required for CFI. export RUSTC_BOOTSTRAP=1 - - # Chromium requires the Rust profiler library while setting up its build environment. - # Since a standard Rust comes with the profiler, instead of patching it out (build/rust/std/BUILD.gn#L103) - # we'll just do a sanity check on the selected slot. - # The -bin always contains profiler support, so we only need to check for the non-bin version. - if [[ "$(eselect --brief rust show 2>/dev/null)" != *"bin"* ]]; then - local rust_lib_path="${EPREFIX}$(rustc --print target-libdir)" - local profiler_lib=$(find "${rust_lib_path}" -name "libprofiler_builtins-*.rlib" -print -quit) - if [[ -z "${profiler_lib}" ]]; then - eerror "Rust ${rustc_ver} is missing the profiler library." - eerror "ebuild dependency resolution should have ensured that a Rust with the profiler was installed." - die "Please \`eselect\` a Rust slot that has the profiler." - fi - fi fi # Users should never hit this, it's purely a development convenience @@ -946,23 +838,14 @@ chromium_configure() { # rust_bindgen_root = directory with `bin/bindgen` beneath it. myconf_gn+=" rust_bindgen_root=\"${EPREFIX}/usr/\"" - # from get_llvm_prefix - local prefix=${ESYSROOT} - [[ ${1} == -b ]] && prefix=${BROOT} - myconf_gn+=" bindgen_libclang_path=\"${prefix}/usr/lib/llvm/${LLVM_SLOT}/$(get_libdir)\"" + + myconf_gn+=" bindgen_libclang_path=\"$(get_llvm_prefix)/$(get_libdir)\"" # We don't need to set 'clang_base_bath' for anything in our build # and it defaults to the google toolchain location. Instead provide a location # to where system clang lives sot that bindgen can find system headers (e.g. stddef.h) myconf_gn+=" clang_base_path=\"${EPREFIX}/usr/lib/clang/${LLVM_SLOT}/\"" - - # We need to provide this to GN in both the path to rust _and_ the version - local rustc_ver=$(chromium_extract_rust_version) - if [[ "$(eselect --brief rust show 2>/dev/null)" == *"bin"* ]]; then - myconf_gn+=" rust_sysroot_absolute=\"${EPREFIX}/opt/rust-bin-${rustc_ver}/\"" - else - myconf_gn+=" rust_sysroot_absolute=\"${EPREFIX}/usr/lib/rust/${rustc_ver}/\"" - fi - myconf_gn+=" rustc_version=\"${rustc_ver}\"" + myconf_gn+=" rust_sysroot_absolute=\"$(get_rust_prefix)\"" + myconf_gn+=" rustc_version=\"${RUST_SLOT}\"" fi # GN needs explicit config for Debug/Release as opposed to inferring it from build directory. diff --git a/www-client/chromium/chromium-131.0.6778.24.ebuild b/www-client/chromium/chromium-131.0.6778.24-r1.ebuild index 3a1fa9fc3807..981c37fea572 100644 --- a/www-client/chromium/chromium-131.0.6778.24.ebuild +++ b/www-client/chromium/chromium-131.0.6778.24-r1.ebuild @@ -9,7 +9,6 @@ EAPI=8 # Use 132 as a base for new official tarballs. GN_MIN_VER=0.2165 -RUST_MIN_VER=1.78.0 # chromium-tools/get-chromium-toolchain-strings.py TEST_FONT=f26f29c9d3bfae588207bbc9762de8d142e58935c62a86f67332819b15203b35 @@ -19,15 +18,13 @@ CHROMIUM_LANGS="af am ar bg bn ca cs da de el en-GB es es-419 et fa fi fil fr gu hi hr hu id it ja kn ko lt lv ml mr ms nb nl pl pt-BR pt-PT ro ru sk sl sr sv sw ta te th tr uk ur vi zh-CN zh-TW" -# While prerelease llvm is actually used in the google build, until we have a -# sane way to select 'rust built with this llvm slot' that isn't stable and testing -# subslots we will have to restrict LLVM_COMPAT to stable and testing keywords. LLVM_COMPAT=( {17..19} ) PYTHON_COMPAT=( python3_{11..13} ) PYTHON_REQ_USE="xml(+)" +RUST_MIN_VER=1.78.0 -inherit check-reqs chromium-2 desktop flag-o-matic llvm-utils multiprocessing ninja-utils pax-utils -inherit python-any-r1 qmake-utils readme.gentoo-r1 systemd toolchain-funcs virtualx xdg-utils +inherit check-reqs chromium-2 desktop flag-o-matic llvm-r1 multiprocessing ninja-utils pax-utils +inherit python-any-r1 qmake-utils readme.gentoo-r1 rust systemd toolchain-funcs virtualx xdg-utils DESCRIPTION="Open-source version of Google Chrome web browser" HOMEPAGE="https://www.chromium.org/" @@ -167,29 +164,6 @@ DEPEND="${COMMON_DEPEND} ) " -depend_clang_llvm_version() { - echo "sys-devel/clang:$1" - echo "sys-devel/llvm:$1" - echo "=sys-devel/lld-$1*" - echo "virtual/rust:0/llvm-${1}[profiler(-)]" - echo "pgo? ( sys-libs/compiler-rt-sanitizers:${1}[profile] )" -} - -# Parse LLVM_COMPAT and generate a usedep for each version -depend_clang_llvm_versions() { - if [[ ${#LLVM_COMPAT[@]} -eq 0 ]]; then - depend_clang_llvm_version ${#LLVM_COMPAT[0]} - else - echo "|| (" - for (( i=${#LLVM_COMPAT[@]}-1 ; i>=0 ; i-- )); do - echo "(" - depend_clang_llvm_version ${LLVM_COMPAT[i]} - echo ")" - done - echo ")" - fi -} - BDEPEND=" ${COMMON_SNAPSHOT_DEPEND} ${PYTHON_DEPS} @@ -201,7 +175,11 @@ BDEPEND=" qt5? ( dev-qt/qtcore:5 ) qt6? ( dev-qt/qtbase:6 ) ) - $(depend_clang_llvm_versions) + $(llvm_gen_dep " + sys-devel/clang:\${LLVM_SLOT} + sys-devel/llvm:\${LLVM_SLOT} + sys-devel/lld:\${LLVM_SLOT} + ") pgo? ( >=dev-python/selenium-3.141.0 >=dev-util/web_page_replay_go-20220314 @@ -296,47 +274,6 @@ pkg_pretend() { fi } -# Chromium should build with any version of clang that we support -# but we may need to pick the "best" one for a build (highest installed, -# rust is built against it, etc.) -# Check each slot in LLVM_COMPAT to see if clang/llvm/lld are available -# and output the _highest_ slot that is actually available on a system. -chromium_pick_llvm_slot() { - # LLVM_COMPAT is always going to be oldest to newest (or one value) - # let's flip it and check from newest to oldest and return the first one we find. - local slot - for (( i=${#LLVM_COMPAT[@]}-1 ; i>=0 ; i-- )); do - slot=${LLVM_COMPAT[i]} - if has_version "sys-devel/clang:${slot}" && \ - has_version "sys-devel/llvm:${slot}" && \ - has_version "sys-devel/lld:${slot}" && \ - has_version "virtual/rust:0/llvm-${slot}" && \ - ( ! use pgo || has_version "sys-libs/compiler-rt-sanitizers:${slot}" ) ; then - - echo "${slot}" - return - fi - done - - die_msg=" -No suitable clang/llvm/lld slot found. -Slots checked: ${LLVM_COMPAT[*]}. -" - die "${die_msg}" -} - -# We need the rust version in src_configure and pkg_setup -chromium_extract_rust_version() { - [[ ${MERGE_TYPE} == binary ]] && return - local rustc_version=( $(eselect --brief rust show 2>/dev/null) ) - rustc_version=${rustc_version[0]#rust-bin-} - rustc_version=${rustc_version#rust-} - - [[ -z "${rustc_version}" ]] && die "Failed to determine rust version, check 'eselect rust' output" - - echo $rustc_version -} - pkg_setup() { if [[ ${MERGE_TYPE} != binary ]]; then # The pre_build_checks are all about compilation resources, no need to run it for a binpkg @@ -374,8 +311,7 @@ pkg_setup() { die "Please switch to a different linker." fi - LLVM_SLOT=$(chromium_pick_llvm_slot) - export LLVM_SLOT # used in src_configure for rust-y business + # Forcing clang; user choice respected by llvm_slot_x USE AR=llvm-ar CPP="${CHOST}-clang++ -E" NM=llvm-nm @@ -387,52 +323,13 @@ pkg_setup() { CPP="${CBUILD}-clang++ -E" fi - # The llvm-r1_pkg_setup we have at home. - # We prepend the path _first_ to explicitly use the selected slot. - llvm_prepend_path "${LLVM_SLOT}" - - llvm_fix_clang_version CC CPP CXX - llvm_fix_tool_path ADDR2LINE AR AS LD NM OBJCOPY OBJDUMP RANLIB - llvm_fix_tool_path READELF STRINGS STRIP - - # Set LLVM_CONFIG to help Meson (bug #907965) but only do it - # for empty ESYSROOT (as a proxy for "are we cross-compiling?"). - if [[ -z ${ESYSROOT} ]] ; then - llvm_fix_tool_path LLVM_CONFIG - fi - - einfo "Using LLVM/Clang slot ${LLVM_SLOT} to build" - - rustc_ver=$(chromium_extract_rust_version) - if ver_test "${rustc_ver}" -lt "${RUST_MIN_VER}"; then - eerror "Rust >=${RUST_MIN_VER} is required to build Chromium" - eerror "The currently selected version is ${rustc_ver}" - eerror "Please run \`eselect rust\` and select an appropriate Rust." - die "Selected Rust version is too old" - else - einfo "Using Rust ${rustc_ver} to build" - fi - - export rustc_ver # used in src_configure, may as well avoid calling it again + llvm-r1_pkg_setup + rust_pkg_setup # I hate doing this but upstream Rust have yet to come up with a better solution for # us poor packagers. Required for Split LTO units, which are required for CFI. export RUSTC_BOOTSTRAP=1 - # Chromium requires the Rust profiler library while setting up its build environment. - # Since a standard Rust comes with the profiler, instead of patching it out (build/rust/std/BUILD.gn#L103) - # we'll just do a sanity check on the selected slot. - # The -bin always contains profiler support, so we only need to check for the non-bin version. - if [[ "$(eselect --brief rust show 2>/dev/null)" != *"bin"* ]]; then - local rust_lib_path="${EPREFIX}$(rustc --print target-libdir)" - local profiler_lib=$(find "${rust_lib_path}" -name "libprofiler_builtins-*.rlib" -print -quit) - if [[ -z "${profiler_lib}" ]]; then - eerror "Rust ${rustc_ver} is missing the profiler library." - eerror "ebuild dependency resolution should have ensured that a Rust with the profiler was installed." - die "Please \`eselect\` a Rust slot that has the profiler." - fi - fi - # Users should never hit this, it's purely a development convenience if ver_test $(gn --version || die) -lt ${GN_MIN_VER}; then die "dev-build/gn >= ${GN_MIN_VER} is required to build this Chromium" @@ -926,22 +823,14 @@ chromium_configure() { # rust_bindgen_root = directory with `bin/bindgen` beneath it. myconf_gn+=" rust_bindgen_root=\"${EPREFIX}/usr/\"" - # from get_llvm_prefix - local prefix=${ESYSROOT} - [[ ${1} == -b ]] && prefix=${BROOT} - myconf_gn+=" bindgen_libclang_path=\"${prefix}/usr/lib/llvm/${LLVM_SLOT}/$(get_libdir)\"" + myconf_gn+=" bindgen_libclang_path=\"$(get_llvm_prefix)/$(get_libdir)\"" # We don't need to set 'clang_base_bath' for anything in our build # and it defaults to the google toolchain location. Instead provide a location # to where system clang lives sot that bindgen can find system headers (e.g. stddef.h) myconf_gn+=" clang_base_path=\"${EPREFIX}/usr/lib/clang/${LLVM_SLOT}/\"" - # We need to provide this to GN in both the path to rust _and_ the version - if [[ "$(eselect --brief rust show 2>/dev/null)" == *"bin"* ]]; then - myconf_gn+=" rust_sysroot_absolute=\"${EPREFIX}/opt/rust-bin-${rustc_ver}/\"" - else - myconf_gn+=" rust_sysroot_absolute=\"${EPREFIX}/usr/lib/rust/${rustc_ver}/\"" - fi - myconf_gn+=" rustc_version=\"${rustc_ver}\"" + myconf_gn+=" rust_sysroot_absolute=\"$(get_rust_prefix)\"" + myconf_gn+=" rustc_version=\"${RUST_SLOT}\"" # GN needs explicit config for Debug/Release as opposed to inferring it from build directory. myconf_gn+=" is_debug=false" diff --git a/www-client/firefox/firefox-115.16.1.ebuild b/www-client/firefox/firefox-115.16.1-r1.ebuild index 02142c4cbddb..e01a588149b5 100644 --- a/www-client/firefox/firefox-115.16.1.ebuild +++ b/www-client/firefox/firefox-115.16.1-r1.ebuild @@ -5,10 +5,11 @@ EAPI=8 FIREFOX_PATCHSET="firefox-115esr-patches-13.tar.xz" -LLVM_MAX_SLOT=18 +LLVM_COMPAT=(17 18) PYTHON_COMPAT=( python3_{10..11} ) PYTHON_REQ_USE="ncurses,sqlite,ssl" +RUST_NEEDS_LLVM=1 WANT_AUTOCONF="2.1" @@ -37,8 +38,8 @@ MOZ_P="${MOZ_PN}-${MOZ_PV}" MOZ_PV_DISTFILES="${MOZ_PV}${MOZ_PV_SUFFIX}" MOZ_P_DISTFILES="${MOZ_PN}-${MOZ_PV_DISTFILES}" -inherit autotools check-reqs desktop flag-o-matic gnome2-utils linux-info llvm multiprocessing \ - optfeature pax-utils python-any-r1 readme.gentoo-r1 toolchain-funcs virtualx xdg +inherit autotools check-reqs desktop flag-o-matic gnome2-utils linux-info llvm-r1 multiprocessing \ + optfeature pax-utils python-any-r1 readme.gentoo-r1 rust toolchain-funcs virtualx xdg MOZ_SRC_BASE_URI="https://archive.mozilla.org/pub/${MOZ_PN}/releases/${MOZ_PV}" @@ -51,7 +52,7 @@ PATCH_URIS=( ) DESCRIPTION="Firefox Web Browser" -HOMEPAGE="https://www.mozilla.com/firefox" +HOMEPAGE="https://www.mozilla.org/firefox" SRC_URI="${MOZ_SRC_BASE_URI}/source/${MOZ_P}.source.tar.xz -> ${MOZ_P_DISTFILES}.source.tar.xz ${PATCH_URIS[@]}" S="${WORKDIR}/${PN}-${PV%_*}" @@ -77,57 +78,20 @@ FF_ONLY_DEPEND="!www-client/firefox:0 screencast? ( media-video/pipewire:= ) selinux? ( sec-policy/selinux-mozilla )" BDEPEND="${PYTHON_DEPS} - || ( - ( - sys-devel/clang:18 - sys-devel/llvm:18 - clang? ( - sys-devel/lld:18 - virtual/rust:0/llvm-18 - pgo? ( =sys-libs/compiler-rt-sanitizers-18*[profile] ) - ) - ) - ( - sys-devel/clang:17 - sys-devel/llvm:17 - clang? ( - sys-devel/lld:17 - virtual/rust:0/llvm-17 - pgo? ( =sys-libs/compiler-rt-sanitizers-17*[profile] ) - ) - ) - ( - sys-devel/clang:16 - sys-devel/llvm:16 - clang? ( - sys-devel/lld:16 - virtual/rust:0/llvm-16 - pgo? ( =sys-libs/compiler-rt-sanitizers-16*[profile] ) - ) - ) - ( - sys-devel/clang:15 - sys-devel/llvm:15 - clang? ( - sys-devel/lld:15 - virtual/rust:0/llvm-15 - pgo? ( =sys-libs/compiler-rt-sanitizers-15*[profile] ) - ) + $(llvm_gen_dep ' + sys-devel/clang:${LLVM_SLOT} + sys-devel/llvm:${LLVM_SLOT} + clang? ( + sys-devel/lld:${LLVM_SLOT} ) - ) + pgo? ( sys-libs/compiler-rt-sanitizers:${LLVM_SLOT}[profile] ) + ') app-alternatives/awk app-arch/unzip app-arch/zip >=dev-util/cbindgen-0.24.3 net-libs/nodejs virtual/pkgconfig - !clang? ( virtual/rust ) - !elibc_glibc? ( - || ( - dev-lang/rust - <dev-lang/rust-bin-1.73 - ) - ) amd64? ( >=dev-lang/nasm-2.14 ) x86? ( >=dev-lang/nasm-2.14 ) pgo? ( @@ -249,11 +213,6 @@ llvm_check_deps() { return 1 fi - if ! has_version -b "virtual/rust:0/llvm-${LLVM_SLOT}" ; then - einfo "virtual/rust:0/llvm-${LLVM_SLOT} is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2 - return 1 - fi - if use pgo ; then if ! has_version -b "=sys-libs/compiler-rt-sanitizers-${LLVM_SLOT}*[profile]" ; then einfo "=sys-libs/compiler-rt-sanitizers-${LLVM_SLOT}*[profile] is missing!" @@ -537,7 +496,8 @@ pkg_setup() { check-reqs_pkg_setup - llvm_pkg_setup + llvm-r1_pkg_setup + rust_pkg_setup if use clang && use lto && tc-ld-is-lld ; then local version_lld=$(ld.lld --version 2>/dev/null | awk '{ print $2 }') diff --git a/www-client/firefox/firefox-128.3.1.ebuild b/www-client/firefox/firefox-128.3.1-r1.ebuild index 22d0a2570ee5..36eacf19c85a 100644 --- a/www-client/firefox/firefox-128.3.1.ebuild +++ b/www-client/firefox/firefox-128.3.1-r1.ebuild @@ -10,6 +10,8 @@ LLVM_COMPAT=( 17 18 ) PYTHON_COMPAT=( python3_{10..12} ) PYTHON_REQ_USE="ncurses,sqlite,ssl" +RUST_NEEDS_LLVM=1 + WANT_AUTOCONF="2.1" VIRTUALX_REQUIRED="manual" @@ -30,10 +32,10 @@ fi if [[ -n ${MOZ_ESR} ]] ; then # ESR releases have slightly different version numbers MOZ_PV="${MOZ_PV}esr" - HOMEPAGE="https://www.mozilla.com/firefox https://www.mozilla.org/firefox/enterprise/" + HOMEPAGE="https://www.mozilla.org/firefox https://www.mozilla.org/firefox/enterprise/" SLOT="esr" else - HOMEPAGE="https://www.mozilla.com/firefox" + HOMEPAGE="https://www.mozilla.org/firefox" SLOT="rapid" fi @@ -43,7 +45,7 @@ MOZ_PV_DISTFILES="${MOZ_PV}${MOZ_PV_SUFFIX}" MOZ_P_DISTFILES="${MOZ_PN}-${MOZ_PV_DISTFILES}" inherit autotools check-reqs desktop flag-o-matic gnome2-utils linux-info llvm-r1 multiprocessing \ - optfeature pax-utils python-any-r1 readme.gentoo-r1 toolchain-funcs virtualx xdg + optfeature pax-utils python-any-r1 readme.gentoo-r1 rust toolchain-funcs virtualx xdg MOZ_SRC_BASE_URI="https://archive.mozilla.org/pub/${MOZ_PN}/releases/${MOZ_PV}" @@ -83,7 +85,6 @@ BDEPEND="${PYTHON_DEPS} sys-devel/llvm:${LLVM_SLOT} clang? ( sys-devel/lld:${LLVM_SLOT} - virtual/rust:0/llvm-${LLVM_SLOT} ) pgo? ( sys-libs/compiler-rt-sanitizers:${LLVM_SLOT}[profile] ) ') @@ -93,8 +94,6 @@ BDEPEND="${PYTHON_DEPS} >=dev-util/cbindgen-0.26.0 net-libs/nodejs virtual/pkgconfig - !clang? ( >=virtual/rust-1.76 ) - !elibc_glibc? ( dev-lang/rust ) amd64? ( >=dev-lang/nasm-2.14 ) x86? ( >=dev-lang/nasm-2.14 ) pgo? ( @@ -220,10 +219,6 @@ llvm_check_deps() { return 1 fi - if ! has_version -b "virtual/rust:0/llvm-${LLVM_SLOT}" ; then - einfo "virtual/rust:0/llvm-${LLVM_SLOT} is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2 - return 1 - fi if use pgo ; then if ! has_version -b "=sys-libs/compiler-rt-sanitizers-${LLVM_SLOT}*[profile]" ; then diff --git a/www-client/firefox/firefox-128.4.0.ebuild b/www-client/firefox/firefox-128.4.0-r1.ebuild index 2bba7a648bda..1c04269f3aa9 100644 --- a/www-client/firefox/firefox-128.4.0.ebuild +++ b/www-client/firefox/firefox-128.4.0-r1.ebuild @@ -10,6 +10,8 @@ LLVM_COMPAT=( 17 18 19 ) PYTHON_COMPAT=( python3_{10..12} ) PYTHON_REQ_USE="ncurses,sqlite,ssl" +RUST_NEEDS_LLVM=1 + WANT_AUTOCONF="2.1" VIRTUALX_REQUIRED="manual" @@ -30,10 +32,10 @@ fi if [[ -n ${MOZ_ESR} ]] ; then # ESR releases have slightly different version numbers MOZ_PV="${MOZ_PV}esr" - HOMEPAGE="https://www.mozilla.com/firefox https://www.mozilla.org/firefox/enterprise/" + HOMEPAGE="https://www.mozilla.org/firefox https://www.mozilla.org/firefox/enterprise/" SLOT="esr" else - HOMEPAGE="https://www.mozilla.com/firefox" + HOMEPAGE="https://www.mozilla.org/firefox" SLOT="rapid" fi @@ -43,7 +45,7 @@ MOZ_PV_DISTFILES="${MOZ_PV}${MOZ_PV_SUFFIX}" MOZ_P_DISTFILES="${MOZ_PN}-${MOZ_PV_DISTFILES}" inherit autotools check-reqs desktop flag-o-matic gnome2-utils linux-info llvm-r1 multiprocessing \ - optfeature pax-utils python-any-r1 readme.gentoo-r1 toolchain-funcs virtualx xdg + optfeature pax-utils python-any-r1 readme.gentoo-r1 rust toolchain-funcs virtualx xdg MOZ_SRC_BASE_URI="https://archive.mozilla.org/pub/${MOZ_PN}/releases/${MOZ_PV}" @@ -83,7 +85,6 @@ BDEPEND="${PYTHON_DEPS} sys-devel/llvm:${LLVM_SLOT} clang? ( sys-devel/lld:${LLVM_SLOT} - virtual/rust:0/llvm-${LLVM_SLOT} ) pgo? ( sys-libs/compiler-rt-sanitizers:${LLVM_SLOT}[profile] ) ') @@ -93,8 +94,6 @@ BDEPEND="${PYTHON_DEPS} >=dev-util/cbindgen-0.26.0 net-libs/nodejs virtual/pkgconfig - !clang? ( >=virtual/rust-1.76 ) - !elibc_glibc? ( dev-lang/rust ) amd64? ( >=dev-lang/nasm-2.14 ) x86? ( >=dev-lang/nasm-2.14 ) pgo? ( @@ -220,11 +219,6 @@ llvm_check_deps() { return 1 fi - if ! has_version -b "virtual/rust:0/llvm-${LLVM_SLOT}" ; then - einfo "virtual/rust:0/llvm-${LLVM_SLOT} is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2 - return 1 - fi - if use pgo ; then if ! has_version -b "=sys-libs/compiler-rt-sanitizers-${LLVM_SLOT}*[profile]" ; then einfo "=sys-libs/compiler-rt-sanitizers-${LLVM_SLOT}*[profile] is missing!" >&2 @@ -475,6 +469,7 @@ pkg_setup() { check-reqs_pkg_setup llvm-r1_pkg_setup + rust_pkg_setup if use clang && use lto && tc-ld-is-lld ; then local version_lld=$(ld.lld --version 2>/dev/null | awk '{ print $2 }') diff --git a/www-client/firefox/firefox-131.0.3.ebuild b/www-client/firefox/firefox-131.0.3-r1.ebuild index e746e07abc33..6280f02fdc49 100644 --- a/www-client/firefox/firefox-131.0.3.ebuild +++ b/www-client/firefox/firefox-131.0.3-r1.ebuild @@ -10,6 +10,8 @@ LLVM_COMPAT=( 17 18 19 ) PYTHON_COMPAT=( python3_{10..12} ) PYTHON_REQ_USE="ncurses,sqlite,ssl" +RUST_NEEDS_LLVM=1 + WANT_AUTOCONF="2.1" VIRTUALX_REQUIRED="manual" @@ -30,10 +32,10 @@ fi if [[ -n ${MOZ_ESR} ]] ; then # ESR releases have slightly different version numbers MOZ_PV="${MOZ_PV}esr" - HOMEPAGE="https://www.mozilla.com/firefox https://www.mozilla.org/firefox/enterprise/" + HOMEPAGE="https://www.mozilla.org/firefox https://www.mozilla.org/firefox/enterprise/" SLOT="esr" else - HOMEPAGE="https://www.mozilla.com/firefox" + HOMEPAGE="https://www.mozilla.org/firefox" SLOT="rapid" fi @@ -43,7 +45,7 @@ MOZ_PV_DISTFILES="${MOZ_PV}${MOZ_PV_SUFFIX}" MOZ_P_DISTFILES="${MOZ_PN}-${MOZ_PV_DISTFILES}" inherit autotools check-reqs desktop flag-o-matic gnome2-utils linux-info llvm-r1 multiprocessing \ - optfeature pax-utils python-any-r1 readme.gentoo-r1 toolchain-funcs virtualx xdg + optfeature pax-utils python-any-r1 readme.gentoo-r1 rust toolchain-funcs virtualx xdg MOZ_SRC_BASE_URI="https://archive.mozilla.org/pub/${MOZ_PN}/releases/${MOZ_PV}" @@ -86,7 +88,6 @@ BDEPEND="${PYTHON_DEPS} sys-devel/llvm:${LLVM_SLOT} clang? ( sys-devel/lld:${LLVM_SLOT} - virtual/rust:0/llvm-${LLVM_SLOT} ) pgo? ( sys-libs/compiler-rt-sanitizers:${LLVM_SLOT}[profile] ) ') @@ -96,8 +97,6 @@ BDEPEND="${PYTHON_DEPS} >=dev-util/cbindgen-0.26.0 net-libs/nodejs virtual/pkgconfig - !clang? ( >=virtual/rust-1.76 ) - !elibc_glibc? ( dev-lang/rust ) amd64? ( >=dev-lang/nasm-2.14 ) x86? ( >=dev-lang/nasm-2.14 ) pgo? ( @@ -224,11 +223,6 @@ llvm_check_deps() { return 1 fi - if ! has_version -b "virtual/rust:0/llvm-${LLVM_SLOT}" ; then - einfo "virtual/rust:0/llvm-${LLVM_SLOT} is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2 - return 1 - fi - if use pgo ; then if ! has_version -b "=sys-libs/compiler-rt-sanitizers-${LLVM_SLOT}*[profile]" ; then einfo "=sys-libs/compiler-rt-sanitizers-${LLVM_SLOT}*[profile] is missing!" >&2 @@ -479,6 +473,7 @@ pkg_setup() { check-reqs_pkg_setup llvm-r1_pkg_setup + rust_pkg_setup if use clang && use lto && tc-ld-is-lld ; then local version_lld=$(ld.lld --version 2>/dev/null | awk '{ print $2 }') diff --git a/www-client/firefox/firefox-132.0.ebuild b/www-client/firefox/firefox-132.0-r1.ebuild index 8cfa5b1c3a92..f99bf2798680 100644 --- a/www-client/firefox/firefox-132.0.ebuild +++ b/www-client/firefox/firefox-132.0-r1.ebuild @@ -6,6 +6,8 @@ EAPI=8 FIREFOX_PATCHSET="firefox-132-patches-01.tar.xz" LLVM_COMPAT=( 17 18 19 ) +# This will also filter Rust versions in the non-llvm-r1 case, but this is fine. +RUST_NEEDS_LLVM=1 PYTHON_COMPAT=( python3_{10..12} ) PYTHON_REQ_USE="ncurses,sqlite,ssl" @@ -30,10 +32,10 @@ fi if [[ -n ${MOZ_ESR} ]] ; then # ESR releases have slightly different version numbers MOZ_PV="${MOZ_PV}esr" - HOMEPAGE="https://www.mozilla.com/firefox https://www.mozilla.org/firefox/enterprise/" + HOMEPAGE="https://www.mozilla.org/firefox https://www.mozilla.org/firefox/enterprise/" SLOT="esr" else - HOMEPAGE="https://www.mozilla.com/firefox" + HOMEPAGE="https://www.mozilla.org/firefox" SLOT="rapid" fi @@ -43,7 +45,7 @@ MOZ_PV_DISTFILES="${MOZ_PV}${MOZ_PV_SUFFIX}" MOZ_P_DISTFILES="${MOZ_PN}-${MOZ_PV_DISTFILES}" inherit autotools check-reqs desktop flag-o-matic gnome2-utils linux-info llvm-r1 multiprocessing \ - optfeature pax-utils python-any-r1 readme.gentoo-r1 toolchain-funcs virtualx xdg + optfeature pax-utils python-any-r1 rust readme.gentoo-r1 toolchain-funcs virtualx xdg MOZ_SRC_BASE_URI="https://archive.mozilla.org/pub/${MOZ_PN}/releases/${MOZ_PV}" @@ -62,7 +64,7 @@ S="${WORKDIR}/${PN}-${PV%_*}" LICENSE="MPL-2.0 GPL-2 LGPL-2.1" KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86" -IUSE="clang dbus debug eme-free hardened hwaccel jack +jumbo-build libproxy lto openh264 pgo" +IUSE="clang dbus debug eme-free hardened hwaccel jack +jumbo-build libproxy openh264 pgo" IUSE+=" pulseaudio sndio selinux +system-av1 +system-harfbuzz +system-icu +system-jpeg" IUSE+=" +system-jpeg +system-libevent +system-libvpx system-png +system-webp +telemetry valgrind" IUSE+=" wayland wifi +X" @@ -74,9 +76,9 @@ IUSE+=" +gmp-autoupdate gnome-shell" REQUIRED_USE="|| ( X wayland ) debug? ( !system-av1 ) !jumbo-build? ( clang ) - pgo? ( lto ) wayland? ( dbus ) - wifi? ( dbus )" + wifi? ( dbus ) +" FF_ONLY_DEPEND="!www-client/firefox:0 selinux? ( sec-policy/selinux-mozilla )" @@ -86,7 +88,6 @@ BDEPEND="${PYTHON_DEPS} sys-devel/llvm:${LLVM_SLOT} clang? ( sys-devel/lld:${LLVM_SLOT} - virtual/rust:0/llvm-${LLVM_SLOT} ) pgo? ( sys-libs/compiler-rt-sanitizers:${LLVM_SLOT}[profile] ) ') @@ -96,8 +97,6 @@ BDEPEND="${PYTHON_DEPS} >=dev-util/cbindgen-0.26.0 net-libs/nodejs virtual/pkgconfig - !clang? ( >=virtual/rust-1.76 ) - !elibc_glibc? ( dev-lang/rust ) amd64? ( >=dev-lang/nasm-2.14 ) x86? ( >=dev-lang/nasm-2.14 ) pgo? ( @@ -224,11 +223,6 @@ llvm_check_deps() { return 1 fi - if ! has_version -b "virtual/rust:0/llvm-${LLVM_SLOT}" ; then - einfo "virtual/rust:0/llvm-${LLVM_SLOT} is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2 - return 1 - fi - if use pgo ; then if ! has_version -b "=sys-libs/compiler-rt-sanitizers-${LLVM_SLOT}*[profile]" ; then einfo "=sys-libs/compiler-rt-sanitizers-${LLVM_SLOT}*[profile] is missing!" >&2 @@ -451,7 +445,7 @@ pkg_pretend() { fi # Ensure we have enough disk space to compile - if use pgo || use lto || use debug ; then + if use pgo || tc-is-lto || use debug ; then CHECKREQS_DISK_BUILD="13500M" else CHECKREQS_DISK_BUILD="6600M" @@ -462,15 +456,33 @@ pkg_pretend() { } pkg_setup() { + + # Get LTO from environment; export after this phase for use in src_configure (etc) + use_lto=no + if [[ ${MERGE_TYPE} != binary ]] ; then + + if tc-is-lto; then + use_lto=yes + # LTO is handled via configure + # -Werror=lto-type-mismatch -Werror=odr are going to fail with GCC, + # bmo#1516758, bgo#942288 + filter-lto + filter-flags -Werror=lto-type-mismatch -Werror=odr + fi + if use pgo ; then + if [[ ${use_lto} == "yes" ]]; then + eerror "Building ${PN} with USE=pgo requires LTO!" + die "Please fix your CFLAGS/CXXFLAGS." + fi if ! has userpriv ${FEATURES} ; then eerror "Building ${PN} with USE=pgo and FEATURES=-userpriv is not supported!" fi fi # Ensure we have enough disk space to compile - if use pgo || use lto || use debug ; then + if [[ ${use_lto} == "yes" ]] || use pgo || use debug ; then CHECKREQS_DISK_BUILD="13500M" else CHECKREQS_DISK_BUILD="6400M" @@ -479,25 +491,16 @@ pkg_setup() { check-reqs_pkg_setup llvm-r1_pkg_setup - - if use clang && use lto && tc-ld-is-lld ; then - local version_lld=$(ld.lld --version 2>/dev/null | awk '{ print $2 }') - [[ -n ${version_lld} ]] && version_lld=$(ver_cut 1 "${version_lld}") - [[ -z ${version_lld} ]] && die "Failed to read ld.lld version!" - - local version_llvm_rust=$(rustc -Vv 2>/dev/null | grep -F -- 'LLVM version:' | awk '{ print $3 }') - [[ -n ${version_llvm_rust} ]] && version_llvm_rust=$(ver_cut 1 "${version_llvm_rust}") - [[ -z ${version_llvm_rust} ]] && die "Failed to read used LLVM version from rustc!" - - if ver_test "${version_lld}" -ne "${version_llvm_rust}" ; then - eerror "Rust is using LLVM version ${version_llvm_rust} but ld.lld version belongs to LLVM version ${version_lld}." - eerror "You will be unable to link ${CATEGORY}/${PN}. To proceed you have the following options:" - eerror " - Manually switch rust version using 'eselect rust' to match used LLVM version" - eerror " - Switch to dev-lang/rust[system-llvm] which will guarantee matching version" - eerror " - Build ${CATEGORY}/${PN} without USE=lto" - eerror " - Rebuild lld with llvm that was used to build rust (may need to rebuild the whole " - eerror " llvm/clang/lld/rust chain depending on your @world updates)" - die "LLVM version used by Rust (${version_llvm_rust}) does not match with ld.lld version (${version_lld})!" + rust_pkg_setup + + if [[ ${use_lto} == "yes" ]]; then + if use clang; then + if ! (tc-ld-is-lld || tc-ld-is-mold) ; then + eerror "Building ${PN} with lto and requires the sys-devel/lld or sys-devel/mold linker!" + die "Please fix your toolchain configuration." + fi + else + die "Building ${PN} with lto requires clang!" fi fi @@ -555,6 +558,8 @@ pkg_setup() { export LC_ALL=C fi + export use_lto + CONFIG_CHECK="~SECCOMP" WARNING_SECCOMP="CONFIG_SECCOMP not set! This system will be unable to play DRM-protected content." linux-info_pkg_setup @@ -578,7 +583,7 @@ src_unpack() { } src_prepare() { - if use lto; then + if [[ ${use_lto} = "yes" ]]; then rm -v "${WORKDIR}"/firefox-patches/*-LTO-Only-enable-LTO-*.patch || die fi @@ -897,13 +902,7 @@ src_configure() { mozconfig_add_options_ac '+x11' --enable-default-toolkit=cairo-gtk3-x11-only fi - # LTO is handled via configure - # -Werror=lto-type-mismatch -Werror=odr are going to fail with GCC, - # bmo#1516758, bgo#942288 - filter-lto - filter-flags -Werror=lto-type-mismatch -Werror=odr - - if use lto ; then + if [[ ${use_lto} = "yes" ]] ; then if use clang ; then # Upstream only supports lld or mold when using clang. if tc-ld-is-mold ; then @@ -1086,7 +1085,7 @@ src_configure() { src_compile() { local virtx_cmd= - if tc-ld-is-mold && use lto; then + if [[ ${use_lto} == "yes" ]] && tc-ld-is-mold; then # increase ulimit with mold+lto, bugs #892641, #907485 if ! ulimit -n 16384 1>/dev/null 2>&1 ; then ewarn "Unable to modify ulimits - building with mold+lto might fail due to low ulimit -n resources." diff --git a/www-client/firefox/firefox-132.0.1.ebuild b/www-client/firefox/firefox-132.0.1-r1.ebuild index f9ec87f960b8..3c8bc526fd20 100644 --- a/www-client/firefox/firefox-132.0.1.ebuild +++ b/www-client/firefox/firefox-132.0.1-r1.ebuild @@ -6,6 +6,8 @@ EAPI=8 FIREFOX_PATCHSET="firefox-132-patches-02.tar.xz" LLVM_COMPAT=( 17 18 19 ) +# This will also filter Rust versions in the non-llvm-r1 case, but this is fine. +RUST_NEEDS_LLVM=1 PYTHON_COMPAT=( python3_{10..12} ) PYTHON_REQ_USE="ncurses,sqlite,ssl" @@ -30,10 +32,10 @@ fi if [[ -n ${MOZ_ESR} ]] ; then # ESR releases have slightly different version numbers MOZ_PV="${MOZ_PV}esr" - HOMEPAGE="https://www.mozilla.com/firefox https://www.mozilla.org/firefox/enterprise/" + HOMEPAGE="https://www.mozilla.org/firefox https://www.mozilla.org/firefox/enterprise/" SLOT="esr" else - HOMEPAGE="https://www.mozilla.com/firefox" + HOMEPAGE="https://www.mozilla.org/firefox" SLOT="rapid" fi @@ -43,7 +45,7 @@ MOZ_PV_DISTFILES="${MOZ_PV}${MOZ_PV_SUFFIX}" MOZ_P_DISTFILES="${MOZ_PN}-${MOZ_PV_DISTFILES}" inherit autotools check-reqs desktop flag-o-matic gnome2-utils linux-info llvm-r1 multiprocessing \ - optfeature pax-utils python-any-r1 readme.gentoo-r1 toolchain-funcs virtualx xdg + optfeature pax-utils python-any-r1 rust readme.gentoo-r1 toolchain-funcs virtualx xdg MOZ_SRC_BASE_URI="https://archive.mozilla.org/pub/${MOZ_PN}/releases/${MOZ_PV}" @@ -62,7 +64,7 @@ S="${WORKDIR}/${PN}-${PV%_*}" LICENSE="MPL-2.0 GPL-2 LGPL-2.1" KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86" -IUSE="clang dbus debug eme-free hardened hwaccel jack +jumbo-build libproxy lto openh264 pgo" +IUSE="clang dbus debug eme-free hardened hwaccel jack +jumbo-build libproxy openh264 pgo" IUSE+=" pulseaudio sndio selinux +system-av1 +system-harfbuzz +system-icu +system-jpeg" IUSE+=" +system-jpeg +system-libevent +system-libvpx system-png +system-webp +telemetry valgrind" IUSE+=" wayland wifi +X" @@ -72,9 +74,9 @@ IUSE+=" +gmp-autoupdate gnome-shell" REQUIRED_USE="|| ( X wayland ) debug? ( !system-av1 ) - pgo? ( lto ) wayland? ( dbus ) - wifi? ( dbus )" + wifi? ( dbus ) +" FF_ONLY_DEPEND="!www-client/firefox:0 selinux? ( sec-policy/selinux-mozilla )" @@ -84,7 +86,6 @@ BDEPEND="${PYTHON_DEPS} sys-devel/llvm:${LLVM_SLOT} clang? ( sys-devel/lld:${LLVM_SLOT} - virtual/rust:0/llvm-${LLVM_SLOT} ) pgo? ( sys-libs/compiler-rt-sanitizers:${LLVM_SLOT}[profile] ) ') @@ -94,8 +95,6 @@ BDEPEND="${PYTHON_DEPS} >=dev-util/cbindgen-0.26.0 net-libs/nodejs virtual/pkgconfig - !clang? ( >=virtual/rust-1.76 ) - !elibc_glibc? ( dev-lang/rust ) amd64? ( >=dev-lang/nasm-2.14 ) x86? ( >=dev-lang/nasm-2.14 ) pgo? ( @@ -222,11 +221,6 @@ llvm_check_deps() { return 1 fi - if ! has_version -b "virtual/rust:0/llvm-${LLVM_SLOT}" ; then - einfo "virtual/rust:0/llvm-${LLVM_SLOT} is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2 - return 1 - fi - if use pgo ; then if ! has_version -b "=sys-libs/compiler-rt-sanitizers-${LLVM_SLOT}*[profile]" ; then einfo "=sys-libs/compiler-rt-sanitizers-${LLVM_SLOT}*[profile] is missing!" >&2 @@ -449,7 +443,7 @@ pkg_pretend() { fi # Ensure we have enough disk space to compile - if use pgo || use lto || use debug ; then + if use pgo || tc-is-lto || use debug ; then CHECKREQS_DISK_BUILD="13500M" else CHECKREQS_DISK_BUILD="6600M" @@ -460,15 +454,33 @@ pkg_pretend() { } pkg_setup() { + + # Get LTO from environment; export after this phase for use in src_configure (etc) + use_lto=no + if [[ ${MERGE_TYPE} != binary ]] ; then + + if tc-is-lto; then + use_lto=yes + # LTO is handled via configure + # -Werror=lto-type-mismatch -Werror=odr are going to fail with GCC, + # bmo#1516758, bgo#942288 + filter-lto + filter-flags -Werror=lto-type-mismatch -Werror=odr + fi + if use pgo ; then + if [[ ${use_lto} == "yes" ]]; then + eerror "Building ${PN} with USE=pgo requires LTO!" + die "Please fix your CFLAGS/CXXFLAGS." + fi if ! has userpriv ${FEATURES} ; then eerror "Building ${PN} with USE=pgo and FEATURES=-userpriv is not supported!" fi fi # Ensure we have enough disk space to compile - if use pgo || use lto || use debug ; then + if [[ ${use_lto} == "yes" ]] || use pgo || use debug ; then CHECKREQS_DISK_BUILD="13500M" else CHECKREQS_DISK_BUILD="6400M" @@ -477,25 +489,16 @@ pkg_setup() { check-reqs_pkg_setup llvm-r1_pkg_setup - - if use clang && use lto && tc-ld-is-lld ; then - local version_lld=$(ld.lld --version 2>/dev/null | awk '{ print $2 }') - [[ -n ${version_lld} ]] && version_lld=$(ver_cut 1 "${version_lld}") - [[ -z ${version_lld} ]] && die "Failed to read ld.lld version!" - - local version_llvm_rust=$(rustc -Vv 2>/dev/null | grep -F -- 'LLVM version:' | awk '{ print $3 }') - [[ -n ${version_llvm_rust} ]] && version_llvm_rust=$(ver_cut 1 "${version_llvm_rust}") - [[ -z ${version_llvm_rust} ]] && die "Failed to read used LLVM version from rustc!" - - if ver_test "${version_lld}" -ne "${version_llvm_rust}" ; then - eerror "Rust is using LLVM version ${version_llvm_rust} but ld.lld version belongs to LLVM version ${version_lld}." - eerror "You will be unable to link ${CATEGORY}/${PN}. To proceed you have the following options:" - eerror " - Manually switch rust version using 'eselect rust' to match used LLVM version" - eerror " - Switch to dev-lang/rust[system-llvm] which will guarantee matching version" - eerror " - Build ${CATEGORY}/${PN} without USE=lto" - eerror " - Rebuild lld with llvm that was used to build rust (may need to rebuild the whole " - eerror " llvm/clang/lld/rust chain depending on your @world updates)" - die "LLVM version used by Rust (${version_llvm_rust}) does not match with ld.lld version (${version_lld})!" + rust_pkg_setup + + if [[ ${use_lto} == "yes" ]]; then + if use clang; then + if ! (tc-ld-is-lld || tc-ld-is-mold) ; then + eerror "Building ${PN} with lto and requires the sys-devel/lld or sys-devel/mold linker!" + die "Please fix your toolchain configuration." + fi + else + die "Building ${PN} with lto requires clang!" fi fi @@ -553,6 +556,8 @@ pkg_setup() { export LC_ALL=C fi + export use_lto + CONFIG_CHECK="~SECCOMP" WARNING_SECCOMP="CONFIG_SECCOMP not set! This system will be unable to play DRM-protected content." linux-info_pkg_setup @@ -576,7 +581,7 @@ src_unpack() { } src_prepare() { - if use lto; then + if [[ ${use_lto} = "yes" ]]; then rm -v "${WORKDIR}"/firefox-patches/*-LTO-Only-enable-LTO-*.patch || die fi @@ -895,13 +900,7 @@ src_configure() { mozconfig_add_options_ac '+x11' --enable-default-toolkit=cairo-gtk3-x11-only fi - # LTO is handled via configure - # -Werror=lto-type-mismatch -Werror=odr are going to fail with GCC, - # bmo#1516758, bgo#942288 - filter-lto - filter-flags -Werror=lto-type-mismatch -Werror=odr - - if use lto ; then + if [[ ${use_lto} = "yes" ]] ; then if use clang ; then # Upstream only supports lld or mold when using clang. if tc-ld-is-mold ; then @@ -1084,7 +1083,7 @@ src_configure() { src_compile() { local virtx_cmd= - if tc-ld-is-mold && use lto; then + if [[ ${use_lto} == "yes" ]] && tc-ld-is-mold; then # increase ulimit with mold+lto, bugs #892641, #907485 if ! ulimit -n 16384 1>/dev/null 2>&1 ; then ewarn "Unable to modify ulimits - building with mold+lto might fail due to low ulimit -n resources." diff --git a/www-client/seamonkey/seamonkey-2.53.18.2-r1.ebuild b/www-client/seamonkey/seamonkey-2.53.18.2-r2.ebuild index f0d536cad6e9..4a35f691bde8 100644 --- a/www-client/seamonkey/seamonkey-2.53.18.2-r1.ebuild +++ b/www-client/seamonkey/seamonkey-2.53.18.2-r2.ebuild @@ -34,7 +34,7 @@ S="${WORKDIR}/${MY_MOZ_P}" MOZ_GENERATE_LANGPACKS=1 MOZ_L10N_SOURCEDIR="${S}/${P}-l10n" inherit autotools check-reqs desktop edos2unix flag-o-matic llvm-r1 mozcoreconf-v6 mozlinguas-v2 pax-utils \ - toolchain-funcs xdg-utils + rust toolchain-funcs xdg-utils DESCRIPTION="Seamonkey Web Browser" HOMEPAGE="https://www.seamonkey-project.org/" @@ -61,7 +61,6 @@ BDEPEND=" sys-devel/llvm:${LLVM_SLOT}= ') virtual/pkgconfig - virtual/rust amd64? ( >=dev-lang/yasm-1.1 ) lto? ( sys-devel/binutils[gold] ) x86? ( >=dev-lang/yasm-1.1 ) @@ -154,6 +153,7 @@ pkg_setup() { llvm-r1_pkg_setup einfo "Using LLVM slot ${LLVM_SLOT} to build." >&2 + rust_pkg_setup moz_pkgsetup } diff --git a/www-client/seamonkey/seamonkey-2.53.19.ebuild b/www-client/seamonkey/seamonkey-2.53.19-r1.ebuild index 6e06f3bd6d4d..7c4e59bd5119 100644 --- a/www-client/seamonkey/seamonkey-2.53.19.ebuild +++ b/www-client/seamonkey/seamonkey-2.53.19-r1.ebuild @@ -37,7 +37,7 @@ S="${WORKDIR}/${MY_MOZ_P}" MOZ_GENERATE_LANGPACKS=1 MOZ_L10N_SOURCEDIR="${S}/${P}-l10n" inherit autotools check-reqs desktop edos2unix flag-o-matic llvm-r1 mozcoreconf-v6 mozlinguas-v2 pax-utils \ - toolchain-funcs xdg-utils + rust toolchain-funcs xdg-utils LICENSE="MPL-2.0 GPL-2 LGPL-2.1" SLOT="0" @@ -61,7 +61,6 @@ BDEPEND=" sys-devel/llvm:${LLVM_SLOT}= ') virtual/pkgconfig - virtual/rust amd64? ( >=dev-lang/yasm-1.1 ) lto? ( sys-devel/binutils[gold] ) x86? ( >=dev-lang/yasm-1.1 ) @@ -155,6 +154,7 @@ pkg_setup() { llvm-r1_pkg_setup einfo "Using LLVM slot ${LLVM_SLOT} to build." >&2 + rust_pkg_setup moz_pkgsetup } diff --git a/x11-terms/alacritty/alacritty-0.12.3-r1.ebuild b/x11-terms/alacritty/alacritty-0.12.3-r1.ebuild new file mode 100644 index 000000000000..3a469281ea15 --- /dev/null +++ b/x11-terms/alacritty/alacritty-0.12.3-r1.ebuild @@ -0,0 +1,362 @@ +# Copyright 2017-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +CRATES=" + adler@1.0.2 + android-activity@0.4.0 + android-properties@0.2.2 + arrayref@0.3.6 + arrayvec@0.7.2 + atty@0.2.14 + autocfg@1.1.0 + base64@0.13.0 + bitflags@1.3.2 + block@0.1.6 + block-sys@0.1.0-beta.1 + block2@0.2.0-alpha.6 + bumpalo@3.12.0 + bytemuck@1.12.1 + calloop@0.10.4 + cc@1.0.73 + cfg-if@0.1.10 + cfg-if@1.0.0 + cfg_aliases@0.1.1 + cgl@0.3.2 + clap@3.2.21 + clap_complete@3.2.5 + clap_derive@3.2.18 + clap_lex@0.2.4 + clipboard-win@3.1.1 + cmake@0.1.48 + cocoa@0.24.0 + cocoa-foundation@0.1.0 + copypasta@0.8.2 + core-foundation@0.9.3 + core-foundation-sys@0.8.3 + core-graphics@0.22.3 + core-graphics-types@0.1.1 + core-text@19.2.0 + crc32fast@1.3.2 + crossbeam-channel@0.5.6 + crossbeam-utils@0.8.12 + crossfont@0.5.1 + cty@0.2.2 + dirs@4.0.0 + dirs-sys@0.3.7 + dispatch@0.2.0 + dlib@0.5.0 + downcast-rs@1.2.0 + dwrote@0.11.0 + embed-resource@1.7.3 + expat-sys@2.1.6 + filetime@0.2.17 + flate2@1.0.24 + fnv@1.0.7 + foreign-types@0.3.2 + foreign-types@0.5.0 + foreign-types-macros@0.2.2 + foreign-types-shared@0.1.1 + foreign-types-shared@0.3.1 + freetype-rs@0.26.0 + freetype-sys@0.13.1 + fsevent-sys@4.1.0 + fuchsia-zircon@0.3.3 + fuchsia-zircon-sys@0.3.3 + gethostname@0.2.3 + getrandom@0.2.7 + gl_generator@0.14.0 + glutin@0.30.9 + glutin_egl_sys@0.5.0 + glutin_glx_sys@0.4.0 + glutin_wgl_sys@0.4.0 + hashbrown@0.12.3 + heck@0.4.0 + hermit-abi@0.1.19 + indexmap@1.9.1 + inotify@0.9.6 + inotify-sys@0.1.5 + instant@0.1.12 + iovec@0.1.4 + itoa@1.0.3 + jni-sys@0.3.0 + jobserver@0.1.25 + js-sys@0.3.60 + kernel32-sys@0.2.2 + khronos_api@3.1.0 + kqueue@1.0.7 + kqueue-sys@1.0.3 + lazy-bytes-cast@5.0.1 + lazy_static@1.4.0 + lazycell@1.3.0 + libc@0.2.132 + libloading@0.7.3 + linked-hash-map@0.5.6 + lock_api@0.4.8 + log@0.4.17 + malloc_buf@0.0.6 + memchr@2.5.0 + memmap2@0.5.10 + memoffset@0.6.5 + minimal-lexical@0.2.1 + miniz_oxide@0.5.4 + mio@0.6.23 + mio@0.8.4 + mio-anonymous-pipes@0.2.0 + mio-extras@2.0.6 + mio-uds@0.6.8 + miow@0.2.2 + miow@0.3.7 + ndk@0.7.0 + ndk-context@0.1.1 + ndk-sys@0.4.1+23.1.7779620 + net2@0.2.37 + nix@0.24.2 + nix@0.25.1 + nom@7.1.1 + notify@5.1.0 + num_enum@0.5.7 + num_enum_derive@0.5.7 + objc@0.2.7 + objc-foundation@0.1.1 + objc-sys@0.2.0-beta.2 + objc2@0.3.0-beta.3.patch-leaks.2 + objc2-encode@2.0.0-pre.2 + objc_id@0.1.1 + once_cell@1.14.0 + orbclient@0.3.42 + os_str_bytes@6.3.0 + parking_lot@0.11.2 + parking_lot@0.12.1 + parking_lot_core@0.8.5 + parking_lot_core@0.9.3 + percent-encoding@2.2.0 + pkg-config@0.3.25 + png@0.17.6 + proc-macro-crate@1.2.1 + proc-macro-error@1.0.4 + proc-macro-error-attr@1.0.4 + proc-macro2@1.0.43 + quote@1.0.21 + raw-window-handle@0.5.0 + redox_syscall@0.2.16 + redox_syscall@0.3.4 + redox_users@0.4.3 + regex-automata@0.1.10 + regex-syntax@0.6.27 + rustc_version@0.4.0 + ryu@1.0.11 + same-file@1.0.6 + scoped-tls@1.0.0 + scopeguard@1.1.0 + sctk-adwaita@0.5.4 + semver@1.0.14 + serde@1.0.144 + serde_derive@1.0.144 + serde_json@1.0.85 + serde_yaml@0.8.26 + servo-fontconfig@0.5.1 + servo-fontconfig-sys@5.1.0 + signal-hook@0.3.14 + signal-hook-mio@0.2.3 + signal-hook-registry@1.4.0 + slab@0.4.7 + slotmap@1.0.6 + smallvec@1.9.0 + smithay-client-toolkit@0.16.1 + smithay-clipboard@0.6.6 + spsc-buffer@0.1.1 + strict-num@0.1.0 + strsim@0.10.0 + syn@1.0.99 + termcolor@1.1.3 + textwrap@0.15.1 + thiserror@1.0.35 + thiserror-impl@1.0.35 + tiny-skia@0.8.3 + tiny-skia-path@0.8.3 + toml@0.5.8 + unicode-ident@1.0.4 + unicode-width@0.1.10 + utf8parse@0.2.0 + vec_map@0.8.2 + version_check@0.9.4 + vswhom@0.1.0 + vswhom-sys@0.1.1 + vte@0.10.1 + vte_generate_state_changes@0.1.1 + walkdir@2.3.2 + wasi@0.11.0+wasi-snapshot-preview1 + wasm-bindgen@0.2.83 + wasm-bindgen-backend@0.2.83 + wasm-bindgen-macro@0.2.83 + wasm-bindgen-macro-support@0.2.83 + wasm-bindgen-shared@0.2.83 + wayland-client@0.29.5 + wayland-commons@0.29.5 + wayland-cursor@0.29.5 + wayland-protocols@0.29.5 + wayland-scanner@0.29.5 + wayland-sys@0.29.5 + wayland-sys@0.30.0 + web-sys@0.3.60 + winapi@0.2.8 + winapi@0.3.9 + winapi-build@0.1.1 + winapi-i686-pc-windows-gnu@0.4.0 + winapi-util@0.1.5 + winapi-wsapoll@0.1.1 + winapi-x86_64-pc-windows-gnu@0.4.0 + windows-sys@0.36.1 + windows-sys@0.42.0 + windows-sys@0.45.0 + windows-targets@0.42.1 + windows_aarch64_gnullvm@0.42.1 + windows_aarch64_msvc@0.36.1 + windows_aarch64_msvc@0.42.1 + windows_i686_gnu@0.36.1 + windows_i686_gnu@0.42.1 + windows_i686_msvc@0.36.1 + windows_i686_msvc@0.42.1 + windows_x86_64_gnu@0.36.1 + windows_x86_64_gnu@0.42.1 + windows_x86_64_gnullvm@0.42.1 + windows_x86_64_msvc@0.36.1 + windows_x86_64_msvc@0.42.1 + winit@0.28.7 + winreg@0.10.1 + wio@0.2.2 + ws2_32-sys@0.2.1 + x11-clipboard@0.7.1 + x11-dl@2.20.0 + x11rb@0.10.1 + x11rb-protocol@0.10.0 + xcursor@0.3.4 + xdg@2.4.1 + xml-rs@0.8.4 + yaml-rust@0.4.5 +" + +MY_PV="${PV//_rc/-rc}" +# https://bugs.gentoo.org/725962 +PYTHON_COMPAT=( python3_{10..12} ) + +inherit bash-completion-r1 cargo desktop python-any-r1 + +DESCRIPTION="GPU-accelerated terminal emulator" +HOMEPAGE="https://alacritty.org" + +if [ ${PV} == "9999" ] ; then + inherit git-r3 + EGIT_REPO_URI="https://github.com/alacritty/alacritty" +else + SRC_URI="https://github.com/${PN}/${PN}/archive/refs/tags/v${MY_PV}.tar.gz -> ${P}.tar.gz + ${CARGO_CRATE_URIS}" + KEYWORDS="amd64 arm64 ppc64 ~riscv x86" +fi +S="${WORKDIR}/${PN}-${MY_PV}" + +LICENSE="Apache-2.0 Artistic-2 Boost-1.0 BSD BSD-2 CC0-1.0 ISC MIT MPL-2.0 Unicode-DFS-2016 ZLIB" +SLOT="0" +IUSE="wayland +X" + +REQUIRED_USE="|| ( wayland X )" + +COMMON_DEPEND=" + media-libs/fontconfig:= + media-libs/freetype:2 + x11-libs/libxkbcommon + X? ( x11-libs/libxcb:= ) +" + +DEPEND=" + ${COMMON_DEPEND} + ${PYTHON_DEPS} +" + +RDEPEND="${COMMON_DEPEND} + media-libs/mesa[X?,wayland?] + sys-libs/zlib + sys-libs/ncurses:0 + wayland? ( dev-libs/wayland ) + X? ( + x11-libs/libXcursor + x11-libs/libXi + x11-libs/libXrandr + ) +" + +BDEPEND=" + dev-build/cmake +" + +QA_FLAGS_IGNORED="usr/bin/alacritty" + +src_unpack() { + if [[ "${PV}" == *9999* ]]; then + git-r3_src_unpack + cargo_live_src_unpack + else + cargo_src_unpack + fi +} + +src_configure() { + local myfeatures=( + $(usex X x11 '') + $(usev wayland) + ) + cargo_src_configure --no-default-features +} + +src_compile() { + cd alacritty || die + cargo_src_compile +} + +src_install() { + cargo_src_install --path alacritty + + newman extra/alacritty.man alacritty.1 + newman extra/alacritty-msg.man alacritty-msg.1 + + newbashcomp extra/completions/alacritty.bash alacritty + + insinto /usr/share/fish/vendor_completions.d/ + doins extra/completions/alacritty.fish + + insinto /usr/share/zsh/site-functions + doins extra/completions/_alacritty + + domenu extra/linux/Alacritty.desktop + newicon extra/logo/compat/alacritty-term.svg Alacritty.svg + + insinto /usr/share/metainfo + doins extra/linux/org.alacritty.Alacritty.appdata.xml + + insinto /usr/share/alacritty/scripts + doins -r scripts/* + + local DOCS=( + alacritty.yml + CHANGELOG.md INSTALL.md README.md + docs/{ansicode.txt,escape_support.md,features.md} + ) + einstalldocs +} + +src_test() { + cd alacritty || die + cargo_src_test +} + +pkg_postinst() { + if [[ -z ${REPLACING_VERSIONS} ]]; then + einfo "Configuration files for ${CATEGORY}/${PN}" + einfo "in \$HOME often need to be updated after a version change" + einfo "" + einfo "An up-to-date sample configuration file always can be found at" + einfo "${ROOT}/usr/share/doc/${PF}/alacritty.yml.*" + fi +} diff --git a/x11-terms/alacritty/alacritty-0.12.3.ebuild b/x11-terms/alacritty/alacritty-0.12.3.ebuild deleted file mode 100644 index a1a07a3d4499..000000000000 --- a/x11-terms/alacritty/alacritty-0.12.3.ebuild +++ /dev/null @@ -1,364 +0,0 @@ -# Copyright 2017-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -CRATES=" - adler-1.0.2 - android-activity-0.4.0 - android-properties-0.2.2 - arrayref-0.3.6 - arrayvec-0.7.2 - atty-0.2.14 - autocfg-1.1.0 - base64-0.13.0 - bitflags-1.3.2 - block-0.1.6 - block-sys-0.1.0-beta.1 - block2-0.2.0-alpha.6 - bumpalo-3.12.0 - bytemuck-1.12.1 - calloop-0.10.4 - cc-1.0.73 - cfg-if-0.1.10 - cfg-if-1.0.0 - cfg_aliases-0.1.1 - cgl-0.3.2 - clap-3.2.21 - clap_complete-3.2.5 - clap_derive-3.2.18 - clap_lex-0.2.4 - clipboard-win-3.1.1 - cmake-0.1.48 - cocoa-0.24.0 - cocoa-foundation-0.1.0 - copypasta-0.8.2 - core-foundation-0.9.3 - core-foundation-sys-0.8.3 - core-graphics-0.22.3 - core-graphics-types-0.1.1 - core-text-19.2.0 - crc32fast-1.3.2 - crossbeam-channel-0.5.6 - crossbeam-utils-0.8.12 - crossfont-0.5.1 - cty-0.2.2 - dirs-4.0.0 - dirs-sys-0.3.7 - dispatch-0.2.0 - dlib-0.5.0 - downcast-rs-1.2.0 - dwrote-0.11.0 - embed-resource-1.7.3 - expat-sys-2.1.6 - filetime-0.2.17 - flate2-1.0.24 - fnv-1.0.7 - foreign-types-0.3.2 - foreign-types-0.5.0 - foreign-types-macros-0.2.2 - foreign-types-shared-0.1.1 - foreign-types-shared-0.3.1 - freetype-rs-0.26.0 - freetype-sys-0.13.1 - fsevent-sys-4.1.0 - fuchsia-zircon-0.3.3 - fuchsia-zircon-sys-0.3.3 - gethostname-0.2.3 - getrandom-0.2.7 - gl_generator-0.14.0 - glutin-0.30.9 - glutin_egl_sys-0.5.0 - glutin_glx_sys-0.4.0 - glutin_wgl_sys-0.4.0 - hashbrown-0.12.3 - heck-0.4.0 - hermit-abi-0.1.19 - indexmap-1.9.1 - inotify-0.9.6 - inotify-sys-0.1.5 - instant-0.1.12 - iovec-0.1.4 - itoa-1.0.3 - jni-sys-0.3.0 - jobserver-0.1.25 - js-sys-0.3.60 - kernel32-sys-0.2.2 - khronos_api-3.1.0 - kqueue-1.0.7 - kqueue-sys-1.0.3 - lazy-bytes-cast-5.0.1 - lazy_static-1.4.0 - lazycell-1.3.0 - libc-0.2.132 - libloading-0.7.3 - linked-hash-map-0.5.6 - lock_api-0.4.8 - log-0.4.17 - malloc_buf-0.0.6 - memchr-2.5.0 - memmap2-0.5.10 - memoffset-0.6.5 - minimal-lexical-0.2.1 - miniz_oxide-0.5.4 - mio-0.6.23 - mio-0.8.4 - mio-anonymous-pipes-0.2.0 - mio-extras-2.0.6 - mio-uds-0.6.8 - miow-0.2.2 - miow-0.3.7 - ndk-0.7.0 - ndk-context-0.1.1 - ndk-sys-0.4.1+23.1.7779620 - net2-0.2.37 - nix-0.24.2 - nix-0.25.1 - nom-7.1.1 - notify-5.1.0 - num_enum-0.5.7 - num_enum_derive-0.5.7 - objc-0.2.7 - objc-foundation-0.1.1 - objc-sys-0.2.0-beta.2 - objc2-0.3.0-beta.3.patch-leaks.2 - objc2-encode-2.0.0-pre.2 - objc_id-0.1.1 - once_cell-1.14.0 - orbclient-0.3.42 - os_str_bytes-6.3.0 - parking_lot-0.11.2 - parking_lot-0.12.1 - parking_lot_core-0.8.5 - parking_lot_core-0.9.3 - percent-encoding-2.2.0 - pkg-config-0.3.25 - png-0.17.6 - proc-macro-crate-1.2.1 - proc-macro-error-1.0.4 - proc-macro-error-attr-1.0.4 - proc-macro2-1.0.43 - quote-1.0.21 - raw-window-handle-0.5.0 - redox_syscall-0.2.16 - redox_syscall-0.3.4 - redox_users-0.4.3 - regex-automata-0.1.10 - regex-syntax-0.6.27 - rustc_version-0.4.0 - ryu-1.0.11 - same-file-1.0.6 - scoped-tls-1.0.0 - scopeguard-1.1.0 - sctk-adwaita-0.5.4 - semver-1.0.14 - serde-1.0.144 - serde_derive-1.0.144 - serde_json-1.0.85 - serde_yaml-0.8.26 - servo-fontconfig-0.5.1 - servo-fontconfig-sys-5.1.0 - signal-hook-0.3.14 - signal-hook-mio-0.2.3 - signal-hook-registry-1.4.0 - slab-0.4.7 - slotmap-1.0.6 - smallvec-1.9.0 - smithay-client-toolkit-0.16.1 - smithay-clipboard-0.6.6 - spsc-buffer-0.1.1 - strict-num-0.1.0 - strsim-0.10.0 - syn-1.0.99 - termcolor-1.1.3 - textwrap-0.15.1 - thiserror-1.0.35 - thiserror-impl-1.0.35 - tiny-skia-0.8.3 - tiny-skia-path-0.8.3 - toml-0.5.8 - unicode-ident-1.0.4 - unicode-width-0.1.10 - utf8parse-0.2.0 - vec_map-0.8.2 - version_check-0.9.4 - vswhom-0.1.0 - vswhom-sys-0.1.1 - vte-0.10.1 - vte_generate_state_changes-0.1.1 - walkdir-2.3.2 - wasi-0.11.0+wasi-snapshot-preview1 - wasm-bindgen-0.2.83 - wasm-bindgen-backend-0.2.83 - wasm-bindgen-macro-0.2.83 - wasm-bindgen-macro-support-0.2.83 - wasm-bindgen-shared-0.2.83 - wayland-client-0.29.5 - wayland-commons-0.29.5 - wayland-cursor-0.29.5 - wayland-protocols-0.29.5 - wayland-scanner-0.29.5 - wayland-sys-0.29.5 - wayland-sys-0.30.0 - web-sys-0.3.60 - winapi-0.2.8 - winapi-0.3.9 - winapi-build-0.1.1 - winapi-i686-pc-windows-gnu-0.4.0 - winapi-util-0.1.5 - winapi-wsapoll-0.1.1 - winapi-x86_64-pc-windows-gnu-0.4.0 - windows-sys-0.36.1 - windows-sys-0.42.0 - windows-sys-0.45.0 - windows-targets-0.42.1 - windows_aarch64_gnullvm-0.42.1 - windows_aarch64_msvc-0.36.1 - windows_aarch64_msvc-0.42.1 - windows_i686_gnu-0.36.1 - windows_i686_gnu-0.42.1 - windows_i686_msvc-0.36.1 - windows_i686_msvc-0.42.1 - windows_x86_64_gnu-0.36.1 - windows_x86_64_gnu-0.42.1 - windows_x86_64_gnullvm-0.42.1 - windows_x86_64_msvc-0.36.1 - windows_x86_64_msvc-0.42.1 - winit-0.28.7 - winreg-0.10.1 - wio-0.2.2 - ws2_32-sys-0.2.1 - x11-clipboard-0.7.1 - x11-dl-2.20.0 - x11rb-0.10.1 - x11rb-protocol-0.10.0 - xcursor-0.3.4 - xdg-2.4.1 - xml-rs-0.8.4 - yaml-rust-0.4.5 -" - -MY_PV="${PV//_rc/-rc}" -# https://bugs.gentoo.org/725962 -PYTHON_COMPAT=( python3_{10..12} ) - -inherit bash-completion-r1 cargo desktop python-any-r1 - -DESCRIPTION="GPU-accelerated terminal emulator" -HOMEPAGE="https://alacritty.org" - -if [ ${PV} == "9999" ] ; then - inherit git-r3 - EGIT_REPO_URI="https://github.com/alacritty/alacritty" -else - SRC_URI="https://github.com/${PN}/${PN}/archive/refs/tags/v${MY_PV}.tar.gz -> ${P}.tar.gz - $(cargo_crate_uris)" - KEYWORDS="amd64 arm64 ppc64 ~riscv x86" -fi - -LICENSE="Apache-2.0 Artistic-2 Boost-1.0 BSD BSD-2 CC0-1.0 ISC MIT MPL-2.0 Unicode-DFS-2016 ZLIB" -SLOT="0" -IUSE="wayland +X" - -REQUIRED_USE="|| ( wayland X )" - -COMMON_DEPEND=" - media-libs/fontconfig:= - media-libs/freetype:2 - x11-libs/libxkbcommon - X? ( x11-libs/libxcb:= ) -" - -DEPEND=" - ${COMMON_DEPEND} - ${PYTHON_DEPS} -" - -RDEPEND="${COMMON_DEPEND} - media-libs/mesa[X?,wayland?] - sys-libs/zlib - sys-libs/ncurses:0 - wayland? ( dev-libs/wayland ) - X? ( - x11-libs/libXcursor - x11-libs/libXi - x11-libs/libXrandr - ) -" - -BDEPEND=" - dev-build/cmake - >=virtual/rust-1.57.0 -" - -QA_FLAGS_IGNORED="usr/bin/alacritty" - -S="${WORKDIR}/${PN}-${MY_PV}" - -src_unpack() { - if [[ "${PV}" == *9999* ]]; then - git-r3_src_unpack - cargo_live_src_unpack - else - cargo_src_unpack - fi -} - -src_configure() { - local myfeatures=( - $(usex X x11 '') - $(usev wayland) - ) - cargo_src_configure --no-default-features -} - -src_compile() { - cd alacritty || die - cargo_src_compile -} - -src_install() { - cargo_src_install --path alacritty - - newman extra/alacritty.man alacritty.1 - newman extra/alacritty-msg.man alacritty-msg.1 - - newbashcomp extra/completions/alacritty.bash alacritty - - insinto /usr/share/fish/vendor_completions.d/ - doins extra/completions/alacritty.fish - - insinto /usr/share/zsh/site-functions - doins extra/completions/_alacritty - - domenu extra/linux/Alacritty.desktop - newicon extra/logo/compat/alacritty-term.svg Alacritty.svg - - insinto /usr/share/metainfo - doins extra/linux/org.alacritty.Alacritty.appdata.xml - - insinto /usr/share/alacritty/scripts - doins -r scripts/* - - local DOCS=( - alacritty.yml - CHANGELOG.md INSTALL.md README.md - docs/{ansicode.txt,escape_support.md,features.md} - ) - einstalldocs -} - -src_test() { - cd alacritty || die - cargo_src_test -} - -pkg_postinst() { - if [[ -z ${REPLACING_VERSIONS} ]]; then - einfo "Configuration files for ${CATEGORY}/${PN}" - einfo "in \$HOME often need to be updated after a version change" - einfo "" - einfo "An up-to-date sample configuration file always can be found at" - einfo "${ROOT}/usr/share/doc/${PF}/alacritty.yml.*" - fi -} diff --git a/x11-terms/alacritty/alacritty-0.13.2.ebuild b/x11-terms/alacritty/alacritty-0.13.2-r1.ebuild index 5a29a07633b4..2ddcc021c043 100644 --- a/x11-terms/alacritty/alacritty-0.13.2.ebuild +++ b/x11-terms/alacritty/alacritty-0.13.2-r1.ebuild @@ -312,7 +312,6 @@ RDEPEND=" BDEPEND=" dev-build/cmake - >=virtual/rust-1.70.0 app-text/scdoc " diff --git a/x11-terms/alacritty/alacritty-0.14.0.ebuild b/x11-terms/alacritty/alacritty-0.14.0-r1.ebuild index dcabfa5c5ad0..a4749f75d4d4 100644 --- a/x11-terms/alacritty/alacritty-0.14.0.ebuild +++ b/x11-terms/alacritty/alacritty-0.14.0-r1.ebuild @@ -284,6 +284,8 @@ CRATES=" MY_PV="${PV//_rc/-rc}" +RUST_MIN_VER="1.74.1" + inherit bash-completion-r1 cargo desktop DESCRIPTION="GPU-accelerated terminal emulator" @@ -339,7 +341,6 @@ RDEPEND=" BDEPEND=" dev-build/cmake - >=virtual/rust-1.74.0 app-text/scdoc " diff --git a/x11-terms/alacritty/alacritty-9999.ebuild b/x11-terms/alacritty/alacritty-9999.ebuild index 80b205f702c2..2ef2caefddb8 100644 --- a/x11-terms/alacritty/alacritty-9999.ebuild +++ b/x11-terms/alacritty/alacritty-9999.ebuild @@ -8,6 +8,8 @@ CRATES=" MY_PV="${PV//_rc/-rc}" +RUST_MIN_VER="1.74.1" + inherit bash-completion-r1 cargo desktop DESCRIPTION="GPU-accelerated terminal emulator" @@ -21,6 +23,7 @@ else ${CARGO_CRATE_URIS}" KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86" fi +S="${WORKDIR}/${PN}-${MY_PV}" LICENSE="Apache-2.0" # Dependent crate licenses @@ -58,14 +61,11 @@ RDEPEND="${COMMON_DEPEND} BDEPEND=" dev-build/cmake - >=virtual/rust-1.70.0 app-text/scdoc " QA_FLAGS_IGNORED="usr/bin/alacritty" -S="${WORKDIR}/${PN}-${MY_PV}" - src_unpack() { if [[ "${PV}" == *9999* ]]; then git-r3_src_unpack diff --git a/x11-terms/wezterm/wezterm-20240203.110809-r1.ebuild b/x11-terms/wezterm/wezterm-20240203.110809-r2.ebuild index 344b14163d58..065984499616 100644 --- a/x11-terms/wezterm/wezterm-20240203.110809-r1.ebuild +++ b/x11-terms/wezterm/wezterm-20240203.110809-r2.ebuild @@ -657,6 +657,9 @@ CRATES=" zvariant_utils@1.0.1 " +# stdsimd +RUST_MAX_VER="1.77.1" + inherit bash-completion-r1 desktop cargo xdg-utils DESCRIPTION="A GPU-accelerated cross-platform terminal emulator and multiplexer" @@ -719,7 +722,6 @@ BDEPEND=" dev-build/cmake dev-vcs/git virtual/pkgconfig - virtual/rust " QA_FLAGS_IGNORED=" |